Причина в том, что после </collab>
ваш исходный XML фактически содержит текстовый узел, содержащий символ новой строки, 4 пробела и (
(и после этого year
элемент).
Эти "невидимые" символы отображаются в HTML как один пробел.
Одним из возможных решений является добавление шаблона, соответствующего text()
, и создание выходных данных с раздетым начальным / конечным "белым""chars:
<xsl:template match="text()">
<xsl:value-of select="normalize-space()"/>
</xsl:template>
На самом деле, normalize-space()
также меняет каждую последовательность" белых "символов в середине текстового узла на один пробел.
Возможно, вам также следует добавить <xsl:strip-space elements="*"/>
в начале вашего сценария XSLT (на самом деле, после xsl:output
).
Но учтите, что это изменение также уберет пробел между bridge: и Введение ... .
Чтобы оставить это место, вы должны добавить его явно.Просто добавьте <xsl:text> </xsl:text>
перед <strong>
, и ваш вывод будет в порядке.