XSLT常见问题及解决(三)xsl中variable标签在什么情况下使用
2017-07-13 18:25
459 查看
问题描述:
解决:
变量名称是‘name’,变量值分两种情况:
1)variable标签中含有select属性,那么其值就是select的值
2)variable标签中不包含select属性,其值是标签之间的内容,下面的两个例子都是这种情况
variable标签经常与$符号配对出现
$是取值符号,用在变量取值(@是取值符号,用在属性(xml中的节点属性)取值)
xsl:
eg1:
eg2:
可以与choose等标签共同使用,类似于一个有if/else的函数返回一个变量值,
xsl中variable标签在什么情况下使用 |
当在某一个模板里要使用到 match的当前作用域的根节点之上的节点时,可以在外层定义一个该节点的变量,方便使用 |
1)variable标签中含有select属性,那么其值就是select的值
2)variable标签中不包含select属性,其值是标签之间的内容,下面的两个例子都是这种情况
variable标签经常与$符号配对出现
$是取值符号,用在变量取值(@是取值符号,用在属性(xml中的节点属性)取值)
xsl:
eg1:
<xsl:template name="assign-id"> <xsl:variable name="id"> <xsl:apply-templates select="." mode="id"/> </xsl:variable> <xsl:attribute name="id"> <xsl:value-of select="$id"/> </xsl:attribute> </xsl:template>
eg2:
可以与choose等标签共同使用,类似于一个有if/else的函数返回一个变量值,
<xsl:template name="named-anchor"> <!-- generates an HTML named anchor --> <xsl:variable name="id"> <xsl:choose> <xsl:when test="@id"> <!-- if we have an @id, we use it --> <xsl:value-of select="@id"/> </xsl:when> <xsl:when test="not(preceding-sibling::*) and (parent::alternatives | parent::name-alternatives | parent::citation-alternatives | parent::collab-alternatives | parent::aff-alternatives)/@id"> <!-- if not, and we are first among our siblings inside one of several 'alternatives' wrappers, we use its @id if available --> <xsl:value-of select="(parent::alternatives | parent::name-alternatives | parent::citation-alternatives | parent::collab-alternatives | parent::aff-alternatives)/@id"/> </xsl:when> <xsl:otherwise> <!-- otherwise we simply generate an ID --> <xsl:value-of select="generate-id(.)"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <a id="{$id}"> <xsl:comment>named anchor</xsl:comment> </a> </xsl:template>
相关文章推荐
- XSLT常见问题(二)XSLT中变量的使用(variable)
- XSLT常见问题及解决(四) xsl中如何给属性值拼接字符串
- xsl-使用document() 出现XsltSettings.EnableDocumentFunction 问题解决
- ASP.NET中使用FCKeditor 2.6.3碰到些常见问题的解决方法
- 使用struts bean:write标签时不能显示Integer,BigDecimal等类型的属性问题的解决
- Firefox 使用常见问题和解决方法
- [ChneChen的随笔][管理之道]什么才是我们需要的解决问题的方法(从如何限制公司电脑使用U盘解决之道谈起)
- Linux 中软件 RAID 使用常见问题解决
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- 使用Apache Axis部署 Web服务时的常见问题及其解决方法
- BizTalk Server 2006使用过程中常见的问题及其解决办法
- 使用Apache Axis部署 Web服务时的常见问题及其解决方法
- ASP.NET2.0中"无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。"问题的解决
- windows 2008初体验常见问题: 无线网络"没有正确配置为使用IP协议" 错误解决办法
- 在页面中使用WebWork的token标签解决表单重复提交问题
- 解决不能使用JSTL标签的问题
- 使用Axis部署Web服务时的常见问题及其解决方法(转)
- xslt variable标签 学习笔记及使用技巧
- ASP.NET2.0中"无法显示 XML 页。 使用 XSL 样式表无法查看 XML 输入。"问题的解决
- 解决 c3p0 和 MySQL 集成情况下,连接长时间闲置后重新使用时报错的问题