cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我尝试为我的xml文件定义一些xsd架构。
xml结构就像
<?xml version="1.0" encoding="UTF-8"?>
<product name="abc" xmlns="http://example.org/productMetadata.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://example.org/productMetadata.xsd productMetadata.xsd">
<metainf />
</product>
(带有一些已定义属性“name”的根标记和一些嵌套标记,如示例“metainf”中所示)
我定义xsd的方法看起来像
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.org/productMetadata.xsd" xmlns="http://example.org/productMetadata.xsd">
<xsd:element name="product">
<xsd:complexType>
<xsd:all>
<xsd:element type="xsd:string" name="metainf" />
</xsd:all>
<xsd:attribute type="xsd:string" name="name" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
然而,我无法针对xsd验证xml。
根据验证器(我使用java,web-app和eclipse),我收到以下失败消息。
找到以元素'metainf'开头的无效内容。其中一个'{metainf}'是预料之中的。
要么
Cvc-complex-type.2.4.a:从元素'metainf'开始发现无效内容。其中一个'{metainf}'是预期的,'第5行',第13列。
任何人提示,我的xsd或xml有什么问题。
只需在elementFormDefault="qualified"
声明中添加xsd:schema
,如下所示:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://example.org/productMetadata.xsd" xmlns="http://example.org/productMetadata.xsd">
根据elementFormDefault
属性的文档:
在此架构的目标命名空间中声明的元素的表单。该值必须为“合格”或“不合格”。默认为“不合格”。
- “unqualified”表示目标名称空间中的元素不需要使用名称空间前缀进行限定。
- “qualified”表示必须使用名称空间前缀限定目标名称空间中的元素。
以上是关于cvc-complex-type.2.4.a:具有子元素和属性的复杂类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章
无效的 ReportDefinition Xml:cvc-complex-type.2.4.a:发现以元素“运算符”开头的无效内容
weblogic.xml 中的错误:cvc-complex-type.2.4.a:发现以元素“prefer-application-packages”开头的无效内容
cvc-complex-type.2.4.a: Invalid content was found starting with element
cvc-complex-type.2.4.a: Invalid content was found starting with element 错误
解决cvc-complex-type.2.4.a: Invalid content was found starting with element
org.activiti.bpmn.exceptions.XMLException: cvc-complex-type.2.4.a: 发现了以元素 ‘outgoing‘ 开头的无效内容