2014-08-30 45 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

相关问题