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

UptoLike

41
файла Example2.xml получить файл, содержащий список авторов журнала.
Возьмем вначале стилевую таблицу
<xsl:stylesheet version="1.0"
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="//article">
<xsl:value-of select="author"/>
</xsl:template>
</xsl:stylesheet>
Эта таблица содержит одно правило шаблона, образцом является
//article, поэтому можно предположить, что результирующий документ
будет представлять собой список авторов:
M. Malakhaltsev
E. Lipachev
На самом деле, мы получим следующий документ:
<?xml version="1.0"?>
Lobachevsky'Journal
Kazan State University
ljm.ksu.ru
M. Malakhaltsev
E. Lipachev
Дело в том, что для узлов, которые не удовлетворяют ни одному образцу,
применяется шаблон по умолчанию, который в данном случае просто выводит
содержимое соответствующих элементов исходного XML-файла. Если же
применить следующую таблицу стилей
<xsl:stylesheet version="1.0"
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
</xsl:template>
<xsl:template match="//article">
<xsl:value-of select="author"/>
</xsl:template>
</xsl:stylesheet>
которая содержит два правила шаблона (шаблон первого правила является
пустым для того, чтобы подавить вывод ненужной информации), для элементов
article возникнет конфликт правил шаблона (этот элемент удовлетворяет
двум образцам). Этот конфликт разрешается в пользу первого правила шаблона
файла Example2.xml получить файл, содержащий список авторов журнала.
Возьмем вначале стилевую таблицу





    Эта таблица содержит одно правило шаблона, образцом является
//article, поэтому можно предположить, что результирующий документ
будет представлять собой список авторов:
M. Malakhaltsev
E. Lipachev
   На самом деле, мы получим следующий документ:

Lobachevsky'Journal
Kazan State University
ljm.ksu.ru
M. Malakhaltsev
E. Lipachev
    Дело в том, что для узлов, которые не удовлетворяют ни одному образцу,
применяется шаблон по умолчанию, который в данном случае просто выводит
содержимое соответствующих элементов исходного XML-файла. Если же
применить следующую таблицу стилей







    которая содержит два правила шаблона (шаблон первого правила является
пустым для того, чтобы подавить вывод ненужной информации), для элементов
article возникнет конфликт правил шаблона (этот элемент удовлетворяет
двум образцам). Этот конфликт разрешается в пользу первого правила шаблона
                                                                       41