xsl-list
[Top] [All Lists]

RE: Constructing Simple Content and Built-in Template Rules

2005-04-13 01:40:28
Given to following XML,

<root>
  <a>a</a>
  <b>b</b>
</root>

a stylesheet with only one root template with the instruction
<xsl:apply-templates select="root"/> does the same as a 
stylesheet with the
instruction <xsl:value-of select="root"/>, namely: "ab" 
(neglecting possible whitespaces).

Is this always correct? 

The effect is the same, but by coincidence rather than by definition. I
think the effect will always be the same if the content is untyped. 

In 2.0 in the presence of a schema, however, doing the recursive descent
with apply-templates will give you the concatenation of the text nodes,
whereas value-of takes the typed value and converts it to a string, which
may be subtly different. In the worst case, if <root> is described in the
schema as an element with element-only content, value-of will fail, because
such an element has no typed value.

Michael Kay
http://www.saxonica.com/



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--