问题标签 [xsl-variable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
153917 浏览

xslt - 使用打印出 XSL 变量的值

在根据节点是否存在设置变量之后,我正在尝试输出变量的文字字符串值。我认为条件检查逻辑是正确的。但它没有输出值......

我希望它输出“假”或“真”的文字字符串。但它没有输出任何东西。请帮忙!谢谢!!!

0 投票
3 回答
1917 浏览

xslt - xsl:sequence 总是非空的吗?

我不明白这个样式表的输出:

当应用于以下 XML 时:

xsl:message元素写入的输出为:

我期待这个:

为什么count($seq)在这种情况下总是返回 1?您将如何更改变量定义,以便我以后可以测试它是否为空?(简单<xsl:variable name='seq' select='*' />会返回预期的答案,但不是一个选项......我想更改此模板between中的变量,并稍后测试它是否为空)。

0 投票
1 回答
1466 浏览

xslt - 如何从 html 或 javascript 提供样式表变量值

我的问题是关于在使用 xsl 的客户端上呈现。这已经在 IE 中工作了,但我想让它在 Firefox 上工作

一、样式表(variablexsl.xsl) 这里唯一特别的是存在

<xsl:variable name="module" select="string('RES')"/>

现在,html 文件 index.html

所以最后当我点击 EDU 和 RES 按钮时,文本在 IE 中正确显示,但在任何其他浏览器中都没有。我尝试使用 document.evaluate() 但不断收到错误.. 最后转向 SO 寻求帮助!

谢谢!

解决方案: 对样式表进行以下更改,然后使用 xsltprocessor().setParameter 为我工作。

对样式表的更改:(在样式表声明之后添加一个新的 xsl:param)

然后修改<xsl:variable>声明<xsl:template match="/">如下:

火狐客户端代码

//function loadXMLDoc()使用XMLHttpRequest对象发出 ajax 请求,并返回responseXML给调用者。

0 投票
1 回答
2581 浏览

arrays - 如何在 XSLT 中处理不同循环中的数组

我在处理以下 xml 代码时遇到问题:

我需要将此 xml 转换为 EXCEL 兼容文件(我使用 urn:schemas-microsoft-com:office:office、urn:schemas-microsoft-com:office:excel 和 urn:schemas-microsoft-com:office:spreadsheet 命名空间它)

问题是我不知道如何在行/列/值上应用来自标题/标题元素 dataType + dataFormat(如果可用)的信息。这将帮助 Excel 识别其单元格内的数据类型。很明显,我需要保持秩序。列数及其元数据是动态的,每个 XML 可能不同。

我需要得到这样的东西:

我尝试了几次创建有用且有效的东西,但我所有的尝试都失败了。当前版本在这里:

这个版本没用,因为我不能使用任何变量值作为变量名,它必须是常量值。解析整个数据以某种方式工作,但是当我尝试实现数据类型和数据格式时,它就坏了。

编辑:有关数据类型和数据格式的信息被放置在 head 元素中,该元素包含有关列及其标题的所有信息。列在单独的模板中处理,它们不直接连接到头部元素的列定义。仅通过元素的顺序来维护关系。我需要处理每一行和每个单元格(对于正确的列)的数据类型和可能的数据格式(这是可选的)信息,而不仅仅是标题。

0 投票
3 回答
8942 浏览

xslt - 覆盖xsl中的变量

我只需要覆盖变量xsl

我需要更改变量的值。

我对 xsl 很陌生,请帮助我如何实现这一点。这可能很愚蠢,但我不知道..

0 投票
1 回答
11643 浏览

html - 我们可以在 XSL 变量中插入 HTML 标记吗

我只是想确认我们是否可以在 xsl 变量中插入 html 标签?例子

如果我使用

我应该得到

可能吗?我努力了

尽管我没有得到想要的输出

0 投票
2 回答
834 浏览

java - xsl变量初始化,方法不被调用

我是 xslt 的新手,有一个问题。

我有一个包含所有必要的 setter 和 getter 的 validate 类。例如它有这样的方法:

当我启动我的应用程序时,我看到这个方法没有被调用。

当我在我的 xsl 文件中添加这样的代码时,我只在控制台中看到我的测试消息:

那么在第一次使用时我的错误或 xsl:variable 在哪里初始化?


我有这个代码:

0 投票
1 回答
178 浏览

javascript - 传递给 JavaScript 代码的 XSL 变量

我看到有人问过类似的问题,但没有任何帮助。

我有一个变量,称为' var ':

我想这样使用它:

问题:更换???带有var的值。

我已经尝试过设置{$var}以及<xsl:value-of select="$var"/>,但由于存在三个嵌套括号,因此最新的将不起作用。

0 投票
1 回答
36 浏览

xml - 一次选择整个节点集,而不是递归地选择每个节点

我一直在寻找这个,可能实际上没有办法做到这一点:

我的 xml 文件看起来像这样:

我已经找到了无数<para>为自己选择每个的方法,但我想<para>一次匹配所有节点(加上封闭的子节点)并将块存储在一个变量中。这甚至可能吗?

为了防止误解:如果上面的块被一个额外的节点包围,让我们称之为它<exmpl>,我会简单地匹配子<exmpl>节点并获得我想要的节点块。如果没有这样的父节点,我如何获得相同的结果 - 使用具有唯一内容的兄弟节点(“播放”和“结束”)似乎不起作用?

0 投票
3 回答
1835 浏览

xslt - XSLT 1.0 不能在 xsl:value-of select 中选择变量

我尝试转换由多个来源生成的一段 XML。如果我将文本直接输入到 value-of select 语句中,它会按预期工作。但是一旦我尝试使用变量,它就不再起作用了。

如果我在 xsl:for-each 语句中使用变量,它也可以正常工作。这是运行良好的 XSL

但是,如果我在 xsl:value-of select 中使用变量,它就不会按照下一个代码块中的说明工作。我尝试了很多组合,例如只使用一个带有“firstname”、“firstname | fname”的变量,尝试连接(...)文本等......

输入 XML:

只有一次我得到结果,因为我在变量中指定了“帐户/名字”。但是这样我总是只在每次迭代中获得第一个元素的值。似乎在指定变量时它失去了上下文(处理器当前位于“帐户”实体内,应该选择“名字作为子节点”)。

我读到 value-of select 语句从 XSLT 1.0 到 2.0 发生了一些变化,但我不完全理解有什么区别(我对 XSLT 很陌生)。

我必须如何指定 XSL 才能使其工作?

更新:代码块 1 中的预期输出

编辑:我应该提到的是这些模板将/可以被修改,因此如果所有“变量”都在一个地方会更容易。可能是目标未命名为“联系人”,而是其他名称,并且在整个文档中对其进行更改容易出错且多余。这些变量也用于由 XmlReader 读取的另一个进程。我尽量减少配置和冗余的麻烦。