DTD不是决定论者?

时间:2013-02-21 14:18:36

标签: dtd

我有一个像这样的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编辑说“这不是决定论者”。为什么呢?

1 个答案:

答案 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)