この章では、実際のXVCDによる開発作業に沿ってリファレンスの各項目を説明します。この章を読むことで、開発作業の各段階で参考となるリファレンスがわかります。主に以下の項目について説明します。
この章では、実際のXVCDによる開発作業に沿ってリファレンスの各項目を説明します。この章を読むことで、開発作業の各段階で参考となるリファレンスがわかります。主に以下の項目について説明します。
XVCDファイルには、例1のようなXMLデータ構造(変換元XML文書)を例2のような結果のデータ構造(変換後のXML文書)に変換する規則を記述します。XVCDファイルに記述されたコードは、変換のひな形となる規則(テンプレートルール)の集合と言えます。
[例1]XMLデータ構造(変換元XML文書)
<?xml version="1.0"?>
<hw:document xmlns:hw="http://xmlns.xfytec.com/samples/helloworld">
<hw:message>
Hello World!
</hw:message>
</hw:document>
[例2]結果のデータ構造(変換後のXML文書)
<?xml version="1.0"?>
<xhtml:html
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:hw="http://xmlns.xfytec.com/samples/helloworld"
>
<xhtml:body>
<xhtml:p>
Hello World!
</xhtml:p>
</xhtml:body>
</xhtml:html>
XVCDによるボキャブラリコンポーネント開発では、テンプレートルールを2つの手順で作成します。
XMLボキャブラリに対応する編集機能は、XVCDの編集に関係する要素や関数をテンプレートルールに記述すると実現できます。
XVCDでテンプレートルールを記述することで、単にXML文書を表示するだけではなく、次のような表現を利用できます。
XMLドキュメントの表示と編集に関係するリファレンスは、以下のとおりです。
キーやマウス、メニューバーなどを操作して、ユーザーはXML文書を編集します。XML文書の編集操作によっては、変換元のXML文書への新しい要素の追加や、要素の削除など、XMLデータ構造を操作する必要が生じます。
キーやマウスのユーザー操作はイベントとして表現されます。xfy technologyでは、あらかじめ基本的なユーザー操作に対応するイベントを提供しています。
メニューバーやツールバーには、ボキャブラリコンポーネントで作成したメニュー項目を追加してユーザーインターフェイスをカスタマイズできます。
キーやマウス、メニューバーなどを操作すると、コマンドが実行されます。ユーザーの操作に対応してXMLデータ構造を操作するときは、コマンドで行います。コマンドには、xfy technologyで提供される組み込みコマンドとボキャブラリコンポーネントで作成するコマンドの2種類があります。
組み込みコマンドを利用するときは、提供されているコマンドをイベントやユーザーインターフェイスに割り付けます。
ボキャブラリコンポーネントでコマンドを作成するには、コマンド要素(
xvcd:command要素)内にコマンドの処理(コマンドインストラクション)や制御文(条件分岐など)を記述します。作成したコマンドはイベントやユーザーインターフェイスに割り付けます。
イベントにコマンドを割り付けるには、アクション要素(
xvcd:action要素)を使用します。ユーザーインターフェイスにコマンドを割り付けるには、ユーザーインターフェイス記述を使用します。コマンドをイベントやユーザーインターフェイスに割り付けると、ユーザーがそのコマンドを実行できるようになります。
XMLデータ構造の操作に関係するリファレンスは、以下のとおりです。
xvcd:command要素)とアクション要素(
xvcd:action要素)、XML文書編集用のコマンドインストラクションや関数を解説します。
ボキャブラリコンポーネントが扱うXMLボキャブラリによっては、次に挙げるような高度な表示・編集機能を必要とする場合があります。
xfy technologyが提供する補助機能を使用すると、容易に高度な表示・編集機能に対応できます。xfy technologyには、補助機能として計算スクリプトとデータ変換、プラットフォーム拡張関数が用意されています。
ボキャブラリコンポーネントの補助機能に関係するリファレンスは、以下のとおりです。
保存するXML文書の書式を整えるために、XVCDでは書式整形規則を記述できます。この書式整形規則をXFR(XML Formatting Rule)と呼びます。XFRではXML文書で使用されている要素ごとに書式の整形方法を指定して、XML文書をソース表示したときの体裁を整えることができます。指定できる書式の整形方法には、次のようなものがあります。
xfy technologyユーザーエージェントで新規XML文書を作成するときは、文書テンプレートを使用できます。文書テンプレートを作成するには、ドキュメントテンプレート要素(
xvcd:document-template要素)を使用します。ドキュメントテンプレート要素内に記述されたテンプレートルールに現在処理中のXVCDが適用されて、文書テンプレートが作成されます。
既存のXMLファイルをそのまま新規XML文書として利用することもできます。新規XML文書の作成については、新規XML文書作成スキームのリファレンスを参照してください。
XML文書の保存と新規作成に関するリファレンスは以下のとおりです。
xvcd:document-template要素)を参照してください。
xvcd:document-template要素)から新規XML文書を作成する方法を解説します。
XVCDでボキャブラリコンポーネントを作成するときに、効率的に開発を進めるため、そのコンポーネントの情報や共通で使用する文字列などを別のファイルに記述して、XVCDファイルから参照できます。このような目的のためにリソースファイルが用意されています。
マニフェストファイルには、ボキャブラリコンポーネントの登録やアップデートに必要な、次のような情報を記述します。
マニフェストファイルを作成することで、ボキャブラリコンポーネントの管理が容易になります。
xvcd:import要素を使用すると、複雑なXVCDの一部分を別ファイルに記述することができます。XVCDの一部分を別ファイルにして共用すると、同じ処理を記述する手間が省け、またコードを読みやすくすることができます。
たとえば、表やリスト、文章をそれぞれ表示させるXVCDファイルを作成したり、部署ごとや章ごとにXVCDファイルを作成したりして、必要に応じて結合して利用するような用途が考えられます。
ボキャブラリコンポーネントの作成支援に関係するリファレンスは以下のとおりです。
xvcd:import要素を参照してください。
各リファレンスで共通に使用される表記について説明します。
説明中で使用する名前空間プレフィックスは、各リファレンスの冒頭で明記します。
説明で使用するデータ型の表記は、特に明記しない限り、次のデータ型表記に準拠します。
XVCDに記述される以下のオブジェクトの名前は、有修飾名(QName)で指定されます。
これらの名前に名前空間プレフィックスが含まれている場合は、そのコンテキストに定義されている名前空間を使って、名前空間プレフィックスを名前空間URI参照に展開します。名前空間プレフィックスが含まれない場合は、名前空間URI参照が空文字列の有修飾名が使用されます。この場合、デフォルトの名前空間は適用されません。
いろいろなところで見かけるURL表記には、本来URLには使用できない文字が使われていることがあります。たとえば以下のURL表記は、厳格にURLの定義と照らし合わせれば正しくありません。
(カタカナが含まれている)
file:///C:/Documents and Settings/ (半角空白が含まれている)
http://www.xfytec.com/%2%20 (文字のエンコード表記が正しくない)
xfy technologyでは、URLに使用できない文字を適切にエンコードした正規のURL表記を、エンコード済みURLと呼びます。
xfy technologyでは、以下に挙げた以外の文字が含まれるURLは、エンコード済みURLとは見なしません。
#/;?:@&=+$,-._!~*'()%[]
URLの厳格な定義はスキーマごとに異なります。詳細は各スキーマを定義したRFCを参照してください。
XVCDでエンコード済みURLを要求される場合、
function:url-encode()関数を使用するとエンコード済みURLを生成できます。また、エンコード済みURLから人が読みやすい形式に変換する
function:url-decode()関数も用意されています。