anyType
類型的元素被允許具有任何屬性和任何值空間內容,包括子元素。 anySimpleType
規定的限制在哪裏?我特別感興趣的是隻允許指定(通過給定的XSD文檔)屬性的限制。xsd:anyType中的xsd:anySimpleType的限制是什麼,它們在哪裏枚舉?
假設libxml2
的模式驗證忠實於規格,以下示出的至少一個的anySimpleType
限制:
foo.xsd
:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Foo">
<xs:complexType>
<xs:sequence>
<xs:element name="Bar" type="xs:anyType" />
<xs:element name="Baz" type="xs:anySimpleType" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
:
<?xml version="1.0" encoding="utf-8"?>
<Foo>
<Bar abc="xyz" />
<Baz abc="xyz" />
</Foo>
驗證:
$ xmllint --noout foo.xml --schema foo.xsd
foo.xml:5: element Baz: Schemas validity error : Element 'Baz', attribute 'abc': The attribute 'abc' is not allowed.
foo.xml fails to validate
感謝您的答覆;我剛剛更新了一個驗證失敗示例的問題。 –