XSLT с xsl:text
, содержащим один (или несколько) пробелов, не печатает пробелы в MarkLogic 9.0-9.Смотрите следующий пример:
xquery version "1.0-ml";
let $doc :=
<doc>
<foo>foo</foo>
<bar>bar</bar>
</doc>
let $xsl :=
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="text" omit-xml-declaration="yes" indent="no" />
<xsl:template match="doc">
<xsl:value-of select="foo"/>
<xsl:text> </xsl:text>
<xsl:value-of select="bar"/>
</xsl:template>
</xsl:stylesheet>
return xdmp:xslt-eval($xsl, $doc) = "foo bar"
Возвращает false.Результат - "foobar".Я действительно ожидал "Foo Bar".Я также пробовал с <xsl:text xml:space="preserve"> </xsl:text>
, но это тоже не работает.
В качестве обходного пути я в настоящее время использую <xsl:value-of select="' '"/>
, который работает нормально, но мне интересно, если это ошибка?При использовании того же преобразования и документа в Saxon печатается пробел.