Initial revision
[TestXSLT.git] / Distribution / More Examples / Birds / birds.xsl
1 <?xml version="1.0"?> \r
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">\r
3   <xsl:output method="xml" indent="yes"/>\r
4 \r
5 <xsl:template match="Class">\r
6 <BirdInfo>\r
7         <xsl:apply-templates select="Order"/>\r
8 </BirdInfo>\r
9 </xsl:template>\r
10 \r
11 <xsl:template match="Order">\r
12 Order is:  <xsl:value-of select="@Name"/>\r
13         <xsl:apply-templates select="Family"/><xsl:text>\r
14 </xsl:text>\r
15 </xsl:template>\r
16 \r
17 <xsl:template match="Family">\r
18         Family is:  <xsl:value-of select="@Name"/>\r
19         <xsl:apply-templates select="Species | SubFamily | text()"/>\r
20 </xsl:template>\r
21 \r
22 <xsl:template match="SubFamily">\r
23                 SubFamily is <xsl:value-of select="@Name"/>\r
24     <xsl:apply-templates select="Species | text()"/>\r
25 </xsl:template>\r
26 \r
27 <xsl:template match="Species">\r
28         <xsl:choose>\r
29           <xsl:when test="name(..)='SubFamily'">\r
30                 <xsl:text>      </xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>\r
31           </xsl:when>\r
32           <xsl:otherwise>\r
33                 <xsl:value-of select="."/><xsl:text> </xsl:text><xsl:value-of select="@Scientific_Name"/>\r
34           </xsl:otherwise>\r
35         </xsl:choose>\r
36 </xsl:template>\r
37 \r
38 </xsl:stylesheet>\r