當(dāng)柳上原的風(fēng)吹向天際的時(shí)候...

          真正的快樂來源于創(chuàng)造

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          1.使用Substring進(jìn)行字符串截取
          輸入:
          <date>122811</date>

          輸出:
          <?xml version="1.0" encoding="UTF-8"?>
          <date>12-28-2011</date>

          代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    
              
          <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
              
              
          <xsl:template match="/date">    
                  
          <date>
                  
          <xsl:value-of select="concat(substring(.,1,2),'-',substring(.,3,2),'-20',substring(.,5,2))"/>    
                  
          </date>
              
          </xsl:template>    
              
          </xsl:stylesheet>


          2.使用substring-before和substring-after進(jìn)行字符串截取
          輸入:
          <lists><list><class><phonelist>123-456-789 623-436-189 923-056-329</phonelist></class></list><list2><class><phonelist>523-556-589 623-636-689 923-956-929</phonelist></class></list2></lists>

          輸出:
          <?xml version="1.0" encoding="UTF-8"?>
          <lists>
          <list>
          <class>
          <phone>123-456-789</phone>
          <phone>623-436-189</phone>
          <phone>923-056-329</phone>
          </class>
          </list>
          <list2>
          <class>
          <phone>523-556-589</phone>
          <phone>623-636-689</phone>
          <phone>923-956-929</phone>
          </class>
          </list2>
          </lists>

          代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    
          <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
              
          <xsl:template match="/">
                  
          <lists>
                      
          <list><class>
                      
          <xsl:for-each select="lists/list/class/phonelist">
                          
          <phone><xsl:value-of select="substring-before(normalize-space(.),' ')"/></phone>
                          
          <phone><xsl:value-of select="substring-before(substring-after(normalize-space(.),' '),' ')"/></phone>
                          
          <phone><xsl:value-of select="substring-after(substring-after(normalize-space(.),' '),' ')"/></phone>
                      
          </xsl:for-each>
                      
          </class></list>
                      
                      
          <list2><class>
                      
          <xsl:for-each select="lists/list2/class/phonelist">
                          
          <phone><xsl:value-of select="substring-before(normalize-space(.),' ')"/></phone>
                          
          <phone><xsl:value-of select="substring-before(substring-after(normalize-space(.),' '),' ')"/></phone>
                          
          <phone><xsl:value-of select="substring-after(substring-after(normalize-space(.),' '),' ')"/></phone>
                      
          </xsl:for-each>
                      
          </class></list2>
                  
          </lists>
              
          </xsl:template>    
          </xsl:stylesheet>

          3.使用XPath選擇不同節(jié)點(diǎn)
          輸入:
          <lists><A><A1>A1</A1><A2>A2</A2></A><B><B1>B1</B1></B></lists>

          輸出:
          <?xml version="1.0" encoding="UTF-8"?>
          <lists>
          <AB>
          <A1>A1</A1>
          <B1>B1</B1>
          <A2>A2</A2>
          </AB>
          </lists>

          代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    
          <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
              
          <xsl:template match="/">
                  
          <lists>
                      
          <AB>
                          
          <A1><xsl:value-of select="/lists/A/A1"/></A1>
                          
          <B1><xsl:value-of select="/lists/B/B1"/></B1>
                          
          <A2><xsl:value-of select="/lists/A/A2"/></A2>
                      
          </AB>
                  
          </lists>
              
          </xsl:template>    
          </xsl:stylesheet>

          4.取得兄弟節(jié)點(diǎn)。
          .輸入:
          <list><group><seat id="A1"><price>1111.00</price></seat><seat id="A2"><price>2222.00</price></seat><seat id="A3"><price>3333.00</price></seat><seat id="A4"><price>4444.00</price></seat></group></list>

          輸出:
          <?xml version="1.0" encoding="UTF-8"?>
          <list>
          <seat id="A1" Next="A2">
          <price>1111.00</price>
          </seat>
          <seat id="A2" Privious="A1" Next="A3">
          <price>2222.00</price>
          </seat>
          <seat id="A3" Privious="A2" Next="A4">
          <price>3333.00</price>
          </seat>
          <seat id="A4" Privious="A3">
          <price>4444.00</price>
          </seat>
          </list>

          代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    
          <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>

              
          <xsl:template match="/">
                  
          <xsl:variable name="seatCount" select="count(list/group/seat)"/>
                  
          <list>
                  
          <xsl:for-each select="list/group/seat">
                      
          <seat>
                          
          <xsl:choose>
                              
          <xsl:when test="position()= 1">
                                  
          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
                                  
          <xsl:attribute name="Next"><xsl:value-of select="following-sibling::seat[1]/attribute::id"/></xsl:attribute>
                                  
          <price><xsl:value-of select="price"/></price>
                              
          </xsl:when>                                       
                              
                              
                              
          <xsl:when test="position()= $seatCount">
                                  
          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
                                  
          <xsl:attribute name="Privious"><xsl:value-of select="preceding-sibling::seat[1]/attribute::id"/></xsl:attribute>
                                  
          <price><xsl:value-of select="price"/></price>
                              
          </xsl:when>
                              
                              
          <xsl:otherwise>
                                  
          <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>                        
                                  
          <xsl:attribute name="Privious"><xsl:value-of select="preceding-sibling::seat[1]/attribute::id"/></xsl:attribute>
                                  
          <xsl:attribute name="Next"><xsl:value-of select="following-sibling::seat[1]/attribute::id"/></xsl:attribute>
                                  
          <price><xsl:value-of select="price"/></price>
                              
          </xsl:otherwise>
                          
          </xsl:choose>
                      
          </seat>
                  
          </xsl:for-each>
                  
          </list>
              
          </xsl:template>    
          </xsl:stylesheet>
          5.使用string-length得到字符串長度并用xsl:if判斷。
          輸入:
          <list><group><seat><id>11</id><price/></seat><seat><id></id><price>2222.00</price></seat><seat><id/><price>3333.00</price></seat><seat><id>44</id><price></price></seat><seat><id>55</id><price>5555.00</price></seat></group></list>

          輸出:
          <?xml version="1.0" encoding="UTF-8"?>
          <seat>
          <id>11</id>
          </seat>
          <seat>
          <price>2222.00</price>
          </seat>
          <seat>
          <price>3333.00</price>
          </seat>
          <seat>
          <id>44</id>
          </seat>
          <seat>
          <id>55</id>
          <price>5555.00</price>
          </seat>

          代碼:
          <?xml version="1.0" encoding="utf-8"?>
          <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">    
          <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>

              
          <xsl:template match="/">
                  
          <xsl:variable name="seatCount" select="count(list/group/seat)"/>
              
                  
          <xsl:for-each select="list/group/seat">
                      
          <seat>
                          
          <xsl:if test="string-length(id) &gt; 0">
                              
          <id><xsl:value-of select="id"/></id>
                          
          </xsl:if>
                          
          <xsl:if test="string-length(price) &gt; 0">
                              
          <price><xsl:value-of select="price"/></price>
                          
          </xsl:if>
                      
          </seat>
                  
          </xsl:for-each>
              
          </xsl:template>    
          </xsl:stylesheet>


          posted on 2011-12-14 09:49 何楊 閱讀(397) 評(píng)論(0)  編輯  收藏 所屬分類: WMB
          主站蜘蛛池模板: 琼海市| 孟州市| 壤塘县| 万州区| 普兰县| 玉门市| 滕州市| 无极县| 汉沽区| 曲松县| 双辽市| 阿勒泰市| 达孜县| 扶沟县| 大埔区| 钦州市| 宣威市| 长泰县| 盐边县| 苗栗县| 灵宝市| 乌什县| 赤城县| 林甸县| 颍上县| 贵溪市| 浦北县| 乌兰浩特市| 平利县| 邻水| 华坪县| 乐清市| 瑞昌市| 额济纳旗| 万安县| 嘉定区| 永善县| 太仆寺旗| 汉阴县| 怀安县| 夏邑县|