COBOL2002 XML連携機能ガイド
XMLドキュメントでは,外部のファイルにあるDTDなど,外部エンティティの場所を示すために外部識別子が使用されます。外部識別子には,システム識別子と公開識別子があります。XMLパーサは,この外部識別子を解釈して外部エンティティの内容を参照します。
システム識別子には,ファイルの位置を示すパス名を直接記述します。
XMLパーサで使用するシステム識別子は,標準的なURI形式の仕様と次の点で異なります。
公開識別子には,外部エンティティを識別する文字列を記述します。XML連携機能では,カタログファイルを用いて公開識別子と外部エンティティの対応づけができます。公開識別子とカタログファイルの詳細については,「9.3.3 公開識別子が指定されたXMLドキュメント」を参照してください。
XMLパーサは,公開識別子を解釈する場合,XML仕様に従った公開識別子の正規化を行います。
公開識別子を指定する場合には,システム識別子も同時に指定します。公開識別子の解決ができない場合(カタログファイルを指定していない場合,公開識別子が示す外部エンティティが存在しない場合など),システム識別子が外部エンティティの参照に用いられます。
通常のファイルを指定する際に絶対パスや相対パスを指定するように,システム識別子でも絶対パスや相対パスでの指定ができます。
相対パスの場合のシステム識別子の解決例を次に示します。
アクセス対象のXMLドキュメントのパス | 参照する外部エンティティのシステム識別子 | 解決されたシステム識別子 |
---|---|---|
"dir1/MyDoc.xml" | "dir2/MyDtd.dtd" | "dir1/dir2/MyDtd.dtd" |
"/home/dir1/MyDoc1.xml" | "dir2/MyDtd.dtd" | "/home/dir1/dir2/MyDtd.dtd" |
XMLパーサで使用できるシステム識別子の例を示します。
OSに依存しないXMLドキュメントを記述したい場合は,次に示す形式で記述するようにしてください。
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.