Hi all, I’m trying to use a Schema in XSLT. I have
managed to get Saxon 8 SA working within OPS and can run any normal XSLT, but
when I run one with a schema using ‘instance of’ ‘castable to’
‘cast as’ or ‘treat as’ is gives the following error XPath syntax exception (XPath syntax error at char 16 on line 0 in
{...stance of x:numericColumnLa...}: Unknown atomic type x:numericColumnLabel)
for expression: $nu instance of x:numericColumnLabel I can’t see why, if I take the same XSLT, the same two XML inputs
and the schema and run it all on the command line, it does it no problems (that’s
even using the same JARs that are in the OPS lib directory) Any ideas why this might be? Its definitely using the SA version as I
changed the processor to a normal XSLT one and got an error related to it! Thanks Ryan Puddephatt Software Engineer TFX Group - IT UK Scotand EH54 7DP (
01506 407 110 7 01506 407 108 -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Hi all, I
noticed you have now upgraded to Saxon 8.7 now, so I got the last unstable
build, but it still doesn’t work. I’ve tried everything, but no joy I have a very basic schema and XSLT like
so: <xsl:stylesheet
version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x="http://www.teleflex.com/ns/xlex-description"> <xsl:import-schema
namespace="http://www.teleflex.com/ns/xlex-description">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace=”http://www.teleflex.com/ns/xlex-description”
xmlns:x="http://www.teleflex.com/ns/xlex-description">
<xs:simpleType name="numericColumnLabel">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="256"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
</xsl:import-schema>
<xsl:template match="/">
<doc>
<xsl:variable name="n" select="260" as="xs:integer"/>
<xsl:choose>
<xsl:when test="$n
instance of x:numericColumnLabel">
<xsl:text>TRUE</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>FALSE</xsl:text>
</xsl:otherwise>
</xsl:choose>
</doc> </xsl:template> </xsl:stylesheet> This is run through a custom processor
called oxf:saxon8sa, which I set up in the custom-processor.xml like so <processor
name="oxf:saxon8sa"> <instantiation name="oxf:generic-xslt-2.0"> <input name="transformer"> <config> <class>com.saxonica.SchemaAwareTransformerFactory</class> </config> </input> </instantiation> </processor> I’ve made sure it is running the Schema
Aware by changing the processor to oxf:xslt-2.0 which tells me a I need to use
schema aware saxon. I have the license file in place, and can see the error
when I remove it. This still gives me the error I listed in my previous email
and I’ve copied the full stack trace below incase that helps. I have also
tested casting the variable $n to x:numberColumnLabel and this surprisingly works.
Also as I said before I have used the same Saxon JARs at the command prompt and
it works without a problem. I don’t know why this doesn’t work, but
it appears to be OPS specific, any ideas? org.orbeon.saxon.trans.StaticError:
XPath syntax error at char 28 on line 0 in {...stance of x:numericColumnLa...}:
Unknown atomic type x:numericColumnLabel at
org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) at
org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) at
org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java:726) at
org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:838) at
org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(ExpressionParser.java:570) at
org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(ExpressionParser.java:999) at
org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionParser.java:981) at
org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(ExpressionParser.java:918) at
org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionParser.java:898) at
org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionParser.java:814) at
org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(ExpressionParser.java:764) at
org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser.java:380) at
org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser.java:362) at
org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.java:316) at
org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.java:280) at
org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) at
org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) at
org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForwardingContentHandler.startElement(XSLTTransformer.java:579) at
org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:80) at
org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentHandler.java:87) at
org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) at
org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentHandler.java:87) at
orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:485) at
orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:320) at
orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) at
orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:338) at
orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:828) at
orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:758) at
orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) at
orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1178) at
org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) at
org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) at
org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManagerBase.java:134) at
org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResourceManagerImpl.java:106) at
org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityResourceManagerImpl.java:252) at
org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(PriorityResourceManagerImpl.java:104) at
org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML(URLGenerator.java:636) at
org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:404) at
org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) at
org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader.java:40) at
net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) at
net.sf.saxon.event.Sender.send(Sender.java:106) at
net.sf.saxon.event.Sender.send(Sender.java:45) at net.sf.saxon.PreparedStylesheet.loa |
Administrator
|
Ryan,
The Saxon upgrade should not affect this, since the Saxon used in OPS is under the org.orbeon.saxon package. This means you should be able to use your own SA version of Saxon without problems. But apparently, that's not the case ;-) What I see in the stacktrace is that no com.saxonica class is present, but org.orbeon.saxon classes are used. This would appear to tell us that the SA version in fact is *not* used. What if you call your stylesheet directly from XPL by using oxf:saxon8sa ? -Erik Ryan Puddephatt wrote: > Hi all, > > I noticed you have now upgraded to Saxon 8.7 now, so I got > the last unstable build, but it still doesn’t work. I’ve tried > everything, but no joy > > > > I have a very basic schema and XSLT like so: > > > > <xsl:stylesheet version="2.0" > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > xmlns:x="http://www.teleflex.com/ns/xlex-description"> > > <xsl:import-schema > namespace="http://www.teleflex.com/ns/xlex-description"> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > > elementFormDefault="qualified" > > targetNamespace=”http://www.teleflex.com/ns/xlex-description” > > xmlns:x="http://www.teleflex.com/ns/xlex-description"> > > <xs:simpleType name="numericColumnLabel"> > > <xs:restriction base="xs:integer"> > > <xs:minInclusive value="0"/> > > <xs:maxInclusive value="256"/> > > </xs:restriction> > > </xs:simpleType> > > </xs:schema> > > </xsl:import-schema> > > > > <xsl:template match="/"> > > <doc> > > <xsl:variable name="n" select="260" as="xs:integer"/> > > <xsl:choose> > > <xsl:when test="$n instance of x:numericColumnLabel"> > > <xsl:text>TRUE</xsl:text> > > </xsl:when> > > <xsl:otherwise> > > <xsl:text>FALSE</xsl:text> > > </xsl:otherwise> > > </xsl:choose> > > </doc> > > </xsl:template> > > </xsl:stylesheet> > > > > This is run through a custom processor called oxf:saxon8sa, which I set > up in the custom-processor.xml like so > > > > <processor name="oxf:saxon8sa"> > > <instantiation name="oxf:generic-xslt-2.0"> > > <input name="transformer"> > > <config> > > <class>com.saxonica.SchemaAwareTransformerFactory</class> > > </config> > > </input> > > </instantiation> > > </processor> > > > > I’ve made sure it is running the Schema Aware by changing the processor > to oxf:xslt-2.0 which tells me a I need to use schema aware saxon. I > have the license file in place, and can see the error when I remove it. > This still gives me the error I listed in my previous email and I’ve > copied the full stack trace below incase that helps. I have also tested > casting the variable $n to x:numberColumnLabel and this surprisingly > works. Also as I said before I have used the same Saxon JARs at the > command prompt and it works without a problem. I don’t know why this > doesn’t work, but it appears to be OPS specific, any ideas? > > > > org.orbeon.saxon.trans.StaticError: XPath syntax error at char 28 on > line 0 in {...stance of x:numericColumnLa...}: > > Unknown atomic type x:numericColumnLabel > > at > org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) > > at > org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) > > at > org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java:726) > > at > org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:838) > > at > org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(ExpressionParser.java:570) > > at > org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(ExpressionParser.java:999) > > at > org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionParser.java:981) > > at > org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(ExpressionParser.java:918) > > at > org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionParser.java:898) > > at > org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionParser.java:814) > > at > org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(ExpressionParser.java:764) > > at > org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser.java:380) > > at > org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser.java:362) > > at > org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.java:316) > > at > org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.java:280) > > at > org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) > > at org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) > > at > org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForwardingContentHandler.startElement(XSLTTransformer.java:579) > > at > org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:80) > > at > org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentHandler.java:87) > > at org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) > > at > org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentHandler.java:87) > > at > orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:485) > > at > orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:320) > > at > orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) > > at > orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:338) > > at > orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:828) > > at > orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:758) > > at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) > > at > orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1178) > > at org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) > > at org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) > > at > org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManagerBase.java:134) > > at > org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResourceManagerImpl.java:106) > > at > org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityResourceManagerImpl.java:252) > > at > org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(PriorityResourceManagerImpl.java:104) > > at > org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML(URLGenerator.java:636) > > at > org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java:404) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader.java:40) > > at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) > > at net.sf.saxon.event.Sender.send(Sender.java:106) > > at net.sf.saxon.event.Sender.send(Sender.java:45) > > at > net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.java:177) > > at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:114) > > at > net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:124) > > at > org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256) > > at > org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransformer(XSLTTransformer.java:354) > > at > org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTTransformer.java:124) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:941) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) > > at > org.orbeon.oxf.processor.DebugProcessor$1.readImpl(DebugProcessor.java:62) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcessorFilter.read(ProcessorImpl.java:965) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:96) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:94) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) > > at > org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:96) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:94) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:123) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) > > at > org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:96) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:94) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) > > at > org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:96) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:94) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:123) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354) > > at > org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:33) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:96) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:66) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:94) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:123) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java:36) > > at > org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:57) > > at > org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) > > at > org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1170) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349) > > at > org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:404) > > at > org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) > > at > org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:470) > > at > org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:426) > > at > org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:186) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:652) > > at > org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:515) > > at > org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:649) > > at > org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:416) > > at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) > > at > org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) > > at > org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:144) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) > > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) > > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) > > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) > > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > > at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) > > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) > > at java.lang.Thread.run(Thread.java:595) > > > > Thanks > > > > *Ryan Puddephatt* > > Software Engineer > > TFX Group - IT UK > > 1 Michaelson Square > > Livingston > > West Lothian > > Scotand > > EH54 7DP > > > > * [hidden email] > > ( 01506 407 110 > > 7 01506 407 108 > > > > ------------------------------------------------------------------------ > > *From:* Ryan Puddephatt [mailto:[hidden email]] > *Sent:* 13 April 2006 09:53 > *To:* [hidden email] > *Subject:* [ops-users] Schema Aware XSLT problems > > > > Hi all, > > I’m trying to use a Schema in XSLT. I have managed to get > Saxon 8 SA working within OPS and can run any normal XSLT, but when I > run one with a schema using ‘instance of’ ‘castable to’ ‘cast as’ or > ‘treat as’ is gives the following error > > > > XPath syntax exception (XPath syntax error at char 16 on line 0 in > {...stance of x:numericColumnLa...}: Unknown atomic type > x:numericColumnLabel) for expression: $nu instance of x:numericColumnLabel > > > > I can’t see why, if I take the same XSLT, the same two XML inputs and > the schema and run it all on the command line, it does it no problems > (that’s even using the same JARs that are in the OPS lib directory) > > > > Any ideas why this might be? Its definitely using the SA version as I > changed the processor to a normal XSLT one and got an error related to it! > > > > Thanks > > > > *Ryan Puddephatt* > > Software Engineer > > TFX Group - IT UK > > 1 Michaelson Square > > Livingston > > West Lothian > > Scotand > > EH54 7DP > > > > * [hidden email] > > ( 01506 407 110 > > 7 01506 407 108 > > > > > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
I tested the processor by casting to a type from the schema x:numberColumnLabel($n) and it does it fine, but running through a non SA processor like oxf:xslt I get an error when using xsl:import-schema because I need a schema aware processor. So this says to me its working, but I agree you can't see it in the stack trace. Any ideas? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 13 April 2006 20:01 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >Ryan, > >The Saxon upgrade should not affect this, since the Saxon used in OPS is > under the org.orbeon.saxon package. This means you should be able to >use your own SA version of Saxon without problems. But apparently, >that's not the case ;-) > >What I see in the stacktrace is that no com.saxonica class is present, >but org.orbeon.saxon classes are used. This would appear to tell us that >the SA version in fact is *not* used. What if you call your stylesheet >directly from XPL by using oxf:saxon8sa ? > >-Erik > >Ryan Puddephatt wrote: >> Hi all, >> >> I noticed you have now upgraded to Saxon 8.7 now, so I got >> the last unstable build, but it still doesn't work. I've tried >> everything, but no joy >> >> >> >> I have a very basic schema and XSLT like so: >> >> >> >> <xsl:stylesheet version="2.0" >> >> xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >> >> <xsl:import-schema >> namespace="http://www.teleflex.com/ns/xlex-description"> >> >> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >> >> elementFormDefault="qualified" >> >> targetNamespace="http://www.teleflex.com/ns/xlex-description" >> >> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >> >> <xs:simpleType name="numericColumnLabel"> >> >> <xs:restriction base="xs:integer"> >> >> <xs:minInclusive value="0"/> >> >> <xs:maxInclusive value="256"/> >> >> </xs:restriction> >> >> </xs:simpleType> >> >> </xs:schema> >> >> </xsl:import-schema> >> >> >> >> <xsl:template match="/"> >> >> <doc> >> >> <xsl:variable name="n" select="260" as="xs:integer"/> >> >> <xsl:choose> >> >> <xsl:when test="$n instance of x:numericColumnLabel"> >> >> <xsl:text>TRUE</xsl:text> >> >> </xsl:when> >> >> <xsl:otherwise> >> >> <xsl:text>FALSE</xsl:text> >> >> </xsl:otherwise> >> >> </xsl:choose> >> >> </doc> >> >> </xsl:template> >> >> </xsl:stylesheet> >> >> >> >> This is run through a custom processor called oxf:saxon8sa, which I set >> up in the custom-processor.xml like so >> >> >> >> <processor name="oxf:saxon8sa"> >> >> <instantiation name="oxf:generic-xslt-2.0"> >> >> <input name="transformer"> >> >> <config> >> >> <class>com.saxonica.SchemaAwareTransformerFactory</class> >> >> </config> >> >> </input> >> >> </instantiation> >> >> </processor> >> >> >> >> I've made sure it is running the Schema Aware by changing the processor >> to oxf:xslt-2.0 which tells me a I need to use schema aware saxon. I >> have the license file in place, and can see the error when I remove it. >> This still gives me the error I listed in my previous email and I've >> copied the full stack trace below incase that helps. I have also tested >> casting the variable $n to x:numberColumnLabel and this surprisingly >> works. Also as I said before I have used the same Saxon JARs at the >> command prompt and it works without a problem. I don't know why this >> doesn't work, but it appears to be OPS specific, any ideas? >> >> >> >> org.orbeon.saxon.trans.StaticError: XPath syntax error at char 28 on >> line 0 in {...stance of x:numericColumnLa...}: >> >> Unknown atomic type x:numericColumnLabel >> >> at >> org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) >> >> at >> org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java: >726) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.j >ava:838) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(Expression >Parser.java:570) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(ExpressionP >arser.java:999) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionParse >r.java:981) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(Expres >sionParser.java:918) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionPa >rser.java:898) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionParse >r.java:814) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(Expression >Parser.java:764) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser. >java:380) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser.j >ava:362) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.jav >a:316) >> >> at >> >org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.jav >a:280) >> >> at >> org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) >> >> at org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) >> >> at >> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForward >ingContentHandler.startElement(XSLTTransformer.java:579) >> >> at >> >org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:80 >) >> >> at >> >org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentH >andler.java:87) >> >> at org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) >> >> at >> >org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContentH >andler.java:87) >> >> at >> >orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXPars >er.java:485) >> >> at >> >orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDo >cumentScannerImpl.java:320) >> >> at >> >orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis >patcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) >> >> at >> >orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDo >cumentFragmentScannerImpl.java:338) >> >> at >> >orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.ja >va:828) >> >> at >> >orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.ja >va:758) >> >> at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) >> >> at >> >orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java >:1178) >> >> at org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) >> >> at org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) >> >> at >> >org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManage >rBase.java:134) >> >> at >> >org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResource >ManagerImpl.java:106) >> >> at >> >org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityResou >rceManagerImpl.java:252) >> >> at >> >org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(Priori >tyResourceManagerImpl.java:104) >> >> at >> >org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML( >URLGenerator.java:636) >> >> at >> >org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.jav >a:404) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader. >java:40) >> >> at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) >> >> at net.sf.saxon.event.Sender.send(Sender.java:106) >> >> at net.sf.saxon.event.Sender.send(Sender.java:45) >> >> at >> >net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.jav >a:177) >> >> at >net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:114) >> >> at >> >net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.jav >a:124) >> >> at >> >org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256) >> >> at >> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransform >er(XSLTTransformer.java:354) >> >> at >> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTTr >ansformer.java:124) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcesso >rFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:941) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:35 >4) >> >> at >> >org.orbeon.oxf.processor.DebugProcessor$1.readImpl(DebugProcessor.java:62) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcesso >rFilter.read(ProcessorImpl.java:965) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor >.java:96) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProc >essor.java:94) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:35 >4) >> >> at >> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.jav >a:33) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor >.java:96) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProc >essor.java:94) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl >(ConcreteChooseProcessor.java:123) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:35 >4) >> >> at >> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.jav >a:33) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor >.java:96) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProc >essor.java:94) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:35 >4) >> >> at >> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.jav >a:33) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor >.java:96) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProc >essor.java:94) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl >(ConcreteChooseProcessor.java:123) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:35 >4) >> >> at >> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.jav >a:33) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor >.java:96) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProc >essor.java:66) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProc >essor.java:94) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl >(ConcreteChooseProcessor.java:123) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java >:36) >> >> at >> >org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java >:57) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorIm >pl.java:1170) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:34 >9) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java: >404) >> >> at >> org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl >.java:470) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl. >java:426) >> >> at >> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(Conc >reteChooseProcessor.java:186) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcesso >r.java:652) >> >> at >> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:5 >15) >> >> at >> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor >.java:649) >> >> at >> >org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControll >erProcessor.java:416) >> >> at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) >> >> at >> org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) >> >> at >> >org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:1 >44) >> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >> >> at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) >> >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >> >> at >> >org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio >nFilterChain.java:247) >> >> at >> >org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC >hain.java:193) >> >> at >> >org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j >ava:256) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:643) >> >> at >> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> >> at >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> >> at >> >org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j >ava:191) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:643) >> >> at >> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> >> at >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> >> at >> >org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) >> >> at >> >org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:18 >0) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:643) >> >> at >> >org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve >.java:171) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:641) >> >> at >> >org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:16 >3) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:641) >> >> at >> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> >> at >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> >> at >> >org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav >a:174) >> >> at >> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invo >keNext(StandardPipeline.java:643) >> >> at >> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) >> >> at >> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >> >> at >> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) >> >> at >> >org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) >> >> at >> >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConn >ection(Http11Protocol.java:700) >> >> at >> >org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) >> >> at >> >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja >va:683) >> >> at java.lang.Thread.run(Thread.java:595) >> >> >> >> Thanks >> >> >> >> *Ryan Puddephatt* >> >> Software Engineer >> >> TFX Group - IT UK >> >> 1 Michaelson Square >> >> Livingston >> >> West Lothian >> >> Scotand >> >> EH54 7DP >> >> >> >> * [hidden email] >> >> ( 01506 407 110 >> >> 7 01506 407 108 >> >> >> >> ------------------------------------------------------------------------ >> >> *From:* Ryan Puddephatt [mailto:[hidden email]] >> *Sent:* 13 April 2006 09:53 >> *To:* [hidden email] >> *Subject:* [ops-users] Schema Aware XSLT problems >> >> >> >> Hi all, >> >> I'm trying to use a Schema in XSLT. I have managed to get >> Saxon 8 SA working within OPS and can run any normal XSLT, but when I >> run one with a schema using 'instance of' 'castable to' 'cast as' or >> 'treat as' is gives the following error >> >> >> >> XPath syntax exception (XPath syntax error at char 16 on line 0 in >> {...stance of x:numericColumnLa...}: Unknown atomic type >> x:numericColumnLabel) for expression: $nu instance of >x:numericColumnLabel >> >> >> >> I can't see why, if I take the same XSLT, the same two XML inputs and >> the schema and run it all on the command line, it does it no problems >> (that's even using the same JARs that are in the OPS lib directory) >> >> >> >> Any ideas why this might be? Its definitely using the SA version as I >> changed the processor to a normal XSLT one and got an error related to >it! >> >> >> >> Thanks >> >> >> >> *Ryan Puddephatt* >> >> Software Engineer >> >> TFX Group - IT UK >> >> 1 Michaelson Square >> >> Livingston >> >> West Lothian >> >> Scotand >> >> EH54 7DP >> >> >> >> * [hidden email] >> >> ( 01506 407 110 >> >> 7 01506 407 108 >> >> >> >> >> >> >> ------------------------------------------------------------------------ >> >> >> -- >> You receive this message as a subscriber of the [hidden email] >mailing list. >> To unsubscribe: mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Hi,
I had a more detailed look at this and downloaded the XSLTTranformer.java file. I put some loggers in there and the class I provide starts off as Com.saxonica.SchemaAwareTransformFactory Then changes to org.orbeon.saxon.TransformerFactoryImpl and finally ends up as org.orbeon.saxon.Controller Is this a change I should encounter? Or is it abnormal? I know Dave has used Schema Aware Saxon before, and I tried this in that version, which also causes a problem. It appears it may have been around for a while! Any ideas on where to start? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Ryan Puddephatt [mailto:[hidden email]] >Sent: 14 April 2006 10:27 >To: [hidden email] >Subject: RE: [ops-users] Schema Aware XSLT problems > >Erik, > I tested the processor by casting to a type from the schema >x:numberColumnLabel($n) and it does it fine, but running through a non SA >processor like oxf:xslt I get an error when using xsl:import-schema because >I need a schema aware processor. So this says to me its working, but I >agree >you can't see it in the stack trace. Any ideas? > >Ryan Puddephatt >Software Engineer >TFX Group - IT UK >1 Michaelson Square >Livingston >West Lothian >Scotand >EH54 7DP > >* [hidden email] >( 01506 407 110 >7 01506 407 108 > >>-----Original Message----- >>From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>Sent: 13 April 2006 20:01 >>To: [hidden email] >>Subject: Re: [ops-users] Schema Aware XSLT problems >> >>Ryan, >> >>The Saxon upgrade should not affect this, since the Saxon used in OPS is >> under the org.orbeon.saxon package. This means you should be able to >>use your own SA version of Saxon without problems. But apparently, >>that's not the case ;-) >> >>What I see in the stacktrace is that no com.saxonica class is present, >>but org.orbeon.saxon classes are used. This would appear to tell us that >>the SA version in fact is *not* used. What if you call your stylesheet >>directly from XPL by using oxf:saxon8sa ? >> >>-Erik >> >>Ryan Puddephatt wrote: >>> Hi all, >>> >>> I noticed you have now upgraded to Saxon 8.7 now, so I got >>> the last unstable build, but it still doesn't work. I've tried >>> everything, but no joy >>> >>> >>> >>> I have a very basic schema and XSLT like so: >>> >>> >>> >>> <xsl:stylesheet version="2.0" >>> >>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> >>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>> >>> <xsl:import-schema >>> namespace="http://www.teleflex.com/ns/xlex-description"> >>> >>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>> >>> elementFormDefault="qualified" >>> >>> targetNamespace="http://www.teleflex.com/ns/xlex-description" >>> >>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>> >>> <xs:simpleType name="numericColumnLabel"> >>> >>> <xs:restriction base="xs:integer"> >>> >>> <xs:minInclusive value="0"/> >>> >>> <xs:maxInclusive value="256"/> >>> >>> </xs:restriction> >>> >>> </xs:simpleType> >>> >>> </xs:schema> >>> >>> </xsl:import-schema> >>> >>> >>> >>> <xsl:template match="/"> >>> >>> <doc> >>> >>> <xsl:variable name="n" select="260" as="xs:integer"/> >>> >>> <xsl:choose> >>> >>> <xsl:when test="$n instance of x:numericColumnLabel"> >>> >>> <xsl:text>TRUE</xsl:text> >>> >>> </xsl:when> >>> >>> <xsl:otherwise> >>> >>> <xsl:text>FALSE</xsl:text> >>> >>> </xsl:otherwise> >>> >>> </xsl:choose> >>> >>> </doc> >>> >>> </xsl:template> >>> >>> </xsl:stylesheet> >>> >>> >>> >>> This is run through a custom processor called oxf:saxon8sa, which I set >>> up in the custom-processor.xml like so >>> >>> >>> >>> <processor name="oxf:saxon8sa"> >>> >>> <instantiation name="oxf:generic-xslt-2.0"> >>> >>> <input name="transformer"> >>> >>> <config> >>> >>> <class>com.saxonica.SchemaAwareTransformerFactory</class> >>> >>> </config> >>> >>> </input> >>> >>> </instantiation> >>> >>> </processor> >>> >>> >>> >>> I've made sure it is running the Schema Aware by changing the processor >>> to oxf:xslt-2.0 which tells me a I need to use schema aware saxon. I >>> have the license file in place, and can see the error when I remove it. >>> This still gives me the error I listed in my previous email and I've >>> copied the full stack trace below incase that helps. I have also tested >>> casting the variable $n to x:numberColumnLabel and this surprisingly >>> works. Also as I said before I have used the same Saxon JARs at the >>> command prompt and it works without a problem. I don't know why this >>> doesn't work, but it appears to be OPS specific, any ideas? >>> >>> >>> >>> org.orbeon.saxon.trans.StaticError: XPath syntax error at char 28 on >>> line 0 in {...stance of x:numericColumnLa...}: >>> >>> Unknown atomic type x:numericColumnLabel >>> >>> at >>> >org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) >>> >>> at >>> >org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java >: >>726) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser. >j >>ava:838) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(Expressio >n >>Parser.java:570) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(Expression >P >>arser.java:999) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionPars >e >>r.java:981) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(Expre >s >>sionParser.java:918) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionP >a >>rser.java:898) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionPars >e >>r.java:814) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(Expressio >n >>Parser.java:764) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser >. >>java:380) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser. >j >>ava:362) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.ja >v >>a:316) >>> >>> at >>> >>org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.ja >v >>a:280) >>> >>> at >>> org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) >>> >>> at >org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) >>> >>> at >>> >>org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForwar >d >>ingContentHandler.startElement(XSLTTransformer.java:579) >>> >>> at >>> >>org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:8 >0 >>) >>> >>> at >>> >>org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >H >>andler.java:87) >>> >>> at org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) >>> >>> at >>> >>org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >H >>andler.java:87) >>> >>> at >>> >>orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXPar >s >>er.java:485) >>> >>> at >>> >>orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSD >o >>cumentScannerImpl.java:320) >>> >>> at >>> >>orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDi >s >>patcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) >>> >>> at >>> >>orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLD >o >>cumentFragmentScannerImpl.java:338) >>> >>> at >>> >>orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >a >>va:828) >>> >>> at >>> >>orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >a >>va:758) >>> >>> at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) >>> >>> at >>> >>orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.jav >a >>:1178) >>> >>> at org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) >>> >>> at org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) >>> >>> at >>> >>org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManag >e >>rBase.java:134) >>> >>> at >>> >>org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResourc >e >>ManagerImpl.java:106) >>> >>> at >>> >>org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityReso >u >>rceManagerImpl.java:252) >>> >>> at >>> >>org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(Prior >i >>tyResourceManagerImpl.java:104) >>> >>> at >>> >>org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML >( >>URLGenerator.java:636) >>> >>> at >>> >>org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.ja >v >>a:404) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader >. >>java:40) >>> >>> at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) >>> >>> at net.sf.saxon.event.Sender.send(Sender.java:106) >>> >>> at net.sf.saxon.event.Sender.send(Sender.java:45) >>> >>> at >>> >>net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.ja >v >>a:177) >>> >>> at >>net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:114) >>> >>> at >>> >>net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.ja >v >>a:124) >>> >>> at >>> >>org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256 >) >>> >>> at >>> >>org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransfor >m >>er(XSLTTransformer.java:354) >>> >>> at >>> >>org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTT >r >>ansformer.java:124) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >o >>rFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:941) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >5 >>4) >>> >>> at >>> >>org.orbeon.oxf.processor.DebugProcessor$1.readImpl(DebugProcessor.java:62) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >o >>rFilter.read(ProcessorImpl.java:965) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >r >>.java:96) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >c >>essor.java:94) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >5 >>4) >>> >>> at >>> >>org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >v >>a:33) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >r >>.java:96) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >c >>essor.java:94) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >l >>(ConcreteChooseProcessor.java:123) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >5 >>4) >>> >>> at >>> >>org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >v >>a:33) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >r >>.java:96) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >c >>essor.java:94) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >5 >>4) >>> >>> at >>> >>org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >v >>a:33) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >r >>.java:96) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >c >>essor.java:94) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >l >>(ConcreteChooseProcessor.java:123) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >5 >>4) >>> >>> at >>> >>org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >v >>a:33) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >r >>.java:96) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >c >>essor.java:66) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >c >>essor.java:94) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >l >>(ConcreteChooseProcessor.java:123) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.jav >a >>:36) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.jav >a >>:57) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >m >>pl.java:1170) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >4 >>9) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java >: >>404) >>> >>> at >>> org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImp >l >>.java:470) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl >. >>java:426) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(Con >c >>reteChooseProcessor.java:186) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcess >o >>r.java:652) >>> >>> at >>> >>org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >5 >>15) >>> >>> at >>> >>org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcesso >r >>.java:649) >>> >>> at >>> >>org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControl >l >>erProcessor.java:416) >>> >>> at >org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) >>> >>> at >>> org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) >>> >>> at >>> >>org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java: >1 >>44) >>> >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>> >>> at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) >>> >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>> >>> at >>> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati >o >>nFilterChain.java:247) >>> >>> at >>> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter >C >>hain.java:193) >>> >>> at >>> >>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. >j >>ava:256) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:643) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >) >>> >>> at >>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>> >>> at >>> >>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. >j >>ava:191) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:643) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >) >>> >>> at >>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>> >>> at >>> >>org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) >>> >>> at >>> >>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 >8 >>0) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:643) >>> >>> at >>> >>org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValv >e >>.java:171) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:641) >>> >>> at >>> >>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 >6 >>3) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:641) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >) >>> >>> at >>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>> >>> at >>> >>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja >v >>a:174) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >o >>keNext(StandardPipeline.java:643) >>> >>> at >>> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >) >>> >>> at >>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>> >>> at >>> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) >>> >>> at >>> >>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) >>> >>> at >>> >>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCon >n >>ection(Http11Protocol.java:700) >>> >>> at >>> >>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) >>> >>> at >>> >>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j >a >>va:683) >>> >>> at java.lang.Thread.run(Thread.java:595) >>> >>> >>> >>> Thanks >>> >>> >>> >>> *Ryan Puddephatt* >>> >>> Software Engineer >>> >>> TFX Group - IT UK >>> >>> 1 Michaelson Square >>> >>> Livingston >>> >>> West Lothian >>> >>> Scotand >>> >>> EH54 7DP >>> >>> >>> >>> * [hidden email] >>> >>> ( 01506 407 110 >>> >>> 7 01506 407 108 >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> *From:* Ryan Puddephatt [mailto:[hidden email]] >>> *Sent:* 13 April 2006 09:53 >>> *To:* [hidden email] >>> *Subject:* [ops-users] Schema Aware XSLT problems >>> >>> >>> >>> Hi all, >>> >>> I'm trying to use a Schema in XSLT. I have managed to get >>> Saxon 8 SA working within OPS and can run any normal XSLT, but when I >>> run one with a schema using 'instance of' 'castable to' 'cast as' or >>> 'treat as' is gives the following error >>> >>> >>> >>> XPath syntax exception (XPath syntax error at char 16 on line 0 in >>> {...stance of x:numericColumnLa...}: Unknown atomic type >>> x:numericColumnLabel) for expression: $nu instance of >>x:numericColumnLabel >>> >>> >>> >>> I can't see why, if I take the same XSLT, the same two XML inputs and >>> the schema and run it all on the command line, it does it no problems >>> (that's even using the same JARs that are in the OPS lib directory) >>> >>> >>> >>> Any ideas why this might be? Its definitely using the SA version as I >>> changed the processor to a normal XSLT one and got an error related to >>it! >>> >>> >>> >>> Thanks >>> >>> >>> >>> *Ryan Puddephatt* >>> >>> Software Engineer >>> >>> TFX Group - IT UK >>> >>> 1 Michaelson Square >>> >>> Livingston >>> >>> West Lothian >>> >>> Scotand >>> >>> EH54 7DP >>> >>> >>> >>> * [hidden email] >>> >>> ( 01506 407 110 >>> >>> 7 01506 407 108 >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> -- >>> You receive this message as a subscriber of the [hidden email] >>mailing list. >>> To unsubscribe: mailto:[hidden email] >>> For general help: mailto:[hidden email]?subject=help >>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws >> > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Ryan,
Can you try removing from saxon-8_7_orbeon.jar everything under META-INF/services? -Erik Ryan Puddephatt wrote: > Hi, > I had a more detailed look at this and downloaded the > XSLTTranformer.java file. I put some loggers in there and the class I > provide starts off as > > Com.saxonica.SchemaAwareTransformFactory > > Then changes to > > org.orbeon.saxon.TransformerFactoryImpl > > and finally ends up as > > org.orbeon.saxon.Controller > > Is this a change I should encounter? Or is it abnormal? > I know Dave has used Schema Aware Saxon before, and I tried this in that > version, which also causes a problem. It appears it may have been around for > a while! > > Any ideas on where to start? > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > > >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: 14 April 2006 10:27 >> To: [hidden email] >> Subject: RE: [ops-users] Schema Aware XSLT problems >> >> Erik, >> I tested the processor by casting to a type from the schema >> x:numberColumnLabel($n) and it does it fine, but running through a non SA >> processor like oxf:xslt I get an error when using xsl:import-schema because >> I need a schema aware processor. So this says to me its working, but I >> agree >> you can't see it in the stack trace. Any ideas? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >>> -----Original Message----- >>> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>> Sent: 13 April 2006 20:01 >>> To: [hidden email] >>> Subject: Re: [ops-users] Schema Aware XSLT problems >>> >>> Ryan, >>> >>> The Saxon upgrade should not affect this, since the Saxon used in OPS is >>> under the org.orbeon.saxon package. This means you should be able to >>> use your own SA version of Saxon without problems. But apparently, >>> that's not the case ;-) >>> >>> What I see in the stacktrace is that no com.saxonica class is present, >>> but org.orbeon.saxon classes are used. This would appear to tell us that >>> the SA version in fact is *not* used. What if you call your stylesheet >>> directly from XPL by using oxf:saxon8sa ? >>> >>> -Erik >>> >>> Ryan Puddephatt wrote: >>>> Hi all, >>>> >>>> I noticed you have now upgraded to Saxon 8.7 now, so I got >>>> the last unstable build, but it still doesn't work. I've tried >>>> everything, but no joy >>>> >>>> >>>> >>>> I have a very basic schema and XSLT like so: >>>> >>>> >>>> >>>> <xsl:stylesheet version="2.0" >>>> >>>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>> >>>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>>> >>>> <xsl:import-schema >>>> namespace="http://www.teleflex.com/ns/xlex-description"> >>>> >>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>> >>>> elementFormDefault="qualified" >>>> >>>> targetNamespace="http://www.teleflex.com/ns/xlex-description" >>>> >>>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>>> >>>> <xs:simpleType name="numericColumnLabel"> >>>> >>>> <xs:restriction base="xs:integer"> >>>> >>>> <xs:minInclusive value="0"/> >>>> >>>> <xs:maxInclusive value="256"/> >>>> >>>> </xs:restriction> >>>> >>>> </xs:simpleType> >>>> >>>> </xs:schema> >>>> >>>> </xsl:import-schema> >>>> >>>> >>>> >>>> <xsl:template match="/"> >>>> >>>> <doc> >>>> >>>> <xsl:variable name="n" select="260" as="xs:integer"/> >>>> >>>> <xsl:choose> >>>> >>>> <xsl:when test="$n instance of x:numericColumnLabel"> >>>> >>>> <xsl:text>TRUE</xsl:text> >>>> >>>> </xsl:when> >>>> >>>> <xsl:otherwise> >>>> >>>> <xsl:text>FALSE</xsl:text> >>>> >>>> </xsl:otherwise> >>>> >>>> </xsl:choose> >>>> >>>> </doc> >>>> >>>> </xsl:template> >>>> >>>> </xsl:stylesheet> >>>> >>>> >>>> >>>> This is run through a custom processor called oxf:saxon8sa, which I set >>>> up in the custom-processor.xml like so >>>> >>>> >>>> >>>> <processor name="oxf:saxon8sa"> >>>> >>>> <instantiation name="oxf:generic-xslt-2.0"> >>>> >>>> <input name="transformer"> >>>> >>>> <config> >>>> >>>> <class>com.saxonica.SchemaAwareTransformerFactory</class> >>>> >>>> </config> >>>> >>>> </input> >>>> >>>> </instantiation> >>>> >>>> </processor> >>>> >>>> >>>> >>>> I've made sure it is running the Schema Aware by changing the processor >>>> to oxf:xslt-2.0 which tells me a I need to use schema aware saxon. I >>>> have the license file in place, and can see the error when I remove it. >>>> This still gives me the error I listed in my previous email and I've >>>> copied the full stack trace below incase that helps. I have also tested >>>> casting the variable $n to x:numberColumnLabel and this surprisingly >>>> works. Also as I said before I have used the same Saxon JARs at the >>>> command prompt and it works without a problem. I don't know why this >>>> doesn't work, but it appears to be OPS specific, any ideas? >>>> >>>> >>>> >>>> org.orbeon.saxon.trans.StaticError: XPath syntax error at char 28 on >>>> line 0 in {...stance of x:numericColumnLa...}: >>>> >>>> Unknown atomic type x:numericColumnLabel >>>> >>>> at >>>> >> org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) >>>> at >>>> >> org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java >> : >>> 726) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser. >> j >>> ava:838) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(Expressio >> n >>> Parser.java:570) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(Expression >> P >>> arser.java:999) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionPars >> e >>> r.java:981) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(Expre >> s >>> sionParser.java:918) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionP >> a >>> rser.java:898) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionPars >> e >>> r.java:814) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(Expressio >> n >>> Parser.java:764) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser >> . >>> java:380) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser. >> j >>> ava:362) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.ja >> v >>> a:316) >>>> at >>>> >>> org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.ja >> v >>> a:280) >>>> at >>>> org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) >>>> >>>> at >> org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) >>>> at >>>> >>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForwar >> d >>> ingContentHandler.startElement(XSLTTransformer.java:579) >>>> at >>>> >>> org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:8 >> 0 >>> ) >>>> at >>>> >>> org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >> H >>> andler.java:87) >>>> at org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) >>>> >>>> at >>>> >>> org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >> H >>> andler.java:87) >>>> at >>>> >>> orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXPar >> s >>> er.java:485) >>>> at >>>> >>> orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSD >> o >>> cumentScannerImpl.java:320) >>>> at >>>> >>> orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDi >> s >>> patcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) >>>> at >>>> >>> orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLD >> o >>> cumentFragmentScannerImpl.java:338) >>>> at >>>> >>> orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >> a >>> va:828) >>>> at >>>> >>> orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >> a >>> va:758) >>>> at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) >>>> >>>> at >>>> >>> orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.jav >> a >>> :1178) >>>> at org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) >>>> >>>> at org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) >>>> >>>> at >>>> >>> org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManag >> e >>> rBase.java:134) >>>> at >>>> >>> org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResourc >> e >>> ManagerImpl.java:106) >>>> at >>>> >>> org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityReso >> u >>> rceManagerImpl.java:252) >>>> at >>>> >>> org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(Prior >> i >>> tyResourceManagerImpl.java:104) >>>> at >>>> >>> org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML >> ( >>> URLGenerator.java:636) >>>> at >>>> >>> org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.ja >> v >>> a:404) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader >> . >>> java:40) >>>> at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) >>>> >>>> at net.sf.saxon.event.Sender.send(Sender.java:106) >>>> >>>> at net.sf.saxon.event.Sender.send(Sender.java:45) >>>> >>>> at >>>> >>> net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.ja >> v >>> a:177) >>>> at >>> net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:114) >>>> at >>>> >>> net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.ja >> v >>> a:124) >>>> at >>>> >>> org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256 >> ) >>>> at >>>> >>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransfor >> m >>> er(XSLTTransformer.java:354) >>>> at >>>> >>> org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTT >> r >>> ansformer.java:124) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >> o >>> rFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:941) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 5 >>> 4) >>>> at >>>> >>> org.orbeon.oxf.processor.DebugProcessor$1.readImpl(DebugProcessor.java:62) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >> o >>> rFilter.read(ProcessorImpl.java:965) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >> r >>> .java:96) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >> c >>> essor.java:94) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> > >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 5 >>> 4) >>>> at >>>> >>> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >> v >>> a:33) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >> r >>> .java:96) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >> c >>> essor.java:94) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >> l >>> (ConcreteChooseProcessor.java:123) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 5 >>> 4) >>>> at >>>> >>> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >> v >>> a:33) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >> r >>> .java:96) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >> c >>> essor.java:94) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 5 >>> 4) >>>> at >>>> >>> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >> v >>> a:33) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >> r >>> .java:96) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >> c >>> essor.java:94) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >> l >>> (ConcreteChooseProcessor.java:123) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 5 >>> 4) >>>> at >>>> >>> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >> v >>> a:33) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >> r >>> .java:96) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >> c >>> essor.java:66) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >> c >>> essor.java:94) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >> l >>> (ConcreteChooseProcessor.java:123) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.jav >> a >>> :36) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.jav >> a >>> :57) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >> m >>> pl.java:1170) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >> 4 >>> 9) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java >> : >>> 404) >>>> at >>>> org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) >>>> >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImp >> l >>> .java:470) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl >> . >>> java:426) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(Con >> c >>> reteChooseProcessor.java:186) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcess >> o >>> r.java:652) >>>> at >>>> >>> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >> 5 >>> 15) >>>> at >>>> >>> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcesso >> r >>> .java:649) >>>> at >>>> >>> org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControl >> l >>> erProcessor.java:416) >>>> at >> org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) >>>> at >>>> org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) >>>> >>>> at >>>> >>> org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java: >> 1 >>> 44) >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>>> >>>> at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) >>>> >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>>> >>>> at >>>> >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati >> o >>> nFilterChain.java:247) >>>> at >>>> >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter >> C >>> hain.java:193) >>>> at >>>> >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. >> j >>> ava:256) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:643) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >> ) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>> >>>> at >>>> >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. >> j >>> ava:191) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:643) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >> ) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>> >>>> at >>>> >>> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) >>>> at >>>> >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 >> 8 >>> 0) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:643) >>>> at >>>> >>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValv >> e >>> .java:171) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:641) >>>> at >>>> >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 >> 6 >>> 3) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:641) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >> ) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>> >>>> at >>>> >>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja >> v >>> a:174) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >> o >>> keNext(StandardPipeline.java:643) >>>> at >>>> >>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >> ) >>>> at >>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>> >>>> at >>>> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) >>>> >>>> at >>>> >>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) >>>> at >>>> >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCon >> n >>> ection(Http11Protocol.java:700) >>>> at >>>> >>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) >>>> at >>>> >>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j >> a >>> va:683) >>>> at java.lang.Thread.run(Thread.java:595) >>>> >>>> >>>> >>>> Thanks >>>> >>>> >>>> >>>> *Ryan Puddephatt* >>>> >>>> Software Engineer >>>> >>>> TFX Group - IT UK >>>> >>>> 1 Michaelson Square >>>> >>>> Livingston >>>> >>>> West Lothian >>>> >>>> Scotand >>>> >>>> EH54 7DP >>>> >>>> >>>> >>>> * [hidden email] >>>> >>>> ( 01506 407 110 >>>> >>>> 7 01506 407 108 >>>> >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> *From:* Ryan Puddephatt [mailto:[hidden email]] >>>> *Sent:* 13 April 2006 09:53 >>>> *To:* [hidden email] >>>> *Subject:* [ops-users] Schema Aware XSLT problems >>>> >>>> >>>> >>>> Hi all, >>>> >>>> I'm trying to use a Schema in XSLT. I have managed to get >>>> Saxon 8 SA working within OPS and can run any normal XSLT, but when I >>>> run one with a schema using 'instance of' 'castable to' 'cast as' or >>>> 'treat as' is gives the following error >>>> >>>> >>>> >>>> XPath syntax exception (XPath syntax error at char 16 on line 0 in >>>> {...stance of x:numericColumnLa...}: Unknown atomic type >>>> x:numericColumnLabel) for expression: $nu instance of >>> x:numericColumnLabel >>>> >>>> >>>> I can't see why, if I take the same XSLT, the same two XML inputs and >>>> the schema and run it all on the command line, it does it no problems >>>> (that's even using the same JARs that are in the OPS lib directory) >>>> >>>> >>>> >>>> Any ideas why this might be? Its definitely using the SA version as I >>>> changed the processor to a normal XSLT one and got an error related to >>> it! >>>> >>>> >>>> Thanks >>>> >>>> >>>> >>>> *Ryan Puddephatt* >>>> >>>> Software Engineer >>>> >>>> TFX Group - IT UK >>>> >>>> 1 Michaelson Square >>>> >>>> Livingston >>>> >>>> West Lothian >>>> >>>> Scotand >>>> >>>> EH54 7DP >>>> >>>> >>>> >>>> * [hidden email] >>>> >>>> ( 01506 407 110 >>>> >>>> 7 01506 407 108 >>>> >>>> >>>> >>>> >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> >>>> -- >>>> You receive this message as a subscriber of the [hidden email] >>> mailing list. >>>> To unsubscribe: mailto:[hidden email] >>>> For general help: mailto:[hidden email]?subject=help >>>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws >> > > > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
I removed it, from saxon-8_7_orbeon.jar, but it didn't change anything. I also tried it from the saxon 6 jar, again it didn't work. I have attached the original exception and exception entries from the logger, perhaps it will mean more to you Thanks Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 20 April 2006 18:43 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >Ryan, > >Can you try removing from saxon-8_7_orbeon.jar everything under >META-INF/services? > >-Erik > >Ryan Puddephatt wrote: >> Hi, >> I had a more detailed look at this and downloaded the >> XSLTTranformer.java file. I put some loggers in there and the class I >> provide starts off as >> >> Com.saxonica.SchemaAwareTransformFactory >> >> Then changes to >> >> org.orbeon.saxon.TransformerFactoryImpl >> >> and finally ends up as >> >> org.orbeon.saxon.Controller >> >> Is this a change I should encounter? Or is it abnormal? >> I know Dave has used Schema Aware Saxon before, and I tried this in that >> version, which also causes a problem. It appears it may have been around >for >> a while! >> >> Any ideas on where to start? >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >> >>> -----Original Message----- >>> From: Ryan Puddephatt [mailto:[hidden email]] >>> Sent: 14 April 2006 10:27 >>> To: [hidden email] >>> Subject: RE: [ops-users] Schema Aware XSLT problems >>> >>> Erik, >>> I tested the processor by casting to a type from the schema >>> x:numberColumnLabel($n) and it does it fine, but running through a non >SA >>> processor like oxf:xslt I get an error when using xsl:import-schema >because >>> I need a schema aware processor. So this says to me its working, but I >>> agree >>> you can't see it in the stack trace. Any ideas? >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 >>> >>>> -----Original Message----- >>>> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik >Bruchez >>>> Sent: 13 April 2006 20:01 >>>> To: [hidden email] >>>> Subject: Re: [ops-users] Schema Aware XSLT problems >>>> >>>> Ryan, >>>> >>>> The Saxon upgrade should not affect this, since the Saxon used in OPS >is >>>> under the org.orbeon.saxon package. This means you should be able to >>>> use your own SA version of Saxon without problems. But apparently, >>>> that's not the case ;-) >>>> >>>> What I see in the stacktrace is that no com.saxonica class is present, >>>> but org.orbeon.saxon classes are used. This would appear to tell us >that >>>> the SA version in fact is *not* used. What if you call your stylesheet >>>> directly from XPL by using oxf:saxon8sa ? >>>> >>>> -Erik >>>> >>>> Ryan Puddephatt wrote: >>>>> Hi all, >>>>> >>>>> I noticed you have now upgraded to Saxon 8.7 now, so I got >>>>> the last unstable build, but it still doesn't work. I've tried >>>>> everything, but no joy >>>>> >>>>> >>>>> >>>>> I have a very basic schema and XSLT like so: >>>>> >>>>> >>>>> >>>>> <xsl:stylesheet version="2.0" >>>>> >>>>> xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>>> >>>>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>>>> >>>>> <xsl:import-schema >>>>> namespace="http://www.teleflex.com/ns/xlex-description"> >>>>> >>>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" >>>>> >>>>> elementFormDefault="qualified" >>>>> >>>>> targetNamespace="http://www.teleflex.com/ns/xlex-description" >>>>> >>>>> xmlns:x="http://www.teleflex.com/ns/xlex-description"> >>>>> >>>>> <xs:simpleType name="numericColumnLabel"> >>>>> >>>>> <xs:restriction base="xs:integer"> >>>>> >>>>> <xs:minInclusive value="0"/> >>>>> >>>>> <xs:maxInclusive value="256"/> >>>>> >>>>> </xs:restriction> >>>>> >>>>> </xs:simpleType> >>>>> >>>>> </xs:schema> >>>>> >>>>> </xsl:import-schema> >>>>> >>>>> >>>>> >>>>> <xsl:template match="/"> >>>>> >>>>> <doc> >>>>> >>>>> <xsl:variable name="n" select="260" as="xs:integer"/> >>>>> >>>>> <xsl:choose> >>>>> >>>>> <xsl:when test="$n instance of x:numericColumnLabel"> >>>>> >>>>> <xsl:text>TRUE</xsl:text> >>>>> >>>>> </xsl:when> >>>>> >>>>> <xsl:otherwise> >>>>> >>>>> <xsl:text>FALSE</xsl:text> >>>>> >>>>> </xsl:otherwise> >>>>> >>>>> </xsl:choose> >>>>> >>>>> </doc> >>>>> >>>>> </xsl:template> >>>>> >>>>> </xsl:stylesheet> >>>>> >>>>> >>>>> >>>>> This is run through a custom processor called oxf:saxon8sa, which I >set >>>>> up in the custom-processor.xml like so >>>>> >>>>> >>>>> >>>>> <processor name="oxf:saxon8sa"> >>>>> >>>>> <instantiation name="oxf:generic-xslt-2.0"> >>>>> >>>>> <input name="transformer"> >>>>> >>>>> <config> >>>>> >>>>> <class>com.saxonica.SchemaAwareTransformerFactory</class> >>>>> >>>>> </config> >>>>> >>>>> </input> >>>>> >>>>> </instantiation> >>>>> >>>>> </processor> >>>>> >>>>> >>>>> >>>>> I've made sure it is running the Schema Aware by changing the >processor >>>>> to oxf:xslt-2.0 which tells me a I need to use schema aware saxon. I >>>>> have the license file in place, and can see the error when I remove >it. >>>>> This still gives me the error I listed in my previous email and I've >>>>> copied the full stack trace below incase that helps. I have also >tested >>>>> casting the variable $n to x:numberColumnLabel and this surprisingly >>>>> works. Also as I said before I have used the same Saxon JARs at the >>>>> command prompt and it works without a problem. I don't know why this >>>>> doesn't work, but it appears to be OPS specific, any ideas? >>>>> >>>>> >>>>> >>>>> org.orbeon.saxon.trans.StaticError: XPath syntax error at char 28 on >>>>> line 0 in {...stance of x:numericColumnLa...}: >>>>> >>>>> Unknown atomic type x:numericColumnLabel >>>>> >>>>> at >>>>> >>> >org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:125) >>>>> at >>>>> >>> >org.orbeon.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:101) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java >>> : >>>> 726) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser. >>> j >>>> ava:838) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseInstanceOfExpression(Expressio >>> n >>>> Parser.java:570) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseIntersectExpression(Expression >>> P >>>> arser.java:999) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseUnionExpression(ExpressionPars >>> e >>>> r.java:981) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseMultiplicativeExpression(Expre >>> s >>>> sionParser.java:918) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseAdditiveExpression(ExpressionP >>> a >>>> rser.java:898) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseRangeExpression(ExpressionPars >>> e >>>> r.java:814) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseComparisonExpression(Expressio >>> n >>>> Parser.java:764) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseAndExpression(ExpressionParser >>> . >>>> java:380) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseOrExpression(ExpressionParser. >>> j >>>> ava:362) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseExprSingle(ExpressionParser.ja >>> v >>>> a:316) >>>>> at >>>>> >>>> >org.orbeon.saxon.expr.ExpressionParser.parseExpression(ExpressionParser.ja >>> v >>>> a:280) >>>>> at >>>>> >org.orbeon.saxon.expr.ExpressionParser.parse(ExpressionParser.java:200) >>>>> >>>>> at >>> org.orbeon.saxon.expr.ExpressionTool.make(ExpressionTool.java:54) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$StylesheetForwar >>> d >>>> ingContentHandler.startElement(XSLTTransformer.java:579) >>>>> at >>>>> >>>> >org.orbeon.oxf.xml.TeeContentHandler.startElement(TeeContentHandler.java:8 >>> 0 >>>> ) >>>>> at >>>>> >>>> >org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >>> H >>>> andler.java:87) >>>>> at org.orbeon.oxf.xml.SAXStore.startElement(SAXStore.java:353) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.xml.ForwardingContentHandler.startElement(ForwardingContent >>> H >>>> andler.java:87) >>>>> at >>>>> >>>> >orbeon.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXPar >>> s >>>> er.java:485) >>>>> at >>>>> >>>> >orbeon.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSD >>> o >>>> cumentScannerImpl.java:320) >>>>> at >>>>> >>>> >orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDi >>> s >>>> patcher.dispatch(XMLDocumentFragmentScannerImpl.java:1534) >>>>> at >>>>> >>>> >orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLD >>> o >>>> cumentFragmentScannerImpl.java:338) >>>>> at >>>>> >>>> >orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >>> a >>>> va:828) >>>>> at >>>>> >>>> >orbeon.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.j >>> a >>>> va:758) >>>>> at >orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148) >>>>> >>>>> at >>>>> >>>> >orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.jav >>> a >>>> :1178) >>>>> at >org.orbeon.oxf.xml.XMLUtils.inputSourceToSAX(XMLUtils.java:251) >>>>> >>>>> at >org.orbeon.oxf.xml.XMLUtils.inputStreamToSAX(XMLUtils.java:236) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.resources.ResourceManagerBase.getContentAsSAX(ResourceManag >>> e >>>> rBase.java:134) >>>>> at >>>>> >>>> >org.orbeon.oxf.resources.PriorityResourceManagerImpl$4.run(PriorityResourc >>> e >>>> ManagerImpl.java:106) >>>>> at >>>>> >>>> >org.orbeon.oxf.resources.PriorityResourceManagerImpl.delegate(PriorityReso >>> u >>>> rceManagerImpl.java:252) >>>>> at >>>>> >>>> >org.orbeon.oxf.resources.PriorityResourceManagerImpl.getContentAsSAX(Prior >>> i >>>> tyResourceManagerImpl.java:104) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.generator.URLGenerator$OXFResourceHandler.readXML >>> ( >>>> URLGenerator.java:636) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.ja >>> v >>>> a:404) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.xml.ProcessorOutputXMLReader.parse(ProcessorOutputXMLReader >>> . >>>> java:40) >>>>> at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:239) >>>>> >>>>> at net.sf.saxon.event.Sender.send(Sender.java:106) >>>>> >>>>> at net.sf.saxon.event.Sender.send(Sender.java:45) >>>>> >>>>> at >>>>> >>>> >net.sf.saxon.PreparedStylesheet.loadStylesheetModule(PreparedStylesheet.ja >>> v >>>> a:177) >>>>> at >>>> net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:114) >>>>> at >>>>> >>>> >net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.ja >>> v >>>> a:124) >>>>> at >>>>> >>>> >org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256 >>> ) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransfor >>> m >>>> er(XSLTTransformer.java:354) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTT >>> r >>>> ansformer.java:124) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >>> o >>>> rFilter$ForwarderProcessorOutput.read(ProcessorImpl.java:941) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 5 >>>> 4) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.DebugProcessor$1.readImpl(DebugProcessor.java:62) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl$ConcreteProcess >>> o >>>> rFilter.read(ProcessorImpl.java:965) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >>> r >>>> .java:96) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >>> c >>>> essor.java:94) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 5 >>>> 4) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >>> v >>>> a:33) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >>> r >>>> .java:96) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >>> c >>>> essor.java:94) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >>> l >>>> (ConcreteChooseProcessor.java:123) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 5 >>>> 4) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >>> v >>>> a:33) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >>> r >>>> .java:96) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >>> c >>>> essor.java:94) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 5 >>>> 4) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >>> v >>>> a:33) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >>> r >>>> .java:96) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >>> c >>>> essor.java:94) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >>> l >>>> (ConcreteChooseProcessor.java:123) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 5 >>>> 4) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.ja >>> v >>>> a:33) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcesso >>> r >>>> .java:96) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelinePro >>> c >>>> essor.java:66) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelinePro >>> c >>>> essor.java:94) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImp >>> l >>>> (ConcreteChooseProcessor.java:123) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.jav >>> a >>>> :36) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.jav >>> a >>>> :57) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorI >>> m >>>> pl.java:1170) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:3 >>> 4 >>>> 9) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java >>> : >>>> 404) >>>>> at >>>>> org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImp >>> l >>>> .java:470) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl >>> . >>>> java:426) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(Con >>> c >>>> reteChooseProcessor.java:186) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcess >>> o >>>> r.java:652) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java: >>> 5 >>>> 15) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcesso >>> r >>>> .java:649) >>>>> at >>>>> >>>> >org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControl >>> l >>>> erProcessor.java:416) >>>>> at >>> org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) >>>>> at >>>>> >org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) >>>>> >>>>> at >>>>> >>>> >org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java: >>> 1 >>>> 44) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>>>> >>>>> at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) >>>>> >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>>>> >>>>> at >>>>> >>>> >org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati >>> o >>>> nFilterChain.java:247) >>>>> at >>>>> >>>> >org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter >>> C >>>> hain.java:193) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. >>> j >>>> ava:256) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:643) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >>> ) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>>> >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. >>> j >>>> ava:191) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:643) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >>> ) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>>> >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 >>> 8 >>>> 0) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:643) >>>>> at >>>>> >>>> >org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValv >>> e >>>> .java:171) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:641) >>>>> at >>>>> >>>> >org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 >>> 6 >>>> 3) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:641) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >>> ) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>>> >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja >>> v >>>> a:174) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv >>> o >>>> keNext(StandardPipeline.java:643) >>>>> at >>>>> >>>> >org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480 >>> ) >>>>> at >>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) >>>>> >>>>> at >>>>> >org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) >>>>> >>>>> at >>>>> >>>> >org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) >>>>> at >>>>> >>>> >org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processCon >>> n >>>> ection(Http11Protocol.java:700) >>>>> at >>>>> >>>> >org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) >>>>> at >>>>> >>>> >org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.j >>> a >>>> va:683) >>>>> at java.lang.Thread.run(Thread.java:595) >>>>> >>>>> >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>>> *Ryan Puddephatt* >>>>> >>>>> Software Engineer >>>>> >>>>> TFX Group - IT UK >>>>> >>>>> 1 Michaelson Square >>>>> >>>>> Livingston >>>>> >>>>> West Lothian >>>>> >>>>> Scotand >>>>> >>>>> EH54 7DP >>>>> >>>>> >>>>> >>>>> * [hidden email] >>>>> >>>>> ( 01506 407 110 >>>>> >>>>> 7 01506 407 108 >>>>> >>>>> >>>>> >>>>> ---------------------------------------------------------------------- >-- >>>>> >>>>> *From:* Ryan Puddephatt [mailto:[hidden email]] >>>>> *Sent:* 13 April 2006 09:53 >>>>> *To:* [hidden email] >>>>> *Subject:* [ops-users] Schema Aware XSLT problems >>>>> >>>>> >>>>> >>>>> Hi all, >>>>> >>>>> I'm trying to use a Schema in XSLT. I have managed to get >>>>> Saxon 8 SA working within OPS and can run any normal XSLT, but when I >>>>> run one with a schema using 'instance of' 'castable to' 'cast as' or >>>>> 'treat as' is gives the following error >>>>> >>>>> >>>>> >>>>> XPath syntax exception (XPath syntax error at char 16 on line 0 in >>>>> {...stance of x:numericColumnLa...}: Unknown atomic type >>>>> x:numericColumnLabel) for expression: $nu instance of >>>> x:numericColumnLabel >>>>> >>>>> >>>>> I can't see why, if I take the same XSLT, the same two XML inputs and >>>>> the schema and run it all on the command line, it does it no problems >>>>> (that's even using the same JARs that are in the OPS lib directory) >>>>> >>>>> >>>>> >>>>> Any ideas why this might be? Its definitely using the SA version as I >>>>> changed the processor to a normal XSLT one and got an error related to >>>> it! >>>>> >>>>> >>>>> Thanks >>>>> >>>>> >>>>> >>>>> *Ryan Puddephatt* >>>>> >>>>> Software Engineer >>>>> >>>>> TFX Group - IT UK >>>>> >>>>> 1 Michaelson Square >>>>> >>>>> Livingston >>>>> >>>>> West Lothian >>>>> >>>>> Scotand >>>>> >>>>> EH54 7DP >>>>> >>>>> >>>>> >>>>> * [hidden email] >>>>> >>>>> ( 01506 407 110 >>>>> >>>>> 7 01506 407 108 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> ---------------------------------------------------------------------- >-- >>>>> >>>>> >>>>> -- >>>>> You receive this message as a subscriber of the ops- >[hidden email] >>>> mailing list. >>>>> To unsubscribe: mailto:[hidden email] >>>>> For general help: mailto:[hidden email]?subject=help >>>>> ObjectWeb mailing lists service home page: >http://www.objectweb.org/wws >>> >> >> >> >> >> ------------------------------------------------------------------------ >> >> >> -- >> You receive this message as a subscriber of the [hidden email] >mailing list. >> To unsubscribe: mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > >-- >Orbeon - XForms Everywhere: >http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Ryan,
I think I understand now: the exception occurs when our XSLT transformer processor parses XPath expressions to find includes, imports, and uses of the doc() function. We use the Saxon B XPath engine, so it chokes on SA expressions. Now for solutions: 1. We could first test for the presence of "doc(" or "document(" in the string. This does not require us parsing the expression. We will then only choke on SA expressions that contain calls to those functions AND use types. This would be a welcome optimization anyway. 2. We could have a mechanism to disable XPath expression parsing, either explicitly, or implicitly based on the transformer's package name. 3. We could fix expression parsing so that it works with Saxon SA. I am not sure exactly if just using the SA XPath API, if present, would work or not. This is atually a question for Mike Kay. 4. We could ignore parsing errors and not cache, but it is probably not a good solution not to tell the user about potential problems. I have added a bug to track this: http://forge.objectweb.org/tracker/index.php?func=detail&aid=305062&group_id=168&atid=350207 For now I have implemented 1) above. This will be in the nightly builds soon. let me know if this works for you. It should if you don't use doc() and schema types in the same expressions. -Erik Ryan Puddephatt wrote: > Erik, > I removed it, from saxon-8_7_orbeon.jar, but it didn't change > anything. I also tried it from the saxon 6 jar, again it didn't work. > > I have attached the original exception and exception entries from the > logger, perhaps it will mean more to you > > Thanks > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
I tried it on a simple schema using 'instance of' and it worked fine without error. I then used my original stylesheet and it gave me a different error. Below is the stack trace that I receive. It seems to have something to do with XDT, I've checked the namespace and its correct, I've even run it standalone in Saxon SA and it works fine. If you want I can send you the test case if you have SA setup? Thanks ; SystemID: oxf:/common-xsl/extract02.xsl; Line#: 223; Column#: -1 net.sf.saxon.trans.StaticError: XPath syntax error at char 0 in {xdt:anyAtomicType}: There is no imported schema for namespace http://www.w3.org/2005/xpath-datatypes at net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:106) at net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:85) at net.sf.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java:684) at net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:7 81) at net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:2 24) at net.sf.saxon.style.StyleElement.makeSequenceType(StyleElement.java:497) at net.sf.saxon.style.XSLGeneralVariable.prepareAttributes(XSLGeneralVariable.j ava:218) at net.sf.saxon.style.StyleElement.processAttributes(StyleElement.java:341) at net.sf.saxon.style.StyleElement.processAllAttributes(StyleElement.java:311) at net.sf.saxon.style.StyleElement.processAllAttributes(StyleElement.java:319) at net.sf.saxon.style.XSLStylesheet.processAllAttributes(XSLStylesheet.java:877 ) at net.sf.saxon.style.XSLStylesheet.preprocess(XSLStylesheet.java:617) at net.sf.saxon.PreparedStylesheet.setStylesheetDocument(PreparedStylesheet.jav a:292) at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:115) at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java :124) at org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUtils.java:256) at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.createTransforme r(XSLTTransformer.java:354) at org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.readImpl(XSLTTra nsformer.java:124) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor. java:96) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce ssor.java:94) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354 ) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java :33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor. java:96) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce ssor.java:94) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl( ConcreteChooseProcessor.java:123) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354 ) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java :33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor. java:96) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce ssor.java:94) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354 ) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java :33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor. java:96) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce ssor.java:94) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl( ConcreteChooseProcessor.java:123) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:354 ) at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java :33) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor. java:96) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce ssor.java:66) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce ssor.java:94) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl( ConcreteChooseProcessor.java:123) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java: 36) at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java: 57) at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:987) at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp l.java:1170) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:349 ) at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:4 04) at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:428) at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl. java:470) at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.j ava:426) at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(Concr eteChooseProcessor.java:186) at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor .java:652) at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:51 5) at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor. java:649) at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControlle rProcessor.java:416) at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:86) at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:95) at org.orbeon.oxf.servlet.OPSServletDelegate.service(OPSServletDelegate.java:14 4) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.orbeon.oxf.servlet.OPSServlet.service(OPSServlet.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:700) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:683) at java.lang.Thread.run(Thread.java:595) Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 25 April 2006 23:09 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >Ryan, > >I think I understand now: the exception occurs when our XSLT >transformer processor parses XPath expressions to find includes, >imports, and uses of the doc() function. We use the Saxon B XPath >engine, so it chokes on SA expressions. > >Now for solutions: > >1. We could first test for the presence of "doc(" or "document(" in > the string. This does not require us parsing the expression. We > will then only choke on SA expressions that contain calls to those > functions AND use types. This would be a welcome optimization > anyway. > >2. We could have a mechanism to disable XPath expression parsing, > either explicitly, or implicitly based on the transformer's package > name. > >3. We could fix expression parsing so that it works with Saxon SA. I > am not sure exactly if just using the SA XPath API, if present, > would work or not. This is atually a question for Mike Kay. > >4. We could ignore parsing errors and not cache, but it is probably > not a good solution not to tell the user about potential problems. > >I have added a bug to track this: > >http://forge.objectweb.org/tracker/index.php?func=detail&aid=305062&group_i >d=168&atid=350207 > >For now I have implemented 1) above. This will be in the nightly >builds soon. let me know if this works for you. It should if you don't >use doc() and schema types in the same expressions. > >-Erik > >Ryan Puddephatt wrote: > > Erik, > > I removed it, from saxon-8_7_orbeon.jar, but it didn't change > > anything. I also tried it from the saxon 6 jar, again it didn't work. > > > > I have attached the original exception and exception entries from the > > logger, perhaps it will mean more to you > > > > Thanks > > > > Ryan Puddephatt > > Software Engineer > > TFX Group - IT UK > > 1 Michaelson Square > > Livingston > > West Lothian > > Scotand > > EH54 7DP > > > > * [hidden email] > > ( 01506 407 110 > > 7 01506 407 108 > >-- >Orbeon - XForms Everywhere: >http://www.orbeon.com/blog/ ati1.xml (45K) Download Attachment |
Administrator
|
Ryan,
I don't have SA setup at the moment. But this time the exception really comes from Saxon SA, which is good news! I sent an email to saxon-help to see if Mike Kay has an idea of what this could be. -Erik Ryan Puddephatt wrote: > Erik, > I tried it on a simple schema using 'instance of' and it worked fine > without error. I then used my original stylesheet and it gave me a different > error. Below is the stack trace that I receive. It seems to have something > to do with XDT, I've checked the namespace and its correct, I've even run it > standalone in Saxon SA and it works fine. If you want I can send you the > test case if you have SA setup? > > Thanks > > ; SystemID: oxf:/common-xsl/extract02.xsl; Line#: 223; Column#: -1 > net.sf.saxon.trans.StaticError: XPath syntax error at char 0 in > {xdt:anyAtomicType}: > There is no imported schema for namespace > http://www.w3.org/2005/xpath-datatypes > at > net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:106) > at > net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:85) > at > net.sf.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java:684) > at > net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:7 > 81) > at > net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java:2 > 24) > at > net.sf.saxon.style.StyleElement.makeSequenceType(StyleElement.java:497) > at > net.sf.saxon.style.XSLGeneralVariable.prepareAttributes(XSLGeneralVariable.j > ava:218) > at > net.sf.saxon.style.StyleElement.processAttributes(StyleElement.java:341) > at > net.sf.saxon.style.StyleElement.processAllAttributes(StyleElement.java:311) > at -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Thanks Erik, let me know when you get a response
Ryan Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 29 April 2006 20:08 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >Ryan, > >I don't have SA setup at the moment. But this time the exception really >comes from Saxon SA, which is good news! I sent an email to saxon-help >to see if Mike Kay has an idea of what this could be. > >-Erik > >Ryan Puddephatt wrote: >> Erik, >> I tried it on a simple schema using 'instance of' and it worked fine >> without error. I then used my original stylesheet and it gave me a >different >> error. Below is the stack trace that I receive. It seems to have >something >> to do with XDT, I've checked the namespace and its correct, I've even run >it >> standalone in Saxon SA and it works fine. If you want I can send you the >> test case if you have SA setup? >> >> Thanks >> >> ; SystemID: oxf:/common-xsl/extract02.xsl; Line#: 223; Column#: -1 >> net.sf.saxon.trans.StaticError: XPath syntax error at char 0 in >> {xdt:anyAtomicType}: >> There is no imported schema for namespace >> http://www.w3.org/2005/xpath-datatypes >> at >> net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:106) >> at >> net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:85) >> at >> >net.sf.saxon.expr.ExpressionParser.getAtomicType(ExpressionParser.java:684) >> at >> >net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java: >7 >> 81) >> at >> >net.sf.saxon.expr.ExpressionParser.parseSequenceType(ExpressionParser.java: >2 >> 24) >> at >> net.sf.saxon.style.StyleElement.makeSequenceType(StyleElement.java:497) >> at >> >net.sf.saxon.style.XSLGeneralVariable.prepareAttributes(XSLGeneralVariable. >j >> ava:218) >> at >> net.sf.saxon.style.StyleElement.processAttributes(StyleElement.java:341) >> at >> >net.sf.saxon.style.StyleElement.processAllAttributes(StyleElement.java:311) >> at -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
See the answer attached.
Can you try getting the namespace from the implementation, and then see if changing it fixes your issue? -Erik Ryan Puddephatt wrote: > Thanks Erik, let me know when you get a response > > Ryan > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 Sounds like a version problem. This namespace changed in successive drafts of the specs, and in consequence it changed in successive versions of Saxon. For any given version of Saxon, you can find out the actual namespace URI used with the following query: java net.sf.saxon.Query "{<a xmlns:nc='java:net.sf.saxon.om.NamespaceConstant'>{nc:XDT()}</a>}" Typically Saxon also recognizes older versions of the namespace, but not of course newer versions. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]] On Behalf Of > Erik Bruchez > Sent: 29 April 2006 20:08 > To: [hidden email] > Subject: [saxon] There is no imported schema for namespace > http://www.w3.org/2005/xpath-datatypes > > We are getting this error with a stylesheet running on Saxon > SA. I am not sure whether this is due to the stylesheet, > Saxon, or OPS. Does the exception below indicate anything useful? > > Thanks, > > -Erik > > ; SystemID: oxf:/common-xsl/extract02.xsl; Line#: 223; Column#: -1 > net.sf.saxon.trans.StaticError: XPath syntax error at char 0 in > {xdt:anyAtomicType}: > There is no imported schema for namespace > http://www.w3.org/2005/xpath-datatypes > at > net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:106) > at > net.sf.saxon.expr.ExpressionParser.grumble(ExpressionParser.java:85) > at > net.sf.saxon.expr.ExpressionParser.getAtomicType(ExpressionPar > ser.java:684) > at > net.sf.saxon.expr.ExpressionParser.parseSequenceType(Expressio > nParser.java:7 > 81) > at > net.sf.saxon.expr.ExpressionParser.parseSequenceType(Expressio > nParser.java:2 > 24) > at > net.sf.saxon.style.StyleElement.makeSequenceType(StyleElement. > java:497) > at > net.sf.saxon.style.XSLGeneralVariable.prepareAttributes(XSLGen > eralVariable.j > ava:218) > at > net.sf.saxon.style.StyleElement.processAttributes(StyleElement > .java:341) > at > net.sf.saxon.style.StyleElement.processAllAttributes(StyleElem > ent.java:311) > at > net.sf.saxon.style.StyleElement.processAllAttributes(StyleElem > ent.java:319) > at > net.sf.saxon.style.XSLStylesheet.processAllAttributes(XSLStyle > sheet.java:877 > ) > at > net.sf.saxon.style.XSLStylesheet.preprocess(XSLStylesheet.java:617) > at > net.sf.saxon.PreparedStylesheet.setStylesheetDocument(Prepared > Stylesheet.jav > a:292) > at > net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:115) > at > net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFa > ctoryImpl.java > :124) > at > org.orbeon.oxf.xml.TransformerUtils.getTemplates(TransformerUt > ils.java:256) > at > org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.cr > eateTransforme > r(XSLTTransformer.java:354) > at > org.orbeon.oxf.processor.transformer.xslt.XSLTTransformer$1.re > adImpl(XSLTTra > nsformer.java:124) > > > ------------------------------------------------------- > Using Tomcat but need to do more? Need to support web > services, security? > Get stuff done quickly with pre-integrated technology to make > your job easier Download IBM WebSphere Application Server > v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057& > dat=121642 > _______________________________________________ > saxon-help mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/saxon-help ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ saxon-help mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/saxon-help -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Hello,
I'd like to add a specific element in a nodeset using the xforms:insert action. This element should be inserted just after an other element, which position is not constant. Would have any idea to do this ? Thanks ----- Original Message ----- From: "Erik Bruchez" <[hidden email]> To: <[hidden email]> Sent: Monday, May 01, 2006 5:19 AM Subject: Re: [ops-users] Schema Aware XSLT problems > See the answer attached. > > Can you try getting the namespace from the implementation, and then see > if changing it fixes your issue? > > -Erik > > Ryan Puddephatt wrote: >> Thanks Erik, let me know when you get a response >> >> Ryan >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 > > -------------------------------------------------------------------------------- > > -- > You receive this message as a subscriber of the [hidden email] > mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > -------------------------------------------------------------------------------- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.1.385 / Virus Database: 268.5.1/327 - Release Date: 28/04/2006 -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Christophe,
The xforms:insert/@at attribute contains an XPath expression that allows you to specify the insertion position. So it's just a matter or writing the correct XPath expression. Very often, it just depends on the current repeat index, such as "index('my-repeat')", but it can be anything you want. -Erik Christophe Burdinat wrote: > Hello, > > I'd like to add a specific element in a nodeset using the xforms:insert > action. This element should be inserted just after an other element, > which position is not constant. > > Would have any idea to do this ? > > Thanks -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Erik Bruchez
Erik,
Where would this solution go? Is it somewhere in the stylesheet? Or java? Thanks Ryan Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 01 May 2006 04:20 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >See the answer attached. > >Can you try getting the namespace from the implementation, and then see >if changing it fixes your issue? > >-Erik > >Ryan Puddephatt wrote: >> Thanks Erik, let me know when you get a response >> >> Ryan >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
I tried it and it now gets to a step further. I don't get an exception anymore just the following message in the screenshot. I have a message on all the elements parsed like so: <xsl:template match="*" priority="-10"> <xsl:message>Processing <xsl:value-of select="name()"/> at line <xsl:value-of select="saxon:line-number(.)"/></xsl:message> <xsl:next-match/> </xsl:template> The saxon:line-number value is always -1, which I don't understand, but at least it is passing it now Any ideas why I would get this? Ryan Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Ryan Puddephatt [mailto:[hidden email]] >Sent: 01 May 2006 20:14 >To: [hidden email] >Subject: RE: [ops-users] Schema Aware XSLT problems > >Erik, > Where would this solution go? Is it somewhere in the stylesheet? Or >java? > >Thanks > >Ryan > >Ryan Puddephatt >Software Engineer >TFX Group - IT UK >1 Michaelson Square >Livingston >West Lothian >Scotand >EH54 7DP > >* [hidden email] >( 01506 407 110 >7 01506 407 108 > >>-----Original Message----- >>From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>Sent: 01 May 2006 04:20 >>To: [hidden email] >>Subject: Re: [ops-users] Schema Aware XSLT problems >> >>See the answer attached. >> >>Can you try getting the namespace from the implementation, and then see >>if changing it fixes your issue? >> >>-Erik >> >>Ryan Puddephatt wrote: >>> Thanks Erik, let me know when you get a response >>> >>> Ryan >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 > > ScreenShot012.jpg (59K) Download Attachment |
Administrator
|
Ryan,
The line number is in the XML output sent to the browser, not in the XSLT. Do a View Source on that document, and see what could be wrong in the generated XML. -Erik Ryan Puddephatt wrote: > Erik, > I tried it and it now gets to a step further. I don't get an > exception anymore just the following message in the screenshot. I have a > message on all the elements parsed like so: > > <xsl:template match="*" priority="-10"> > <xsl:message>Processing <xsl:value-of select="name()"/> at line > <xsl:value-of select="saxon:line-number(.)"/></xsl:message> > <xsl:next-match/> > </xsl:template> > > The saxon:line-number value is always -1, which I don't understand, but at > least it is passing it now > > Any ideas why I would get this? > > Ryan > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > > >> -----Original Message----- >> From: Ryan Puddephatt [mailto:[hidden email]] >> Sent: 01 May 2006 20:14 >> To: [hidden email] >> Subject: RE: [ops-users] Schema Aware XSLT problems >> >> Erik, >> Where would this solution go? Is it somewhere in the stylesheet? Or >> java? >> >> Thanks >> >> Ryan >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >>> -----Original Message----- >>> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>> Sent: 01 May 2006 04:20 >>> To: [hidden email] >>> Subject: Re: [ops-users] Schema Aware XSLT problems >>> >>> See the answer attached. >>> >>> Can you try getting the namespace from the implementation, and then see >>> if changing it fixes your issue? >>> >>> -Erik >>> >>> Ryan Puddephatt wrote: >>>> Thanks Erik, let me know when you get a response >>>> >>>> Ryan >>>> >>>> Ryan Puddephatt >>>> Software Engineer >>>> TFX Group - IT UK >>>> 1 Michaelson Square >>>> Livingston >>>> West Lothian >>>> Scotand >>>> EH54 7DP >>>> >>>> * [hidden email] >>>> ( 01506 407 110 >>>> 7 01506 407 108 >> > > > ------------------------------------------------------------------------ > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
In reply to this post by Ryan Puddephatt
The line:
java net.sf.saxon.Query "{<a xmlns:nc='java:net.sf.saxon.om.NamespaceConstant'>{nc:XDT()}</a>}" is to be run from the command-line, using your Saxon SA JAR. This way you should obtain the actual namespace URI for the xdt prefix that is used by this particular version of Saxon. This is the URI you should use in your stylesheet when you do xmlns:xdt="...". So did you change that namespace declaration, or did you have trouble figuring out what is that namespace URI? -Erik Ryan Puddephatt wrote: > Erik, > Where would this solution go? Is it somewhere in the stylesheet? Or > java? > > Thanks > > Ryan > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > >> -----Original Message----- >> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >> Sent: 01 May 2006 04:20 >> To: [hidden email] >> Subject: Re: [ops-users] Schema Aware XSLT problems >> >> See the answer attached. >> >> Can you try getting the namespace from the implementation, and then see >> if changing it fixes your issue? >> >> -Erik >> >> Ryan Puddephatt wrote: >>> Thanks Erik, let me know when you get a response >>> >>> Ryan >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 > > > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Erik,
Thanks for the reply, I've found out why this isn't working, it's not matching on any of my templates because it isn't recognizing the schema-element function. I have the following example which shows the problem: <p:processor name="oxf:saxon8sa"> <p:input name="data"> <root xmlns="http://www.teleflex.com/ns/xlex-description"> <element> <text>This is a test</text> </element> </root> </p:input> <p:input name="config"> <xsl:stylesheet version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:x="http://www.teleflex.com/ns/xlex-description"> <xsl:import-schema namespace="http://www.teleflex.com/ns/xlex-description"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.teleflex.com/ns/xlex-description"> <xs:element name="root"> <xs:complexType> <xs:sequence> <xs:element ref="x:element"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="element"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="text" type="xs:string"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema> </xsl:import-schema> <xsl:template match="schema-element(x:element)"> <result><xsl:value-of select="."/></result> </xsl:template> </xsl:stylesheet> </p:input> <p:output name="data" ref="data"/> </p:processor> Replacing the function with element() makes it work for this example, but doesn't give an true match against the schema, obviously! OPS doesn't give me any exception or stack trace it just serves up, I've tried it with Log4J on debug, but nothing unusual Any ideas? Ryan Puddephatt Software Engineer TFX Group - IT UK 1 Michaelson Square Livingston West Lothian Scotand EH54 7DP * [hidden email] ( 01506 407 110 7 01506 407 108 >-----Original Message----- >From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >Sent: 02 May 2006 00:16 >To: [hidden email] >Subject: Re: [ops-users] Schema Aware XSLT problems > >The line: > >java net.sf.saxon.Query "{<a >xmlns:nc='java:net.sf.saxon.om.NamespaceConstant'>{nc:XDT()}</a>}" > >is to be run from the command-line, using your Saxon SA JAR. > >This way you should obtain the actual namespace URI for the xdt prefix >that is used by this particular version of Saxon. This is the URI you >should use in your stylesheet when you do xmlns:xdt="...". So did you >change that namespace declaration, or did you have trouble figuring out >what is that namespace URI? > >-Erik > >Ryan Puddephatt wrote: >> Erik, >> Where would this solution go? Is it somewhere in the stylesheet? Or >> java? >> >> Thanks >> >> Ryan >> >> Ryan Puddephatt >> Software Engineer >> TFX Group - IT UK >> 1 Michaelson Square >> Livingston >> West Lothian >> Scotand >> EH54 7DP >> >> * [hidden email] >> ( 01506 407 110 >> 7 01506 407 108 >> >>> -----Original Message----- >>> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>> Sent: 01 May 2006 04:20 >>> To: [hidden email] >>> Subject: Re: [ops-users] Schema Aware XSLT problems >>> >>> See the answer attached. >>> >>> Can you try getting the namespace from the implementation, and then see >>> if changing it fixes your issue? >>> >>> -Erik >>> >>> Ryan Puddephatt wrote: >>>> Thanks Erik, let me know when you get a response >>>> >>>> Ryan >>>> >>>> Ryan Puddephatt >>>> Software Engineer >>>> TFX Group - IT UK >>>> 1 Michaelson Square >>>> Livingston >>>> West Lothian >>>> Scotand >>>> EH54 7DP >>>> >>>> * [hidden email] >>>> ( 01506 407 110 >>>> 7 01506 407 108 >> >> >> >> >> ------------------------------------------------------------------------ >> >> >> -- >> You receive this message as a subscriber of the [hidden email] >mailing list. >> To unsubscribe: mailto:[hidden email] >> For general help: mailto:[hidden email]?subject=help >> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > >-- >Orbeon - XForms Everywhere: >http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Ryan,
I thought I answered this but apparently not ;-) Does this work correctly from the command-line, with the same SA JAR? From the point OPS runs the transformation, assuming you are actually running Saxon SA, OPS doesn't do anything particular: it's all Saxon code! -Erik Ryan Puddephatt wrote: > Erik, > Thanks for the reply, I've found out why this isn't working, it's > not matching on any of my templates because it isn't recognizing the > schema-element function. I have the following example which shows the > problem: > > <p:processor name="oxf:saxon8sa"> > <p:input name="data"> > <root xmlns="http://www.teleflex.com/ns/xlex-description"> > <element> > <text>This is a test</text> > </element> > </root> > </p:input> > <p:input name="config"> > <xsl:stylesheet version="2.0" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:x="http://www.teleflex.com/ns/xlex-description"> > <xsl:import-schema > namespace="http://www.teleflex.com/ns/xlex-description"> > <xs:schema > xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" > targetNamespace="http://www.teleflex.com/ns/xlex-description"> > <xs:element name="root"> > <xs:complexType> > <xs:sequence> > <xs:element ref="x:element"/> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="element"> > <xs:complexType> > <xs:choice maxOccurs="unbounded"> > <xs:element name="text" type="xs:string"/> > </xs:choice> > </xs:complexType> > </xs:element> > </xs:schema> > </xsl:import-schema> > <xsl:template match="schema-element(x:element)"> > <result><xsl:value-of select="."/></result> > </xsl:template> > </xsl:stylesheet> > </p:input> > <p:output name="data" ref="data"/> > </p:processor> > > Replacing the function with element() makes it work for this example, but > doesn't give an true match against the schema, obviously! OPS doesn't give > me any exception or stack trace it just serves up, I've tried it with Log4J > on debug, but nothing unusual > > Any ideas? > > Ryan Puddephatt > Software Engineer > TFX Group - IT UK > 1 Michaelson Square > Livingston > West Lothian > Scotand > EH54 7DP > > * [hidden email] > ( 01506 407 110 > 7 01506 407 108 > >> -----Original Message----- >> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >> Sent: 02 May 2006 00:16 >> To: [hidden email] >> Subject: Re: [ops-users] Schema Aware XSLT problems >> >> The line: >> >> java net.sf.saxon.Query "{<a >> xmlns:nc='java:net.sf.saxon.om.NamespaceConstant'>{nc:XDT()}</a>}" >> >> is to be run from the command-line, using your Saxon SA JAR. >> >> This way you should obtain the actual namespace URI for the xdt prefix >> that is used by this particular version of Saxon. This is the URI you >> should use in your stylesheet when you do xmlns:xdt="...". So did you >> change that namespace declaration, or did you have trouble figuring out >> what is that namespace URI? >> >> -Erik >> >> Ryan Puddephatt wrote: >>> Erik, >>> Where would this solution go? Is it somewhere in the stylesheet? Or >>> java? >>> >>> Thanks >>> >>> Ryan >>> >>> Ryan Puddephatt >>> Software Engineer >>> TFX Group - IT UK >>> 1 Michaelson Square >>> Livingston >>> West Lothian >>> Scotand >>> EH54 7DP >>> >>> * [hidden email] >>> ( 01506 407 110 >>> 7 01506 407 108 >>> >>>> -----Original Message----- >>>> From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez >>>> Sent: 01 May 2006 04:20 >>>> To: [hidden email] >>>> Subject: Re: [ops-users] Schema Aware XSLT problems >>>> >>>> See the answer attached. >>>> >>>> Can you try getting the namespace from the implementation, and then see >>>> if changing it fixes your issue? >>>> >>>> -Erik >>>> >>>> Ryan Puddephatt wrote: >>>>> Thanks Erik, let me know when you get a response >>>>> >>>>> Ryan >>>>> >>>>> Ryan Puddephatt >>>>> Software Engineer >>>>> TFX Group - IT UK >>>>> 1 Michaelson Square >>>>> Livingston >>>>> West Lothian >>>>> Scotand >>>>> EH54 7DP >>>>> >>>>> * [hidden email] >>>>> ( 01506 407 110 >>>>> 7 01506 407 108 >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> >>> -- >>> You receive this message as a subscriber of the [hidden email] >> mailing list. >>> To unsubscribe: mailto:[hidden email] >>> For general help: mailto:[hidden email]?subject=help >>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws >> >> -- >> Orbeon - XForms Everywhere: >> http://www.orbeon.com/blog/ > > > > > ------------------------------------------------------------------------ > > > -- > You receive this message as a subscriber of the [hidden email] mailing list. > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Free forum by Nabble | Edit this page |