XSD验证:使用与定义相同的文件中的属性?

时间:2016-01-11 20:33:49

标签: xsd attributes

我有一个像这样的大型.xsd文件:

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xhtml="http://www.w3.org/1999/xhtml"
            xmlns="foo:bar:baz" xmlns:quux="foo:bar:baz"
            quux:attr1="A" quux:attr2="5">
    <xsd:attribute name="attr1" type="xsd:string"/>
    <xsd:attribute name="attr2" type="xsd:int"/>
    <xsd:annotation>
        <xsd:documentation>
            <xhtml:h1 quux:attr1="A" quux:attr2="5">
                Documentation here
            </xhtml:h1>
        </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType name=...  />
</xsd:schema>

我收到错误:&#34; foo:bar:baz:attr1&#34;属性未声明。

为什么找不到该属性?它就在那里。如何将这些属性提供给文档的标题?

未来编辑:上面的架构得到了实际XML验证器的绿灯。猜猜Visual Studio只是读错了。

1 个答案:

答案 0 :(得分:1)

您展示的XSD可以导入或包含到包含元素声明的另一个XSD中,但仅凭它不能用于验证XML文件,因为它甚至不会声明单个元素。