相关疑难解决方法(0)

如何通过xs:unique使univoque成为我的枚举

任何人都可以指出我为什么我的XSD中的独特元素不强制独特性?这应该抛出一个错误,因为最后一个ScreenResult元素不包含该Type属性的唯一值.我还应该注意到,我真正强迫其中一个Type内部ScreenResults(ScreenResult需要存在3次,有3种类型的屏幕,我需要独特性)所以如果有更好的方法来实现这一点,我'也是为了这一切.

谢谢.

这是我的XML片段:

<ScreenResults>
    <ScreenResult Type="Screen Type A">1</ScreenResult>
    <ScreenResult Type="Screen Type B">1</ScreenResult>
    <ScreenResult Type="Screen Type B">2</ScreenResult>
</ScreenResults>
Run Code Online (Sandbox Code Playgroud)

这是我的XSD片段(还要注意我的原始XSD片段跨越多个文件,但我已经验证了我的所有命名空间都是正确的):

<xs:element name="ScreenResults" type="import:ScreenResults" minOccurs="0" maxOccurs="1">
    <xs:unique name="UniqueScreenResults">
        <xs:selector xpath="ScreenResult" />
        <xs:field xpath="@Type" />
    </xs:unique>
</xs:element>

<!--============  ScreenResults  =============-->
<xs:complexType name="ScreenResults">
    <xs:sequence minOccurs="1" maxOccurs="1">
        <xs:element name="ScreenResult" minOccurs="3" maxOccurs="3">
            <xs:complexType>
                <xs:simpleContent>
                    <xs:extension base="enum:ScreenResult">
                        <xs:attribute name="Type" type="enum:ScreenType" use="required" />
                    </xs:extension>
                </xs:simpleContent>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>

<!--=============  ScreenType  =============-->
<xs:simpleType name="ScreenType">
    <xs:restriction base='xs:token'>
        <xs:enumeration value='Screen Type …
Run Code Online (Sandbox Code Playgroud)

attributes xsd unique

3
推荐指数
1
解决办法
2028
查看次数

标签 统计

attributes ×1

unique ×1

xsd ×1