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>
アサーション/アサーションはXMLスキーマ1.1の一部ですが、1.0ではありません。しかし、私が読んだすべてのことは、名前空間が両方で同じであることを示しています:http ://www.w3.org/2001/XMLSchema
マイナーな問題は、スキーマの作成に使用しているプログラム(Microsoft Visual Studio)が'assert'要素を認識せず、'名前空間(...)の要素complexTypeに無効な子要素'assert'があることです。
主な問題は、xmllintを使用してこのスキーマに対してXMLを実際に検証しようとすると、次のようなエラーがスローされることです。
" 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?))))
1.1は、1.1の名前空間を指しているにもかかわらず、xmllint / visual studioによって認識されないだけですか?