我正在尝试为 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
..ETC
我想允许<unstructured>
包含任何有效的 XML。DTD 中有没有办法允许指定的元素包含任何可解析的 XML?
我正在使用 PHP 5.3 DOMDocument::validate。