问题标签 [node-set]

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 投票
2 回答
799 浏览

xml - XSLT - 从一组相同的节点中打印第一个节点

我在尝试仅为一组相同的节点打印一行时遇到问题,但我找不到相同节点的类似帖子。

我有一个包含一组相同节点的输入 xml 文件,例如它看起来像:

我想要的是只打印一次这本书的信息。我认为我的问题的解决方案可能是 muenchian 分组,例如按 ISBN 值分组,然后从组中仅打印第一个。

基于此,我的代码如下所示:

和:

如果我的输入 xml 文件仅包含一个 BK 元素,则代码可以正常工作。如果我有多个如上所示,Apache FOP 会返回一个与表格单元格相关的错误:“行中的列号或单元格数溢出为表格指定的 fo:table-columns 的数量。”

该错误表明我正在尝试在我的表格行中放置更多表格单元格,而:a)我希望此示例仅打印 1 行 b)在更多 ISBN 的情况下生成更多行,而不是更多表格单元格.

任何帮助将不胜感激,谢谢!

0 投票
1 回答
499 浏览

xslt - XSLT:将模板应用于树片段

我已经定义了一个变量 $NodeVariable,例如:

在代码的不同部分,我想将不同的模板“应用”到 myVariable。不幸的是,我不知道它的语法是什么。

我尝试了以下方法:

这是行不通的。

如何将模板应用于树片段?

0 投票
1 回答
361 浏览

xslt - XSLT 1.0 - 提取节点集并作为参数传递

我得到了这个 XML 并且必须从中渲染相当多的内容并且大多数工作正常,但是我试图提取colorwhos 键的节点集与元素的匹配key并且bar属性是硬编码的字符串('data'在这种情况下)。节点集将作为参数传递给模板,并且每条颜色线只能出现一次:

在我的 XSLT 文件中,我有这个(摘录):

问题是,这不会传递节点集,而是传递树片段。是否可以进行与上述相同但返回节点集的选择?

编辑:

预期的节点集:

我不确定提供的 XSLT 是否会生成这个结果树片段,因为我不知道如何打印它(出于调试目的)。

0 投票
1 回答
901 浏览

xml - 使用 exslt str:replace 的问题

在使用 exslt 字符串替换功能时,我认为是一个命名空间的问题。我想按照此处的文档使用 exslt 字符串替换函数的节点集形式替换目标字符串中的几个字符串。然而,它似乎只替换了节点集的第一个字符串,而不是其他字符串。

这是我的文件:

这是输出:

正如您在输出中看到的那样。在使用该函数时,只有第一个节点的字符串被替换。第二个没有。如您所见,我将模板代码从 exslt.org 复制到文件中,起初它没有工作,直到我将它添加xmlns=""到 str:replace 模板中,如下所示:

那时模板表单起作用了,这让我相信这是一个名称空间问题。我相信在函数中对节点进行排序并创建自己的replace节点时,如下所示:

该节点可能最终位于不同的命名空间中,因此后续循环无法解决它们。将xmlns属性添加到str:replace将其中创建的任何节点放入与我传入的节点相同的空命名空间中,然后它就可以工作了。但是,无论我尝试什么,我都无法使功能版本正常工作。我什至从文件和我创建的 xml 节点集中删除了所有命名空间,但它仍然不起作用。坦率地说,所有这些命名空间的东西让我有点困惑。也许这根本不是问题。

任何帮助将不胜感激,谢谢!

0 投票
1 回答
933 浏览

xml - xslt 获取具有关键功能的节点集文本

是否可以使用 xslt 1.0 中的键功能访问节点集的文本节点?我有以下代码:

我想通过当前项目的 ItemID 搜索节点集的文本,以便通过它的预定义节点集文本(ID1:name1,ID2:name2)重命名项目。

0 投票
1 回答
263 浏览

xslt - 分组动态生成的节点集

我在使用 XSLT 进行动态分组时遇到问题。

我的问题很复杂(我认为),部分原因是我要转换的节点集是从 apache xalan/sql 扩展动态生成的。我密切关注文档站点上的示例:请参阅链接

XSLT 项目很大;我只包括了以下要点:

$result节点集具有以下结构:

期望的结果:

我很难尝试使用 la muenchian 的键进行分组,因为match不允许变量:

0 投票
1 回答
450 浏览

xslt - xslt 使用输入过滤变量节点集

我遇到了麻烦,我相信,无法过滤变量节点集。

我有一个变量,其中填充了来自文档集合的节点集,如果输入中不存在这些节点,我想回显输入并添加变量节点。

请注意,输入中会有许多带有 name 属性的 someInputElement 实例。

当我针对目标运行 xpath //someInputElement/@name 时,我得到了预期的列表。

任何建议最受赞赏。

0 投票
1 回答
87 浏览

xslt-1.0 - 从 xsl 节点集中删除

假设您有这样的文件:

然后使用 xsl 创建 B 节点的节点集

你现在有这个:

在 xsl 1.0 中从该节点集中删除特定节点集的公认方法是什么?例如,您只想要 B 的 C 是“一”或“二”,而不是像这样的“三”?

您如何在 xsl 中执行此操作,使用更排他的选择器 r 可以在声明它之后从节点集中删除(即,它是动态的 java Arraylist)吗?

0 投票
1 回答
276 浏览

java - 创建自定义 XPath 函数以修改 Java 中的节点集

我在 Java 中创建了一个自定义 XPath 函数,用于修改节点集中的文本节点。我需要传入一个节点集,让代码循环通过每个节点并返回一个节点集。我见过很多修改字符串的自定义 XPath 函数的例子,但没有一个可以接收节点集并成功返回节点集。我也不知道如何映射返回的节点集。

以这个源 XML 为例。

然后我希望这是我的目标 XML。我选择将每个单词的第一个字母大写,但这只是一个示例。不要担心文本修改部分,我明白了。

这里最重要的是,我想使用 Java 将其实现为自定义 XPath 函数,以便可以在设计器模式下拖放它。我在这个转换的每一侧都使用了一个文件适配器,所以所有节点的结构已经给出,我必须让我的结果适合。

0 投票
1 回答
376 浏览

xslt - 当节点集长度大于 1 时从节点集中删除节点

我有一个像

仅当名称为“XYZ”的位置也存在时(或者名称为“ABC”的位置不是节点集中的唯一元素),我才必须删除名称为“ABC”的位置

我准备的 xslt 是这样的:

这似乎不起作用。我在这里做错了什么。