【问题标题】:How can I use XSD / XML Schema to constrain an XML element to have string content of limited length?如何使用 XSD / XML Schema 将 XML 元素限制为长度有限的字符串内容?
【发布时间】:2013-09-23 10:22:56
【问题描述】:

我有一个 XSD 架构,我试图在其中实现一些基本验证。

提供的代码如下:

<xs:complexType>
    <xs:sequence>
          <xs:element name="PersonID" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="AgreementID" type="xs:string" minOccurs="1" maxOccurs="1"/>

我想添加一些验证,因此元素 PersonID 最多只能有 8 个字符。协议ID有7个等等。

实现这一点的最简单方法是什么?我试过查看长度,但在构建文件时似乎没有验证。

谢谢

【问题讨论】:

    标签: xml xsd string-length


    【解决方案1】:
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
               version="1.0">
    
      <xs:simpleType name="PersonIDType">
        <xs:restriction base="xs:string">
          <xs:maxLength value="8" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="AgreementIDType">
        <xs:restriction base="xs:string">
          <xs:maxLength value="7" />
        </xs:restriction>
      </xs:simpleType>
    
      <xs:complexType name="TestType">
        <xs:sequence>
          <xs:element name="PersonID" type="PersonIDType" minOccurs="1" maxOccurs="1"/>
          <xs:element name="AgreementID" type="AgreementIDType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
    
    </xs:schema>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多