曝光臺(tái) 注意防騙
網(wǎng)曝天貓店富美金盛家居專營(yíng)店坑蒙拐騙欺詐消費(fèi)者
<GREETING>
Hello XML!
</GREETING>
XML 實(shí)用大全
第 125 頁(yè)
假如要向標(biāo)題H1 中復(fù)制致詞“Hello XML!”首先,使用xsl:for-each 選擇GREETING 元素:
<xsl:for-each select="GREETING">
<H1>
</H1>
</xsl:for-each>
只用這一段語(yǔ)句足以把兩個(gè)H1 標(biāo)記復(fù)制到輸出中。使用沒有select 屬性的xsl:value-of 在兩個(gè)H1 標(biāo)記之間放置GREETING
元素的文本,當(dāng)前元素(GREETING)的內(nèi)容就會(huì)被默認(rèn)選中。清單5-9 顯示了完整的樣式單。
清單5-9:greeting.xsl
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<BODY>
<xsl:for-each select="GREETING">
<H1>
<xsl:value-of/>
</H1>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
使用select 同樣可以選擇一個(gè)子元素中的內(nèi)容,只需把該子元素的名稱當(dāng)作xsl:value-of 的select 屬性值。例如,在上
一章的棒球示例中,隊(duì)員統(tǒng)計(jì)被存儲(chǔ)在子元素而不是屬性中。假定文檔的結(jié)構(gòu)是這樣(事實(shí)上這種結(jié)構(gòu)比本章中的基于屬性
的結(jié)構(gòu)更常見),表示擊球員表格的XSL 如下所示:
<TABLE>
XML 實(shí)用大全
第 126 頁(yè)
<CAPTION><B>Batters</B></CAPTION>
<THEAD>
<TR>
<TH>Player</TH><TH>P</TH><TH>G</TH>
<TH>GS</TH><TH>AB</TH><TH>R</TH><TH>H</TH>
<TH>D</TH><TH>T</TH><TH>HR</TH><TH>RBI</TH>
<TH>S</TH><TH>CS</TH><TH>SH</TH><TH>SF</TH>
<TH>E</TH><TH>BB</TH><TH>SO</TH><TH>HBP</TH>
</TR>
</THEAD>
<TBODY>
<xsl:for-each select="PLAYER [(POSITION
!= Starting Pitcher ) $and$(POSITION != Relief Pitcher )]">
<TR>
<TD>
<xsl:value-of select="GIVEN_NAME"/>
<xsl:value-of select="SURNAME"/>
</TD>
<TD><xsl:value-of select="POSITION"/></TD>
<TD><xsl:value-of select="GAMES"/></TD>
<TD>
<xsl:value-of select="GAMES_STARTED"/>
</TD>
<TD><xsl:value-of select="AT_BATS"/></TD>
XML 實(shí)用大全
第 127 頁(yè)
<TD><xsl:value-of select="RUNS"/></TD>
<TD><xsl:value-of select="HITS"/></TD>
<TD><xsl:value-of select="DOUBLES"/></TD>
<TD><xsl:value-of select="TRIPLES"/></TD>
<TD><xsl:value-of select="HOME_RUNS"/></TD>
<TD><xsl:value-of select="RBI"/></TD>
<TD><xsl:value-of select="STEALS"/></TD>
<TD>
<xsl:value-of select="CAUGHT_STEALING"/>
</TD>
<TD>
<xsl:value-of select="SACRIFICE_HITS"/>
</TD>
<TD>
<xsl:value-of select="SACRIFICE_FLIES"/>
</TD>
<TD><xsl:value-of select="ERRORS"/></TD>
<TD><xsl:value-of select="WALKS"/></TD>
<TD>
<xsl:value-of select="STRUCK_OUT"/>
</TD>
<TD>
<xsl:value-of select="HIT_BY_PITCH"/>
</TD>
XML 實(shí)用大全
第 128 頁(yè)
</TR>
</xsl:for-each><!— PLAYER —>
</TBODY>
</TABLE>
在這種情況下,在每個(gè)PLAYER 元素的子元素中,該元素的GIVEN_NAME、SURNAME、POSITION、GAMES、GAMES_STARTED、 AT_BATS、
RUNS、HITS、DOUBLES、TRIPLES、HOME_RUNS、RBI、STEALS、CAUGHT_STEALING、SACRIFICE_HITS、SACRIFICE_FLIES、ERRORS、
WALKS、STRUCK_OUT 和HIT_BY_PITCH 子元素的內(nèi)容被抽取出來(lái)并被復(fù)制到輸出文檔中。因?yàn)楸菊率褂昧伺c上一章PLAYER 子
元素名稱相同的屬性名,該示例與清單5-7 幾乎是一致的。主要差別是@符號(hào)沒有了。它表明這是一個(gè)屬性而不是一個(gè)元素。
select 屬性的功能很多。可選擇元素:按元素位置(例如第一、第二、最后、第十七個(gè)元素等等);按特定的內(nèi)容;按特
殊的屬性值;或者按照元素的父或子元素含有一定的內(nèi)容或?qū)傩灾颠M(jìn)行選擇。甚至可以使用全部布爾邏輯運(yùn)算符來(lái)組合各種
不同的選擇條件。在14 章的XSL 中將要探討使用select 屬性的更多可能。
5.4.8 CSS 還是XSL
CSS 與XSL 在某種程度上是重復(fù)的。XSL 的功能確實(shí)比CSS 更強(qiáng)大,但是XSL 的功能與其復(fù)雜性是分不開的。這一章僅僅涉
及了XSL 最基本的用途。實(shí)際上XSL 更復(fù)雜,而且比CSS 更難學(xué)習(xí)和使用,同時(shí)也帶來(lái)了一個(gè)問(wèn)題:“什么時(shí)候應(yīng)該使用
CSS,什么時(shí)候應(yīng)該使用XSL?”
CSS 比XSL 得到更廣泛的支持。部分CSS Level 1 被Netscape 4 和Internet Exploer 4 支持作為HTML 元素(盡管存在一
中國(guó)航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實(shí)用大全(40)