xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] call template based on element value?


Subject: RE: [xsl] call template based on element value?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 3 Aug 2005 22:10:00 +0100

> 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/


Current Thread
Keywords
xml
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor