Umbraco "Ошибка анализа файла XSLT"
Я создал сайт с использованием Umbraco 4.9.0 и все хорошо локально. Я опубликовал его и запустил из IIS. Но теперь это работает, за исключением того, что для файла XSLT (Breadcrumb), на который есть ссылка на целевой странице, написано "Ошибка синтаксического анализа файла XSLT {имя файла xslt}".
Ошибка: "Ошибка разбора файла XSLT: \xslt\SiteBreadcrumb.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:tagsLib="urn:tagsLib" xmlns:BlogLibrary="urn:BlogLibrary"
xmlns:UCommentLibrary="urn:UCommentLibrary"
exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon
Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions
Exslt.ExsltStrings Exslt.ExsltSets tagsLib BlogLibrary UCommentLibrary
"> <xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage" select="/.."/> <xsl:variable name="minLevel"
select="1"/> <xsl:template match="/">
<xsl:if test="$currentPage/@level > $minLevel">
<tr>
<xsl:for-each select="$currentPage/ancestor::* [@level > $minLevel and string
(umbracoNaviHide) != '1']">
<td style=" height: 24px;">
<a href="{umbraco.library:NiceUrl(@id)}?nodeId={@id}" style="color:black;">
<xsl:value-of select="@nodeName"/>
</a>
>
</td>
</xsl:for-each>
</tr>
</xsl:if> </xsl:template> </xsl:stylesheet>
Кто-нибудь знает, почему все файлы XSLT не будут анализироваться?
1 ответ
Решение
Ошибка в этой инструкции:
<xsl:if test="$currentPage/@level > $minLevel">
Саксонский 6.5.5 говорит:
Ошибка в xsl: если в строке 21 файла:/(Без названия): значение не является набором узлов
Одним из возможных решений является замена:
<xsl:param name="currentPage"/>
с:
<xsl:param name="currentPage" select="/.."/>
так что теперь процессор XSLT знает, что $currentPage
содержит узел