This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Built-in template rule for attributes
- To: XSL-List at mulberrytech dot com
- Subject: Built-in template rule for attributes
- From: "John E. Simpson" <simpson at polaris dot net>
- Date: Mon, 04 Sep 2000 16:28:35 -0400
- Reply-To: xsl-list at mulberrytech dot com
Hello all --
Section 5.8 of the XSLT Rec says that the built-in template rule for text
nodes and attributes is:
<xsl:template match="text()|@*">
<xsl:value-of select="."/>
</xsl:template>
One subtlety that's always confused me is: Why, given this built-in rule,
is the value of each attribute *not* copied to the result tree? In other
words, how is this rule different from one in which the match attribute's
value is simply "text()" rather than "text()|@*" ?
My understanding is that this built-in rule, together with the one for the
root and element nodes, applies to all text or attribute nodes that are
children of any element (per the <xsl:apply-templates> element in the
root/element node built-in). Since XPath dictates that attributes aren't
children of the elements to which they apply, I understand why attribute
values wouldn't be copied. I'm just after the logic, therefore, of
including the |@* in the text/attribute node built-in.
[Have just re-joined XSL-List after a months-long hiatus. Very happy to be
back!]
================================================================
John E. Simpson | "I spilled spot remover on my dog.
http://www.flixml.org | He's gone now." (Steven Wright)
simpson@polaris.net |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list