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

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

Шрифт:

<html>

<xsl:call-template name="head"/>

<body>

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

</body>

</html>

 </xsl:template>

 <xsl:template match="people">

<!-- Создаем список адресатов -->

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

<!-- Создаем форму для выбранного адресата -->

<xsl:apply-templates select="person[@id=$id]" mode="form"/>

 </xsl:template>

 <xsl:template match="person">

<!-- Если текущий адресат выбран -->

<xsl:if test="@id = $id">

<!-- Выводим его имя в квадратных скобках и без гиперссылки -->

<xsl:text>&#xA0;[&#хА0;</xsl:text>

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

<xsl:text>&#xA0;]&#xA0;</xsl:text>

</xsl:if>

<!-- Если адресат не выбран -->

<xsl:if test="@id != $id">

<!-- Выводим его имя без скобок и с гиперссылкой -->

<xsl:text>&#xA0;&#хА0;&#хА0;</xsl:text>

<A href="#">

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

</A>

<xsl:text>&#xA0;&#xA0;&#xA0;</xsl:text>

</xsl:if>

 </xsl:template>

 <!-- Шаблон создания формы для выбранного адресата -->

 <xsl:template match="person" mode="form">

<!--

| Находим элемент, описывающий параметры службы отправки сообщений

| текущему адресату

+-->

<xsl:variable name="service"

select="document('services.xml')/services/

service[@id = current/service/@id]"/>

<br/>

<form

action="{$service/action}" method="{$service/method}">

<input type="hidden"

name="{$service/number}"

value="{number}"/>

<textarea class="no-scrollbar" rows="10" cols="50"

name="{$service/text}"/>

<br/>

<input class="flat" type="submit" value="Послать сообщение"/>

</form>

 </xsl:template>

 <xsl:template name="head">

<head>

<title>SMS Center</title>

<link rel="stylesheet" type="text/css" href="#"/>

</head>

 </xsl:template>

</xsl:stylesheet>

Теперь дело осталось за ASP-страницей, которая применяла бы преобразование

stylesheet.xsl
к документу
source.xml
и возвращала результат клиенту.

Листинг 9.12. ASP-страница, использующая XSLT-преобразования

<%@ LANGUAGE = VBScript %>

<%

 ' Загружаем входящий документ

 Dim source

 Set source = Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")

 source.load Server.MapPath("source.xml")

 ' Загружаем преобразование

 Dim stylesheet

 Set stylesheet =

Server.CreateObject("MSXML2.FreeThreadedDOMDocument.3.0")

 stylesheet.load Server.MapPath("stylesheet.xsl")

  • Читать дальше
  • 1
  • ...
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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