Исправление ошибок, возникающих при проверке сайта валидатором (XSLT)
Актуально для версии 2.9
В данной статье представлено решение часто возникающих ошибок, которые появляются при проверке сайта на UMI.CMS валидатором (например, http://validator.w3.org)
Ошибки, связанные с пространством имен UMI (there is no attribute "XMLNS:UMI"), решаются установкой для директивы clean-eip-attributes значения "1" в файле config.ini. Директива clean-eip-attributes предназначена для вырезания из конечного HTML-кода атрибутов из пространства имён "umi" (umi:method, umi:element-id и так далее) для неавторизованых пользователей.
Ошибки, связанные с пространством имен XLINK (there is no attribute "XMLNS:XLINK"), решаются добавлением атрибута exclude-result-prefixes="xlink" к узлу <xsl:stylesheet> в файле основного шаблона. В качестве значения для атрибута exclude-result-prefixes можно указать список из префиксов пространств имен, которые не попададут в конечный документ.
Пример <xsl:stylesheet>:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
xmlns:xlink="http://www.w3.org/TR/xlink"
exclude-result-prefixes = "xlink">
Ошибки, связанные с тем, что некоторые теги не закрыты, решаются добавлением атрибута method="xml" к узлу <xsl:output>.
Пример <xsl:output>:
<xsl:output encoding="utf-8" method="xml" indent="yes"/>