问题标签 [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.
xml - XPath 可以跨 XML 的两个子树进行外键查找吗?
假设我有以下 XML ......
...返回“桶”包含“红色”和“蓝色”的 XPath 是什么?
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 文件,我尝试在其中进行匹配:
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?
非常感谢您的帮助!我希望问题足够清楚。如果您需要输入和输出示例,请告诉我。
问候,梅丽塔。
xslt - 使用 XSL:Key 查找特定的后代节点
给定以下代码:
如果特定表按名称具有特定列,我希望能够使用 xsl:key 进行测试。例如,我想知道一个表是否有一个“created_at”列,这样我就可以在转换中编写特定的代码。
我得到了一个通用键,可以测试任何表是否按名称具有给定列,但还没有弄清楚如何使其特定于转换当前正在使用的表。
所以我最终得到了所有表格的“真实”。任何指导将不胜感激。
xslt - 计算 XSLT 中的不同项目并仅列出一次
我有以下 XML:
我有以下 XSLT 来处理该 XML:
它输出以下内容,这几乎是我想要的:
它列出了每个变量名以及每个变量名出现的次数。唯一的问题是,每次出现 variable_name 时,它都会给出一次计数,而不是只给出一次。
这就是我希望它输出的内容:
如何修改 XSLT 代码以提供该代码?请注意,我们使用的是 XSLT 1.0。
以下解决方案似乎应该可以工作,但什么也没输出:
xslt - 对 xsl:key key 使用两个元素
我知道如果我有这样的 XML 文件:
我可以像这样在 XSL 文件中定义一个键:
我在哪里使用 id 作为键。然而,唐纳德被列出了两次,但在 preg 中只在一个地方。
假设我希望他在 preg 中列出两次。也就是说,我想让类名成为标识符的一部分。基本上,我希望 preg 具有等效于有序对的键:(class-name, id)。我该怎么做(使用 XSLT 1.0)?
xslt - xsl:for-each 中的迭代变量名称 xsl:key 在 XSLT 1.0
我有这样的 XSLT 1.0 代码:
据我了解,一个键可以为特定元素存储多个值。我相信上面的代码只在引用key('enemyItems', @key)
.
所以,我想将该代码包装在 xsl:for-each 中,就像这样
我的问题是:里面有什么???部分?(即迭代变量或事物的名称是什么?)
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 中描述的方法:阅读多个输入文档但没有运气。
有什么提示吗?
xml - XSLT 1.0 不同节点和元素的分组键
我在看Muenchian Grouping。我尝试查找与我的 xml 类似但找不到的示例。大多数示例结构良好,而我的示例令人困惑。
这是我的 XML 的缩短版本(请注意,我无法更改 XML 结构,因为它是标准的东西,而且我无法控制),我正在使用 XSLT 1,因为系统现在只支持该版本。
我想要的输出是:
现在 id 属性被用作引用元素的值。并且输出中的标记可以是创建者、联系人或元素内部的任何内容(如果它位于关联方元素下)。
我坚持创建密钥以从它们的 id/references 属性对它们进行分组。据我所见,使用 xsl:key 的示例仅适用于具有相同名称的节点,而我发布的示例具有不同的节点名称。任何帮助,将不胜感激!!!!
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'。
这可能吗?我正在为此工作一周,但仍然无法找到解决方案。任何帮助将非常感激。非常感谢你们。