-1

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、スキーマなどの使用方法を学習するためのリソースとして、誰でも良い場所をお勧めできますか?
4

1 に答える 1

2

変化する

<!DOCTYPE language SYSTEM "language.dtd">

<!DOCTYPE definition SYSTEM "language.dtd">
于 2013-07-11T12:22:58.567 に答える