Практикум 3.1. Трансформация первого XML-документа
Для трансформации XML-документов необходимо иметь следующее:
- исходный XML-документ подлежащий трансформации;
- расширяемую таблицу стилей для трансформации;
- и программное обеспечение, которое будет выполнять трансформацию.
Произведем трансформацию первого XML-документа (pr_3_1.xml), используя расширяемую таблицу стилей для трансформации (pr_3_1.xsl) и программное обеспечение написанное Джеймсом Кларком (xt.exe).
1. Наберите следующий код в Notepad и сохраните на жестком диске под именем pr_3_1.xml.
|
2. Наберите следующий код в Notepad и сохраните на жестком диске под именем pr_3_1.xsl.
|
3. Запустите командную строчку (Пуск/выполнить/cmd) и выполните следующую команду, указав путь к файлу xt.exe: C:\xt.exe pr_3_1.xml pr_3_1.xsl pr_3_1.html
4. В результате следующей трансформации на диске С появится файл pr_3_1.html, который в окне браузера будет выглядеть следующим образом:
Рис. 3.1. Выполненный файл pr_3_1.html
Практикум 3.2. Инструкция <xsl:apply-templates> в действии.
Итак, допустим необходимо, все дочерние элементы <name> сделать жирным, а фамилию жирным, да еще и курсивом.
1. Возьмем пример pr_3_1.xml и попробуем создать таблицу стилей для преобразования его в HTML файл. На первый взгляд кажется, что следующая таблица стилей решает эту задачу.
2.
|
3.
Выполните трансформацию при помощи утилиты xt.exe. Посмотрим, как будет выглядеть получившийся файл pr_3_2_1.html
4. Просмотрите файл pr_3_2_1.html в IE.
Рис. 3.2. Выполненный файл pr_3_2_1.html
Вся информация выглядит жирным, а имя хотелось бы еще и курсивом.
5. Введем новую инструкцию в нашу таблицу, шаблон выделен серым.
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
<xsl:template match="name"> <b> <xsl:apply-templates select="firstName"/> </b> <b> <xsl:apply-templates select="lastName"/> </b> </xsl:template> |
<xsl:template match="lastName"> <i> <xsl:value-of select="."/> </i> </xsl:template> </xsl:stylesheet> |
6. Выполним трансформацию в файл pr_3_2_2.html и посмотрим, что получилось.
Рис. 3.3. Выполненный файл pr_3_2_2.html
7. Еще один способ сделать тоже самое, для каждого элемента сделать свой шаблон
8.
Пример таблицы стилей показан ниже:
9. Выполните преобразование в файл pr_3_2_3.html