问题标签 [xslt-1.0]

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 投票
4 回答
1113 浏览

xpath - 如何简化这个 Xpath 表达式?

我有以下 XML 代码:


我想将l_desc节点与ab节点匹配为父节点。
现在,我使用这个 xpath 表达式://a/l_desc/.. | //b/l_desc/..

我更喜欢这样写://(a|b)/l_desc/.. 不幸的是,这个表达式是无效的。

您对减少第一个表达式有什么想法吗?xpath 将在 XSLT 样式表 v1.0 中使用。

斯蒂芬

0 投票
2 回答
1409 浏览

xml - XSLT 1.0:通过连接日期字符串的部分进行排序

我正在尝试获取 XML 数据并按其数据属性对元素进行排序。不幸的是,日期以 mm/dd/yyyy 格式出现,并且不是静态长度。(Jan = 1 而不是 01)所以我相信必须将字符串解析为三个组件并填充月份。然后新连接的值 (yyyymmdd) 降序排序。

问题是我不知道该怎么做。这是数据的示例

也有人可以推荐一本关于学习 XSLT 的好书吗?

谢谢!

更新 1

我真的希望我对这个 LOL 有更好的理解无论如何,我使用了您提供的代码并添加了在您在另一个问题中提供的相关代码中工作的“价值”代码,但没有看到任何结果。理想情况下,一旦对它进行排序,我就需要从最近的数据元素中引用多个其他属性。

更新 2

嗯,我试着像你说的那样更新它

而且我仍然没有得到任何输出。我用谷歌搜索了一下,还尝试弄乱这个声明xmlns:ext="http://exslt.org/common" ,并根据我看过的一篇文章尝试了不同的值。我试过了

并且没有提供任何输出。所以我想知道我是否有问题或者我的 xslt 处理器不支持它。

更新 3

好吧,显然我们已经反复收到了不好的信息。我已经用另一个属性更新了示例 XML,它改变了需要做的事情。

需要发生的是像我们已经完成的那样按日期对数据进行排序,然后提取最新且类型='base'的数据节点的promotionid。如果没有数据节点具有 type='base' ,那么我们只引用最近的数据节点,就像我们已经工作过的一样。

希望这是有道理的。再次非常感谢。

0 投票
2 回答
2088 浏览

xslt - XSLT 转义 >

我有一个问题,就像很多人逃避 > 标志一样。数据 xml 文件看起来像

使用 xslt 我想创建 ac# 函数。检查是在 if 语句中使用的项目。

<xsl:value-of cdata-section-elements="check"/>无法使用,因为我无法在模板中使用此数据。

禁用输出转义只是返回&gt;

希望你们中的一个有一个可行的解决方案。

提前谢谢你

0 投票
2 回答
578 浏览

xslt - 在 XSL 中

是否可以通过使用变量或类似的方式以任何方式设置十进制格式?

例子:

我得到的错误:“元素'xsl:decimal-format'有一个属性'grouping-separator',其值为'$grouping_separator'”

通过 xsl:attribute 设置十进制格式也是不可能的。

任何提示表示赞赏。

干杯,兰吉斯

0 投票
1 回答
1714 浏览

xml - XSL 1.0 将日期时间从 GMT 转换为本地时间

我正在创建一个处理 XML 文件并生成 HTML 文件的 XSL 样式表。我面临的挑战是 XML 文件中的日期时间值看起来像“2011-01-07T18:56:31Z”。

据我所知,Z 表示它是格林威治标准时间,我想将其转换为我的当地时间,但我不知道该怎么做。

我可以解析日期时间值并获取年、月、日、小时、分钟和秒,但在执行此操作之前我需要将其转换为本地时间,我不确定 XSL 1.0 中存在哪些函数(如果有)会让我这样做。

你有什么想法?

谢谢,凯文

0 投票
2 回答
769 浏览

xml - 带有嵌套元素的 XML 使用 XSLT v1.0 C# 进行计算过滤

我有一个示例 xml 文件,其中根具有名称为“元素”的元素。这个元素可以嵌套。

我想排除名称为“位置”的元素,其中“位置”值 x =(“数字”+“另一个”)*计数大于总和的平均值((“数字”+“另一个”)*“计数”)来自所有“位置”元素。

如何使用 xslt v 1 处理此 xml 文件。

0 投票
2 回答
119067 浏览

xml - xsl:如何拆分字符串?

我想将分号 ( ;) 上的地址拆分为由以下分隔的行<br />

例如如果address= 123 Elm Street,我想输出123 Elm Street

但如果address= 123 Elm Street;PO Box 222,我想输出

如果address= 123 Elm Street;PO Box 222;c/o James Jones,我想输出

有没有办法做到这一点?(可能很容易,但我对 XSLT 不太熟悉)

普通的 XSL 选择器是

我想修改这个 XSLT 片段以分号分割。


更新:显然答案涉及使用<xsl:call-template>和功能substring-before()substring-after()

但我是 XSLT 的初学者,我真的可以使用一些帮助来完成这项工作。

0 投票
1 回答
827 浏览

xslt - Add additional namespace/schemalocations to XML file using XSLT

I want to convert:

into:

I need to add a few namespace declarations and their associated schemaLocations to an existing XML file without changing anything else in that XML.

0 投票
1 回答
400 浏览

xsl-fo - 在 XSL 中创建母版页模板以使用 Apache FOP 进行呈现

我需要所有渲染的页面都符合特定的模板。

所以我想在 XSL 中创建一个母版页模板。最初我以为我会利用

流图,但 FOP (XSL 1.0) 不支持流图。请建议一个

替代为我的输出文件创建母版页模板。

问候

0 投票
2 回答
1354 浏览

xml - 使用 XSLT 在标签中换行

如何在 XSLT 中将跨度标签(或任何标签)包装在单个单词周围?我正在使用 XSLT1,但每次尝试时似乎都卡住了。

本质上,我想传入一个段落(或文本字符串):

并像这样包装每个单词,保留每个单词之间的空格和标点符号:

它主要用于演示目的,我将不胜感激