これは私の頭に浮かぶので、familyというノードを持つXMLドキュメントがあります
<family>
<parents>
<name>Bob</name>
<init>R</init>
<surname>Johnson</surename>
</parents>
<kids>
<name>Lucy</name>
<surname>Johnson</surname>
</kids>
</family>
イニシャルはオプションなので、このためのDTDを作成すると、次のようになります。
<!ELEMENT parent (name, initial?, surname)>
<!ELEMENT kid (name, initial?, surname)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT initial (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT initial (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
しかし、私はこのエラーを受け取り続けます有効性エラー:要素名の再定義^ /tmp/tmp.dtd:26:有効性エラー:要素の初期の再定義^ /tmp/tmp.dtd:27:有効性エラー:要素の名前の再定義^
DTDをこのように変更しても。
<!ELEMENT parent (name, initial?, surname)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT initial (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!ELEMENT kid (name, initial?, surname)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT initial (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
同じエラー..これは文字通り私がxmlを使用している2日目であり、私が読んだチュートリアルから、私が間違っていることを理解できないようです。