Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

Типичными симптомами не до конца обновленной версии MSXML является следующее:

□ при попытке выполнить корректные преобразования, определенные в пространстве имен с URI

"http://www.w3.org/1999/XSL/Transform"
, не происходит ничего или выдается ошибка;

□ при попытке выполнить те же преобразования, исправив URI на

"http://www.w3.org/TR/WD-xsl"
, процессор пытается выполнить преобразование, но выдает ошибку о некорректности преобразования (в то время как оно работает на других процессорах);

□ в преобразованиях не работают переменные, именованные шаблоны, шаблоны значений атрибутов, ключи и импортирование.

В случае обнаружения подобных признаков единственным советом является обновление версии MSXML в режиме замены.

Предупреждение

Перед установкой MSXML3 рекомендуется внимательно ознакомиться с документацией на предмет возможности установки в режиме замены. Некоторые программные продукты (такие, как SQL Server и Biztalk Server) используют старую версию XSLT-процессора, и обновление в режиме замены приведет к нестабильности их работы.

Использование

Так как MSXML уже давно превратился в стандартный компонент Windows, использовать его можно разными способами - например, в собственных приложениях или как ISAPI-расширение. При разработке XSLT-преобразований MSXML, как правило, применяется либо совместно с браузером Internet Explorer, либо как самостоятельная утилита командной строки.

Первый способ заключается в том, что с XML-документом посредством инструкции

xml-stylesheet
ассоциируется преобразование и Internet Explorer отображает результат преобразования.

Пример
Листинг П1.1. Входящий документ source.xml

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

<date>18.10.2001</date>

Листинг П1.2. Преобразование stylesheet.xsl

<?xml version="1.0" encoding="windows-1251"?>

<xsl:stylesheet

 version="1.0"

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

 <xsl:template match="/">

<html>

<head>

<title>Today is page</title>

</head>

<body>

<xsl:apply-templates select="date"/>

</body>

</html>

 </xsl:template>

 <xsl:template match="date">

<H1>

<xsl:text>Сегодня </xsl:text>

<xsl:value-of select="."/>

</H1>

 </xsl:template>

</xsl:stylesheet>

Документ source.xml будет отображен в браузере Internet Explorer следующим образом (рис. П1.4).

Рис. П1.4. Документ source.xml, отображенный браузером Internet Explorer

Другим, вариантом является использование утилиты командной строки

msxsl.exe
, которая также доступна на Web-сайте MSDN. Эта утилита есть не более чем оболочка для MSXML, позволяющая вызывать основной компонент из командной строки.

Использование

msxsl.exe
совершенно стандартно: для применения преобразования
stylesheet.xsl
к документу
source.xml
и вывода результата в файле
result.xml
нужно выполнить следующую команду:

msxsl.exe source.xml stylesheet.xsl -о result.xml

Расширения

MSXML поддерживает пользовательские функции расширения, которые могут быть написаны на скриптовых языках VBScript и JScript и включены непосредственно в сами преобразования.

Пример
Листинг П1.3. Входящий документ

<?xml version="1.0" encoding="windows-1251"?>

<page>Сегодня <date/>.</page>

Листинг П1.4. Преобразование

<xsl:stylesheet version="1.0"

  • Читать дальше
  • 1
  • ...
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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