如果在循环里取其它标签里的值

purexu 2003-06-14 02:26:41
XML文件如下
<页面>
<分类>
<类型 ID="1">ASP</类型>
<类型 ID="2">CGI</类型>
<类型 ID="3">PHP</类型>
<类型 ID="4">XML</类型>
<类型 ID="5">XSL</类型>
...
</分类>
<内容>
<项目 ID="1" 类型="3">项目内容1</项目>
<项目 ID="2" 类型="2">>项目内容2</项目>
<项目 ID="3" 类型="5">>项目内容3</项目>
<项目 ID="4" 类型="4">>项目内容4</项目>
<项目 ID="5" 类型="3">>项目内容5</项目>
...
</内容>
</页面>
其中“分类”和“项目”都是从数据库里调出来的,也就是说类型可能会因为添加删除等操作而改变,说简单点就是不是固定的。
想输出如下效果
[PHP]项目内容1
[CGI]项目内容2
[XSL]项目内容3
[XML]项目内容4
[PHP]项目内容5
...
这要如何做
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
月光易水 2003-06-23
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1915/1915572.xml?temp=.3450586

看看http://www2.yesky.com/34964480/55705.shtml


<xsl:eval>

含义:

计算脚本表达式,输出一个文本字符串

语法:

< xsl:eval language="language-name" >

属性:

language ── 规定所用脚本语言的名字,可用的属性有“JavaScript”、“JScript”、“VBScript”、“VBS”等,缺省为“JScript”。

看到上面xsl:eval属性,你一定明白了,一些常用的js函数在这里也可以使用

但针对应用而言,除非十分必要,还是采取w3c的标准才好

:_)
purexu 2003-06-21
  • 打赏
  • 举报
回复
谢谢了:)

能介绍一些关于XSL的教程什么的,比较深入,像有关于<xsl:eval>之类的用法,以前看过一些,但都比较简单的。
purexu 2003-06-19
  • 打赏
  • 举报
回复
很不好意思,我忘了说明,我要在http://www.w3.org/TR/WD-xsl草案里让IE5也能看到
月光易水 2003-06-19
  • 打赏
  • 举报
回复
使用xsl:eval

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">
<xsl:apply-templates select="/页面/内容/项目" order-by="@ID">
</xsl:apply-templates>
</xsl:template>

<xsl:template match="项目">
<xsl:eval>
var sType = this.getAttribute("类型");
</xsl:eval>
<xsl:for-each select="../../分类/类型">
<xsl:eval>
var sThisType = this.getAttribute("ID");
var sVal = "[" + this.text + "]";

if (sThisType == sType)
{
sVal;
}
</xsl:eval>
</xsl:for-each>
<xsl:value-of select="." />
<br />
</xsl:template>

</xsl:stylesheet>


:_)
月光易水 2003-06-14
  • 打赏
  • 举报
回复
try:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:apply-templates select="/页面/内容/项目">
<xsl:sort select="@ID" data-type="text" order="ascending" />
</xsl:apply-templates>
</xsl:template>

<xsl:template match="项目">
<xsl:variable name="type" select="@类型" />
[<xsl:value-of select="../../分类/类型[@ID = $type]" />]
<xsl:value-of select="." />
<br />
</xsl:template>

</xsl:stylesheet>


:_)

8,906

社区成员

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

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