2013-09-23 152 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>