разворачивание / свертывание вложенных узлов в xslt (часть 2) - PullRequest
1 голос
/ 21 июня 2011

Это продолжение моего предыдущего поста расширение / свертывание вложенных узлов в xslt

По какой-то причине я не могу добавить комментарий к своему предыдущему сообщению.

Я попробовал предоставленное решение, и оно работает, когда есть только один базовый период.Если есть несколько базовых периодов, это не работает.

Обратите внимание, что я использую IE8.

1 Ответ

0 голосов
/ 22 июня 2011

Я думаю, что довольно легко справиться с несколькими базовыми периодами. Простой подход заключается в добавлении второго идентификатора для subper_expand контейнера div (и его якоря), чтобы различать их в отдельных базовых периодах, то есть:

subper_expand{base period position}_{periond position}

BasePeriod:

<xsl:apply-templates select="Period">
    <xsl:with-param name="bpPos" select="position()"/>
</xsl:apply-templates>

Период:

<xsl:param name="bpPos"/>

<xsl:variable name="subper">
    <xsl:value-of select="concat('subper_expand', $bpPos, '_', position())"/>
</xsl:variable>
<xsl:variable name="subperiod">
    <xsl:value-of select="concat('subperiod_expand', $bpPos, '_', position())"/>
</xsl:variable>
...
<a href="javascript:expandIt({$subper}, {$subperiod})"
   name="{$subperiod}" class="expandit">Sub Periods</a>
<div id="{$subper}" style="display:none;">

Как вы видите, он выглядит более читабельным при использовании переменных xsl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...