xsl-list
[Top] [All Lists]

Re: Xalan giving TransformerException for a defined variable

2004-10-04 12:39:16
Anton, David and Marty,
 Thanks for you suggestions.  i rewrote the XSL per Anton below,
still got the Exception.  There must be something about the Xalan release
that is unhappy about a param/variable in an xsl:sort select expression.
per Marty's suggestion, i'm going to drop the variable entirely, can get
away with it in this template and hopefully in others similarly written.

Thanks again,
...bjc

Anton Triest wrote:

David Carlisle wrote:

The variable use looks correct although if you always call it with
<xsl:with-param name="shippedOrder" select="."/>
in your actual code then you could drop th eparam as the current node
is still the current node in the called template, you don;t need to pass
it directly.

and even if you want to call it with some other node in the select, you could drop the param
by using apply-templates with a mode instead of call-template:

<xsl:template match="ORDER">
   <xsl:element name="Shipment">
       <xsl:apply-templates select="." mode="generate-containers"/>
   </xsl:element>
</xsl:template>

<xsl:template match="*" mode="generate-containers">
   <xsl:variable name="shippedOrder" select="."/>
   <xsl:variable name="listoftrackingnumbers">
<xsl:for-each select=".//PACKAGE[generate-id(.) = generate-id(key('container-group', TRACKING_NUMBER)[1])]"> <xsl:sort select="count($shippedOrder/ORDER_DETAIL[.//PACKAGE/TRACKING_NUMBER = current()/TRACKING_NUMBER])"
               order="ascending" data-type="number"/>
           <xsl:value-of select="concat(TRACKING_NUMBER, '~')"/>
       </xsl:for-each>
   </xsl:variable>
</xsl:template>

Anton

--+------------------------------------------------------------------
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>
--+--


--
Brian J. Coan
Software Developer
BabyCenter, Inc.
(415) 344-7606 direct
(415) 537-0909 fax
brianc(_at_)babycenter(_dot_)com




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