XSLT(10) Sequence

来源:互联网 发布:网络推广 发一把 编辑:程序博客网 时间:2024/05/16 08:45

Type

Sequences have types, types can have occurrence indicators + * ?
example:
xs:dateTime+
element(Series)
xs:anyAtomicType*

Testing types:
item() - test any item
void() - empty sequence

<xsl:sequence>

, xsl:sequence can return a sequence containing existing nodes, rather than constructing new nodes like <xsl:copy-of>. The items comprising the result sequence are selected using the select attribute. When xsl:sequence is used to add atomic values to a sequence, the effect is very similar to the xsl:copy-of instruction.

<xsl:variable name="values" as="xs:integer*">    <xsl:sequence select="(1,2,3,4)"/>    <xsl:sequence select="(8,9,10)"/></xsl:variable><xsl:value-of select="sum($values)"/>

output: 37


Testing Sequence

exists() empty()
Test whether a sequence is empty or not use exists() orempty()

instance of
Test whether a sequence is of a specific type

index-of()
If the sequence contains multiple instances of the specified value, then index-of() returns a sequence containing the positions in which the value appears. If the sequence doesn’t contain the given value, then index-of() returns an empty sequence.

The index-of() function is most useful when you’re using sequences to hold structured data.

Outputting Sequences

<xsl:for-each>
<xsl:apply-template>
<xsl:value-of>




原创粉丝点击