创建Umbraco宏以将自定义HTML插入页面

时间:2014-03-14 13:50:03

标签: xslt umbraco

我正在尝试创建一个Umbraco宏来将一些HTML插入到页面中。宏后面的'代码'是一个xslt文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]>
<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:msxml="urn:schemas-microsoft-com:xslt"
  xmlns:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:CWS.Twitter="urn:CWS.Twitter" 
  exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets CWS.Twitter ">


<xsl:output method="xml" omit-xml-declaration="yes"/>

<xsl:variable name="customHtml" select="/macro/customHtml" />

<xsl:template match="/">

<!-- start writing XSLT -->
<xsl:if test="$customHtml!= ''">  

  <div>
<![CDATA[
   <xsl:value-of select="$customHtml" />
]]>
  </div>

  </xsl:if>  
</xsl:template>

</xsl:stylesheet>

当我使用宏,并通过customHtml变量将一些HTML提供给xslt文件时,会抛出服务器错误:

  

长度不能小于零。参数名称:长度

但是,当使用带有宏的纯文本(没有HTML标签)时,它很好并且显示在页面上。我正在使用Umbraco 4.7版本。

有人能帮忙解决这个问题吗?

0 个答案:

没有答案