0

我创建了一个发送和接收模式,并为接收模式生成了一个 XML 实例。我在发送和接收模式之间创建了映射。当我尝试测试地图时,我使用了使用接收模式创建的实例作为输入实例。它抛出一个错误,如

TestMap 使用以下文件:作为 map.error btm1044 的输入:输入验证错误:未声明元素。

接收模式

<?xml version="1.0" encoding="utf-16" ?> 
- <xs:schema xmlns="http://www.myabc.org/biztalk/sample1/"     xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://www.myabc.org/biztalk/sample1/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="Employee">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="EmpDetails">
- <xs:complexType>
- <xs:sequence>
  <xs:element name="Name" type="xs:string" /> 
  <xs:element name="Age" type="xs:string" /> 
  <xs:element name="Email" type="xs:string" /> 
  <xs:element name="Phone" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
- <xs:element name="Address">
- <xs:complexType>
- <xs:sequence>
  <xs:element name="Street" type="xs:string" /> 
  <xs:element name="City" type="xs:string" /> 
  <xs:element name="PinCode" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>

使用的输入 XML 实例是

ns0:Employee xmlns:ns0="http://www.myabc.org/biztalk/sample1/">
- <EmpDetails>
  <Name>Name_0</Name> 
  <Age>Age_0</Age> 
  <Email>Email_0</Email> 
  <Phone>Phone_0</Phone> 
  </EmpDetails>
- <Address>
  <Street>Street_0</Street> 
  <City>City_0</City> 
  <PinCode>PinCode_0</PinCode> 
  </Address>
  </ns0:Employee>

谁能帮我吗。

谢谢

4

2 回答 2

1

当我将您的 XSD 和 XML 文件复制/粘贴到 Visual Studio 中并删除节点之前的所有“-”字符时,我得到以下信息:

Invoking component...
Validate Instance succeeded for schema test.xsd, file: <file:///C:\Temp\test.xml>.
Component invocation succeeded.

在我看来,该实例是有效的。Vikas Bhardway 的评论是一个很好的起点:尝试生成一个实例并在节点、命名空间等上比较两者......

于 2014-08-11T12:17:55.827 回答
1

如果 XML 无效,则根据架构验证您的 XML,然后生成一个新实例并再次尝试

于 2014-08-10T13:52:11.360 回答