问题标签 [xsl-grouping]

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

xml - Muenchian Grouping - 在一个节点内分组,而不是在整个文档内

我试图在我的 XSLT 中使用 Muenchian 分组来对匹配节点进行分组,但我只想在父节点内进行分组,而不是在整个源 XML 文档中进行分组。

给定 XSLT 和 XML 如下(对我的示例代码的长度表示歉意):

XSLT

XML

结果

我如何在每个中分组<records>并实现此结果:

0 投票
1 回答
1299 浏览

xslt - 在 XSLT 2 中对多个组进行分组

我正在尝试将层次结构添加到一些难看的挤压排版 XML。我似乎无法一次管理在同一个父元素中对几种组进行分组。

我所拥有的(显然是简化的):

我想要的是:

这几乎适用于列表项:

但它只处理文章中的第一个列表;一旦我尝试添加另一个 xsl:for-each-group 来覆盖这些部分,列表项就会停止工作。

想法?提前谢谢了!

0 投票
2 回答
192 浏览

xslt - 使用分组将文本放在一起然后进行测试

所以在这个难看的挤压排版产品中,我有时会看到链接和电子邮件地址被分开了。例子:

期望的输出:

元素之间似乎没有出现空白,这是一种祝福。

我可以告诉我需要在 p 模板中使用 xsl:for-each-group,但我不太明白如何通过 contains() 函数将组合文本从组中放入,以便区分电子邮件和 URL。帮助?

0 投票
1 回答
2184 浏览

xslt - XSLT 分组和子分组

我有以下代码:

我的 XML:

它输出以下内容:

我希望输出先按类别分组,然后按每个类别的客户分组,对此的任何见解都会很棒:

基本上按类别分组后,我只想在该类别下看到一个客户,该客户在该类别中的每个促销活动。

0 投票
3 回答
8170 浏览

xslt - XSLT:分组和排序....如何?

我有一个如下所示的 XML 文件...

我需要生成一份列出每个州的报告,按字母顺序排列,每个城市都在后面.. 例如..

(城市不必按字母顺序排列,只有州)

我试图通过在状态/状态上执行一个 for-each 来解决这个问题,按名称对其进行排序并进行处理。像这样....

这给了我......

排序工作,现在我想分组。我唯一能想到的就是与之前的状态进行比较,因为它是排序的,它应该识别状态值是否没有改变。像这样...

可悲的是,前同级特征似乎不适用于排序,因此,第一次通过(在第一个阿拉斯加)它看到第一个北卡罗来纳州作为前同级。这会导致一些奇怪的结果,这根本不是我喜欢的。

所以,我正在使用 XSLT1.0... 有什么想法/建议吗?

谢谢

0 投票
1 回答
204 浏览

xslt-2.0 - XSLT 2.0 中的分组类似于 br to p 问题

在 XSLT 1.0 中,论坛中的一个常见问题是如何将平面 HTML 转换为分层 XML,这很多时候归结为在<br />标签中的<p>标签之间嵌套文本。

我有一个类似的问题,我认为我已经使用 XSLT 2.0 部分解决了这个问题,但这对我来说是一种新方法,我想获得第二个意见。

XHTML 源代码<span class="pageStart"></span>分散在各处。它们可以出现在几个不同的父节点中。我想将一个页面开始标记和下一个页面之间的所有节点包装在一个<page>节点中。我目前的解决方案是:

这至少有一个缺陷——标记的父节点<page>在我不想要它时将它作为子节点。在其他作品中,如果在其中<div>任何地方都有一个子页面标记,则除了我期望的位置之外,还会<page>创建一个节点作为直接子节点。<div>

我曾希望我可以简单地使模板规则成为<xsl:template match="span[@class='pageStart']">,但无论我尝试什么, current-group() 似乎都是空的。我尝试的常识方法是<xsl:for-each-group select="node()" group-starting-with="span[@class='pageStart']">.

有没有更简单的方法来解决我缺少的这个问题?

编辑

这是输入的示例:

我假设最后两个嵌套页面使这个问题变得更加困难,所以我很高兴将它作为输出,或者接近的东西:

0 投票
2 回答
186 浏览

xml - XSLT 分组与子元素的添加/组合

我有以下 XML

我想做的是 InvestmentStrategyId 和 Type 与上面最后 2 个的情况相同(为清楚起见重新排序)是 FundName 相同的地方,我需要对基金值求和。在这种情况下,每边都有相同的内容,但每边可能有一些额外或更少。

所以结果是我需要访问 FundName 和 FundValue 或者我可以求和或已经求和的值。

帮助!

对,这就是我想要实现的输出。

包括存在于 1 而不是其他的任何 FundNames。

我应该添加我正在使用 .net 4.0 运行

0 投票
1 回答
846 浏览

xslt-1.0 - 在 xslt 1.0 中对嵌套元素进行分组

我一直在查看 XSLT 1.0 中的 Muenchian 分组示例,特别是这里的示例。但是我无法让它在更复杂的 XML 结构上工作。

我的 XML 目前看起来像这样:

但是,当它们具有相同的 Sport 和 Event 时,我想将 Rank 节点分组到相同的 Ranks 父级下。所以我希望结果看起来像这样:

我只是有点迷失如何做到这一点,因为唯一的其他例子是处理一个更简单的结构,我不确定它是否可能或者我的密钥和模板需要如何构建才能做到这一点。谁能提供一些示例如何实现?

任何意见,将不胜感激。

0 投票
1 回答
438 浏览

xml - 通过xslt1中的xml元素对重复节点进行xsl分组

我有一个复杂的 xml 结构,如下所示:

我在每个项目上使用 xsl 运行,例如:

我需要一个如何单独分组<ItemText>的示例, 因此结果将如下所示:<ItemTextsType><Item>

首先<Item>在这个例子中:

类型1

类型2

描述21

描述22

对于Item本例中的第二个:

类型3

类型2

描述21

描述22

当然,我会将结果安排在如下表格中:

关键是每个都有单独的分组<Item>到它自己的<table>里面,<table>里面有分组依据<ItemTextsType>

我尝试过类似的东西

但它只适用于重复节点(如果只有一个<Item>它会正常工作)。 我无法更改 xml 因为它来自 customer 。

请帮助我,我需要它尽快。

谢谢 !!!!

0 投票
1 回答
111 浏览

xml - xslt1中重复节点的xml元素xsl分组到html表输出

我有一个复杂的 xml 结构,如下所示:

每个<Item>都有更多的 xml 元素,但我现在不会指定它们。

我在每个项目上使用 xsl 运行,例如:

<Item>我为每行中的每一行和许多行生成表格<td>

我需要一个示例来说明如何<ItemText><ItemTextsType>每个单独分组<Item>

我会将结果安排在如下表格中:

关键是每个都有单独的分组<Item>到它自己的<tr><td><table> 里面,<table>里面有分组依据<ItemTextsType>

我尝试过类似的东西

但它只适用于重复节点(如果只有一个<Item>它会正常工作)。 我无法更改 xml 因为它来自 customer 。

请帮助我,我需要它尽快。

谢谢 !!!!