针对xml验证xsd

时间:2014-08-15 11:53:25

标签: xml xsd

我刚学完xml和xsd。我制作了我的第一个xml文档,我只是想确保我使用xsd正确验证它。

我的xml代码:

<?xml version="1.0" encoding="UTF-8" ?>
<user xmlns="http://localhost" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://localhost user.xsd">
<name>
    <first>jack</first>
    <last>hals</last>
</name>
<name>
    <first>harry</first>
    <last>potter</last>
</name>
</user>

我的xsd代码:

<?xml vesion="1.0" encoding="UTF-8" ?><xs:schema xmlns:xs="http://WWW.W3.org/2001/XMLSchema" targetNamespace="http://localhost" xmlns="http://localhost" elementFormDefault="qualified">
<xs:element name="user" block="substitution" minOccurs="1" maxOccurs="1">
<xs:complexType>
    <xs:sequence>
        <xs:element name="name" minOccurs="1" maxOccurs="5" block="substitution">
            <xs:complexType>
                <xs:sequence>
                    <xs:element name="first" type="xs:string" default="jack" minOccurs="1" maxOccurs="1" block="substitution" />
                    <xs:element name="last" type="xs:string" default="hals" minOccurs="1" maxOccurs="1" block="substitution" />
                </xs:sequence>
            </xs:complexType>
        </xs:element>
    </xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我尝试过在线验证工具,并说:A pseudo attribute name is expected.

现在该怎么办?

1 个答案:

答案 0 :(得分:2)

<?xml vesion="1.0"

应该是

<?xml version="1.0"

(你错过了&#34; r&#34;)。此外,名称空间URI区分大小写,因此

xmlns:xs="http://WWW.W3.org/2001/XMLSchema"

需要改为

xmlns:xs="http://www.w3.org/2001/XMLSchema"