tagsLib:getAllTags() seems doesn't work in Umb 4.91
I have got the TagCloud worked in Umb 4.52. I tried to upgrade to 4.91 today, but the TagCloud list doens't work. I always got the error message: Error parsing XSLT file: \xslt\TagCloud.xslt.
Try adding ?umbdebugshowtrace=1 to the page with this macro on it, then scroll down in the trace log to look for the error message (in red). This should give you a better error which might help pinpoint the problem.
I'm guessing it might have to do with your xsltExtensions.config not having this extension registered, or a DLL from an older version in your /bin/ folder that needs to be removed.
Tom thanks for you help. I haven't modified the code for a long time. I forgot that I can add ?umbdebugshowtrace=1 to the URL. Finally I solved the problem. The problem is in the \config\xsltExtensions.config. I did not properly modify this file when I upgraded my website to 4.91.
tagsLib:getAllTags() seems doesn't work in Umb 4.91
I have got the TagCloud worked in Umb 4.52. I tried to upgrade to 4.91 today, but the TagCloud list doens't work. I always got the error message: Error parsing XSLT file: \xslt\TagCloud.xslt.
My codes are as follows:
<?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:tagsLib="urn:tagsLib" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltStrings = "urn:Exslt.ExsltStrings"
exclude-result-prefixes="msxml tagsLib Exslt.ExsltMath Exslt.ExsltStrings">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:variable name="HeaderOption" select="/macro/option" />
<xsl:template match="/">
<xsl:variable name="TagFactor" select="6 div Exslt.ExsltMath:max(tagsLib:getAllTags()/tags/tag/@nodesTagged)"/>
<div class="head_title_bg_Text">
<div class="head_title">
<div class="RecentListTitleLeft">Tag Cloud</div>
</div>
</div>
<div class="ListContentTag">
<xsl:for-each select="tagsLib:getAllTags()/tags/tag">
<xsl:sort order="ascending" select="."/>
<div>
<a class="tag{round($TagFactor * @nodesTagged)}x" href="/{Exslt.ExsltStrings:replace(Exslt.ExsltStrings:lowercase(.),' ','-')}-tags/" rel="nofollow">
<xsl:value-of select="."/>
</a>
</div>
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>
I have tried to remove some code. I just leave the simplied deifination of a variable:
<xsl:variable name="TagFactor" select="tagsLib:getAllTags()"/>
and I removed the xsl:for-each loop so that it would not cause any eror. I still got the error message "Error parsing XSLT file: \xslt\TagCloud.xslt".
Is there any suggestion? Thanks advance.
Hi Kevin,
Try adding ?umbdebugshowtrace=1 to the page with this macro on it, then scroll down in the trace log to look for the error message (in red). This should give you a better error which might help pinpoint the problem.
I'm guessing it might have to do with your xsltExtensions.config not having this extension registered, or a DLL from an older version in your /bin/ folder that needs to be removed.
Hope this helps,
Tom
Tom thanks for you help. I haven't modified the code for a long time. I forgot that I can add ?umbdebugshowtrace=1 to the URL. Finally I solved the problem. The problem is in the \config\xsltExtensions.config. I did not properly modify this file when I upgraded my website to 4.91.
is working on a reply...