首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSD: ComplexType

XSD: ComplexType
EN

Stack Overflow用户
提问于 2009-06-09 21:47:28
回答 2查看 2.6K关注 0票数 0

我有一个这样的complexType:

代码语言:javascript
复制
<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“添加一个子元素。我尝试添加:

代码语言:javascript
复制
<xsd:element name="xxx" type"com:Money"/>

在complexContent元素之后,但它抛出了错误,即元素不是预期的,而且部分问题是这个复杂元素的类型-元素的类型与扩展基类型相同。我正在使用JAXB。有没有其他方法可以做到这一点?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2009-06-09 22:26:32

要获得xsd:complexType中的子元素,您必须在其中放置一个xsd:sequence (第一级,以及注释和属性),这是您想要的状态……子元素。在此序列中,可以包含其他已定义类型的元素,也可以定义新类型。

请参阅XSD complex elements at W3Schools和example的示例。

在某些情况下,您可能希望使用xsd:any元素来允许尚未定义的扩展(松散)。

票数 2
EN

Stack Overflow用户

发布于 2009-06-09 22:21:17

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/972682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档