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 |