よく形成しなければならない私は、このXMLドキュメントがあります。マークアップ宣言は
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "plantdtd.dtd">
<catalog>
<title>Flowers of the week</title>
<plant id="A1">
<name>Aloe vera</name>
<climate>tropical</climate>
<height>60-100cm</height>
<usage>medicinal</usage>
<image>aloevera.jpg</image>
</plant>
<plant id="A2">
<name>Orchidaceae</name>
<height>8-12in</height>
<usage>medicinal</usage>
<usage>decoration</usage>
<image>Orchidaceae.jpg</image>
</plant>
</catalog>
を私はこのようなDTDを書いた:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catalog SYSTEM "file:/home/p10398/plantdtd.dtd"
[
<!ELEMENT catalog(title,plant+)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT plant(name,climate,height,usage,image)+>
<!ELEMENT name(#PCDATA)>
<!ELEMENT climate(#PCDATA)>
<!ELEMENT height(#PCDATA)>
<!ELEMENT usage(#PCDATA)>
<!ELEMENT image(#PCDATA)>
]>
Iamはこれを取得エラー:
致命的なエラー: 公開ID:ヌル システムID:ファイル:マークアップ宣言が含まれているか、ドキュメントタイプによって 宣言がよく形成されている必要があり指さ:4 列番号:3 メッセージ 行番号を/home/p14524/plantdtd.dtd 。
誰かがこのエラーを受け取っていると説明できますか?または正しいDTD?
EDITSと更新: Ah!ダニエルありがとう。 これまでのエラーはなくなりました。 私の新しいDTDは
<!ELEMENT catalog (title,plant+)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT plant (name,climate,height,usage,image)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT climate (#PCDATA)>
<!ELEMENT height (#PCDATA)>
<!ELEMENT usage (#PCDATA)>
<!ELEMENT image (#PCDATA)>
<!ATTLIST plant id ID #REQUIRED>
Iamは、この新しいエラーを取得している:
行番号:18 カラム数:9 メッセージ:要素タイプ "植物" の内容が「一致している必要があります(名前、気候、高さ、使用法、画像)」。
あなたは私の質問の最新の更新を確認して回答してください。 –
@RaviRishie - そのエラーは私の答えの最後の段落で話していたものです。第2の '植物'は '気候'要素を持たないので '(名前、気候、高さ、使用法、イメージ)'と一致しません。その要素はオプションであるはずですか?私はそれが今2つの 'usage'要素を持っていることも見ています。おそらく '<!ELEMENT plant(name、climate?、height?、usage *、image *)>のようなものを使うのでは? –
ありがとう!ここでの出来事に言及することで、その作業の罰金 –