Your for-each loops all start with //, which mean that descendants are searched for through the entire document for each iteration in each loop. This is not only slow, but most likely explains your duplicates.

Make the expressions relative by removing the // and adding some sub-path if necessary, or by adding a period in front of the //, e.g. './/etc'.

Cheers

Christian Barth wrote:

Ok, thanks. I got a step further. I mean, I get a result and no error.

-----Ursprüngliche Nachricht-----
Von: Geert Josten [mailto:[EMAIL PROTECTED] Gesendet: Dienstag, 10. Januar 2006 16:02
An: users@cocoon.apache.org
Betreff: Re: AW: Why doesn't this XSL work??

>    <xsl:variable name="wand_ID" select="Wand_id_Liste/wand_id"/>

Are you sure this expression results only one wand_id?


This one returns several wand_ids, but I only want to test one of these.
Isn't this correct this way?


                <xsl:if test="generate-id(.) = generate-id($wand_ID)">

You could use: string(.) = string($wand_ID) to be clearer. This also takes the first wand_id element from the $want_ID variable..

>                    <xsl:sort select="." order="ascending"
> data-type="text"/>

Put the sort just below the xsl:for-each open tag. I think this error is masking other ones.


                        <xsl:for-each
select="//[EMAIL PROTECTED]/Wand/Oeffnungs_Liste/Oeffnung">

Variable names are case sensitive: use $wand_ID instead of $wand_id.


Ok, I didn't see this one.

Cheers,
Geert



The problem now is, that I see the resulting "Trennwand" three times instead
of one time. Mysterious! Maybe a problem with the DB. Or can you find
another mistake?


Barthi

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]