2015-04-02 56 views
-1

我使用的Altova映射工具,我无法找到如何消除重复值的选项,所以我想直接更新XSLT文件,我无法弄清楚如何做到这一点。以下是XSLT文件,问题位于Detail06部分。如何消除XSLT 1.0中的重复结果?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <xsl:template match="/"> 
 
    <AsyncBarcode> 
 
     <xsl:variable name="var1_instance" select="." /> 
 
     <xsl:for-each select="$var1_instance/n:SyncReceiveDelivery"> 
 
     <xsl:variable name="var2_SyncReceiveDelivery" select="." /> 
 
     <Prefix> 
 
      <xsl:for-each select="n:DataArea/n:Sync/n:AccountingEntityID"> 
 
      <CompanyID> 
 
       <xsl:value-of select="string(.)" /> 
 
      </CompanyID> 
 
      </xsl:for-each> 
 
      <xsl:for-each select="n:DataArea/n:Sync/n:AccountingEntityID"> 
 
      <ExternalPartnerID> 
 
       <xsl:value-of select="string(.)" /> 
 
      </ExternalPartnerID> 
 
      </xsl:for-each> 
 
      <DocumentType> 
 
      <xsl:value-of select="'AsyncBarcode'" /> 
 
      </DocumentType> 
 
      <xsl:for-each select="n:ApplicationArea/n:BODID"> 
 
      <DocumentNumber> 
 
       <xsl:value-of select="substring-after(substring-before(string(.), ':1?'), 'Infor:')" /> 
 
      </DocumentNumber> 
 
      </xsl:for-each> 
 
      <TransactionDirection> 
 
      <xsl:value-of select="'I'" /> 
 
      </TransactionDirection> 
 
      <DateStamp> 
 
      <xsl:value-of select="substring-before(string(n:ApplicationArea/n:CreationDateTime), 'T')" /> 
 
      </DateStamp> 
 
      <TimeStamp> 
 
      <xsl:value-of select="substring-before(substring-after(string(n:ApplicationArea/n:CreationDateTime), 'T'), 'Z')" /> 
 
      </TimeStamp> 
 
      <xsl:for-each select="n:ApplicationArea/n:BODID"> 
 
      <ControlNumber> 
 
       <xsl:value-of select="substring-after(substring-before(string(.), ':1?'), 'Infor:')" /> 
 
      </ControlNumber> 
 
      </xsl:for-each> 
 
     </Prefix> 
 
     <Header00> 
 
      <TransactionDefinitionKey> 
 
      <xsl:value-of select="'25'" /> 
 
      </TransactionDefinitionKey> 
 
      <xsl:for-each select="n:DataArea/n:Sync/n:AccountingEntityID"> 
 
      <CompanyID0> 
 
       <xsl:value-of select="string(.)" /> 
 
      </CompanyID0> 
 
      </xsl:for-each> 
 
      <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryHeader/n:DocumentReference/n:DocumentID"> 
 
      <xsl:variable name="var14_DocumentID" select="." /> 
 
      <xsl:if test="$var14_DocumentID/n:ID/@location"> 
 
       <BranchID> 
 
       <xsl:value-of select="substring-before(string(n:ID/@location), '-B')" /> 
 
       </BranchID> 
 
      </xsl:if> 
 
      </xsl:for-each> 
 
      <UserID> 
 
      <xsl:value-of select="'WMUser'" /> 
 
      </UserID> 
 
      <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryHeader/n:WarehouseLocation/n:ID"> 
 
      <WarehouseID> 
 
       <xsl:value-of select="substring-before(string(.), '-W')" /> 
 
      </WarehouseID> 
 
      </xsl:for-each> 
 
     </Header00> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem"> 
 
      <Detail01> 
 
      <xsl:for-each select="$var2_SyncReceiveDelivery/n:DataArea/n:Sync/n:AccountingEntityID"> 
 
       <Scanneddata1> 
 
       <xsl:value-of select="string(.)" /> 
 
       </Scanneddata1> 
 
      </xsl:for-each> 
 
      </Detail01> 
 
     </xsl:for-each> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery"> 
 
      <xsl:variable name="var22_ReceiveDelivery" select="." /> 
 
      <xsl:for-each select="n:ReceiveDeliveryItem"> 
 
      <Detail02> 
 
       <xsl:for-each select="$var22_ReceiveDelivery/n:ReceiveDeliveryHeader/n:DocumentReference/n:DocumentID"> 
 
       <xsl:variable name="var26_DocumentID" select="." /> 
 
       <xsl:if test="$var26_DocumentID/n:ID/@location"> 
 
        <Scanneddata2> 
 
        <xsl:value-of select="substring-before(string(n:ID/@location), '-B')" /> 
 
        </Scanneddata2> 
 
       </xsl:if> 
 
       </xsl:for-each> 
 
      </Detail02> 
 
      </xsl:for-each> 
 
     </xsl:for-each> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery"> 
 
      <xsl:variable name="var28_ReceiveDelivery" select="." /> 
 
      <xsl:for-each select="n:ReceiveDeliveryItem"> 
 
      <Detail03> 
 
       <xsl:for-each select="$var28_ReceiveDelivery/n:ReceiveDeliveryHeader/n:DocumentReference/n:DocumentID"> 
 
       <Scanneddata3> 
 
        <xsl:value-of select="string(n:ID)" /> 
 
       </Scanneddata3> 
 
       </xsl:for-each> 
 
      </Detail03> 
 
      </xsl:for-each> 
 
     </xsl:for-each> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem"> 
 
      <Detail04> 
 
      <xsl:for-each select="n:LineNumber"> 
 
       <Scanneddata4> 
 
       <xsl:value-of select="string(.)" /> 
 
       </Scanneddata4> 
 
      </xsl:for-each> 
 
      </Detail04> 
 
     </xsl:for-each> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem"> 
 
      <xsl:variable name="var38_ReceiveDeliveryItem" select="." /> 
 
      <Detail05> 
 
      <xsl:variable name="var40_map_select_SerializedLot"> 
 
       <xsl:if test="string((n:SerializedLot/n:Lot/n:LotIDs/n:ID) = (n:SerializedLot/n:Lot/n:LotIDs/n:ID)) != 'false'"> 
 
       <xsl:value-of select="'1'" /> 
 
       </xsl:if> 
 
      </xsl:variable> 
 
      <xsl:variable name="var48_"> 
 
       <xsl:choose> 
 
       <xsl:when test="string(boolean(string($var40_map_select_SerializedLot))) != 'false'"> 
 
        <xsl:variable name="var45_map_select_SerializedLot"> 
 
        <xsl:for-each select="n:SerializedLot/n:Lot/n:LotIDs/n:ID"> 
 
         <xsl:value-of select="string(.)" /> 
 
        </xsl:for-each> 
 
        </xsl:variable> 
 
        <xsl:variable name="var41_map_select_SerializedLot"> 
 
        <xsl:if test="string((string($var45_map_select_SerializedLot)) = (string($var45_map_select_SerializedLot))) != 'false'"> 
 
         <xsl:value-of select="'1'" /> 
 
        </xsl:if> 
 
        </xsl:variable> 
 
        <xsl:if test="string(boolean(string($var41_map_select_SerializedLot))) != 'false'"> 
 
        <xsl:variable name="var42_map_select_SerializedLot"> 
 
         <xsl:for-each select="n:SerializedLot/n:Lot/n:LotIDs/n:ID"> 
 
         <xsl:value-of select="string(.)" /> 
 
         </xsl:for-each> 
 
        </xsl:variable> 
 
        <xsl:value-of select="string($var42_map_select_SerializedLot)" /> 
 
        </xsl:if> 
 
       </xsl:when> 
 
       <xsl:otherwise> 
 
        <xsl:value-of select="' '" /> 
 
       </xsl:otherwise> 
 
       </xsl:choose> 
 
      </xsl:variable> 
 
      <Scanneddata5> 
 
       <xsl:copy-of select="$var48_" /> 
 
      </Scanneddata5> 
 
      </Detail05> 
 
     </xsl:for-each> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem"> 
 
      <Detail06> 
 
      <xsl:for-each select="n:HoldCodes/n:Code"> 
 
       <Scanneddata6> 
 
       <xsl:choose> 
 
        <xsl:when test="string((' ' != string(.))) != 'false'"> 
 
        <xsl:value-of select="'Hold'" /> 
 
        </xsl:when> 
 
        <xsl:otherwise> 
 
        <xsl:value-of select="'Inventory'" /> 
 
        </xsl:otherwise> 
 
       </xsl:choose> 
 
       </Scanneddata6> 
 
      </xsl:for-each> 
 
      </Detail06> 
 
     </xsl:for-each> 
 
     <Detail07> 
 
      <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryHeader/n:ReceivedDateTime"> 
 
      <Scanneddata7> 
 
       <xsl:value-of select="string(.)" /> 
 
      </Scanneddata7> 
 
      </xsl:for-each> 
 
     </Detail07> 
 
     <xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem"> 
 
      <Detail11> 
 
      <xsl:for-each select="n:ReceivedQuantity"> 
 
       <Scanneddata11> 
 
       <xsl:value-of select="number(string(.))" /> 
 
       </Scanneddata11> 
 
      </xsl:for-each> 
 
      </Detail11> 
 
     </xsl:for-each> 
 
     </xsl:for-each> 
 
    </AsyncBarcode> 
 
    </xsl:template> 
 
</xsl:stylesheet>

下面是我收到的输入:

<SyncReceiveDelivery xmlns="http://schema.infor.com/InforOAGIS/2" releaseID="9.2" versionID="2.8.0"> 
 
    <ApplicationArea> 
 
    <Sender> 
 
     <LogicalID>lid://</LogicalID> 
 
     <ComponentID>Warehouse Management</ComponentID> 
 
     <ReferenceID accountingEntity="01" location="RS01-W">0000058141</ReferenceID> 
 
    </Sender> 
 
    <CreationDateTime>2015-03-31T20:08:16Z</CreationDateTime> 
 
    <BODID>infor-nid:infor:01:RS01-W:0000002445:62883?ReceiveDelivery&amp;verb=Sync</BODID> 
 
    </ApplicationArea> 
 
    <DataArea> 
 
    <Sync> 
 
     <TenantID>infor</TenantID> 
 
     <AccountingEntityID>01</AccountingEntityID> 
 
     <LocationID accountingEntity="01">RS01-W</LocationID> 
 
     <ActionCriteria> 
 
     <ActionExpression actionCode="Add" /> 
 
     </ActionCriteria> 
 
    </Sync> 
 
    <ReceiveDelivery> 
 
     <ReceiveDeliveryHeader> 
 
     <DocumentID> 
 
      <ID accountingEntity="01" location="RS01-W" variationID="62883">0000002445</ID> 
 
     </DocumentID> 
 
     <LastModificationDateTime>2015-03-31T20:08:12Z</LastModificationDateTime> 
 
     <DocumentDateTime>2015-03-31T20:08:12Z</DocumentDateTime> 
 
     <DocumentReference type="CustomerReturn"> 
 
      <DocumentID> 
 
      <ID accountingEntity="01" location="1323-B">930131</ID> 
 
      </DocumentID> 
 
     </DocumentReference> 
 
     <Status> 
 
      <Code listID="ReceiveDeliveryStatus">Received</Code> 
 
     </Status> 
 
     <WarehouseLocation> 
 
      <ID accountingEntity="01">RS01-W</ID> 
 
      <Name languageID="en-US">Power Packaging</Name> 
 
      <Address> 
 
      <AddressLine sequence="1">401 N. Main</AddressLine> 
 
      <CityName>Rosendale</CityName> 
 
      <CountrySubDivisionCode>WI</CountrySubDivisionCode> 
 
      <PostalCode listID="PostalCode">54974</PostalCode> 
 
      </Address> 
 
     </WarehouseLocation> 
 
     <ActualDeliveryDateTime>2015-03-31T17:31:46Z</ActualDeliveryDateTime> 
 
     <GrossWeightMeasure unitCode="LB">8120.4147</GrossWeightMeasure> 
 
     <TotalVolumeMeasure unitCode="CF">0</TotalVolumeMeasure> 
 
     <ShipFromParty> 
 
      <Location> 
 
      <ID>30155</ID> 
 
      <Name languageID="en-US">RS-IFP-USFS HOUSTON</Name> 
 
      <Address> 
 
       <AddressLine sequence="1">USFS HOUSTON</AddressLine> 
 
       <AddressLine sequence="2">111 ALIANT DRIVE</AddressLine> 
 
       <CityName>HOUSTON</CityName> 
 
       <CountrySubDivisionCode>TX</CountrySubDivisionCode> 
 
       <CountryCode>USA</CountryCode> 
 
       <PostalCode listID="PostalCode">77032</PostalCode> 
 
      </Address> 
 
      </Location> 
 
     </ShipFromParty> 
 
     <ReceivedDateTime>2015-03-31T20:08:12Z</ReceivedDateTime> 
 
     <DeliverToParty> 
 
      <Location> 
 
      <ID accountingEntity="01">RS01-W</ID> 
 
      <Name languageID="en-US">Power Packaging</Name> 
 
      <Address> 
 
       <AddressLine sequence="1">401 N. Main</AddressLine> 
 
       <CityName>Rosendale</CityName> 
 
       <CountrySubDivisionCode>WI</CountrySubDivisionCode> 
 
       <PostalCode listID="PostalCode">54974</PostalCode> 
 
      </Address> 
 
      </Location> 
 
     </DeliverToParty> 
 
     <ASNReference> 
 
      <DocumentID> 
 
      <ID accountingEntity="01" location="RS01-W">0000002445</ID> 
 
      </DocumentID> 
 
     </ASNReference> 
 
     </ReceiveDeliveryHeader> 
 
     <ReceiveDeliveryItem> 
 
     <ItemID> 
 
      <ID accountingEntity="01">200135-100250</ID> 
 
     </ItemID> 
 
     <ServiceIndicator>false</ServiceIndicator> 
 
     <Description languageID="en-US">Orchard Splash 12/25 fl oz Orange Gold 100</Description> 
 
     <Note languageID="en-US">1</Note> 
 
     <DocumentReference type="CustomerReturn"> 
 
      <DocumentID> 
 
      <ID accountingEntity="01" location="1323-B">930131</ID> 
 
      </DocumentID> 
 
      <LineNumber>1</LineNumber> 
 
     </DocumentReference> 
 
     <PackingSlipQuantity unitCode="CS">0.0</PackingSlipQuantity> 
 
     <PackingSlipBaseUOMQuantity unitCode="CS">0.0</PackingSlipBaseUOMQuantity> 
 
     <ReceivedQuantity unitCode="CS">90.0</ReceivedQuantity> 
 
     <ReceivedBaseUOMQuantity unitCode="CS">90.0</ReceivedBaseUOMQuantity> 
 
     <ReturnedQuantity unitCode="CS">0.0</ReturnedQuantity> 
 
     <ReturnedBaseUOMQuantity unitCode="CS">0.0</ReturnedBaseUOMQuantity> 
 
     <SerializedLot> 
 
      <ItemQuantity unitCode="CS">90.0</ItemQuantity> 
 
      <ItemBaseUOMQuantity unitCode="CS">90.0</ItemBaseUOMQuantity> 
 
      <Lot> 
 
      <LotIDs> 
 
       <ID>RS1412107</ID> 
 
      </LotIDs> 
 
      <Quantity unitCode="CS">90.0</Quantity> 
 
      <BaseUOMQuantity unitCode="CS">90.0</BaseUOMQuantity> 
 
      </Lot> 
 
     </SerializedLot> 
 
     <LineNumber>1</LineNumber> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">HOLD</Code> 
 
     </HoldCodes> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">QCREQ</Code> 
 
     </HoldCodes> 
 
     <CountSequence>1</CountSequence> 
 
     </ReceiveDeliveryItem> 
 
     <ReceiveDeliveryItem> 
 
     <ItemID> 
 
      <ID accountingEntity="01">200135-100252</ID> 
 
     </ItemID> 
 
     <ServiceIndicator>false</ServiceIndicator> 
 
     <Description languageID="en-US">Orchard Hills 12/25 fl oz Orange 100</Description> 
 
     <Note languageID="en-US">2</Note> 
 
     <DocumentReference type="CustomerReturn"> 
 
      <DocumentID> 
 
      <ID accountingEntity="01" location="1323-B">930131</ID> 
 
      </DocumentID> 
 
      <LineNumber>2</LineNumber> 
 
     </DocumentReference> 
 
     <PackingSlipQuantity unitCode="CS">0.0</PackingSlipQuantity> 
 
     <PackingSlipBaseUOMQuantity unitCode="CS">0.0</PackingSlipBaseUOMQuantity> 
 
     <ReceivedQuantity unitCode="CS">90.0</ReceivedQuantity> 
 
     <ReceivedBaseUOMQuantity unitCode="CS">90.0</ReceivedBaseUOMQuantity> 
 
     <ReturnedQuantity unitCode="CS">0.0</ReturnedQuantity> 
 
     <ReturnedBaseUOMQuantity unitCode="CS">0.0</ReturnedBaseUOMQuantity> 
 
     <SerializedLot> 
 
      <ItemQuantity unitCode="CS">90.0</ItemQuantity> 
 
      <ItemBaseUOMQuantity unitCode="CS">90.0</ItemBaseUOMQuantity> 
 
      <Lot> 
 
      <LotIDs> 
 
       <ID>RS141112</ID> 
 
      </LotIDs> 
 
      <Quantity unitCode="CS">90.0</Quantity> 
 
      <BaseUOMQuantity unitCode="CS">90.0</BaseUOMQuantity> 
 
      </Lot> 
 
     </SerializedLot> 
 
     <LineNumber>2</LineNumber> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">HOLD</Code> 
 
     </HoldCodes> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">QCREQ</Code> 
 
     </HoldCodes> 
 
     <CountSequence>1</CountSequence> 
 
     </ReceiveDeliveryItem> 
 
     <ReceiveDeliveryItem> 
 
     <ItemID> 
 
      <ID accountingEntity="01">200135-100252</ID> 
 
     </ItemID> 
 
     <ServiceIndicator>false</ServiceIndicator> 
 
     <Description languageID="en-US">Orchard Hills 12/25 fl oz Orange 100</Description> 
 
     <Note languageID="en-US">3</Note> 
 
     <DocumentReference type="CustomerReturn"> 
 
      <DocumentID> 
 
      <ID accountingEntity="01" location="1323-B">930131</ID> 
 
      </DocumentID> 
 
      <LineNumber>3</LineNumber> 
 
     </DocumentReference> 
 
     <PackingSlipQuantity unitCode="CS">0.0</PackingSlipQuantity> 
 
     <PackingSlipBaseUOMQuantity unitCode="CS">0.0</PackingSlipBaseUOMQuantity> 
 
     <ReceivedQuantity unitCode="CS">90.0</ReceivedQuantity> 
 
     <ReceivedBaseUOMQuantity unitCode="CS">90.0</ReceivedBaseUOMQuantity> 
 
     <ReturnedQuantity unitCode="CS">0.0</ReturnedQuantity> 
 
     <ReturnedBaseUOMQuantity unitCode="CS">0.0</ReturnedBaseUOMQuantity> 
 
     <SerializedLot> 
 
      <ItemQuantity unitCode="CS">90.0</ItemQuantity> 
 
      <ItemBaseUOMQuantity unitCode="CS">90.0</ItemBaseUOMQuantity> 
 
      <Lot> 
 
      <LotIDs> 
 
       <ID>RS1412030</ID> 
 
      </LotIDs> 
 
      <Quantity unitCode="CS">90.0</Quantity> 
 
      <BaseUOMQuantity unitCode="CS">90.0</BaseUOMQuantity> 
 
      </Lot> 
 
     </SerializedLot> 
 
     <LineNumber>3</LineNumber> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">HOLD</Code> 
 
     </HoldCodes> 
 
     <HoldCodes> 
 
      <Code listID="Hold Reason Codes">QCREQ</Code> 
 
     </HoldCodes> 
 
     <CountSequence>1</CountSequence> 
 
     </ReceiveDeliveryItem> 
 
    </ReceiveDelivery> 
 
    </DataArea> 
 
</SyncReceiveDelivery>

最后,这就是我期待在Scannedata6但是我得到的重复值Detail06部分:

<?xml version="1.0" encoding="UTF-8" ?> 
 
<!DOCTYPE AsyncBarcode SYSTEM "C:/InboundBODS/AsyncBarcode_Inbound.dtd"> 
 
<AsyncBarcode> 
 
    <Prefix> 
 
    <CompanyID>01</CompanyID> 
 
    <ExternalPartnerID>01</ExternalPartnerID> 
 
    <DocumentType>AsyncBarcode</DocumentType> 
 
    <DocumentNumber/> 
 
    <TransactionDirection>I</TransactionDirection> 
 
    <DateStamp>2015-03-31</DateStamp> 
 
    <TimeStamp>20:08:16</TimeStamp> 
 
    <ControlNumber/> 
 
    </Prefix> 
 
    <Header00> 
 
    <TransactionDefinitionKey>25</TransactionDefinitionKey> 
 
    <CompanyID0>01</CompanyID0> 
 
    <BranchID>1323</BranchID> 
 
    <UserID>WMUser</UserID> 
 
    <WarehouseID>RS01</WarehouseID> 
 
    </Header00> 
 
    <Detail01> 
 
    <Scanneddata1>01</Scanneddata1> 
 
    </Detail01> 
 
    <Detail01> 
 
    <Scanneddata1>01</Scanneddata1> 
 
    </Detail01> 
 
    <Detail01> 
 
    <Scanneddata1>01</Scanneddata1> 
 
    </Detail01> 
 
    <Detail02> 
 
    <Scanneddata2>1323</Scanneddata2> 
 
    </Detail02> 
 
    <Detail02> 
 
    <Scanneddata2>1323</Scanneddata2> 
 
    </Detail02> 
 
    <Detail02> 
 
    <Scanneddata2>1323</Scanneddata2> 
 
    </Detail02> 
 
    <Detail03> 
 
    <Scanneddata3>930131</Scanneddata3> 
 
    </Detail03> 
 
    <Detail03> 
 
    <Scanneddata3>930131</Scanneddata3> 
 
    </Detail03> 
 
    <Detail03> 
 
    <Scanneddata3>930131</Scanneddata3> 
 
    </Detail03> 
 
    <Detail04> 
 
    <Scanneddata4>1</Scanneddata4> 
 
    </Detail04> 
 
    <Detail04> 
 
    <Scanneddata4>2</Scanneddata4> 
 
    </Detail04> 
 
    <Detail04> 
 
    <Scanneddata4>3</Scanneddata4> 
 
    </Detail04> 
 
    <Detail05> 
 
    <Scanneddata5>RS1412107</Scanneddata5> 
 
    </Detail05> 
 
    <Detail05> 
 
    <Scanneddata5>RS141112</Scanneddata5> 
 
    </Detail05> 
 
    <Detail05> 
 
    <Scanneddata5>RS1412030</Scanneddata5> 
 
    </Detail05> 
 
    <Detail06> 
 
    <Scanneddata6>Hold</Scanneddata6> 
 
    </Detail06> 
 
    <Detail06> 
 
    <Scanneddata6>Hold</Scanneddata6> 
 
    </Detail06> 
 
    <Detail06> 
 
    <Scanneddata6>Hold</Scanneddata6> 
 
    </Detail06> 
 
    <Detail07> 
 
    <Scanneddata7>2015-03-31T20:08:12Z</Scanneddata7> 
 
    </Detail07> 
 
    <Detail11> 
 
    <Scanneddata11>90</Scanneddata11> 
 
    </Detail11> 
 
    <Detail11> 
 
    <Scanneddata11>90</Scanneddata11> 
 
    </Detail11> 
 
    <Detail11> 
 
    <Scanneddata11>90</Scanneddata11> 
 
    </Detail11> 
 
</AsyncBarcode>

+1

您的XSLT不符合您的输入。请提供一个[最小但完整的示例](http://stackoverflow.com/help/mcve),我们可以运行这些示例来重现您的问题 - 并且也包括预期结果。 – 2015-04-02 18:43:31

+0

谢谢。我已经使用这些信息更新了我的帖子。 – emorris454 2015-04-02 19:16:11

+1

既不简单也不完整。 – 2015-04-02 19:32:49

回答

0

之所以能够找出我需要什么样的改变。如下变化:

<xsl:for-each select="n:DataArea/n:ReceiveDelivery/n:ReceiveDeliveryItem/n:HoldCodes[1]"> 
 
    <Detail06> 
 
    <xsl:for-each select="n:Code[1]"> 
 
     <Scanneddata6> 
 
     <xsl:choose> 
 
      <xsl:when test="string(('' != string(.))) != 'false'"> 
 
      <xsl:value-of select="'Hold'" /> 
 
      </xsl:when> 
 
      <xsl:otherwise> 
 
      <xsl:value-of select="'Inventory'" /> 
 
      </xsl:otherwise> 
 
     </xsl:choose> 
 
     </Scanneddata6> 
 
    </xsl:for-each> 
 
    </Detail06> 
 
</xsl:for-each>