xsl-list
[Top] [All Lists]

RE: numbering and document()

2003-08-22 10:54:58
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(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Felix Breuer
Sent: 22 August 2003 17:20
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
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



<Prev in Thread] Current Thread [Next in Thread>