← Prev in month
← Prev in thread
Re: [xml-dev] XML Schema complex type restriction
On 29 September 2017 at 14:09, Michael Kay <[email protected]> wrote:
More realistically, imagine you have a complex type whose content model is <element name="para" minOccurs="0" maxOccurs="unbounded"/>, and the assertion says test="exists(para)", then the assertion on its own would allow<para/><fig/><fig/>which the complex type's grammar does not allow.Requiring the assertion to be true ONLY for content that satisfies the grammar would be a ridiculous burden on schema authors.
Thanks for sharing this example. In this, the assertion has violated the constraint defined by the grammar. I think, this is an anti-pattern for using an assertion.
XML instance
<?xml version="1.0"?>
<speed>
<from>10</from>
<to>50</to>
</speed>
The corresponding XSD 1.1 schema
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="speed">
<xs:complexType>
<xs:sequence>
<xs:element name="from" type="xs:positiveInteger"/>
<xs:element name="to" type="xs:positiveInteger"/>
</xs:sequence>
<xs:assert test="from lt to"/>
</xs:complexType>
</xs:element>
</xs:schema>
Regards,
Mukul Gandhi
← Prev in month
← Prev in thread