XFR(XML Formatting Rule)リファレンス

XFR(XML Formatting Rule)の概要や使用方法、要素・属性を解説します。

1. 概要

XFR(XML Formatting Rule、以下、XFRと表記)の概要について、説明します。

1.1. 用途・役割

XFRは、保存するXML文書の書式を整える書式整形規則を記述するために使用します。XML文書で使用する要素ごとに、その要素の配置方法や要素内の空白の扱い、インデント位置を指定して、XML文書をソース表示したときの体裁を整えます。

1.2. 名前空間URI参照

XFRの名前空間URI参照は http://xmlns.xfytec.com/xfr です。以下の説明でXFRの要素を記述するときは、xfr:という名前空間プレフィックスを使用します。

2. XML文書へのXFRの割り当て

XFRを記述したXVCDファイルを使用して作成したボキャブラリコンポーネントを、xfy technologyユーザーエージェントのプラグインフォルダに配置すると、XFRをXML文書に自動的に割り当てることができます。

xfy Developer's Toolkitがインストールされている場合

XFRを記述したXVCDファイルをxfy technologyユーザーエージェントの実行環境にあるscriptsフォルダに配置して、XML文書に自動的に割り当てることができます。

また、XML文書内に処理命令を記述して特定のXFRファイルをXML文書に割り当てることができます。特定のXFRファイルをXML文書に割り当てるときは、com.xfytec処理命令にxml-formatting-ruleパラメータを指定して、次のようにXMLファイルに記述します。

<?com.xfytec xml-formatting-rule href="XFRファイルのURL" ?>

com.xfytec xml-formatting-rule処理命令で複数のXFRを割り当てた場合は、先に記述されたXFRが優先されます。

xfy Basic Edition 1.0ではxfy Developer's Toolkitがあらかじめ導入されていますので、あらためて導入を行う必要はありません。

3. XFRの名前空間で定義されている要素・属性

XFRの名前空間で定義されている要素・属性を解説します。

3.1. XML書式整形規則

XFRの名前空間で定義されている要素・属性は以下のとおりです。

xfr:xfr 要素

XFRで記述する書式整形規則全体を含む要素です。 xfr:xfr要素の中に、複数の名前空間にわたった要素の書式整形規則を記述できます。

属性:

属性はありません。

内容:

xfr:xfr要素内には、 xfr:rule要素を、必要な数だけ記述できます。 xfr:rule要素は省略可能です。省略した場合、XML文書の保存時の書式整形は行われません。

xfr:rule 要素

指定された要素の書式整形規則を記述する要素です。

属性:
namespace-uri (必須)

書式整形規則を適用する要素が定義されている名前空間を指定する属性です。URI文字列で記述します。

local-names (必須)

書式整形規則を適用する要素の、名前空間内のローカル名を指定する属性です。空白で区切って、複数の要素名を記述できます。

内容:

xfr:rule要素内には、以下の要素を任意の順序で記述できます。

xfr:tab 要素

ブロック形式で書式整形する要素に、親要素のインデント位置からの相対インデント位置を、タブの数で指定します。 xfr:tab要素が記述されていない場合、相対インデント位置には1が適用されます。

属性:

属性はありません。

内容:

xfr:tab要素には、親要素のインデント位置からの相対インデント位置を、タブの数で記述します。 内容に何も記述されていない場合、相対インデント位置には1が適用されます。

xfr:preserve-whitespaces 要素

要素内のテキストデータに含まれる空白文字列を、そのまま保存するかしないかを指定する要素です。空白文字列は、XML仕様で空白として扱われる文字(#x20#x9#xD#xA)の組み合わせだけで成立した文字列です。要素が子要素を含み、その子要素にxfr:preserve-whitespaces要素による書式整形方法が指定されていない場合は、子要素内のテキストデータにも指定された値が適用されます。

属性:

属性はありません。

内容:

xfr:preserve-whitespaces要素には、要素内のテキストデータに含まれる空白文字列を、そのまま保存するかしないかを、真偽値で記述します。trueを指定すると、要素内に含まれる空白文字列はそのまま保存されます。falseを指定すると、XMLの連続する空白文字は1つの半角空白に置き換えられます。

xfr:inline 要素

要素をインライン形式で書式整形するかしないかを指定する要素です。

属性:

属性はありません。

内容:

xfr:inline要素には、要素をインライン形式で書式整形するかしないかを、真偽値で記述します。 trueを指定すると、インライン形式で書式整形されます。falseを指定すると、親要素の指定を引き継ぎます。

xfr:content-output 要素

要素を保存するかしないかを指定する要素です。

属性:

属性はありません。

内容:

xfr:content-output要素には、要素を保存するかしないかを、次の文字列で記述します。

self
処理対象としている要素のタグは保存しますが、その子ノード(要素やテキストノードなど)は保存しません。
none
処理対象としている要素は、タグ・内容とも保存しません。
default
処理対象としている要素のタグ・内容とも保存します。

これ以外の文字列が記述された場合は、defaultが指定されたと見なされます。