|
| |
精品推荐 |
 |
|
| |
|
|
|
|
跟我学XML和XSL
|
日期:2008年1月6日 作者: 查看:[大字体
中字体 小字体]
|
示例:value()是元素或属性的缺省方法,以下表示是等价
name!value()="NAME"与name="NAME"
@attr="attribute_value"与@attr="attribute_value"
注:@是属性前缀,@attr表示是属性attr
七、attribute()
含义:返回所有属性结点的集合,等价于“@*”
示例:寻找所有的resume元素,满足条件至少有一个属性的值为“ABC”
resume[$any$ attribute()='ABC']或resume[$any$ @*='ABC']
寻找所有的resume元素,满足条件至少有一个子元素有一个属性的值为“ABC”
resume[$any$ */attribute()='ABC']或resume[$any$ */@*='ABC']
八、comment()
含义:返回所有注释结点
示例:例如
resume[$any$ comment()='禹希初的简历']
表示寻找含有注释语句
< !--禹希初的简历-- >
的元素< resume >
九、cdata()
含义:返回所有CDATA类型的结点的集合
示例:例如
resume[$any$ cdata()='禹希初的简历']
表示寻找含有下述语句(必须是直接子结点)
< ![CDATA[禹希初的简历]] >
的元素< resume >
十、node()
含义:返回当前上下文环境中除根结点和属性结点以外的所有结点的集合,等价于
“* pi() comment() text()”
示例:寻找所有元素resume,其最后一个结点的名字为"skill"
resume[node()[end()]!nodeName()='skill']
寻找所有resume元素的第一个结点:resume/node()[0]
十一、textnode()
含义:返回所有文本类型的结点的集合
示例:寻找每一个p元素的第二个文本结点
p/textnode(1)或p!textnode(1)
十二、text()
含义:返回所有表示文本字符串的结点的集合,等价于"cdata()textnode()";
本期的内容就介绍至此,另有一个函数date()在本人的机器上一试就发生错误使浏览器自动关闭,还有一个函数pi()本人尚未找到适当的应用方法,就不介绍了,下期将讲述如何XSL中使用脚本。
跟我学XSL(八) (返回标题)
2000-05-10· 禹希初·CPCW
脚本与XSL的结合及应用
有时,我们可能会希望XML文档输出时能对其中内容加上一些统计信息或者如编号什么,利用前面的知识就不太容易实现了。今天将介绍两个新元素< xsl:eval >与< xsl:script >,使我们能轻松处理这个难题。
< xsl:eval >
含义:
计算脚本表达式,输出一个文本字符串
语法:
< xsl:eval language="language-name" >
属性:
language ── 规定所用脚本语言的名字,可用的属性有“JavaScript”、“Jscript”、“VBScript”、“VBS”等,缺省为“Jscript”。
< xsl:script >
含义:
声明全局变量或定义函数。
语法:
< xsl:script language="language-name" >
属性:
同< xsl:eval >
示例:
不知大家对于第四期《跟我学XML》中的例子是否还有印象?其中的XML文档并没有对简历编号,但输出中却加上了大写的罗马数字序号。今天将再举一稍为复杂一些的例子:
假如我们编写一份年终生产统计表,其中需要小计一项,常规的作法是事先将其算出来,现在不必了,我们可以只给出单项统计,显示时再统计小计一项。请找出《跟我学XML》的第五期,XML文件不必修改,对XSL文件的修改如下:
……
< xsl:template match="document" >
……
上一篇:用xml+xslt实现表格背景色按行交替设置
下一篇:2005年 Web2.0 带动的11大软件
|
| 跟我学XML和XSL 相关文章: |
|
|
|
| 跟我学XML和XSL 相关软件: |
|
|
|
|