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

XSD验证:是否在与定义相同的文件中使用属性?,xsd,attributes,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" q

我有一个大的.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>

这里的文档
我得到一个错误:“foo:bar:baz:attr1”属性未声明

为什么找不到属性?就在那里。如何使这些属性可用于文档的标题


未来编辑:上述模式从实际的XML验证器中获得了绿灯。我猜只是Visual Studio读取的内容不正确。

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

我不尝试验证XML文件,我试图在文档中使用一个属性而不出错。是什么工具导致了这个错误?你能提供一份工作吗?谢谢。@kjhughes当我在Visual Studio中编辑时会显示错误。当我通过Xerxes-C(在一个专有程序中)运行它时,我得到的错误消息是模糊的,但我有理由相信它归结到这个文件。你还需要更多的东西来考虑它的完整性和可验证性吗?这在我的机器上中断。发生错误的最小完整XSD,以及其他人可以用来重现问题的特定指令。