Re: [xsl] What does name="{name()}" mean?

Subject: Re: [xsl] What does name="{name()}" mean?
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 25 Dec 2009 12:37:08 -0500
At 2009-12-25 18:29 +0100, Ben Stover wrote:
Sometimes in templates a pattern like the following appear:

<xsl:template .....>
  <xsl:element name="{name()}" ....>
  ....
  </xsl:element>
</xsl:template>

What do the curly brackets and name="{name()}" mean?

That is an attribute value template. It allows you to evaluate an XPath expression during the evaluation of an attribute value.


Not many instructions allow attribute value templates, but you are allowed to use attribute value templates in literal result elements.

In an attribute where attribute value templates are allowed, you can have any number of them, as in:

uri="http://{expr-1}/{expr-2}";

If you want a naked brace bracket in an attribute where attribute value templates are allowed, you double it up (especially important when, say, writing XSLT that writes Ant scripts):

<srcfiles dir="${{sitebasedir}}">

I hope this helps.

. . . . . . . . . . . Ken


-- UBL and Code List training: Copenhagen, Denmark 2010-02-08/10 XSLT/XQuery/XPath training after http://XMLPrague.cz 2010-03-15/19 XSLT/XQuery/XPath training: San Carlos, California 2010-04-26/30 Vote for your XML training: http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

Current Thread