2017-04-06 7 views
0

xmlファイルを制御するためにdtdファイルを作成しましたが、dtdファイルの定義に従って何か問題が発生した場合、Eclipseによってエクスポートされたエラーは見つかりませんでした。私は何度も両方のファイルを見直しましたが、間違いはありませんでした。以下は2つのシンプルなファイルです。誰も私が何が欠けているか、エラーが報告されなかった理由を理解するのに役立つでしょうか?前もって感謝します。私は別のclassNo要素を追加する場合はここで外部のdtdファイルを参照するとxmlファイルでエラーが報告されない

は、DTDファイルである。ここ

<?xml version="1.0" encoding="UTF-8"?> 
<--!no classNo or one classNo at most, at least one teacher--> 
<!DOCTYPE school [ 
    <!ELEMENT school (class)> 
    <!ELEMENT class (classNo?,teacher+)> 
    <!ElEMENT classNo (#PCDATA)> 
    <!ElEMENT teacher (#PCDATA)> 
]> 

はxmlファイルで、

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

<school> 
    <class> 
     <classNo>Class 3</classNo> 
     <teacher>Mary</teacher> 
    </class> 
</school> 

、エラーが報告されていません。 xmlファイルとdtdファイルは、Eclipseの同じパッケージにあります。

答えて

0

DTDが不正です。 DOCTYPE宣言は、DTDではなく、XML文書内にのみ存在していなければなりません。 2つのタイプミスもあります(大文字の「L」ではなく小文字の「l」、コメント内の--!!--)。

XML文書はこのDTDに対して検証:

<!ELEMENT school (class)> 
<!ELEMENT class (classNo?,teacher+)> 
<!ELEMENT classNo (#PCDATA)> 
<!ELEMENT teacher (#PCDATA)> 

ます。また、検証が(XMLエディタやツールがインストールされていると仮定して)もちろん、Eclipseで有効になっていることを確認する必要があります。

+0

はい、そうです。 DTDファイルで2つの間違いを発見できました。 1つはDOCTYPE宣言で、もう1つはコメント形式です。あなたのものとして修正された後はすべて正常になります。どうもありがとう! –

+0

あなたはようこそ! – mzjn

関連する問題