xsl-list
[Top] [All Lists]

Re: Stupid newbie question..

2002-10-18 12:30:47
Jordan S. Jones wrote:
I am trying to call a template based off of the value of an attribute..  I
am probably going about it in a dumb manner..

Here is my xml:

<?xml version="1.0" ?>
<document>
 <description>Test number one</description>
 <content>
  <module id="one">
   <paragraph>
    <media type="img">image.jpg</media>
    <title>This is the title</title>
    blah blah blah blah blah blah blah blah blah.
   </paragraph>
  </module>
 </content>
</document>


Here is the xslt:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 <xsl:output method = "html" encoding="Windows-1252" />

 <xsl:template match="/">
  <html>
   <xsl:if test="document/description">
    <title><xsl:value-of select="document/description" /></title>
   </xsl:if>
   <body>
   <xsl:if test="document/content">
    <xsl:apply-templates select="document/content" />
   </xsl:if>
   </body>
  </html>
 </xsl:template>

 <xsl:template match="document/content">
  <xsl:apply-templates />
 </xsl:template>

So far, so good. You could just say match="content" unless you've
got some other 'content' elements that you need to process differently.

 <xsl:template match="module">
  <xsl:apply-templates select="@id" />
 </xsl:template>

 <xsl:template match="one">
  This is module one.
 </xsl:template>

You meant (in place of both of these)

<xsl:template match="module[(_at_)id='one']">
  <xsl:text>This is module one.</xsl:text>
</xsl:template>

The xsl:text element is just there to keep the whitespace around the text from
being considered part of the text.

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

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



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