xml – XSLT为什么是 出现在我的hrefs?

前端之家收集整理的这篇文章主要介绍了xml – XSLT为什么是 出现在我的hrefs?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" omit-xml-declaration="yes" />
    <xsl:strip-space elements="*"/>
    <xsl:template match="@* | node()">
        <xsl:copy>

          <html>
            <body>
            <xsl:for-each select="AdvReqIMailMsg">

              <a><xsl:attribute name="href">
                  http://<xsl:value-of select="BackSideUrl"/>/customerlogin.asp?P=<xsl:value-of select="DynaCalPath"/></xsl:attribute >
                Login to View History of This Request
              </a>
              <br/>
            </xsl:for-each>
            </body>
          </html>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

结果如下:

<a href="&#xA;                  http://dotnet.dynacal.com/customerlogin.asp?P=DEMO8">
                Login to View History of This Request
              </a>

为什么& #xA;那里的所有空间?我是XSLT的新手,我的谷歌搜索没有改变我理解的东西.
谢谢,
肖恩

只需使用:
<a href="http://{BackSideUrl}/customerlogin.asp?P={DynaCalPath}">
           Login to View History of This Request
</a>

这(使用AVT – 属性 – 值 – 模板)更短,更易读.

几乎所有答案中都解释了报告行为的原因是属性href的值(部分)来自包含NL字符的文本节点.

这些问题是由纯粹的人类心理现象引起的:我们清楚地看到NL只要它被非白色空间包围,但是每当NL处于一个文本块的开头或结尾时我们都是NL盲.任何XSLT / XML IDE都可以在请求组中显示特殊的“不可见”字符,例如NL和CR.

猜你在找的XML相关文章