xsl-list
[Top] [All Lists]

Re: Selecting Elements fo processing

2002-10-05 05:10:56
Hello Nickolay,

did you look at any tutorial or in any book? This is a question about the basics of XSLT.

<xsl:template match="root">
  <table border="1">
    <tr>
      <td>type</td>
      <td>features</td>
      <td>price</td>
    </tr>
    <xsl:apply-templates select="item"/>
  </table>
</xsl:template>

<xsl:template match="item">
  <tr>
    <xsl:apply-templates select="*"/>
  </tr>
</xsl:template>

<xsl:template match="car | potatoes">
  <td>
    <xsl:value-of select="name()"/>
  </td>
  <td>
    <xsl:apply-templates select="*"/>
  </td>
</xsl:template>

<xsl:template match="maxspeed | colour | quality | pack">
  <p><xsl:value-of select="name()"/>: <xsl:value-of select="."/></p>
</xsl:template>

<xsl:template match="price">
  <td><xsl:value-of select="."/></td>
</xsl:template>

The next time please read in FAQs or tutorials first.

http://www.dpawson.co.uk/xsl/sect2/sect21.html
http://www.zvon.org/xxl/XSLTreference/Output/index.html
http://www.zvon.org/xxl/XSLTutorial/Output/index.html

Regards,

Joerg

Nickolay Kolev wrote:
Hi all,

I want to process something similar to:

<item>
        <car>
                <maxspeed>120</maxspeed>
                <colour>red</colour>
        </car>

        <price>1000</price>

</item>

<item>
        <potatoes>
                <quality>1</quality>
                <pack>10kg</pack>
        </potatoes>

        <price>50</price>

</item>

so far I have:

<xsl:for-each select="item">
        <p><xsl:value-of select="price" /></p>
</xsl:for-each>

for getting the price element which is common to all items...

But how do I write:

if child element is car print "maxspeed is XXX and the colour is YYY"

else if child element is potatoes print "quality is XXX and the origin is YYY"
else if ...

else ...

I hope I have made myself clear.

Many thanks in advance,
nmk


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>