Re: [xsl] Reusing XPath statements (defining once and only once)

Subject: Re: [xsl] Reusing XPath statements (defining once and only once)
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 17 Apr 2003 18:16:05 -0400
David,

At 05:36 PM 4/17/2003, you wrote:
QUESTION:
The stylesheet works, but the XPath expressions bother me. I would like to
declare this XPath once:

@* | * | comment() | processing-instruction() | text()

and refer to it elsewhere. I tried to make it a variable, but it doesn't
seem to work.

Nope, it's not going to. Variables are bound to values, not to expressions that can be evaluated.


If you had a particular set of nodes you were interested in, they could be bound to a variable, but that's not what's happening here. The nodes returned by "@* | * | comment() | processing-instruction() | text()" will vary based on the context of evaluation.

It may be some comfort to know, however, that the XPath "node() | @*" (short for "child::node() | attribute::*" is equivalent to the longer expression you have. So just say that.

As for other style matters, unless there's a maintenance issue that makes you prefer this:

<xsl:choose>
  <xsl:when test="Context[@path='/axis']" />
  <xsl:otherwise>
   <Context debug="0"
    docBase="c:\xml-axis-10\webapps\axis" path="/axis"
    reloadable="true" />
  </xsl:otherwise>
</xsl:choose>

you might prefer the equivalent:

<xsl:if test="not(Context[@path='/axis'])">
  <Context debug="0"
  docBase="c:\xml-axis-10\webapps\axis" path="/axis"
  reloadable="true" />
</xsl:if>

HTH--!

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