[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XSL-FO & Selecting Attributes


Subject: Re: [xsl] XSL-FO & Selecting Attributes
From: Jon Gorman <jonathan.gorman@xxxxxxxxx>
Date: Wed, 20 Apr 2005 11:02:11 -0500

I believe that Omprakash code looks valid.  It shouldn't have caused
an error.  Perhaps you can share the error message?

To clarify things a bit, I believe David made a mistake in copying and
pasting...I think what he intended to point out was that if you do:

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

You will have that template applied to all the children of Item
instead of having to do
<xsl:template match="Item/name">
<fo:block>
<xsl:value-of select="."/>
</fo:block>
</xsl:template>

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

and so on.

As both David and Omprakash point out, you need that <apply-templates
/> because otherwise it will do no further processing down the tree.
So the more compact templates should like like:

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

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

and you might want to do something like David recommends and add:

<xsl:template match="Item/image">
<fo:block>
<fo:external-graphic src="url({.})"/>
</fo:block>
</xsl:template>



And for me produces (didn't use the image template because I'm not
sure what you want to do there) this output:

<fo:block>Agriculture
<fo:block>Poor Farmers Relief Fund</fo:block>
<fo:block>A Consultation on ...</fo:block>
<fo:block>05.01.04</fo:block>
<fo:block>20.02.04</fo:block>
<fo:block>04/1245</fo:block>
<fo:block>image.jpg</fo:block>
</fo:block>

Had I added the image template it would have placed the image in the
document.

Jon Gorman


ps.  I'm not sure that I understand your comment from the original post:
>  Does not seem to work the same wasy as in my XSLT
transformation.


Current Thread
Keywords