Языки разметки Семантического веба. Практические аспекты. Елизаров А.М - 42 стр.

UptoLike

42
«ничего не делать» (подробно о разрешении конфликтов правил шаблона и о
том, как выйти из этой ситуации, см. [11], [13]).
Чтобы все же получить список авторов, можно попытаться применить
следующее правило шаблона:
<xsl:stylesheet version="1.0"
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
<xsl:value-of select="//article/author"/>
</xsl:template>
</xsl:stylesheet>
Однако результатом будет документ, содержащий только первого автора
M. Malakhaltsev
Причина в том, что к корневому элементу применяется шаблон, который
указывает, что надо вывести содержимое элемента, определяемого выражением
//article/author. Однако таких элементов в данном случае два и нет
указаний, какой из них надо выбрать. Поэтому выбирается первый.
Для того чтобы вывести список всех авторов, применяется элемент
<xsl:for-each>, дающий инструкцию осуществить обработку каждого
элемента из набора элементов, определенного атрибутом select, значением
которого является XPath-выражение. В данном случае стилевая таблица будет
иметь вид:
<xsl:stylesheet version="1.0"
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
<xsl:for-each select="//article">
<p>
<xsl:value-of select="author"/>
</p>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
При применении этого шаблона последовательно обрабатываются ветви
XML-дерева, начинающиеся c элементов article и для каждой из них
выводится содержимое элемента author.
Приведем еще несколько примеров XSLT-преобразований для вывода
информации, содержащейся в файле example2.xml в разных видах.
– «ничего не делать» (подробно о разрешении конфликтов правил шаблона и о
том, как выйти из этой ситуации, см. [11], [13]).
     Чтобы все же получить список авторов, можно попытаться применить
следующее правило шаблона:
 
   
   
 
   
   Однако результатом будет документ, содержащий только первого автора
M. Malakhaltsev
    Причина в том, что к корневому элементу применяется шаблон, который
указывает, что надо вывести содержимое элемента, определяемого выражением
//article/author. Однако таких элементов в данном случае два и нет
указаний, какой из них надо выбрать. Поэтому выбирается первый.
    Для того чтобы вывести список всех авторов, применяется элемент
, дающий инструкцию осуществить обработку каждого
элемента из набора элементов, определенного атрибутом select, значением
которого является XPath-выражение. В данном случае стилевая таблица будет
иметь вид:



При применении этого шаблона последовательно обрабатываются ветви XML-дерева, начинающиеся c элементов article и для каждой из них выводится содержимое элемента author. Приведем еще несколько примеров XSLT-преобразований для вывода информации, содержащейся в файле example2.xml в разных видах. 42