Ejemplo:
Con un XML que contenga...
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="max.xsl"?>
<root>
<nodo id="1">12</nodo>
<nodo id="2">17</nodo>
<nodo id="3">58</nodo>
<nodo id="4">33</nodo>
</root>
y un XSL que diga...
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="root">
root contiene <xsl:value-of select="count(node())"/> nodos.<br/>
El mayor valor es <xsl:value-of
select="nodo[not(preceding-sibling::nodo > .)
and not(following-sibling::nodo > .)]"/><br/>
El menor valor es <xsl:value-of
select="nodo[not(preceding-sibling::nodo < .)
and not(following-sibling::nodo < .)]"/><br/>
</xsl:template>
</xsl:stylesheet>
... dará como resultado...
Root contiene 4 nodos.
El mayor valor es 58
El menor valor es 12