xsl-list
[Top] [All Lists]

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

2009-12-25 12:39:08
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(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>