jQuery Menubar and web.sitemap

After HTML 5 Microsoft WebCamp Portugal, I came up with some interest in exploring the Menubar plugin.

This plugin transforms a list into a nice menu, and as such, I like to implement it on a project which I use web.sitemap.

To this, I needed to use an XSLT to transform the web.sitemap file, which is nothing more an XML, into an unordered list in a format required by Menubar.

Here’s an example of web.sitemap file:

To transform the XML file on an unordered list, I’ve used the next XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:map="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" exclude-result-prefixes="map"> <xsl:output method="xml" encoding="utf-8" indent="yes"/>

<xsl:template match="map:siteMapNode">

  • <xsl:template name="mapNode" match="/*/*"> xsl:apply-templates/ </xsl:template> </xsl:stylesheet>

    This way, I’m getting an list like this:

  • Menu 1
  • Menu 2
  • Finally, we only need to add a XML control to render the list:

    The insertion of XML control between an unordered list was deliberated, because only then we have the menu working properly and like the one on this site:

    http://view.jqueryui.com/master/demos/menubar/default.html

    This article is part of the GWB Archives. Original Author: Tiago Salgado

    New on Geeks with Blogs

    • We Won The One Award I Actually Care About

      Full Scale made the Inc. 5000 for the fifth year straight, the 12th listing across my three companies. Here is why the one award you cannot buy is worth stopping for.

    • Your Customers Build the Features Now

      I let a tool I liked sit dead for a year rather than build the features I wanted. An MCP server meant I never had to, and your customers can do the same to your product.

    • Get the Size of a Directory in Linux the Easy Way

      du -sh for the quick answer, ncdu for the cleanup, df for the disk itself: every command for checking directory size in Linux, plus why du and df never agree.

    • Vim Search and Replace: The Ultimate Guide

      One :%s command replaces every match in a file before a find dialog would even open. The Vim substitute patterns worth the muscle memory: flags, ranges, capture groups, and multi-file edits.