0

我目前正在学习 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>
4

1 回答 1

0

以下是架构在使用Xerces进行验证期间引发的错误:

  • src-resolve:无法将名称“Salary”解析为(n)“类型定义”组件。
  • 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>
于 2013-09-17T08:33:28.020 回答