Location: Home > JIS > JIS X4169:2007 pdfダウンロード

JIS X4169:2007 pdfダウンロード

JIS 09-22
JIS X4169:2007 pdfダウンロード

JIS X4169:2007 pdfダウンロード。XSL変換(XSLT)1.0 XSL Transformations (XSLT) Version 1.0
1 導入
この規格は,XSLT言語の構文及び意味を定義する。XSLT言語を用いた変換は,XML勧告の名前空間(JIS X 4158)に適合する整形式のXML (JIS X 4159)文書として表される。その文書は,XSLTが定義する要素もXSLTが定義しない要素も含んでよい。XSLT定義の要素は,固有のXML名前空間に属することによって識別され(2.1参照),この規格では,これをXSLT名前空間と呼ぶ。したがって,この規格は,XSLT名前空間の構文及び意味を定義する。
XSLTで表される変換は,ソース木を結果木に変換するための規則を記述する。パターンをテンプレートに関連付けることによって,変換がなされる。パターンは,ソース木の要素とマッチされる。テンプレートはインスタンス化されて,結果木の部分を生成する。結果木は,ソース木から分離している。結果木の構造は,ソース木の構造とは全く異なり得る。結果木を構築するときには,ソース木からの要素をフィルタリングしたり,再順序化したりでき,任意の構造を追加することもできる。
XSLTで表される変換をスタイルシートと呼ぶ。これは,XSLTをXSLフォーマット付け語い(彙)に変換するときに,その変換がスタイルシートとして機能することによる。 この規格は,XSLTスタイルシートがXML文書にどのように関連付けられるかは指定しない。XSLプロセサが[XML スタイルシート]で記述される機構を利用可能にすることを推奨する。この機構又はその他の機構が複数のXSLTスタイルシートのシーケンスを提供し,一つのXML文書に同時に適用される場合,その効果は,そのシーケンスの各メンバを順にインポートする単一のスタイルシートを適用する場合と同じであることが望ましい(2.6.2参照)。
注記 原勧告では,外部文書への参照は,[XMLスタイルシート]などといった記述から参照箇所にリンクされている。ただし,この規格では参照箇所へのリンクは記載しない。代わりに,この記法によって,附属書Aの対応する項目を参照する。 スタイルシートは,テンプレート規則の集合を含む。テンプレート規則は,次の二つの部分から成る。一つはソース木のノードとマッチされるパターンであり,もう一つはインスタンス化できて,結果木の部分を形成するテンプレートである。これによって,一つのスタイルシートを類似のソース木構造をもつ文書の広いクラスに適用可能にする。
テンプレートは,特定のソース要素に関してインスタンス化され,結果木の部分を生成する。テンプレートは,リテラル結果要素の構造を指定する要素を含むことができる。テンプレートは,結果木素片を生成するための命令である,XSLT名前空間からの要素も含むことができる。テンプレートがインスタンス化されると,各命令が実行され,それが生成する結果木素片によって置換される。命令は子孫ソース要素を選択し,処理することができる。子孫要素の処理は,適用可能なテンプレート規則を見つけて,そのテンプレートをインスタンス化することによって結果木素片を生成する。要素は,命令の実行によって選択されたときにだけ処理されることに注意する。結果木は,ルートに関するテンプレート規則を見つけて,そのテンプレートをインスタンス化することによって作成される。
適用可能なテンプレート規則を見つける処理において,複数のテンプレート規則が,与えられた要素にマッチするパターンをもっていてもよい。しかし,一つだけのテンプレート規則が適用される。適用するテンプレート規則を決定する方法は,5.5に示す。 テンプレートは一つだけでかなりの能力をもつ。それは,任意の複雑さをもつ構造を生成でき,ソース木の任意の位置から文字列の値を引き出すことができ,ソース木における要素の出現に応じて繰り返される構造を生成できる。結果木の構造がソース木の構造とは独立である単純な変換については,スタイルシートは,単一のテンプレートだけから構成されることも可能であり,それは,完全な結果木のためのテンプレートとして機能する。データを表現するXML文書の変換は,この種のものであることが多い(D.2参照)。XSLTは,これらのスタイルシートに対し単純化した構文を適用することを可能にする(2.3参照)。
テンプレートは,インスタンス化されると,常に現ノード及び現ノードリストに関してインスタンス化される。現ノードは,常に現ノードリストのメンバである。XSLTの多くの操作は,現ノードに対応する。わずかな命令だけが,現ノードリスト又は現ノードを変更する(箇条5及び箇条8参照)。これらの命令の一つをインスタンス化する間に,現ノードリストはノードの新リストに変わり,この新リストの各メンバが順に現ノードになる。命令のインスタンス化の完了後は,現ノード及び現ノードリストは,命令がインスタンス化される前の状態に戻る。
XSLTは,XPath (JIS X 4160)で定義された式言語を利用して,処理,条件付き処理及びテキスト生成のための要素の選択を行う。 XSLTは,その言語を拡張するために二つの“フック”を提供する。つまり,テンプレートで使用する命令要素の集合を拡張するためのフック,及びXPathの式で使用する関数の集合を拡張するためのフックを提供する。これらのフックは,どちらもXML名前空間に基づく。XSLTのこの版は,フックを実装する機構を定義していない(箇条14参照)。

Download