所有xslt文件抛出错误,名称中不能包含''字符,十六进制值0x20

时间:2019-02-25 20:21:32

标签: xml xslt sitecore

我有一些xslt文件,这些文件一直可以正常工作,直到今天它们突然开始引发错误为止。我查看了日志,这是我看到的错误消息:

A rendering error occurred: Xsl file could not be processed (details: System.Xml.XmlException: The ' ' character, hexadecimal value 0x20, cannot be included in a name.

这是我的xslt文件之一,用于面包屑组件:

  

<!-- output directives -->
<xsl:output method="xml" indent="no" encoding="UTF-8" />

<!-- parameters -->
<xsl:param name="lang" select="'en'"/>
<xsl:param name="id" select="''"/>
<xsl:param name="sc_item"/>
<xsl:param name="sc_currentitem"/>

<xsl:include href="./Includes/Navigation.xslt"/>

<!-- entry point -->
<xsl:template match="*">
  <xsl:apply-templates select="$sc_item" mode="main"/>
</xsl:template>

<!--==============================================================-->
<!-- main                                                         -->
<!--==============================================================-->
<xsl:template match="*" mode="main">
    <xsl:if test="sc:fld('Hide Breadcrumb',.) !='1'"> 
      <div id="breadcrumb">
         <xsl:for-each select="$sc_currentitem/ancestor-or-self::item[sc:fld('Show Page in Breadcrumb',.) = '1']">
          <xsl:choose>
            <xsl:when test="position()!= last()">
              <xsl:call-template name="createLink">
                <xsl:with-param name="item" select="." />
              </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
              <xsl:call-template name="linkText">
                <xsl:with-param name="item" select="." />
              </xsl:call-template>
            </xsl:otherwise>
          </xsl:choose>
          <xsl:if test="position()!= last()">
            ›
          </xsl:if>
        </xsl:for-each>
      </div>
  </xsl:if>
</xsl:template>


Navigation.xslt:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 我试着从Breadcrumb.xslt删除所有内容,使其成为:     
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:sc="http://www.sitecore.net/sc"
  xmlns:dot="http://www.sitecore.net/dot"
  exclude-result-prefixes="dot sc">

  <!-- output directives -->
  <xsl:output method="xml" indent="no" encoding="UTF-8" />


  <!--==============================================================-->
  <!-- main                                                         -->
  <!--==============================================================-->
  <xsl:template match="*" mode="main">
    <h1>Test</h1>
  </xsl:template>

</xsl:stylesheet>

...但是我仍然收到错误消息。我最近对Sitecore中的模板进行了一些更改,以将“导航标题”字段添加到一些项目中,但是经过所有最近的更改,它似乎都可以正常工作,而且我不知道为什么即使我拥有的所有内容,它仍然会中断{ {1}}

0 个答案:

没有答案