我正在尝试根据XML模式验证XML文档。
这是我的架构:
<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid XML Studio 2012 Developer Edition (Trial) 10.1.8.4306 (http://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MSG">
<xs:complexType>
<xs:sequence>
<xs:element name="EnTete" type="EnTeteType" />
<xs:element name="OME" type="OMEType" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required" />
<xs:attribute name="Version" type="xs:decimal" use="required" />
</xs:complexType>
</xs:element>
<xs:complexType name="EnTeteType">
<xs:sequence>
<xs:element ref="Source" />
<xs:element ref="Creation" />
</xs:sequence>
</xs:complexType>
<xs:element name="Source">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="NEBEFI" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Creation">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:complexType name="OMEType">
<xs:sequence>
<xs:element ref="Derniere-Modif" />
<xs:element ref="Date-Mesure" />
<xs:element name="Reference" type="ReferenceType" />
<xs:element name="Puissance" type="PuissType" />
<xs:element ref="Total" />
</xs:sequence>
<xs:attribute name="Nom" type="xs:string" use="required" />
</xs:complexType>
<xs:element name="Derniere-Modif" type="xs:string" />
<xs:element name="Date-Mesure">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="14" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:complexType name="ReferenceType">
<xs:sequence>
<xs:element ref="Nature" />
<xs:element ref="Statut" />
<xs:element ref="Type-Gest" />
<xs:element ref="Gest" />
<xs:element ref="Type-Res" />
<xs:element ref="Nb-h" />
</xs:sequence>
</xs:complexType>
<xs:element name="Nature" type="xs:string" />
<xs:element name="Statut">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="0" />
<xs:enumeration value="1" />
<xs:enumeration value="2" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Type-Gest" type="xs:string" />
<xs:element name="Type-Res" type="xs:string" />
<xs:element name="Gest">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Nb-h">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:enumeration value="23" />
<xs:enumeration value="24" />
<xs:enumeration value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Puiss">
<xs:complexType>
<xs:sequence>
<xs:element ref="Val" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="Unite" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="Val" type="xs:string" />
<xs:element name="Total">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="Unite" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:complexType name="PuissType">
<xs:all>
<xs:element ref="Puiss" />
</xs:all>
</xs:complexType>
</xs:schema>
这是我的XML文档:
<?xml version="1.0" encoding="ISO-8859-1"?>
<MSG xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" Type="Publication" Version="1.0">
<EnTete>
<Source>NEBEFI</Source>
<Creation>201208092324</Creation>
</EnTete>
<OME Nom="Effacements RE">
<Derniere-Modif>20120809232419</Derniere-Modif>
<Date-Mesure>20120809000000</Date-Mesure>
<Reference>
<Nature>ACHAT</Nature>
<Statut>2</Statut>
<Type-Gest>RE</Type-Gest>
<Gest>RE_ENEL_RE</Gest>
<Type-Res>D</Type-Res>
<Nb-h>24</Nb-h>
</Reference>
<Puiss Unite="MW">
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
<Val>1.500</Val>
</Puiss>
<Total Unite="MWh">5961</Total>
</OME>
</MSG>
现在,当我验证文档(通过Eclipse)时,我得到以下消息:
无效。错误-第18,21行:org.xml.sax.SAXParseException;行号:18;列号:21;CVC-complex-type2.4.a:发现以元素“puiss”开头的内容无效。应为“{Puissance}”之一.
错误-第69,9行:org.xml.sax.SAXParseException;行号:69;列号:9;cvc-complex-type.2.3:元素“ome”不能具有字符[children],因为该类型的内容类型仅为元素。
错误-第70,7行:org.xml.sax.SAXParseException;行号:70;列号:7;cvc-complex-type.2.3:元素“msg”不能具有字符[children],因为该类型的内容类型仅为元素。
这些信息没有任何意义,而且很难(不可能?)若要在web上搜索解决方案,请执行以下操作。
第一个错误至少非常清楚--根据您的模式,OME的倒数第二个子元素应该命名为puiss
,但解析器却找到了puiss
。特别是,在阅读架构的其余部分时,它似乎希望
<Puissance>
<Puiss Unite="MW">
<!-- Val elements as before -->
</Puiss>
</Puissance>
如果这是您自己的架构,您可能希望替换
<xs:element name="Puissance" type="PuissType" />
在ometype
中使用简单的
<xs:element ref="Puiss" />
对于另外两个错误,我同意,它们似乎没有多大意义,除非XML中有一些不可见的非打印字符,但我知道Eclipse在过去会被某些错误的类弄糊涂,并开始报告不存在的问题--一旦修复了第一个错误,其他错误也会消失。
在eclipse中编辑applicationContext.xml时,下面的内容 引发错误: 我在谷歌上搜索了错误,有些地方说订单很重要…我尝试在bean中重新排列项,但错误仍然存在。 怎么啦?
我刚开始使用spring,我现在正在使用Spring4 一旦将war部署到JCS-SaaS(云)中,我将得到以下错误: org.springframework.beans.factory.XML.xmlBeanDefinitionStoreException:类路径资源[pepsiservlet-context.XML]的XML文档中的第33行无效;嵌套异常是org.xml.sax.SAXPars
我试图用XSD模式验证一些XML文件,但得到错误cvc复杂类型。2.4。d: 发现以元素“Number”开头的内容无效。此时不需要任何子元素。,行“31”,列“11”。 这涉及从类继承的字段和。 我已经尝试在
我正在向 Ping Federate 发送 SAML 响应。如果 SAML 响应包含 SAML 属性,则它可以正常工作,而如果 SAML 响应不包含 SAML 属性,则会引发以下错误: 响应XML无效。错误:[error: cvc-plic-type.2.4c:预期元素'Attribute@urn: oasis: name: tc: SAML: 2.0: assertionEncryptedAtt
这个错误出现在web.xml文件的错误页标记上: cvc-complex-type.2.2:元素“location”不能有元素[childrens], 我的web.xml文件如下所示(未显示其他标记): xmlns:xsi=“http://www.w3.org/2001/xmlSchema-instance” xsi:schemalocation=“http://java.sun.com/xml/
问题内容: 我正在使用springs源工具套件。我在weblogic.xml文件中遇到错误- 我的weblogic.xml看起来像这样 错误显示在标签的开头。 问题答案: 将名称空间更改为上述名称空间。