XSD自我引用问题

时间:2014-10-03 02:06:04

标签: xml xsd odata

我们正在从OData XML创建自己的架构,使其更加简单和通用,以便我们的合作伙伴能够使用它。但是,我偶然发现了这个问题,它调用了自己的类型(自我引用),我无法找到解决这个问题的方法。

这里有片段,有什么想法吗?

<xsd:element name="User" type="userType"/>
<xsd:complexType name="userType">
    <xsd:all>
        <xsd:element name="customManagerList">
            <xsd:annotation>
                <xsd:documentation>Custom Manager</xsd:documentation>
            </xsd:annotation>
            <xsd:complexType>
                <xsd:sequence>
                    <xsd:element name="customManager" type="userType" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
    </xsd:all>
</xsd:complexType>
</xsd:schema>

1 个答案:

答案 0 :(得分:2)

到目前为止,我认为没有任何问题。只需将您的代码段包含在<xsd:schema>标记中,例如:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</xsd:schema>

并通过验证。有用。允许complexType引用自身。