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

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

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

    XML學習筆記---實戰XSLT

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

    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上的一些摘錄,我的英文太差了,不敢翻譯,但還是可以簡單的意會的。

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

    CSS與XSLT

    CSS同樣可以格式化XML文檔,但是它有嚴重的局限性,就是:
    1. CSS不能重新排序文檔中的元素;
    2. CSS不能判斷和控制哪個元素被顯示,哪個不被顯示;
    3. CSS不能統計計算元素中的數據;

    所以,CSS適合用于靜態文檔。而XSLT雖然功能強大,但因為要重新索引XML結構樹,所以消耗內存比較多。因此,我們常常將它們結合起來使用,比如在服務器端用XSLT處理文檔,在客戶端用CSS來控制顯示。可以減少響應時間。

    實踐

    XSLT的主要用途就是數據轉換應用。
    具體實踐一下XSLT是如何對XML進行樣式轉化的。
    blog.xml

    <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet type="text/xsl" href="blog.xsl" ?> 
    <blogs>
      
    <blog>
        
    <name>久城的學習室</name>
        
    <author>久城</author>
        
    <url>http://m.tkk7.com/realsmy</url>
      
    </blog>
      
    <blog>
        
    <name>BeanSoft's Java Blog</name>
        
    <author>BeanSoft</author>
        
    <url>http://m.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:久城的學習室
    AUTHOR:久城
    BLOG URL:http://m.tkk7.com/realsmy

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

    關于XSLT的語法
    參考:http://www.w3schools.com/xsl/default.asp

    很好的教程。

    后記

    XML通過XSLT的轉換,完全能夠實現HTML的顯示效果,同時又做到了數據與顯示的分離。這讓我想到了應用方面。

    我能想到的,一方面是一些共同的數據可以直接通過在客戶端訪問XML文件,XML文件再通過不同的XSLT轉換成不同的顯示效果顯示在頁面上,無意中發現CSDN社區的每一個帖子就是一個XML文件,可以繼續參考學習一下。

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

    哈哈,突然有了沖動,下一個目標,學習一下AJAX。



    歡迎來訪!^.^!
    本BLOG僅用于個人學習交流!
    目的在于記錄個人成長.
    所有文字均屬于個人理解.
    如有錯誤,望多多指教!不勝感激!

    Feedback

    # re: XML學習筆記---實戰XSLT  回復  更多評論   

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

    Copyright © 久城

    主站蜘蛛池模板: 亚洲日产2021三区| 午夜免费福利在线| 花蝴蝶免费视频在线观看高清版| 国产精品亚洲av色欲三区| 亚洲成a人片在线观看天堂无码 | 国产成人高清精品免费软件| 毛片免费观看的视频| 最近中文字幕无吗免费高清| 在线观看人成视频免费| 日本xxwwxxww在线视频免费 | 久久精品免费视频观看| 日韩精品免费视频| 无码国产精品一区二区免费16 | 欧洲人免费视频网站在线| 精品国产一区二区三区免费| 久久一本岛在免费线观看2020| 久久久久国产精品免费免费不卡| 少妇人妻偷人精品免费视频| 国产电影午夜成年免费视频| 成人一a毛片免费视频| 国产成人免费高清在线观看| 亚洲国产中文字幕在线观看| 中文亚洲AV片在线观看不卡| 亚洲av无码一区二区三区乱子伦 | 亚洲桃色AV无码| 亚洲福利在线视频| 亚洲一区二区影视| 国产精品亚洲色图| 怡红院免费全部视频在线视频| 免费人成在线观看网站品爱网| 久久WWW免费人成一看片| 麻豆精品国产免费观看| 亚洲精品和日本精品| 亚洲成AV人片在线观看| 亚洲男人天堂影院| 亚洲AV成人无码网天堂| 精品国产污污免费网站入口在线| 亚洲精品免费在线观看| 成人毛片免费观看视频在线| 亚洲国产综合无码一区二区二三区| 亚洲阿v天堂在线|