发现以元素“国家”开头的无效内容。应为“country”之一。“10”行,“14”列
Posted
技术标签:
【中文标题】发现以元素“国家”开头的无效内容。应为“country”之一。“10”行,“14”列【英文标题】:Invalid Content Was Found Starting With Element 'country'. One Of 'country' Is Expected.. Line '10', Column '14'发现以元素“国家”开头的无效内容。应为“country”之一。“10”行,“14”列 【发布时间】:2013-06-14 22:24:21 【问题描述】:我正在尝试解决此问题,但无法理解此错误的根本原因:
发现以元素“国家”开头的无效内容。应为“country”之一。第 10 行,第 14 列
这是我的 xml:
<?xml version="1.0"?>
<!--DTD file reference-->
<!--<!DOCTYPE countries SYSTEM "http://localhost:8080/ajaxprac/file.dtd">-->
<!--DTD file reference-->
<!---->
<countries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://localhost:8080/ajaxprac"
xsi:schemaLocation="http://localhost:8080/ajaxprac fileSchema.xsd">
<country>
<name>pakistan</name>
<cities>
<city>Kassowal</city>
<city>Faisalabad</city>
<city>Multan</city>
</cities>
</country>
<country>
<name>india</name>
<cities>
<city>Agra</city>
<city>Amritsar</city>
<city>Ayodhya</city>
</cities>
</country>
</countries>
这个 xsd 文件是:
<?xml version="1.0"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost:8080/ajaxprac"
xmlns="http://localhost:8080/ajaxprac">
<xs:element name="countries" type="countriesType"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:complexType name="countriesType">
<xs:sequence>
<xs:element name="country" type="countryType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="countryType">
<xs:sequence>
<xs:element ref="name"/>
<xs:element name="cities" type="citiesType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="citiesType">
<xs:sequence>
<xs:element ref="city"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
【问题讨论】:
【参考方案1】:正如所写,您的架构期望“全局”countries
、name
和 city
元素位于 http://localhost:8080/ajaxprac
命名空间中,但“本地”元素(那些在 complexType
中声明的元素,即country
和 cities
) 在 no 命名空间中。您可能想添加elementFormDefault="qualified"
,即
<xs:schema version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://localhost:8080/ajaxprac"
xmlns="http://localhost:8080/ajaxprac"
elementFormDefault="qualified">
将targetNamespace
应用于局部和全局元素声明。
【讨论】:
感谢伊恩·罗伯茨 :-)。我为这个问题浪费了两天时间,你的帮助解决了我的问题。 elementFormDefault="qualified" 丢失:-p 很难相信该错误消息是多么无用,哈哈。无论如何,您的提示是正确的——我有一个“全局”环绕标签,其 xmlns= 没有前缀。为全局标签及其 xmlns 和 viola 添加前缀,问题解决了。以上是关于发现以元素“国家”开头的无效内容。应为“country”之一。“10”行,“14”列的主要内容,如果未能解决你的问题,请参考以下文章
无效的 ReportDefinition Xml:cvc-complex-type.2.4.a:发现以元素“运算符”开头的无效内容
发现以元素'"http://maven.apache.org/POM/4.0.0":plugins' 开头的无效内容
我的Android进阶之旅解决Android Studio报错:发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。
我的Android进阶之旅解决Android Studio报错:发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。
cvc-complex-type.2.4.a:发现以元素“init-param”开头的无效内容
cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头