xsl-list
[Top] [All Lists]

RE: [xsl] Dynamic Menu Using XSL

2006-12-11 12:19:48
Remember that XSLT is used to generate the target HTML page, and if you want
any interaction on that page, e.g. hiding things when other things are
selected, that's purely a question of generating the HTML that exhibits that
behaviour.

So it's a two-stage process:

(a) design the (dynamic) HTML that you want to display 

(b) design the XSLT that generates it from your source XML.

I get the impression you haven't separated the two stages. It's a good idea
not to start on (b) until you have completed (a).

Michael Kay
http://www.saxonica.com/


-----Original Message-----
From: Brant Schroeder [mailto:brantschr(_at_)yahoo(_dot_)com] 
Sent: 11 December 2006 18:01
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Dynamic Menu Using XSL

I am trying to create a dynamic menu using XML and XSLT.  
Here is my XML

<?xml version="1.0" encoding="iso-8859-1" ?> <?xml-stylesheet 
type="text/xsl" href="mymenu.xsl"?>


<menu>
      <item id = "1" url="default.aspx" title="Home"></item>  
        <item id = "2" url="default.aspx?id=Training" 
title="Training">
              <item id = "3" 
url="default.aspx?id=Search_Training" title="Search Training"></item>
                <item id = "4" 
url="default.aspx?id=Post_Training" title="Post 
Training"></item>                     
        </item>  
        <item id = "7" url="default.aspx?id=Other_Training" 
title="Other Training">
              <item id = "8" 
url="default.aspx?id=Search_Other_Training" title="Search 
Other Training"></item>
                <item id = "9" 
url="default.aspx?id=Post_Other_Training" title="Post Other 
Training"></item>
        </item>
        <item id = "11" url="default.aspx?id=About_Us" 
title="About Us">
              <item id = "12" url="default.aspx?id=Location" 
title="Location">
                      <item id = "13" 
url="default.aspx?id=Map" title="View Map"></item>
              </item>
        </item>            
</menu>I am using the following XSLT to generate my HTML

<?xml version="1.0" encoding="utf-8"?>



<xsl:param name="URL"/>

  <xsl:output indent="yes"/>
  <xsl:template match="menu">
    <html>
      <body>
        <ul>
          <xsl:apply-templates/>
        </ul>
      </body>
    </html>
  </xsl:template>
  <xsl:template match="item">
    <li>
      <a href="{(_at_)url}">
        <xsl:value-of select="@title"/>
      </a>
      <xsl:if test="item">
        <ul>
          <xsl:apply-templates/>
        </ul>
      </xsl:if>
    </li>
  </xsl:template>

</xsl:stylesheet>

I would like to hide the child menu if the parent menu is not 
selected.   I would also like the parent menu to be expanded 
if a child menu is selected.  I am passing the url as a 
parameter (ex: default.aspx, default.aspx?id=About_us) this 
matches the URL attribute of the item.   I am new to XSLLT 
and would appreciate any help.

Thanks
Brant




 
______________________________________________________________
______________________
Any questions? Get answers on any topic at 
www.Answers.yahoo.com.  Try it now.

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>