SLAX エレメントとエレメント属性の概要
SLAX 要素
SLAX 要素は、開始タグのみで記述されます。タグの内容は、開始タグの直後に表示されます。内容は、単純な式でも、中括弧の中に配置されたより複雑な式でも構いません。例えば:
<top> { <one>; <two> { <three>; <four>; <five> { <six>; } } }
XSLT と同等の値は次のとおりです。
<top> <one/> <two> <three/> <four/> <five> <six/> </five> </two> </top>
これらのネスト技術を使用し、閉じるタグを削除することで、乱雑さを軽減し、コードを明確にします。
SLAX 要素属性
SLAX 要素属性は XML のスタイルに従います。属性は開始タグに含まれ、属性名と値のペアで構成されます。属性構文は、属性名の後に等しい符号、引用符で囲まれた属性値で構成されています。複数の属性はスペースで区切られます。
<element attr1="one" attr2="two">;
XSLT では中括弧を使用して属性値テンプレートを使用できます。SLAX では、通常の式の構文を使用します。属性値には、引用符で囲まれた文字列、パラメーター、変数、数字、およびアンダースコア(_
)であるSLAX連結演算子を含む、任意のXPath構文を含めることができます。次の例では、SLAX 要素location
には 2 つの属性がありますzip
。 state
<location state=$location/state zip=$location/zip5 _ "-" _ $location/zip4>;
XSLT と同等の値は次のとおりです。
<location state="{$location/state}" zip="{concat($location/zip5, "-", $location/zip4}"/>
SLAX では、引用符文字列内に配置された中括弧は属性値テンプレートとして解釈されません。代わりに、プレーンテキスト中括弧として解釈されます。
エスケープ シーケンスにより、文字は特別な演算子ではなくプレーン テキストとして扱われます。たとえば、HTML ではアンパサンド(&)の後に lt
小さな記号(<
)が印刷されます。
XSLT では、二重中括弧 ({{
と }}
) は、始めと閉じ中括弧をプレーンテキストとして扱うエスケープ シーケンスです。SLAX スクリプトを XSLT に変換すると、クォート文字列内の中括弧が二重中括弧に変換されます。
<avt sign="{here}">;
XSLT と同等の値は次のとおりです。
<avt sign="{{here}}"/>