Subject: RE: [xsl] Template priority problem From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 6 Sep 2005 16:53:40 +0100 |
When people come to this list and say that a template isn't matching when they expect it to, the most common reason is that the elements are in a namespace (typically a default namespace). You haven't shown us the source document, so that's just a guess. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Chris Bowditch [mailto:bowditch_chris@xxxxxxxxxxx] > Sent: 06 September 2005 16:38 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Template priority problem > > I have a requirement to copy a source XML input file but > adjust just a > couple of elements in the file. I thought this would be real > simple but > I can't get it to work. I have two templates, one specific to match > elements I want to change and a identity transform one. Here > is the XSL > I have: > > <xsl:template match="field" priority="2"> > <xsl:variable name="fieldindex" select="@index"/> > <xsl:variable name="fieldname" > select="ancestor::dataSet/fielddefinition[$fieldindex]/@label"/> > <field> > <xsl:value-of select="."/> > </field> > </xsl:template> > <xsl:template match="* | comment() | text() | > processing-instruction() | > @*" priority="1"> > <xsl:copy> > <xsl:apply-templates select="* | comment() | text() | > processing-instruction() | @*"/> > </xsl:copy> > </xsl:template> > > The problem is the template that matches field elements is always > ignored, despite the higher priority! So I just get an exact > copy of the > input XML. Can someone explain why this is and offer a simple > solution > to my requirement. > > Thanks, > > Chris
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Template priority problem, Chris Bowditch | Thread | Re: [xsl] Template priority problem, Chris Bowditch |
[xsl] Template priority problem, Chris Bowditch | Date | Re: [xsl] Template priority problem, Chris Bowditch |
Month |