XSLT — страница 5 из 124

Поддержка XSLT включена и в Microsoft Internet Explorer, и в Netscape Navigator. Из этих двух браузеров Internet Explorer обладает гораздо большей поддержкой XSLT, и здесь я буду использовать версию 5.5 этого браузера. О поддержке XSLT в Internet Explorer вы можете прочитать по адресу http://msdn.microsoft.com/xml/XSLGuide/.

Internet Explorer 5.5 и ранних версий по умолчанию не поддерживает в точности синтаксис XSLT, поэтому нам нужно провести ряд модификаций в файлах 

planets.xml
и
planets.xsl
. (В следующей главе мы рассмотрим эту тему подробнее. Там приведены адреса, с которых можно загрузить пакеты обновленной поддержки XSLT.) Когда печаталась эта книга появился уже Internet Explorer 6.0. Я установил его и проверил работу; похоже, он поддерживает стандартный синтаксис XSLT (за тем исключением, что все еще требуется использовать тип «
text/xsl
» для таблиц стилей — таких как
вместо «
text/xml
»). Если вы все еще используете IE 5.5 или более ранний, вам нужно будет провести приведенные здесь и в следующей главе изменения. Если вы хотите избежать этого, используйте IE 6.0: кажется, этот браузер поддерживает полный синтаксис XSLT.

Для работы с

planets.xml
в IE (в том числе и версии 6.0) мне пришлось преобразовать атрибут
type
в инструкции обработки
из «
text/xml
» в «
text/xsl
» (предполагается, что файл
planets.xsl
расположен в том же каталоге, что и
planets.xml
, как указывает атрибут
href
в листинге 1.3).

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

Mercury.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

Теперь, если вы используете IE версии 5.5 или более ранней, вы должны также преобразовать таблицу стилей

planets.xsl
(но не для версии 6.0 и старше; в этом случает нужно только изменить атрибут type в инструкции обработки
из «
text/xml
» в «
text/xsl
»). Мы рассмотрим, как это сделать, в следующей главе, а вот новая версия planets.xsl, которую следует использовать:

Листинг 1.4. Версия planets.xsl для Microsoft Internet Explorer

</code></pre></p><p><pre><code>     The Planets Table</code></pre></p><p><pre><code>

     The Planets Table

NameMassRadiusDay






Теперь можно непосредственно открыть planets.xml в Internet Explorer, как видно на рис. 1.3.

Рис. 1.3. Осуществление XSLT-преобразования в Internet Explorer


Хотя таким образом при помощи Internet Explorer можно работать с XSLT, при этом необходимо так изменять таблицу стилей, чтобы она удовлетворяла требованиям Internet Explorer. Поскольку Internet Explorer в текущий момент фактически не поддерживает XSLT, открывая документы XML при навигации, я не буду использовать этот браузер для XSLT-преобразований в книге (кроме специально оговоренных случаев). Для осуществления преобразований я стану использовать процессоры XSLT, такие как Saxon и Xalan, а если результаты будут представляться в формате HTML, то мы будем просматривать их в Internet Explorer.

Интересно отметить, что существует способ провести настоящие XSLT-преобразования в Internet Explorer, не делая никаких специальных изменений в документах XML или XSL, даже не загружая и не устанавливая последний разборщик MSXML (как обсуждается в главе 2) — однако при этом нужно не осуществлять навигацию XML-документа, а обращаться к встроенному в Internet Explorer процессору XSLT, MSXML3, напрямую при помощи JavaScript.

Работа с XSLT и JavaScript в Internet Explorer

Процессор XSLT в Internet Explorer 5.5 является частью разборщика XML MSXML3, и если вы работаете напрямую с MSXML3 при помощи JavaScript, нет необходимости изменять исходные файлы