Главная » Java, Web, XML » Преобразование документа XML в HTML

0

С помощью языка XSL и методов класса Transformer можно легко преобразовать документ XML в документ HTML. Достаточно написать соответствующую таблицу стилей. В листинге 1.14 показано, как это можно сделать для адресной книжки листинга 1.2.

Листинг 1.14. Таблица стилей для преобразования XML в HTML              !

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

<xsl:stylesheet version="l.О"

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

<xsl:output method="html" encoding="Windows-1251"/>

<xsl: template match="/">

<htmlxheadxtitle>AflpecHaH KHH/KKa</title></head> <body><h2>Фaмилии, адреса и телефоны</112>

<xsl:apply-templates /> </bodyx/html>

</xsl:template>

<xsl:template match="name">

<p />

<xsl:value-of select="@first" /> <xsl:text> </xsl:text> <xsl:value-of select="@second" /> <xsl:text> </xsl:text> <xsl:value-of select="@surname" /> <br />

</xsl:template»

<xsl:template match="address">

<br />

<xsl:value-of select="street" /> <xsl:text> </xsl:text> <xsl:value-of select="city" /> <xsl:text> </xsl:text> <xsl:value-of select="zip" /> <br />

</xsl:template»

<xsl:template match="phone-list">

Рабочий: <xsl:value-of select="work-phone" /> <br />

Домашний: <xsl:value-of select="home-phone" /> <br />

</xsl:template» </xsl:stylesheet»

Эту таблицу стилей можно записать в файл, например, ntb.xsl, и сослаться на него в документе XML, описывающем адресную книжку:

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

<?xml-stylesheet type="text/xsl" href="ntb.xsl"?> <notebco>k>

< ! — Содержание адресной книжки —>

После этого любой браузер, "понимающий" XML и XSLT, например, Mozilla или Internet Explorer, покажет содержимое адресной книжки как предписано листингом 1.14.

Если набрать в командной строке

$ java SimpleTransform ntb.xml ntb.xsl > ntb.html

то в текущем каталоге будет записан преобразованный HTML-файл.

 

Литература:

Хабибуллин И. Ш. Разработка Web-служб средствами Java. — СПб.: БХВ-Петербург, 2003. — 400 с: ил.

По теме:

  • Комментарии