使用XMLSpy 2012进行XSD / XML验证

时间:2012-02-04 20:29:55

标签: xml xsd-validation xmlspy

每次尝试使用XMLSpy 2012验证以下xsd文件时,都会出现以下错误:

'凭据'必须引用现有类型。

我确定这是我做的蠢事,但我只是看不到它。

感谢。

                <?xml version="1.0" encoding="UTF-8"?>
                <!--W3C Schema generated by XMLSpy v2011 rel. 2 (x64) (http://www.altova.com)-->
                <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:qvd="http://www.MyCompany.com/qvd" targetNamespace="http://www.MyCompany.com/qvd" elementFormDefault="qualified" attributeFormDefault="unqualified">
                    <annotation>
                        <documentation>
                QueryViewer Defaults config file schema
                Copyright 2012 MyCompany. All rights reserved.
                </documentation>
                    </annotation>
                    <element name="QueryViewerDefaults">
                        <complexType>
                            <sequence>
                                <element name="CompanyName" type="string"/>
                                <element name="QueryPath" type="string"/>
                                <element name="Credentials" type="Credentials"/>
                            </sequence>
                            <attribute name="created" use="required" type="dateTime"/>
                            <attribute name="modified" use="required" type="dateTime"/>
                            <attribute name="fileversion" use="required" type="string"/>
                        </complexType>
                    </element>
                    <complexType name="Credentials">
                        <sequence>
                            <element name="Server" type="string"/>
                            <element name="Database" type="string"/>
                            <element name="UserID" type="string"/>
                            <element name="Password" type="string"/>
                            <element name="IntegratedSecurity" type="boolean" default="false"/>
                        </sequence>
                        <attribute name="encrypted" type="boolean" use="optional" default="false"/>
                    </complexType>
                </schema>

1 个答案:

答案 0 :(得分:0)

这是因为Credentials属于http://www.MyCompany.com/qvd命名空间,因为您在xsd中定义为targetNamespace。所以改变下面的

<element name="Credentials" type="Credentials"/>

<element name="Credentials" type="qvd:Credentials"/>