[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
On 25/02/2010 19:09, Dimitre Novatchev wrote:
well actually I gave the precise reason why the pattern node doesn't match in xslt 1 but in xslt2 the situation is a little bit more complicated because in xslt2 a pattern with no explicit axis doesn't default to the child:: axis because they wanted match="foo" to match all foo elements even if the foo element is the root of the tree (which can't happen in xslt 1).
The spec says:
The pattern node() matches all nodes selected by the expression root(.)//(child-or-top::node()), that is, all element, text, comment, and processing instruction nodes, whether or not they have a parent. It does not match attribute or namespace nodes because the expression does not select nodes using the attribute or namespace axes. It does not match document nodes because for backwards compatibility reasons the child-or-top axis does not match a document node.
David
Re: [xsl] Pattern "node()" and document nodes
Subject: Re: [xsl] Pattern "node()" and document nodes From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 25 Feb 2010 20:54:18 +0000 |
On 25/02/2010 19:09, Dimitre Novatchev wrote:
Well, I wanted to simplify things too much :)
However, the spec says this exactly:
" node() matches any node other than an attribute node, namespace node, or document node."
http://www.w3.org/TR/xslt20/#pattern-examples (the 12th bullet).
And David Carlisle provided the precise explanation why this is so.
well actually I gave the precise reason why the pattern node doesn't match in xslt 1 but in xslt2 the situation is a little bit more complicated because in xslt2 a pattern with no explicit axis doesn't default to the child:: axis because they wanted match="foo" to match all foo elements even if the foo element is the root of the tree (which can't happen in xslt 1).
The spec says:
The pattern node() matches all nodes selected by the expression root(.)//(child-or-top::node()), that is, all element, text, comment, and processing instruction nodes, whether or not they have a parent. It does not match attribute or namespace nodes because the expression does not select nodes using the attribute or namespace axes. It does not match document nodes because for backwards compatibility reasons the child-or-top axis does not match a document node.
David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Pattern "node()" and docu, Dimitre Novatchev | Thread | Re: [xsl] Pattern "node()" and docu, Florent Georges |
Re: [xsl] Pattern "node()" and docu, Dimitre Novatchev | Date | Re: [xsl] Pattern "node()" and docu, Florent Georges |
Month |
Keywords