Об атрибуте select в apply-templates - PullRequest
1 голос
/ 13 июня 2011

У меня вопрос о том, как использовать атрибут select в apply-templates. Когда я пишу это: <ul><xsl:apply-templates select="authors/author" /></ul>, что это значит? Означает ли это, что он должен применять шаблон, где узлы автора являются дочерними узлами узла авторов, который является дочерним узлом текущего узла?

Следующее шаблонное правило:

<xsl:template match="author">  
    <li><xsl:value-of select="."/></li>
</xsl:template>

1 Ответ

2 голосов
/ 13 июня 2011

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

Точно.

Ну, еще точнее: это означает, что процессор XSLT должен применять шаблоны ко всем <author> дочерним узлам всех <authors> дочерним узламтекущего узла.

Если существуют шаблоны с множеством элементов, которые могут соответствовать <author>, процессор XSLT примет решение , какой шаблон применить.Например:

<xsl:template match="author[not(@country = 'USA')]">
  <!-- will execute for any non-U.S. authors, specifically -->
</xsl:template>

<xsl:template match="author">
  <!-- will execute for all other authors -->
</xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...