如何用属性定义一个空元素?

时间:2015-01-21 23:41:42

标签: xml xsd

我尝试为自定义xml .config文件创建XSD架构 - 这是一个示例:

我试图让"添加" 元素有一个空内容(或最长0个) - 但我失败了 - 我是什么做错了?

<xs:element name="scopes">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="add" maxOccurs="unbounded" minOccurs="0">
                <xs:complexType mixed="true">
                  <xs:sequence>
                    <xs:element name="claims" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          **<xs:element name="add" maxOccurs="unbounded" minOccurs="0">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="xs:string" name="name" use="required" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>**
                  </xs:sequence>
                  <xs:attribute type="xs:string" name="name" use="required" />
                  <xs:attribute name="type" use="required">
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:enumeration value="Identity" />
                        <xs:enumeration value="Resource" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:attribute>
                  <xs:attribute type="xs:string" name="displayName" use="optional" />
                  <xs:attribute type="xs:boolean" name="enabled" use="required" />
                  <xs:attribute type="xs:boolean" name="emphasize" use="optional" />
                  <xs:attribute type="xs:boolean" name="showInDiscoveryDocument" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>

1 个答案:

答案 0 :(得分:1)

要使add成为具有属性的空元素

<xs:element name="add" maxOccurs="unbounded" minOccurs="0">
  <xs:complexType>
    <xs:attribute type="xs:string" name="name" use="required" />
  </xs:complexType>
</xs:element>