width='0'
height='0'
classid='clsid:f5078f32-c551-11d3-89b9-0000f81fe221'>
<param name='async' value='false'>
<param name='validateOnParse' value='false'>
</object>
<a href='javascript:expand(' ')'>Каталог</а>
<!-- В этом элементе мы будем выводить результат -->
<div id='result'/>
</body>
</html>
В браузере эта страница будет выглядеть следующим образом (рис. 9.10).

Рис. 9.10. Динамический каталог на HTML с использованием JavaScript, MSXML на основе XML и XSLT
Выполнение XSLT-преобразований в VBScript/ASP
Использование MSXML на стороне сервера не сильно отличается от клиентской версии, которую мы разобрали выше. Поскольку MSXML является стандартным СОМ-объектом, его можно использовать в любом языке программирования, умеющем работать с COM. В следующем примере будет показано, как можно использовать MSXML в ASP-странице, написанной на языке VBScript. Мы напишем небольшое Web- приложение, которое позволит отправлять короткие сообщения (SMS) через разные службы, используя один интерфейс.
Почти у всех операторов мобильной связи формы для отправки сообщений более или менее стандартны, например:
<form action=' http://www.bmtelecom.ru/wap/xm.php?snd=1 ' method='POST'>
<input type='hidden' name='num' value='
<textarea rows='10' cols='50' name='msg'>
<br><br>
<input class='flat' type='submit' value='Послать сообщение'>
</form>
При этом различаться могут адреса служб отправки сообщений, методы отправки форм и наименования полей ввода. Все это мы можем описать в отдельном документе.
<services>
<service id='MTNSMS'>
<action>http://www.mtnsms.com/sendsms.php</action>
<method>GET</method>
<text>msg</text>
<number>num</number>
</service>
<service id='SMSHost'>
<action>http://www.smshost.net/servlets/sms</action>
<method>POST</method>
<text>message</text>
<number>phone</number>
</service>
</services>
Контакт-лист после этого может быть оформлен следующим образом.
<?xml version='1.0' encoding='windows-1251'?>
<people>
<person id='p1'>
<name>Иван Иванович</name>
<number>18005557684</number>
<service id='MTNSMS'/>
</person>
<person id='p2'>
<name>Иван Никифорович</name>
<number>447856273447</number>
<service id='SMSHost'/>
</person>
</people>
Преобразование, генерирующее HTML-страницу с формой отправки можно задать как.
<?xml version='1.0' encoding='windows-1251'?>
<xsl:stylesheet
version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transfоrm'>
<xsl:output
method='html'
indent='yes'
encoding='windows-1251'/>
<!-- Параметр, указывающий выбранного адресата, по умолчанию - p1 -->
<xsl:param name='id' select='p1'/>
<xsl:template match='/'>
<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'/>
<!-- Создаем форму для выбранного адресата -->