xsl-list
[Top] [All Lists]

(unknown)

2003-10-21 10:42:00
Hi,

I want to dynamically create JavaScript with my xsl document from an xml document. The xsl should recursively go through the xml and create the JavScript described below.

my xml:
<?xml version="1.0" encoding="UTF-8"?>
  <tree dbname="mysql">
     <node1 value1="DB Objects" value2="dbobjects.html">
        <node2 value1="Triggers" value2="triggers.html"/>
        <node2 value1="Procedures" value2="procedures.html">
<node3 value1="Internal Procedures" value2="internalprocedures.html"/> <node3 value1="External Procedures" value2="externalprocedures.html"/>
        </node2>
        <node2 value1="blabla" value2="blabla.html">
           <node3 value1="Internal" value2="internal.html"/>
           <node3 value1="External" value2="external.html">
               <node4 value1="Proc" value2="proc.html"/>
        <node4 value1="Internal" value2="internal.html"/>
           </node3>
        </node2>
     </node1>
     <node1 value1="DB Tables" value2="dbtables.html">
        ...
        ...
     </node1>
  </tree>

my output after xsl tranformation (with comments):
<script>
  <!--
    aux1 = insFld(foldersTree   equals   <node1>
gFld("DB Objects", "dbobjects.html")) equals gFld(/tree/node1/@value1, (/tree/node1/@value2))
  -->
  aux1 = insFld(foldersTree, gFld("DB Objects", "dbobjects.html"))
     <!--
       aux2 = insFld(aux1   equals   <node2>
gFld("Triggers", "triggers.html")) equals gFld((/tree/node2/@value1, (/tree/node2/@value2))
     -->
     aux2 = insFld(aux1, gFld("Triggers", "triggers.html"))
     aux2 = insFld(aux1, gFld("Procedures", "procedures.html"))
        <!--
          insDoc(aux2    equals   <node3>
gLnk("Internal..", "internal..html")) equals gLnk((/tree/node2/node3/@value1, (/tree/node2/node3/@value2))
        -->
insDoc(aux2, gLnk("Internal Procedures", "internalproceduers.html")) insDoc(aux2, gLnk("External Procedures", "externalprocedures.html"))
     aux2 = insFld(aux1, gFld("blabla", "blabla.html"))
        aux3 = insFld(aux2, gFld("Internal", "internal.html"))
        aux3 = insFld(aux2, gFld("External", "external.html?"))
insDoc(aux3, gLnk("Internal Procedures", "internalprocedures.html")) insDoc(aux3, gLnk("External Procedures", "externalprocedures.html"))
           aux4 = insFld(aux3, gFld("Int", "int.html"))
           aux4 = insFld(aux3, gFld("Ext", "ext.html"))
  aux1 = insFld(foldersTree, gFld("Tables", "tables.html"))
        ...
</script>

The output again without comments:
<script>
  aux1 = insFld(foldersTree, gFld("DB Objects", "dbobjects.html"))
     aux2 = insFld(aux1, gFld("Triggers", "triggers.html"))
     aux2 = insFld(aux1, gFld("Procedures", "procedures.html"))
       insDoc(aux2, gLnk("Internal Procedures", "internalprocedures.html"))
       insDoc(aux2, gLnk("External Procedures", "externalprocedures.html"))
    aux2 = insFld(aux1, gFld("blabla", "blabla.html"))
       aux3 = insFld(aux2, gFld("Internal", "internal.html"))
       aux3 = insFld(aux2, gFld("External", "external.html?"))
insDoc(aux3, gLnk("Internal Procedures", "internalprocedures.html")) insDoc(aux3, gLnk("External Procedures", "externalprocedures.html"))
       aux4 = insFld(aux3, gFld("Int", "int.html"))
       aux4 = insFld(aux3, gFld("Ext", "ext.html"))
  aux1 = insFld(foldersTree, gFld("Tables", "tables.html"))
        ...
</script>

How should I start this problem so that I can create this kind of stuff recursicley.

Regards
Jonny

_________________________________________________________________
Schluß mit Spam! http://www.msn.de/antispam Wir helfen Ihnen, unerwünschte E-Mails zu reduzieren.


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



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