- PR -

XML要素確認

1
投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2007-12-24 16:49
XMLを勉強していて詰まったことがありますので、
教えていただけませんでしょうか?

DTDは親要素内に子要素が含まれているかどうかも
確認できる機能だという認識でおりました。
しかし、実際下記のようなソースで
<!ELEMENT book (title, author)>
と指定してあるにもかかわらず
<author>AA</author>
を削除してもエラーが起こりませんでした。

使い方が間違っているのでしょうか?


<!DOCTYPE book [
<!ELEMENT book (title, author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
]>
<book>
<title>AA</title>
<author>AA</author>
</book>
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-12-25 09:35
エラーはヴァリデーションを行なわない限り出ませんが、何で確かめたんでしょうか。
例えばIEで表示するだけだと、そこまでやってくれません。

簡単なところでJavaのSAXで作った場合、SAXParseFactoryのsetValidatingでtrueを設定、DefaultHandlerのerror()をオーバーライドすると補足できます。

[ メッセージ編集済み 編集者: mio 編集日時 2007-12-25 09:35 ]
1

スキルアップ/キャリアアップ(JOB@IT)