Преобразование XML с помощью XSLT
Обзор
Разделение содержимого и представления является ключевой особенностью дизайна XML. Структура документа XML предназначена для отражения и уточнения важных взаимосвязей между отдельными аспектами самого содержимого, не требуя указаний о том, как эти данные будут в конечном итоге представлены. Эта интеллектуальная структура особенно важна по мере автоматизации и передачи данных между крайне разнородными машинами, связанными сетью.
Тем не менее, большая часть данных, хранящихся в документах XML, в конечном итоге должна быть представлена человеческим читателям. Поскольку браузер предоставляет знакомый и гибкий интерфейс, он является идеальным механизмом для предоставления таких представлений содержимого XML. Разработанный с использованием широкого спектра технологий XML, Firefox включает в себя все необходимые механизмы для обработки как исходных документов XML, так и специальных таблиц стилей, используемых для форматирования и компоновки для отображения HTML, уменьшая нагрузку на сервер за счёт обработки на стороне клиента.
В настоящее время Gecko (движок отображения Firefox) поддерживает два вида таблиц стилей XML. Для базового управления внешним видом — шрифтами, цветами, позиционированием и т. д. — Gecko использует CSS.
Здесь мы фокусируемся на втором типе таблиц стилей, которые поддерживает Gecko: таблицы стилей XSLT. XSLT расшифровывается как eXtensible Stylesheet Language/Transform, и это название оправдано. XSLT позволяет автору таблицы стилей преобразовать основной документ XML двумя важными способами: манипулировать и сортировать содержимое, включая полную перестановку, если это необходимо, и преобразовывать содержимое в другой формат (и в случае Firefox — это фокус на его динамическом преобразовании в HTML, который затем может отображаться браузером).
Справочник по XSLT/XPath
Элементы
- xsl:apply-imports (поддерживается)
- xsl:apply-templates (поддерживается)
- xsl:attribute (поддерживается)
- xsl:attribute-set (поддерживается)
- xsl:call-template (поддерживается)
- xsl:choose (поддерживается)
- xsl:comment (поддерживается)
- xsl:copy (поддерживается)
- xsl:copy-of (поддерживается)
- xsl:decimal-format (поддерживается)
- xsl:element (поддерживается)
- xsl:fallback (не поддерживается)
- xsl:for-each (поддерживается)
- xsl:if (поддерживается)
- xsl:import (в основном поддерживается)
- xsl:include (поддерживается)
- xsl:key (поддерживается)
- xsl:message (поддерживается)
- xsl:namespace-alias (не поддерживается)
- xsl:number (частично поддерживается)
- xsl:otherwise (поддерживается)
- xsl:output (частично поддерживается)
- xsl:param (поддерживается)
- xsl:preserve-space (поддерживается)
- xsl:processing-instruction
- xsl:sort (поддерживается)
- xsl:strip-space (поддерживается)
- xsl:stylesheet (частично поддерживается)
- xsl:template (поддерживается)
- xsl:text (частично поддерживается)
- xsl:transform (поддерживается)
- xsl:value-of (частично поддерживается)
- xsl:variable (поддерживается)
- xsl:when (поддерживается)
- xsl:with-param (поддерживается)
Оси
Функции
- boolean() (поддерживается)
- ceiling() (поддерживается)
- concat() (поддерживается)
- contains() (поддерживается)
- count() (поддерживается)
- current() (поддерживается)
- document() (поддерживается)
- element-available() (поддерживается)
- false() (поддерживается)
- floor() (поддерживается)
- format-number() (поддерживается)
- function-available() (поддерживается)
- generate-id() (поддерживается)
- id() (частично поддерживается)
- key() (поддерживается)
- lang() (поддерживается)
- last() (поддерживается)
- local-name() (поддерживается)
- name() (поддерживается)
- namespace-uri() (поддерживается)
- normalize-space() (поддерживается)
- not() (поддерживается)
- number() (поддерживается)
- position() (поддерживается)
- round() (поддерживается)
- starts-with() (поддерживается)
- string() (поддерживается)
- string-length() (поддерживается)
- substring() (поддерживается)
- substring-after() (поддерживается)
- substring-before() (поддерживается)
- sum() (поддерживается)
- system-property() (поддерживается)
- translate() (поддерживается)
- true() (поддерживается)
- unparsed-entity-url() (не поддерживается)
Дополнительные материалы
Информация об исходном документе
- Информация об авторских правах: Авторские права © 2001-2003 Netscape. Все права защищены.
- Примечание: Данная перепечатанная статья первоначально была частью сайта DevEdge.
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/XSLT/Transforming_XML_with_XSLT