- From: Michael Kay <mike@saxonica.com>
- Date: Mon, 12 Sep 2016 09:04:29 +0100
- To: Christophe Marchand <cmarchand@oxiane.com>
- Cc: xmlschema-dev@w3.org
It's working for me when I run with java com.saxonica.Validate -xsd:test.xsd -s:test.xml -xsdversion:1.1 It gives confusing error messages if you leave out the -xsdversion:1.1. That's because the use of vc:minVersion effectively means that when you run with a 1.0 processor (if it recognizes vc:minVersion) you are validating against an empty schema. Haven't tried with oXygen but it has a configuration checkbox to enable 1.1 somewhere. Michael Kay Saxonica > On 12 Sep 2016, at 07:24, Christophe Marchand <cmarchand@oxiane.com> wrote: > > Following your suggests, I still can not manage to make it run correctly. > > Attached is a simplified schema and a XML file that contains 4 samples : the 3 first are expected to be valid, the last one to be invalid. > > I use oXygen 17.0 on dev side, & xerces 2.12-beta-r1667115 on prod side. > > Thanks in advance for your help... > > Christophe > > > > Le 07/09/2016 à 10:55, Michael Kay a écrit : >> The fact that you use cfg:TPipe to refer to the type is a clue that the schema has a targetNamespace which you haven't shown us. This would suggest that the pipe element is also in a namespace which you haven't shown us, and if this is the case then my guess is that the xslt element is also in a namespace, in which case the XPath expression in the assertion needs to use a prefixed name to refer to it (or to declare a default XPath namespace). >> >> Michael Kay >> Saxonica >> >>> On 6 Sep 2016, at 17:21, Christophe Marchand <cmarchand@oxiane.com> wrote: >>> >>> Hello, >>> >>> I've just added a simple assert to my schema, and I can not get errors validating wrong documents. I can nto find why. >>> Any help will be much appreciated... >>> >>> Best, >>> Christophe >>> >>> My schema : >>> <xs:complexType name="TPipe"> >>> <xs:sequence> >>> <xs:choice maxOccurs="unbounded"> >>> <xs:element name="xslt" /> >>> ... >>> </xs:choice> >>> </xs:sequence> >>> <xs:attribute name="nbThreads" type="xs:integer" default="1" use="optional"/> >>> <xs:attribute name="mutiThreadMaxSourceSize"/> >>> <xs:attribute name="traceOutput" type="xs:string"/> >>> <xs:assert test="if(not(./@traceOutput)) then empty(descendant::xslt[@traceActive='true']) else true()"/> >>> </xs:complexType> >>> <xs:element name="pipe" type="cfg:TPipe"/> >>> >>> The document I expect an error to be thrown for : >>> <pipe nbThreads="1" mutiThreadMaxSourceSize="" > >>> <xslt href="src/test/resources/identity.xsl" traceActive="true"/> >>> <output id="pipe1" > >>> <folder absolute="./target/generated-test-files"/> >>> <fileName name="${basename}-pipe1.xml"/> >>> </output> >>> </pipe> >>> >>> >>> >> >> > > <gaulois-pipe_config.xsd><java-initial-step-ok.xml>
Received on Monday, 12 September 2016 08:05:09 UTC