在从Informatica目标创建的XML文件上运行xmllint时,我收到以下错误。 XSD和XML摘录也在下面。在XML中,我看到数据填充,所以我很困惑为什么我收到错误?任何帮助将不胜感激。仅供参考,我对XML非常陌生,所以请耐心等待。
错误 -
tac_mps_xml_generator_000246917_04012015.xml:171:element moday1:架构有效性错误:元素'moday1':不期望此元素。预计是(month_day1)。 tac_mps_xml_generator_000246917_04012015.xml无法验证
<xs:complexType name="MoDayType">
<xs:sequence>
<xs:element name="month_day"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="5"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element name="renderingphys" type="nameDetlType"/>
<xs:element name="patienttotal" type="xs:integer" default="0"/>
<xs:element name="proceduretotal" type="xs:integer" default="0"/>
<xs:element name="mintotal" type="xs:integer" default="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="hoursbilleddetlType">
<xs:sequence>
<xs:element name="moday1" minOccurs="0" maxOccurs="1" type="MoDayType"/>
</xs:sequence>
</xs:complexType>
<moday1>
<month_day/>
<renderingphys>
<fname/>
<mname/>
<lname/>
<suffix/>
</renderingphys>
<patienttotal></patienttotal>
<proceduretotal></proceduretotal>
<mintotal></mintotal>
</moday1>
答案 0 :(得分:0)
似乎为了创造一个展示问题的最小例子,你不小心把这个问题删掉了。
你的XML:
<moday1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="try.xsd">
<month_day/>
<renderingphys>
<fname/>
<mname/>
<lname/>
<suffix/>
</renderingphys>
<patienttotal></patienttotal>
<proceduretotal></proceduretotal>
<mintotal></mintotal>
</moday1>
对您的XSD有效(添加了根元素并且剪裁了无关紧要的缺失类型),没有错误:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.01">
<xs:element name="moday1" type="MoDayType"/>
<xs:complexType name="MoDayType">
<xs:sequence>
<xs:element name="month_day">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="renderingphys"/>
<xs:element name="patienttotal" type="xs:integer" default="0"/>
<xs:element name="proceduretotal" type="xs:integer" default="0"/>
<xs:element name="mintotal" type="xs:integer" default="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="hoursbilleddetlType">
<xs:sequence>
<xs:element name="moday1" minOccurs="0" maxOccurs="1" type="MoDayType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
由于您的错误表明moday1
元素是意外的,因此您必须考虑moday1
元素出现的上下文。其父级的内容模型可能需要一系列与您提供的元素不同的元素。