home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 December / PCWorld_2000-12_cd.bin / Komunikace / Comanche / plugins / apache / createMesgs.tcl < prev    next >
Text File  |  2000-11-02  |  2KB  |  66 lines

  1. lappend auto_path /home/daniel/thesis/comanche-1.0/xuibuilder
  2. package require dom
  3. source  /home/daniel/thesis/comanche-1.0/xuibuilder/ddom.tcl
  4.  
  5.  
  6. proc processElement {node mesg} {
  7.  
  8. # Do not touch labels (may be specific)
  9. # Problem. What happens is label is a reserved word?
  10. # Habra que redefinirla y asignarle un valor, que no debera de ser traducido
  11. catch {
  12. if [llength [dom::getAttribute $node label]] {
  13.     switch [dom::getTagName $node] {
  14.     label { } 
  15.     default {
  16.     puts $mesg [list apache1.3_[dom::getAttribute $node name] \
  17.         [dom::getAttribute $node label]]
  18.     dom::setAttribute $node \
  19.          label apache1.3_[dom::getAttribute $node name]
  20.     }
  21.     }
  22. }
  23. if [llength [dom::getAttribute $node value]] {
  24.    switch [dom::getTagName $node] {
  25.     option {
  26.     puts $mesg [list apache1.3_[dom::getAttribute $node name] \
  27.         [dom::getAttribute $node value]]
  28.     dom::setAttribute $node \
  29.          value apache1.3_[dom::getAttribute $node name]
  30.     
  31.     }
  32.     }
  33. }
  34.  
  35. }
  36. foreach child [dom::getElements $node] {
  37.     processElement $child $mesg
  38. }
  39.  
  40. }
  41.  
  42. foreach module [glob *] {
  43.    catch {
  44.    set mesg [open [file join $module mesg.out] w+]
  45.    set f [open [file join $module directives.xml]]
  46.    set xmlDoc [dom::DOMImplementation parse [read $f]]
  47.    processElement $xmlDoc $mesg
  48.    close $f
  49.    set f2 [open [file join $module directives.xml.new] w+]
  50.    puts $f2 [dom::DOMImplementation serialize $xmlDoc]
  51.    close $f2   
  52.    set f [open [file join $module propertyPages.xml]]
  53.    set xmlDoc [dom::DOMImplementation parse [read $f]]
  54.    processElement $xmlDoc $mesg
  55.    close $f
  56.    set f2 [open [file join $module propertyPages.xml.new] w+]
  57.    puts $f2 [dom::DOMImplementation serialize $xmlDoc]
  58.    close $f2   
  59.  
  60.    close $mesg
  61.  
  62.    } ll
  63.    #puts $ll
  64. }
  65.  
  66.