Subject: Re: [xsl] Re: Comparing two xml documents From: Mike Brown <mike@xxxxxxxx> Date: Wed, 12 Mar 2003 21:05:21 -0700 (MST) |
Robert P. J. Day wrote: > On Wed, 12 Mar 2003, Ragulf Pickaxe wrote: > > > What is the differenct between: > > <xsl:template match="*"> > > > > and > > > > <xsl:template match="node()"> > > i went through this grief recently. as i read it, "*" will > match any element, while node() will match any of > > 1) elements > 2) comments > 3) processing instructions > 4) text nodes > > is this about right? Yes. To be pedantic, '*' matches any node that is of the 'principal node type' for the given axis. The default axis is 'child', so match="*" really means match="child::*". The principal node type for the child axis is element, so yes, "*" matches any element node. The attribute and namespace axes have a different principal node type, so for example "attribute::*" or its shorthand "@*" both match any attribute node. node() matches any node at all, but match="node()" means match="child::node()", so it only matches nodes that can be children, which is all node types other than attribute, namespace, and root. So yeah, you got it. Mike -- Mike J. Brown | http://skew.org/~mike/resume/ Denver, CO, USA | http://skew.org/xml/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: Comparing two xml doc, Robert P. J. Day | Thread | Re: [xsl] Re: Comparing two xml doc, Wendell Piez |
RE: [xsl] XSL:Copy w/ Processing Op, Conal Tuohy | Date | RE: [xsl] Comparing two xml documen, Lars Huttar |
Month |