2017-11-10 10 views
0

XMLファイルを書きましたが、一部のサイトから生成されたdtdコードを追加するまでは問題なく動作しました。今私はエラーがあります。 2欄3行目のインラインDTDエラー:StartTag:無効な要素名

エラー:STARTTAG:私 を助けてくださいこのページには、次のエラーが含まれ、無効な要素名の下 は、私は最初のエラー

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

<!ELEMENT collection (storage)> 
<!ATTLIST collection 
    xmlns CDATA #FIXED ''> 

<!ELEMENT storage (genre)+> 
<!ATTLIST storage 
    xmlns CDATA #FIXED ''> 

<!ELEMENT genre (series)+> 
<!ATTLIST genre 
    xmlns CDATA #FIXED '' 
    domain CDATA #REQUIRED> 

<!ELEMENT series (title,author,number,country)> 
<!ATTLIST series 
    xmlns CDATA #FIXED ''> 

<!ELEMENT title (#PCDATA)> 
<!ATTLIST title 
    xmlns CDATA #FIXED ''> 

<!ELEMENT author (#PCDATA)> 
<!ATTLIST author 
    xmlns CDATA #FIXED ''> 

<!ELEMENT number (#PCDATA)> 
<!ATTLIST number 
    xmlns CDATA #FIXED ''> 

<!ELEMENT country (#PCDATA)> 
<!ATTLIST country 
    xmlns CDATA #FIXED ''> 

<collection> 
    <storage> 
     <genre domain="horror"> 
      <series> 
       <title>The Walking Dead</title> 
       <author>Frank Darabont</author> 
       <number>1</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>The Strain</title> 
       <author>Guillermo del Toro</author> 
       <number>11</number> 
       <country>Canada</country> 
      </series> 
      <series> 
       <title>Tales from the Crypt</title> 
       <author>Bill Gaines</author> 
       <number>12</number> 
       <country>USA</country> 
      </series> 
     </genre> 
     <genre domain="science fiction"> 
      <series> 
       <title>Stranger Things</title> 
       <author>Duffer brothers</author> 
       <number>4</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>The 100</title> 
       <author>Jason Rothenberg</author> 
       <number>2</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>The 4400</title> 
       <author>Rene Echevarria</author> 
       <number>3</number> 
       <country>Canada</country> 
      </series> 
      <series> 
       <title>The Twilight Zone</title> 
       <author>Rod Serling</author> 
       <number>5</number> 
       <country>USA</country> 
      </series> 
     </genre> 
     <genre domain="comedy"> 
      <series> 
       <title>Two and a Half Men</title> 
       <author>Chuck Lorre</author>     
       <number>6</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>Anger Management</title> 
       <author>Bruce Helford</author> 
       <number>7</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>Family Guy</title> 
       <author>Seth MacFarlane</author> 
       <number>8</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>The Simpsons</title> 
       <author>Matt Groening</author>    
       <number>9</number> 
       <country>USA</country> 
      </series> 
     </genre> 
     <genre domain="drama"> 
      <series> 
       <title>House of Cards</title> 
       <author>Beau Willimon</author> 
       <number>13</number> 
       <country>USA</country> 
      </series> 
      <series> 
       <title>Riverdale</title> 
       <author>Roberto Aguirre-Sacasa</author> 
       <number>14</number> 
       <country>Canada</country> 
      </series> 
      <series> 
       <title>Supernatural</title> 
       <author>Eric Kripke</author> 
       <number>15</number> 
       <country>USA</country> 
      </series> 
     </genre> 
    </storage> 
</collection> 

にページアップのレンダリングです最初にXMLで書く:

答えて

1

XMLのDTD部分には<!DOCTYPE collection [ ... ]>はありません。それはこれらすべての定義の周りにあるはずです。

+0

私は<!DOCTYPEコレクション[とここ過去dtd]>を追加する必要がありますか? –

+0

これでドキュメントツリーが表示されます。このXMLファイルには、スタイル情報は関連付けられていません。ドキュメントツリーを以下に示します。それは良いですか? –

+0

@ErykMatysiak:もしブラウザがそのように表示するなら、おそらくはい、それは良いことです。それが本当に良い場合は、検証ツールでのみ言うことができます。 –

0

DOCTYPEタグが欠落しています。

DTDをXMLドキュメントに埋め込むときにはDOCTYPEタグが必要です.DTDが独自のファイルにあるときはDTDを必要としません。XML DOCTYPE referenceを見てください。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE collection [ 
    <!ELEMENT collection (storage)> 
    <!ATTLIST collection 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT storage (genre)+> 
    <!ATTLIST storage 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT genre (series)+> 
    <!ATTLIST genre 
    xmlns CDATA #FIXED '' 
    domain CDATA #REQUIRED> 
    <!ELEMENT series (title,author,number,country)> 
    <!ATTLIST series 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT title (#PCDATA)> 
    <!ATTLIST title 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT author (#PCDATA)> 
    <!ATTLIST author 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT number (#PCDATA)> 
    <!ATTLIST number 
    xmlns CDATA #FIXED ''> 
    <!ELEMENT country (#PCDATA)> 
    <!ATTLIST country 
    xmlns CDATA #FIXED ''> 
]> 
<collection> 
... 
関連する問題