[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] using variable in mode attribute


Subject: Re: [xsl] using variable in mode attribute
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 10 Jan 2003 17:22:10 -0500

Hi Long,

At 03:53 PM 1/10/2003, you wrote:
I have the following code which does not work.
if I replace the mode="$BID" with mode="id1" in line 4, it works.
so my question is
does the mode attribute take a variable?

No, it doesn't (too bad).


if it does not, what should I do?

You could have a single alternate mode for B (say, call it "id"), and then differentiate among templates matching your different B elements in their matches:


<xsl:template match="B[@id = 'id1']" mode="id">
...
</xsl:template>

<xsl:template match="B[@id = 'id2']" mode="id">
...
</xsl:template>

...or do any of several other things (for example, xsl:choose) to achieve the same effect (processing conditioned on the value of the id element).

It may also interest you to know that if these are *real* (i.e. DTD-declared) ID attributes, you can do

<xsl:template match="id('id1')" mode="id">
...
</xsl:template>

since the id() function (which returns an element by the value of its ID attribute) can appear in a match pattern. But your attribute needs to be declared as type ID for this to work.

Cheers,
Wendell



======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords
xml