Subject: Re: [xsl] The identity transform and attributes From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 21 Jan 2008 12:23:41 +0000 |
On 21/01/2008, David Carlisle <davidc@xxxxxxxxx> wrote: > > It's certainly not intuitive that when you what to just change the > > attribute's value you have to create a new attribute node > > Intuition is a personal thing but I don't see why that's not > intuitive. xslt never updates nodes in place, so you always generate new > nodes. Sure, but I meant along the lines of copy vs create... To update an element's "value" you tend to copy it rather than create a new one. To update an attribute's value I would say it's intuitive to try the same approach, especially when the name and value are clearly separate (to me!). > Attributes are leaf nodes and work the same way as namespace nodes, and > PI nodes (that is they have a name and value but no children) element > nodes are the only ones to have name and children, document nodes have > children but no name, and comments and text nodes have a value but no > name. I've been caught out before doing things like: <xsl:template match="@*[not(self::foo)]"> ...which doesn't work - you have to use name() Again, I don't know why the self axis isn't available for attribute nodes... any ideas? -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] The identity transform an, David Carlisle | Thread | Re: [xsl] The identity transform an, David Carlisle |
Re: [xsl] The identity transform an, David Carlisle | Date | Re: [xsl] The identity transform an, David Carlisle |
Month |