与子元素相同的XML DTD父元素

时间:2014-06-06 03:53:14

标签: xml dtd

在我的xml中:

<mother>
     <name>mary</name>
     <child>
          <name>Ali</name>
     </child>
</mother>

所以我的dtd:

<!ELEMENT mother (name,child)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT child (name)>
<!ELEMENT name(#PCDATA)>

当我尝试运行DTD时,它说我的名字已经被声明了。那么我应该如何改变以解决这个问题?

1 个答案:

答案 0 :(得分:1)

不需要第二个name声明。这三个声明:

<!ELEMENT mother (name,child)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT child (name)>

足以验证您的文件。您的DTD“说”:

  1. <mother>元素必须包含序列 一个 <name>,然后一个 {{1} }
  2. <child>元素可以包含已解析的字符数据(任何文本,包括任何内容,但没有标记)
  3. <name>元素必须包含一个 <child>