Xml <;任何>;在XSD中不起作用?

Xml <;任何>;在XSD中不起作用?,xml,xsd,Xml,Xsd,我正在尝试创建一个xml模式(xsd)来验证xml文件 <a> <b> <c>...</c> <d>...</d> </b> <b> <c>...</c> <e>...</e> <d>...</d> </b

我正在尝试创建一个xml模式(xsd)来验证xml文件

<a>
    <b>
        <c>...</c>
        <d>...</d>
    </b>
    <b>
        <c>...</c>
        <e>...</e>
            <d>...</d>
    </b>
<a>
-element会起到神奇的作用,但事实并非如此。我做错了什么

编辑:
XmlSpy给了我一个错误:DTD/Schema中没有定义元素“c”。

您不需要架构中额外的“b”,我想您需要的是:

    <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="a">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="b" minOccurs="1" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:any maxOccurs="unbounded" minOccurs="1" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

这表明您将
作为根节点,并且它可以包含一个或多个
节点

编辑:抱歉,没有阅读完整的问题-请尝试以上内容


第二次编辑:上面的另一次尝试

并不像第一次出现的那样自由和容易。默认情况下,我相信,元素的内容仍然必须符合模式,只是它们可以是该模式中的任何内容

如果希望架构中不存在元素,则需要将其定义为:

<xs:any minOccurs="1" processContents="lax"/>

您可以使用“skip”而不是“lax”,后者限制更少


有关更多信息,请参阅。

不幸的是,没有。XmlSpy向我提供此错误:DTD/Schema中未定义元素“c”。编辑后:仍然是相同的错误:XmlSpy向我提供此错误:DTD/Schema中未定义元素“c”+尽管如此,1.XmlSpy还是给了我这个错误:DTD/Schema中没有定义元素“c”。都是松弛和跳跃。
<xs:any minOccurs="1" processContents="lax"/>