Как да вмъкнете затварящ възел за елемент в XML структура в BizTalk

Опитвам се да вмъкна затварящ възел в XML изхода на BizTalk с помощта на map, но не мога да го направя.

Настоящата продукция е това, което получавам в момента. В това имам заявка в маркираната част. И това, от което се нуждая, е очакван изход с помощта на картографиране.

Настоящ изход

<VIS_Products Version="1.0">
    <Product>
        <ProductNo>200042132</ProductNo>
        <LotTrackingCode>1</LotTrackingCode>
        <SerialTrackingCode>0</SerialTrackingCode>
        <FractionAllowed>false</FractionAllowed>
        <RevisionControlFlag>false</RevisionControlFlag>
        <DefaultUomCode>MTR</DefaultUomCode>
        <ProductInventoryType>8</ProductInventoryType>
        <Active>true</Active>
        <FUID>
        </FUID>
        <TextID>
            <Text>
                <TextTranslation>
                    <LanguageID>1033</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>1036</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>1046</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>2058</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
            </Text>
        </TextID>
        <ProductGroupDelete>
            <Group>VIS_Nojax</Group>
            <GroupType>2</GroupType>
            <Active>true</Active>
            <GroupClassID Name="VIS_ProductLine /">
            </ProductID>
        </ProductGroupDelete>
        <ProductGroupDelete>
    </Product>
</VIS_Products >

Очакван резултат

 <VIS_Products Version="1.0">
        <Product>
        <ProductNo>200042132</ProductNo>
        <LotTrackingCode>1</LotTrackingCode>
        <SerialTrackingCode>0</SerialTrackingCode>
        <FractionAllowed>false</FractionAllowed>
        <RevisionControlFlag>false</RevisionControlFlag>
        <DefaultUomCode>MTR</DefaultUomCode>
        <ProductInventoryType>8</ProductInventoryType>
        <Active>true</Active>
        <FUID>
        </FUID>
        <TextID>
            <Text>
                <TextTranslation>
                    <LanguageID>1033</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>1036</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>1046</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
                <TextTranslation>
                    <LanguageID>2058</LanguageID>
                    <Short>NJREG SF 30 U70 CLR PTR P</Short>
                    <Medium>NJREG SF 30 U70 CLR PTR P</Medium>
                    <Extended>NJREG SF 30 U70 CLR PTR P</Extended>
                    <TextID>
                    </TextID>
                </TextTranslation>
            </Text>
        </TextID>
        <ProductGroupDelete>
            <Group>VIS_Nojax</Group>
            <GroupType>2</GroupType>
            <Active>true</Active>
            <GroupClassID Name="VIS_ProductLine">
            </GroupClassID>
            <ProductID>
            </ProductID>
        </ProductGroupDelete>
        <ProductGroupDelete>
    </Product>
</VIS_Products >

Промените са във възела на идентификатора на класа на групата в productgroupdelete. В настоящия изход не получавам затварящия възел. Искам затваряне на възел с помощта на картографиране.

Как мога да направя това?


person user3676094    schedule 26.05.2014    source източник
comment
Просто исках да отбележа, че последният ви елемент ‹ProductGroupDelete› (3-ти последен ред) е неправилен и в двата случая. Може би проблем с форматирането?   -  person Pieter Vandenheede    schedule 27.05.2014


Отговори (1)


Самозатварящите се тагове като <GroupClassID Name="VIS_ProductLine" /> са идентични с <GroupClassID Name="VIS_ProductLine"></GroupClassID>. Процесорът XSLT ще избере това, което е най-подходящо за него. На писане е същото.

Можете да опитате да излъжете XSLT процесора и да добавите например <xsl:comment />, ако наистина искате да се показва, както сте поискали. Например този XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()" />
        </xsl:copy>
    </xsl:template>

    <xsl:template match="GroupClassID">
        <xsl:copy>
            <xsl:apply-templates select="@*" />
            <xsl:comment>TRICKED</xsl:comment>
            <xsl:apply-templates select="node()" />
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

Той добавя коментар като дете на този възел и изходът ще добави затварящ етикет.

person Mark Veenstra    schedule 26.05.2014