xfy.memo

xfy technology についての備忘録です。

2005 年 11 月のアーカイブ

2005 年 11 月 3 日 技術資料「xfy のコンポーネント・アーキテクチャ」

技術資料「xfy のコンポーネント・アーキテクチャ」の私的要約です。

xfy のコンポーネント・アーキテクチャ - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/overview/technical_introduction.html

xfy コンポーネントとは

xfy technology はあらゆる XML 文書に適した編集環境を実現する技術です。編集対象の XML 文書に応じて表示・編集・計算・ファイル入出力などの機能 (コンポーネント) を適切に組み合わせることで、最適な編集環境を実現します。これらのコンポーネントを xfy コンポーネントと呼びます。

xfy technology には、基本的な xfy コンポーネントがあらかじめ用意されています。これらの xfy コンポーネントはあらゆる XML 文書の編集に利用できます。また、新たに xfy コンポーネントを作成し、既存の xfy コンポーネントと組み合わせて利用することもできます。

xfy コンポーネントの種類

xfy コンポーネントには、いくつかの種類があります。

ボキャブラリコンポーネント

XML 文書を編集するためのコンポーネントです。 XML ボキャブラリごとに作成します。 xfy Basic Edition 1.0 には、下記の二つのボキャブラリコンポーネントが同梱されています。

  • XHTML コンポーネント

  • SVG コンポーネント

XPath 関数拡張コンポーネント
インストラクションコンポーネント

機能ライブラリを拡張するためのコンポーネントです。 XPath 関数を拡張したり DOM ツリーを操作する命令を追加したりできます。

I/O コンポーネント

ファイル入出力を拡張するためのコンポーネントです。 XML 文書の保存方法をカスタマイズしたりサーバへのアクセス方法を追加したりできます。

アプリケーションコンポーネント

アプリケーションそのものを拡張するためのコンポーネントです。アプリケーションウィンドウを拡張したり機能を追加したりできます。

xfy コンポーネントのうち、 xfytec.com で提供されるものを追加機能コンポーネントと呼びます。

xfy コンポーネントの作成方法

xfy コンポーネントの作成方法には、 Java 言語を使う方法とボキャブラリコネクションを使う方法とがあります。

Java 言語を使う方法

あらゆる xfy コンポーネントを作成できます。

ボキャブラリコネクションを使う方法

一からボキャブラリコンポーネントを作成するのではなく、既存のボキャブラリコンポーネントを再利用して新しいボキャブラリコンポーネントを作成する方法です。ボキャブラリコンポーネント以外の xfy コンポーネントは作成できませんが、 Java 言語を使う方法よりも簡単にボキャブラリコンポーネントを作成できます。作成には専用の記述言語 XVCD を使います。

Vocabulary Connection 技術解説 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/overview/vc_introduction.html

XVCD によるボキャブラリコンポーネントの開発手順 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/howto/vc_develop.html

XVCD によるボキャブラリコンポーネント開発チュートリアル - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/howto/xvcd_tutorial.html

リファレンスの読み方 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/guide.html

xfy コンポーネントの利用方法

作成した xfy コンポーネントは、 JAR 形式でアーカイブし、所定のディレクトリに格納して使用します。 JAR ファイルは利用形態に応じて下記の二つのディレクトリに格納します。

bin/common/

複数のコンポーネントから利用される共通の xfy コンポーネントを格納します。このディレクトリに格納された xfy コンポーネントは xfy technology ユーザエージェント (現状では xfy Basic Edition 1.0) の起動時にロードされます。

bin/plugins/

通常の xfy コンポーネントを格納します。このディレクトリに格納された xfy コンポーネントは必要に応じてロードされます。

2005 年 11 月 6 日 技術資料「リファレンスの読み方」

技術資料「リファレンスの読み方」の私的要約です。

リファレンスの読み方 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/guide.html

XVCD の開発段階

XVCD の開発段階は、下記の 4 段階に大別できます。

  1. XML 文書の表示方法を定義する

  2. XML 文書の編集方法を定義する

  3. XML 文書の保存方法や新規作成方法などを定義する

  4. より高度な機能を利用する

XML 文書の表示方法を定義する際に参考になるリファレンス

XML 文書の表示方法を定義する際の基礎的なリファレンスです。 XML 文書を XHTML 文書として表示する際に活用します (SVG のサポート状況はまだ公開されていないようです)。

VC 中核リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_xvcd.html

VC の中核となる XML ボキャブラリ (XVCD) です。

XHTML サポート状況 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/xhtml_support.html

xfy technology ユーザエージェント (UA) の XHTML のサポート状況です。

CSS level 2 サポート状況 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/css_support.html

xfy technology UA の CSS のサポート状況です。

XML 文書の表示方法を定義する際の応用的なリファレンスです。 XML 文書を XHTML 文書以外の方法で表示する際に活用します。

表記述リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_table.html

XML 文書をスプレッドシート形式で表示するための XML ボキャブラリです。

フレーム記述リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_frame.html

XML 文書をフレーム形式で表示するための XML ボキャブラリです。

タブシート記述リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_tabsheet.html

XML 文書をタブシート形式で表示するための XML ボキャブラリです。

コントロール記述リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_controls.html

XML 文書をフォーム形式で表示するための XML ボキャブラリです。

XML 文書の編集方法を定義する際に参考になるリファレンス

XML 文書の編集方法を定義する際の基礎的なリファレンスです。 XML 文書の編集方法 (コマンド) を定義したりコマンドとイベントとを関連付けたりする際に活用します。

VC 中核リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_xvcd.html

コマンドを定義するための XVCD 要素 (xvcd:command) や、イベントとコマンドとを関連付けるための XVCD 要素 (xvcd:action) などが記載されています。

プラットフォームコマンドインストラクションリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_instruction.html

コマンドを定義するための XML ボキャブラリです。メソッドやステートメントなどに該当するようです。

プラットフォームイベントリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_event.html

キャンバス上で発生したイベントを表現するための XML ボキャブラリです。

XML 文書の編集方法を定義する際の応用的なリファレンスです。組み込みコマンド (ファイル操作やブラウザ操作など) を利用したりユーザインタフェース (UI) を定義したりする際に活用します。

プラットフォーム組み込みコマンドリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_command.html

xfy technology に備わっている組み込みコマンドを利用するための XML ボキャブラリです。

ユーザーインターフェイス記述リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_ui.html

UI を定義するための XML ボキャブラリです。

XML 文書の保存方法や新規作成方法などを定義する際に参考になるリファレンス

XML 文書の保存方法を定義する際のリファレンスです。

XFR (XML Formatting Rule) リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_xfr.html

XML 文書を保存する際の整形規則を定義するための XML ボキャブラリです。

XML 文書の新規作成方法を定義する際のリファレンスです。

VC 中核リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_xvcd.html

XML 文書のテンプレートを定義するための XVCD 要素 (xvcd:document-template) が記載されています。

新規 XML 文書作成スキームリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_newscheme.html

XML 文書の新規作成方法を明示するためのスキームです。

より高度な機能を利用する際に参考になるリファレンス

補助機能を利用する際のリファレンスです。

プラットフォーム拡張関数リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_function.html

三角関数や統計関数などを利用するための XPath 関数です。

データ変換リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_data-transferable.html

データを変換するための XML ボキャブラリです。カット & ペースト処理やドラッグ & ドロップ処理などで使用するようです。

計算スクリプトリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_calculation.html

演算処理を定義するための XML ボキャブラリです。

XVCD をモジュール化する際のリファレンスです。

VC 中核リファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_xvcd.html

外部 XVCD ファイルを取り込むための XVCD 要素 (xvcd:import) が記載されています。

リソースファイルリファレンス - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/reference_resource.html

XVCD 中のリソースを外部ファイル化するための XML ボキャブラリです。

マニフェストファイルリファレンス - xfytec.com

まだ公開されていないようです。

2005 年 11 月 13 日 技術資料「XVCD によるボキャブラリコンポーネントの開発手順」

技術資料「XVCD によるボキャブラリコンポーネントの開発手順」の私的要約です。

XVCD によるボキャブラリコンポーネントの開発手順 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/howto/vc_develop.html

XVCD とは

XVCD はボキャブラリコンポーネントを作成するための言語です。 XVCD では、新しい XML ボキャブラリを (既にボキャブラリコンポーネントが存在する) 別の XML ボキャブラリに結びつけることで、 (既存のボキャブラリコンポーネントを再利用して) 新しいボキャブラリコンポーネントを作成します。

XVCD を使ってボキャブラリコンポーネントを作成するには

XVCD を使ったボキャブラリコンポーネントの作成は、 XSLT の作成に似ています。

  1. 対象となる XML 文書を用意する

  2. リファレンスやサンプルなどを基に XVCD を作成する

  3. 作成した XVCD を XML 文書に適用し、 XVCD の処理結果を確認する

  4. 必要に応じて 2. ~ 3. を繰り返す

XVCD を XML 文書に適用するには

作成した XVCD を XML 文書に適用するには、下記の 3 種類の方法があります。

XVCD ファイルを JAR 形式でアーカイブし、所定のディレクトリに格納する

ボキャブラリコンポーネントを xfy technology ユーザエージェント (UA) に登録する、一番オーソドックスな方法です。 JAR ファイルの作成には、 Java 言語の知識や Java コンパイラなどが必要です。 JAR ファイルの作成については、対話形式で作成するためのツールが提供される予定です。

XVCD ファイルを scripts ディレクトリに格納する

JAR ファイルを作成することなく、ボキャブラリコンポーネントを xfy technology UA に登録する方法です。 Java 言語の知識や Java コンパイラなどは不要ですが、専用の開発支援環境 xfy Developer's Toolkit が必要です。後述の PI を用いた方法とは異なり、 XVCD の変更内容を反映するには xfy technology UA の再起動が必要です。

XML 文書に PI を追加する

PI を使って XVCD を XML 文書に関連付ける方法です。 XML 文書に下記の PI を記述します。

<?com.xfytec vocabulary-connection href="XVCD ファイルの URL"?>

前述の scripts ディレクトリに格納する方法と同様、 JAR ファイルの作成は不要ですが、 xfy Developer's Toolkit が必要です。 scripts ディレクトリに格納する方法とは異なり、 XML 文書を再読み込みするだけで XVCD の変更内容が反映されます。

補足

現在公開されている xfy technology UA (xfy Combo Pack 051031) には、 xfy Developer's Toolkit 1.0 が同梱されています。

2005 年 11 月 20 日 技術資料「XSLT 1.0 と XVCD 1.0 の比較」

技術資料「XSLT 1.0 と XVCD 1.0 の比較」の私的要約です。

XSLT 1.0 と XVCD 1.0 の比較 - xfytec.com

http://www.xfytec.com/ja/manual/app/developer/1.0/spec/difference_xslt_xvcd.html

XVCD 1.0 と XSLT 1.0 との関係

XVCD 1.0 は XSLT 1.0 をベースにした記述言語です。 XVCD 1.0 は、 XSLT 2.0 WD の要素や独自の要素・属性などを取り入れているので、ルート要素や名前空間 URI などが XSLT 1.0 のものとは異なります。

XVCD 1.0 と XSLT 1.0 とで動作が異なる仕様

動作が異なる仕様

項目

XSLT 1.0 の仕様

XVCD 1.0 の仕様

前方互換性の規定

XSLT 1.0 W3C 勧告の「2.5 Forwards-Compatible Processing」に規定されています。

下記の 2 点を除き、前方互換性は規定されていません。

  • ルート要素として使用できない要素がルート要素として使用されていた場合は無視されます。

  • 要素に付与できない属性が付与されていた場合は無視されます。

リテラル結果要素をルート要素にする

ルート要素にできます。

ルート要素にできません。ルート要素は xvcd:xvcd 要素でなければなりません。

XML 文書への DTD の適用

適用されます (XML パーサによる ?)。

適用されません。そのため、デフォルト属性値、 ID 型の属性、実体参照などは機能しません。

xsl:attribute 要素の記述位置

要素の内容の後に記述するとエラーになります。

要素の内容の後に記述してもエラーになりません。要素の内容の後に記述した属性も追加されます。

XML 文書への関連付け

XML 文書中に PI を記述します。

3 通りの方法があります。

サポートしていない仕様
要素
  • xsl:fallback 要素 (xvcd:fallback 要素として定義されていますが、機能しません)

  • xsl:output 要素 (xvcd:output 要素として定義されていますが、機能しません)

属性
  • case-order 属性 (xsl:sort 要素)

  • disable-output-escaping 属性 (xsl:text 要素)

  • extension-element-prefixes 属性 (xsl:stylesheet 要素、 xsl:transform 要素)

  • grouping-separator 属性 (xsl:number 要素)

  • grouping-size 属性 (xsl:number 要素)

  • lang 属性 (xsl:number 要素、 xsl:sort 要素)

  • letter-value 属性 (xsl:number 要素)

  • terminate 属性 (xsl:message 要素)

関数
  • element-available() 関数

  • function-available() 関数

  • id() 関数

  • system-property() 関数

  • unparsed-entity-uri() 関数

XVCD 1.0 で取り入れた仕様

XSLT 2.0 WD の仕様
要素
XVCD 1.0 独自の仕様
要素
属性
関数

Powered by Movable Type 3.2-ja-2

Copyright © 2005, 2006 Shin All rights reserved.