2013-10-13 51 views
0

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

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

应该执行的文字和语言的存在,但施加任何限制什么样的XML标记的我下面添加的水平。

这可能吗?我已经使用了XSD,但没有在很大程度上找到一个参考,既没有说我可以做到,也没有被禁止这样做。

回答

2

使用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"