【问题标题】:XML & DTD: The content of element type must matchXML & DTD:元素类型的内容必须匹配
【发布时间】:2015-02-27 12:00:24
【问题描述】:

我目前正在学习 XML,并且正在为第一个 DTD 扩展而苦苦挣扎。我的 XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE Activities [
<!ELEMENT Activities (ToDo)>
<!ELEMENT ToDo (Household,Cat,House,Bills,Groceries)>
<!ELEMENT Object (Cat,House,Bills,Groceries)>
<!ELEMENT Cat (#PCDATA)>
<!ELEMENT House (#PCDATA)>
<!ELEMENT Bills (#PCDATA)>
<!ELEMENT Groceries (#PCDATA)>
<!ATTLIST ToDo id CDATA #IMPLIED>
<!ATTLIST Object id CDATA #IMPLIED>
]>
<Activities>
<ToDo id="Household">
<Object id="Cat">
    <ToDo>bathe</ToDo>
</Object>
<Object id="House">
    <ToDo>vacuum</ToDo>
</Object>
<Object id="Bills">
    <ToDo>pay</ToDo>
</Object>
<Object id="Groceries">
    <ToDo>Buy</ToDo>
</Object>
</ToDo>
</Activities>

XML Validation (http://xmlvalidation.com) 告诉我“元素类型“ToDo”的内容必须匹配”和“元素类型“Object”的内容必须匹配”。

我做错了什么? 提前非常感谢!

【问题讨论】:

    标签: xml dtd


    【解决方案1】:
    <!ELEMENT ToDo (Household,Cat,House,Bills,Groceries)>
    

    例如不允许 Object as a Child 但 HouseHold 等,即将 Xml 更改为:

    <Activities>
      <ToDo id="Household">
        <HouseHold/>
        <Cat>
          xxx
        </Cat>
        <House>
          yyy
        </House>
         .....
      </ToDo>
    </Activities>
    

    从哪里清除“外部”“元素类型“ToDo”的内容必须匹配

    现在您在 Cat 中也有 Inner ToDo 项目,即 &lt;ToDo&gt;bathe&lt;/ToDo&gt; 但是您的 DTD 说: &lt;!ELEMENT ToDo (Household,Cat,House,Bills,Groceries ToDo 必须有 Houshold,然后是 Cat 等,即不能只是文本。

    &lt;!ELEMENT Cat (#PCDATA)&gt; 还说 A Cat 只能包含文本。

    不清楚您的目标是什么,但请从 &lt;!ELEMENT ToDo (Household,Cat,House,Bills,Groceries wherece 中删除 Household

    <Activities>
      <ToDo id="Household">
        <Cat id="1">
          bathe
        </Cat>
        <House id="2">
          vacumm
        </House>
         .....
      </ToDo>
    </Activities>
    

    会满足 DTD

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多