<h2>My CD Collection</h2>
<table border=”1″>
<tr bgcolor=”#9acd32″>
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td><xsl:value-of select=”catalog/cd/title”/></td>
<td><xsl:value-of select=”catalog/cd/artist”/></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
7、<xsl:for-each> 元素
<xsl:for-each> 元素可用於選取指定的節點集中的每個 XML 元素。
在何處放置排序信息
如需對結果進行排序,只要簡單地在 XSL 文件中的 <xsl:for-each> 元素內部添加一個 <xsl:sort> 元素。
8、<xsl:choose> 元素語法
<xsl:choose>
<xsl:when test=”expression“>
… 輸出 …
</xsl:when>
<xsl:otherwise>
… 輸出 ….
</xsl:otherwise>
</xsl:choose>
9、<xsl:apply-templates> 元素
<xsl:apply-templates> 元素可把一個模板應用於當前的元素或者當前元素的子節點。
假如我們向 <xsl:apply-templates> 元素添加一個 select 屬性,此元素就會僅僅處理與屬性值匹配的子元素。我們可以使用 select 屬性來規定子節點被處理的順序。
10、在瀏覽器中把 XML 轉換為 XHTML(客戶端)
這是用於在客戶端把 XML 文件轉換為 XHTML 的源代碼:
<html>
<body>
<script type=”text/javascript”>
// Load XML
var xml = new ActiveXObject(“Microsoft.XMLDOM”)
xml.async = false
xml.load(“cdcatalog.xml”)
// Load XSL
var xsl = new ActiveXObject(“Microsoft.XMLDOM”)
xsl.async = false
xsl.load(“cdcatalog.xsl”)
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
11、在伺服器把 XML 轉換為 XHTML
這是在伺服器上把 XML 文件轉換為 XHTML 的源代碼:
<%
‘Load XML
set xml = Server.CreateObject(“Microsoft.XMLDOM”)
xml.async = false
xml.load(Server.MapPath(“cdcatalog.xml”))
‘Load XSL
set xsl = Server.CreateObject(“Microsoft.XMLDOM”)
xsl.async = false
xsl.load(Server.MapPath(“cdcatalog.xsl”))
‘Transform file
Response.Write(xml.transformNode(xsl))
%>
八、XQuery
什麼是 XQuery?
XQuery 是用於 XML 數據查詢的語言
XQuery 對 XML 的作用類似 SQL 對資料庫的作用
XQuery 被構建在 XPath 表達式之上
XQuery 被所有主要的資料庫引擎支持(IBM、Oracle、Microsoft等等)
XQuery 使用函數來提取 XML 文檔中的數據。
doc() 用於打開 “books.xml” 文件:
doc(“books.xml”)
路徑表達式
XQuery 使用路徑表達式在 XML 文檔中通過元素進行導航。
下面的路徑表達式用於在 “books.xml” 文件中選取所有的 title 元素:
doc(“books.xml”)/bookstore/book/title
謂語
XQuery 使用謂語來限定從 XML 文檔所提取的數據。
下面的謂語用於選取 bookstore 元素下的所有 book 元素,並且所選取的 book 元素下的 price 元素的值必須小於 30:
doc(“books.xml”)/bookstore/book[price<30]
使用 FLWOR 選取節點
for $x in doc(“books.xml”)/bookstore/book
where $x/price>30
order by $x/title
return $x/title
FLWOR 是 “For, Let, Where, Order by, Return” 的只取首字母縮寫。
for
語句把 bookstore 元素下的所有 book 元素提取到名為 $x 的變數中。
where
語句選取了 price 元素值大於 30 的 book 元素。
order by
語句定義了排序次序。將根據 title 元素進行排序。
return
語句規定返回什麼內容。在此返回的是 title 元素。
九、 SOAP
(1)SOAP 構建模塊
一條 SOAP 消息就是一個普通的 XML 文檔,包含下列元素:
必需的 Envelope 元素,可把此 XML 文檔標識為一條 SOAP 消息
可選的 Header 元素,包含頭部信息
必需的 Body 元素,包含所有的調用和響應信息
可選的 Fault 元素,提供有關在處理此消息所發生錯誤的信息
(2)語法規則
這裡是一些重要的語法規則:
SOAP 消息必須用 XML 來編碼
SOAP 消息必須使用 SOAP Envelope 命名空間
SOAP 消息必須使用 SOAP Encoding 命名空間
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 處理指令
SOAP 消息的基本結構
<?xml version=”1.0″?>
<soap:Envelope
xmlns:soap=”http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=”http://www.w3.org/2001/12/soap-encoding”>
<soap:Header>
…
</soap:Header>
<soap:Body>
…
<soap:Fault>
…
</soap:Fault>
</soap:Body>
</soap:Envelope>
actor 屬性
以下文章點擊率最高
Loading…