Files correlati : cg0.exe cg0700a.msk cg0700b.msk cg3.exe cg4.exe Bug : Commento: Merge 1.0 libraries
81 lines
2.4 KiB
XML
81 lines
2.4 KiB
XML
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
|
|
|
<!DOCTYPE xsl:stylesheet [
|
|
|
|
<!-- namespace for SVG -->
|
|
<!ENTITY svgns "http://www.w3.org/2000/svg">
|
|
<!-- namespace for XSLT -->
|
|
<!ENTITY xsltns "http://www.w3.org/1999/XSL/Transform">
|
|
|
|
<!-- namespaces for several EXSLT extension modules (see
|
|
http://www.exslt.org for description) -->
|
|
<!ENTITY cns "http://exslt.org/common"> <!-- EXSLT-Common -->
|
|
<!ENTITY fns "http://exslt.org/functions"> <!-- EXSLT-Functions -->
|
|
<!ENTITY mns "http://exslt.org/math"> <!-- EXSLT-Math -->
|
|
|
|
<!ENTITY foons "http://www.foo.org/bar">
|
|
|
|
]>
|
|
|
|
<xsl:stylesheet version="1.0"
|
|
xmlns="&svgns;"
|
|
xmlns:xsl="&xsltns;"
|
|
xmlns:exsl="&cns;"
|
|
xmlns:func="&fns;"
|
|
xmlns:math="&mns;"
|
|
xmlns:foo="&foons;"
|
|
extension-element-prefixes="exsl func math foo"
|
|
exclude-result-prefixes="xsl exsl func math">
|
|
|
|
<xsl:output method="xml" indent="yes" encoding="iso-8859-1" standalone="yes"/>
|
|
|
|
<xsl:template match="/">
|
|
|
|
<xsl:text>Largest number value: </xsl:text>
|
|
<xsl:value-of
|
|
select="math:max(rootelement/childelement/@val[string(number(.)) != 'NaN'])"/>
|
|
<xsl:text>
|
|
Largest number value (computed by function foo:getMaxVal): </xsl:text>
|
|
<xsl:value-of select="foo:getMaxVal(rootelement/childelement)"/>
|
|
<xsl:text>
|
|
Largest number value (computed by function foo:getMaxVal2): </xsl:text>
|
|
<xsl:value-of select="foo:getMaxVal2(rootelement/childelement)"/>
|
|
</xsl:template>
|
|
|
|
<func:function name="foo:getMaxVal">
|
|
<xsl:param name="nodes"/>
|
|
|
|
<xsl:variable name="resNodes">
|
|
<xsl:for-each select="$nodes">
|
|
<xsl:if test="@val and string(number(@val)) != 'NaN'">
|
|
<dummynode>
|
|
<xsl:value-of select="@val"/>
|
|
</dummynode>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="resNodeSet" select="exsl:node-set($resNodes)"/>
|
|
|
|
<func:result select="math:max($resNodeSet/*)"/>
|
|
</func:function>
|
|
|
|
<func:function name="foo:getMaxVal2">
|
|
<xsl:param name="nodes"/>
|
|
|
|
<xsl:variable name="resNodes">
|
|
<xsl:for-each select="$nodes">
|
|
<xsl:if test="@val and string(number(@val)) != 'NaN'">
|
|
<dummynode>
|
|
<xsl:value-of select="@val"/>
|
|
</dummynode>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
|
|
<func:result select="math:max(exsl:node-set($resNodes)/*)"/>
|
|
</func:function>
|
|
|
|
</xsl:stylesheet>
|
|
|