[xsl] recursion questions

Subject: [xsl] recursion questions
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Tue, 30 Jan 2001 07:31:24 -0800
I am having a problem understanding how to build some JavaScript for an
exandable/collapsible list similar to a directory tree.  If anybody can help
it would be greatly appreciated.  I could include what I have been trying
XSL-wise but it would probably be more distractive to the end goal.  I
cannot figure out how to build a recursive template to handle the following
XML (the desired output follows):

<section role="level1" folder="root" label="Test">
    <page id="1"/>
   <section role="level2" folder="XSLXML" label="XSL/XML">
        <page id="2"/>
        <section role="level3" folder="XML" label="XML">
            <page id="3"/>
            <page id="4"/>
       <section role="level3" folder="XSL" label="XSL">
            <page id="5"/>
             <page id="6"/
   <section role="level2" folder="JSDHTMLCSS" label="JS/DHTML/CSS">
      <section role="level3" folder="JS" label="JS">
      <section role="level3" folder="DHTML" label="DHTML">
      <section role="level3" folder="CSS" label="CSS">

  root = new List(true, width, height, bgColor);
  root.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'><B>","</B></FONT>");
    root.addItem("page id=1");
    XSLXML = new List(true, width, height, "#EEEEEE");
    XSLXML.onexpand = colorize;
    XSLXML.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      XSLXML.addItem("page id=2");

      XML = new List(false, width, height, bgColor);
      XML.onexpand = colorize;
      XML.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      XML.addItem("page id=3");
      XML.addItem("page id=4");

    XSLXML.addList(XML, "XML");

      XSL = new List(false, width, height, bgColor);
      XSL.onexpand = colorize;
      XSL.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      XSL.addItem("page id=5");
      XSL.addItem("page id=6");
XSLXML.addList(XSL, "XSL");

  root.addList(XSLXML, "XML/XSL");

    JSDHTMLCSS = new List(true, width, height, "#EEEEEE");
    JSDHTMLCSS.onexpand = colorize;
    JSDHTMLCSS.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");

      JS = new List(false, width, height, bgColor);
      JS.onexpand = colorize;
      JS.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      JS.addItem("Some JS stuff");
      JS.addItem("Some more JS stuff");

    JSDHTMLCSS.addList(JS, "JS");

      DHTML = new List(false, width, height, bgColor);
      DHTML.onexpand = colorize;
      DHTML.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      DHTML.addItem("Some DHTML stuff");
      DHTML.addItem("Some more DHTML stuff");


      CSS = new List(false, width, height, bgColor);
      CSS.onexpand = colorize;
      CSS.setFont("<FONT FACE='Arial,Helvetica' SIZE=-1'>","</FONT>");
      CSS.addItem("Some CSS stuff");
      CSS.addItem("Some more CSS stuff");

    JSDHTMLCSS.addList(CSS, "CSS");

  root.addList(JSDHTMLCSS, "JS/DHTML/CSS");


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread