2016-11-11 131 views
0

這可能接近於here問題的重複。但這是不一樣的。在閱讀上面的答案之後,我知道必須爲我的場景添加哪些代碼,但我無法弄清楚它放在哪裏。這是我目前xsd文件 如何在具有序列的xsd中定義具有屬性的元素

<tns:element name="WSO2Lanka"> 
    <tns:complexType> 
     <tns:sequence> 
      <tns:element name="Employees" type="EmployeeBaseType"> 
      </tns:element> 
     </tns:sequence> 
    </tns:complexType> 
</tns:element> 

<tns:complexType name="EmployeeBaseType"> 
    <tns:sequence> 
     <tns:element name="Employee" type="EmployeType"> 
     </tns:element> 
    </tns:sequence> 
</tns:complexType> 

<tns:complexType name="EmployeType"> 
    <tns:sequence> 
     <tns:element name="name" type="nameType"> 
     </tns:element> 
     <tns:element name="company" type="tns:string"></tns:element> 
     <tns:element name="position" type="tns:string"></tns:element> 
     <tns:element name="address" type="addressType"></tns:element> 
     <tns:element name="tele" type="tns:string"></tns:element> 

    </tns:sequence> 

</tns:complexType> 

<tns:complexType name="nameType"> 
    <tns:sequence> 
     <tns:element name="fname" type="tns:string"> 
     </tns:element> 
     <tns:element name="lname" type="tns:string"> 
     </tns:element> 
    </tns:sequence> 
</tns:complexType> 

<tns:complexType name="addressType"> 
    <tns:sequence> 
     <tns:element name="city" type="tns:string"></tns:element> 
     <tns:element name="province" type="tns:string"></tns:element> 

    </tns:sequence> 
</tns:complexType> 

,這是我需要在我的xml文件的內容。

<?xml version="1.0" encoding="UTF-8"?> 
<WSO2Lanka xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="../EmployeeXMLSchema.xsd"> 
    <Employees> 
     <Employee eid="001"> 
      <name> 
       <fname>kasun</fname> 
       <lname>Siyambalapitiya</lname> 
      </name> 
      <company>WSO2</company> 
      <position>intern</position> 
      <address> 
       <city>Kuliyapitiya</city> 
       <province>North Western</province> 
      </address> 
      <tele>0715523333</tele> 
     </Employee> 
    </Employees> 
</WSO2Lanka> 

正如xml我需要的元素Employee屬性爲ID 我知道下面的代碼是要添加的一個類型的eid,可以請你幫我算出這個出。在此先感謝

<tns:complexType> 
    <tns:simpleContent> 
     <tns:extension base="tns:ID"> 

      <tns:attribute name="edi" type="tns:ID" use="required"></tns:attribute> 

     </tns:extension> 

    </tns:simpleContent> 
</tns:complexType> 

回答

0

您可以請嘗試通過更新「EmployeType」如下(關閉序列元素後在complexType中添加屬性)?

<tns:complexType name="EmployeType"> 
<tns:sequence> 
    <tns:element name="name" type="nameType"> 
    </tns:element> 
    <tns:element name="company" type="tns:string"></tns:element> 
    <tns:element name="position" type="tns:string"></tns:element> 
    <tns:element name="address" type="tns1:addressType"></tns:element> 
    <tns:element name="tele" type="tns:string"></tns:element> 

</tns:sequence> 
<tns:attribute name="eid" type="tns:string"/> 

添加下面一行在你的 「EmployeeType」 的定義。

***<tns:attribute name="eid" type="tns:string"/>*** 
+0

感謝您的回答,我稍後再嘗試,並讓您知道它是否有效 –

相關問題