Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SLAX ステートメントの概要

このセクションでは、一般的に使用される SLAX ステートメントと、簡単な例と XSLT 同等のステートメントを示します。

各ステートメント用

SLAX for-each ステートメントは、 要素と同様に機能します <xsl:for-each> 。ステートメントは、 for-each キーワード、括弧区切りの式、中括弧で区切られたブロックで構成されています。ステートメントは for-each 、プロセッサにノードのセットを集め、それらを1つずつ処理するように指示します。指定された XPath 式によってノードが選択されます。各ノードは、コード ブロックに for-each 保持されている命令に従って処理されます。

命令内の for-each コードは、XPath 式に一致する各ノードに対して再帰的に評価されます。つまり、現在のコンテキストは、 句によって for-each 選択された各ノードに移動され、処理はその現在のコンテキストに対して相対的です。

次の例では、変数はinventoryインベントリ階層を格納します。ステートメントは、for-eachノードのchassis-module子である各chassis-sub-moduleノードを再帰的にchassis処理します。指定された部品番号と同じ値の をpart-number含む要素ごとにchassis-sub-modulemessageシャーシモジュールの名前とシャーシサブモジュールの名前と説明を含む要素が作成されます。

XSLT と同等の値は次のとおりです。

if、else if、else ステートメント

SLAX は、 ifelse ifステートメントをelseサポートしています。ifステートメントは、指定された XPath 式が true と評価された場合に命令を処理する条件付き構造です。構成要素には if 1 つ以上の関連else ifする句があり、それぞれに XPath 式がテストされます。ステートメント内の式が if false と評価された場合、プロセッサは各else if式をチェックします。ステートメントが true と評価された場合、スクリプトは関連するブロック内の命令を実行し、後続else ifのステートメントおよびelseステートメントをすべて無視します。オプションelseの句は、関連付けられているifelse-ifすべての式が false と評価された場合に実行される既定のコードです。すべての および else if ステートメントが if false と評価されelse、 ステートメントが存在しない場合、アクションは実行されません。

括弧内に表示される式は拡張XPath式であり、XPathの単一の等符号()の代わりに二重等符号(===)をサポートしています。

スクリプト処理中にif、 または else ステートメントが関連付else ifけられていないステートメントが要素に<xsl:if>変換されます。or else 節のいずれかがelse if存在する場合、ステートメントifと関連else ifおよびelseブロックは要素に<xsl:choose>変換されます。

XSLT と同等の値は次のとおりです。

一致ステートメント

基本一致テンプレートは、 ステートメントを match 使用して指定し、その後に、テンプレートをいつ許可するかを指定する式と、中括弧で囲まれたステートメントのブロックを指定します。

XSLT と同等の値は次のとおりです。

一致テンプレートの構築の詳細については、 SLAX テンプレートの概要を参照してください。

ns ステートメント

SLAX ns ステートメントを使用して名前空間の定義を指定します。これは、 ns キーワード、プレフィックス文字列、等しい符号、名前空間 の統一リソース識別子 (URI)で構成されています。デフォルトの名前空間を定義するには、キーワードと名前空間の ns URI のみを使用します。

ステートメントは ns 、スタイル シートの version 先頭または任意のブロックの先頭の ステートメントの後に表示できます。

スタイル シートの先頭に表示される場合、 ns ステートメントには または extension キーワードのいずれかをexclude含めることができます。キーワードは、名前空間のプレフィックスを または extension-element-prefixes 属性に追加するようパーサーにexclude-result-prefixes指示します。

XSLT と同等の値は次のとおりです。

バージョン ステートメント

すべての SLAX スタイル シートは、SLAX 言語のバージョン番号を version 指定するステートメントで始める必要があります。サポートされているバージョンは 1.0 と 1.1 です。SLAX バージョン 1.0 では、XML バージョン 1.0 と XSLT バージョン 1.1 が使用されます。

XSLT と同等の値は次のとおりです。