Tag: xslt

XSL if else条件

我有一个要求,如果我想要有其他语句来检查一个节点是否有属性或它只是string。 例如:节点1有0 File(s) found ,另一个有<autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> ,如<autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> 以下是两个节点的示例 <product> <autoIncludeUser>0 File(s) found</autoIncludeUser> <autoIncludeSystem> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='64' filename='AFP_p.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='3,879' filename='AnalystsExpressionMacros.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='475' filename='base64Converter.tgp' /> <autoincludesystem_info mdate='08/23/2011' mtime='09:51' ampm='PM' filesize='&lt;DIR&gt;' filename='codePages' /> </autoIncludeSystem> <autoIncludeStudio>0 File(s) […]

如何从XSLT中的子节点读取父节点的属性

只是想知道如何从XSLT中的子节点读取父节点的属性。 码: <A> <b attr1="xx"> <c> </c> </b> </A> XSLT: <xsl:template match="c"> <xsl:value-of select="attribute of b node"> </xsl:template>

在xslt concat函数中转义单引号

我想在下面的xsl:value-of xsl statment中输出$ IDvariables的单引号。 <xsl:value-of select="concat('process[@Ref=',$ID,']')"></xsl:value-of> 目前它打印 process@Ref=87799989 请让我知道我怎么能做到这一点。 在此先感谢,克沙夫

将XSLT 1.0升级到XSLT 2.0

从XSLT 1.0升级到2.0有什么关系? 1 – 升级的可能原因是什么? 2 – 没有升级的可能原因是什么? 3 – 最后,升级的步骤是什么? 我希望有一个执行摘要 – 简短的版本:)

如何使用XSLT创build不同的值

我有这样的XML: <items> <item> <products> <product>laptop</product> <product>charger</product> </products> </item> <item> <products> <product>laptop</product> <product>headphones</product> </products> </item> </items> 我希望它输出像 笔记本电脑 充电器 头戴耳机 我试图使用distinct-values()但我想我做错了什么。 谁能告诉我如何实现这个使用distinct-values() ? 谢谢。 <xsl:template match="/"> <xsl:for-each select="//products/product/text()"> <li> <xsl:value-of select="distinct-values(.)"/> </li> </xsl:for-each> </xsl:template> 但它给我这样的输出: <li>laptop</li> <li>charger</li> <li>laptop></li> <li>headphones</li>

比较XSLT <xsl:if>中的string时,如何指定“不等于”?

目前我有一个xsl与下面的代码,我试图打印出“计数”只有当它不等于N/A 但似乎像"!="不工作。 <xsl:for-each select="Directory/Match"> <xsl:if test = "Count != N/A"> <tr> <td><xsl:value-of select="@bookName" /></td> <td><xsl:value-of select="@AuthorName" /></td> <td><xsl:value-of select="Count" /></td> </tr> </xsl:if> </xsl:for-each> 但是,如果我尝试将其与数值进行比较,它将起作用。 例: <xsl:if test = "Occurrances != 0"> 有人可以告诉我:如果我想比较string,我可以使用什么?

我如何运行XSLT文件?

好吧,这似乎是一个愚蠢的问题,但我无法弄清楚。 我正在编写一个XSLT文件来将XML文档翻译成XHTML文档。 我已经使用Visual Studio和XML Notepad 2007来预览我的XSLT文件的结果,但是现在我想要写出一个真正的XHTML文件,以便我可以看到它在其他浏览器中的外观。 Visual Studio或XML记事本都没有明显的方式来保存预览。 我错过了什么 很明显,文件正在被创build,因为正在预览的东西,但我需要知道在哪里创build文件或更好的select它的位置。

是否有XSL“包含”指令?

我有以下的XSL片段: <xsl:for-each select="item"> <xsl:variable name="hhref" select="link" /> <xsl:variable name="pdate" select="pubDate" /> <xsl:if test="hhref not contains '1234'"> <li> <a href="{$hhref}" title="{$pdate}"> <xsl:value-of select="title"/> </a> </li> </xsl:if> </xsl:for-each> if语句不起作用,因为我还没有能够找出包含的语法。 我将如何正确expressionxsl:if?

JSON有什么好的CLI工具?

一般问题 虽然我可能正在诊断事件的根本原因,确定它影响的用户数量,或提取定时日志以评估最近代码更改的性能和吞吐量影响,但我的工具保持不变: grep , awk , sed , tr , uniq , sort , zcat , tail , head , join和split 。 为了把它们粘在一起,Unix给了我们pipe道,为了更好的过滤,我们有了xargs 。 如果这些让我失望,总会有perl -e 。 这些工具非常适合处理CSV文件,制表符分隔的文件,具有可预测的行格式的日志文件或使用逗号分隔的键值对的文件。 换句话说,每行有没有上下文的文件。 XML类似物 我最近需要浏览Gigabytes的XML来构build一个用户使用的直方图。 对于我所用的工具来说,这很简单,但对于更复杂的查询,正常的方法会失败。 说我有像这样的项目的文件: <foo user="me"> <baz key="zoidberg" value="squid" /> <baz key="leela" value="cyclops" /> <baz key="fry" value="rube" /> </foo> 假设我想产生一个从用户到平均数<baz> s per <foo>的映射。 逐行处理不再是一个select:我需要知道哪个用户的<foo>我正在检查,所以我知道谁的平均更新。 完成这个任务的任何一种Unix单线程都可能是不可思议的。 幸运的是,在XML-land中,我们拥有诸如XPath,XQuery和XSLT等奇妙技术来帮助我们。 […]

XSLT:如何在<xsl:copy>期间更改属性值?

我有一个XML文档,我想更改其中一个属性的值。 首先,我使用以下命令复制了从input到输出 <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> 现在我想在任何名为"property"元素中改变属性"type"的值。