明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

XSLT簡單基礎(chǔ)第4章:XPath的語法(1)

[摘要]4.XPath的語法 我們?cè)谇懊嬉呀?jīng)提到過,XPath是用來幫助XSLT在XML源文檔中查找定位信息的語言。在實(shí)際使用過程中,XPath和XSLT總是混在一起使用,在上面一章的語法例子中我們已經(jīng)有使用到XPath的語法,只是沒有明確點(diǎn)出。但W3C將它們分成兩個(gè)標(biāo)準(zhǔn),所以我們也將它們拆成兩章來講解。...
4.XPath的語法

我們?cè)谇懊嬉呀?jīng)提到過,XPath是用來幫助XSLT在XML源文檔中查找定位信息的語言。在實(shí)際使用過程中,XPath和XSLT總是混在一起使用,在上面一章的語法例子中我們已經(jīng)有使用到XPath的語法,只是沒有明確點(diǎn)出。但W3C將它們分成兩個(gè)標(biāo)準(zhǔn),所以我們也將它們拆成兩章來講解。

4.XPath的語法

4.1 當(dāng)前位置
4.2 尋址操作
4.3 運(yùn)算符
4.4 功能函數(shù)

4.1 當(dāng)前位置

當(dāng)我們使用XSLT處理XML源文檔是,我們用Context來表示當(dāng)前正在被模板處理的節(jié)點(diǎn)位置。比如xsl:template match="/"語句中表示Context在文檔的根(root)節(jié)點(diǎn)。我不知道如何準(zhǔn)確的翻譯Context這個(gè)詞,它類似于C語言里的指針,表示程序當(dāng)前運(yùn)行的位置。理解Context對(duì)于正確處理XSL模板非常重要,當(dāng)您的XSL模板輸出的文檔和您想要的不一樣,最先應(yīng)該分析的就是Context在哪里。
Location Paths是用于設(shè)定你想要尋找的Context節(jié)點(diǎn)位置。就類似DOS的目錄命令。我們看個(gè)例子

<xsl:for-each select="child::PEOPLE/descendant::PERSON">

其中child::PEOPLE/descendant::PERSON就是XPath語法,這個(gè)表達(dá)式就是一個(gè)Location Paths,代碼說明要顯示所有PEOPLE元素的子元素和所有PERSON元素的子元素。通常我們會(huì)采用更簡單的寫法:

<xsl:for-each select="PEOPLE//PERSON">

我們來解釋path的兩種表示方法:"/"和"http://"。
"/"是表示當(dāng)前文檔的節(jié)點(diǎn),類似DOS目錄分割符。例如:/PEOPLE表示選擇根節(jié)點(diǎn)下的PEOPLE元素;PEOPLE/PERSON表示選擇PEOPLE元素下所有的PESON子元素。
"http://"則表示當(dāng)前文檔所有的節(jié)點(diǎn)。類似查看整個(gè)目錄。例如://PEOPLE表示選擇文檔中所有的PEOPLE元素,無論它在什么層次;PEOPLE//PERSON表示在PEOPLE元素下所有的PERSON元素,無論它的層次多深。