[解決済み] なぜ、"StartTag. "というエラーが発生するのでしょうか?このXMLファイルをDTDでパースすると、"Invalid element name "というエラーが発生します。
2022-02-09 15:35:21
質問事項
この文書は基本的に、"catalog"をルートタグとして、"movie"の子タグと、1つ以上の"actor"を持つものです。これらの子タグはそれぞれ、さらに多くの子タグを含んでいます。私は、与えられたいくつかのルールに基づいて、このためのDTDを作ることになっていたのですが、私がdoucmentの最初に置くものは何でも拒否されるだけです。何かいい方法はないでしょうか?
以下はXMLのコードです。
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE catalog SYSTEM "catalog.dtd">
<catalog>
<movie movieID="m0100" genre="drama">
<title>Monster's Ball</title>
<year>2001</year>
<length>111 minutes</length>
<topBilledActors actorIDs="a0100 a0102" />
</movie>
<actor actorID="a0100" oscarWinner="yes">
<name>Halle Berry</name>
<date>August 14, 1966</date>
<birthplace>Cleveland, Ohio</birthplace>
<role character="Leticia Musgrove" movie="m0100" />
<role character="Storm" movie="m0101" />
</actor>
<actor actorID="a0102" oscarWinner="yes">
<name>Billy Bob Thornton</name>
<role character="Hank Grotowski" movie="m0100" />
</actor>
<movie movieID="m0101" genre="fantasy">
<title>X-Men</title>
<year>2000</year>
<length>104 minutes</length>
<topBilledActors actorIDs="a0100 a0103" />
</movie>
<actor actorID="a0103" oscarWinner="no">
<name>Ian McKellen</name>
<role character="Magneto" movie="m0101" />
<role character="Gandolf" movie="m0105" />
<role character="Gandolf" movie="m0107" />
</actor>
<movie movieID="m0105" genre="action" earningsRank="17">
<name>Lord of the Rings: The Fellowship of the Ring</name>
<date>2001</date>
<length>178 minutes</length>
<topBilledActors actorIDs="a0103" />
</movie>
<movie movieID="m0107" genre="action" earningsRank="8">
<name>Lord of the Rings: The Return of the King</name>
<date>2003</date>
<length>201 minutes</length>
<topBilledActors actorIDs="a0103" />
</movie>
<actor actorID="a0101" oscarWinner="yes">
<name>Tom Hanks</name>
<date>July 9, 1956</date>
<birthplace>Concord, California</birthplace>
<role character="Captain John H. Miller" movie="m0102" />
<role character="Forrest Gump" movie="m0103" />
<role character="Andrew Beckett" movie="m0104" />
</actor>
<movie movieID="m0102" genre="action" earningsRank="50">
<name>Saving Private Ryan</name>
<date>1998</date>
<length>170 minutes</length>
<topBilledActors actorIDs="a0101 a0104" />
</movie>
<actor actorID="a0104" oscarWinner="yes">
<name>Matt Damon</name>
<date>October 8, 1970</date>
<birthplace>Cambridge, Massachusetts</birthplace>
<role character="Private James Francis Ryan" movie="m0102" />
</actor>
<movie movieID="m0103" genre="comedy" earningsRank="14">
<name>Forrest Gump</name>
<date>1994</date>
<length>142 minutes</length>
<topBilledActors actorIDs="a0101 a0105 a0106" />
</movie>
<actor actorID="a0105" oscarWinner="yes">
<name>Sally Field</name>
<birthplace>Pasadena, California</birthplace>
<role character="Mrs. Gump" movie="m0103" />
</actor>
<actor actorID="a0106">
<name>Gary Sinise</name>
<role character="Lt. Dan Taylor" movie="m0103" />
<role character="Ken Mattingly" movie="m0106" />
</actor>
<movie movieID="m0104" genre="drama">
<name>Philadelphia</name>
<date>1993</date>
<length>125 minutes</length>
<topBilledActors actorIDs="a0101 a0107" />
</movie>
<movie movieID="m0106" genre="drama">
<name>Apollo 13</name>
<date>1995</date>
<length>140 minutes</length>
<topBilledActors actorIDs="a0101 a0106" />
</movie>
<actor actorID="a0107" oscarWinner="yes">
<name>Denzel Washington</name>
<role character="Joe Miller" movie="m0104" />
</actor>
</catalog>
以下はDTDファイルです。
<!ELEMENT catalog (movie, actor+)*>
<!ELEMENT movie (title, year, length, topBilledActors)>
<!ATTLIST movie movieID ID #REQUIRED>
<!ATTLIST movie genre (fantasy | action | drama | comedy) #REQUIRED>
<!ATTLIST movie earningsRank CDATA #IMPLIED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT length (#PCDATA)>
<!ELEMENT topBilledActors EMPTY>
<!ATTLIST topBilledActors ActorIDs IDREFS>
<!ELEMENT actor (name, date*, birthplace*, role+)>
<!ATTLIST actor actorID ID #REQUIRED>
<!ATTLIST actor oscarWinner (yes|no) "no">
<!ELEMENT name (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT birthplace (#PCDATA)>
<!ELEMENT role EMPTY>
<!ATTLIST role character CDATA>
<!ATTLIST role movie IDREF>
EDIT: でXML Validatorで検証しています。 http://www.w3schools.com/xml/xml_validator.asp
Webブラウザ(IE)でファイルが表示されず、エラーになります。
Required white space was missing. Error processing resource 'file:///C:/Documents and Settings/Administrator/Desktop/...
<!ATTLIST topBilledActors ActorIDs IDREFS>
解決方法は?
DTDを有効にするためには、属性が#REQUIREDか#IMPLIEDか#FIXED "Default_Value" であるかを指定する必要があるかと思います。また
<!DOCTYPE
.
関連
-
[解決済み】JSF Faceletsのページを開くと、"このXMLファイルにはスタイル情報が関連付けられていないようです。"と表示される。
-
[解決済み] XML: 後続のセクションでコンテンツが許可されていない
-
[解決済み] NULLのXML要素を表現する正しい方法は?
-
[解決済み] xmllintのインストール
-
[解決済み] Powershell - XMLをCSVに変換する
-
[解決済み] grepを使ってxmlタグの中の情報を見つけるには?
-
[解決済み] SOAPセキュリティヘッダとSOAPヘッダの違いについて
-
[解決済み] XML本文の二重引用符/一重引用符を置換する必要がありますか?
-
[解決済み] アンドロイドビューで頻繁に発生する問題、XMLのパースエラー:結合されていない接頭辞
-
[解決済み】googleプロトコルバッファ vs json vs XML【終了しました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] packages' 要素が宣言されていない
-
[解決済み] XMLエラーです。ドキュメントの末尾に余分なコンテンツがあります
-
[解決済み] i:nil="true "とはどういう意味ですか?
-
[解決済み] xmllintのインストール
-
[解決済み] cvc-complex-type.2.4.a: 要素 'ProcessDesc' で始まる無効なコンテンツが見つかりました。ProcessNameのいずれかが期待されます。
-
[解決済み] XMLファイルの比較方法
-
[解決済み】XPathで子の子値を元に要素を選択する方法
-
[解決済み】XPath:子ノードから親ノードを取得する
-
[解決済み】シェルからXPathワンライナーを実行する方法は?
-
[解決済み】XMLの "xmlns "の意味は?