home contribute faq download

FunctX XSLT Functions

functx:max-determine-type

The maximum value in a sequence, figuring out its type (numeric or string)

Google
Webxsltfunctions.com

Description

The functx:max-determine-type function returns the maximum of the values in $seq. The built-in fn:max function treats all untyped data as numeric and raises an error if a value cannot be cast to xs:double. This function, by contrast, tests whether values are numeric, and if so, sorts them as numbers. If values are not numeric, it sorts them like strings. If your values are definitely numeric, there is no need to use this function instead of the built-in fn:max function.

Arguments and Return Type

NameTypeDescription
$seq xs:anyAtomicType* the sequence of values to test
return value xs:anyAtomicType?

XSLT Function Declaration

See XQuery definition.
<xsl:function name="functx:max-determine-type" as="xs:anyAtomicType?"
              xmlns:functx="http://www.functx.com">
  <xsl:param name="seq" as="xs:anyAtomicType*"/>

  <xsl:sequence select="
   if (every $value in $seq satisfies ($value castable as xs:double))
   then max(for $value in $seq return xs:double($value))
   else max(for $value in $seq return xs:string($value))
 "/>

</xsl:function>

Examples

<xsl:variable name="in-xml" as="item()*">
<values>
   <nums>
      <num>12</num>
      <num>23</num>
      <num>115</num>
      <num>12.5</num>
   </nums>
   <strings>
      <string>def</string>
      <string>abc</string>
   </strings>
</values>
</xsl:variable>
XPath ExampleResults
functx:max-determine-type($in-xml//num)
115
functx:max-determine-type($in-xml//string)
def
functx:max-determine-type(
   $in-xml//(num|string))
def

See Also

fn:maxThe maximum of a sequence of values
functx:max-stringThe maximum of a sequence of values, treating them like strings
functx:min-determine-typeThe minimum value in a sequence, figuring out its type (numeric or string)

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