我有一个xsd文件,如下所示:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Configurations">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Schema">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Table">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Key">
<xs:complexType>
<xs:sequence>
<xs:element name="Column" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="Value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="Value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required" />
<xs:attribute name="ConnectionString" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
而且我无法弄清楚如何为xs:enumeration
元素的Name
属性创建Schema
,以便只需将几个指定值用于那个属性。我对xsd没有任何好处,我会感激一点帮助:)
答案 0 :(得分:6)
如果您要为所有Name
属性重复使用受限制的类型,请在根级别添加simpleType
:
<xs:simpleType name="Name_type">
<xs:restriction base="xs:string">
<xs:enumeration value="Foo" />
<xs:enumeration value="Bar" />
<xs:enumeration value="Baz" />
</xs:restriction>
</xs:simpleType>
然后将其引用为Name
属性的类型:
<xs:attribute name="Name" type="Name_type" use="required" />