Практикум 3.1. Трансформация первого XML-документа

Для трансформации XML-документов необходимо иметь следующее:

- исходный XML-документ подлежащий трансформации;

- расширяемую таблицу стилей для трансформации;

- и программное обеспечение, которое будет выполнять трансформацию.

Произведем трансформацию первого XML-документа (pr_3_1.xml), используя расширяемую таблицу стилей для трансформации (pr_3_1.xsl) и программное обеспечение написанное Джеймсом Кларком (xt.exe).

1. Наберите следующий код в Notepad и сохраните на жестком диске под именем pr_3_1.xml.

<?xml version = '1.0'?> <name> <lastName>Shilin</lastName> <firstName>Aleksey</firstName> </name>

2. Наберите следующий код в Notepad и сохраните на жестком диске под именем pr_3_1.xsl.

<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/"> <h1> <xsl:value-of select="/name/lastName"/> </h1> <h2> <xsl:value-of select="/name/firstName"/> </h2> </xsl:template> </xsl:stylesheet>

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. Трансформация первого XML-документа - student2.ru
Рис. 3.1. Выполненный файл pr_3_1.html

Практикум 3.2. Инструкция <xsl:apply-templates> в действии.

Итак, допустим необходимо, все дочерние элементы <name> сделать жирным, а фамилию жирным, да еще и курсивом.

1. Возьмем пример pr_3_1.xml и попробуем создать таблицу стилей для преобразования его в HTML файл. На первый взгляд кажется, что следующая таблица стилей решает эту задачу.

2.

 
 
<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="name"> <b> <xsl:value-of select="."/> </b> </xsl:template> <xsl:template match="lastName"> <i> <xsl:value-of select="."/> </i> </xsl:template> </xsl:stylesheet>

3. Практикум 3.1. Трансформация первого XML-документа - student2.ru
Выполните трансформацию при помощи утилиты 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.1. Трансформация первого XML-документа - student2.ru

Рис. 3.3. Выполненный файл pr_3_2_2.html

7. Еще один способ сделать тоже самое, для каждого элемента сделать свой шаблон

8.

 
  Практикум 3.1. Трансформация первого XML-документа - student2.ru

Пример таблицы стилей показан ниже:

9. Выполните преобразование в файл pr_3_2_3.html


Наши рекомендации