【发布时间】:2016-09-06 05:33:39
【问题描述】:
我有以下包含内部 DTD 验证的 XML 文件:
<?xml version="1.0"?>
<!DOCTYPE animals [
<!ELEMENT animals (animal)*>
<!ELEMENT animal (skin, noise, eyes, diet, class, weight, special_skill)>
<!ELEMENT skin (#PCDATA)>
<!ELEMENT noise (#PCDATA)>
<!ELEMENT eyes (#PCDATA)>
<!ELEMENT diet (#PCDATA)>
<!ELEMENT class (#PCDATA)>
<!ELEMENT weight (#PCDATA)>
<!ELEMENT special_skill (#PCDATA)>
<!ATTLIST animal name CDATA #REQUIRED >
<!ATTLIST weight unit CDATA "kg">
]>
<animals>
<animal name="cow">
<skin>
Straight fur
</skin>
<noise>
Moo!
</noise>
<eyes>
2
</eyes>
<diet>
Herbivore
</diet>
<class>
Mammalia
</class>
<weight unit="kg">
635-1134
</weight>
<special_skill>
Chewing
</special_skill>
</animal>
<animal name="sheep">
...
</animal>
</animals>
我一直在寻找如何用 XSD 替换 DTD 验证,但找不到任何示例。似乎 XSD 总是需要在单独的文件中定义并由 XML 引用。 XSD不能在内部使用是真的吗?
【问题讨论】:
标签: xml xsd dtd xml-validation