[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] numbering and document()


Subject: RE: [xsl] numbering and document()
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Fri, 22 Aug 2003 18:54:58 +0100

I think this needs a two-pass solution. Assemble the combined document
first, then number the nodes.

You can do a two-pass transformation either using two separate
stylesheets, or with a single stylesheet that writes the result of the
first pass to a result-tree-fragment and then uses xx:node-set() to open
it as a new source document.

Michael Kay

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Felix Breuer
> Sent: 22 August 2003 17:20
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] numbering and document()
> 
> 
> Hello!
> 
> The XML DT I am creating a stylesheet for has an
> 
> <include file="sub.xml"/>
> 
> element, which can be used to include sub.xml seamlessly in 
> the main document. Now, suppose the documents look like this
> 
> main.xml:
> -----------------------------
> <doc>
>     <section/>
>     <section/>
>     <include file="sub.xml"/>
>     <section/>
> </doc>
> -----------------------------
> 
> sub.xml:
> -----------------------------
> <doc>
>     <section/>
>     <section/>
> </doc>
> -----------------------------
> 
> and my stylesheet is supposed to number the sections in these 
> documents in the following way:
> 
> 1 Section
> 2 Section
> 3 Section     <--- from sub.xml
> 4 Section     <--- from sub.xml
> 5 Section
> 
> whereas 4 and 5 are from sub.xml. I tried to achieve this 
> using the following templates:
> 
> <xsl:template match="section>
>     <xsl:number/> Section
> </xsl:template>
> 
> <xsl:template match="include">
>     <xsl:for-each select="document(@file)/doc/*">
>         <xsl:apply-templates select="self::section"/>
>     </xsl:for-each>
> </xsl:template>
> 
> but the numbering I get, is
> 
> 1 Section
> 2 Section
> 1 Section     <--- from sub.xml
> 2 Section     <--- from sub.xml
> 3 Section
> 
> I am at a loss as to how to solve this problem. If anybody 
> has an idea, please tell me.
> 
> Thanks in advance,
> Felix Breuer
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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



Current Thread
Keywords
xml