5.1.9 XMLエンティティ・リゾルバー

LANSA Integrator

5.1.9 XMLエンティティ・リゾルバー


すべてのXMLサービスにはエンティティ・リゾルバーがあり、パーサーはこれを使用してドキュメントの外部にあるリソースを見つけることができます。

エンティティ・リゾルバーを使用する場合、ローカル・コンピュータ上にある外部リソース・ファイルをキャッシュできるため、リモートのリソース・ファイルを取得する際にサービスでHTTPプロトコルを使用する必要はありません。この技術は、サービスがリモート・サーバーに接続できないプロキシー/ファイアウォールの問題を処理する場合も使用できます。

xml.apache.org/commons/components/resolver/resolver-article.htmlを参照してください。

リソース参照階層は、dtdファイルとスキーマ・ファイルの場所を見つける場合に使用されます。

systemid.{url}propertyが存在する場合は、これが使用されます。

ファイル(http以外)リソースの場合、以下のステップが行われます。

「schema.dir」プロパティが存在する場合、このディレクトリの値とurlリソースのファイル名を使用して、ファイルの場所を見つけます。

「schema.dir」プロパティが存在せず、urlリソースのパスが存在する場合、urlリソースのパスが使用されます。

「schema.dir」プロパティが存在せず、urlリソースのパスが存在しない場合、インスタンスのdtdサブディレクトリとurlリソースのファイル名が使用されます。

以下に、エンティティ・リゾルバーを使用して外部リソース「order.dtd」を探すXMLドキュメントの例を示します。

 

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

<!DOCTYPE Orders SYSTEM "order.dtd">

<Orders>

</Orders>

 

XMLサービス・プロパティのエントリーのサンプル

 

schema.dir=schema

 

systemid.file:///jsm/instance/order.dtd=dtd/order.dtd

systemid.file:///jsm/instance/shipment.xsd=dtd/shipment.xsd

systemid.http://nasdaq.com/reference/NasdaqDotCom.dtd=dtd/nasdaq.dtd

systemid.file:///C:/Program%20Files/LANSA/Integrator/JSMInstance/order.dtd=dtd/order.dtd

 

注:%20はブランクを表します。