Реализация XSLT преобразования XML документа в XHTML средствами браузера.
- Создайте файл ttable.xml следующего содержания:
2. <?xml version="1.0"?>
3. <?xml-stylesheet type="text/xsl" href="ttable.xsl"?>
4. <timetable>
5. <lesson>
6. <timeFrom>09.30</timeFrom>
7. <timeTo>11.00</timeTo>
8. <subject>Deutsch</subject>
9. <teacher>Borisova</teacher>
10. </lesson>
11. <lesson>
12. <timeFrom>11.10</timeFrom>
13. <timeTo>12.20</timeTo>
14. <subject>SAP Administration</subject>
15. <teacher>Petrov</teacher>
16. </lesson>
17. <lesson>
18. <timeFrom>12.40</timeFrom>
19. <timeTo>14.00</timeTo>
20. <subject>SAP Administration</subject>
21. <teacher>Ivanov</teacher>
22. </lesson>
23. <lesson>
24. <timeFrom>14.00</timeFrom>
25. <timeTo>15.20</timeTo>
26. <subject>Wen-technology</subject>
27. <teacher>Loktev</teacher>
28. </lesson>
</timetable>
- Подготовьте для него соответствующий файл таблицы стилей (ttable.xsl):
30.<?xml version="1.0" encoding="ISO-8859-1"?>
31.
32.<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
33.
34.<xsl:template match="/">
35. <html>
36. <body>
37. <h2>My academical timetable</h2>
38. <table border="1">
39. <tr bgcolor="#a5abfa">
40. <th align="left">Time From</th>
41. <th align="left">Subject</th>
42. <th align="left">Teacher</th>
43. </tr>
44. <xsl:for-each select="timetable/lesson">
45. <tr>
46. <td><xsl:value-of select="timeFrom"/></td>
47. <td><xsl:value-of select="subject"/></td>
48. <td><xsl:value-of select="teacher"/></td>
49. </tr>
50. </xsl:for-each>
51. </table>
52. </body>
53. </html>
54.</xsl:template>
</xsl:stylesheet>
Первая строка в файле ttable.xml вида:
<?xml-stylesheet type="text/xsl" href="ttable.xsl"?>
представляет собой ссылку на подходящую таблицу стилей.
В данном примере для описания шаблона был использован элемент <xsl:template>.
Атрибут match применяется для связывания XML элемента с шаблоном. Значение атрибута match является выражение XPath. В данном случает match="/" указывает на весь документ.
Содержимое элемента <xsl:template> описывает фрагмент HTML кода в выходном документе. Элемент <xsl:value-of> может быть использован для извлечения значения XML элемента и добавления его в выходной поток при преобразовании. Значение атрибута select является выражением XPath, которое напоминает нотацию, используемую в файловой системе; знак (/) указывает на обращение к подкаталогу.
Элемент <xsl:for-each> позволяет выбирать каждый элемент XML указанного множества узлов.
- При наличии подходящего браузера можно будет увидеть следующий результат после загрузке файла ttable.xml:
Для фильтрации вывода элементов можно добавить атрибут элемента <xsl:for-each>, задающий критерий отбора элементов. Например:
<xsl:for-each select="timetable/lesson[subject=' SAP Administration']">
Проверьте работу данного фильтра.
Допустимо использование следующих операторов для описания фильтра:
- = (равно)
- != (не равно)
- < (меньше чем)
- > (больше чем)
Дата добавления: 2015-12-29; просмотров: 850;