[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Embedding the XPath of an input Text Fragment in
At 12:00 PM 6/12/2008, David wrote:
> <xsl:template match="*" mode="xpath-step"> > <xsl:text>/</xsl:text> > <xsl:value-of select="name()"/> > <xsl:if test="count(../*[name()=name(current())]) > 1"> > <xsl:text>[</xsl:text> > <xsl:value-of > select="count(preceding-sibling::*[name()=name(current())]) + 1"/> > <xsl:text>]</xsl:text> > </xsl:if> > </xsl:template> Quite true. (BTW -- somewhat OT -- where are the Schematron XSLTs obtainable?) <xsl:template match="*" mode="xpath-step"> <xsl:text>/*</xsl:text> <xsl:if test="count(../*) > 1"> <xsl:text>[</xsl:text> <xsl:value-of select="count(preceding-sibling::*) + 1"/> <xsl:text>]</xsl:text> </xsl:if> </xsl:template> Similarly but oppositely, one can intervene to make the path even more informative to the human reader, while sometimes more dependent on local context, as in <xsl:template match="div" mode="xpath-step"> <xsl:text>/div[@id='</xsl:text> <xsl:value-of select="@id"/> <xsl:text>']</xsl:text> </xsl:template> ... when one knows that every div has an @id, each @id is unique, and they are useful. So you get paths like /tei/text/div[@id='ch2']/p[3] and such. (variants of this generate /*[local-name()='table'][2] or (for xpath 2) /*:table[2] if you want a version which shows the variable name but without namespace dependency) Cool. 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 ======================================================================
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|