Easy Coding
  Forum Wiki Tagging Projekte Karte RSS
» Start
» All Recent Changes
» Wiki Suche
» Wiki Hilfe

Coder How To's

Algorithmen Informationen

edit SideBar

Neue Wiki Eintrage finden Sie unter easy-coding.de/wiki.

XSLT: Maximum bestimmen

Viele Programmiersprachen bringen eine max() Funktion mit. XSLT leider nicht. Kein Grund darauf zu verzichten.

Was wir dazu tun, ist ganz einfach. Wir iterieren mit einer for-each Schleife über das Root-Element. Vor dem iterieren können wir die Sequenz absteigend sortieren. Die Werte stehen im <row> Element. Das erste Element der Liste ist das Maximum.

maximum1.xslt
  1. <xsl:for-each select="//root">
  2.         <xsl:sort select="row" order="descending" />
  3.         <xsl:if test="position()=1">
  4.                 <xsl:value-of select="row" />
  5.         </xsl:if>
  6. </xsl:for-each>

Das folgende Beispiel sucht die maximale Anzahl an Child-Elementen in einem Root-Element und speichert diesen Wert in der Variable $maximum.

maximum2.xslt
  1. <xsl:variable name="maximum">
  2.         <xsl:for-each select="//root">
  3.                 <xsl:sort select="count(row)" order="descending" />
  4.                 <xsl:if test="position()=1">
  5.                         <xsl:value-of select="count(row)" />
  6.                 </xsl:if>
  7.         </xsl:for-each>
  8. </xsl:variable>
Zuletzt geändert am 17.07.2007 18:26 Uhr
  Impressum