XMLNSC DTD サポート
入力 XML メッセージにはインライン DTD を含めることができます。
構文解析
入力 XML 文書にインライン DTD がある場合、構文解析時に XMLNSC パーサーは DTD 内の情報を読み取って使用しますが、DTD 情報をメッセージ・ツリーに追加することはしません。
DTD 内の内部エンティティー定義は、文書の本体で検出されるエンティティー参照を自動的に拡張するために使用されます。
入力文書から欠落している属性は、DTD で指定されたデフォルト値で自動的に提供されます。
XMLNSC パーサーは DTD をメッセージ・ツリーに追加することはありません。それに含まれる情報が構文解析中にすでに使用されているからです。 この動作により、メッセージ・ツリーはコンパクトに保たれて、CPU 使用量は削減されます。 これは、XMLNSC パーサーが、必ずしも構文解析したものとまったく同じ文書を生成するわけではないことを意味します。 ただし、出力文書の業務上の意味は変わりません。
これらの制限が問題である場合は、XMLNS ドメインとパーサーが、DTD の構文解析と書き込みのフルサポートを提供します。 XMLNS DTD サポート (XMLNS DTD support)を参照してください。
書き込み
XMLNSC パーサーは、エンティティー定義のみを含む DTD を生成できます。 この動作により XMLNSC パーサーは、内部エンティティーを使用する XML 文書の書き出し (DTD を使用する最も一般的な理由) に使用できます。 詳しくは、 XMLNSC ドメイン内のメッセージの操作 を参照してください。
外部 DTD
外部 DTD にサポートは提供されません。