This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

recursion questions


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>
       <section role="level3" folder="XSL" label="XSL">
            <page id="5"/>
             <page id="6"/
       </section>
   </section>
   <section role="level2" folder="JSDHTMLCSS" label="JS/DHTML/CSS">
      <section role="level3" folder="JS" label="JS">
       </section>
      <section role="level3" folder="DHTML" label="DHTML">
      </section>
      <section role="level3" folder="CSS" label="CSS">
      </section>
   </section>
</section>




============================================================
DESIRED OUTPUT
-------------------------------------
  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");

    JSDHTMLCSS.addList(DHTML, "DHTML");

      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");

  root.build(width/8,40);


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]