Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Select down to a certain level and its attribute

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:template match="shirt">     <xsl:variable name="shirtColorCode" select="@colorCode" />     <xsl:value-of select="/shirts/colors/color[@cid = $shirtColorCode]" />     <xsl:text> </xsl:text>     <xsl:apply-templates />   </xsl:template>   <xsl:template match="color" /> </xsl:stylesheet> Output:                                         blue item 1   yellow item 2   white item 3