Xml “同时”;“干得好”;在XSD中描述元素的复数值和该元素的属性

Xml “同时”;“干得好”;在XSD中描述元素的复数值和该元素的属性,xml,xsd,Xml,Xsd,无法在XSD架构中正确组合两个条件,这将描述: 1) 元素的值complexType带限制 2) 元素的属性序列 complexType\simpleType或我尝试组合的任何构造都不希望“做得好” 我想要的 在一个子元素中: 1) 指定元素值的可能性(例如最大长度限制) 2) 描述\指定该元素属性的可能性 我有什么? <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualif

无法在XSD架构中正确组合两个条件,这将描述:

1) 元素的值complexType带限制

2) 元素的属性序列

complexType\simpleType或我尝试组合的任何构造都不希望“做得好”

我想要的

在一个子元素中:

1) 指定元素值的可能性(例如最大长度限制)

2) 描述\指定该元素属性的可能性

我有什么?

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ROOT">
    <xs:complexType>
      <xs:sequence>
              <xs:element maxOccurs="unbounded" name="PARENT">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="CHILD"> <!-- extended (complex) description for CHILD's value is needed-->
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="attribute-1" type="xs:boolean" use="required" />
                            <xs:attribute name="attribute-2">
                              <xs:simpleType>
                                <xs:restriction base="xs:string">
                                  <xs:maxLength value = "64"/>
                                </xs:restriction>
                              </xs:simpleType>
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="parent-attribute" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="root-attribute" type="xs:unsignedByte" use="required" />
          </xs:complexType>
        </xs:element>
</xs:schema>

我想扩展CHILD值的一种复杂限制(作为示例) (注意:并保留其属性描述)


您需要分两个步骤来完成:一个是限制步骤,用于定义值上的额外面,然后是扩展步骤,用于允许额外属性。(您可以按任意顺序执行这两个步骤)

              <xs:element name="CHILD" maxOccurs="unbounded">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="4000"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>