можно видеть на рис. 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
Для работы в IE версии 5.5 или младше необходимо также преобразовать таблицу стилей
planets.xsl
. Главное отличие между рекомендацией W3C XSL и реализацией XSL в IE состоит в том, что в IE версии 5.5 и младше не реализованы никакие правила XSL по умолчанию — см. главу 3 (заметьте, что IE версии 6.0 на момент выхода этой книги в свет не обременён такой проблемой). Это значит, что для IE версии 5.5 или младше я должен включать правило XSL для корневого узла документа, который задается при помощи «/». Я также должен использовать в таблице стилей другое пространство имен XSL, «http://www.w3.org/TR/WD-xsl», и опустить атрибут версии в элементе
<xsl:stylesheet>
(листинг 2.14).
Листинг 2.15. Версия planets.xsl для Internet Explorer