Способ вывода действительного HTML с помощью XSLT состоит в использовании инструкции <xsl:output>
с атрибутом method
, установленным в html
.
Вот небольшой пример:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<div>
<xsl:apply-templates select="x/y/z"/>
</div>
</xsl:template>
</xsl:stylesheet>
когда это преобразование применяется к следующему документу XML :
<t/>
желаемый результат получается (один и тот же результат получают 8 разных процессоров XSLT, с которыми я работаю):
<div></div>
В случае, если нежелательный вывод происходит только с определенным процессором XSLT, тогда это проблема реализации с этим конкретным процессором и скорее вопросом «xsltprocessors», чем «xslt».