[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Creating JavaScript recursively
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 _________________________________________________________________ Wußten Sie, daß Sie Ihren Hotmail-Posteingang auch über den MSN Messenger abrufen können? http://messenger.msn.de Jetzt kostenlos downloaden und einfach testen! XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|