xmlbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rhys Parry" <rpa...@Infoterra.com>
Subject Problem with recursive xpath
Date Tue, 26 Sep 2006 18:40:10 GMT

> All,
**Update:  I sent this to the wrong list earlier.  I currently have a work around, however,
not as elegant as I would like. The problem persists.

> I am getting the error: java.lang.RuntimeException: Could not resolve the node to a handle
> The error is very odd as it runs the first node successfully but throws an exception
on the second node, regardless of which node is executed ( I moved the xml nodes around in
the XML file).  
> Basically the program is parsing 2 files.  I file is the xml client data (No problems
even though I traverse the tree up and down) and the other is an xml config file with xpath
expressions in it.  An example of the xml I am trying to run is (this is the xml config file):
> <!-- Runs fine -->
> <FieldMapping identifier="1.SubmissionType" xpath="SubmissionTypeCode/text()" converter="com.infoterra.grantium.service.integration.datamapper.converters.impl.LookupConverter">
> 	<ConverterAdditionalMapping>
> 		<LookUpInfo constant="SF424_SUBMISSION_TYPE/>
> 	</ConverterAdditionalMapping>
> </FieldMapping>
> <!-- exception is thrown -->		
> <FieldMapping identifier="2.ApplicationType" xpath="ApplicationTypeCode/text()" converter="com.infoterra.grantium.service.integration.datamapper.converters.impl.LookupConverter">
> 	<ConverterAdditionalMapping>
> 		<LookUpInfo constant="SF424_APPLICANT_TYPE"/>
> 	</ConverterAdditionalMapping>
> </FieldMapping>
> The java code that is calling the xpath is:
> //Note that this is recreated for every node.  Is this part of the problem?????
> XPathFactory xpathfactory= XPathFactory.newInstance();
> XPath xpath  = xpathfactory.newXPath();
> //converterAdditionalMappingNode is the <ConverterAdditionalMapping> node
> String lookupConstant = (String)xpath.evaluate("LookUpInfo/@constant", converterAdditionalMappingNode,
> Note that I have XMLBean'ed the config file so that I can traverse it with objects, however
the <ConverterAdditionalMapping> node is supposed to be client specific and therefore
cannot be XMLBean'ed.
> Why is there a problem with this?
> The stack trace is:
> Caused by: java.lang.RuntimeException: Could not resolve the node to a handle
> 	at org.apache.xml.dtm.ref.DTMManagerDefault.getDTMHandleFromNode(DTMManagerDefault.java:625)
> 	at org.apache.xpath.XPathContext.getDTMHandleFromNode(XPathContext.java:220)
> 	at org.apache.xpath.XPath.execute(XPath.java:274)
> 	at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:210)
> 	at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:275)
> 	at com.infoterra.grantium.service.integration.datamapper.converters.impl.LookupConverter.convertSimpleData(LookupConverter.java:48)
> 	... 27 more
> I am trying to create a work around for now, but this will become a much larger issue
once the client configs become increasingly complicated.
> Thanks in advance for any and all advice,
> Rhys Parry
> Product Development
> Infoterra Inc. - Leadership in Enterprise Grants Management (EGM) Solutions
> Phone #: 613-230-7890 Ext: 239
> Fax #: 613-230-5243 

To unsubscribe, e-mail: user-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: user-help@xmlbeans.apache.org

View raw message