使用DTD,是否可以声明允许任何XML内容的元素?
发布时间:2020-12-16 23:50:21 所属栏目:百科 来源:网络整理
导读:我正在尝试为 XML文档创建DTD.该文件有两个孩子 – 一个包含结构化数据,另一个包含非结构化数据; doc structured foo x="9"/ foo x="4"/ /structured unstructured hello/ world x="2" hi msg="something"/ anything/ /world /unstructured/doc 我想为上面的
我正在尝试为
XML文档创建DTD.该文件有两个孩子 – 一个包含结构化数据,另一个包含非结构化数据;
<doc> <structured> <foo x="9"/> <foo x="4"/> </structured> <unstructured> <hello/> <world x="2"> <hi msg="something"/> <anything/> </world> </unstructured> </doc> 我想为上面的XML创建一个DTD,允许< unstructured>元素包含任何有效的XML.我试过这个DTD; <!ELEMENT doc (structured,unstructured) <!ELEMENT structured (foo*) <!ELEMENT foo EMPTY> <!ATTLIST foo x CDATA #REQUIRED> <!ELEMENT unstructured ANY> 但错误是这样产生的; No declaration for element hello No declaration for element world ..等等 我想允许< unstructured>包含任何有效的XML.在DTD中是否有一种方法允许指定的元素包含任何可解析的XML? 我正在使用PHP 5.3 DOMDocument :: validate.
不,那里没有.
通过使用ANY关键字,您可以接近DTD.但是ANY匹配#PCDATA和DTD中声明的每个元素的混合.它不接受未申报的要素; DTD没有太多部分有效性的概念. 这是在XSD中引入通配符的激励用例之一,可以选择要求对匹配元素进行严格,宽松或跳过处理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |