- - PR -
DTDの無効な文字
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-22 03:01
こんにちは。
今年からXMLの勉強を始めました。 DTDでつまづいてしまい、ネットで調べてみてもわからなかったので、 教えていただけると嬉しいです。 下のXMLを実行すると、 "無効な文字が ATTLIST 列挙内に見つかりました。" というエラーが出てしまいます。 エラーを見てみると日本語のところで ひっかかってしまっているようなのですが、 DTDの中でマルチバイト文字は使えないのでしょうか? ※他のスレッドを読んでみましたがそんなこと無さそうでした・・・ 初心者の質問で申し訳ありませんが 教えてください。 よろしくお願いします。 【書いたXML】 <?xml version="1.0" encoding="Shift_JIS" ?> <!DOCTYPE music [ <!ELEMENT music (album*)> <!ELEMENT album (title+)> <!ATTLIST music category (ジャズ|ロック|ポップス) > ]> <music> <album category="ジャズ"> <title>Birth of cool</title> </album> <album category="ロック"> <title>Voodoochile</title> </album> <album category="ポップス"> <title>明日晴れるかな</title> </album> </music> 【表示されるエラー】 無効な文字が ATTLIST 列挙内に見つかりました。リソース '〜ファイルパス〜' の実行エラーです。ライン 5、位置 29 <!ATTLIST music category (ジャズ|ロック|ポップス) > ----------------------------^ |
|
投稿日時: 2008-01-22 11:20
xml で使える DTD で
<!ATTLIST 要素名 属性名 属性値の候補 デフォルト値> は使えますか? 属性値の型以外に [ メッセージ編集済み 編集者: MMX 編集日時 2008-01-22 11:27 ] |
|
投稿日時: 2008-01-22 12:02
おかしいですね。IEに読ませると、平仮名や片仮名の列挙型ATTLISTがエラーになるようです。漢字だと問題ありません。規格では平仮名片仮名は間違いなく列挙型に使える文字ですので、IEのバグなのかもしれません。
あと本題ではないですが、 <!ATTLIST album category (ジャズ|ロック|ポップス) #REQUIRED> だと思います。 |
|
投稿日時: 2008-01-23 00:29
>MMXさん、
ごめんなさい。 おっしゃっていることがわかりませんでした。。。 >スフレさん、 教えていただいてありがとうございました。 確かに漢字だとエラーになりませんでした。 IEのバグの可能性ということで覚えておきます。 勉強を進める中で何か追加情報があったら この場で共有させていただきますね。 ※#REQUIRED確かに抜けていました。。。ご指摘ありがとうございました。 |
1