【问题标题】:White space not removing after using normalized-space in XSLT在 XSLT 中使用规范化空间后未删除空格
【发布时间】:2017-08-29 22:21:22
【问题描述】:

以下是我用 XSLT 编写的代码:

<FIELD>
    <ID>ID</ID>
    <VALUE>
        <xsl:value-of select="normalize-space(Name)"/>
    </VALUE>
</FIELD>   

实际输出:

<FIELD>
    <ID>ID</ID>
    <VALUE>  JonSnow </VALUE>
</FIELD>  

预期输出:

<FIELD>
    <ID>ID</ID>
    <VALUE>JonSnow</VALUE>
</FIELD>   

如何在 XSLT 的 VALUE 标记中删除不需要的空间?我已经在这里编码了 normalize-space?

【问题讨论】:

  • 请向我们展示输入,以便我们尝试重现问题。还将上下文添加到您的 XSLT。
  • 实际上我从 java 获取 $name 并在 xslt 中为 SAP PO 显示相同的内容。但在此之后,我认为这个值之间存在比较,因为值比较中的空间不起作用。
  • 恐怕我不明白你的意思。如果您不提供重现问题的方法,则不可能有好的答案 - 请参阅:minimal reproducible example

标签: xslt whitespace space removing-whitespace


【解决方案1】:

你可以用这个:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="2.0">

    <!-- Identity Transformation -->
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="VALUE">
        <xsl:copy>
            <xsl:value-of select="normalize-space(.)"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

【讨论】:

  • 我从未在 xslt 工作过。你能在我的代码中添加代码并给我工作代码吗?
  • @Coder1 因为我不知道您使用什么代码,但您可以使用
  • @Coder1 也当您评论您在变量中获得值时,您可以使用
  • :variable> ID值> 字段>
  • 这是场景。
猜你喜欢
  • 1970-01-01
  • 2016-02-27
  • 1970-01-01
  • 2018-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多