It sounds like the DOM implementation that you're using (probably stree)
just does not support the getAttributeNode(..) call.  The stree DOM
implementation was designed to support XSLT and was not intended as a
full DOM implementation so it does not support all of the DOM calls.

It does support getAttribute(...) which might get you what you need.

Have a look at the class of nList.item(0) to see what DOM implementation
you're using.

HTH,
Gary

Jason Harrop wrote:
> 
> Hi
> 
> I'm passing a NodeList to an extension like this:
> 
>         <xsl:variable name="notesNode" select="Notes"/>
>         <xsl:value-of select="java:X_RenderNotesInBrowser.get($notesNode)"/>
> 
> The signature of the method in my extension is this:
> 
>         public static String get( NodeList nList )
> 
> And I know it is receiving the nodelist, because i can do
> nList.item(0).getNodeName()
> 
> However, there seems to be something wrong with the nodes I'm getting
> because an error is thrown from
> org.apache.xml.utils.UnImplNode.getAttributeNode when i cast them to
> Element and try getAttributeNode().  PLs see stacktrace below.
> 
> Any ideas what might be wrong? I get the same behaviour in Xalan 2.1 and
> earlier 2.x.
> 
> thanks
> 
> Jason
> 
> ----------------
> 
> java.lang.RuntimeException: Function not supported!
>         at org.apache.xml.utils.UnImplNode.error(UnImplNode.java:87)
>         at org.apache.xml.utils.UnImplNode.getAttributeNode(UnImplNode.java:378)
>         at com.us.NoteImpl.<init>(NoteImpl.java:57)
>         at com.us.Notes.<init>(Notes.java:44)
>         at X_RenderNotesInBrowser.get(X_RenderNotesInBrowser.java:23)
>         at java.lang.reflect.Method.invoke(Native Method)
>         at
> 
>org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:334)
>         at
> org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:253)
>         at
> org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:141)
>         at org.apache.xpath.XPath.execute(XPath.java:260)
>         at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:251)
>         at
> 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2251)
>         at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:166)
>         at
> 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2251)
>         at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:637)
>         at
> 
>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2251)
>         at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:637)

Reply via email to