posts - 1,  comments - 0,  trackbacks - 0
          XML與XSLT
          ??????首先,我們來看看由W3C制定的XML轉(zhuǎn)換標(biāo)準(zhǔn)?XSL(eXtansible?Style?Language,擴(kuò)展樣式表語言)。它的作用就是讓XML看上去像現(xiàn)有的HTML一樣多姿多彩。在此基礎(chǔ)上,發(fā)展了三種XML應(yīng)用:XSLT、Xpath和XSL-SOXSLT(XSL?Transformation)負(fù)責(zé)將XML文檔動(dòng)態(tài)地轉(zhuǎn)換為HTML格式,并發(fā)送給瀏覽器。后兩種也具備類似功能,由于應(yīng)用不及XSLT廣泛,就不再介紹。?

          ??????要使用XSLT,必須在XML文檔中指出。例如,要使一篇XML文檔被瀏覽器請(qǐng)求時(shí)呈現(xiàn)類似于HTML的效果,必須在XML文檔前面指定相應(yīng)的XSL文件,如下所示:?

          <?xml?version=“1.0”>
          <?xml-stylesheet?type=“text/xml”?href=“../xslt/normal.xsl”>
          <article>
          <name>whoami</name
          ……?xml?數(shù)據(jù)?……
          </article>



          ??????在相應(yīng)路徑中,應(yīng)當(dāng)有一個(gè)合適的normal.xsl文檔。?

          ??????XSLT使用模板完成XML到HTML的轉(zhuǎn)換。例如,想要將文檔中的<name>節(jié)點(diǎn)提取出來,并顯示為加粗字符,這樣的XSLT可以滿足要求:

          //?文件名:normal.xsl
          <?xml?version=“1.0”?>
          <xsl:stylesheet?version=“1.0”xmlnsxsl=http://www.w3.org/1999/XSL/Transform>
          <!-由于MS一貫的作風(fēng),該名稱空間的定義并不適合MS?IE瀏覽器,它必須使用
          ?xmlnsxsl=http://www.w3.org/TR/WD-xsl,注意區(qū)分大小寫?//-->
          <xsl:template?match=“/”>
          <div><style=“font-weight:bold”/>
          <xsl:value-of?select=“article/name”/>
          </div>
          <xsl:apply-templates/>
          </xsl:template>
          </xsl:stylesheet>



          ??????正像前面說的那樣,XML非常嚴(yán)格,XSLT作為一種XML應(yīng)用同樣要遵守這種規(guī)則,因此,除了前兩行以外,所有的標(biāo)記都必須有對(duì)應(yīng)的結(jié)束標(biāo)記。?

          ??????當(dāng)能夠識(shí)別XSLT的瀏覽器(如IE?5.0及以上)獲取這一XML文檔后,會(huì)調(diào)用相應(yīng)的XSL文檔進(jìn)行解釋,那么,XSLT是如何工作的呢?它首先創(chuàng)建一個(gè)模板,匹配整個(gè)文檔,然后在其中尋找article/name節(jié)點(diǎn),并用value-of元素輸出該值,于是,我們通過瀏覽器看到的XML文檔就是:whoami。?

          ??????不會(huì)顯示任何其它XML元素。注意XSL文檔中加粗的部分,那些是普通的HTML文本,只是用來強(qiáng)調(diào)我們的輸出。

          ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????文章來源:http://www.jspcn.net
          posted on 2006-07-04 13:06 Black&White JavaWorld 閱讀(89) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          Welcome to Black Blog!

          歷史上的今天

          常用鏈接

          留言簿(1)

          隨筆檔案(1)

          文章檔案(6)

          朋友圈

          音樂

          積分與排名

          • 積分 - 780
          • 排名 - 4949

          最新評(píng)論

          主站蜘蛛池模板: 西峡县| 长宁县| 宜兴市| 鹤岗市| 闽侯县| 仲巴县| 昂仁县| 灌阳县| 邮箱| 巴彦淖尔市| 长乐市| 平罗县| 唐海县| 沁源县| 阿克陶县| 通州区| 临西县| 阜城县| 门源| 怀柔区| 乌恰县| 六盘水市| 湘潭县| 福清市| 澎湖县| 肇庆市| 镇平县| 井陉县| 南岸区| 长岭县| 南木林县| 山东省| 松桃| 吉水县| 大理市| 清徐县| 深泽县| 海城市| 景德镇市| 博罗县| 商南县|