0

我想将 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 设计。验证器告诉我(在“<xs:restriction”下划线时):“未定义的 complexType 'http://w3.org/2001/XMLSchema:string' 被用作复杂类型限制的基础。”

4

1 回答 1

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>
于 2012-09-14T16:03:45.183 回答