<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    XML學(xué)習(xí)筆記---實(shí)戰(zhàn)XSLT

    Posted on 2007-09-14 15:50 久城 閱讀(400) 評(píng)論(1)  編輯  收藏 所屬分類: XML
    學(xué)習(xí)了一下XSLT的語法,自己也編寫了幾個(gè)小例子實(shí)踐了一下。記錄如下:

    XSL與XSLT

    XSL consists of three parts:
    XSLT - a language for transforming XML documents
    XPath - a language for navigating in XML documents
    XSL-FO - a language for formatting XML documents

    XSLT stands for XSL Transformations
    XSLT is the most important part of XSL
    XSLT transforms an XML document into another XML document
    XSLT uses XPath to navigate in XML documents
    XSLT is a W3C Recommendation

    XSLT is a language for transforming XML documents into XHTML documents or to other XML documents.
    XPath is a language for navigating in XML documents.

    以上是在W3C上的一些摘錄,我的英文太差了,不敢翻譯,但還是可以簡(jiǎn)單的意會(huì)的。

    總之,XSL和XSLT在狹義上是一致的。
    XSLT是XSL中最重要的一部分,
    XSLT是一種用來轉(zhuǎn)換XML文檔結(jié)構(gòu)的語言。
    將XML轉(zhuǎn)換為HTML,是目前XSLT最主要的功能。

    CSS與XSLT

    CSS同樣可以格式化XML文檔,但是它有嚴(yán)重的局限性,就是:
    1. CSS不能重新排序文檔中的元素;
    2. CSS不能判斷和控制哪個(gè)元素被顯示,哪個(gè)不被顯示;
    3. CSS不能統(tǒng)計(jì)計(jì)算元素中的數(shù)據(jù);

    所以,CSS適合用于靜態(tài)文檔。而XSLT雖然功能強(qiáng)大,但因?yàn)橐匦滤饕齒ML結(jié)構(gòu)樹,所以消耗內(nèi)存比較多。因此,我們常常將它們結(jié)合起來使用,比如在服務(wù)器端用XSLT處理文檔,在客戶端用CSS來控制顯示。可以減少響應(yīng)時(shí)間。

    實(shí)踐

    XSLT的主要用途就是數(shù)據(jù)轉(zhuǎn)換應(yīng)用。
    具體實(shí)踐一下XSLT是如何對(duì)XML進(jìn)行樣式轉(zhuǎn)化的。
    blog.xml

    <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet type="text/xsl" href="blog.xsl" ?> 
    <blogs>
      
    <blog>
        
    <name>久城的學(xué)習(xí)室</name>
        
    <author>久城</author>
        
    <url>http://www.tkk7.com/realsmy</url>
      
    </blog>
      
    <blog>
        
    <name>BeanSoft's Java Blog</name>
        
    <author>BeanSoft</author>
        
    <url>http://www.tkk7.com/beansoft</url>
      
    </blog>
    </blogs>

    blog.xsl

    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        
    <xsl:template match="/">
                
    <html>
                
    <body>
            
    <h2>BLOGS LIST</h2>
            
    <xsl:apply-templates/> 
            
    </body>
            
    </html>
        
    </xsl:template>

        
    <xsl:template match="blog">
          
    <p>
          
    <xsl:apply-templates select="name" />
          
    <xsl:apply-templates select="author" />
          
    <xsl:apply-templates select="url" />
          
    </p>
        
    </xsl:template>

        
    <xsl:template match="name">
          BLOG NAME:
    <span style="color:#ff0000"><xsl:value-of select="."/></span><br/>
        
    </xsl:template>

        
    <xsl:template match="author">
          AUTHOR:
    <span style="color:#ff0000"><xsl:value-of select="."/></span><br/>
        
    </xsl:template>

        
    <xsl:template match="url">
          BLOG URL:
    <span style="color:#ff0000"><xsl:value-of select="."/></span><br/>
        
    </xsl:template>

    </xsl:stylesheet>

    用IE打開blog.xml,顯示如下:

    BLOGS LIST

    BLOG NAME:久城的學(xué)習(xí)室
    AUTHOR:久城
    BLOG URL:http://www.tkk7.com/realsmy

    BLOG NAME:BeanSoft's Java Blog
    AUTHOR:BeanSoft
    BLOG URL:http://www.tkk7.com/beansoft

    關(guān)于XSLT的語法
    參考:http://www.w3schools.com/xsl/default.asp

    很好的教程。

    后記

    XML通過XSLT的轉(zhuǎn)換,完全能夠?qū)崿F(xiàn)HTML的顯示效果,同時(shí)又做到了數(shù)據(jù)與顯示的分離。這讓我想到了應(yīng)用方面。

    我能想到的,一方面是一些共同的數(shù)據(jù)可以直接通過在客戶端訪問XML文件,XML文件再通過不同的XSLT轉(zhuǎn)換成不同的顯示效果顯示在頁(yè)面上,無意中發(fā)現(xiàn)CSDN社區(qū)的每一個(gè)帖子就是一個(gè)XML文件,可以繼續(xù)參考學(xué)習(xí)一下。

    另一方面,由HTML頁(yè)面通過腳本(Script)語言訪問xml文件和xsl文件,在用腳本語言進(jìn)行轉(zhuǎn)換處理,輸出在HTML頁(yè)面上。如果腳本應(yīng)用JavaScript腳本,那不就是JavaScript和XML的技術(shù)應(yīng)用嗎?難道就是傳說中的AJAX?!從來沒有應(yīng)用過AJAX,只聽說過用AJAX實(shí)現(xiàn)異步數(shù)據(jù)傳遞。

    哈哈,突然有了沖動(dòng),下一個(gè)目標(biāo),學(xué)習(xí)一下AJAX。



    歡迎來訪!^.^!
    本BLOG僅用于個(gè)人學(xué)習(xí)交流!
    目的在于記錄個(gè)人成長(zhǎng).
    所有文字均屬于個(gè)人理解.
    如有錯(cuò)誤,望多多指教!不勝感激!

    Feedback

    # re: XML學(xué)習(xí)筆記---實(shí)戰(zhàn)XSLT  回復(fù)  更多評(píng)論   

    2007-09-14 21:12 by 自在淳羽
    呵呵,我們項(xiàng)目中的顯示全部是用XSLT實(shí)現(xiàn)的,總體感覺這個(gè)技術(shù)是XML與HTML的紐帶,通過JAVA可以通過Document對(duì)象動(dòng)態(tài)的生成XML文檔,然后又由XSLT做相對(duì)簡(jiǎn)單的顯示處理,還可以融合CSS和Javascript把整個(gè)過程渾然一體。

    Copyright © 久城

    主站蜘蛛池模板: 亚洲AV午夜成人影院老师机影院| 亚洲精品天堂在线观看| 最近免费字幕中文大全视频| 亚洲国产成人精品激情| 免费在线黄色网址| 色欲A∨无码蜜臀AV免费播| 日韩亚洲国产综合高清| 国产亚洲美女精品久久久| 97视频免费观看2区| 亚洲AⅤ男人的天堂在线观看| 国产成人麻豆亚洲综合无码精品 | 亚洲1234区乱码| 国产一级淫片视频免费看| 免费人成黄页在线观看日本| 亚洲日韩精品国产一区二区三区 | 全免费a级毛片免费**视频| 黄视频在线观看免费| 亚洲一区二区三区不卡在线播放| 亚洲午夜AV无码专区在线播放| 午夜影院免费观看| 直接进入免费看黄的网站| 91亚洲一区二区在线观看不卡| 免费夜色污私人影院在线观看| 麻豆高清免费国产一区| 一级美国片免费看| 亚洲精品无码不卡在线播放| 亚洲人成电影亚洲人成9999网| 久久久久国产免费| 免费国产高清毛不卡片基地| 亚洲国产成人超福利久久精品| 18禁超污无遮挡无码免费网站国产 | 国产精品九九久久免费视频| 国产成人亚洲综合一区| 久久亚洲AV午夜福利精品一区 | 国产精品亚洲а∨无码播放| 国产一区二区免费在线| 无人在线直播免费观看| 日本免费高清视频| 精品国产污污免费网站入口| 亚洲A∨精品一区二区三区下载| 亚洲国产高清在线精品一区|