|
Subject: Re: [xsl] [text nodes] Unmatching text nodes wrongly inserted From: "Anton Triest" <anton@xxxxxxxx> Date: Wed, 22 Sep 2004 18:33:12 +0200 |
Hi Stefano,
> <xsl:template match="xdm:fields">
> <map font-family="Courier" font-size="10pt" height="1" x-unit="in/10" y-unit="in/6">
> <xsl:apply-templates/>
xsl:apply-elements without select attribute will apply to all children:
if there is no matching template, the builtin default template will be
applied. The default template then outputs the text contents of the
elements.
A good remedy would be to select the field you want,
rather than matching it:
<xsl:template match="xdm:fields">
<map font-family="Courier" ...>
<xsl:apply-templates select="xdm:field[@name='CSBFT242']"/>
</map>
</xsl:template>
<xsl:template match="xdm:field">
<label x="20" y="56" width="12">
<xsl:value-of select="."/>
</label>
</xsl:template>
Salute,
Anton
Chizzolini Stefano wrote:
>
> Hi all,
>
> I tried to render this xml:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <documents xmlns="http://www.aaa.it/consulta/xdmModel">
> <document id="2003722011924">
> <header>
> <caption>Fattura 1924/2003 di AAAAAA SpA</caption>
> </header>
> <body format="pdf" base="fatture/">
> <pages>
> <page template="FTNORM.pdf">
> <fields>
> <field name="CSBFT242">FATTURA DI VENDITA</field>
> <field name="CSBFT009">1</field>
> <field name="CSBFT010">2003-12-18</field>
> </fields>
> </page>
> </pages>
> </body>
> </document>
> </documents>
>
> transforming it with this ridiculous XSLT stylesheet:
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0" xmlns:xdm="http://www.aaa.it/consulta/xdmModel">
> <xsl:template match="xdm:fields">
> <map font-family="Courier" font-size="10pt" height="1" x-unit="in/10"
> y-unit="in/6">
> <xsl:apply-templates/>
> </map>
> </xsl:template>
> <xsl:template match="xdm:field[@name='CSBFT242']">
> <label x="20" y="56" width="12">
> <xsl:value-of select="."/>
> </label>
> </xsl:template>
> </xsl:stylesheet>
>
> but the result was quite horrific:
>
> <?xml version="1.0"?>
> Fattura 1924/2003 di AAAAAA SpA
> <map font-family="Courier" font-size="10pt" height="1" x-unit="in/10"
> y-unit="in/6" xmlns:xdm="http://www.aaa.it/consulta/xdmModel">
> <label x="20" y="56" width="12">FATTURA DI VENDITA</label>
> 1
> 2003-12-18
> </map>
>
> As you can see, the core transformation is right, but the XSLT processor
> inserted also all the unwanted text node values!
> I checked all the above code, but I'm really puzzled.
>
> What's wrong in my stylesheet?
>
> Many thanks
>
> Stefano
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] [text nodes] Unmatching t, Francesco Barresi | Thread | Re: [xsl] [text nodes] Unmatching t, Chizzolini Stefano |
| Re: [xsl] [text nodes] Unmatching t, Francesco Barresi | Date | [xsl] XSL equivalent of SQL having, john-xsl-list |
| Month |