全部下午, 我正在学习BizTalk,并且陷入了这个问题。无法在BizTalk映射中抑制节点
有一个电话或地址选择组。 当输出电话时,我可以得到一些地址字段被抑制。 为了使事情更简单,我将讨论“CityName”字段。
我已经试过如下:
映射“城市”(文本)在输出的输入文件,以“城市名”节点。已连接存在逻辑functoid到输入节点中的“Address1”节点和输出中的“CityName”。我总是得到一个城市的名称以文本填写。
映射“城市”节点输入文件和已存在逻辑的functoid到值映射器的functoid。将Value Mapper functoid连接到输出中的CityName。我在地址节点(Correct)中获得城市名称,在电话节点中获得空节点(错误)。
将输入文件中的“City”节点和Exists逻辑functoid映射到Value Mapper(展平) functoid。将Value Mapper(展平) functoid连接到输出中的CityName。我在地址节点(Correct)中获得城市名称,在电话节点中获得空节点(错误)。
我认为最后两个之一应该已经工作,但都给一个空的节点,而不是抑制节点。空节点没有属性。
<xsd:complexType name="NameType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="languageID" type="xsd:language" use="optional">
</xsd:attribute>
<xsd:attribute name="sequence" type="IntegerNumericType">
</xsd:attribute>
<xsd:attribute name="sequenceName" type="StringType" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="IntegerNumericType">
<xsd:restriction base="xsd:integer" />
</xsd:simpleType>
<xsd:simpleType name="StringType">
<xsd:restriction base="xsd:string" />
</xsd:simpleType>
有什么在多数民众赞成迫使空节点要创建的类型定义:
的CITYNAME节点由这种模式类型描述?
谢谢
编辑:下面是不正确的输出。第二个和第三个通信节点有一个地址子节点,并且不应该是 。
我有一个循环functoid在电话号码和平面输入架构中的第一个地址线。这产生三个通信节点。我正在使用地址线上的逻辑存在 functoid来抑制第一个节点中的电话信息。我有一个逻辑不是 functoid的输出,直接绑定到输出模式中的地址节点。我认为应该关闭整个地址节点,但它不会。
我尝试添加一个值映射的functoid连接到逻辑实存的functoid的城市名称和邮政编码元素,使他们空的,但他们只是不会消失。 ARG!
我检查和字段都设置为零MinOccurs,我不相信他们被分配一个默认值。
<ns0:Communication>
<ns0:Address>
<ns0:AddressLine sequence="1">1234 My St</ns0:AddressLine>
<ns0:AddressLine sequence="2">Apt. 2</ns0:AddressLine>
<ns0:CityName>Kansas City</ns0:CityName>
<ns0:CountrySubDivisionCode name="State">MO</ns0:CountrySubDivisionCode>
<ns0:CountrySubDivisionCode name="County">Jackson</ns0:CountrySubDivisionCode>
<ns0:CountryCode>US</ns0:CountryCode>
<ns0:PostalCode>64099</ns0:PostalCode>
</ns0:Address>
</ns0:Communication>
<ns0:Communication sequence="1">
<ns0:ChannelCode>Telephone</ns0:ChannelCode>
<ns0:UseCode>Personal</ns0:UseCode>
<ns0:DialNumber>1234567890</ns0:DialNumber>
<ns0:Address>
<ns0:CityName />
<ns0:CountryCode />
<ns0:PostalCode>64099</ns0:PostalCode>
</ns0:Address>
</ns0:Communication>
<ns0:Communication sequence="2">
<ns0:ChannelCode>Telephone</ns0:ChannelCode>
<ns0:UseCode>Business</ns0:UseCode>
<ns0:DialNumber>0987654321</ns0:DialNumber>
<ns0:Address>
<ns0:CityName />
<ns0:CountryCode />
<ns0:PostalCode>64099</ns0:PostalCode>
</ns0:Address>
</ns0:Communication>
没有帮助。将其全部设置为minOccurs 0. – Jay 2011-04-15 14:31:12