- 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