我有一个像这样的xml文档:
<root>
<text>
<ID>01</ID>
<weight>1</weight>
<word>attend</word>
<note>important</note>
</text>
<text>
<note>very important</note>
<ID>01</ID>
<weight>1</weight>
<word>slow</word>
</text>
规则是:Id,weight,word必须以该顺序出现作为文本节点的子节点,并且note节点可以出现在ID节点之前或之后。所以我的DTD是:
<!ELEMENT text (note?, ID, weight, word, note?)>
但是xml编辑说“这不是决定论者”。为什么呢?
答案 0 :(得分:0)
使用此 XML
文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "test.dtd">
<root>
<text>
<ID>01</ID>
<weight>1</weight>
<word>attend</word>
<note>important</note>
</text>
<text>
<note>very important</note>
<ID>01</ID>
<weight>1</weight>
<word>slow</word>
</text>
</root>
以及 DTD
文件:
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT root (text+) >
<!ELEMENT text (note?, ID, weight, word, note?)>
<!ELEMENT note (#PCDATA) >
<!ELEMENT ID (#PCDATA) >
<!ELEMENT weight (#PCDATA) >
<!ELEMENT word (#PCDATA) >
该文件有效,无错误(Oxygen Xml Editor 14.2)