2012-10-10 65 views
1

是否有可能有xsd:complexType包含xsd:sequencexsd:element如何爲沒有包裝元素的列表編寫XSD

<xsd:complexType name="employeesType" mixed="true"> 
    <xsd:sequence> 
     <xsd:element name="employee" type="employeeType" 
      maxOccurs="unbounded" minOccurs="0" /> 
    </xsd:sequence> 
    <!-- ERROR 
    <xsd:element name="responseTime" type="responseTimeType"></xsd:element> 
    --> 
</xsd:complexType> 

回答

1

正如你展示在你的榜樣上面不允許有<xsd:element /><xsd:complexType />直接子(見reference at w3schools.com)。考慮到從例如你previous question我想你想做的事可以用這樣的模式來取得的成就:

<?xml version="1.0"?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="root"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="date" type="xsd:string" /> 
      <xsd:element name="responseTime" type="xsd:decimal" /> 
      <xsd:element name="employee" minOccurs="0" maxOccurs="unbounded"> 
       <xsd:complexType> 
        <xsd:sequence> 
         <xsd:element name="name" type="xsd:string" /> 
        </xsd:sequence> 
       </xsd:complexType> 
      </xsd:element> 
     </xsd:sequence> 
    </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

這驗證了您的示例代碼:

<?xml version="1.0"?> 
<root> 
    <date> 9:51 AM 10/10/2012 </date> 
    <responseTime> 1.20</responseTime> 
    <employee> 
     <name> Mohammad</name> 
    </employee> 
    <employee> 
     <name> Ali</name> 
    </employee> 
    <employee> 
     <name> Mostafa</name> 
    </employee> 
    <employee> 
     <name> Mahmoud</name> 
    </employee> 
</root> 

您可能要更改類型的<date />xsd:date

+0

是的,謝謝,它只是知道它是如何工作的。 –