Под форматированием в языках разметки понимают указание в документе сведений, необходимых для его визуализации. Форматирование определяет вид документа, получаемый в устройстве вывода (обычно на экране дисплея)
Средствами форматирования в Web-технологиях являются каскадные таблицы стилей и языки форматирования. Специально разработанный для XML язык форматирования XSL (eXtensible Stylesheet Language) предоставляет более богатые возможности форматирования по сравнению с каскадными таблицами стилей CSS.
Указания по форматированию, выраженные средствами языка XSL, составляют XSL-таблицу, с помощью которой XML-документ преобразуется в HTML-страницу, отображаемую браузером. Использование XSL обеспечивает ряд преимуществ по сравнению с применением CSS, поскольку появляется возможность сортировать и фильтровать элементы документа при его выводе на экран. Кроме того, изменяя XSL-таблицу, можно один и тот же документ изображать по-разному в соответствии с потребностями конкретной ситуации.
В XSL шаблоны, по которым браузер определяет отображение элементов документа на экране, обрамляются выделенными для этого тегами, например, <xsl:template> и </xsl:template>. Шаблоны содержат правила, в которых указываются типы XML-элементов, к которым правило относится, и задаются инструкции отображения, например, аналогичные принятым в языке HTML. Шаблон может относиться ко всему XML-документу или к его части. В первом случае в теге <xsl:template> указывается атрибут match со значением "/": <xsl:template match="/">. Во втором случае значением атрибута match будет имя типа соответствующего XML-элемента.
В шаблонах можно использовать как HTML-элементы, так и XSL-элементы. Последние имеют вид
<xsl:имя_xsl_элемента имя_параметра="значение_параметра"/>
Например, значениями параметра с именем select могут быть типы отображаемых XML-элементов. В качестве имен XSL-элементов используются value-of (выбор для отображения текущего XML-элемента, тип которого указан в параметре select), for-each (команда отображения всех XML-элементов, тип которых указан в параметре select) и некоторые другие. Нужно отметить, что для сортировки XML-элементов используется параметр order-by, указываемый в XSL-теге <xsl:for-each>.
Таблица стилей помещается в отдельный файл, ссылка на который обычно включается в заголовок XML-документа и имеет вид:
<?xml-stylesheet type="text/xsl" href=путь_к_файлу?>