Определение того, какой дизъюнкт в сопоставлении xsl: template соответствует - PullRequest
1 голос
/ 22 июня 2010

Предположим, у меня есть такой XML:

<xsl:template match="assessment | section ">
             .
             .
             .
</xsl:template>

Я делаю это, потому что я в основном хочу обрабатывать узлы assessment и section одинаково. Однако я хочу относиться к ним немного по-другому. Как я могу определить, было ли совпадение для assessment или для section?

Ответы [ 2 ]

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

Вы можете проверить на :

self::assessment

, что несколько эффективнее, чем использование функции name().

Однако в подобных случаях я помещу общий код в другой шаблон (либо именованный, либо в именованный режим) и создаю общую обработку следующим образом:

<xsl:apply-templates select="." mode="common"/>
0 голосов
/ 22 июня 2010

Сделайте что-то вроде этого:

<xsl:if test="name()='section'">
</xsl:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...