我从一位客户那里得到了以下 XSD 位。它是跨越数十个文件的遗留架构的一部分。
<xs:element name="stateProvinceName">
<xs:complexType mixed="true">
<xs:attributeGroup ref="xml:attlist.global-attributes"/>
</xs:complexType>
</xs:element>
我正在努力弄清楚他们真正想要什么。没有子元素,那么这个'xs:mixed'是什么意思呢?它应该是简单内容,还是没有内容?
我告诉他们应该使用更标准的结构,例如
<xs:element name="stateProvinceName">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="xml:attlist.global-attributes"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
但他们不确定这意味着同样的事情。两种模式都接受
<stateProvinceName ID="345643">California</stateProvinceName>
and
<stateProvinceName ID="345643"/>
这两种类型表面上可能是等效的,但它们的可扩展性是不同的。使用 xs:string 的简单内容类型允许通过使用正则表达式约束字符串来细化类型,而使用不包含元素的混合复杂内容类型允许通过向模型添加元素来细化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)