2013-08-01 39 views
1

我有無錯誤的xsd。下面是我的xsd。我只是指主要因素。 Jaxb轉換後的類在@XmlRootElement(name =「principal」)上出現錯誤:「無法解析名稱空間中的XML元素聲明」和名稱中的「principal」。有人可以幫忙嗎?XSD到jaxb註釋類給出無法解析xml元素錯誤

這裏是我的xsd:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> 
<xs:element name="authorization"><xs:complexType>   <xs:sequence><xs:element name="group" maxOccurs="unbounded" minOccurs="1"><xs:complexType><xs:sequence><xs:element ref="principal" maxOccurs="unbounded" minOccurs="1" /></xs:sequence> 
<xs:attribute name="name" type="xs:string"></xs:attribute> 
</xs:complexType></xs:element> <xs:element name="principal" ><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute type="xs:string" name="family" use="optional"/><xs:attribute name="type" type="xs:string" use="optional"/> 
</xs:extension></xs:simpleContent></xs:complexType></xs:element> 
</xs:schema> 
+0

這是我的xsd: – ram

回答

0

首先你的方案是錯誤的。我想你試圖把這樣的事情:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:element name="authorization"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="group" maxOccurs="unbounded" minOccurs="1"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element ref="principal" maxOccurs="unbounded" 
           minOccurs="1" /> 
         </xs:sequence> 
         <xs:attribute name="name" type="xs:string"></xs:attribute> 
        </xs:complexType> 
       </xs:element> 
       <xs:element name="principal"> 
        <xs:complexType> 
         <xs:simpleContent> 
          <xs:extension base="xs:string"> 
           <xs:attribute type="xs:string" name="family" use="optional" /> 
           <xs:attribute name="type" type="xs:string" use="optional" /> 
          </xs:extension> 
         </xs:simpleContent> 
        </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 

而與此XSD我有同樣的問題給你。如果你改變這個其他XSD的問題將得到解決

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified" attributeFormDefault="unqualified"> 
    <xs:element name="authorization"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="group" maxOccurs="unbounded" minOccurs="1"> 
        <xs:complexType> 
         <xs:sequence> 
          <xs:element ref="principal" maxOccurs="unbounded" 
           minOccurs="1" /> 
         </xs:sequence> 
         <xs:attribute name="name" type="xs:string"></xs:attribute> 
        </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 
    <xs:element name="principal"> 
     <xs:complexType> 
      <xs:simpleContent> 
       <xs:extension base="xs:string"> 
        <xs:attribute type="xs:string" name="family" use="optional" /> 
        <xs:attribute name="type" type="xs:string" use="optional" /> 
       </xs:extension> 
      </xs:simpleContent> 
     </xs:complexType> 
    </xs:element> 
</xs:schema> 

問候

亞歷克斯。