HTML5 в XSLT-шаблоне UMI.CMS

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

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

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

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

Так как у нас Юми, то первым делом смотрим доки и находим ответ в wiki. Но если вы хотите полностью понять что к чему, то идем на w3.org.

Здесь нас интересует:

  1. http://www.w3.org/TR/xslt#output - в частности атрибуты тега output
  2. http://www.w3.org/TR/html5/syntax.html#the-doctype - для систем не способных гегерировать короткий doctype <!DOCTYPE html>надо использовать <!DOCTYPE html SYSTEM "about:legacy-compat">или <!DOCTYPE html SYSTEM 'about:legacy-compat'>

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

<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"
/>
Назад к списку новостей