2012-03-10 22 views
0

有人請向我解釋一下這個XML模式。我一直在閱讀好幾個小時,但我無法弄清楚限制部分的內容,那些限制值是什麼意思?請求XML模式限制元素說明

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="storagehouse"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="item" maxOccurs="unbounded"> 

     <xs:complexType> 
      <xs:sequence> 
      <xs:element name="name" type="xs:string" minOccurs="0"/> 
      <xs:element name="weight" type="xs:float" minOccurs="0"/> 
      <xs:element name="category" type="xs:string" /> 
      <xs:element name="location" minOccurs="0"> 
       <xs:simpleType> 
       <xs:restriction base="xs:string"> 
        <xs:enumeration value="A1" /> 
        <xs:enumeration value="A2" /> 
        <xs:enumeration value="A3" /> 
        <xs:enumeration value="A4" /> 
        <xs:enumeration value="B1" /> 
        <xs:enumeration value="B2" /> 
        <xs:enumeration value="B3" /> 
        <xs:enumeration value="B4" /> 
        <xs:enumeration value="C1" /> 
        <xs:enumeration value="C2" /> 
        <xs:enumeration value="C3" /> 
        <xs:enumeration value="C4" /> 
        <xs:enumeration value="D1" /> 
        <xs:enumeration value="D2" /> 
        <xs:enumeration value="D3" /> 
        <xs:enumeration value="D4" /> 
       </xs:restriction> 
       </xs:simpleType> 
      </xs:element> 
     </xs:sequence> 
     <xs:attribute name="id" type="xs:string" use="required"/> 
     </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

回答

1

說明限制部的:

  • 的元件稱爲location是簡單類型用限制性的元素。

  • 限制元素定義對一組值的限制:元素location的唯一可接受的值是「A1」,「A2」,...,「D3」,「D4」。

+0

哇謝謝你這麼多人。所以,這並不意味着如果我嘗試在其中插入另一個值,那麼它將不會接受它,或者說構建模式的人會如何接受它? – 2012-03-10 17:07:51

+0

如果使用其他值,則生成的XML將不再對模式有效。 – menjaraz 2012-03-10 17:32:16