问题标签 [xslkey]

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 回答
2261 浏览

xml - XPath 可以跨 XML 的两个子树进行外键查找吗?

假设我有以下 XML ......

...返回“桶”包含“红色”和“蓝色”的 XPath 是什么?

0 投票
2 回答
5002 浏览

xslt - XSLT 外部查找表正确用法 - key() 函数?

我四处搜索并找到了一些关于 xsl:key 和 key() 函数的教程,但不知何故我显然仍然缺少一些理解。

我需要做一个 XML-XML 转换,其中包括大约 10 个字段,我必须从源 XML 中获取字符串值,从适当的查找表(提供)中找到适当的数字代码,并将这些代码放入生成的 XML 中。

我有一个执行 xsl:for-each 查找表的工作版本,但我怀疑它不是最理想的,我想知道我是否应该使用 select="key('CR-Lookup',$CR)" 代替 somhow .

所以,我想做的是(树的深处):

变成这样的东西:

我制作的文件是这样的:

查找表文件lookup_ContributorRole.xml

Amd XSLT 文件,我尝试在其中进行匹配:

0 投票
1 回答
560 浏览

xslt - 在 xsl:key() 中嵌套 xsl:key() 并组合 xsl:key() 的结果

我有 2 个不相关的问题。我需要使用 XSLT 对数据进行分组。我需要它的功能就像嵌套IF在 anIF中的功能一样。之后,我需要对数据进行分组,以便根据分组条件将其拆分为多个文件。

使用 XSLT 1.0 版:

Q1)你如何key()在另一个中嵌套一个key()(即使用从第一个返回的结果节点key()作为当前节点列表来搜索第二个key()条件来分组我的数据)?

Q2) 我可以合并 2 个key()函数的结果吗?说,我想为键值为“A”和“B”的所有节点执行代码。

有谁知道如何解决Q1和Q2?

非常感谢您的帮助!我希望问题足够清楚。如果您需要输入和输出示例,请告诉我。

问候,梅丽塔。

0 投票
1 回答
309 浏览

xslt - 使用 XSL:Key 查找特定的后代节点

给定以下代码:

如果特定表按名称具有特定列,我希望能够使用 xsl:key 进行测试。例如,我想知道一个表是否有一个“created_at”列,这样我就可以在转换中编写特定的代码。

我得到了一个通用键,可以测试任何表是否按名称具有给定列,但还没有弄清楚如何使其特定于转换当前正在使用的表。

所以我最终得到了所有表格的“真实”。任何指导将不胜感激。

0 投票
5 回答
6206 浏览

xslt - 计算 XSLT 中的不同项目并仅列出一次

我有以下 XML:

我有以下 XSLT 来处理该 XML:

它输出以下内容,这几乎是我想要的:

它列出了每个变量名以及每个变量名出现的次数。唯一的问题是,每次出现 variable_name 时,它​​都会给出一次计数,而不是只给出一次。

这就是我希望它输出的内容:

如何修改 XSLT 代码以提供该代码?请注意,我们使用的是 XSLT 1.0。

以下解决方案似乎应该可以工作,但什么也没输出:

0 投票
1 回答
4478 浏览

xslt - 对 xsl:key key 使用两个元素

我知道如果我有这样的 XML 文件:

我可以像这样在 XSL 文件中定义一个键:

我在哪里使用 id 作为键。然而,唐纳德被列出了两次,但在 preg 中只在一个地方。

假设我希望他在 preg 中列出两次。也就是说,我想让类名成为标识符的一部分。基本上,我希望 preg 具有等效于有序对的键:(class-name, id)。我该怎么做(使用 XSLT 1.0)?

0 投票
2 回答
1401 浏览

xslt - xsl:for-each 中的迭代变量名称 xsl:key 在 XSLT 1.0

我有这样的 XSLT 1.0 代码:

据我了解,一个键可以为特定元素存储多个值。我相信上面的代码只在引用key('enemyItems', @key).

所以,我想将该代码包装在 xsl:for-each 中,就像这样

我的问题是:里面有什么???部分?(即迭代变量或事物的名称是什么?)

0 投票
2 回答
4616 浏览

xml - 使用 xsl:key 从匹配的子项中查找属性

对 XSL 来说相当新 - 所以请原谅noobishness。

我有一个输入 XML 文档(这实际上是Jargon File的 docbook 形式,被大量剪断):

这是我一直在使用的测试 XSL:

我的目标是,每当我遇到一个<glossterm>元素时,我都想查找glossentry/@id给定的glossterm/text(). 因此,例如,如果我找到一个<glossterm>/dev/null</glossterm>,我想得到dev-null

我只对glossdef 中的glossterms 真正感兴趣,但我已经为所有这些东西工作了xsl:templates——为了测试,我一直在研究所有glossterms。

我尝试创建一个单独的查找文档并使用 XML.com 中描述的方法:阅读多个输入文档但没有运气。

有什么提示吗?

0 投票
2 回答
1244 浏览

xml - XSLT 1.0 不同节点和元素的分组键

我在看Muenchian Grouping。我尝试查找与我的 xml 类似但找不到的示例。大多数示例结构良好,而我的示例令人困惑。

这是我的 XML 的缩短版本(请注意,我无法更改 XML 结构,因为它是标准的东西,而且我无法控制),我正在使用 XSLT 1,因为系统现在只支持该版本。

我想要的输出是:

现在 id 属性被用作引用元素的值。并且输出中的标记可以是创建者、联系人或元素内部的任何内容(如果它位于关联方元素下)。

我坚持创建密钥以从它们的 id/references 属性对它们进行分组。据我所见,使用 xsl:key 的示例仅适用于具有相同名称的节点,而我发布的示例具有不同的节点名称。任何帮助,将不胜感激!!!!

0 投票
2 回答
4390 浏览

xslt - 使用多个值的 XSL 键

以下是我正在处理的示例 XML 结构:

XSL 文件上的代码片段是:

变量“portid”的格式为“x:x”,其中 x 是一个数字。对于每个 portid,我需要与<parameter index="2">值相关联。以前我们在节点下只有一个 portid 值,<add>并且解决方案运行良好。

现在,我需要更改 XSL 键“端口”中的“使用”表达式,以便将值从“1:1”更改为“1:1”,类似地从“3:1”更改为“3:1” ' 并将 '3:9-12,' 扩展为 '3:9' 、 '3:10' 、 '3:11' 、 '3:12' 并将它们与值一起存储在<parameter index="2">. 例如,每次“portid”是“1:1”、“3:1”、“3:9”、“3:10”、“3:11”、“3:12”和'4:12',关联的值为 '4000'。

这可能吗?我正在为此工作一周,但仍然无法找到解决方案。任何帮助将非常感激。非常感谢你们。