• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:24来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

<GREETING>
Hello XML!
</GREETING>
XML 实用大全
第 125 页
假如要向标题H1 中复制致词“Hello XML!”首先,使用xsl:for-each 选择GREETING 元素:
<xsl:for-each select="GREETING">
<H1>
</H1>
</xsl:for-each>
只用这一段语句足以把两个H1 标记复制到输出中。使用没有select 属性的xsl:value-of 在两个H1 标记之间放置GREETING
元素的文本,当前元素(GREETING)的内容就会被默认选中。清单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 同样可以选择一个子元素中的内容,只需把该子元素的名称当作xsl:value-of 的select 属性值。例如,在上
一章的棒球示例中,队员统计被存储在子元素而不是属性中。假定文档的结构是这样(事实上这种结构比本章中的基于属性
的结构更常见),表示击球员表格的XSL 如下所示:
<TABLE>
XML 实用大全
第 126 页
<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 实用大全
第 127 页
<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 实用大全
第 128 页
</TR>
</xsl:for-each><!— PLAYER —>
</TBODY>
</TABLE>
在这种情况下,在每个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 子元素的内容被抽取出来并被复制到输出文档中。因为本章使用了与上一章PLAYER 子
元素名称相同的属性名,该示例与清单5-7 几乎是一致的。主要差别是@符号没有了。它表明这是一个属性而不是一个元素。
select 属性的功能很多。可选择元素:按元素位置(例如第一、第二、最后、第十七个元素等等);按特定的内容;按特
殊的属性值;或者按照元素的父或子元素含有一定的内容或属性值进行选择。甚至可以使用全部布尔逻辑运算符来组合各种
不同的选择条件。在14 章的XSL 中将要探讨使用select 属性的更多可能。
5.4.8 CSS 还是XSL
CSS 与XSL 在某种程度上是重复的。XSL 的功能确实比CSS 更强大,但是XSL 的功能与其复杂性是分不开的。这一章仅仅涉
及了XSL 最基本的用途。实际上XSL 更复杂,而且比CSS 更难学习和使用,同时也带来了一个问题:“什么时候应该使用
CSS,什么时候应该使用XSL?”
CSS 比XSL 得到更广泛的支持。部分CSS Level 1 被Netscape 4 和Internet Exploer 4 支持作为HTML 元素(尽管存在一
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(40)