我正在尝试创建一个Umbraco宏来将一些HTML插入到页面中。宏后面的'代码'是一个xslt文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<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版本。
有人能帮忙解决这个问题吗?