XML文書がDTDに準拠しているか検証する

DTD の記述方法を見ていく前に、作成した XML 文書が DTD に照らし合わせて問題ないかどうかをチェックする方法について解説します。

(Last modified: )

XML文書がDTDに準拠しているか検証する

XML文書がDTDに準拠しているか検証するためのツールについて、いくつかのところから提供されていますが、今回は次のサービスを利用しました(このサイトに問題があるかどうかの保証はできません。利用される場合は自己責任でお願いいたします)。

http://xmlvalidator.new-studio.org/

XML文書がDTDに準拠しているか検証する(1)

DTD をチェックしたあとで「ファイルを選択」をクリックしてください。ファイル選択ダイアログが表示されますので、検証したい XML 文書のファイルを選択してください。

XML文書がDTDに準拠しているか検証する(2)

今回は次のような XML 文書を事前に作成し保存したものを選択しました。

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

<!DOCTYPE 在庫データ[
    <!ELEMENT 在庫データ (商品)>
    <!ELEMENT 商品 (名前, 個数)>
    <!ELEMENT 名前 (#PCDATA)>
    <!ELEMENT 個数 (#PCDATA)>
]>

<在庫データ>
    <商品>
        <名前>自転車</名前>
        <個数>20</個数>
    </商品>
</在庫データ>

ファイルの選択が終わりましたら「Check」をクリックしてください。

XML文書がDTDに準拠しているか検証する(3)

次のように「Validation successful!」と表示されれば妥当な XML 文書です。(妥当な XML 文書とは DTD によって取り決められたルールに適合している文書のことです。)

XML文書がDTDに準拠しているか検証する(4)

では先ほどの XML 文書を少し変更し、 DTD に従っていない文書にしてみます。(タグ名を「個数」から「商品数」に変更してあります)。

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

<!DOCTYPE 在庫データ[
    <!ELEMENT 在庫データ (商品)>
    <!ELEMENT 商品 (名前, 個数)>
    <!ELEMENT 名前 (#PCDATA)>
    <!ELEMENT 個数 (#PCDATA)>
]>

<在庫データ>
    <商品>
        <名前>自転車</名前>
        <商品数>20</商品数>
    </商品>
</在庫データ>

先ほどと同じようにチェックを行ってみると、今度は 2 つのエラーが表示されました。

XML文書がDTDに準拠しているか検証する(5)

このように検証ツールを使用することで、作成した XML 文書が DTD で定めたルールに従って作成されているかを確認することができます。

-- --

作成した XML 文書が DTD に照らし合わせて問題ないかどうかをチェックする方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。