2012-03-10 68 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