XML文档指定它同时遵循DTD 和作为模式是合法的吗?这两个人之间不会发生冲突吗?
发布于 2013-04-15 09:59:55
从技术上讲,我认为DTD不承认引用模式的属性(名称空间声明和模式位置)会有问题。
但是,我认为这取决于您如何验证XML,以及如果指定了模式,您是否可以忽略DTD进行验证。
另外,对于您的任务,您确定必须从同一个XML实例引用这两个实例吗?也许您可以有两个版本的XML;一个引用DTD,另一个引用模式?
还有两种可能的选择..。
声明模式属性的:
<!DOCTYPE doc [
<!ELEMENT doc (test)>
<!ATTLIST doc
xmlns:xsi CDATA #IMPLIED
xsi:noNamespaceSchemaLocation CDATA #IMPLIED>
<!ELEMENT test (#PCDATA)>
]>
<doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="test.xsd">
<test>Test Doc</test>
</doc>
使用处理指令引用架构:
<!DOCTYPE doc [
<!ELEMENT doc (test)>
<!ELEMENT test (#PCDATA)>
]>
<?xml-model href="test.xsd"?>
<doc>
<test>Test Doc</test>
</doc>
发布于 2013-04-15 09:26:22
XML文档指定它同时遵循DTD和Schema是合法的吗?
是
这两个人之间不会发生冲突吗?
只有当他们中的一个命令其他人禁止的事情(在这种情况下,声称遵循两者都将是一件奇怪的事情去做)。
https://stackoverflow.com/questions/16021048
复制相似问题