譯者序
前言
第1章 一張XSLT樣式表的剖析
1.1 什么是標(biāo)記
1.2 什么是XSLT
1.3 什么是XPath
1.4 XSLT樣式表概念
1.5 XSLT術(shù)語
1.5.1 事件的根
1.5.2 引出分支:節(jié)點
1.5.3 文檔順序
1.6 全面理解“家庭”樹:XSLT中尋址
第2章 XSLT樣式表的基本概念
2.1 XSLT樣式表的樣板
2.1.1 文檔元素:<xsl:stylesheet>或者<xsl:transform>
2.1.2 文字結(jié)果元素樣式表
2.1.3 文檔元素的子元素
2.2 在XML文檔中嵌入樣式表
2.3 XSLT樣式表術(shù)語
2.3.1 樣式表
2.3.2 樣式表元素和轉(zhuǎn)換元素
2.3.3 結(jié)果樹
2.3.4 源樹
2.3.5 空白域
2.3.6 良好的格式
2.4 XSLT樣式表的XML成分
2.4.1 XML聲明
2.4.2 文檔類型聲明
第3章 高級的樣式表
3.1 模板:構(gòu)建轉(zhuǎn)換模塊
3.1.1 模板處理
3.1.2 <xsl:template>頂層元素
3.1.3 <xsl:template>屬性
3.1.4 模板的成分
3.1.5 <xsl:apply-templates>指令元素
3.1.6 <xsl:call-template>指令元素
3.1.7 <xsl:value-of>指令元素
3.2 內(nèi)嵌模板規(guī)則
第4章 XPath表達式
4.1 XPath句法和術(shù)語
4.1.1 XPath中文件順序
4.1.2 上下文節(jié)點
4.1.3 當(dāng)前節(jié)點
4.1.4 上下文尺寸
4.1.5 鄰近位置
4.1.6 表達式
4.1.7 定位路徑
4.1.8 軸
4.1.9 節(jié)點檢測
4.1.10 判定
4.2 縮寫
第5章 XPath 函數(shù)
5.1 XPath 函數(shù)庫
5.2 節(jié)點集核心函數(shù)組
5.2.1 id()函數(shù)
5.2.2 local-name()函數(shù)
5.2.3 name()函數(shù)
5.2.4 namespace-uri()函數(shù)
5.2.5 last()函數(shù)
5.2.6 position()函數(shù)
5.2.7 count()函數(shù)
5.3 字符串核心函數(shù)組
5.3.1 string()函數(shù)
5.3.2 字符串轉(zhuǎn)換規(guī)則
5.3.3 concat()函數(shù)
5.3.4 substring()函數(shù)
5.3.5 substring-after()函數(shù)
5.3.6 substring-before()函數(shù)
5.3.7 normalize-space()函數(shù)
5.3.8 translate()函數(shù)
5.3.9 contains()函數(shù)
5.3.10 starts-with()函數(shù)
5.3.11 string-length()函數(shù)
5.4 布爾值核心函數(shù)組
5.4.1 boolean()函數(shù)
5.4.2 布爾值轉(zhuǎn)換規(guī)則
5.4.3 false()函數(shù)
5.4.4 true()函數(shù)
5.4.5 lang()函數(shù)
5.4.6 not()函數(shù)
5.5 數(shù)字核心函數(shù)組
5.5.1 number()函數(shù)
5.5.2 數(shù)值轉(zhuǎn)換規(guī)則
5.5.3 sum()函數(shù)
5.5.4 ceiling()函數(shù)
5.5.5 floor()函數(shù)
5.5.6 round()函數(shù)
第6章 使用XSLT構(gòu)建新的XML文檔
6.1 使用LRE產(chǎn)生元素
6.2 <xsl : element> 指令元素
6.3 使用<xsl: attribute>指令元素生成屬性
6.4 <xsl:attribute-set>頂層元素
6.4.1 name屬性
6.4.2 use-attribute-sets屬性
6.4.3 通過<xsl:attribute-set>來使用屬性組
6.5 <xsl:text>指令元素
6.5.1 disable-output-escaping 屬性
6.5.2 使用<xsl:text>來生成文本
6.5.3 不使用<xsl:text>時生成文本的方法
6.6 為LRE添加屬性
6.6.1 屬性值模板
6.6.2 在LRE中使用<xsl:attribute>元素
6.6.3 在LRE中使用<xsl:attribute-set>元素和xsl:use-attribute-sets屬性
6.7 注釋和處理指令
6.7.1 <xsl:comment>指令元素
6.7.2 <xsl: processing-instruction>指令元素
6.8 名稱空間的別名
第7章 使用多樣式表
7.1 處理外部的樣式表
7.1.1 <xsl: include>頂層元素
7.1.2 <xsl:import>頂層元素
7.1.3 <xsl:import>和<xsl:include>頂層元素的比較
7.1.4 <xsl:apply-imports>指令元素
7.2 模板規(guī)則處理和優(yōu)先級
7.2.1 當(dāng)前模板規(guī)則
7.2.2 模板規(guī)則沖突的解決方法
7.2.3 替換導(dǎo)入模板的優(yōu)先次序和優(yōu)先級
第8章 變量的處理
8.1 變量的聲明和賦值
8.1.1 <xsl:variable>頂層元素
8.1.2 <xsl:param>頂層元素
8.1.3 <xsl:with-param>元素
8.2 結(jié)果樹段
8.3 使用變量引用
8.3.1 局部和全局變量的比較
8.3.2 復(fù)制聲明
8.3.3 使用<xsl:with-param>指令元素
8.4 <xsl:variable>和<xsl:param>元素的比較
8.5 <xsl:with-param>同<xsl:param>和<xsl:variable>的比較
第9章 復(fù)制、迭代和XSLT條件處理元素
9.1 <xsl:copy-of>指令元素
9.2 <xsl:copy>指令元素
9.3 <xsl:for-each>指令元素
9.4 <xsl:sort>元素
9.4.1 <xsl:sort>的select屬性
9.4.2 <xsl:sort>的data-type屬性
9.4.3 <xsl:sort>的order屬性
9.4.4 <xsl:sort>的case-order屬性
9.4.5 <xsl:sort>的lang屬性
9.5 <xsl:if>指令元素
9.6 <xsl:choose>指令元素
9.6.1 <xsl:when>條件元素
9.6.2 例外條件<xsl:otherwise>
9.6.3 在<xsl:choose>中使用<xsl:when>和<xsl:otherwise>
9.7 <xsl:number>指令元素
9.7.1 <xsl:number>的count屬性
9.7.2 <xsl:number>的level屬性
9.7.3 <xsl:number>的from屬性
9.7.4 value屬性
9.7.5 format屬性
9.7.6 <xsl:number>的lang屬性
9.7.7 letter-value屬性
9.7.8 grouping-separator屬性
9.7.9 grouping-size屬性
9.7.10 <xsl:fallback>指令元素
第10章 控制輸出選項
10.1 <xsl:output>頂層元素
10.1.1 <xsl:output>的屬性
10.1.2 以xml方式輸出文件
10.1.3 以html方式輸出文件
10.1.4 以text方式輸出文件
10.2 頂層元素<xsl:strip-space>和<preserve-space>
10.3 錯誤消息和日志的產(chǎn)生
第11章 XSLT函數(shù)和相關(guān)的XSLT元素
11.1 XSLT函數(shù)組
11.1.1 XSLT的node-set函數(shù)
11.1.2 XSLT的current()函數(shù)
11.1.3 XSLT的key()函數(shù)和<xsl:key>頂層元素
11.2 XSLT的字符串函數(shù)
11.2.1 XSLT的system-property()函數(shù)
11.2.2 XSLT的generate-id()函數(shù)
11.2.3 XSLT的format-number()函數(shù)
11.2.4 <xsl:decimal-format>頂層元素
11.2.5 XSLT的unparsed-entity-uri()函數(shù)
11.3 XSLT的布爾型函數(shù)組
11.3.1 XSLT的element-available()函數(shù)
11.3.2 XSLT的function-available()函數(shù)
第12章 XSLT處理器、XSLT擴展和Java
12.1 XSLT處理器
12.2 擴展元素和擴展函數(shù)
12.3 名稱空間
12.3.1 名稱空間的原理
12.3.2 名稱空間剖析
12.3.3 缺省名稱空間
12.3.4 限制命名和無分隔符命名
12.3.5 XSL名稱空間
12.3.6 使用其他的名稱空間
12.3.7 缺省XML名稱空間
12.3.8 聲明擴展名稱空間及擴展名稱空間的應(yīng)用性
12.3.9 處理器擴展功能、Java附加功能和XSLT W3C規(guī)范的前景
12.3.10 整合XSLT處理器和OASIS的XSLT整合委員會
12.4 Java
12.5 商業(yè)XSLT處理器
12.5.1 Sun公司的XSLTC
12.5.2 Oracle的XML開發(fā)工具
12.5.3 安裝Oracle XSL處理器
12.5.4 Microsoft的MSXML
12.5.5 安裝最新版本的Microsoft XML解析器
第13章 Xalan、Saxon和XT
13.1 Xalan
13.1.1 Xalan-C++
13.1.2 Xalan-J
13.1.3 使用Eric Lawson GUI界面Xalan-J
13.1.4 安裝Xalan-J的基本命令行界面
13.1.5 使用Xalan-J的命令行界面方式和擴展功能
13.1.6 Xalan-J處理器擴展
13.2 Saxon
13.2.1 在Solaris/UNIX或Windows Java中完全安裝Saxon
13.2.2 在Windows下安裝Instant Saxon
13.2.3 Saxon選項
13.2.4 Saxon命令行參數(shù)
13.2.5 Saxon擴展
13.3 XT
13.3.1 在Windows上安裝XT
13.3.2 在UNIX上安裝XT和XP
13.3.3 在Macintosh上安裝XT和XP
13.3.4 XT擴展
13.3.5 XT處理器的限制
13.4 使用Saxon、Xalan或XT處理器產(chǎn)生多輸出文檔
附錄A 案例學(xué)習(xí)
附錄B 分組使用Muenchian方法
附錄C 在人工智能“N-Queens”問題中使用XSLT