【问题标题】:XSD: Content of an element does not matterXSD:元素的内容无关紧要
【发布时间】:2014-06-03 08:07:05
【问题描述】:

在我的 XSD 架构中实现以下目标时遇到了一些问题。 我有一个 XML,其中找到了一个数据元素。此数据元素的内容可能会有所不同 取决于发生的不同转变。所以我真的不能在上面放一个模式。

我只想忽略数据元素中的所有内容,让它直接传递架构而不会出错。

我的 XML:

<root>
    <element1>12345</element1>
    <element2>abcde</element2>
    <data>
        <lots></lots>
        <of></of>
        <content></content>
    </data>
</root>

在我的 XSD 中,我执行以下操作:

<xs:element name="data">
    <xs:complexType>
       <xs:sequence>
          <xs:any processContents="skip" minOccurs="0" />
       </xs:sequence>
     </xs:complexType>
</xs:element>

我曾想过使用 processContents skip 来解决这个问题,但不知何故,这不起作用。 有人知道为什么它不起作用,或者手头有更好的解决方案吗?

谢谢!

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    它应该工作。您的示例中的问题是 &lt;data&gt; 中只允许使用 one 元素,因为您没有声明 maxOccurs 并且默认值为 one。如果你把它改成

    <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
    

    它应该验证。

    fiddle

    【讨论】:

      猜你喜欢
      • 2011-12-11
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      相关资源
      最近更新 更多