xsl-list
[Top] [All Lists]

RE: Count problem

2004-09-17 03:32:26

Hi,

As you have not provided the actual XML/XSL I will try to explain it theoritically.

Select all descendents from route for that class.
And check if there is a parent called "subvolume".

I hope that makes sense or you can send me the complete XML/XSL.

Cheers.

Arun


From: "Sebastian Fey" <fey(_at_)parsytec(_dot_)de>
Reply-To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: [xsl] Count problem
Date: Fri, 17 Sep 2004 11:43:41 +0200

Hi there,

I need to count nodes to number a ordered list in fo.
I now got an easy structure where a toc of all linked books is built up
from.
The trick is that there is one structure file for all books i got, but
there result 3 different TOCs from, depending on the product_class
attribute of the single books.

Here is the actual structure:

Structure.xml
----------------
(...)
<volume>
<title>title of the volume</title>
<book fileref="book 1 (of class A)" />
<book fileref="book 2 (of class B)" />
<book fileref="book 3 (of class C)" />
<book fileref="book 4 (of class A)" />
</volume>

Linking to books like this:

Book1.xml
----------
<book product_class="A">
(...)

Book2.xml
----------
<book product_class="B">
(...)

The xslt:
----------

The script is runned three times, one run for each product class.
What it does is counting all books in a volume that have the actual
product_class.

<xsl:number count="book[document(@fileref)/book/@product_class =
$product_class]" />

The output looks like (eg for class A):
----------------------
Volume 1 title of the volume

1. title of book 1
2. title of book 4


This works so far, but now i have to change the structure to something
like this

NEWStructure.xml
----------------
(...)
<volume>
<title>title of the volume</title>
<book fileref="book 1 (of class A)" />
<book fileref="book 2 (of class C)" />
<book fileref="book 3 (of class B)" />
<subvolume>
        <title>title of the subvolume</title>
        <book fileref="book 4 (of class A)" />
        <book fileref="book 5 (of class B)" />
</subvolume>
<book fileref="book 6 (of class C)" />
<book fileref="book 7 (of class A)" />
<book fileref="book 8 (of class B)" />
</volume>


The new output should look like (for Class A):
----------------------
Volume 1 title of the volume

1. title of book 1
2. title of the subvolume
   title of book 4
4. title of book 7

(for Class C):
----------------------
Volume 1 title of the volume

1. title of book 2
2. title of book 6

(notice that the subvolume doesnt appear here cause it does not contain
any book of class C)


...nice. I really got no idea how to manage this.


Thx a lot in advance,
sebastian




--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


_________________________________________________________________
Win a trip to Singapore! Experience the magic! http://eu.xmts.net/80450 Click here for details!



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