在 XML 模式中对属性使用限制库

发布于 2024-12-27 00:56:11 字数 565 浏览 2 评论 0原文

我需要对“是或否”的属性施加限制 - 但不太确定如何构造它 - 我正在尝试以下操作,但不确定它有多对或多错:(建议将不胜感激)谢谢

<xs:element name="DistinctiveMarks">
  <xs:ComplexType>
    <xs:SimpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="present" type="xs:string">
          <xs:restriction base="xs:string">
            <xs:pattern value="yes|no"/>
          </xs:restriction>
        </xs:attribute>
      </xs:extension>
    </xs:SimpleContent>
  </xs:ComplexType>
</xs:element>

I need to put a restriction onto an attribute of "yes or no" - but not too sure of how to structure it - I'm trying the below but not sure how right or wrong it is: (advice would be appreciated) thanks

<xs:element name="DistinctiveMarks">
  <xs:ComplexType>
    <xs:SimpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="present" type="xs:string">
          <xs:restriction base="xs:string">
            <xs:pattern value="yes|no"/>
          </xs:restriction>
        </xs:attribute>
      </xs:extension>
    </xs:SimpleContent>
  </xs:ComplexType>
</xs:element>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

待"谢繁草 2025-01-03 00:56:11

那应该有效。如果您要重用它,另一个选择是声明一个简单类型。然后你可以做 type = MY_YesNoType,包括命名空间前缀(如果有的话)。另一个可能适合的选项是使用枚举。如果您想挖掘 xsd 来构建数据输入的选项列表,而不是根据正则表达式进行验证,那就太好了。

  <xs:simpleType name="MY_YesNoType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="no" />
      <xs:enumeration value="yes" />
    </xs:restriction>
  </xs:simpleType>

That should work. If you are going to reuse it though, another optionn is to declare a simple type. Then you can just do type = MY_YesNoType, include the namespace prefix if you have one. Another option that might suit is using an enumeration. Nice if you want to mine then xsd to build up an option list for data entry, instead of validating against a regex.

  <xs:simpleType name="MY_YesNoType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="no" />
      <xs:enumeration value="yes" />
    </xs:restriction>
  </xs:simpleType>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文