Re: [xsl] build-in template question

Subject: Re: [xsl] build-in template question
From: Jonas Mellin <jonas.mellin@xxxxxx>
Date: Fri, 05 Sep 2008 00:25:15 +0200
Garvin Riensche wrote, On 2008-09-05 00:17:
Hello,

I have a question concerning text nodes. If I have an xml file like

<root>
  <e>text</e>
</root>

and a template like

<xsl:template match="e">
  <xsl:copy/>
</xsl:template>

than, the output will be "<e>text</e>".

Is the text insterted to the output by xsl:copy or by the build-in template

<xsl:template match="text()|@*">
  <xsl:value-of select="."/>
</xsl:template>
?
During evaluation of applicable templates on a particular node, the most specific template is chosen. If two or more templates is of the same level of specification, then the template with the highest priority is chosen. I have forgotten what happens if two templates cannot be separated (a situaiton that I try to avoid), although a qualified guess is that an XSLT 1.0 processor does something and an XSLT 2.0 processor returns an error message. Anyway, in this case, the match="e" is more specifc than match="text()|@*" so the first template is chosen.

regards, Garvin



--
Carpe Diem!
===
Jonas Mellin, Assistant Professor in Computer Science
School of Humanities and Informatics, Building E-2
University of Skvvde, P.O. Box 408, SE-541 28 Skvvde, Sweden
Phone: +46 500 448321, Fax: +46 500 448399
Email: jonas.mellin@xxxxxx, URL: http://www.his.se/melj

Current Thread