Исправление ошибок, возникающих при проверке сайта валидатором (XSLT)

Материал из Umicms
Перейти к:навигация, поиск

Статья актуальна для версии 2.9.21905 В данной статье представлено решение часто возникающих ошибок, которые появляются при проверке сайта на 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"/>