[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> 

 

希望不要再忘记。 

 

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

 

 

标签: biztalk, xslt

posted on 2011-08-20 00:05 西煞魄工人 阅读(65) 评论(0) 编辑 收藏

导航

公告

个人简历

Locations of visitors to this page
MSN:xu.zhong(at)hotmail.com
QQ:20089350
EMail:xu.zhong@hotmail.com

昵称:西煞魄工人
园龄:6年5个月
粉丝:7
关注:0

搜索

 

常用链接

我的标签

随笔分类(195)

随笔档案(207)

文章分类

相册

BizTalk Blogs

BOCO

Linux

Microsoft

博客堂

程序员

我的办公区

积分与排名

  • 积分 - 119445
  • 排名 - 839

最新评论

阅读排行榜

评论排行榜

推荐排行榜