I am trying to use the following in an XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" >
<xs:element name="dimension">
<xs:complexType>
<xs:attribute name="height" type="xs:int"/>
<xs:attribute name="width" type="xs:int"/>
<xs:assert test="@height = @width"/>
</xs:complexType>
</xs:element>
I know assert/assertion are part of XML Schema 1.1 but not 1.0. However everything I have read indicates the namespace is the same for both: http://www.w3.org/2001/XMLSchema
A minor problem is that the program I am using to write the Schema (Microsoft Visual Studio) does not recognize the 'assert' element, saying the 'the element complexType in namespace (...) has invalid child element 'assert'.
The main problem is that when I actually try to validate an XML against this schema, using xmllint, it throws up an error saying
" element assert: Schemas parser error : Element '{http://www.w3.org/2001/XMLSchema}complexType': The content is not valid. Expected is (annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))
Is 1.1 simply not recognized by xmllint/visual studio, despite being pointed to the 1.1 namespaces?