Чтение онлайн

на главную - закладки

Жанры

Холзнер Стивен

Шрифт:

В XSLT 1.0 у этого элемента нет атрибутов и нет содержимого. В рабочем проекте XSLT 1.1 элемент

<xsl:apply-imports>
может обрабатывать параметры, поэтому он может содержать ноль или более элементов
<xsl:with-param>
(подробнее о параметрах см. главу 9).

В качестве примера я модифицирую только что рассмотренный нами пример

<xsl:import>
. В этом случае я добавлю еще один столбец в генерируемую в этом примере (листинг 2.12) HTML-таблицу, названную DATA, путем перекрытия шаблона
<PLANET>
в
rules.xsl
новым шаблоном
<PLANET>
из
planets.xsl
. Новый шаблон просто добавляет в таблицу новый столбец и затем применяет старый шаблон
<PLANET>
к оставшимся данным. Доступ к старому шаблону осуществляется при помощи
<xsl:apply-imports>
.

Листинг 2.12. Использование <xsl:apply-imports>

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns.xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:import href="#"/>

 <xsl:template match="/PLANETS">

<HTML>

<HEAD>

<TITLE>

The Planets Table

</TITLE>

</HEAD>

<BODY>

<H1>

The Planets Table

</H1>

<TABLE BORDER="2">

<TR>

<TD>Date</TD>

<TD>Name</TD>

<TD>Mass</TD>

<TD>Radius</TD>

<TD>Day</TD>

<xsl:apply-templates/>

</TR>

</TABLE>

</BODY>

</HTML>

 </xsl:template>

 <xsl:template match="PLANET">

<TR>

<TD>4/1/2002</TD>

<xsl:apply-imports/>

</TR>

 </xsl:template>

</xsl:stylesheet>

А вот как выглядит новая версия

rules.xsl
(листинг 2.13).

Листинг 2.13. Новая версия rules.xsl

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="PLANET">

<TD><xsl:value-of select="NAME"/></TD>

<TD><xsl:value-of select="MASS"/></TD>

<TD><xsl:value-of select="RADIUS"/></TD>

<TD><xsl:value-of select="DAY"/></TD>

 </xsl:template>

</xsl:stylesheet>

Результаты можно видеть на рис. 2.4. Я создал один шаблон при помощи другого, что является ближайшим аналогом в XSLT для наследования из объектно-ориентированной парадигмы.

Рис. 2.4. Использование <xsl:apply-imports>

В рабочем проекте XSLT 1.1 с элементом

<xsl:apply-imports>
можно использовать параметры таблицы стилей, что означает, что вы можете использовать элементы
<xsl:with-param>
в качестве содержимого
<xsl:apply-imports>
. Подробное обсуждение параметров и элемента
<xsl:with-param>
приводится в главе 9.

Преобразование документов XML при помощи Internet Explorer

В нашем обзоре таблиц стилей есть еще одна тема для обсуждения: как использовать таблицы стилей в Internet Explorer. Как мы видели в главе 1, для считывания документов XML и XSL можно использовать JavaScript, и осуществлять преобразование при помощи разборщика MSXML3. (Дополнительная информация по этой теме приведена в главе 10. Документацию по Internet Explorer можно также прочитать по адресу

Однако, если вам нужно открыть XML-документ непосредственно в Internet Explorer при навигации (например, набрав URI в адресной строке), в использовании элементов

<?xml-stylesheet?>
и
<xsl:stylesheet>
вы полагаетесь на браузер, а это означает, что для IE версии 5.5 и более ранних необходимо провести ряд изменений. 

INTERNET EXPLORER 6.0 И ПОЛУЧЕНИЕ И УСТАНОВКА РАЗБОРЩИКА MSXML

Обратите внимание: IE 6.0 только что вышел, когда книга готовилась к печати, и он поддерживает полный синтаксис XSLT (за исключением того, что вы все еще должны использовать тип «text/xsl» для таблиц стилей, как в <?xml-stylesheet type="text/xsl" href="#"?>, вместо «text/xml»). Если вы используете IE 5.5 или более ранних версий, вы также можете загрузить и установить последнюю версию разборщика MSXML прямо от Microsoft вместо предыдущей версии, используемой Internet Explorer. Если это сделать, вам не нужно будет проводить изменения, перечисленные в этом разделе. Дополнительную информацию можно получить по адресуxml/general/xmlparser.asp. Загрузить разборщик сейчас можно по адресу(Учтите, однако, что Microsoft, кажется, реорганизует свой web-узел примерно каждые пятнадцать минут.) Если вы работаете с IE 5.5 или более ранней версии, я настоятельно рекомендую вам загрузить MSXML, чтобы вам не пришлось изменять все ваши таблицы стилей XSLT для их использования в IE, или обновить браузер до версии 6.0 или более поздней.

Для IE версии 5.5 или более ранней необходимо внести изменения и в

planets.xml
, и в
planets.xsl
. Для того чтобы использовать
planets.xml
в IE, необходимо преобразовать атрибут
type
в инструкции обработки
<?xml-stylesheet?>
из «text/xml» в «text/xsl» (листинг 2.14).

Листинг 2.14. Версия planets.xml для Internet Explorer

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="#"?>

Поделиться:
Популярные книги

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Наследие Маозари 2

Панежин Евгений
2. Наследие Маозари
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Наследие Маозари 2

Воронцов. Перезагрузка. Книга 2

Тарасов Ник
2. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Воронцов. Перезагрузка. Книга 2

Хозяин Теней 6

Петров Максим Николаевич
6. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Теней 6

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Шайтан Иван 5

Тен Эдуард
5. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
5.40
рейтинг книги
Шайтан Иван 5

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Инженер Петра Великого 4

Гросов Виктор
4. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого 4

Моров. Том 4

Кощеев Владимир
3. Моров
Фантастика:
фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Моров. Том 4

Ваше Сиятельство 9

Моури Эрли
9. Ваше Сиятельство
Фантастика:
боевая фантастика
попаданцы
стимпанк
аниме
фэнтези
5.00
рейтинг книги
Ваше Сиятельство 9

Обнуленный

Сухов Александр Евгеньевич
1. Дэн Шир
Фантастика:
боевая фантастика
попаданцы
7.00
рейтинг книги
Обнуленный

Менталист. Трансформация

Еслер Андрей
4. Выиграть у времени
Фантастика:
фэнтези
альтернативная история
7.28
рейтинг книги
Менталист. Трансформация

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого