Xml XSD;如何混合复杂和简单的内容?

Xml XSD;如何混合复杂和简单的内容?,xml,validation,xsd,Xml,Validation,Xsd,我有多个XML文件,它们可以在最低级别上具有HTMLb或I标记和/或文本,如以下示例所示 <root> <text> Hallo Welt, wie geht es so? </text> <text> <i>Hallo Welt, wie geht es so?</i> </text> &

我有多个XML文件,它们可以在最低级别上具有HTML
b
I
标记和/或文本,如以下示例所示

<root>
  <text>    Hallo Welt, wie geht es so?                             </text>

  <text>    <i>Hallo Welt, wie geht es so?</i>                      </text>
  <text>    Hallo <i>Welt, wie geht es so?</i>                      </text>

  <text>    <b>Hallo Welt, wie geht es so?</b>                      </text>
  <text>    Hallo <b>Welt, wie geht es so?</b>                      </text>

  <text>    <b>Hallo Welt</b>, <i>wie geht es so?</i>               </text>
  <text>    <b>Hallo Welt</b>, <i>wie geht es so</i>?               </text>

  <text>    <i>Hallo Welt</i>, <b>wie geht es so?</b>               </text>
  <text>    <i>Hallo Welt</i>, <b>wie geht es so</b>?               </text>

  <text>    <i>Hallo Welt, <b>wie geht es so</b>?</i>               </text>
  <text>    <b>Hallo Welt, <i>wie geht es so</i>?</b>               </text>

  <text>    Hallo <i>Welt, <b>wie geht es so</b>?</i>               </text>
  <text>    Hallo <b>Welt, <i>wie geht es so</i>?</b>               </text>

  <text>    <b>Hallo <i>Welt</i></b>, <i>wie <b>geht </b></i>es so? </text>
</root>
不幸的是,这个验证站点
http://www.utilities-online.info/xsdvalidation/
告诉我以下错误:

错误-第7行,50:org.xml.sax.SAXParseException;行号:7;栏目号:50;cvc复杂类型.2.3:元素“author”不能有字符[子项],因为该类型的内容类型仅为元素

问候


Mario

XML模式通过使用声明
complexType
,为混合内容提供了有限的支持,但不能进一步约束混合内容中的文本节点。您只能将简单类型应用于简单内容

<xs:complexType name="articleType">
    <xs:sequence>
        <xs:element name="author"       type="textType" />
        <xs:element name="title"        type="textType" />
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required" />      
</xs:complexType>

<!-- TEXT -->
<xs:complexType name="textType">
    <xs:sequence>
        <xs:element name="i"    type="iType"    minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="b"    type="bType"    minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>

<!-- I -->
<xs:complexType name="iType">
    <xs:sequence>
        <xs:element name="b"    type="bType"    minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>

<!-- B -->
<xs:complexType name="bType">
    <xs:sequence>
        <xs:element name="i"    type="iType"    minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
</xs:complexType>