I built a website using Umbraco 4.9.0 and all is well locally. I published it and run it from IIS. But it now works, except that for XSLT file (Breadcrumb) referenced on the landing page it says "Error Parsing XSLT File {xslt file name}".
Error is: 'Error parsing XSLT file: \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>
Does anybody have any idea why all the XSLT files won't parse?
The error is on this instruction:
<xsl:if test="$currentPage/@level > $minLevel">
Saxon 6.5.5 says:
Error at xsl:if on line 21 of file:/(Untitled): The value is not a node-set
One possible solution is to replace:
<xsl:param name="currentPage"/>
with:
<xsl:param name="currentPage" select="/.."/>
so that now the XSLT processor knows that $currentPage
contains a node.