我的MUENCHIAN方法在xslt中分组错过了什么吗?

时间:2016-03-03 11:25:40

标签: xml xslt xslt-grouping

道歉,因为我是XSLT分组的新手。我一直在使用XSLT作为我的其他接口,我不确定它为什么在映射后没有生成目标输出。

XSL Mapping

<?xml version='1.0'?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="items" match="Line_Items" use="Orders" />
<xsl:template match="Orders">
    <XmlInterchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.edi.com.au/EnterpriseService/">
        <InterchangeInfo>
            <Source>
                <EnterpriseCode>AWH</EnterpriseCode>
                <CompanyCode>ADL</CompanyCode>
                <OriginServer>ADL</OriginServer>
            </Source>
            <Target />
            <EDIOrganisation EDICode="AWHLOG_AU" OwnerCode="AWHLOG_AU">
                <OrganisationDetails>
                    <Name>AWH LOGISTICS</Name>
                    <Location Country="Australia" City="Adelaide">AUADL</Location>
                    <Addresses>
                        <Address AddressType="MAIN">
                            <AddressLine1>Gillman Wool Complex</AddressLine1>
                            <AddressLine2>GRAND TRUNKWAY,</AddressLine2>
                            <AddressCode>Gillman Wool Complex</AddressCode>
                            <CityOrSuburb>GILLMAN</CityOrSuburb>
                            <StateOrProvince>SA</StateOrProvince>
                            <PostCode>5013</PostCode>
                            <TelephoneNumbers>
                                <TelephoneNumber NumberType="Business">+618 8240 8400</TelephoneNumber>
                                <TelephoneNumber NumberType="Fax">+618 8240 0080</TelephoneNumber>
                            </TelephoneNumbers>
                            <Email>containers@awh.com.au</Email>
                            <Language>ENG</Language>
                            <Location>AUADL</Location>
                            <Sequence>1</Sequence>
                            <AddressCapabilities>
                                <AddressCapability AddressType="MAIN" />
                                <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                <AddressCapability IsMainAddress="true" AddressType="PAD" />
                            </AddressCapabilities>
                        </Address>
                    </Addresses>
                </OrganisationDetails>
            </EDIOrganisation>
        </InterchangeInfo>
        <Payload>
            <WhsDockets>
                <xsl:for-each select="Line_Items[generate-id() = generate-id(key('items',Order)[1])]">
                    <WhsDocket>
                        <Identifier>
                            <Client EDICode="COCCOLBNE" OwnerCode="COCCOLBNE">
                                <OrganisationDetails>
                                    <Name>COCA-COLA AMATIL (AUST) PTY LTD</Name>
                                    <Location Country="Australia" City="Brisbane">AUBNE</Location>
                                    <Addresses>
                                        <Address AddressType="MAIN">
                                            <AddressLine1>260 ORCHARD ROAD</AddressLine1>
                                            <AddressCode>MANUFACTURING - ATO 12175</AddressCode>
                                            <CityOrSuburb>RICHLANDS</CityOrSuburb>
                                            <StateOrProvince>QLD</StateOrProvince>
                                            <PostCode>4077</PostCode>
                                            <TelephoneNumbers>
                                                <TelephoneNumber NumberType="Business">+61 (7) 3248-2686</TelephoneNumber>
                                            </TelephoneNumbers>
                                            <Language>ENG</Language>
                                            <Location>AUBNE</Location>
                                            <Sequence>1</Sequence>
                                            <AddressCapabilities>
                                                <AddressCapability AddressType="MAIN" />
                                                <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                <AddressCapability IsMainAddress="false" AddressType="PAD" />
                                            </AddressCapabilities>
                                        </Address>
                                    </Addresses>
                                    <Contacts>
                                        <Contact>
                                            <Name>Abbas Ansari</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-11-19T13:13:00+11:00</WebContractSignDate>
                                            <EmailAddress>abbas.ansari@ccamatil.com</EmailAddress>
                                            <Sequence>1</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Abel Amiga</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2015-03-03T09:23:00+11:00</WebContractSignDate>
                                            <EmailAddress>abel.amiga@ccamatil.com</EmailAddress>
                                            <Sequence>2</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Accounts / Hazel Turton</Name>
                                            <Salutation>Hazel Turton</Salutation>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>cca.au.supplierinvoices@decipha.com.au</EmailAddress>
                                            <Sequence>3</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Anneka Crebbin</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-08-11T10:07:00+10:00</WebContractSignDate>
                                            <EmailAddress>annekacrebbin@awh.com.au</EmailAddress>
                                            <Sequence>4</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Beau Dymond</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-12-12T15:32:00+11:00</WebContractSignDate>
                                            <EmailAddress>beau.dymond@ccamatil.com</EmailAddress>
                                            <Sequence>5</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Catherine Orchard</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>catherine.orchard@ccamatil.com</EmailAddress>
                                            <Sequence>6</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Drew Wilson</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>drew.wilson@ccamatil.com</EmailAddress>
                                            <Sequence>7</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Eddie Foote</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>eddie.foote@ccamatil.com</EmailAddress>
                                            <Sequence>8</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Fiona Peterson</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>fiona.peterson@ccamatil.com</EmailAddress>
                                            <Sequence>9</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Gordon Mills</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-12-11T10:33:00+11:00</WebContractSignDate>
                                            <EmailAddress>gordon.mills@ccamatil.com</EmailAddress>
                                            <Sequence>10</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Graeme Wood</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>graemewood@awh.com.au</EmailAddress>
                                            <Sequence>11</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Grant Bourke</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2015-06-09T12:50:00+10:00</WebContractSignDate>
                                            <EmailAddress>grant.bourke@ccamatil.com</EmailAddress>
                                            <Sequence>12</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Hazel Turton</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>hazel.turton@ccamatil.com</EmailAddress>
                                            <Sequence>13</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Jodi Poyser</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-04-23T12:20:00+10:00</WebContractSignDate>
                                            <EmailAddress>jodi@awh.com.au</EmailAddress>
                                            <Sequence>14</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>John Payne</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-09-18T14:26:00+10:00</WebContractSignDate>
                                            <EmailAddress>johnpayne@awh.com.au</EmailAddress>
                                            <Sequence>15</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Julie Llewellyn</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>julie.llewellyn@ccamatil.com</EmailAddress>
                                            <Sequence>16</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Kathleen King</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>kathleen.king@ccamatil.com</EmailAddress>
                                            <Sequence>17</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Malka Caballero</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>malka.caballero@ccamatil.com</EmailAddress>
                                            <Sequence>18</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Matthew Davies</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>matthew.davies@ccamatil.com</EmailAddress>
                                            <Sequence>19</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Matthew Hall</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>mat.hall@ccamatil.com</EmailAddress>
                                            <Sequence>20</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Paul Aleixo</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>paul.aleixo@ccamatil.com</EmailAddress>
                                            <Sequence>21</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Rhyss Foote</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-11-20T13:12:00+11:00</WebContractSignDate>
                                            <EmailAddress>rhyss.foote@ccamatil.com</EmailAddress>
                                            <Sequence>22</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Ryan Clarke</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-11-20T10:56:00+11:00</WebContractSignDate>
                                            <EmailAddress>ryanclarke@awh.com.au</EmailAddress>
                                            <Sequence>23</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Sean Bradley</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>sean.bradley@ccamatil.com</EmailAddress>
                                            <Sequence>24</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Sean Dalton</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>sean.dalton@ccamatil.com</EmailAddress>
                                            <Sequence>25</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Steven Sheather</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>steven.sheather@ccamatil.com</EmailAddress>
                                            <Sequence>26</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Stuart Jordin</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-11-21T07:48:00+11:00</WebContractSignDate>
                                            <EmailAddress>stuart.jordin@ccamatil.com</EmailAddress>
                                            <Sequence>27</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Tayla Bush</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>ULink Account</JobTitle>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-11-26T15:28:00+11:00</WebContractSignDate>
                                            <EmailAddress>taylabush@awh.com.au</EmailAddress>
                                            <Sequence>28</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Tim Schenk</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <JobTitle>IT</JobTitle>
                                            <Mobile>+61 (400) 065-650</Mobile>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-10-22T13:24:00+11:00</WebContractSignDate>
                                            <EmailAddress>tim.schenk@ccamatil.com</EmailAddress>
                                            <Sequence>29</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Timothy Ballard</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <WebContractSignDate>2014-12-16T16:20:00+11:00</WebContractSignDate>
                                            <EmailAddress>timothy.ballard@ccamatil.com</EmailAddress>
                                            <Sequence>30</Sequence>
                                        </Contact>
                                        <Contact>
                                            <Name>Trevor Horrigan</Name>
                                            <Language>ENG</Language>
                                            <NotifyMode>EML</NotifyMode>
                                            <AttachmentType>PDF</AttachmentType>
                                            <EmailAddress>trevor.horrigan@ccamatil.com</EmailAddress>
                                            <Sequence>31</Sequence>
                                        </Contact>
                                    </Contacts>
                                    <RegistrationNumbers>
                                        <RegistrationNumber>
                                            <CountryOfRegistration>AU</CountryOfRegistration>
                                            <NumberType>ABN</NumberType>
                                            <Number>26 004 139 397</Number>
                                        </RegistrationNumber>
                                        <RegistrationNumber>
                                            <CountryOfRegistration>AU</CountryOfRegistration>
                                            <NumberType>LSC</NumberType>
                                            <Number>20787</Number>
                                        </RegistrationNumber>
                                        <RegistrationNumber>
                                            <CountryOfRegistration>AU</CountryOfRegistration>
                                            <NumberType>GST</NumberType>
                                            <Number>26 004 139 397</Number>
                                        </RegistrationNumber>
                                    </RegistrationNumbers>
                                </OrganisationDetails>
                            </Client>
                            <Reference>
                                <xsl:value-of select="Order" />
                            </Reference>
                            <DocketType>WOH</DocketType>
                            <ActionType>CON</ActionType>
                        </Identifier>
                        <DocketDetail>
                            <WarehouseCode>ROC</WarehouseCode>
                            <CustomerReference>
                                <xsl:value-of select="Order"/>
                            </CustomerReference>
                            <CustomerOrderDetail>
                                <OrderType>ORD</OrderType>
                                <DateRequired>
                                    <xsl:value-of select="DateRequired"/>
                                </DateRequired>
                                <xsl:choose>
                                    <xsl:when test="substring(External_ID, 3,2) = 'BC'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="GHPLHEA" OwnerCode="GHPLHEA">
                                                    <OrganisationDetails>
                                                        <Name>GHPL</Name>
                                                        <Location Country="Australia" City="Heathwood">AUHEA</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>STAPYLTON RD</AddressLine1>
                                                                <AddressCode>STAPYLTON RD</AddressCode>
                                                                <CityOrSuburb>HEATHWOOD</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4110</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUHEA</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:when test="substring(External_ID, 3,2) = 'BW'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="WOOLARBNE" OwnerCode="WOOLARBNE">
                                                    <OrganisationDetails>
                                                        <Name>WOOLWORTHS LARAPINTA WAREHOUSE</Name>
                                                        <Location Country="Australia" City="Larapinta">AUBNE</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>DISTRIBUTION ST</AddressLine1>
                                                                <AddressCode>DISTRIBUTION ST</AddressCode>
                                                                <CityOrSuburb>LARAPINTA</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4110</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUBNE</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:when test="substring(External_ID, 3,2) = 'RI'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="SPARBNE" OwnerCode="SPARBNE">
                                                    <OrganisationDetails>
                                                        <Name>SPAR</Name>
                                                        <Location Country="Australia" City="Brisbane">AUBNE</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>FOX RD</AddressLine1>
                                                                <AddressCode>FOX RD</AddressCode>
                                                                <CityOrSuburb>ACACIA RIDGE</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4110</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUBNE</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:when test="substring(External_ID, 3,2) = 'BD'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="METCASLOG" OwnerCode="METCASLOG">
                                                    <OrganisationDetails>
                                                        <Name>METCASH</Name>
                                                        <Location Country="Australia" City="Brisbane">AULOG</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>MAGNESIUM DRIVE</AddressLine1>
                                                                <AddressCode>MAGNESIUM DRIVE</AddressCode>
                                                                <CityOrSuburb>CRESTMEAD</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4132</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUBNE</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:when test="substring(External_ID, 3,2) = 'BC'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="GHPLHEA" OwnerCode="GHPLHEA">
                                                    <OrganisationDetails>
                                                        <Name>GHPL</Name>
                                                        <Location Country="Australia" City="Heathwood">AUHEA</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>STAPYLTON RD</AddressLine1>
                                                                <AddressCode>STAPYLTON RD</AddressCode>
                                                                <CityOrSuburb>HEATHWOOD</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4110</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUHEA</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:when test="substring(External_ID, 3,2) = 'LD'">
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="ALDIBNE" OwnerCode="ALDIBNE">
                                                    <OrganisationDetails>
                                                        <Name>ALDI</Name>
                                                        <Location Country="Australia" City="Stapylton">AUBNE</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>55 BURNSIDE RD</AddressLine1>
                                                                <AddressCode>55 BURNSIDE RD</AddressCode>
                                                                <CityOrSuburb>STAPYLTON</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4207</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUBNE</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <Consignee AddressType="CEA">
                                            <AddressReference>
                                                <AddressSequenceRef>1</AddressSequenceRef>
                                                <Organisation EDICode="COCCOLBNE" OwnerCode="COCCOLBNE">
                                                    <OrganisationDetails>
                                                        <Name>COCA-COLA AMATIL (AUST) PTY LTD</Name>
                                                        <Location Country="Australia" City="Richlands">AUBNE</Location>
                                                        <Addresses>
                                                            <Address AddressType="MAIN">
                                                                <AddressLine1>260 ORCHARD ROAD</AddressLine1>
                                                                <AddressCode>260 ORCHARD ROAD</AddressCode>
                                                                <CityOrSuburb>RICHLANDS</CityOrSuburb>
                                                                <StateOrProvince>QLD</StateOrProvince>
                                                                <PostCode>4077</PostCode>
                                                                <Language>ENG</Language>
                                                                <Location>AUBNE</Location>
                                                                <Sequence>1</Sequence>
                                                                <AddressCapabilities>
                                                                    <AddressCapability AddressType="MAIN" />
                                                                    <AddressCapability IsMainAddress="true" AddressType="OFC" />
                                                                </AddressCapabilities>
                                                            </Address>
                                                        </Addresses>
                                                    </OrganisationDetails>
                                                </Organisation>
                                            </AddressReference>
                                        </Consignee>
                                    </xsl:otherwise>
                                </xsl:choose>
                            </CustomerOrderDetail>
                        </DocketDetail>
                        <DocketLines>
                            <xsl:apply-templates select="key('items',Order)" />
                        </DocketLines>
                    </WhsDocket>
                </xsl:for-each>
            </WhsDockets>
        </Payload>
    </XmlInterchange>
</xsl:template>
<xsl:template match="Line_Items">
    <DocketLine>
        <Product>
            <xsl:value-of select="Product" />
        </Product>  
        <Description>
            <xsl:value-of select="Description"/>
        </Description>
        <QuantityFromClientOrder>
            <xsl:value-of select="Quantity"/>
        </QuantityFromClientOrder>
        <ProductUQ>MST</ProductUQ>  
        <LineNumber>
            <xsl:value-of select="position()" />
        </LineNumber>                                   
    </DocketLine>
</xsl:template>

我的输入是一个扁平的XML

<?xml version="1.0" encoding="UTF-8"?><Orders>
    <Line_Items>
        <DateRequired>2015-09-02T00:00:00</DateRequired>
        <Order>2370519</Order>
        <Warebouse>ROC</Warebouse>
        <Client>Bunnings Maroochydore OLD Warehouse</Client>
        <AddressLine1>Cnr Maroochydore and BroadmeadowRds</AddressLine1>
        <CityOrSuburb>MAROOCHYDORE</CityOrSuburb>
        <StateOrProvince>QLD</StateOrProvince>
        <PostCode>4558</PostCode>
        <Product>E2281</Product>
        <Description>R 3 5 175mm x 580mm x 1160mm</Description>
        <Quantity>4</Quantity>
        <UOM>MST</UOM>
        <LineQuantity>16</LineQuantity>
        <LineQuantityUQ>PAC</LineQuantityUQ>
        <Line_Number>1</Line_Number>
    </Line_Items>
    <Line_Items>
        <DateRequired>2015-09-02T00:00:00</DateRequired>
        <Order>2370519</Order>
        <Warebouse>ROC</Warebouse>
        <Client>Bunnings Maroochydore OLD Warehouse</Client>
        <AddressLine1>Cnr Maroochydore and BroadmeadowRds</AddressLine1>
        <CityOrSuburb>MAROOCHYDORE</CityOrSuburb>
        <StateOrProvince>QLD</StateOrProvince>
        <PostCode>4558</PostCode>
        <Product>E3592</Product>
        <Description>R 2 0 ACOUSTIC 75 X 580 X 1160 15 1 KG</Description>
        <Quantity>4</Quantity>
        <UOM>MST</UOM>
        <LineQuantity>48</LineQuantity>
        <LineQuantityUQ>PAC</LineQuantityUQ>
        <Line_Number>2</Line_Number>
    </Line_Items></Orders>

但是我的输出不会产生条件

输出

<?xml version="1.0"?><XmlInterchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.edi.com.au/EnterpriseService/">
<InterchangeInfo>
    <Source>
        <EnterpriseCode>AWH</EnterpriseCode>
        <CompanyCode>ADL</CompanyCode>
        <OriginServer>ADL</OriginServer>
    </Source>
    <Target/>
    <EDIOrganisation EDICode="AWHLOG_AU" OwnerCode="AWHLOG_AU">
        <OrganisationDetails>
            <Name>AWH LOGISTICS</Name>
            <Location Country="Australia" City="Adelaide">AUADL</Location>
            <Addresses>
                <Address AddressType="MAIN">
                    <AddressLine1>Gillman Wool Complex</AddressLine1>
                    <AddressLine2>GRAND TRUNKWAY,</AddressLine2>
                    <AddressCode>Gillman Wool Complex</AddressCode>
                    <CityOrSuburb>GILLMAN</CityOrSuburb>
                    <StateOrProvince>SA</StateOrProvince>
                    <PostCode>5013</PostCode>
                    <TelephoneNumbers>
                        <TelephoneNumber NumberType="Business">+618 8240 8400</TelephoneNumber>
                        <TelephoneNumber NumberType="Fax">+618 8240 0080</TelephoneNumber>
                    </TelephoneNumbers>
                    <Email>containers@awh.com.au</Email>
                    <Language>ENG</Language>
                    <Location>AUADL</Location>
                    <Sequence>1</Sequence>
                    <AddressCapabilities>
                        <AddressCapability AddressType="MAIN"/>
                        <AddressCapability IsMainAddress="true" AddressType="OFC"/>
                        <AddressCapability IsMainAddress="true" AddressType="PAD"/>
                    </AddressCapabilities>
                </Address>
            </Addresses>
        </OrganisationDetails>
    </EDIOrganisation>
</InterchangeInfo>
<Payload>
    <WhsDockets/>
</Payload>

我可能需要一套新的眼睛,因为我看不出有什么不对劲。非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

密钥应为<xsl:key name="items" match="Line_Items" use="Order" />,而不是<xsl:key name="items" match="Line_Items" use="Orders" />