gpt4 book ai didi

xslt - 删除 xsl 中的空白

转载 作者:行者123 更新时间:2023-12-02 08:54:01 25 4
gpt4 key购买 nike

如何消除在破坏链接的“位置”元素之后添加的空格? IE:“/location toxxx.aspx”XML

- <Root>
<Schema>
<Field Type="Text" DisplayName="Location" Required="FALSE" MaxLength="255" Name="Location" />
<Field Type="Currency" DisplayName="Price one way-saloon" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_one_x0020_way" />
<Field Type="Currency" DisplayName="Price return-saloon" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_return" />
<Field ReadOnly="TRUE" Type="Computed" Name="LinkTitle" DisplayName="Location id" />
<Field Type="Currency" DisplayName="Price one way-estate" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_one_x0020_way_x002d_" />
<Field Type="Currency" DisplayName="Price return-estate" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_return_x002d_estate" />
<Field Type="Currency" DisplayName="Price one way-MPV" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_one_x0020_way_x002d_0" />
<Field Type="Currency" DisplayName="Price return-MPV" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_return_x002d_MPV" />
<Field Type="Currency" DisplayName="Price one way-MPV+" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_one_x0020_way_x002d_1" />
<Field Type="Currency" DisplayName="Price return-MPV+" Required="FALSE" Decimals="0" LCID="2057" Name="Price_x0020_return_x002d_MPV_x00" />
</Schema>
<Data ItemCount="1">
<Row Location="" Price_x0020_one_x0020_way="" Price_x0020_return="" LinkTitle="" Price_x0020_one_x0020_way_x002d_="" Price_x0020_return_x002d_estate="" Price_x0020_one_x0020_way_x002d_0="" Price_x0020_return_x002d_MPV="" Price_x0020_one_x0020_way_x002d_1="" Price_x0020_return_x002d_MPV_x00="" />
</Data>
</Root>

XSL

 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/">
<div id="locations">
<ul id ="navbar" class="MSC_PrimaryNavFrame">
<li><a href="#"><b>Going to Heathrow?<br />Find your fare fast!</b></a>
<ul class="locations">
<xsl:for-each select="//Data/Row">
<li><a><xsl:attribute name ="href"><xsl:value-of select="@Location"/>_toheathrow.aspx</xsl:attribute>
<xsl:value-of select = "@Location" />
</a>
</li>
</xsl:for-each>
</ul>
</li>
</ul>
</div></xsl:template>
</xsl:stylesheet>

抱歉,如果我没有正确发布代码 - 如果我留下换行符,它会删除部分内容。

最佳答案

至少有三种不同的方法可以做到这一点:

  1. 使用 AVT ( Attribute-Value Templates ) -- 推荐

        <li>
    <a href="{@Location}toheathrow.aspx">
    <xsl:value-of select = "@Location" />
    </a>
    </li>
  2. 使用标准 XPath 函数 concat() :

--

<a>
<xsl:attribute name="href">
<xsl:value-of select=
"concat(@Location,'toheathrow.aspx')"/>
</xsl:attribute>
<xsl:value-of select = "@Location" />
</a>

.3。 使用 Xslt 指令 <xsl:text> :

--

<a>
<xsl:attribute name="href">
<xsl:value-of select="@Location"/>

<xsl:text>toheathrow.aspx</xsl:text>
</xsl:attribute>
<xsl:value-of select = "@Location" />
</a>

.4。 此外,在 XSLT 2.0 中,可以使用 select <xsl:attribute> 上的属性说明:

<li>
<a>
<xsl:attribute name="href"
select="concat(@Location, 'toheathrow.aspx')"/>
<xsl:value-of select = "@Location" />
</a>
</li>

我建议在可能的情况下始终使用 AVT——从而使代码更短、更简单且更易于理解。

关于xslt - 删除 xsl 中的空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com