- ベストアンサー
DTDにおける公開識別子について
DTDにおいて、公開識別子を使用して外部DTDの参照、もしくはエンティティ宣言を行う場合、公開識別子からその内容をXMLパーサが解析可能である場合システム識別子は省略可能です。 質問なのですが、これはパーサがどういった挙動をとっているのでしょうか。XMLパーサにシステム識別子と公開識別子のマッピングが定義してあるのでしょうか?? ご存知の方ご教示ください。
- みんなの回答 (1)
- 専門家の回答
DTDにおいて、公開識別子を使用して外部DTDの参照、もしくはエンティティ宣言を行う場合、公開識別子からその内容をXMLパーサが解析可能である場合システム識別子は省略可能です。 質問なのですが、これはパーサがどういった挙動をとっているのでしょうか。XMLパーサにシステム識別子と公開識別子のマッピングが定義してあるのでしょうか?? ご存知の方ご教示ください。
お礼
ご回答ありがとうございます。ご指摘のようにXMLでは公開識別子を使用する場合、システム識別子は同時に指定する必要があるようです。また、XMLパーサの実装によるそうですが、公開識別子からdtdの場所を特定できるような実装をしている場合、システム識別子は利用しないようです。