Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Daniil 5 posts 25 karma points
    Mar 22, 2012 @ 12:37
    Daniil
    0

    Link to PDF from menu

    <?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"
      exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets ">

    <xsl:output method="xml" omit-xml-declaration="yes" />

    <xsl:param name="currentPage"/>
    <xsl:variable name="MediaNodeId" select="./@id"/>
    <!-- Input the documenttype you want here -->
    <xsl:variable name="level" select="1"/>

    <xsl:template match="/">

    <!-- The fun starts here -->
    <ul class=" menu nav">
    <xsl:for-each select="$currentPage/ancestor-or-self::* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
      <li>
        <a href="{umbraco.library:NiceUrl(@id)}">
          <xsl:value-of select="@nodeName"/>
        </a>
        <xsl:if test="count(./child::*[@isDoc and string(umbracoNaviHide) != '1']) &gt; 0">
          <ul>
            <xsl:for-each select="./child::*[@isDoc and string(umbracoNaviHide) != '1']">
              <li>
                <xsl:choose>

                    <xsl:when test="name()= 'Link' ">
                      
                    <xsl:if test="linkUrl!=''">
                       <a href="{umbraco.library:GetMedia(linkUrl, 0)/umbracoFile}" target="_blank">
                         <xsl:value-of select="@nodeName"/></a>
                  </xsl:if>
                    </xsl:when>         
              
                   <xsl:otherwise>
                    <a href="{umbraco.library:NiceUrl(@id)}">
                    <xsl:value-of select="@nodeName"/></a>
                  </xsl:otherwise>
              
               </xsl:choose>   
                
                 <xsl:if test="count(./child::*[@isDoc and string(umbracoNaviHide) != '2']) &gt; 0">
          <ul>
            <xsl:for-each select="./child::*[@isDoc and string(umbracoNaviHide) != '2']">
              <li>
                <a href="{umbraco.library:NiceUrl(@id)}">
                  <xsl:value-of select="@nodeName"/>
                </a>
              </li>
            </xsl:for-each>
          </ul>  
        </xsl:if>
              </li>
            </xsl:for-each>
          </ul>  
        </xsl:if>
      </li>
    </xsl:for-each>
    </ul>
    <div id="jflanguageselection"><div class="rawimages"><span id="active_language"><a href="http://www.hooymans-duivensport.nl/nl"><img src="/images/nl.gif" alt="Nederlands (NL-nl)" title="Nederlands (NL-nl)" /></a></span><span><a href="http://www.hooymans-duivensport.nl/en"><img src="/images/en.gif" alt="English (United Kingdom)" title="English (United Kingdom)" /></a></span></div></div>
    </xsl:template>

    </xsl:stylesheet>

    I need to make a link in the menu on the pdf file I get this error.

     

    Error occured

    System.OverflowException: Value was either too large or too small for an Int32.
    at System.Convert.ToInt32(Double value)
    at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
    at System.Xml.Xsl.Runtime.XmlQueryRuntime.ChangeTypeXsltArgument(XmlQueryType xmlType, Object value, Type destinationType)
    at System.Xml.Xsl.Runtime.XmlQueryContext.InvokeXsltLateBoundFunction(String name, String namespaceUri, IList`1[] args)
    at (XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime)
    at Root(XmlQueryRuntime {urn:schemas-microsoft-com:xslt-debug}runtime)
    at System.Xml.Xsl.XmlILCommand.Execute(Object defaultDocument, XmlResolver dataSources, XsltArgumentList argumentList, XmlWriter writer)
    at System.Xml.Xsl.XslCompiledTransform.Transform(IXPathNavigable input, XsltArgumentList arguments, TextWriter results)
    at umbraco.presentation.webservices.codeEditorSave.SaveXslt(String fileName, String oldName, String fileContents, Boolean ignoreDebugging)

  • MikeD 92 posts 112 karma points
    Mar 22, 2012 @ 16:31
    MikeD
    0

    Here is some code I am using on a site.  This menu includes PDFs (catalog) and external links.  Hope this helps.

    <?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"
    exclude-result-prefixes="msxml umbraco.library">

    <xsl:output method="xml" omit-xml-declaration="yes" />
    <xsl:param name="currentPage"/>

    <!-- Input the documenttype you want here -->
    <xsl:variable name="level" select="1"/>

    <xsl:template match="/">

    <ul id="topNavigation">
      <xsl:for-each select="$currentPage/ancestor-or-self::* [@level=$level]/* [@isDoc and string(showInTopNavigation) = '1']">
        <xsl:choose>
    <!-- is this a link to the catalog?  -->
          <xsl:when test="catalog !=''">
            <li>
              <href="{umbraco.library:GetMedia(catalog, false())/umbracoFile}" style="color: #f68823;" target="_blank">
              <img src="/images/CatalogIcon.png" style="margin: 0px 5px;" border="0" />&nbsp;
                <xsl:value-of select="@nodeName"/>
              </a>
            </li>
          </xsl:when>
    <!-- is this an external link? -->
          <xsl:when test="externalLink !=''">
              <img src="/images/MenuSeparator.png" width="6" height="40" align="middle" />
            <li>
              <href="{externalLink}" target="_blank">
                <xsl:value-of select="@nodeName"/>
              </a>
            </li>
          </xsl:when>
          <xsl:otherwise>
            <li>
              <class="navigation" href="{umbraco.library:NiceUrl(@id)}">
                <xsl:value-of select="@nodeName"/>
              </a>
              <img src="/images/MenuSeparator.png" width="6" height="40" align="middle" />
            </li>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:for-each>
    </ul>

    </xsl:template>

    </xsl:stylesheet>

     

  • Steve 26 posts 46 karma points
    Feb 24, 2015 @ 16:00
    Steve
    0

    Hi how would I implement this in a drop-down or fly-out menu?

    thx

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies