2016-06-10 39 views
1

這是我的示例XML代碼:如何在XSD中爲具有子元素序列的元素添加屬性聲明?

<Address> 
     <StreetAddress></StreetAddress> 
     <OtherDestination /> 
     <City>TORONTO</City> 
</Address> 
當前正在使用此XSD

<xs:element name="Address" nillable="true"> 
    <xs:complexType> 
     <xs:sequence minOccurs="0"> 
      <xs:element ref="StreetAddress" minOccurs="0"/> 
      <xs:element ref="OtherDestination" minOccurs="0"/> 
      <xs:element ref="City" minOccurs="0"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 

我想一個屬性id添加到Address元素這樣的..

<Address id="first"> 
     <StreetAddress></StreetAddress> 
     <OtherDestination /> 
     <City>TORONTO</City> 
</Address> 

如何更改現有的XSD以滿足我的要求?

回答

1

屬性聲明可以在xs:complexTypexs:sequence後添加:

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      elementFormDefault="qualified"> 
    <xs:element name="Address"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="StreetAddress" minOccurs="0" type="xs:string"/> 
     <xs:element name="OtherDestination" minOccurs="0" type="xs:string"/> 
     <xs:element name="City" minOccurs="0" type="xs:string"/> 
     </xs:sequence> 

     <!------------------------------------------> 
     <!-- This is where to declare attributes: --> 
     <xs:attribute name="id" type="xs:string"/> 
     <!------------------------------------------> 

    </xs:complexType> 
    </xs:element> 
</xs:schema> 

以上XSD將成功地驗證XML。

+0

It works..Thanx很多kjhughes – Thiwanka

相關問題