XSD元素仅包含simpleType

时间:2016-04-15 17:28:59

标签: xml xsd

如何构建XSD以便

<foo>
    <bar>abc</bar>
    <foobar>def</foobar>
</foo>

有效,但

<foo>
    <bar>
        <foobar>abc</foobar>
    </bar>
</foo>

不是。换句话说,如何在XSD中定义元素foo,以便它只能包含简单类型元素而不管它们的名称? foo的子元素名称未定义(可以是任何名称)。

1 个答案:

答案 0 :(得分:0)

使用模式语言的1.1版我认为

<xs:element name="foo">
    <xs:complexType>
        <xs:sequence>
            <xs:any maxOccurs="unbounded" processContents="lax"/>
        </xs:sequence>
        <xs:assert id="simpleType-children" test="not(*/*)"/>
    </xs:complexType>
</xs:element>

声称没有孙子孙女。