Re: [xsl] can templates be nested?

Subject: Re: [xsl] can templates be nested?
From: Joerg Heinicke <joerg.heinicke@xxxxxx>
Date: Sun, 16 Jun 2002 09:41:28 +0200
Hello Dmitri,

no, templates can not be nested. But therefore you have <xsl:apply-templates/> to apply a template on the selected node. There were you want to have the <a href="mailto:"/>, write <xsl:apply-templates select="../label/person"/>.

But there is one problem, you don't have a <person/> in your xml example. You @email is in the second xml at the <track/>-element. So maybe you only need to write the content of your first template copy to your second one.

(Your code is a little bit confusing.)

Regards,

Joerg

dmitri kerievsky wrote:
question is how to transfer the mailto value:

<xsl:template match="catalog/artist/album/label/person">
					<a href="{concat('mailto:', @email)}"> <xsl:value-of select="@name"/>
</a>
				</xsl:template>

into this template between a <td></td> :

<xsl:template match="track" mode="TrackDetailForAlbum">
		<tr>
			<xsl:if test="position() mod 2">
				<xsl:attribute name="bgcolor">white</xsl:attribute>
			</xsl:if>
			<!--<td><xsl:number/></td>-->
			<td>
				<xsl:value-of select="."/>
				<xsl:if test="@alternateTake = 'true'"> (alternate take)</xsl:if>
			</td>
			<!--<td align="left"><xsl:value-of select=@track"/></td>		-->
			<td align="right"><xsl:value-of select="@address"/></td>
			<td align="right"><xsl:value-of select="@telephone"/></td>
			<td align="right"><xsl:value-of select="@web"/></td>
			<td align="right"><xsl:value-of select="@paglgroup"/></td>
		</tr>
	</xsl:template>


this .xml has changed from:


<catalog>
	<artist>
		<name>Miles Davis</name>
		<album>
			<title>Plays Classic Ballads</title>
			<label>CBS</label>
			<track time="7:56">Bye Bye Blackbird</track>


into:



<catalog> <artist> <name>m ii</name> <album> <title>NY</title> <label></label> <track address="1 main street" telephone="(3333" email="e@xxxxxxx" web="" group="yes"> joe doe</track>


the idea was to have the track name appear as hyperlink with mailto:e@xxxxxxxx The top template works by itself, but how to include that function inside the track template? Any ideas? Thanks, Dmitri


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


Current Thread