这是我天真的例子
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="dog">
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:choice>
<xs:element name="known" type="xs:string"/>
<xs:element name="unknown"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="breed" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bigDog">
<xs:complexContent>
<xs:restriction base="dog">
<xs:sequence>
<xs:element name="name">
<xs:complexType>
<xs:choice>
<xs:element name="known" type="xs:string"/>
<xs:element name="unknown"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="breed" type="xs:string" fixed="grand danois"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>
氧气给我:'bigDog'类型的错误。类型的粒子不是对基础粒子的有效限制。
是否可以做这样的事情?
答案 0 :(得分:0)
我真的不知道它是做什么的。可能是XSD 1.0的错误?但这是有效的
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="dogNameType">
<xs:choice>
<xs:element name="known" type="xs:string"/>
<xs:element name="unknown"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="dog">
<xs:sequence>
<xs:element name="name" type="dogNameType"/>
<xs:element name="breed" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="bigDog">
<xs:complexContent>
<xs:restriction base="dog">
<xs:sequence>
<xs:element name="name" type="dogNameType"/>
<xs:element name="breed" type="xs:string" fixed="grand danois"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:schema>