我有这个我不理解的xml类型定义,我希望将其映射到java bean的属性:
<xs:complexType mixed="true" name="SimpleLiteral">
<xs:complexContent mixed="true">
<xs:restriction base="xs:anyType">
<xs:sequence>
<xs:any maxOccurs="0" minOccurs="0" processContents="lax"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
我认为最好将其映射到String
- 属性。但是什么是typedefinition有用?
答案 0 :(得分:2)
除非我遗漏了某些内容,否则类型本身的值空间也将等同于简单类型 xs:string 的值空间。我看到了类型系统和层次结构方面的差异。
它与简单类型 xs:string 的不同之处在于它是一个复杂的类型,因此它可以通过扩展派生来创建具有的子类型元素标签和/或属性。这会对使用XML-Schema验证的实例(例如XQuery)的语言产生影响。
我并不是说这必然是上述声明的意图,但无论如何这是可以做到的事情:
<xs:complexType name="stringWithTags">
<xs:complexContent mixed="true">
<xs:extension base="SimpleLiteral">
<xs:sequence>
<xs:element name="some-tag" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>