我的客户正在使用XSLT样式表。 这不是一个真正的问题,但我已经陷入了困境。
我正在尝试创建一个表。表中的行应包含父元素和子元素(如果有的话)。每个(父母和孩子)都应该有自己的行。
首先,我使用For-each循环解决了它,它首先通过父元素。 对于具有子元素的指定父元素,另一个For-each循环遍历子元素。
现在我遇到的问题是position()无法从子循环返回到父循环,我无法确定奇数,甚至在行中也是如此。奇数和偶数由“mod 2”决定。
因此,每个第二行都会为css样式获取奇数类。
XML看起来像:
<note>
<Parent>
<Childs/>
<Value>aaa</Value>
</Parent>
<Parent>
<Childs/>
<Value>bbb</Value>
</Parent>
<Parent>
<Childs>
<Value>cc_child</Value>
</Childs>
<Value>ccc</Value>
</Parent>
<Parent>
<Childs>
<Value>dd_child1</Value>
</Childs>
<Childs>
<Value>dd_child2</Value>
</Childs>
<Value>dddd</Value>
</Parent>
<Parent>
<Childs/>
<Value>eee</Value>
</Parent>
</note>
如前所述,嵌套for-each循环显然没有解决方案,因为我无法将子位置返回到父循环。
如果有人为我提供解决方案或想法,那会很棒。
谢谢和问候
答案 0 :(得分:0)
您可以在父级for-each中创建一个变量,其值为position(),并在嵌套循环中使用它。
答案 1 :(得分:0)
我使用For-each循环解决了它,它首先通过了 父元素。并且对于具有child的指定父元素 元素另一个for-each循环遍历子节点 元件。
如果您希望将行指定为奇数或甚至无论行源是什么,请使用单个循环,该循环遍历两个类型的元素。