XML入力

DTD入力

検証結果

XML DTD検証とは?

古いエンタープライズシステムからのXMLフィードを扱っていると、ドキュメントが検証に失敗してDTDが何を期待しているか誰も覚えていないという壁にぶつかることがあります。DTD(Document Type Definition)XML 1.0仕様に組み込まれたオリジナルの文法メカニズムで、許可される要素、順序、テキストコンテンツルールを宣言します。DTDはレガシー出版ワークフロー、XMLベースのドキュメントパイプラインDOCTYPEベースの検証に依存するツールチェーンでまだ広く使われています。

このバリデーターは実用的なDTD整合性を迅速に確認するのに役立ちます:ルート宣言の存在、未宣言要素、シンプルなシーケンスモデルでの必須子要素の欠落。より豊富な型制約とモダンな契約にはXML XSDバリデーターを使用してください。

このツールの使い方

1

XMLとDTDを貼り付け

左パネルにXML、中央パネルにDTD宣言を追加します。クイックテンプレートが必要な場合はサンプルコンテンツから始めてください。

2

DTDチェックを実行

検証をクリックして、宣言された要素とXMLドキュメント構造を比較します。

3

修正して再実行

欠落している宣言または必須子ノードを解決し、再度検証します。DTDルールを編集する前に階層を確認するにはXMLツリービューアーを使用してください。

DTDとXSD

DTDはコンパクトで古いシステムで広くサポートされていますが、データ型制御は限定的です。XSDはより表現力が豊かで名前空間に適しています。XMLパイプラインを近代化する場合は、まずDTDで迅速に検証し、可能な場合は契約をXSDに移行してください。

検証例

例:DTDに対して検証されたノート文書

XMLドキュメント:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Alice</to>
  <from>Bob</from>
  <body>Meeting at 3 PM</body>
</note>

DTD定義 (note.dtd):

<!ELEMENT note (to, from, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT body (#PCDATA)>

よくある質問

XMLをDTDに対してオンラインで検証するには?

左パネルにXMLを、中央パネルにDTD宣言を貼り付けて検証をクリックします。ツールはルート宣言、未宣言要素、必須子要素の欠落をチェックします -- すべてブラウザ内でローカルに実行されます。

インラインDOCTYPE DTDスニペットは使えますか?

はい。<!ELEMENT><!ATTLIST>宣言をDOCTYPEブロックで囲まずにDTDパネルに直接貼り付けできます。

XMLデータはサーバーに送信されますか?

いいえ。すべてのDTD検証処理はブラウザ内で完全に実行されます。アップロードは一切行われないため、本番フィードや機密文書でも安心して使用できます。

DTD検証とXSD検証の違いは?

DTDはW3C XML 1.0仕様のオリジナルXML文法です -- コンパクトで広くサポートされていますが、データ型制御は限定的です。XSDはより豊富な型制約と名前空間サポートを追加します。

DTD検証の前に何を確認すべきですか?

まずXMLバリデーターでドキュメントが整形式XMLであることを確認してください。DTD検証は有効なXML構文を前提としています。

関連ツール

参照:XML 1.0XML 1.1XML仕様のDTDMDN XMLガイド