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

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

Шрифт:

<xsl:choose>

<xsl:when test="NAME">

<sql:insert table="planets"

xsl:extension-element-prefixes="sql">

<sql:column name="Name" select="NAME"/>

<sql:column name="Mass" select="MASS"/>

<sql:column name="Radius" select="RADIUS"/>

<sql:column name="Day" select="DAY"/>

</sql:insert>

</xsl:when>

<xsl:otherwise>

<sql:insert table="planets"

xsl:extension-element-prefixes="sql">

<sql:column name="Name" select="' '"/>

<sql:column name="Mass" select="' '"/>

<sql:column name="Radius" select="' '"/>

<sql:column name="Day" select="' '"/>

</sql:insert>

</xsl:otherwise>

 </xsl:choose>

</xsl:template>

</xsl:stylesheet>

Эта таблица стилей правильно добавляет три записи в базу данных

planets.mdb
: по одной новой записи для каждой из планет. Как я говорил, здесь нельзя использовать готовый исполняемый файл
saxon.exe
, нужно применять класс Java
com.icl.saxon.StyleSheet
. Сначала нужно включить в
classpath
файл
saxon.jar
:

C:\>set classpath=.;c:\saxon\saxon.jar

После этого я могу передать в класс

com.icl.saxon.StyleSheet
файл
planets.xml
и таблицу стилей из листинга 10.11:

C:\>java com.icl.saxon.StyleSheet planets.xml saxonsql.xsl

Теперь все сделано — данные планет вставлены в

planets.mdb
. Результаты применения этой таблицы стилей показаны на рис. 10.4, где я открыл
planets.mdb
в Microsoft Access. Таким образом, мы рассмотрели преобразование из XML в реляционную базу данных.

Рис. 10.4. Применение расширений SQL Saxon

Еще один аспект XSLT, в котором вам потребуется программирование, это поддержка XSLT на серверах. В качестве демонстрации далее я преобразую

planets.xml
при помощи
planets.xsl
с использованием активных серверных страниц (Active Server Pages, ASP) фирмы Microsoft, серверных страниц Java (Java Server Pages, JSP) фирмы Sun и сервлетов (servlet) Java, выполняющихся на web-серверах и возвращающих результирующий документ браузеру пользователя.

За недостатком места мы не можем подробно рассмотреть эти технологии, и если вы с ними не знакомы, вы можете получить дополнительную информацию в Интернете (как всегда, URL могут измениться):

• ASP.(руководство и документация по ASP фирмы Microsoft);

• JSP.(главная страница Sun, посвященная JSP);

• Сервлеты.(главная страница Sun, посвященная сервлетам).

Применение XSLT с активными серверными страницами

Активные серверные страницы (Active Server Pages, ASP) выполняются на серверах Microsoft Windows NT или 2000, поэтому в ближайшем примере для преобразования

planets.xml
при помощи
planets.xsl
и возврата результата в виде документа HTML я воспользуюсь процессором Microsoft MSXML.

Это все то же преобразование, которое нам уже много раз встречалось, — создание HTML-таблицы данных о планетах — но на этот раз преобразование будет выполнено на web-сервере, который затем отправит его пользователю. В начале сценария ASP я установил тип содержимого MIME результирующего документа в «

text/html
», поэтому он будет трактоваться как HTML:

<%@LANGUAGE="VBScript"%>

<%

 Response.ContentType = "text/html"

 .

 .

 .

Затем, во многом аналогично предыдущим примерам в этой главе с JavaScript, я создаю два объекта документа MSXML, один для документа XML, а другой — для документа XSL:

<%@LANGUAGE="VBScript"%>

<%

 Response.ContentType = "text/html"

  • Читать дальше
  • 1
  • ...
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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