Subject: RE: [xsl] Cascading Menu (with Open/Closed Icons) and displayed children From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 01 Apr 2003 13:10:58 -0500 |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="menuItem"> <div> <xsl:apply-templates select="description"/> <xsl:if test="$selection = descendant::description"> <!-- We keep going if we're open. We're open if $selection corresponds to our description or that of one of our descendants --> <xsl:apply-templates select="menuItem"/> </xsl:if> </div> </xsl:template>
<xsl:template match="description"> <span> <xsl:choose> <xsl:when test="$selection = ../descendant::description"> <!-- We use the same test as above to determine our label, except it's our parent menuItem that we're descending from. --> <xsl:text>O </xsl:text> </xsl:when> <xsl:otherwise> <!-- otherwise it's closed --> <xsl:text>C </xsl:text> </xsl:otherwise> </xsl:choose> <xsl:apply-templates/> <!-- Brian wanted sth different, but we'll just go for the description element's content to finish our label. --> </span> </xsl:template>
<?xml version="1.0"?> <menu> <menuItem id="docid1"> <description>Topic 1</description> <menuItem id="docid2"> <description>Topic 1.1</description> </menuItem> <menuItem id="docid3"> <description>Topic 1.2</description> </menuItem> </menuItem> <menuItem id="docid4"> <description>Topic 2</description> <menuItem id="docid5"> <description>Topic 2.1</description> <menuItem id="docid2"> <description>Topic 2.1.1</description> <menuItem id="docid2"> <description>Topic 2.1.1.1</description> </menuItem> <menuItem id="docid3"> <description>Topic 2.1.1.2</description> </menuItem> </menuItem> <menuItem id="docid3"> <description>Topic 2.1.2</description> <menuItem id="docid2"> <description>Topic 2.1.2.1</description> </menuItem> <menuItem id="docid3"> <description>Topic 2.1.2.2</description> </menuItem> </menuItem> </menuItem> <menuItem id="docid6"> <description>Topic 2.2</description> </menuItem> </menuItem> <menuItem id="docid7"> <description>Topic 3</description> <menuItem id="docid8"> <description>Topic 3.1</description> </menuItem> <menuItem id="docid9"> <description>Topic 3.2</description> </menuItem> </menuItem> </menu>
<div><span>C Topic 1</span></div> <div><span>O Topic 2</span> <div><span>O Topic 2.1</span> <div><span>O Topic 2.1.1</span> <div><span>C Topic 2.1.1.1</span></div> <div><span>C Topic 2.1.1.2</span></div> </div> <div><span>C Topic 2.1.2</span></div> </div> <div><span>C Topic 2.2</span></div> </div> <div><span>C Topic 3</span></div>
Cheers, Wendell
I wouldn't mind having a look at the XSL for this. I'm doing something similar and have been banging my head against a wall.
(At least if you could show me some resources on the net which might be useful, I'd be most grateful)
ChimaI
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re:, Lionel Crine | Thread | [xsl] validation during translation, Challa, Harsha |
Re: [xsl] Grouping and Subtotals, David Carlisle | Date | Re: [xsl] many to one OR one to man, Wendell Piez |
Month |