多くのXML文書は、テキストや数値を扱うことを目的に使用されています。このようなXML文書向けに特化した編集ツールは、Webフォームと同様の画面で入力を行います。つまり、ほとんどのXML文書はHTMLの表示系を利用して表現できると言い換えられます。
この考え方をさらに進めると、XML文書をHTMLを利用した表現形式に変換できる変換機能と、その表現形式を表示・操作できる編集機能とを兼ね備えていれば、ほとんどのXML文書はより平易な方法で編集できるということができます。
一方で、グラフィックデータを扱うSVGに代表される、テキストや数値以外を扱うことを目的としたXML文書には、それに適した表示・編集の仕組みが必要となります。
xfy technologyは、ワードプロセッサで文書を編集するときのように、複合XML文書を含むあらゆるXML文書を、要素や属性の定義に煩わされることなく編集できる環境を提供する目的で開発されています。xfy technologyは複合XML文書内に含まれるそれぞれのXMLボキャブラリごとに最適な表示・編集を行うプラグインを適用することで、最適な表示・編集環境を提供します。xfy technologyの機能は特定の用途に特化されていないため、XML文書を表示・編集するあらゆる場面で利用できます。
xfy technologyは、XMLボキャブラリを管理して適切に利用できる仕組みを提供することで、前述の目的を実現します。
ボキャブラリに対する処理を、xfy technologyで実現するために開発された機構が、ボキャブラリコネクション(Vocabulary Connection、以下、VCと表記)です。
VCは、次に示す特徴を有しています。
- 複合XML文書を含むXML文書を、別のXML文書に変換する機能を有する
- 変換されたXML文書を表現するために提供された、ビュー(キャンバス)を利用する
- ユーザー操作をキャンバスからイベントとして受け取ることで、変換元のXML文書を編集できる
- 変換元XML文書を変更した結果が、キャンバス上に即時に反映される
VCをXML文書に適用するために、XVCDと呼ばれるスクリプト言語が定義されています。XVCDは、それ自体がXML形式で表現されます。対象とするXML文書にXVCDを適用することで、VCの特長を利用してXML文書を閲覧・編集できるようになります。
XVCDのXML文書変換機能を実現する要素・属性は、原則的にXSLT 1.0の要素・属性に準拠して再定義しています。機能上の要求に応じて、XSLT 2.0ワーキングドラフトの要素を取り入れたり、独自の要素を追加したりしている場合があります。
XVCDには、XML文書を編集するために、キャンバス上でのユーザー操作に対応する処理を指定する機能があります。