涵盖了最近重新学习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 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>
希望不要再忘记。
徐中
北京钛谷诚泽网络通讯科技有限公司
www.51biztalk.com