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'>текст сообщения</textarea>

 <br><br>

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

</form>

При этом различаться могут адреса служб отправки сообщений, методы отправки форм и наименования полей ввода. Все это мы можем описать в отдельном документе.

Листинг 9.9. Документ, описывающий формы служб отправки сообщений — services.xml

<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>

Контакт-лист после этого может быть оформлен следующим образом.

Листинг 9.10. Контакт-лист — документ source.xml

<?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-страницу с формой отправки можно задать как.

Листинг 9.11. Преобразование stylesheet.xsl

<?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'/>

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

Вы читаете Технология XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату