BizTalk Map Value Mapping Looping Functoids - PullRequest
0 голосов
/ 15 марта 2012

У меня есть исходная схема, в которой адрес может быть задан либо в виде нескольких элементов «AddressLine», либо в виде нескольких элементов «Street», либо в виде комбинации. Моя схема назначения просто имеет несколько элементов "Street". У меня проблемы с отображением этого с помощью функтоидов (это не проблема с пользовательским XSLT, но я бы предпочел использовать графический метод для этой карты). Я попытался сопоставить оба исходных элемента с петлевым функтоидом, а затем из этого в элемент назначения, но это просто создает XSLT, который проходит через исходные элементы AddressLine и Street, но ничего не записывает в место назначения! 1001 *

Я вставил соответствующие разделы схем источника и назначения ниже:

Источник

<xsd:complexType name="Address">
    <xsd:sequence>
        <xsd:element name="AddressLine" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
                <xsd:documentation>Free format address lines may be used instead of (or in addition to) specific Street etc elements.</xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="Street" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="City" type="xsd:string" minOccurs="0"/>
        <xsd:element name="State" type="xsd:string" minOccurs="0">
            <xsd:annotation>
                <xsd:documentation>State/County/Province</xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="PostCode" type="xsd:string" minOccurs="0">
            <xsd:annotation>
                <xsd:documentation>Post/ZIP code</xsd:documentation>
            </xsd:annotation>
        </xsd:element>
        <xsd:element name="Country" minOccurs="0">
            <xsd:complexType>
                <xsd:simpleContent>
                    <xsd:extension base="xsd:string">
                        <xsd:attribute name="Code" type="xsd:string" use="optional"/>
                        <xsd:attribute name="Codelist" type="xsd:string" use="optional"/>
                    </xsd:extension>
                </xsd:simpleContent>
            </xsd:complexType>
        </xsd:element>
    </xsd:sequence>
</xsd:complexType>

Пункт назначения

<xs:element name="Address" minOccurs="0">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Street" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
                                    <xs:element name="City" type="xs:string" minOccurs="0"/>
                                    <xs:element name="State" type="xs:string" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>State/County/Province</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="PostCode" type="xs:string" minOccurs="0">
                                        <xs:annotation>
                                            <xs:documentation>Post/ZIP code</xs:documentation>
                                        </xs:annotation>
                                    </xs:element>
                                    <xs:element name="Country" minOccurs="0">
                                        <xs:complexType>
                                            <xs:simpleContent>
                                                <xs:extension base="xs:string">
                                                    <xs:attribute name="Code" type="xs:string"/>
                                                </xs:extension>
                                            </xs:simpleContent>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>

1 Ответ

0 голосов
/ 25 марта 2012

Ваши ссылки на петлевый функтоид определяют только петлевую структуру. Чтобы получить фактические данные после определения структуры цикла, необходимо соединить исходный и целевой узлы.

Например, поместите петлеобразный функтоид на поверхность дизайна. Соедините AddressLine и Street от источника до петлевого функтоида. Затем подключите петлевой функтоид к улице в пункте назначения. Теперь подключите AddressLine и Street в источнике напрямую к Street в пункте назначения.

Надеюсь, это имеет смысл.

...