WMB_NOTE_學習筆記7

<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 被所有主要的資料庫引擎支持(IBMOracleMicrosoft等等)

    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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營