gpt4 book ai didi

attributes - XSD中同一元素的内容限制和属性验证

转载 作者:行者123 更新时间:2023-12-04 06:08:40 25 4
gpt4 key购买 nike

我想验证元素“测试”应该

  • 对其内容进行限制(例如,使用模式限制),而
  • 包含某些属性(例如,“id”,“class”和“name”)。

  • 我正在编写的XSD如下所示:
    <xsd:element name="Test" minOccurs="0" maxOccurs="unbounded">
    <xsd:complexType mixed="true">
    <xsd:simpleContent>
    <xsd:restriction>
    <xsd:pattern value="xyz"/>
    </xsd:restriction>
    </xsd:simpleContent>
    <xsd:attribute name="id" type="xsd:string"></xsd:attribute>
    <xsd:attribute name="class" type="xsd:string"></xsd:attribute>
    <xsd:attribute name="name" type="xsd:string"></xsd:attribute>
    </xsd:complexType>
    </xsd:element>

    但是,当我在Visual Studio中编写此代码时,在'xsd:attribute'元素上出现以下错误:

    'attribute' and content model are mutually exclusive



    有没有办法验证同一元素上的内容限制和属性?

    最佳答案

    您需要分离出限制条件并为其命名,然后将其称为扩展的基本类型。像这样:

      <xsd:simpleType name="RestrictedString">
    <xsd:restriction base="xsd:string">
    <xsd:pattern value="xyz" />
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:element name="Test">
    <xsd:complexType>
    <xsd:simpleContent>
    <xsd:extension base="RestrictedString">
    <xsd:attribute name="id" type="xsd:string" />
    <xsd:attribute name="class" type="xsd:string" />
    <xsd:attribute name="name" type="xsd:string" />
    </xsd:extension>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:element>

    关于attributes - XSD中同一元素的内容限制和属性验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7493720/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com