zoukankan      html  css  js  c++  java
  • [BTS] 可能会经常用来参考的一段XSLT

      涵盖了最近重新学习xslt时的一些基本用法。

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
        
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <!--
    /*[local-name()='Root' and namespace-uri()='http://schemas.microsoft.com/BizTalk/2003/aggschema']/*[local-name()='InputMessagePart_0' and namespace-uri()='']/*[local-name()='ORDERS' and namespace-uri()='http://xxx']/*[local-name()='C000_MsgHeader' and namespace-uri()='http://xxx']/*[local-name()='DocNo' and namespace-uri()='http://xxx']

    /*[local-name()='Root' and namespace-uri()='http://schemas.microsoft.com/BizTalk/2003/aggschema']/*[local-name()='InputMessagePart_0' and namespace-uri()='']/*[local-name()='ORDERS' and namespace-uri()='http://xxxp']/*[local-name()='L150_Sub_line_level' and namespace-uri()='http://xxx']/*[local-name()='L150_OrderSubLineBasic' and namespace-uri()='http://xxx']/*[local-name()='LineBasic_SellersPartNo' and namespace-uri()='http://xxx']
    -->
        
    <xsl:template match="/">
            
    <xsl:call-template name="EricXu">
                
    <xsl:with-param name="L100_ItemNum" select="'L100'"/>
                
    <xsl:with-param name="L305_RefNum" select="'L305'"/>
                
    <xsl:with-param name="C000_DocNo" select="'C000'"/>
            
    </xsl:call-template>
        
    </xsl:template>
        
    <xsl:template name="EricXu">
            
    <xsl:param name="L100_ItemNum"/>
            
    <xsl:param name="L305_RefNum"/>
            
    <xsl:param name="C000_DocNo"/>
            
    <xsl:for-each select="//*[(local-name()='L150_Sub_line_level' or local-name()='L155_Third_Line_Item') and namespace-uri()='http://xxx']">
                
    <xsl:element name="T_ORDER_ITEMS_M">
                    
    <xsl:element name="ITM_NUMBER">
                        
    <xsl:value-of select="concat(*/*[local-name()='LineBasic_ItemNo' and namespace-uri()='http://xxxx'],'00')"/>
                    
    </xsl:element>
                    
    <xsl:choose>
                        
    <xsl:when test="local-name()='L150_Sub_line_level'">
                            
    <xsl:element name="HG_LV_ITEM">
                                
    <xsl:value-of select="concat($L100_ItemNum,'00')"/>
                            
    </xsl:element>
                            
    <xsl:element name="MATERIAL">
                                
    <xsl:value-of select="*/*[local-name()='LineBasic_BuyersPartNo' and namespace-uri()='http://xxx']"/>
                            
    </xsl:element>
                            
    <xsl:element name="ITEM_CATEG">ZCA6</xsl:element>
                        
    </xsl:when>
                        
    <xsl:otherwise>
                            
    <xsl:element name="HG_LV_ITEM"/>
                            
    <xsl:element name="MATERIAL">
                                
    <xsl:value-of select="*/*[local-name()='LineBasic_SellersPartNo' and namespace-uri()='http://xxx']"/>
                            
    </xsl:element>
                            
    <xsl:element name="ITEM_CATEG">ZCA7</xsl:element>
                        
    </xsl:otherwise>
                    
    </xsl:choose>
                    
    <xsl:element name="PLANT">2100</xsl:element>
                    
    <xsl:element name="STOR">2105</xsl:element>
                    
    <xsl:element name="PO_ITM_NO">
                        
    <xsl:value-of select="$L305_RefNum"/>
                    
    </xsl:element>
                    
    <xsl:element name="PURCH_NO_S">
                        
    <xsl:value-of select="$C000_DocNo"/>
                    
    </xsl:element>
                
    </xsl:element>
            
    </xsl:for-each>
        
    </xsl:template>

    </xsl:stylesheet> 

    子节点下的子节点过滤及函数

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
            <xsl:variable name="Date012" select="/*/*/*[local-name()='E2EDK03' and child::*[local-name()='IDDAT']='012']/*[local-name()='DATUM']"/>
            <html>
                <body>
                    <h2>
                        <xsl:value-of select="$Date012"/>
                    </h2>
                    <h2>
                        <xsl:value-of select="substring($Date012,1,4)"/>
                    </h2>
                    <h2>
                        <xsl:value-of select="substring($Date012,5,2)"/>
                    </h2>
                    <h2>
                        <xsl:value-of select="substring($Date012,7,2)"/>
                    </h2>
                    <h2>
                        <xsl:value-of select="concat(substring($Date012,1,4),'-', substring($Date012,5,2),'-', substring($Date012,7,2))"/>
                    </h2>
                    <h2>
    concat(substring($Date012,1,4),'-', substring($Date012,5,2),'-', substring($Date012,7,2))
    </h2>
                </body>
            </html>
        </xsl:template>
    </xsl:stylesheet>

     又一个很复杂的Mapping,普通Mapping搞不定了,只能用个xslt文件来弄了。

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
      3     <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
      4     <xsl:template match="/*[local-name()='Receive']/*[local-name()='idocData']">
      5         <xsl:element name="putOrder" namespace="http://eyefreight.com/schema/async/PutOrder/v1">
      6             <xsl:element name="messageId"/>
      7             <xsl:element name="correlationMessageId"/>
      8             <xsl:element name="timestamp"/>
      9             <xsl:element name="senderSystem"/>
     10             <xsl:element name="sender"/>
     11             <xsl:element name="receiver"/>
     12             <xsl:call-template name="order"/>
     13             <xsl:call-template name="handlingUnits"/>
     14         </xsl:element>
     15     </xsl:template>
     16     <xsl:template name="order">
     17         <xsl:param name="pOrderType" select="*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='ACTION']"/>
     18         <xsl:element name="order"/>
     19         <xsl:element name="orderNumber" namespace="http://eyefreight.com/schema/model/order/v2">
     20             <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='VBELN']"/>
     21         </xsl:element>
     22         <xsl:element name="orderType"/>
     23         <xsl:element name="outbound"/>
     24         <xsl:element name="flowCode"/>
     25         <xsl:element name="routingCode"/>
     26         <xsl:element name="status">
     27             <xsl:value-of select="$pOrderType"/>
     28         </xsl:element>
     29         <xsl:element name="origin">
     30             <xsl:element name="branchCode">
     31                 <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP09001GRP'][1]/*[local-name()='E2EDP09001']/*[local-name()='WERKS']"/>
     32             </xsl:element>
     33             <xsl:element name="branchName"/>
     34             <xsl:element name="address">
     35                 <xsl:element name="code"/>
     36                 <xsl:element name="street"/>
     37                 <xsl:element name="houseNumber"/>
     38                 <xsl:element name="postalCode"/>
     39                 <xsl:element name="city"/>
     40                 <xsl:element name="district"/>
     41                 <xsl:element name="countryCode"/>
     42             </xsl:element>
     43         </xsl:element>
     44         <xsl:element name="destination">
     45             <xsl:element name="branchCode">
     46                 <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='INCO2']"/>
     47             </xsl:element>
     48             <xsl:element name="branchName"/>
     49             <xsl:element name="address">
     50                 <xsl:element name="code"/>
     51                 <xsl:element name="street">
     52                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='STRAS']"/>
     53                 </xsl:element>
     54                 <xsl:element name="houseNumber"/>
     55                 <xsl:element name="postalCode"/>
     56                 <xsl:element name="city">
     57                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='ORT01']"/>
     58                 </xsl:element>
     59                 <xsl:element name="district">
     60                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='REGIO']"/>
     61                 </xsl:element>
     62                 <xsl:element name="countryCode">
     63                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='LAND1D']"/>
     64                 </xsl:element>
     65             </xsl:element>
     66         </xsl:element>
     67         <xsl:element name="incoterm">
     68             <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='INCO1']"/>
     69         </xsl:element>
     70         <xsl:element name="allocatable"/>
     71         <xsl:element name="registrationDate">
     72             <xsl:value-of select="*[local-name()='EDI_DC40']/*[local-name()='CREDAT']"/>
     73             <xsl:value-of select="*[local-name()='EDI_DC40']/*[local-name()='CRETIM']"/>
     74         </xsl:element>
     75         <xsl:element name="plannedCollectionTimestamp"/>
     76         <xsl:element name="earliestPlannedCollectionTimestamp"/>
     77         <xsl:element name="plannedDeliveryTimestamp">
     78             <xsl:value-of select="*[local-name() = 'E2EDK08001GRP']/*[local-name() = 'E2EDK06' and *[local-name()='IDDAT']='001']/*[local-name() = 'DATUM']"/>
     79         </xsl:element>
     80         <xsl:element name="earliestPlannedDeliveryTimestamp"/>
     81         <xsl:element name="plannedCosts"/>
     82         <xsl:element name="additionalCosts"/>
     83         <xsl:element name="preferredShippingType">
     84             <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='VSART_EF']"/>
     85         </xsl:element>
     86         <xsl:element name="urgencyLevel">0</xsl:element>
     87         <xsl:call-template name="order_attributes"/>
     88         <xsl:element name="ownerAccount"/>
     89         <xsl:call-template name="order_packages"/>
     90         <xsl:element name="orderSubRoutes"/>
     91         <xsl:element name="deliveryWindows"/>
     92         <xsl:element name="remarks">
     93             <xsl:element name="remark">
     94                 <xsl:element name="body">IDoc缺节点</xsl:element>
     95                 <xsl:element name="type">DELIVERY_INSTRUCTION</xsl:element>
     96                 <xsl:element name="remarkTimestamp">
     97                     <xsl:value-of select="*[local-name()='EDI_DC40']/*[local-name()='CREDAT']"/>
     98                     <xsl:value-of select="*[local-name()='EDI_DC40']/*[local-name()='CRETIM']"/>
     99                 </xsl:element>
    100             </xsl:element>
    101         </xsl:element>
    102         <xsl:element name="notifiyingParties">
    103             <xsl:element name="party">
    104                 <xsl:element name="email">
    105                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='CREATED_BY']"/>
    106                 </xsl:element>
    107                 <xsl:element name="event">
    108             
    109             </xsl:element>
    110             </xsl:element>
    111         </xsl:element>
    112     </xsl:template>
    113     <xsl:template name="order_attributes">
    114         <xsl:element name="customAttributes" namespace="http://eyefreight.com/schema/model/types/v1">
    115             <xsl:element name="attribute">
    116                 <xsl:element name="name">TRANSPORT_FLOW</xsl:element>
    117                 <xsl:element name="value">
    118                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='TRSPT_FLOW']"/>
    119                 </xsl:element>
    120             </xsl:element>
    121             <xsl:element name="attribute">
    122                 <xsl:element name="name">TRANSPORT_MODE</xsl:element>
    123                 <xsl:element name="value">
    124                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='VSARTD']"/>
    125                 </xsl:element>
    126             </xsl:element>
    127             <!-- !!! -->
    128             <xsl:element name="attribute">
    129                 <xsl:element name="name">CONSIGNEE</xsl:element>
    130                 <xsl:element name="value">
    131                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='NAME1']"/>
    132                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='NAME2']"/>
    133                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='NAME3']"/>
    134                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='NAME4']"/>
    135                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='STRAS']"/>
    136                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='STRS2']"/>
    137                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='PSTLZ']"/>
    138                 </xsl:element>
    139             </xsl:element>
    140             <!-- !!! -->
    141             <xsl:element name="attribute">
    142                 <xsl:element name="name">PICKUP_CONTACTS</xsl:element>
    143                 <xsl:element name="value">没找到IDoc节点</xsl:element>
    144             </xsl:element>
    145             <!-- !!! -->
    146             <xsl:element name="attribute">
    147                 <xsl:element name="name">DELIVERY_ADDRESS</xsl:element>
    148                 <xsl:element name="value">MAPPING信息不全</xsl:element>
    149             </xsl:element>
    150             <xsl:element name="attribute">
    151                 <xsl:element name="name">DELIVERY_CONTACTS</xsl:element>
    152                 <xsl:element name="value">
    153                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='TELF1']"/>
    154                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='TELF2']"/>
    155                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDKA2001' and *[local-name()='PARVW']='WE']/*[local-name()='TELBX']"/>
    156                 </xsl:element>
    157             </xsl:element>
    158             <xsl:element name="attribute">
    159                 <xsl:element name="name">REQUESTED_ETD</xsl:element>
    160                 <xsl:element name="value">
    161                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='DATUM']"/>
    162                 </xsl:element>
    163             </xsl:element>
    164             <xsl:element name="attribute">
    165                 <xsl:element name="name">INCOTERM_PLACE</xsl:element>
    166                 <xsl:element name="value">
    167                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='INCO2']"/>
    168                 </xsl:element>
    169             </xsl:element>
    170             <xsl:element name="attribute">
    171                 <xsl:element name="name">NOTIFYING_PARTY</xsl:element>
    172                 <xsl:element name="value">没找到IDoc节点</xsl:element>
    173             </xsl:element>
    174             <xsl:element name="attribute">
    175                 <xsl:element name="name">BILL_TO_PARTY</xsl:element>
    176                 <xsl:element name="value">
    177                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='BP_NAME']"/>
    178                 </xsl:element>
    179             </xsl:element>
    180             <xsl:element name="attribute">
    181                 <xsl:element name="name">CARGO_DESCRIPTION</xsl:element>
    182                 <xsl:element name="value">没找到IDoc节点</xsl:element>
    183             </xsl:element>
    184             <xsl:element name="attribute">
    185                 <xsl:element name="name">SHIPPING_MARK</xsl:element>
    186                 <xsl:element name="value">没找到IDoc节点</xsl:element>
    187             </xsl:element>
    188             <xsl:element name="attribute">
    189                 <xsl:element name="name">BL_INSTRUCTION</xsl:element>
    190                 <xsl:element name="value">
    191                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='SDABW']"/>
    192                 </xsl:element>
    193             </xsl:element>
    194             <xsl:element name="attribute">
    195                 <xsl:element name="name">DELIVERY_CONFIRMATION</xsl:element>
    196                 <xsl:element name="value">
    197                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDK08001']/*[local-name()='TRATY']"/>
    198                 </xsl:element>
    199             </xsl:element>
    200             <xsl:element name="attribute">
    201                 <xsl:element name="name">COMPANY_CODE</xsl:element>
    202                 <xsl:element name="value">
    203                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP09001GRP'][1]/*[local-name()='ZE1EDP09000']/*[local-name()='BUKRS_VF']"/>
    204                 </xsl:element>
    205             </xsl:element>
    206             <xsl:element name="attribute">
    207                 <xsl:element name="name">BUSINESS_UNIT</xsl:element>
    208                 <xsl:element name="value">
    209                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP09001GRP'][1]/*[local-name()='ZE1EDP09000']/*[local-name()='BU']"/>
    210                 </xsl:element>
    211             </xsl:element>
    212             <xsl:element name="attribute">
    213                 <xsl:element name="name">PRODUCT_GROUP</xsl:element>
    214                 <xsl:element name="value">
    215                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP09001GRP'][1]/*[local-name()='ZE1EDP09000']/*[local-name()='PG']"/>
    216                 </xsl:element>
    217             </xsl:element>
    218             <xsl:element name="attribute">
    219                 <xsl:element name="name">WBS</xsl:element>
    220                 <xsl:element name="value">
    221                     <xsl:value-of select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP09001GRP'][1]/*[local-name()='ZE1EDP09000']/*[local-name()='BSTNK']"/>
    222                 </xsl:element>
    223             </xsl:element>
    224             <xsl:element name="attribute">
    225                 <xsl:element name="name">CREATED_BY</xsl:element>
    226                 <xsl:element name="value">
    227                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='CREATED_BY']"/>
    228                 </xsl:element>
    229             </xsl:element>
    230             <xsl:element name="attribute">
    231                 <xsl:element name="name">CONFIRMED_BY</xsl:element>
    232                 <xsl:element name="value">
    233                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='UPDATED_BY']"/>
    234                 </xsl:element>
    235             </xsl:element>
    236             <xsl:element name="attribute">
    237                 <xsl:element name="name">SALESORDER_NUMBER</xsl:element>
    238                 <xsl:element name="value">
    239                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='VGBEL']"/>
    240                 </xsl:element>
    241             </xsl:element>
    242             <xsl:element name="attribute">
    243                 <xsl:element name="name">CUSTOMER_REFERENCE_NUMBER</xsl:element>
    244                 <xsl:element name="value">
    245                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='BSTNK']"/>
    246                 </xsl:element>
    247             </xsl:element>
    248             <xsl:element name="attribute">
    249                 <xsl:element name="name">CARGO_VALUE_AMOUNT</xsl:element>
    250                 <xsl:element name="value">
    251                     <xsl:element name="value">没找到IDoc节点</xsl:element>
    252                 </xsl:element>
    253             </xsl:element>
    254             <xsl:element name="attribute">
    255                 <xsl:element name="name">CARGO_VALUE_CURRENCY</xsl:element>
    256                 <xsl:element name="value">
    257                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='WAERK']"/>
    258                 </xsl:element>
    259             </xsl:element>
    260             <xsl:element name="attribute">
    261                 <xsl:element name="name">ITEM_QUANTITY</xsl:element>
    262                 <xsl:element name="value">
    263                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='TOTAL_QTY']"/>
    264                 </xsl:element>
    265             </xsl:element>
    266             <xsl:element name="attribute">
    267                 <xsl:element name="name">DEPARTMENT</xsl:element>
    268                 <xsl:element name="value">
    269                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='ABTNR']"/>
    270                 </xsl:element>
    271             </xsl:element>
    272             <xsl:element name="attribute">
    273                 <xsl:element name="name">INTERNAL_ORDER_NUMBER</xsl:element>
    274                 <xsl:element name="value">
    275                     <xsl:value-of select="*[local-name()='E2EDK07001GRP']/*[local-name()='ZE1EDK07000']/*[local-name()='INTERNAL_ORDER']"/>
    276                 </xsl:element>
    277             </xsl:element>
    278         </xsl:element>
    279     </xsl:template>
    280     <xsl:template name="order_packages">
    281         <xsl:element name="orderPackages">
    282             <xsl:for-each select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP08GRP']">
    283                 <xsl:element name="orderPackage">
    284                     <xsl:element name="weight">
    285                         <xsl:element name="gross">
    286                             <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='DN_WEIGHT']"/>
    287                         </xsl:element>
    288                     </xsl:element>
    289                     <xsl:element name="dimension">
    290                         <xsl:element name="width">
    291                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='BREIT']"/>
    292                         </xsl:element>
    293                         <xsl:element name="height">
    294                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='HOEHE']"/>
    295                         </xsl:element>
    296                         <xsl:element name="length">
    297                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='LAENG']"/>
    298                         </xsl:element>
    299                         <xsl:element name="ldm"/>
    300                         <xsl:element name="volume">
    301                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='DN_VOLUME']"/>
    302                         </xsl:element>
    303                     </xsl:element>
    304                     <xsl:element name="orientation">
    305                         <xsl:element name="allowedOrientation">
    306                         </xsl:element>
    307                     </xsl:element>
    308                     <xsl:element name="stackability">
    309                         <xsl:element name="limit">
    310                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='VEGR3']"/>
    311                         </xsl:element>
    312                         <xsl:element name="onTop">
    313                             <xsl:element name="sameType">true</xsl:element>
    314                             <xsl:element name="differentType">true</xsl:element>
    315                             <xsl:element name="onHeavier">true</xsl:element>
    316                         </xsl:element>
    317                         <xsl:element name="onBottom">
    318                             <xsl:element name="sameType">true</xsl:element>
    319                             <xsl:element name="differentType">true</xsl:element>
    320                         </xsl:element>
    321                     </xsl:element>
    322                     <xsl:element name="orderPackageNumber" namespace="http://eyefreight.com/schema/model/order/v2">
    323                         <xsl:value-of select="concat(/*[local-name()='Receive']/*[local-name()='idocData']/*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='VBELN'],'-',*[local-name()='E2EDP08']/*[local-name()='EXIDV'])"/>
    324                     </xsl:element>
    325                     <xsl:element name="packageTypeCode"/>
    326                     <xsl:element name="amount">0</xsl:element>
    327                     <xsl:element name="temperatureCondition"/>
    328                     <xsl:element name="natureOfGoods"/>
    329                     <xsl:element name="skuAmount"/>
    330                     <xsl:element name="customAttributes" namespace="http://eyefreight.com/schema/model/types/v1">
    331                         <xsl:element name="attribute">
    332                             <xsl:element name="name">COMPANY_CODE</xsl:element>
    333                             <xsl:element name="value">要计算EDP09中的数据项</xsl:element>
    334                         </xsl:element>
    335                         <xsl:element name="attribute">
    336                             <xsl:element name="name">BUSINESS_UNIT</xsl:element>
    337                             <xsl:element name="value">需要计算EDP09中的数据项</xsl:element>
    338                         </xsl:element>
    339                         <xsl:element name="attribute">
    340                             <xsl:element name="name">PRODUCT_GROUP</xsl:element>
    341                             <xsl:element name="value">要计算EDP09中的数据项</xsl:element>
    342                         </xsl:element>
    343                         <xsl:element name="attribute">
    344                             <xsl:element name="name">HU_CONTENTS</xsl:element>
    345                             <xsl:element name="value">
    346                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='INHALT']"/>
    347                             </xsl:element>
    348                         </xsl:element>
    349                         <xsl:element name="attribute">
    350                             <xsl:element name="name">HU_LOCATION</xsl:element>
    351                             <xsl:element name="value">
    352                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='VEGR2']"/>
    353                             </xsl:element>
    354                         </xsl:element>
    355                         <xsl:element name="attribute">
    356                             <xsl:element name="name">DANGEROUS_GOODS</xsl:element>
    357                             <xsl:element name="value">
    358                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='ADGE_DG']"/>
    359                             </xsl:element>
    360                         </xsl:element>
    361                         <xsl:element name="attribute">
    362                             <xsl:element name="name">IDENTIFICATION_CODE</xsl:element>
    363                             <xsl:element name="value">
    364                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='HU_ID2']"/>
    365                             </xsl:element>
    366                         </xsl:element>
    367                         <xsl:element name="attribute">
    368                             <xsl:element name="name">HU_NUMBER</xsl:element>
    369                             <xsl:element name="value">
    370                                 <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='EXIDV']"/>
    371                             </xsl:element>
    372                         </xsl:element>
    373                         <xsl:element name="attribute">
    374                             <xsl:element name="name">HU_TYPE</xsl:element>
    375                             <xsl:element name="value">
    376                                 <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='PCKAR']"/>
    377                             </xsl:element>
    378                         </xsl:element>
    379                     </xsl:element>
    380                     <xsl:element name="productDetails">
    381                         <xsl:element name="productDetail">
    382                             <xsl:element name="skuCode"/>
    383                             <xsl:element name="name"/>
    384                             <xsl:element name="description"/>
    385                             <xsl:element name="amount"/>
    386                             <xsl:element name="customAttributes" namespace="http://eyefreight.com/schema/model/types/v1">
    387                                 <xsl:element name="attribute">
    388                                     <xsl:element name="name">SALESORDER_NUMBER</xsl:element>
    389                                     <xsl:element name="value">
    390                                         <xsl:value-of select="../*[local-name()='E2EDP07']/*[local-name()='VGBEL']"/>
    391                                     </xsl:element>
    392                                 </xsl:element>
    393                                 <xsl:element name="attribute">
    394                                     <xsl:element name="name">COMMERCIAL_ITEM_NUMBER</xsl:element>
    395                                     <xsl:element name="value">
    396                                         <xsl:value-of select="../*[local-name()='E2EDP07']/*[local-name()='VGPOS']"/>
    397                                     </xsl:element>
    398                                 </xsl:element>
    399                                 <xsl:element name="attribute">
    400                                     <xsl:element name="name">CUSTOMER_REFERENCE_NUMBER</xsl:element>
    401                                     <xsl:element name="value">
    402                                         <xsl:value-of select="../*[local-name()='E2EDP07']/*[local-name()='BSTNK']"/>
    403                                     </xsl:element>
    404                                 </xsl:element>
    405                                 <xsl:element name="attribute">
    406                                     <xsl:element name="name">WBS</xsl:element>
    407                                     <xsl:element name="value">不知道如何跟ZE1EDP09进行关联</xsl:element>
    408                                 </xsl:element>
    409                                 <xsl:element name="attribute">
    410                                     <xsl:element name="name">CARGO_VALUE_AMOUNT</xsl:element>
    411                                     <xsl:element name="value">不知道如何跟ZE1EDP09进行关联</xsl:element>
    412                                 </xsl:element>
    413                                 <xsl:element name="attribute">
    414                                     <xsl:element name="name">CARGO_VALUE_CURRENCY</xsl:element>
    415                                     <xsl:element name="value">
    416                                         <xsl:value-of select="../*[local-name()='E2EDP07']/*[local-name()='WAERK']"/>
    417                                     </xsl:element>
    418                                 </xsl:element>
    419                                 <xsl:element name="attribute">
    420                                     <xsl:element name="name">COMPANY_CODE</xsl:element>
    421                                     <xsl:element name="value">不知道如何跟ZE1EDP09进行关联</xsl:element>
    422                                 </xsl:element>
    423                                 <xsl:element name="attribute">
    424                                     <xsl:element name="name">BUSINESS_UNIT</xsl:element>
    425                                     <xsl:element name="value">不知道如何跟ZE1EDP09进行关联</xsl:element>
    426                                 </xsl:element>
    427                                 <xsl:element name="attribute">
    428                                     <xsl:element name="name">PRODUCT_GROUP</xsl:element>
    429                                     <xsl:element name="value">不知道如何跟ZE1EDP09进行关联</xsl:element>
    430                                 </xsl:element>
    431                             </xsl:element>
    432                         </xsl:element>
    433                     </xsl:element>
    434                 </xsl:element>
    435             </xsl:for-each>
    436         </xsl:element>
    437     </xsl:template>
    438     <xsl:template name="handlingUnits">
    439         <xsl:element name="orderPackages">
    440             <xsl:for-each select="*[local-name()='E2EDK08001GRP']/*[local-name()='E2EDP07GRP']/*[local-name()='E2EDP08GRP']">
    441                 <xsl:element name="handlingUnit">
    442                     <xsl:element name="weight">
    443                         <xsl:element name="gross">
    444                             <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='BTGEW']"/>
    445                         </xsl:element>
    446                     </xsl:element>
    447                     <xsl:element name="dimension">
    448                         <xsl:element name="width">
    449                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='BREIT']"/>
    450                         </xsl:element>
    451                         <xsl:element name="height">
    452                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='HOEHE']"/>
    453                         </xsl:element>
    454                         <xsl:element name="length">
    455                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='LAENG']"/>
    456                         </xsl:element>
    457                         <xsl:element name="ldm"/>
    458                         <xsl:element name="volume">
    459                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='BTVOL']"/>
    460                         </xsl:element>
    461                     </xsl:element>
    462                     <xsl:element name="orientation">
    463                         <xsl:element name="allowedOrientation">
    464                         </xsl:element>
    465                     </xsl:element>
    466                     <xsl:element name="stackability">
    467                         <xsl:element name="limit">
    468                             <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='VEGR3']"/>
    469                         </xsl:element>
    470                         <xsl:element name="onTop">
    471                             <xsl:element name="sameType">true</xsl:element>
    472                             <xsl:element name="differentType">true</xsl:element>
    473                             <xsl:element name="onHeavier">true</xsl:element>
    474                         </xsl:element>
    475                         <xsl:element name="onBottom">
    476                             <xsl:element name="sameType">true</xsl:element>
    477                             <xsl:element name="differentType">true</xsl:element>
    478                         </xsl:element>
    479                     </xsl:element>
    480                     <xsl:element name="handlingUnitUsageNumber">
    481                         <xsl:value-of select="concat(/*[local-name()='Receive']/*[local-name()='idocData']/*[local-name()='E2EDK07001GRP']/*[local-name()='E2EDK07001']/*[local-name()='VBELN'],'-',*[local-name()='E2EDP08']/*[local-name()='EXIDV'])"/>
    482                     </xsl:element>
    483                     <xsl:element name="handlingUnitReference">
    484                         <xsl:element name="equipmentTypeReference">
    485                             <xsl:element name="code"></xsl:element>
    486                             <xsl:element name="name"></xsl:element>
    487                         </xsl:element>
    488                     </xsl:element>
    489                     <xsl:element name="ssccIdentifier"></xsl:element>
    490                     <xsl:element name="sealNumber"/>
    491                     <xsl:element name="customAttributes" namespace="http://eyefreight.com/schema/model/types/v1">
    492                         <xsl:element name="attribute">
    493                             <xsl:element name="name">HU_CONTENTS</xsl:element>
    494                             <xsl:element name="value">
    495                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='INHALT']"/>
    496                             </xsl:element>
    497                         </xsl:element>
    498                         <xsl:element name="attribute">
    499                             <xsl:element name="name">HU_LOCATION</xsl:element>
    500                             <xsl:element name="value">
    501                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='VEGR2']"/>
    502                             </xsl:element>
    503                         </xsl:element>
    504                         <xsl:element name="attribute">
    505                             <xsl:element name="name">DANGEROUS_GOODS</xsl:element>
    506                             <xsl:element name="value">
    507                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='ADGE_DG']"/>
    508                             </xsl:element>
    509                         </xsl:element>
    510                         <xsl:element name="attribute">
    511                             <xsl:element name="name">IDENTIFICATION_CODE</xsl:element>
    512                             <xsl:element name="value">
    513                                 <xsl:value-of select="*[local-name()='ZE1EDP08000']/*[local-name()='HU_ID2']"/>
    514                             </xsl:element>
    515                         </xsl:element>
    516                         <xsl:element name="attribute">
    517                             <xsl:element name="name">HU_NUMBER</xsl:element>
    518                             <xsl:element name="value">
    519                                 <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='EXIDV']"/>
    520                             </xsl:element>
    521                         </xsl:element>
    522                         <xsl:element name="attribute">
    523                             <xsl:element name="name">HU_TYPE</xsl:element>
    524                             <xsl:element name="value">
    525                                 <xsl:value-of select="*[local-name()='E2EDP08']/*[local-name()='PCKAR']"/>
    526                             </xsl:element>
    527                         </xsl:element>
    528                     </xsl:element>
    529                 </xsl:element>
    530             </xsl:for-each>
    531         </xsl:element>
    532     </xsl:template>
    533 </xsl:stylesheet>
    View Code

    希望不要再忘记。 

     

    徐中
    北京钛谷诚泽网络通讯科技有限公司
    www.51biztalk.com

  • 相关阅读:
    使用 Traefik 代理 UDP 服务
    KubeOperator界面,集群详情中的存储,存储提供商
    centos7使用yum方式安装node_exporter
    Traefik2.3.x 使用大全(更新版)
    jumpserver堡垒机版本升级,从2.14.2升级到2.16.3
    Traefik 2.0 实现灰度发布
    matplotlib 中文问题
    数据采集实战(五) 当当网童书排名
    雅可比行列式迭代及优化(golang版)
    mysql8.x docker 远程访问配置
  • 原文地址:https://www.cnblogs.com/xuzhong/p/2146383.html
Copyright © 2011-2022 走看看