define and use key : key « XSLT stylesheet « XML






define and use key


File: Data.xml
<shirts>

  <colors>
    <color cid="c1">yellow</color>
    <color cid="c2">black</color>
    <color cid="c3">red</color>
    <color cid="c4">blue</color>
    <color cid="c5">purple</color>
    <color cid="c6">white</color>
    <color cid="c7">orange</color>
    <color cid="c7">green</color>
  </colors>

  <shirt colorCode="c4">item 1</shirt>
  <shirt colorCode="c1">item 2</shirt>
  <shirt colorCode="c6">item 3</shirt>

</shirts>

File: Transform.xslt

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:output method="text" />

  <xsl:key name="colorNumKey" match="color" use="@cid" />

  <xsl:template match="colors" />

  <xsl:template match="shirt">
    <xsl:value-of select="key('colorNumKey',@colorCode)" />
    <xsl:text> </xsl:text>
    <xsl:apply-templates />
  </xsl:template>

</xsl:stylesheet>

Output:


  

  blue item 1
  yellow item 2
  white item 3

 








Related examples in the same category

1.match key
2.key function with different parameters
3.Use variable in key function