XSD:根据名称验证子节点并接受以下所有内容

XSD: Validate a subnode based on its name and accept everything below

在 XML 文件中,我有一个特定的节点,我希望它出现,但不验证其任何内容(子元素和属性)。

输入XML

<?xml version="1.0" encoding="utf-8" ?>
<RootContainer  xmlns="MyNamespace">
    <ElementA/>
    <ElementB/>
    <ElementC/>
    <OtherElement SomeAttribute="Value">
        <SubElementX/>
        <SubElementY/>
    </OtherElement>
</RootContainer>

XSD 用于验证

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema  targetNamespace="MyNamespace"
            elementFormDefault="qualified"
            xmlns="MyNamespace"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="RootContainer">
        <xs:complexType>
            <xs:sequence>
                <xs:element name ="ElementA"/>
                <xs:element name ="ElementB"/>
                <xs:element name ="ElementC"/>
                <xs:element name="OtherElement" minOccurs="0" maxOccurs="1" >
                    <xs:complexType>
                        <xs:sequence>
                            <xs:any minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                        <xs:anyAttribute/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

但是我遇到了几个错误(使用 .Net,也使用 Notepad++(使用 Xml 插件)): 使用 XML 模式验证当前文件:

Notepad++ 错误:

ERROR: Element '{MyNamespace}OtherElement', attribute 'SomeAttribute': No matching global attribute declaration available, but demanded by the strict wildcard. 
ERROR: Element '{MyNamespace}SubElementX': No matching global element declaration available, but demanded by the strict wildcard. 
ERROR: Element '{MyNamespace}SubElementY': No matching global element declaration available, but demanded by the strict 

.网络错误:

The 'SomeAttribute' attribute is not declared.
The 'MyNamespace:SubElementX' element is not declared.
The 'MyNamespace:SubElementY' element is not declared.

为什么?我是不是误解了 xs:anyxs:anyAttribute

您可以为此使用 anyType:

<xs:element name="OtherElement" type="xs:anyType" minOccurs="0" maxOccurs="1" />