xsl-list
[Top] [All Lists]

RE: call template based on element value?

2005-08-03 14:10:00
My xml structure is:

<Record>
<recordId>1</recordId>
<content>Some content</content>
<image>align this image left</image>
</Record>
<Record>
<recordId>2</recordId>
<image>align this image right</image>
<content/>
</Record>

I have <xsl:template name="table-image-right"> and <xsl:template
name="table-image-left">.

<xsl:for-each select="record">
      <xsl:if test="???">
              <xsl:call-template name="table-image-right"/> 
(needs the recordid value)
      </xsl:if>
      <xsl:if test="???">
              <xsl:call-template name="table-image-left"/>
      </xsl:if>
</xsl:for-each>


I would change

<xsl:template name="table-image-right">

to

<xsl:template name="table-image-right" match="Record[recordId mod 2 = 1]">

and

<xsl:template name="table-image-left">

to

<xsl:template name="table-image-left" match="Record[recordId mod 2 = 0]".

and then the <xsl:for-each select="record"> instruction above can be simply
replaced by

<xsl:apply-templates select="Record"/>

Michael Kay
http://www.saxonica.com/



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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