RE: [xsl] Determining the context node

Subject: RE: [xsl] Determining the context node
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 13 Apr 2006 11:29:09 -0400

At 06:23 AM 4/13/2006, Mike wrote:
You can get the name of the context node using name(). Saxon has an
extension function saxon:path() which gives you a full path to a node; I
believe there are portable solutions to this problem at

but it seems to be down.

Here's some simple code to write an XPath for any element:

<xsl:template match="*" mode="make-path">
  <xsl:apply-templates select="ancestor-or-self::*" mode="make-step"/>

<xsl:template match="*" mode="make-step">
  <xsl:value-of select="name()"/>
  <xsl:if test="(preceding-sibling::*|following-sibling::*)

I leave it as an exercise how to extend this to handle attributes, the root, etc.


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. 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 ======================================================================

Current Thread