13 Сообщения
<!-- Category:
instruction -->
<xsl:message
terminate = "yes" |
"no">
<!-- Content: template
-->
</xsl:message>
Инструкция xsl:message
посылает сообщение, причем способ отправки зависит от XSLT процессора. Содержимое инструкции xsl:message
является шаблоном. xsl:message
обрабатывается путем подстановки его содержимого в создаваемый XML фрагмент. Этот XML фрагмент является содержимым посылаемого сообщения.
Замечание: XSLT процессор может реализовывать элемент xsl:message
, открывая окно с предупреждением, либо делая запись в log-файле.
Если атрибут terminate
имеет значение yes
, то после посылки сообщения XSLT процессор должен завершить обработку. Значением по умолчанию является no
.
Одним из удобных способов локализации состоит в том, чтобы поместить локализованную информацию (текст сообщения и прочего) в некий XML документ, который станет для стиля дополнительным входным файлом. Предположим к примеру что сообщение для языка L
помещено в XML-файл resources/L.xml
в следующем формате:
<messages>
<message name="problem">A problem was detected.</message>
<message name="error">An error was detected.</message>
</messages>
В этом случае для локализации сообщений стиль может использовать следующий прием:
<xsl:param name="lang" select="en"/>
<xsl:variable name="messages"
select="document(concat('resources/', $lang, '.xml'))/messages"/>
<xsl:template name="localized-message">
<xsl:param name="name"/>
<xsl:message>
<xsl:value-of select="$messages/message[@name=$name]"/>
</xsl:message>
</xsl:template>
<xsl:template name="problem">
<xsl:call-template name="localized-message"/>
<xsl:with-param name="name">problem</xsl:with-param>
</xsl:call-template>
</xsl:template>
Назад |
Содержание |
Вперед