日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

XSLT中文入門(mén)(5)_動(dòng)易Cms教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

模板(template)由兩部分組成:匹配模式(match pattern)和執(zhí)行。簡(jiǎn)單的講模式定義XML源文檔中哪一個(gè)節(jié)點(diǎn)將被模板處理,執(zhí)行則定義輸出的是什么格式。兩部分對(duì)應(yīng)的語(yǔ)法為xsl:template和xsl:apply-templates。

xsl:template的語(yǔ)法是:

<xsl:template
match = pattern
name = qname
priority = number
mode = qname>
<!-- 執(zhí)行內(nèi)容 -->
</xsl:template>

xsl:template的作用是定義一個(gè)新模板。屬性中name,priority,和mode用來(lái)區(qū)別匹配同一節(jié)點(diǎn)的不同模板。它們不是常用的屬性。match屬性則控制模板的匹配模式(pattern),匹配模式是用來(lái)定位XML源文檔中哪一個(gè)節(jié)點(diǎn)被模板處理。一個(gè)模板匹配一個(gè)節(jié)點(diǎn)。我們用一個(gè)例子來(lái)幫助理解:
假設(shè)我們要處理一個(gè)包含章節(jié)和段落文檔。我們用para元素定義段落,用chapter元素定義章節(jié)。我們來(lái)看看match屬性可能的值。下面的語(yǔ)句寫(xiě)法說(shuō)明模板匹配所有的para元素

<xsl:template match="para">
</xsl:template>

下面的語(yǔ)句寫(xiě)法說(shuō)明模板匹配所有的para元素和所有的chapter元素:

<xsl:template match="(chapter|para)">
</xsl:template>

下面的語(yǔ)句寫(xiě)法說(shuō)明模板匹配所有的父節(jié)點(diǎn)為chapter元素的para元素:

<xsl:template match="chapter//para">
</xsl:template>

下面的語(yǔ)句寫(xiě)法說(shuō)明模板匹配根節(jié)點(diǎn):

<xsl:template match="/">
</xsl:template>

我們?cè)賮?lái)看apply-templates語(yǔ)法:

<xsl:apply-templates
select = node set-expression
mode = qname>
</xsl:apply-templates>

xsl:apply-templates用來(lái)執(zhí)行那一個(gè)節(jié)點(diǎn)被模板具體處理。你可以將它理解為程序中調(diào)用子函數(shù)。select屬性用來(lái)定義確切的節(jié)點(diǎn)名稱(chēng)。xsl:apply-templates總是包含在xsl:template元素中,象這樣:

<xsl:template match="/">
<xsl:apply-templates select="para"/>
</xsl:template>

這段代碼說(shuō)明摸板匹配整個(gè)文檔(根節(jié)點(diǎn)),具體執(zhí)行時(shí)處理根節(jié)點(diǎn)下所有para元素。

<xsl:template match="para">
<p><xsl:apply-templates/></p>
</xsl:template>

而這一段代碼則表示摸板匹配para節(jié)點(diǎn),所有para下的子元素都將被處理。

3.2 xsl:value-of

XSL:value-of用來(lái)將源文檔中元素的文本值寫(xiě)到輸出文檔中。例如:
有一個(gè)個(gè)人資料的XML文檔:

<?xml version="1.0" encoding="iso-8859-1"?>
<PERSON>
<name>ajie</name>
<age>28</age>
</PERSON>

我假如想在輸出文檔中顯示上面這個(gè)XML源文檔中的name元素的值,可以這樣寫(xiě)XSLT代碼:

<xsl:template match="PERSON">
<xsl:value-of select="name"/>
</xsl:template>

執(zhí)行后,你會(huì)看到"ajie"被單獨(dú)顯示出來(lái)。其中match="PERSON"定義摸板匹配PERSON節(jié)點(diǎn),xsl:value-of 語(yǔ)法說(shuō)明需要輸出一個(gè)節(jié)點(diǎn)的值,而select="name"則定義需要被輸出的元素為name。看這個(gè)過(guò)程是不是和數(shù)據(jù)庫(kù)里查詢(xún)一個(gè)人的名字很象?當(dāng)然,xsl:value-of查詢(xún)還有更多,更復(fù)雜的語(yǔ)法,因?yàn)槭巧婕皩ふ液投ㄎ坏墓δ�,我們�?huì)放在后面的XPath語(yǔ)法中在仔細(xì)講解。
同樣功能的還有xsl:copy-of,用法一樣,就不重復(fù)解釋了。

3.3 xsl:for-each

xsl:for-each語(yǔ)法答應(yīng)你循環(huán)處理被選擇的節(jié)點(diǎn)。例如:有一個(gè)含多個(gè)個(gè)人資料的XML文檔:

<?xml version="1.0" encoding="iso-8859-1"?>
<PEOPLE>

查看更多 動(dòng)易Cms教程  動(dòng)易Cms模板

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):動(dòng)易Cms教程/更新時(shí)間:2006-06-13
相關(guān)動(dòng)易Cms教程