【问题标题】:XML Schema: Cannot find the declaration of element 'users'XML 架构:找不到元素“用户”的声明
【发布时间】: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 只是格式错误,元素在那里。

标签: xml xsd


【解决方案1】:

您的 XSD 定义了一个目标命名空间 http://www.infbox_normal.com,但您的 XML 没有命名空间。

【讨论】:

  • 但我找到了一个相关的问题。您如何解释在该示例中可以通过相同的测试? stackoverflow.com/questions/20949846/… 在该示例中,经过验证的 xml 文件中没有命名空间。
  • @JACKM 而且架构中也没有targetNamespace。
  • 看我在第一条评论中给你的网页。然后将 xml 文件和 xml 架构粘贴并复制到 utilities-online.info/xsdvalidation。 xml 文件没有任何命名空间信息。但是验证可以通过。
  • 哦,是的,你是对的。谢谢你。我真的对一些概念感到困惑。
猜你喜欢
  • 2012-07-02
  • 2015-07-04
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多