我有下面提到的源架构。
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="TypedPolling">
<xs:complexType>
<xs:sequence>
<xs:element name="TypedPollingResultSet0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="TypedPollingResultSet0">
<xs:complexType>
<xs:sequence>
<xs:element name="strPortName" type="xs:string" />
<xs:element name="LastRun_UTC" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
目标架构是
<?xml version="1.0" encoding="utf-16" ?>
<xs:schema xmlns="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Notification">
<xs:complexType>
<xs:sequence>
<xs:element name="strPortName" type="xs:string" />
<xs:element name="LastRun_UTC" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
地图的输入文件是
<ns0:Root xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/aggschema">
<InputMessagePart_0>
<ns1:EmailNotifications xmlns:ns1="http://024_EmailNotifications_Schemas.XMLConfig">
<App>
<Name>App1</Name>
<Port>Port1</Port>
<Email>email</Email>
</App>
<App>
<Name>App2</Name>
<Port>Port2</Port>
<Email>Email2</Email>
</App>
<App>
<Name>App3</Name>
<Port>Port3</Port>
<Email>Email3</Email>
</App>
<App>
<Name>App4</Name>
<Port />
<Email>Email4</Email>
</App>
</ns1:EmailNotifications>
</InputMessagePart_0>
<InputMessagePart_1>
<ns2:TypedPolling xmlns:ns2="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications">
<TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>Port1</strPortName>
<LastRun_UTC>2016-01-29T10:20:10.083Z</LastRun_UTC>
</TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>Port2</strPortName>
<LastRun_UTC>2016-01-29T11:37:38.82Z</LastRun_UTC>
</TypedPollingResultSet0>
<TypedPollingResultSet0>
<strPortName>Port3</strPortName>
<LastRun_UTC>2016-01-29T11:37:39.353Z</LastRun_UTC>
</TypedPollingResultSet0>
</TypedPollingResultSet0>
</ns2:TypedPolling>
</InputMessagePart_1>
</ns0:Root>
当我尝试在地图中运行调试选项时,我收到此错误,导致我无法调试地图,并且我不知道如何修复它。感谢我能得到的任何帮助
E:\ temp \ EmailNotifications \ InputInternal.xml:error btm1044:输入验证错误:元素&#39; TypedPolling&#39;在命名空间&#39; http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications&#39;具有无效的子元素&#39; TypedPollingResultSet0&#39;在命名空间&#39; http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications&#39;。预期可能元素的列表:&#39; TypedPollingResultSet0&#39;。
答案 0 :(得分:0)
如果未指定maxOccurs,则默认为1.尝试设置嵌套&lt; TypedPollingResultSet0&gt; element的maxOccurs to unbounded:
<xs:element name="TypedPollingResultSet0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="TypedPollingResultSet0">
答案 1 :(得分:0)
我不能100%肯定纠正我的问题。 我将名称空间从.... / EmailNotifications更改为.... / EmailNotification 这解决了visual studio中输入xml文件中的摇摆线问题。
然后我从输入文件重新生成模式文件,并且中提问题得到了解决。
感谢Gruff的帮助