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 使用正常的表达式语法。属性值可以包括任何 XPath 语法,包括引用的字符串、参数、变量、数字和 SLAX 串联运算符(这是一个突触_
)。在以下示例中,SLAX 元素 location
具有两个属性, state
以及 zip
:
<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}}"/>