【发布时间】:2011-12-22 14:13:45
【问题描述】:
我正在尝试使用 XSLT 从大型 XML 中呈现一些数据。 XML 数据实际上是一种图形数据,而不是分层的。和元素相互关联,因此最终可能会出现循环引用(但是关系类型不同)。
我试图从一个元素遍历关系并访问每个相关元素等等。这样,有时我会到达一个我已经遍历过的元素。在这种情况下,我应该停止进一步遍历,否则我将在一个循环中运行。
我的问题是我无法存储我已经遍历的元素列表并在每次开始遍历元素时进行查找,这样如果元素在查找中,我就可以停止遍历。
简单地说,我想将元素保存在查找表中,并在遍历时将每个元素添加到其中。
有解决办法吗?
【问题讨论】:
-
您能否更具体地了解您的输入内容?为什么不能像lists.xml.org/archives/xml-dev/201110/msg00030.html 那样将遍历过的元素存储在参数中?
-
XSLT 是一种声明性语言,而不是程序性语言。因此没有“更早”、“已经”或其他与时间相关的概念的概念。您需要从功能角度重新考虑流程。
-
样本输入、所需输出和样式表尝试都可以让您更轻松地向您展示适合您情况的解决方案。