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

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

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

    當前訪問本站: hits

    yjhmily

    堅持走自己的路……

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      100 Posts :: 8 Stories :: 353 Comments :: 0 Trackbacks
    因為最近要實現XML轉HTML的功能!所以研究了一下XSL技術!感覺還不錯!這里與大家分享!希望對XSL新手有幫助!

    下面的概念將說的有點大,(如果比較暈的話就別看了!直接跳到星號線以下)

    什么是XSL :
    可擴展的樣式語言(Extensible Style Language,XSL)包括變換語言(transformation language)和格式化語言(formatting language)。每種語言都是一個XML應用程序。變換語言提供定義規則的元素如何將XML文檔變換成另一個XML文檔。被變換的XML文檔可能使用原文檔的標記和DTD,或者使用一組完全不同的標記。

    實際上,XSL是兩種語言,而不是一種。第一種語言是變換語言,第二種是格式化語言。變換語言是一種很有用的語言,它與格式化語言無關。它能夠把數據從一種XML表示移到另一種表示,這種功能,使它成為基于XML的電子商務、電子數據交換、元數據交換以及應用于需要在相同數據的不同XML表示之間進行轉換的重要組成部分。由于缺乏對人們要瀏覽的顯示器上顯示數據的了解,這些用途還要結合起來使用。它們純粹是用來將數據從一種計算機系統或程序移到另一種計算機系統或程序中。

    XML基礎 :

    眾所周知:每個結構整潔的XML文檔都是樹形結構(tree)。樹形結構是一種數據結構,它是由連接起來的節點(node)組成的,這些節點起始于一個稱為根節點(root)的單節點。根節點連接它的子節點,每個子節點可以連接零個或多個它自己的子節點,依次類推。沒有自己的子節點的節點稱為葉節點(leave)。樹形結構的圖表更像家譜,列出各個先輩的后代。樹形結構最有用的特征是每個節點及其子節點也會形成樹形結構。因此,一個樹形結構就是所有樹形結構的分級結構,在此分級結構中,各樹形結構都是由更小的樹形結構建立的。

    正因為XML有這樣的特征,對于XSL,特性,命名域(namespace),處理指令以及注釋必須也作為節點看待.而且文檔的根節點必須與根(基本)元素區別開來.因此,XSL處理程序假定XML數形結構包含下列七類節點 :根節點,元素,文本,特性,命名域,處理指令,注釋;

    **************************************************************************************************************************

    概述一下就是:?? XSL變換中,XSL處理程序讀取XML文檔和XSL樣式單?;谔幚沓绦蛟?span lang="EN-US">XSL樣式單中找到的指令,輸出新的XML文檔。


    實際上在使用中頻率最高的就是將一段XML通過XSL轉化為HTML,然后再頁面輸出.特別是在一些需要用到模板頁面的項目中,XSL的用處是比較大的!

    最快的學習莫過于看實例,下面我就基于XSL最簡單的語法寫一個XSL的"Hello world"!呵呵!

    假定現在有一段這樣的XML:

    ?1?<!--XML?Example-->
    ?2?<root?value="選擇你喜歡的搜索引擎">
    ?3?<item?href="http://www.baidu.com">
    ?4?百度
    ?5?</item>
    ?6?<item?href="http://www.google.com">
    ?7?Google
    ?8?</item>
    ?9?</root>
    10?


    根據XML和將要顯示的頁面樣式,定義XSL文件:

    <!--?自定義的XSL文件-->
    <?xml?version="1.0"?encoding="UTF-8"??>
    <xsl:stylesheet?version="1.0"
    xmlns:xsl
    ="http://www.w3.org/1999/XSL/Transform">
    <xsl:output?method="html"?encoding="UTF-8"?/>
    <xsl:template?match="root">
    <!--?這里用來寫將要顯示在頁面上的HTML代碼-->
    <table>
    <tr>
    <xsl:value-of?select="@value"?/>
    </tr>
    <xsl:for-each>
    <tr>
    <a?href="{item/@href}">
    <xsl:value-ofselect="item"/>
    </a>
    </tr>
    </xsl:for-each>
    </table>
    </xsl:template>
    </xsl:stylesheet>
    ???


    轉換后生成的頁面效果:

    xslPic.JPG
    最后,我簡單解釋一下上述XSL中用到的XSL語法:

    <xsl:value-of select="@value" />:?????????? 取XML文件中<root>節點的value屬性值;
    {item/@href}:??????????????????? ? ? ? ? ?? 取XML文件中<root>根節點下<item>的href屬性值;
    <xsl:value-of select="item"/>:???????????? 取XML文件中<root>根節點下<item>的內容;
    <xsl:for-each></xsl:for-each>:????????????? 循環執行標簽體內容;

    關于XSL的語法的是和應用還有很多例子,我會在今后的文章中給出,歡迎大家指點!謝謝!

    預告:XSL初體驗(二)-XSL常用語法



    ???
    ???








    posted on 2006-11-02 11:51 kangxm 閱讀(3477) 評論(1)  編輯  收藏 所屬分類: XML&XSL

    Feedback

    # re: XSL初體驗(一)-XML轉HTML 2006-11-02 14:10 fef
    你是否才華橫溢而無奈沒有滿意的工作,

    你是否經驗不足而求職碰壁。

    沒關系,全球最大最早的網上軟件工廠已經騰空出世了!

    即可注冊米鼠網會員,就可兼職,做項目,賺大錢。
    大家,推廣米鼠6,8群。米鼠6,8群32141736,32141620


      回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲日韩中文字幕一区| 久久久久亚洲AV无码专区网站 | 亚洲av麻豆aⅴ无码电影| 亚洲日日做天天做日日谢| 国产a视频精品免费观看| 亚洲AV无码不卡无码| 你是我的城池营垒免费观看完整版| 亚洲国产一成久久精品国产成人综合| 日韩色视频一区二区三区亚洲| 精品国产免费一区二区| 久久亚洲精品成人无码| 又粗又硬免费毛片| 黄色短视频免费看| 亚洲人成图片小说网站| 三级网站在线免费观看| 亚洲视频网站在线观看| 2021免费日韩视频网| 亚洲欧洲无码AV不卡在线| 免费国产a国产片高清| 一级一级一级毛片免费毛片| 亚洲精品自产拍在线观看| 久久久久久毛片免费播放| 在线综合亚洲欧洲综合网站 | 国精无码欧精品亚洲一区| 成在人线av无码免费高潮喷水| 久久久久久亚洲精品中文字幕| 免费A级毛片无码A∨免费| 亚洲色偷偷综合亚洲av78| 亚洲 国产 图片| 三年片在线观看免费大全电影| 亚洲自国产拍揄拍| 亚洲精品色婷婷在线影院| 人人玩人人添人人澡免费| 亚洲激情视频图片| 亚洲一区日韩高清中文字幕亚洲| 久操视频在线免费观看| 精品亚洲AV无码一区二区| 日韩亚洲精品福利| 亚洲免费视频网址| 男女交性无遮挡免费视频| 日木av无码专区亚洲av毛片|