- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 7 Sep 2016 09:55:20 +0100
- To: Christophe Marchand <cmarchand@oxiane.com>
- Cc: xmlschema-dev@w3.org
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> > > >
Received on Wednesday, 7 September 2016 08:56:01 UTC