解释这个 xs:simpleContent / xs:extension XSD 模式?

Explain this xs:simpleContent / xs:extension XSD pattern?

这是我拥有的,但我不明白它的作用:

<xs:element name="T1RXXXXG2S" type="StrColumn" nillable="true" minOccurs="0" maxOccurs="9999"/>

哪里

<xs:complexType name="StrColumn">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="ROWNUM" type="rowInt" use="required"/>
            </xs:extension>
        </xs:simpleContent>
</xs:complexType>

<xs:simpleType name="rowInt">
        <xs:restriction base="xs:int">
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="999999"/>
        </xs:restriction>
</xs:simpleType>

有人可以向我解释一下这个扩展在这里做什么以及它是如何工作的吗?

根据您的 XSD 片段,一个 T1RXXXXG2S 元素必须包含字符串内容和一个属性 ROWNUM,其整数值在 1 到 999999 之间,包括两端。

T1RXXXXG2S 元素声明中很少使用的 nillable="true" 属性意味着 T1RXXXXG2S 可能与 xsi:nil="true" 属性一起出现。