关于index()的用法

顶尖程序员:) 2003-08-20 05:34:31
1.在xml中,用xsl解析一个动态数据(如果有8,9,42数据等),
如何实现背景色相同但是隔行显示,例如
就是说奇数行背景色是绿色,偶数行背景色是红色

2.问一下index()的用法,
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
全息宇宙 2003-08-21
  • 打赏
  • 举报
回复
http://www.csdn.net/develop/read_article.asp?id=16034
http://www.csdn.net/develop/read_article.asp?id=16033

2.index()
含义:返回该元素在集合中的位置,返回值是一整数,其中第一个元素返回0
示例:返回前面三份简历
resume[index() $le$ 3]
注意:index()是与父元素相关的,请看下例:
< x >
< y/ >
< y/ >
< /x >
< x >
< y/ >
< y/ >
< /x >
返回所有< x >中的第一个< y >
x/y[index()=0] 或x/y[0]
KAI3000 2003-08-21
  • 打赏
  • 举报
回复
1,看下面这个例子,用了position()函数
XML File (cardgame.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="cardgame_orig.xsl"?>
<cardgame>
<hand>
<player name="Jack">
<card dealtID="card01">
<rank>Q</rank><suit>Clubs</suit>
</card>
<card dealtID="card02">
<rank>A</rank><suit>Spades</suit>
</card>
<card dealtID="card03">
<rank>10</rank><suit>Hearts</suit>
</card>
<tell>twitches nervously</tell>
<card dealtID="card04">
<rank>8</rank><suit>Clubs</suit>
</card>
<card dealtID="card05">
<rank>4</rank><suit>Spades</suit>
</card>
<tell>squints</tell>
</player>
<player name="Jill">
<card dealtID="card06">
<rank>5</rank><suit>Diamonds</suit>
</card>
<card dealtID="card07">
<rank>5</rank><suit>Spades</suit>
</card>
<card dealtID="card08">
<rank>6</rank><suit>Clubs</suit>
</card>
<card dealtID="card09">
<rank>6</rank><suit>Spades</suit>
</card>
<card dealtID="card10">
<rank>10</rank><suit>Diamonds</suit>
</card>
<tell>grins</tell>
</player>
</hand>
<hand>
<player name="Jack">
<card dealtID="card11" replace="card03">
<rank>4</rank><suit>Diamonds</suit>
</card>
<tell>mutters, "Uh-oh..."</tell>
<card dealtID="card12" replace="card04">
<rank>K</rank><suit>Spades</suit>
</card>
<card dealtID="card13" replace="card05">
<rank>7</rank><suit>Spades</suit>
</card>
<tell>tugs at left ear</tell>
</player>
<player name="Jill">
<card dealtID="card14" replace="card10">
<rank>K</rank><suit>Diamonds</suit>
</card>
<tell>sips her drink</tell>
</player>
</hand>
</cardgame>
XSLT File (cardgame_orig.xsl)

The first version of the XSLT style sheet simply numbers the hands, using a template rule for the <hand> element:

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<!-- Set up the HTML page and table styles. -->
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>Card Game</TITLE>
<STYLE type="text/css">
h1 {background-color: gold;
font-family: Tahoma,Verdana,Arial,sans-serif;
font-size: 24pt}
h2 {background-color: yellow;
font-family: Tahoma,Verdana,Arial,sans-serif;
font-size: 18pt}
h3 {background-color: white;
font-family: Tahoma,Verdana,Arial,sans-serif;
font-size: 14pt;
font-weight: bold}
th {background-color: silver;
font-family: Tahoma,Verdana,Arial,sans-serif}
td {background-color: white;
font-family: Tahoma,Verdana,Arial,sans-serif}
.page {width: 75%}
.tell {font-weight: bold}
</STYLE>
</HEAD>
<BODY>
<DIV class="page">
<xsl:apply-templates/>
</DIV>
</BODY>
</HTML>
</xsl:template>

<!-- Suppress <tell> elements. -->
<xsl:template match="tell"/>

<xsl:template match="hand">
<h1>Hand #<xsl:value-of select="position()"/></h1>
<xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>



2,index()函数没有找到,有这个函数吗?

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧