标签: xml-validation

元素或属性与QName生成不匹配

我有一个架构,我使用XML编辑器"扁平化".在我弄平它后,我得到验证错误.我该怎么办才能解决这个问题?

错误信息:

F [Xerces]元素或属性与QName生成不匹配:QName :: =(NCName':')?NCName.

码:

<xs:import namespace="http://www.opengis.net/gml"
    schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"
    xmlns:="http://www.opengis.net/gml/3.1.1" />
<xs:annotation xmlns:="http://www.opengis.net/sps/1.0">
    <xs:documentation>
        <copyright>                 SPS is an OGC Standard.                 Copyright (c)
            2007,2010 Open Geospatial Consortium, Inc. All Rights Reserved.                 To
            obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
        </copyright>
    </xs:documentation>
</xs:annotation>
Run Code Online (Sandbox Code Playgroud)

这是一个截图,可能更好地说明我的错误: 在此输入图像描述

编辑:

以某种方式删除冒号.这种"扁平化"究竟应该做什么?

xsd的展平采用了包含大量包含的xsd,并将其全部放入一个文件中(没有任何包含).

xml xsd soap xml-validation ogc

3
推荐指数
1
解决办法
2万
查看次数

Linux 命令行工具验证 XSD 1.1?

是否有任何命令行工具可以根据 XSD 1.1版验证 XML ?

Xmllint 不验证版本 1.1。

command-line command-line-interface xml-validation xsd-1.1

3
推荐指数
1
解决办法
3858
查看次数

如何在 XSD 中为具有子元素序列的元素添加属性声明?

这是我的示例 XML 代码:

<Address>
        <StreetAddress></StreetAddress>
        <OtherDestination />
        <City>TORONTO</City>
</Address>
Run Code Online (Sandbox Code Playgroud)

目前正在使用这个 XSD:

<xs:element name="Address" nillable="true">
    <xs:complexType>
        <xs:sequence minOccurs="0">
            <xs:element ref="StreetAddress" minOccurs="0"/>
            <xs:element ref="OtherDestination" minOccurs="0"/>
            <xs:element ref="City" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

我想idAddress这样的元素添加一个属性..

<Address id="first">
        <StreetAddress></StreetAddress>
        <OtherDestination />
        <City>TORONTO</City>
</Address>
Run Code Online (Sandbox Code Playgroud)

我应该如何更改现有的 XSD 以满足我的要求?

xml xsd xml-validation xsd-validation

3
推荐指数
1
解决办法
9882
查看次数

如果未指定多重性,是否需要元素?

我正在编写一个库,它根据XSD中定义的XML消息格式生成xml消息.但是,我对以下架构有几个问题:

对象中是否SOPClass需要元素ParticipantObjectIdentificationContents

<xs:complexType name="ParticipantObjectIdentificationContents">
    <xs:sequence>
        <!-- there are other elements here -->
        <xs:group ref="DICOMObjectDescriptionContents"/>
        <!-- there are other elements here -->
    </xs:sequence>
</xs:complexType>
<xs:group name="DICOMObjectDescriptionContents">
    <xs:sequence>
        <!-- there are other elements here -->
        <xs:element ref="SOPClass"/>
        <!-- there are other elements here -->
    </xs:sequence>
</xs:group>
<xs:element name="SOPClass">
    <xs:complexType>
        <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="unbounded" ref="Instance"/>
        </xs:sequence>
        <xs:attribute name="UID" type="xs:token"/>
        <xs:attribute name="NumberOfInstances" use="required" type="xs:integer"/>
    </xs:complexType>
</xs:element>
<xs:element name="Instance">
    <xs:complexType>
        <xs:attribute name="UID" use="required" type="xs:token"/>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

xml xsd xml-validation

2
推荐指数
1
解决办法
2150
查看次数

XML Schema (XSD) 中十进制类型的限制是什么?

XML Schema 中十进制类型的最小和最大可接受值是多少?( type="xs:decimal")?

xml xsd decimal xml-validation xsd-validation

2
推荐指数
1
解决办法
4936
查看次数

错误:元素“xsd:schema”的前缀“xsd”未绑定

我对 XML 非常陌生,目前准备使用 Ineasysteps。我不断从解析器那里得到同样的问题

5:元素“xsd:schema”的前缀“xsd”未绑定。

这是 hello.xml:

<?xml version = "1.0" encoding = "UTF-8" ?>

<!-- XML in easy steps - Page 82. -->

<doc xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" 
xsi:noNamespaceSchemaLocation = "hello.xsd" >

<msg>Hello World</msg>

</doc>
Run Code Online (Sandbox Code Playgroud)

这是 hello.xsd 文档

<?xml version="1.0" encoding = "UTF-8" ?>

<!-- XML in easy steps - Page 84. -->

<xsd:schema>

<!-- DECLARE ELEMENTS. -->  

<!-- Simple types. -->
<xsd:element name="msg" type="xsd:string"/>

 <!-- Complex types. -->
 <xsd:element name="doc" type="docType"/>

<!-- DEFINE STRUCTURE. -->

<xsd:complexType name="docType">
<xsd:sequence>
    <xsd:element ref="msg"/> …
Run Code Online (Sandbox Code Playgroud)

xml xsd xml-validation xsd-validation

2
推荐指数
1
解决办法
8161
查看次数

<xs:any>和匹配的通配符错误

目标:创建一个complexType,允许元素"skip"以任意顺序包含任意元素,并且无误地验证我的xml.

架构:skip.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema
  xmlns="http://www.example.com/main"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="http://www.example.com/main" 
  attributeFormDefault="unqualified" 
  elementFormDefault="qualified"
  >

  <xs:complexType name="skip">
    <xs:sequence>
      <xs:any minOccurs="1" 
              maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>
Run Code Online (Sandbox Code Playgroud)

我将skip.xsd导入到我的main.xsd中

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema
  xmlns:esc="http://www.escmatrix.com/main"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  targetNamespace="http://www.example.com/main" 
  attributeFormDefault="unqualified" 
  elementFormDefault="qualified"
  >

    <xs:include 
      schemaLocation="http://www.example/skip" />

    <xs:element name="tasks">
      <xs:complexType>
        <xs:choice minOccurs="0" 
                   maxOccurs="unbounded" >
          <xs:element name="skip" 
                      type="esc:skip" />
        </xs:choice>
      </xs:complexType>
    </xs:element>
<xs:schema>
Run Code Online (Sandbox Code Playgroud)

我需要验证可以具有以下形式的xml:

<skip>
   <anyelement1></anyelement1>
   <anyelement2></anyelement2>
   <anyelementN></anyelementN>
</skip>
Run Code Online (Sandbox Code Playgroud)

问题:验证时出错; "cvc-complex-type.2.4.c:匹配的通配符是严格的,但是找不到元素'anyelement1'的声明"

xml eclipse xsd xml-validation

1
推荐指数
1
解决办法
2196
查看次数

“没有语法约束” Eclipse错误?

我正在尝试解决Eclipse遇到的XML验证问题。

当我尝试根据指定的架构验证xml时,我立即得到一个

No grammar constraints (DTD or XML Schema) referenced in the document.

错误。我尝试针对其进行验证的XML模式位于远程Web服务器上。我办公室中的某些人可以对此进行验证,而其他人则不能。我们正在使用相同的xml。

我注意到,成功进行验证后,Eclipse需要花费几分钟的时间,大概是因为它正在在线搜索模式。las,如果无法在我的计算机上进行验证,则故障是立即发生的。好像Eclipse甚至没有尝试在线搜索。

我目前正在使用Kepler发行版的Eclipse IDE JD(我认为是4.3),但是在Juno(3.8)上使用相同的xml进行验证既成功又失败。无论Eclipse版本如何,都能够成功进行验证的机器都是成功的。同样,无论Eclipse版本如何,都不成功的机器都是这样。

我完全迷路了。

eclipse xsd xml-validation eclipse-kepler

1
推荐指数
1
解决办法
917
查看次数

在 XSD 中将 XML 元素设置为无命名空间?

我正在尝试根据 XSD 验证 XML。在这个 XML 中有带命名空间和不带命名空间的标签。

<my:person xmlns:my="http://my.namespace.com">
  <my:name>John Doe</my:name>
  <my:year>1988</my:year>
  <namespaceLessElement>some value</namespaceLessElement>
</my:person>
Run Code Online (Sandbox Code Playgroud)

我的 XSD 看起来像这样。验证失败,因为根据 XSD,namespaceLessElement有一个命名空间。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema xmlns:myNamespace="http://my.namespace.com"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="http://my.namespace.com"
           elementFormDefault="qualified">

    <xs:element name="person" type="myNamespace:person"/>

    <xs:complexType name="person">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="year" type="xs:int"/>
            <xs:element name="namespaceLessElement" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

</xs:schema>
Run Code Online (Sandbox Code Playgroud)

我找不到有关如何关闭namespaceLessElement. 有没有办法做到这一点?

xml xsd xml-validation

1
推荐指数
1
解决办法
7536
查看次数

为什么省略可选子元素时 DTD 验证失败?

XML 文档已嵌入 DTD 声明并且失败。

这里是DTD:

<!DOCTYPE movieList [

<!ELEMENT movieList (movie+)>
<!ELEMENT movie (title+, rating+, runTime+, genreList*, dateReleased+, 
          country+, review+, description+, director+)>

<!ELEMENT title (#PCDATA)>
<!ELEMENT rating (#PCDATA)>
<!ELEMENT runTime (#PCDATA)>
<!ELEMENT genreList (genre+)>
<!ELEMENT genre (#PCDATA)>
<!ELEMENT dateReleased (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT review (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT director (#PCDATA)>
]>
Run Code Online (Sandbox Code Playgroud)

这是 XML 元素:

<movieList>
<movie>
    <title>Jaws</title>
    <rating>PG</rating>
    <runTime>124 minutes</runTime>
    <genreList>
        <genre>Adventure</genre>
        <genre>Thriller</genre>
    </genreList>
    <dateReleased>20 June 1975</dateReleased>
    <country>USA</country>
    <review>8</review>
    <description>When a gigantic great white shark begins to menace …
Run Code Online (Sandbox Code Playgroud)

xml dtd xml-validation

1
推荐指数
1
解决办法
281
查看次数

有没有办法在没有实际解析的情况下找到XML文件中的异常?

我有一个应用程序,只需将XML文件作为BLOB上传到数据库.我知道有几种方法可以使用XML验证DocumentBuilderFactory,DocumentBuilder然后解析它等,但我所说的数据很大,输入XML文件中出现异常的可能性较小.

但是,只是为了确保语法正确,有没有办法捕获文件中的异常而不实际解析每个文件?

xml parsing xsd xml-validation xsd-validation

1
推荐指数
1
解决办法
58
查看次数