[oXygen-user] which Schematron processor?
Radu Coravu
Mon Dec 27 03:15:58 CST 2010
Hi Syd,
We'll try to update the user manual to state more clearly the default
processor used for XSLT 2.0 binding. It is Saxon PE.
The warnings you are receiving come from Saxon 9 so changing from PE to
EE does not help.
Indeed the schematron file is transformed (using intermediary XSLT
stylesheets) to an XSLT which is then applied on the input XML file
using the Saxon EE engine in your case.
It depends if the warning messages are given when the final XSLT gets
constructed or when the final XSLT gets applied on the XML input.
Usually these warnings mean:
> The child axis starting at an attribute node will never select anything
The XSLT template matches an attribute but then tries to match another
attribute in that context like:
<xsl:template match="@id">
<xsl:value-of select="@id"/>
</xsl:template>
> The child axis starting at an attribute node will never select anything
The XSLT template matches an attribute but then tries to match another
element in that context like:
<xsl:template match="@id">
<xsl:value-of select="revisionDesc"/>
</xsl:template>
The equivalent schematron pattern would be like:
<sch:pattern>
<sch:rule context="tei:*/*">
<sch:assert test="revisionDesc">
MY MESSAGE
</sch:assert>
</sch:rule>
</sch:pattern>
Maybe if you can compose a sample small Schematron file on which the
problem can be reproduced we can take a closer look.
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
On 12/24/2010 4:38 PM, Syd Bauman wrote:
> I'm guessing that if I check the "Use Saxon EE (schema aware) for
> xslt2 query binding - If checked, Saxon EE will be used for xslt2
> query binding." box in the "ISO Schematron" section of the XML / XML
> Parser preferences page, then oXygen will use Saxon EE to validate my
> documents against an ISO Schematron schema that uses xslt2 query
> binding.
>
> But what does oXygen use as an ISO Schematron validator if I *don't*
> check that box? (The documentation under the Help menu doesn't say.)
>
>
> As I side note, I'm asking because I'm getting warnings from the
> validation that I thought might really be indicative of a processor-
> specific problem, rather than a Schematron schema or validation
> error. Probatron does not complain, but oXygen warns that "The
> attribute axis starting at an attribute node will never select
> anything" and that "The child axis starting at an attribute node will
> never select anything". The rule that generates the complaint is
> <rule context="tei:*/@*"> ...</rule>
> So I'm guessing that the processor tried to convert this to some
> generic XSLT that included a match pattern that would never fire.
>
> So I tried switching processors to Saxon EE, but that just added an
> error to the warnings: "Cannot validate<TEI>: no element declaration
> available". It took a Google search to find out that setting oXygen
> to use Saxon's -vlax switch is how to deal with that. (Found
> http://www.oxygenxml.com/forum/topic4460.html.)
> _______________________________________________
> oXygen-user mailing list
>
> http://www.oxygenxml.com/mailman/listinfo/oxygen-user
More information about the oXygen-user
mailing list