我想定义一个模式,其中包含指定XML模式类型的元素。此问题可能与XML Schema for schemas和此question有关。XML模式:定义类型的类型
这是我到目前为止有:
<xs:complexType name="metatype">
<xs:sequence>
<xs:element name="datatype" type="datatype" minOccurs="0" maxOccurs="1"/>
<xs:element name="location" type="locationtype" minOccurs="0"maxOccurs="unbounded"/>
<xs:element name="alias" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="editable" type="xs:boolean" default="false" use="optional"/>
<xs:attribute name="forcedvisible" type="xs:boolean" default="false" use="optional"/>
</xs:complexType>
其中的数据类型是:
<xs:complexType name="datatype">
<xs:sequence>
<xs:element name="restriction">
<xs:complexType>
<xs:sequence>
<xs:element name="enumeration">
<xs:complexType>
<xs:attribute name="value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="base" type="xs:string" use="required"/>
<!-- type xs:string is not accurate for XML Schema type -->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
,而不用声明的数据类型的,我想用在Schema for schemas的localSimpleType
或至少simpleRestrictionType
但我的XML Schema编辑器(Visual Studio)似乎没有认识到这些类型。是否还需要引用另一个XML Schema文档?我真的很想避免定义整个XML Schema simpleType
元素及其子标签的限制等。