Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Xslt 组动态生成的节点集_Xslt_Dynamic_Node Set - Fatal编程技术网

Xslt 组动态生成的节点集

Xslt 组动态生成的节点集,xslt,dynamic,node-set,Xslt,Dynamic,Node Set,我无法使用XSLT动态分组 我的问题很复杂,我想部分原因是我试图转换的节点集是从ApacheXalan/sql扩展动态生成的。我密切关注文档站点上的示例: XSLT项目很大;我只包括以下要点: $result节点集具有以下结构: 上下快速移动 地点1 对 俏皮话 站点2 对 山姆 地点1 不 杰夫 站点2 对 预期结果: 地点1 上下快速移动 山姆 站点2 俏皮话 杰夫 我在尝试使用la muenchian键进行分组时遇到了困难,因为match不允许变量: <xsl:key name="g

我无法使用XSLT动态分组

我的问题很复杂,我想部分原因是我试图转换的节点集是从ApacheXalan/sql扩展动态生成的。我密切关注文档站点上的示例:

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

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

上下快速移动 地点1 对 俏皮话 站点2 对 山姆 地点1 不 杰夫 站点2 对 预期结果:

地点1 上下快速移动 山姆 站点2 俏皮话 杰夫 我在尝试使用la muenchian键进行分组时遇到了困难,因为match不允许变量:

<xsl:key name="group-site" match="$result/sql/row-set/" use=?>
我很难用la muenchian的钥匙进行分组 因为match不允许变量:

<xsl:key name="group-site" match="$result/sql/row-set/" use=?>
您不需要在匹配定义中使用变量。将关键要素定义为:

<xsl:key name="row-by-site" match="row" use="col[@column-label='Site']"/>

调用key函数时,您必须处于查询创建的文档的上下文中,否则它将在源XML文档中查找要匹配的行。

听起来并不令人不快,但XSL是关于转换结构化XML文档的。从这个角度来看,$result节点集几乎没有提供任何有趣的结构可供构建。因为输入XML似乎是直接的SQL数据库输出,我建议您至少按站点分组,并在XML中反映此结构元素。@xbug-我同意XSLT可能不是正确工具的建议。不幸的是,这是一个我正在扩充的遗留项目。也就是说,也有一个源XML文档,但我省略了它。源XML包含构造sql$查询所需的节点。上面显示的预期结果将与源文档集成,以生成新的转换后的XML。