【问题标题】:XML XSD - Allowing arbitrary grand children elementsXML XSD - 允许任意大子元素
【发布时间】:2013-10-13 15:45:53
【问题描述】:

我想创建一个 XSD 架构,其中只有根元素及其直接子元素受 XSD 监管。换句话说,我想允许根元素的任意孙子元素,而根元素和子元素由 XSD 严格验证。 所以如果我有

<text>
   <language>
    ...
   </language>
</text>

它应该强制文本和语言的存在,但不限制我在 . 级别以下添加哪种类型的 XML 标记。

这可能吗?我使用过 XSD,但不是很大,找不到参考,既没有说明我可以这样做,也没有说禁止这样做。

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

    在孙级使用xsd:any

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
               version="1.0">
      <xs:element name="text">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="language">
              <xs:complexType>
                <xs:sequence>
                  <xs:any/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>  
    </xs:schema>
    

    其他注意事项:

    • 调整基数约束(minOccursmaxOccurs) 您的需求。
    • 添加mixed="true" 用于根据您的混合内容(文本和元素) 需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 2020-01-04
      相关资源
      最近更新 更多