具有属性的simpleContent类型字符串的XSD定义

时间:2012-09-14 15:48:17

标签: xsd definition

我想将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'用作复杂类型限制的基础。”

1 个答案:

答案 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>