XQuery-Java-Binding: Nullpointer "nsMap" is null (on returning a w3c.dom.Node)

Monday, 28 August 2023 · 5 messages
AN
Andreas Hengsbach | nexoma28 Aug 2023 12:27 #
Hi all, in a Java module I create a "org.w3c.dom.Node" (with java.xml.parsers.DocumentBuilder) and return it to XQuery/BaseX. Since 10.7 I get this exception: # schnipp Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.basex.util.hash.TokenMap.put(byte[], byte[])" because "nsMap" is null at org.basex.query.value.node.FElem.build(FElem.java:99) at org.basex.query.value.type.NodeType$3.cast(NodeType.java:60) at org.basex.query.value.type.NodeType$3.cast(NodeType.java:55) at org.basex.query.func.java.JavaCall.toValue(JavaCall.java:262) at org.basex.query.func.java.DynJavaFunc.eval(DynJavaFunc.java:90) at org.basex.query.func.java.JavaCall.value(JavaCall.java:81) at org.basex.query.expr.List.value(List.java:230) at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:92) at org.basex.query.expr.gflwor.Let$LetEval.next(Let.java:146) at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:92) at org.basex.query.expr.Try.value(Try.java:93) at org.basex.query.expr.List.value(List.java:226) at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:92) at org.basex.query.expr.List.value(List.java:230) at org.basex.query.expr.If.value(If.java:158) at org.basex.query.expr.List.value(List.java:230) at org.basex.query.expr.Try.value(Try.java:93) at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:92) at org.basex.query.expr.If.value(If.java:158) at org.basex.query.expr.List.value(List.java:226) at org.basex.query.expr.Try.value(Try.java:93) at org.basex.query.expr.ParseExpr.iter(ParseExpr.java:46) at org.basex.query.scope.MainModule.iter(MainModule.java:48) at org.basex.query.QueryContext.lambda$iter$4(QueryContext.java:357) at org.basex.query.QueryContext.run(QueryContext.java:766) at org.basex.query.QueryContext.iter(QueryContext.java:357) at org.basex.query.QueryProcessor.iter(QueryProcessor.java:95) # schnapp Do I have to create the Node differently now, or is this a bug? nsMap. a map of namespace I guess. In my case the w3c.dom.Node has no namespace. Thanks a lot Andreas
CG
Christian Grün28 Aug 2023 12:30 #
Hi Andreas,
Quoted text · Andreas Hengsbach | nexoma · 3 lines
in a Java module I create a "org.w3c.dom.Node" (with > java.xml.parsers.DocumentBuilder) and return it to XQuery/BaseX. >
Could you please provide us with a minimized Java example class that allows us to reproduce the problem? Thanks in advance, Christian
AN
Andreas Hengsbach | nexoma28 Aug 2023 13:12 #
Hi Christian, this one already leads into the error. # schnipp
public class DomNodeBaseXTest {

                public DomNodeBaseXTest() {}

                public Node myTestCase() throws ParserConfigurationException {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("root"); Element subElement = doc.createElement("leaf"); subElement.setTextContent("myText"); rootElement.appendChild(subElement); return rootElement; } } # schnapp Thanks a lot Andreas
CG
Christian Grün28 Aug 2023 13:30 #
Quoted text · Andreas Hengsbach | nexoma · 69 lines
On Mon, Aug 28, 2023 at 1:12 PM Andreas Hengsbach | nexoma < andreas.hengsbach at nexoma.de> wrote: > Hi Christian, > > > > this one already leads into the error. > > > > # schnipp > > public class DomNodeBaseXTest { > > > > public DomNodeBaseXTest() {} > > > > public Node myTestCase() throws > ParserConfigurationException { > > DocumentBuilderFactory docFactory = > DocumentBuilderFactory.newInstance(); > > > > DocumentBuilder docBuilder = > docFactory.newDocumentBuilder(); > > Document doc = docBuilder.newDocument(); > > > > Element rootElement = > doc.createElement("root"); > > > > Element subElement = > doc.createElement("leaf"); > > subElement.setTextContent("myText"); > > > > rootElement.appendChild(subElement); > > > > return rootElement; > > } > > > > } > > # schnapp > > > > Thanks a lot > > Andreas > > >
AN
Andreas Hengsbach | nexoma28 Aug 2023 14:03 #
Hi Christian, wow, that was lightning fast. 😊 It works like clockwork. Thanks Andreas

⚡Generated with XQuery