Hi Derek,

 This looks like a bug to me. Could please file a bug against XSLTC? [1]

 Thanks.

-- Santiago

[1] http://nagoya.apache.org/

On Thu, 2004-02-05 at 00:46, Derek Lewis wrote:
> It this more appropriate for the dev list?
> 
> -----Original Message-----
> From: Derek Lewis
> Sent: Wed 2/4/2004 3:41 PM
> To:   [EMAIL PROTECTED]
> Cc:   
> Subject:      XSLTC extension function returning NodeList?
> I understand from the documentation that org.w3c.dom.NodeList is a valid return-type 
> for an extension function, that should be converted approptiately.
> I'm having problems, however, whenever I try to output the NodeList using 
> xsl:copy-of.  I can call count($list) or count($list/*), or I can even do a 
> xsl:value-of on $list or $list/*, and they all behave as I would expect.
> However, when I try to do xsl:copy-of on $list or $list/*, I get an 
> ArrayIndexOutOfBoundsException.
> The NodeList I return has one element (in this case), and that element has around 70 
> child elements, and a few attributes.
> 
> The exception I see when I do <xsl:copy-of select="$list/*" /> is:
> org.apache.xalan.xsltc.TransletException: java.lang.ArrayIndexOutOfBoundsException: 
> -7 < 0
>         at org.apache.xalan.xsltc.dom.SAXImpl.copy(SAXImpl.java:1392)
>         at org.apache.xalan.xsltc.dom.DOMAdapter.copy(DOMAdapter.java:309)
>         at org.apache.xalan.xsltc.dom.MultiDOM.copy(MultiDOM.java:540)
>         at components1.template$dot$4()
>         at components1.applyTemplates2()
>         at components1.template$dot$1()
>         at components1.applyTemplates2()
>         at components1.applyTemplates()
>         at components1.transform()
> 
> (components1 is the name of my xslt file)
> 
> I added a e.printStackTrace to the dom.SAXImpl class so I could see what the real 
> exception is and got a few extra lines:
> java.lang.ArrayIndexOutOfBoundsException: -7 < 0
>         at java.util.Vector.elementAt(Vector.java:427)
>         at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.copyAttribute(SAX2DTM2.java:3347)
>         at org.apache.xalan.xsltc.dom.SAXImpl.copy(SAXImpl.java:1361)
>         at org.apache.xalan.xsltc.dom.DOMAdapter.copy(DOMAdapter.java:309)
>         at org.apache.xalan.xsltc.dom.MultiDOM.copy(MultiDOM.java:540)
> 
> I've tried this with my own implementation of NodeList, and with 
> org.apache.xpath.NodeSet, and I get the exact same stack trace regardless of which I 
> use.
> 
> Any suggestions?
> 
> 
> 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to