Re: [xsl] XSL-FO & Selecting Attributes

Subject: Re: [xsl] XSL-FO & Selecting Attributes
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 20 Apr 2005 12:34:05 +0100
<xsl:template match="Item/name">

You have all these templates matching children of Item but you never
apply templates to the children of Item.

Actually if almost all of them are the same you could have just ine
template
<xsl:template match="Item/*">
<fo:block>
<xsl:value-of select="@Sector"/>
</fo:block>
</xsl:template>

and then you only need specific templates for elemnts that do something
else such as image
<xsl:template match="Item/image">
<fo:block>
<fo:external-graphic src="url({.})"/>
</fo:block>
</xsl:template>

as discussed on this list in the last day or so that should be

<fo:external-graphic src='url("{.}")'/>




Item has

<xsl:template match="Item">
<fo:block>
<xsl:value-of select="@Sector"/>
</fo:block>
</xsl:template>


so it just generates a block with the Sector attribute and nothing else.

If you want Item to apply templates to its children then

<xsl:template match="Item">
<fo:block>
<xsl:value-of select="@Sector"/>
<xsl:apply-templates/>
</fo:block>
</xsl:template>

or


<xsl:template match="Item">
<fo:block>
<xsl:value-of select="@Sector"/>
</fo:block>
<xsl:apply-templates/>
</xsl:template>

depending on whether you want the children to be nested inside the block
or not.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread