Subject: Re: [xsl] how to insert the *complete* content of a node From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Fri, 21 Mar 2003 14:27:23 +0000 |
Hi Robert, >> Use <xsl:copy-of> and select all the children of the <mytag> >> element using the node() node test (which matches any node, >> including elements and attributes): >> >> <xsl:copy-of select="mytag/node()" /> >> >> <xsl:copy-of> gives you an exact copy of the nodes. > > uh oh ... i'm confused again. i thought "node()" explicitly > did *not* match attribute nodes, but only The node test "node()" matches attribute nodes, but the child axis can only select the node types that you mention: > 1) elements > 2) text > 3) comments > 4) processing instructions When you do: <xsl:copy-of select="mytag/node()" /> this is expanded to: <xsl:copy-of select="child::mytag/child::node()" /> and you get the child nodes (which cannot include attributes since attributes aren't children) of the child <mytag> element of the context node. You can tell that the node() node test matches attributes because the expression ".", which expands to the expression "self::node()", can be used to select attributes. Unlike the child axis, the self axis selects the context node no matter what its type. Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to insert the *comple, Robert P. J. Day | Thread | Re: [xsl] how to insert the *comple, danilo |
RE: [xsl] A list of useful function, bryan | Date | [xsl] how to insert the *complete* , danilo |
Month |