2013-09-23 115 views
0

我有一个XSD架构,我试图实现一些基本的验证。如何使用XSD/XML Schema来限制XML元素具有有限长度的字符串内容?

所提供的代码如下:

<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等。

最简单的实现方法是什么?我试图看看长度,但它似乎并没有在构建文件时进行验证。

感谢

回答

0
<?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>