Xml ComplexType内部的ComplexType

Xml ComplexType内部的ComplexType,xml,xsd,complextype,Xml,Xsd,Complextype,我试图将可选的元素放在simpleType元素中,所以我将其更改为complexType。现在我在complexType中有complexType,验证器说它是错误的,我如何修复它 <glowne_role> <aktor>William H. Macy</aktor> <aktor> Frances McDormand <komentarz>Prywatnie aktorka jest żon

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

 <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>

威廉·梅西
弗朗西斯·麦克多曼
Prywatnie aktorka开了一个关于reżysera的玩笑。

您可以在
xs:complexType
中有一个
xs:complexType
,但不能直接使用。根据您的XML,您希望将元素
glowne_role
定义为复杂类型,由一系列
aktor
元素组成,然后每个元素也可以是复杂类型。请注意,要允许文本位于您的
komentarz
之前或之后,您可以在父
xs:complexType
上设置
mixed=“true”

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

<?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>

您可以在
xs:complexType
中有一个
xs:complexType
,但不能直接使用。根据您的XML,您希望将元素
glowne_role
定义为复杂类型,由一系列
aktor
元素组成,然后每个元素也可以是复杂类型。请注意,要允许文本位于您的
komentarz
之前或之后,您可以在父
xs:complexType
上设置
mixed=“true”

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

<?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>