为什么XML不能验证DTD

时间:2013-07-11 12:11:19

标签: xml validation dtd

DTD:

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT language (definition, tu, tuv, seg) >
<!ELEMENT definition ANY >
<!ELEMENT tu ANY >
<!ELEMENT tuv ANY >
<!ELEMENT seg (#PCDATA) >
<!ATTLIST tu id CDATA #REQUIRED >
<!ATTLIST tuv lang CDATA #REQUIRED >

XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">

<definition> # This is the line that seems to be the problem
    <tu id="webpage-title-text">
        <tuv lang="en">
            <seg>Demo CMS</seg>
        </tuv>
    </tu>
</definition>

我得到的错误信息是:

  

文档根元素“定义”,必须与DOCTYPE根匹配   “语言”。 [4]

我的问题:

  1. 是什么原因导致XML不被视为有效 目前的DTD?
  2. 我在DTD中错过了什么?
  3. 任何人都可以 建议一个好的地方作为学习如何使用的资源 DTD,架构等

1 个答案:

答案 0 :(得分:2)

更改

<!DOCTYPE language SYSTEM "language.dtd">

<!DOCTYPE definition SYSTEM "language.dtd">