我有一个这样的complexType:
<xsd:complexType name="NightlyRate">
<xsd:complexContent>
<xsd:extension base="com:Money">
<xsd:attribute name="night" type="com:Number" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>现在,我想向本身属于complexType的"NightlyRate“添加一个子元素。我尝试添加:
<xsd:element name="xxx" type"com:Money"/>在complexContent元素之后,但它抛出了错误,即元素不是预期的,而且部分问题是这个复杂元素的类型-元素的类型与扩展基类型相同。我正在使用JAXB。有没有其他方法可以做到这一点?
谢谢!
发布于 2009-06-09 22:26:32
要获得xsd:complexType中的子元素,您必须在其中放置一个xsd:sequence (第一级,以及注释和属性),这是您想要的状态……子元素。在此序列中,可以包含其他已定义类型的元素,也可以定义新类型。
请参阅XSD complex elements at W3Schools和example的示例。
在某些情况下,您可能希望使用xsd:any元素来允许尚未定义的扩展(松散)。
发布于 2009-06-09 22:21:17
<xsd:complexType name="NightlyRate">
<xsd:complexContent>
<xsd:extension base="com:Money">
<xsd:sequence>
<xsd:element name="xxx" type"com:Money">
<xsd:complexType>
<xsd:complexContent>
/// Attributes here
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="night" type="com:Number" use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>https://stackoverflow.com/questions/972682
复制相似问题