Upgrade from 8.1 & 8.2 breaks Saxon for debugging?
Having trouble installing Oxygen? Got a bug to report? Post it all here.
-
- Posts: 8
- Joined: Mon Jul 17, 2006 2:50 am
Upgrade from 8.1 & 8.2 breaks Saxon for debugging?
I have a stylesheet that worked fine in the debugger with my earlier 8.x version, but as soon as I installed the 8.2 update, it started failing. I have also ran it without problems on 7.2 since I encountered the error. I'm using Saxon 8B. The error in 8.2 says:
Description: net.sf.saxon.type.ExternalObjectType cannot be cast to net.sf.saxon.type.BuiltInAtomicType
Description: net.sf.saxon.type.ExternalObjectType cannot be cast to net.sf.saxon.type.BuiltInAtomicType
-
- Posts: 4141
- Joined: Fri Mar 28, 2003 2:12 pm
-
- Posts: 8
- Joined: Mon Jul 17, 2006 2:50 am
sample files attached
Sorry, I should have attached examples first, but I was exasperated and couldn't find where the potential problem might be. Part of the difficulty is that the error report does not point to a line number, so I had to find the problem in a large script. The problem is obviously in the interface to the external java.util.Hashtable class, but it worked properly with 7.2 and 8.1.
The stylesheet is below; the input document can be any valid XML.
Stylesheet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dict="http://www.jclark.com/xt/java/java.util.Hashtable"
exclude-result-prefixes="dict">
<xsl:variable name="dictionary" select="dict:new()"/>
<xsl:template match="/">
<xsl:if test="dict:put($dictionary,'aValue',0)"/>
<!-- Below is the offending line. If the equality test is removed, it compiles, but gives the wrong answer -->
<xsl:if test="dict:get($dictionary,'aValue')=0">
some text
</xsl:if>
other text
</xsl:template>
</xsl:stylesheet>
[/list]
The stylesheet is below; the input document can be any valid XML.
Stylesheet:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dict="http://www.jclark.com/xt/java/java.util.Hashtable"
exclude-result-prefixes="dict">
<xsl:variable name="dictionary" select="dict:new()"/>
<xsl:template match="/">
<xsl:if test="dict:put($dictionary,'aValue',0)"/>
<!-- Below is the offending line. If the equality test is removed, it compiles, but gives the wrong answer -->
<xsl:if test="dict:get($dictionary,'aValue')=0">
some text
</xsl:if>
other text
</xsl:template>
</xsl:stylesheet>
[/list]
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Hi,
Thanks for the example. The problem is in the latest version of Saxon 8.9.0.3 that oXygen 8.2 includes. I can reproduce that from command line:
We will notify Michael Kay about this and hopefully we will have soon a Saxon patch for this.
Thanks again for the sample code,
George
Thanks for the example. The problem is in the latest version of Saxon 8.9.0.3 that oXygen 8.2 includes. I can reproduce that from command line:
Code: Select all
C:\Program Files\Oxygen XML Editor 8.2\lib>java -jar saxon8.jar test.xsl test.xsl
java.lang.ClassCastException: net.sf.saxon.type.ExternalObjectType
at net.sf.saxon.expr.GeneralComparison.typeCheck(GeneralComparison.java:136)
at net.sf.saxon.style.StyleElement.typeCheck(StyleElement.java:987)
at net.sf.saxon.style.XSLIf.validate(XSLIf.java:77)
at net.sf.saxon.style.StyleElement.validateSubtree(StyleElement.java:1208)
at net.sf.saxon.style.StyleElement.validateChildren(StyleElement.java:1237)
at net.sf.saxon.style.StyleElement.validateSubtree(StyleElement.java:1212)
at net.sf.saxon.style.XSLStylesheet.preprocess(XSLStylesheet.java:678)
at net.sf.saxon.PreparedStylesheet.setStylesheetDocument(PreparedStylesheet.java:313)
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:140)
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:137)
at net.sf.saxon.Transform.doTransform(Transform.java:489)
at net.sf.saxon.Transform.main(Transform.java:60)
Fatal error during transformation: java.lang.ClassCastException: net.sf.saxon.type.ExternalObjectType
Thanks again for the sample code,
George
George Cristian Bina
-
- Site Admin
- Posts: 2095
- Joined: Thu Jan 09, 2003 2:58 pm
Hi,
Got feedback from Michael Kay. The issue is a known problem fixed in the Saxon development stream, see
http://sourceforge.net/tracker/index.ph ... tid=397617
I prepared a patch for you. Please download the following file:
http://www.oxygenxml.com/update/patchSaxon8.9.0.3.zip
Then create in [oXygen]/lib folder a directory called endorsed and place the above file in that directory.
There is however a problem with your stylesheet as the (citing Michael Kay) 'general operators like "=" are not defined on external objects.' so with the above patch you will get a nice error telling you that, see:
Description: Cannot perform comparisons involving external objects
URL: http://www.w3.org/TR/xpath20/#ERRXPTY0004
Best Regards,
George
Got feedback from Michael Kay. The issue is a known problem fixed in the Saxon development stream, see
http://sourceforge.net/tracker/index.ph ... tid=397617
I prepared a patch for you. Please download the following file:
http://www.oxygenxml.com/update/patchSaxon8.9.0.3.zip
Then create in [oXygen]/lib folder a directory called endorsed and place the above file in that directory.
There is however a problem with your stylesheet as the (citing Michael Kay) 'general operators like "=" are not defined on external objects.' so with the above patch you will get a nice error telling you that, see:
Description: Cannot perform comparisons involving external objects
URL: http://www.w3.org/TR/xpath20/#ERRXPTY0004
Best Regards,
George
George Cristian Bina
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service