Marius, See a previous answer on this topic: http://www.mail-archive.com/user@xmlbeans.apache.org/msg00836.html
We're still committed to have XMLBeans working with a 1.4 JDK, so we cannot apply your patch right now. But starting with v3 we'll most probably drop this requirement and your patch will come handy. Cezar > -----Original Message----- > From: Marius Gleeson [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 28, 2005 9:03 PM > To: dev@xmlbeans.apache.org; user@xmlbeans.apache.org > Subject: Saxon 8.1.1 dependency & saxon namespaces > > I am using a later version of saxon by making a simple change to the > following classes and rebuilding the xbean_xpath.jar > > File:org.apache.xmlbeans.impl.xpath.saxon.XBeansXPath.java > Change > import net.sf.saxon.xpath.XPathException > to > import net.sf.saxon.trans.XPathException > > File:org.apache.xmlbeans.impl.xpath.saxon.XBeansXQuery.java > Change > import net.sf.saxon.xpath.XPathException > import net.sf.saxon.xpath.StaticError > to > import net.sf.saxon.trans.XPathException > import net.sf.saxon.trans.StaticError > > This will allow you to use the new versions of Saxon as the only problem > is a package name change. > It would be good to maybe replace the explicit catching of these > exceptions with more generic ones so that any version of Saxon can be > used without the need to have a different xbean_xpath.jar. > > While on the topic, I have needed to pass namespaces to the Saxon engine > for xpath processing. > However this is not possible through the xmlbeans interfaces because it > creates a new (empty) Map and hands this to saxon as its namespace list. > I have however made a simple change to > org.apache.xmlbeans.impl.store.Path to allow it to use the namespace map > in the XmlOptions instance that is passed on the call to selectPath. > The following snipit from my org.apache.xmlbeans.impl.store.Path.java > shows the changes, > > From Line 78 > public static Path getCompiledPath(String pathExpr, XmlOptions options) > { > options = XmlOptions.maskNull(options); > > int force = > options.hasOption(_useXqrlForXpath) > ? USE_XQRL > : options.hasOption(_useXbeanForXpath) > ? USE_XBEAN > : USE_XBEAN|USE_XQRL|USE_SAXON; //set all bits > //******* passing options parameter > return getCompiledPath(pathExpr, force, > getCurrentNodeVar(options),options); > } > > //******* added options parameter to this method > static synchronized Path getCompiledPath(String pathExpr, int force, > String currentVar,XmlOptions options) > { > Path path = null; > Map namespaces = null; > //******* If there are suggested namespaces then use them instead of > just creating an empty map. > if ((options != null) && > (options.hasOption(XmlOptions.SAVE_SUGGESTED_PREFIXES)) ) { > namespaces = (Map) > options.get(XmlOptions.SAVE_SUGGESTED_PREFIXES); > } > else { > namespaces = (force & USE_SAXON) != 0 ? new HashMap() : > null; > } > . > . > . > > It would be really great to have this functionality back in the main > branch. > > Thanks, > Marius. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]