【发布时间】:2012-02-07 10:12:04
【问题描述】:
我想定义一个包含指定 XML 模式类型的元素的模式。这个问题可能与XML Schema for schemas和这个question有关。
这是我目前所拥有的:
<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 或至少simpleRestrictionType 中使用localSimpleType 来声明数据类型,但我的XML Schema 编辑器(Visual Studio) 似乎无法识别这些类型。我需要参考另一个 XML Schema 文档吗?我真的很想避免定义整个 XML Schema simpleType 元素及其限制子标签等。
【问题讨论】:
标签: xml validation types xsd