2014-08-30 104 views
2

以下是示例。請讓我知道同名的副作用。我試圖從這個XSD創建Java對象模型。我可以給complexType和元素使用相同的名稱 - XSD標準

<xs:element name="person" type="person"/> 

     <xs:complexType name="person"> 
      <xs:sequence> 
      <xs:element name="firstname" type="xs:string"/> 
      <xs:element name="lastname" type="xs:string"/> 
      </xs:sequence> 
     </xs:complexType> 
+1

你可以做到這一點。我會說沒有副作用:不會有歧義,因爲引用元素和引用類型沒有歧義。如果你願意,你也可以使用類似於* * – sergioFC 2014-08-30 08:07:23

+1

我只關心如果我從這個XSD創建Java對象模型,不會有任何問題。 – JSR 2014-08-30 08:22:20

+0

我真的不知道是否會有任何相關問題,因爲我從來沒有使用過Java + XSD。也許你應該在你的問題中指定它與java相關。 – sergioFC 2014-08-30 08:32:31

回答

3

這是在XML架構方面很好,你可以爲很明顯從你在任何給定的時間指的上下文有一個元素,並毫不含糊地與同名的類型。

在JAXB的類型將映射到一個Java Person類和元素聲明將成爲對ObjectFactory的方法,用使用元素映射到JAXBElement<Person>。對於具有匿名嵌套complexType的元素(即,不能用於此特定根元素以外的任何其他類型的情況),您只能獲得@XmlRootElement註釋類。

+0

謝謝你的解釋。 – JSR 2014-08-30 09:23:15

相關問題