home contribute faq download

FunctX XSLT Functions

functx:sort-as-numeric

Sorts a sequence of numeric values or nodes

Google
Webxsltfunctions.com

Description

The functx:sort-as-numeric function sorts a sequence of numeric values or nodes. This is useful for untyped values, because the order by clause by default treats values as strings, and would therefore sort 100 before 99.

Arguments and Return Type

NameTypeDescription
$seq item()* the sequence to sort
return value item()*

XSLT Function Declaration

See XQuery definition.
<xsl:function name="functx:sort-as-numeric" as="item()*"
              xmlns:functx="http://www.functx.com">
  <xsl:param name="seq" as="item()*"/>

   <xsl:for-each select="$seq">
     <xsl:sort select="number(.)"/>
     <xsl:copy-of select="."/>
   </xsl:for-each>

</xsl:function>

Examples

<xsl:variable name="in-xml" as="item()*">
<in-xml>
  <f>1</f>
  <f>35</f>
  <e>4</e>
</in-xml>
</xsl:variable>
XPath ExampleResults
functx:sort-as-numeric(('1','100','99'))
('1', '99', '100')
functx:sort-as-numeric($in-xml/*)
<f>1</f>
<e>4</e>
<f>35</f>

See Also

functx:sortSorts a sequence of values or nodes
functx:sort-case-insensitiveSorts a sequence of values or nodes regardless of capitalization
functx:sort-document-orderSorts a sequence of nodes in document order

History

Published OnLast UpdatedContributor(s)
2006-06-272007-02-26Priscilla Walmsley, Datypic, pwalmsley@datypic.com, http://www.datypic.com
Datypic XSLT Services

Recommended Reading:

XQuery