XML/XSLT> Имеется дерево ... в общем любой длины и глубины. > > Как XSL'ем пройтись от одной из веток до самого верха? > (нужную ветку находим по значению, т.е. branch/@prop='value')
Если просто, то нужно вызвать шаблон для элементов branch со спец. mode, чтобы не пересекался с основным шаблоном (по-умолчанию не должен бежать вверх, а вниз все-таки ;-). В этом-же шаблоне нужно просто аплаить родитель с такой-же модой...
Вызываеш шаблон таким образом:
<xsl:apply-templates select="//branch[@prop = 'value']" mode="to-parent"/>
А это и сам шаблон:
<xsl:template match="branch" mode="to-parent"> .do something... .<xsl:apply-templates select="parent::branch" mode="to-parent"/> </xsl:template>
Конечно ничего не проверял, но кажется, должно работать ;-) |