Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XSL将多个节点树组合到HTML输出中_Xml_Xslt - Fatal编程技术网

Xml XSL将多个节点树组合到HTML输出中

Xml XSL将多个节点树组合到HTML输出中,xml,xslt,Xml,Xslt,简要说明:我仅限于XSL1.0,因此在阅读问题时请记住这一点 我有一组XML,如下所示: . . . 正在通过以下转换进行转换: 标题 企业名称 分数 . . . 这一切都很好,很好用。然而,我有一个新的要求 这个XML是从一个外部服务返回的,结果表明,我不仅会有它的多个副本(较旧/较新的信息等),而且可能需要将其中一些副本合并在一起显示,我不确定如何最好地实现这一点 目前,我预计我将拥有: . . . . . . . . . . . . 那么,我该如何翻译呢?我目前计划这样做: 标题 企业名称

简要说明:我仅限于XSL1.0,因此在阅读问题时请记住这一点

我有一组XML,如下所示:

. . . 正在通过以下转换进行转换:

标题 企业名称 分数 . . . 这一切都很好,很好用。然而,我有一个新的要求

这个XML是从一个外部服务返回的,结果表明,我不仅会有它的多个副本(较旧/较新的信息等),而且可能需要将其中一些副本合并在一起显示,我不确定如何最好地实现这一点

目前,我预计我将拥有:

. . . . . . . . . . . . 那么,我该如何翻译呢?我目前计划这样做:

标题 企业名称 分数 . . . 也就是说,将child::nodes放在每个apply-templates元素中,但还有比这更整洁的方法吗?这应该是可行的,因为虽然可能是TOP_级别的子节点的节点集是相同的,但这四个节点中的每一个实际上代表四个不同的事物,因此它们都应该是不同的或大部分不同的子节点

此外,虽然我预计TOP_LEVEL[1]中的非空笔记列表与TOP_LEVEL[2]中的非空节点列表会有很大不同,但一些元素可能会填充在多个树中,例如TOP_LEVEL[1]/randomElement99和TOP_LEVEL[2]/randomElement99的值可能都是BLURGH,甚至是完全不同的值。在这个阶段,如果有重复的内容,我很乐意只取TOP_LEVEL[1]中元素的值,但据我所知,上面的代码将导致它们连接在一起,这并不理想

预期的输出非常简单——它只是一个四列表,包含从XML中提取的值,并给出更具描述性的名称

如果相关的话,这个转换是通过Java 7上的Xalan 2.7.1完成的


任何建议都将不胜感激。

好吧,我确实解决了这个问题,但没有使用XSL

相反,我只是用Java执行了一些预处理,这

创建了一个新文档。 遍历我必须合并的每个文档中的子元素。 将该元素的克隆添加到此新文档中(如果它们尚未出现)。
简单。也就是说,我想知道我是否可以在XSL中实现这一点,所以我现在还不接受我自己的答案。

我还不太清楚非常简单的预期输出。请提供一个最小但具体的示例,涵盖所有边缘案例XML和该XML的具体输出。首先,看起来您实际上想要一个多行表。将多个值放入单个单元格是个坏主意。