[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Hi Spenser,
If you posted your original XSLT which David fixed, that would help, but I think I remember it well enough -- David's suggestion should work cleanly as long as you say
<xsl:number from="appendix"/>
instead of the <xsl:number/> he guessed at.
The principle he elucidated, namely that you traverse to the referenced node and do the operation there, still applies. <xsl:number/> (in some configuration) spares you all the work of counting things using explicit XPath. The only tricky part is getting the xsl:number set up to give what you want. In this case, unless you say you want to count the appendix elements, it uses the default, which is counting the refnote elements themselves, in their local context (i.e. each one inside its parent). This gives you "1" (i.e. "A") for refnotes 1, 2, and 4, which are each the first refnotes in their parents. (refnote 3 will get you "B"). By switching this to count the appendixes you should get "A" for refnote 1, "B" for refnotes 2 and 3, and "C" for 4.
At 04:03 PM 2/13/2006, you wrote:
Re: [xsl] Stumped on XPath
Subject: Re: [xsl] Stumped on XPath From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Mon, 13 Feb 2006 16:00:15 -0500 |
Hi Spenser,
If you posted your original XSLT which David fixed, that would help, but I think I remember it well enough -- David's suggestion should work cleanly as long as you say
<xsl:number from="appendix"/>
instead of the <xsl:number/> he guessed at.
The principle he elucidated, namely that you traverse to the referenced node and do the operation there, still applies. <xsl:number/> (in some configuration) spares you all the work of counting things using explicit XPath. The only tricky part is getting the xsl:number set up to give what you want. In this case, unless you say you want to count the appendix elements, it uses the default, which is counting the refnote elements themselves, in their local context (i.e. each one inside its parent). This gives you "1" (i.e. "A") for refnotes 1, 2, and 4, which are each the first refnotes in their parents. (refnote 3 will get you "B"). By switching this to count the appendixes you should get "A" for refnote 1, "B" for refnotes 2 and 3, and "C" for 4.
Cheers, Wendell
At 04:03 PM 2/13/2006, you wrote:
Hi Wendell and David,
Sorry I was out of town on a course. I do agree that the solution that David suggested is cleaner, however it only works with the original xml. Sorry if the second example was obscure, perhaps this demostrates it better:
XML
<?xml version="1.0"?> <doc> <manual> <sentence>This is a sentence with a reference<id ref="1"/> as an inline element</sentence> <clause>This is a clause with inline elements <strong> and</strong> a reference <id ref="4"/></clause> </manual> <appendix> <refnote id="1">This is the first reference</refnote> </appendix> <appendix> <refnote id="2">This is the second reference</refnote> <refnote id="3">This is the third reference</refnote> </appendix> <appendix> <refnote id="4">This is the third reference</refnote> </appendix> </doc>
Should produce:
<html><head><META http-equiv="Content-Type" content="text/html"></head><body> <p>This is a sentence with a reference (see Appendix A) as an inline element</p> <p class="clause">This is a clause with inline elements <strong> and</strong> a reference (see Appendix C) </p> </body></html>
But instead produces:
<html><head><META http-equiv="Content-Type" content="text/html"></head><body> <p>This is a sentence with a reference (see Appendix A) as an inline element</p> <p class="clause">This is a clause with inline elements <strong> and</strong> a reference (see Appendix A) </p> </body></html>
I'm sure it's something small I'm missing on my end. I do agree that this would be a much better solution, so any thoughts would be appreciated
====================================================================== 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 ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Stumped on XPath, Spencer Tickner | Thread | Re: [xsl] Stumped on XPath, Spencer Tickner |
Re: [xsl] XSL-FO and Spaces, J.Pietschmann | Date | Re: [xsl] Stumped on XPath, Spencer Tickner |
Month |