3

Umbraco 4.9.0 を使用して Web サイトを構築しましたが、すべてローカルで問題ありません。私はそれを公開し、IIS から実行しました。ただし、ランディング ページで参照されている XSLT ファイル (ブレッドクラム) の場合、「XSLT ファイル {xslt ファイル名} の解析エラー」と表示されることを除いて、機能するようになりました。

エラー: 「XSLT ファイルの解析エラー: \xslt\SiteBreadcrumb.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: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 &gt; $minLevel">
         <tr>
           <xsl:for-each select="$currentPage/ancestor::* [@level &gt; $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>
               &gt;
             </td>
           </xsl:for-each>
         </tr>
       </xsl:if>   </xsl:template> </xsl:stylesheet>

すべての XSLT ファイルが解析されない理由を知っている人はいますか?

4

1 に答える 1

2

エラーはこの命令にあります

   <xsl:if test="$currentPage/@level &gt; $minLevel">

Saxon 6.5.5 は次のように述べています。

ファイルの 21 行目の xsl:if でのエラー:/(無題): 値はノードセットではありません

考えられる解決策の 1 つは、次のように置き換えることです。

<xsl:param name="currentPage"/>

:

<xsl:param name="currentPage" select="/.."/>

これで XSLT プロセッサ$currentPageは にノードが含まれていることを認識します。

于 2012-12-12T13:10:59.303 に答える