Re: [xsl] loop timing and result-document flush

Subject: Re: [xsl] loop timing and result-document flush
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 2 May 2007 15:30:57 +0100
> Assuming my guess is correct, is there a way in XSL to assure that  
> the document is finished writing before continuing to the next  
> iteration in the loop? 

You can't even ensure that they are processed in any particular order,
so there is no "next" the items in a for-each may be processed in any
order (and in particular, in parallel).

Rather than checking the _result_ of a different item has already
occured (using doc-available() which would assume a particular
processing model, you shoudl test the input source for a repeated
instance of whatever it is that triggers the wresult document creation.

perhaps you just need to change

     <xsl:for-each select="ram|//repro|//page|//figure">


to

     <xsl:for-each-group select="ram|//repro|//page|//figure" group-by="@image">


then you will never hit two items with the same @image.

Incidentally 
       <xsl:variable name="zoomhtml">
         <xsl:text>build/zoom/</xsl:text>
         <xsl:value-of select="@image"/>
         <xsl:text>.img.html</xsl:text>
       </xsl:variable>

generates a document node with a child text node, which is quote
expensive better to do

       <xsl:variable name="zoomhtml" as="xs:string">
         <xsl:text>build/zoom/</xsl:text>
         <xsl:value-of select="@image"/>
         <xsl:text>.img.html</xsl:text>
       </xsl:variable>

or more simply

       <xsl:variable name="zoomhtml" select="concat('build/zoom/',@image,'.img.html')"/>


David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread