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

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

Шрифт:

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

 xmlns:msxsl="urn:schemas-microsoft-com:xslt"

 xmlns:ext="urn:extension-functions"

 exclude-result-prefixes="msxsl ext">

 <xsl:output encoding="windows-1251"/>

 <msxsl:script

language="JavaScript"

implements-prefix="ext">

function date {

now = new Date;

return now.getDate + '.' +

(now.getMonth + 1) + '.' +

now.getYear;

}

 </msxsl:script>

 <xsl:template match="/">

<html>

<head>

<title>Today is page</title>

</head>

<body>

<xsl:apply-templates/>

</body>

</html>

 </xsl:template>

 <xsl:template match="date">

<xsl:value-of select="ext:date"/>

 </xsl:template>

</xsl:stylesheet>

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

<html>

 <head>

<META

http-equiv="Content-Type"

content="text/html;

charset=windows-1251">

<title>Today is page</title>

 </head>

 <body>Сегодня 18.10.2001.</body>

</html>

Как и во многих других процессорах, в MSXML предусмотрена функция расширения

node-set
, которая преобразует результирующий фрагмент дерева во множество узлов. Функция
node-set
принадлежит пространству имен с URI "
urn:schemas-microsoft-com:xslt
", и стандартным сценарием ее использования будет примерно следующий:

<xsl:stylesheet

 version="1.0"

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

 xmlns:msxsl="urn:schemas-microsoft-com:xslt"

 exclude-result-prefixes="msxsl ">

 <!-- ...
– ->

 <xsl:variable name="tree">

<!-- Переменная, содержащая результирующий фрагмент дерева -->

<item>A</item>

<item>B</item>

 </xsl:variable>

 <!-- ...
– ->

 <xsl:template ... >

<!-- Обращение к $tree, как ко множеству узлов -->

<xsl:value-of select="msxsl:node-set($tree)/item[1]"/>

 </xsl:template>

</xsl:stylesheet>

К сожалению, текущая версия MSXML не поддерживает расширение пользовательскими элементами.

Процессор Xalan

Основные характеристики.

□ Платформы: Java, С++.

□ Расширения: функции и элементы расширения.

□ Полнота реализации: один из наиболее проработанных процессоров. □ Разработчик: Apache XML Project.

□ URL: http://xml.apache.org.

Xalan — это очень известный XSLT-процессор, созданный в рамках Apache XML Project для языковых платформ Java и С++. Xalan, как и остальные продукты Apache XML Project, поставляется с открытым исходным кодом и открытым API, что делает его очень привлекательным для интеграции в другие приложения.

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

По сути дела, Xalan Java и Xalan C++ — это библиотеки, позволяющие использовать XSLT-преобразования в собственных проектах. Xalan Java поддерживает набор интерфейсов TrAX (от англ. transformation API for XML — программный интерфейс преобразований для XML), определяющий стандартные модели и методы преобразования XML-документов в Java-программах.

Помимо этого, и Xalan Java и Xalan С++ предусматривают возможность выполнения преобразований из командной строки. Для Xalan Java стандартный вызов будет выглядеть так:

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

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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