尾随空格



我有一个尾随空白,我很好奇如何摆脱,尝试了一些不同的方法。这是代码

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output 
 indent="no"
 method="text"/>
 <xsl:template match="/"> 
Famous Mountains of the World
<xsl:apply-templates />
    </xsl:template>
    <xsl:template match="mountain">
Mountain Name:<xsl:value-of select="name[@language='English'] "/>
Mountain Name:(<xsl:value-of select="name[@language='PigLatin'] "/>)
Location:<xsl:value-of select="location"/>
Height:<xsl:value-of select="height"/></xsl:template>
 </xsl:stylesheet>

这就是我想把它扑灭的方式。

Mountain Name:Mount Everest
Mountain Name:(ountMa verestEa)
Mountain Name:Mount Ranier
Mountain Name:()
Mountain Name:Mount St. Helens
Mountain Name:()
相反,它输出:
Mountain Name:Mount Everest
Mountain Name:(ountMa verestEa)
Mountain Name:Mount Ranier
Mountain Name:()
Mountain Name:Mount St. Helens
Mountain Name:()

   Mountain Name:Mount Everest
Mountain Name:(ountMa verestEa)
Mountain Name:Mount Ranier
Mountain Name:()
Mountain Name:Mount St. Helens
Mountain Name:()

如果我使用xsl:text和xsl:strip-space elements="*"不能帮助处理缩进

有什么办法摆脱多余的空间吗?任何帮助都是莫大的帮助。一直在烦我。

很可能XSLT中的换行符在输出中被解释为文字换行符。尝试在xsl:text中包装文本输出或在xsl:value-of中使用concat()

例如,不用:

Mountain Name:<xsl:value-of select="name[@language='English'] "/>

试一下:

<xsl:text>Mountain Name:</xsl:text>
<xsl:value-of select="name[@language='English'] "/>

或:

<xsl:value-of select="concat('Mountain Name:',name[@language='English'])"/>

尝试在<xsl:stylesheet>标签内添加<xsl:strip-space elements="*"/>。告诉xslt去除空格不会导致它去除所有空白,但我认为它会达到您想要的效果。要对空格进行更细粒度的控制,您可以为它提供一个特定元素的列表,或者甚至使用normalize-space() xpath谓词。

相关内容

  • 没有找到相关文章

最新更新