【发布时间】:2015-02-07 09:50:02
【问题描述】:
我是 XML 模式的新手。所以我真的不知道发生了什么。我按照教程创建了一个有效的 XML 模式。但它找不到声明。这很奇怪。
XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users>
<user><id>1</id><username>thomas01</username><display_name>Thomas Müntzer</display_name><birthday>04.12.1956</birthday><email_address>thomas@muentzer.de</email_address><quota>524288000</quota><quota_used>14727606</quota_used></user>
</users>
XML 架构:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.infbox_normal.com" xmlns="http://www.infbox_normal.com" elementFormDefault="qualified">
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:integer"/>
<xs:element name="username" type="xs:string"/>
<xs:element name="display_name" type="xs:string"/>
<xs:element name="birthday" type="xs:string"/>
<xs:element name="email_address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="/^\S+@\S+\.\S+$/"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="quote" type="xs:integer"/>
<xs:element name="quote_used" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
错误信息:
Error - Line 2, 8: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 8; cvc-elt.1: Cannot find the declaration of element 'users'.
我使用this 来验证 XML 架构。
【问题讨论】:
-
您的 XSD 缺少根“模式”元素。
-
@svinja 只是格式错误,元素在那里。