首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制/限制xsd:choice

限制/限制xsd:choice
EN

Stack Overflow用户
提问于 2019-02-19 19:15:30
回答 1查看 29关注 0票数 0

在xsd中,有没有什么方法可以限制/限制xsd:choice。

我的要求是,如果状态标签的值为“已接受”,则下一个标签必须为“已接受”,或者在其他标签为“Reject”->“Reject”和“Paid”->“Paid”的情况下相同

XSD是

代码语言:javascript
复制
<xsd:element name="Status"  minOccurs="1">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="Reject" />
            <xsd:enumeration value="Accepted" />
            <xsd:enumeration value="Paid" />
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>  

<xsd:choice>
    <xsd:element name="Reject" type="CommentsOnly" minOccurs="0"/>
    <xsd:element name="Accepted" type="AcceptanceOrPaid" minOccurs="0"/>
    <xsd:element name="Paid" type="AcceptanceOrPaid" minOccurs="0"/>
</xsd:choice>
EN

回答 1

Stack Overflow用户

发布于 2019-02-19 20:33:31

如果一个元素的验证规则依赖于前面元素的内容,则需要XSD1.1断言。

Altova、Saxon和Xerces支持XSD 1.1,但(例如)Microsoft的模式处理器不支持XSD 1.1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54765001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档