Re: [xsl] swapping context, a grouping problem.

Subject: Re: [xsl] swapping context, a grouping problem.
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 05 Nov 2002 07:54:49 -0500
At 2002-11-05 09:27 +0000, DPawson@xxxxxxxxxxx wrote:
with context doc in the main file I have

You could remember the source file context by putting the root node into a variable at the top level of your stylesheet:


<xsl:variable name="source" select="/"/>

    <category><head><xsl:value-of
select="$cats/entry[categoryID=$thisCat]/category_Nam"/></head>
    <section>
      <xsl:for-each
select="document('section.xml')/doc/entry[categoryID=$thisCat]">

At this point I gather from your next statement that "cat" wouldn't be available because that would have been from your categories document, but that $thisCat would be correct.


        <xsl:copy-of
select="key('catandsection',concat(cat,'and',SectionID))"/>

Change the above to:


<xsl:variable name="thisSect" select="SectionID"/>

   <xsl:for-each select="$source"> <!--change key table contexts-->
      <xsl:copy-of select="key('catandsection',
                               concat($thisCat,'and',$thisSect))"/>
   </xsl:for-each>

the problem is that the keys are operating in a different document,
hence the context is wrong to copy the entries through from the main source
file.

I can't figure a way of getting the section titles without iterating through

them (in the sections.xml document) which screws the context up for the rest
of
the processing.

Remember here that you can have a separate key table in your sections document and just look up what you need after changing your current node context to that document, which sets up the context for all the key tables.


I hope this helps.

................... Ken


-- Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO: - North America: Feb 3 - Feb 7,2003

G. Ken Holman               mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.        http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                     Definitive XSLT and XPath
ISBN 0-13-140374-5                             Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1             Practical Formatting Using XSL-FO
Next public training:          2002-12-08,2003-02-03,06,03-03,06


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread