XSLT簡單基礎(chǔ)第4章:XPath的語法(1)
發(fā)表時(shí)間:2024-06-13 來源:明輝站整理相關(guān)軟件相關(guā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的語法
我們?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元素,無論它的層次多深。