StyleVision におけるカタログ

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  使用方法の概要 >

StyleVision におけるカタログ

StyleVision では、OASIS XML カタログメカニズムのサブセットがサポートされます。カタログ機能により、一般的に使われているスキーマ(やスタイルシートなどのファイル)が、StyleVision によりローカルのユーザーフォルダーから取得されます。これにより全体的な処理スピードが向上し、(ネットワークに接続していない状態でも)ユーザーはオフラインで作業することができるようになり、(URI の変更はカタログファイル内部に限定されるので)ドキュメントのポータビリティーが向上します

 

StyleVision におけるカタログ機能は以下のように動作します:

 

RootCatalog.xml

StyleVision が起動すると、検索を行うカタログファイルのリストが含まれる RootCatalog.xml という名前のファイルがロードされます。このファイルを変更し、nextCatalog 要素内にファイルを加えることで、検索を行うファイルを増やすことができます。各カタログファイルが検索され、カタログファイルにて指定されたマッピングにより URI が解決されます。

 

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

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"

   xmlns:spy="http://www.altova.com/catalog_ext"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="urn:oasis:names:tc:entity:xmlns:xml:catalog Catalog.xsd">

  <nextCatalog catalog="%PersonalFolder%/Altova/%AppAndVersionName%/CustomCatalog.xml"/> 

  <nextCatalog catalog="CoreCatalog.xml"/>

  <!-- Include all catalogs under common schemas folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas" catalog="catalog.xml" spy:depth="1"/>

  <!-- Include all catalogs under common XBRL folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/XBRL" catalog="catalog.xml" spy:depth="1"/>

</catalog>

 

上記の表示にて、%AltovaCommonFolder% 変数により識別されたフォルダー以下の Schemas ならびに XBRL フォルダー内に、catalog.xml という名前のカタログファイルが存在する点に注目してください(%AltovaCommonFolder% 変数の値は以下のテーブルにて与えられます)。

 

Altova Common フォルダー内にあるカタログファイルにより、(SVG や WSDL といった)広く使用されるスキーマや XBRL タクソノミの公開ならびにシステム識別子から、ローカルに保存された対応するスキーマのコピーが指し示されます。これらスキーマは、StyleVision のインストール時に Altova Common フォルダーへインストールされます。エラーを起こす可能性があるため、これらファイル内にあるマッピングを複製しないように注意する必要があります。

 

CoreCatalog.xml、 CustomCatalog.xml、 と Catalog.xml

上に示される RootCatalog.xml にて、CoreCatalog.xml ならびに CustomCatalog.xml が表示されている点に注目してください:

 

CoreCatalog.xml には、Altova Common フォルダー内にあるスキーマを参照するための Altova 特有のマッピングが含まれます。
CustomCatalog.xml は、独自のマッピングを作成するためのスケルトンファイルです。CustomCatalog.xml には、任意のスキーマに対するマッピングを追加することができますが、Altova Common フォルダー内のカタログファイルで記述されていないものに限られます。OASIS カタログ機能でサポートされている要素を使用するようにしてください(下記参照)。
Altova Common フォルダーには多くの Catalog.xml ファイルが含まれています。各ファイルは、Altova Common フォルダー内にあるスキーマや XBRL タクソノミのフォルダー内部に収められており、それぞれ公開ならびにシステム識別子により、ローカル上に保存された対応するスキーマのコピーが参照されます。

 

スキーマカタログファイルとスキーマの場所

RootCatalog.xml ならびに CoreCatalog.xml ファイルは StyleVision アプリケーションフォルダーへインストールされます。CustomCatalog.xml ファイルは MyDocuments/Altova/StyleVision フォルダー以下に配置されます。各 catalog.xml ファイルは対応するスキーマフォルダー内に収められており、これらスキーマフォルダーは、%AltovaCommonFolder%\Schemas ならびに %AltovaCommonFolder%\XBRL 以下に配置されます。

 

シェル環境変数 と Altova 変数

シェル環境変数を nextCatalog 要素内で使用することにより、様々なシステム上の場所を指定することができます(上記の RootCatalog.xml を参照)。以下のシェル環境変数がサポートされます:

 

 

%AltovaCommonFolder%

C:\Program Files\Altova\Common2019

%DesktopFolder%

現在のユーザーのデスクトップフォルダーへのフルパス

%ProgramMenuFolder%

現在のユーザーのプログラムメニューフォルダーへのフルパス

%StartMenuFolder%

現在のユーザーのスタートメニューフォルダーへのフルパス

%StartUpFolder%

現在のユーザーのスタートアップフォルダーへのフルパス

%TemplateFolder%

現在のユーザーのテンプレートフォルダーへのフルパス

%AdminToolsFolder%

現在のユーザーの管理ツールを保管するファイルシステムフォルダーへのフルパス

%AppDataFolder%

現在のユーザーのアプリケーションデータフォルダーへのフルパス

%CommonAppDataFolder%

全てのユーザーのアプリケーションデータを含むファイルフォルダーへのフルパス

%FavoritesFolder%

現在のユーザーのお気に入りフォルダーへのフルパス

%PersonalFolder%

現在のユーザーの個人用フォルダーへのフルパス

%SendToFolder%

現在のユーザーの SendTo フォルダーへのフルパス

%FontsFolder%

システムフォントフォルダーへのフルパス

%ProgramFilesFolder%

現在のユーザーの Program Files フォルダーへのフルパス

%CommonFilesFolder%

現在のユーザーの Common Files フォルダーへのフルパス

%WindowsFolder%

現在のユーザーの Windows フォルダーへのフルパス

%SystemFolder%

現在のユーザーの System フォルダーへのフルパス

%LocalAppDataFolder%

ローカル(非ローミング)アプリケーションに対するデータリポジトリとして機能するシステムフォルダーへのフルパス

%MyPicturesFolder%

ピクチャ ライブラリ(マイ ピクチャ)フォルダーへのフルパス

 

カタログの動作方法: DTD

カタログにより、DTD への呼び出しは通常ローカル URI へリダイレクトされます。カタログファイルにより、公開またはシステム識別子から対応するローカル URI へのマッピングが行われます。XML ファイル内の DOCTYPE 宣言が読み込まれた場合、公開またはシステム識別子が、カタログファイルによりローカルリソースへマッピングされます。

 

広く使用されているスキーマの場合、PUBLIC 識別子が通常既に定義されており、カタログファイル内の URI を適切なローカルコピーへマッピングすることだけが必要になります。XML ドキュメントが解析(パース)されると、その中にある PUBLIC 識別子が読み取られます。カタログファイル内に目的の識別子がある場合、カタログファイル内の対応する URL がロードされ、その場所からスキーマが読み取られます。例えば、以下にある SVG ファイルを考えてみましょう:

 

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

 

<svg width="20" height="20" xml:space="preserve">

  <g style="fill:red; stroke:#000000">

     <rect x="0" y="0" width="15" height="15"/>

     <rect x="5" y="5" width="15" height="15"/>

  </g>

</svg>

 

このドキュメントが読み取られると、その PUBLIC 識別子に対するカタログが検索されます。カタログファイルには以下のエントリーが含まれます:

 

<catalog>

  ...

    <public publicId="-//W3C//DTD SVG 1.1//EN" uri="schemas/svg/svg11.dtd"/>

  ...

</catalog>

 

この場合、PUBLIC 識別子に対応するマッチが存在するため、SVG DTD へのルックアップが schemas/svg/svg11.dtd URI へリダイレクトされ(このパスはカタログファイルに対して相対的となります)、参照されたローカルファイルが DTD として使用されます。カタログ内の Public ID に対するマッピングが存在しない場合、XML ドキュメント内の URL (上記の例の場合、http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd)が使用されます。

 

カタログの動作方法: スキーマ

StyleVision では、カタログにより XML スキーマのリダイレクトを行うことができます。XML インスタンスファイルでは、以下の例にあるように、XML ドキュメントのトップレベルドキュメント要素内にある xsi:schemaLocation 属性にスキーマへの参照が行われます。 例えば、
 

xsi:schemaLocation="http://www.altova.com/schema/orgchart OrgChart.xsd"

 

通常、(上の例にて太字で示されている)属性値の URI には、実際に存在するスキーマの位置が記述されます。カタログによりスキーマが参照された場合、実際に存在する XML スキーマを指し示す必要は無いものの、xsi:schemaLocation 属性の妥当性を満たすために何らかの値を入力する必要があります。属性の URI 部分には、例えば hoge などの値を入力することでも、妥当性を確保することができます。xsi:schemaLocation 属性値の名前空間部分(上の例における http://www.altova.com/schemas/orgchart)により、カタログ内にスキーマを配置することができます。カタログでは、以下のエントリーにより名前空間部分をベースにしたスキーマの識別が行われます。

 

<uri name="http://www.altova.com/schemas/orgchart" uri="C:\MySchemas\OrgChart.xsd"/>

 

によりサポートされるカタログサブセット

CustomCatalog.xml (又は StyleVision)にて読み取ることができるその他のカタログファイル)にてエントリーを作成する場合、以下にある OASIS カタログ仕様の要素だけを使用するようにしてください。各要素と、その属性値に関する説明を以下に示します。より詳細な解説については、 XML カタログの仕様 を参照ください。各要素には xml:base 属性を含めることができ、その要素のベース URI を指定するのに使用することができます。

 

<public publicId="PublicID of Resource" uri="URL of local file"/>
<system systemId="SystemID of Resource" uri="URL of local file"/>
<uri name="filename" uri="URL of file identified by filename"/>
<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>
<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

 

殆どのスタイルシートに見られるように公開識別子が存在しない場合、system 要素によりシステム識別子を URL へ直接マッピングすることができます。更に uri 要素を使用することで、URI を他の URI へマッピングすることもできます。rewriteURI ならびに rewritsSystem 要素により、それぞれ URI やシステム識別子の書き換えを行うことが可能になります。この機能により、使用されるファイルパスを変更し、ターゲットのフォルダーを変更することが可能になります。これら要素に関するより詳しい情報については、 XML カタログの仕様を参照ください。

 

詳しい説明

カタログに関する詳細は、次を参照してください: XML カタログの仕様

 

 

 

 


(C) 2019 Altova GmbH