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

ComplexType内部ComplexType
EN

Stack Overflow用户
提问于 2016-11-26 23:07:05
回答 1查看 4.6K关注 0票数 1

我试图将可选的元素放置在simpleType元素中,因此我将其更改为complexType。现在我有了complexType在complexType中,验证器说它是错误的,我如何修复它?

代码语言:javascript
复制
 <glowne_role>
    <aktor>William H. Macy</aktor>
    <aktor>
      Frances McDormand
      <komentarz>Prywatnie aktorka jest żoną reżysera.</komentarz>
    </aktor>
  </glowne_role>


<xs:element name="komentarz" type="xs:string" />

<xs:complexType name="glowne_role">
  <xs:complexType name="aktor" minOccurs="1" maxOccurs="3" type="xs:string">
    <xs:element ref="komentarz" minOccurs="0"/>
  </xs:complexType>
</xs:complexType>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-27 01:15:52

您可以在xs:complexType中使用xs:complexType,但不能直接使用。基于您的XML,您希望定义一个元素,glowne_role,它是由一个aktor元素序列组成的复杂类型,然后每个元素也可以是复杂类型的。注意,为了允许文本出现在komentarz之前或后面,您可以在父xs:complexType上设置mixed="true"

总之,这个XSD将成功地验证您的XML:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="komentarz" type="xs:string"/>
  <xs:element name="glowne_role">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="aktor" minOccurs="1" maxOccurs="3">
          <xs:complexType mixed="true">
            <xs:sequence>
              <xs:element ref="komentarz" minOccurs="0"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40824083

复制
相关文章

相似问题

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