HTML5 в XSLT-шаблоне

Содержание

Задача

По работе встала задача использовать HTML5 для шаблонизатора XSLT.

XSLT обязывает всегда закрывать теги, даже непарные, а вот в HTML5 такие формальности ни к чему. С одной стороны это здорово экономит время верстальщика, но с другой стороны это уже невалидный XML-документ. XSLT такое не переварит, а жаль.

Для того чтобы XML- документ был валидным нужно закрывать все непарные теги, т.е. для картинки это будет как <img src='' alt='' />. Здесь ничего нового.

Первая строчка HTML5 страницы <!DOCTYPE html>. Она необходима для корректной обработки страницы браузером. Как ее сделать?

Если вы хотите полностью понять что к чему, то идем на w3.org. Здесь нас интересует:

Решение

Определяем решение:

<xsl:output 
  method="html"
  encoding="UTF-8"
  indent="yes"
  cdata-section-elements="script noscript"
  undeclare-namespaces="yes"
  omit-xml-declaration="yes"
  doctype-system="about:legacy-compat"
/>