乙個具體的xslt樣式單文件:
<?xml version="1.0" encoding="gb2312" ?>
學生花名冊
姓名
籍貫
年齡
**
接著介紹xslt常用的幾條語句。
xmlns:xsl指示了xsl的命名空間,在xslt標準中,定義了xslt的命名空間為 http://.w3./1999/xsl/transform,然而在ie5中不支援這個名字空間,需要用到微軟自己的名字空間http://.w3./tr/wd-xsl。
xsl:template元素有乙個mode屬性,可以根據需要去匹配不同模式的模板。若將前例作如下修改:
...學生花名冊
.title
......
學生花名冊
.title
此外,模板總是與節點相對應的,乙個節點可能對應於不同的模板,那麼如何確定各模板匹配的先後次序呢?xslt中可為xsl:template設定優先順序,寫法是:
//n為優先級數
xsl:sort排序處理
按大小寫排序
以id為關鍵字按大寫優先排序
以id為關鍵字按小寫優先排序
按字母順序排序
以id為關鍵字按字母公升序排序
以id為關鍵字按字母降序排序
按資料型別排序
以id為關鍵字按文字型別排序,如對於一組id資料101,2,44,305 來說,排序結果是101,2,305,44
以id為關鍵字按資料型別排序,上面一組資料的排序結果是2,44,101,305
另外,還有一種指定排序的方法,就是在前面學生花名冊例中所使用的order-by: 也可使得輸出學生時按名字排序。
元素與屬性建立
建立元素
xsl:element
學生花名冊
學生花名冊
建立屬性
xsl: attribute
color:blue 學生花名冊
學生花名冊
建立文字
xsl:text (可以保護文字中的空白字元)
這是學生花名冊
這是學生花名冊
建立處理指令
xsl:processing-instruction
href="book.css" type="text/css"
<?xml-stylesheet href="book.css" type="text/css"?>
建立注釋
xsl:comment
以下是學生花名冊,請勿刪改!
節點拷貝
在對xml文件進行處理時,xslt還可以通過拷貝的方式複製節點,方法是利用 xsl:copy和xsl:copy-of。其中xsl:copy只拷貝當前節點,不包括子節點和屬性;而xsl:copy-of的拷貝內容則包括當前節點、子節點和屬性。例如對於:
ais a char
樣式單:
copy-of :
copy :
**:
copy-of : ais a char
copy :
輸出格式與編碼問題
xslt是乙個轉換語言,它的目的是將xml源文件轉換為另一種格式文件,它的輸出結果可以是html文件,也可以是帶css的xml文件。具體的輸出格式由xsl:output 指定。如果要輸出為html文件,則寫為:
同樣,要輸出xml文件寫為:
如果文件中不出現xsl:output,將預設輸出為xml文件,但如果在匹配模板時使用了 標記,則輸出為html文件。輸出為html文件時系統都會自動加上下面語句:
此外,還可以利用xsl:output指定編碼方式,如utf-8,utf-16,gb2312等。例如: 它指定了該xslt的輸出結果是html格式,編碼方式為中文。
-------------以上參考自ibm關於xml認證教程
用xml和xsl做網頁例項
用xml和xsl做網頁。直接大家儲存兩個檔案執行即可。cdcatalog.xml 相當於html cdcatalog.xsl 相當於css cdcatalog.xml empire burlesque bob dylan usacolumbia 10.90 1985 empire burlesqu2...
用XSL進行日期格式轉換
xsl做日期格式轉換的函式,廢話不多說,源 如下 version 1.0 2005.03.26 01 58 於重慶南坪 7 yyyy.mm.dd 7 yyyy年mm月dd日 4 日期轉換 日期原格式 新格式轉換結果 測試檔案 2005.12.01 2005.01.01 2005.12.31 2005...
用js向xsl 加入變數
操作方式就是用js向xsl 加入變數 然後在xsl檔案中使用該變數引數 eg 1 在js中如下 xmldoc new activexobject msxml2.domdocument.3.0 xmldoc.async false xmldoc.load xml context.xml 要宣告為自由格...