XML模式不验证?

时间:2013-09-17 08:16:37

标签: xml xsd

我目前正在学习XML,我很难理解它的语法。目前我试图了解全局元素功能..但我坚持这个例子。架构不会使用XML文件进行验证。如果可以的话,请指出错误......谢谢

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="FirstName" type="xs:string"/>
    <xs:element name="LastName" type="xs:string"/>
    <xs:element name="Salary" type="xs:integer"/> 
    <xs:element name="Employees">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" name="Employee">
                    <xs:complexType>
                        <xs:sequence>

                            <xs:element name="Name">
                                <xs:complexType>
                                    <xs:sequence>

                                        <xs:element ref="FirstName"/>
                                        <xs:element ref="LastName"/>

                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>

                            <xs:choice>
                                <xs:element>
                                    <xs:simpleType>
                                        <xs:restriction base="Salary">
                                            <xs:minInclusive value="10000"/>
                                            <xs:maxInclusive value="90000"/>
                                        </xs:restriction>
                                    </xs:simpleType>                         
                                </xs:element>
                                <xs:element name="Wage" type="xs:decimal"/>
                            </xs:choice>


                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

1 个答案:

答案 0 :(得分:0)

以下是使用 Xerces 验证期间架构抛出的错误:

  • src-resolve:无法将名称“Salary”解析为(n)'type definition'组件。
  • cos-applicable-facets:#AnonType_EmployeeEmployees类型不允许使用Facet'maxInclusive'。
  • src-element.2.1 ::其中一个'ref'或'name'必须出现在本地元素声明中。

您可以将其重写为:

<xs:element name="Salary">
    <xs:simpleType>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="10000"/>
            <xs:maxInclusive value="90000"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>