person id="p1">
Иван Иванович
18005557684
Иван Никифорович
447856273447
Преобразование, генерирующее HTML-страницу с формой отправки можно задать как.
Листинг 9.11. Преобразование stylesheet.xsl
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transfоrm">
method="html"
indent="yes"
encoding="windows-1251"/>
[хА0;
]
хА0;хА0;
select="document('services.xml')/services/
service[@id = current()/service/@id]"/>
action="{$service/action}" method="{$service/method}">
name="{$service/number}"
value="{number}"/>
name="{$service/text}"/>
SMS Center
Теперь дело осталось за 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")
' Создаем объект XSLTemplate для преобразования
Dim templates
Set templates = Server.CreateObject("MSXML2.XSLTemplate")
templates.stylesheet = stylesheet.documentElement
' Создаем объект XSLT-процессора
Dim processor
Set processor = templates.createProcessor
processor.input = source
' Присваиваем параметру id значение параметра запроса id
' (то, что передано в sms.asp?id=...)
processor.addParameter "id", "" + Request.QueryString("id"), ""
' Выполняем преобразование
processor.transform
' Возвращаем результат
Response.Charset = "windows-1251"
Response.Write processor.output
%>
На рис. 9.11 показаны результаты работы
sms.asp
для id=p1
и id=p2
.Рис. 9.11. Внешний вид страницы, возвращаемой
sms.asp
При вызове страницы
sms.asp
или sms.asp?id=p1
форма отправки сообщений будет сгенерирована в следующем виде:
Для
sms.asp?id=p2
форма будет иметь вид:
Выполнение XSLT-преобразований в Python
Пример использования XSLT-преобразований в Python, который мы продемонстрируем ниже, будет основываться на использовании библиотек 4Suite и PyXML.
Простейший скрипт, преобразующий документ
source.xml
при помощи преобразования