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[(_at_)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[(_at_)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(_at_)mulberrytech(_dot_)com
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