Well, what I can say is that the fact that you have XMLBeans gen'd for
some elements and not for others doesn't make a difference. I am not
familiar with the path engine that you are using (is it Xalan?).
XmlBeans uses Saxon by default (if you have it on the classpath that is,
see http://xmlbeans.apache.org for information on how to set up the
classpath) so you may want to give that a try and see if you can switch
to that. Alternatively, if you think that there is a problem in the DOM
converter code (it is not clear from your post but I am assuming that
you use DOM to hook up XMLBeans to Xalan) you can maybe dig a little
deeper to find out some details and then we can look at it. I know from
other people that they were able to use Xalan with XMLBeans, if that's
of any encouragement!

Radu

-----Original Message-----
From: Rhys Parry [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 26, 2006 11:40 AM
To: [email protected]
Subject: Problem with recursive xpath



> 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.convert
ers.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.convert
ers.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, XPathConstants.STRING);
>                       
> 
> 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(DTMManager
Default.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.Lo
okupConverter.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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to