我想将XSD定义为:
<Group id="someid" parent="someid">some string</Group>
这就是我的尝试:
<xs:element name="Group" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:restriction base="xs:string">
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="parent" type="xs:IDREF" use="optional"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
</xs:element>
我使用Visual Studio进行XSD设计。验证器告诉我(同时强调“&lt; xs:restriction”): “未定义的complexType'http://w3.org/2001/XMLSchema:string'用作复杂类型限制的基础。”
答案 0 :(得分:1)
需要使用<xs:extension>
代替<xs:restriction>
:
<xs:element name="Group" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="parent" type="xs:IDREF" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>