src/Pure/General/xml.scala
changeset 27952 0576c91a6803
parent 27948 2638b611d3ce
child 27959 d6a4d7b013f7
equal deleted inserted replaced
27951:8adddc0b591f 27952:0576c91a6803
    57       doc.appendChild(doc.createProcessingInstruction("xml-stylesheet",
    57       doc.appendChild(doc.createProcessingInstruction("xml-stylesheet",
    58         "href=\"" + style + "\" type=\"text/css\""))
    58         "href=\"" + style + "\" type=\"text/css\""))
    59     }
    59     }
    60 
    60 
    61     // main body
    61     // main body
    62     def dom_tree(tr: Tree): Node = tr match {
    62     def DOM(tr: Tree): Node = tr match {
    63       case Elem(name, atts, ts) => {
    63       case Elem(name, atts, ts) => {
    64         val node = doc.createElement(name)
    64         val node = doc.createElement(name)
    65         for ((name, value) <- atts) node.setAttribute(name, value)
    65         for ((name, value) <- atts) node.setAttribute(name, value)
    66         for (t <- ts) node.appendChild(dom_tree(t))
    66         for (t <- ts) node.appendChild(DOM(t))
    67         node
    67         node
    68       }
    68       }
    69       case Text(txt) => doc.createTextNode(txt)
    69       case Text(txt) => doc.createTextNode(txt)
    70     }
    70     }
    71     val root_elem = tree match {
    71     val root_elem = tree match {
    72       case Elem(_, _, _) => dom_tree(tree)
    72       case Elem(_, _, _) => DOM(tree)
    73       case Text(_) => dom_tree(Elem("root", Nil, List(tree)))
    73       case Text(_) => DOM(Elem("root", Nil, List(tree)))
    74     }
    74     }
    75     doc.appendChild(root_elem)
    75     doc.appendChild(root_elem)
    76     doc
    76     doc
    77   }
    77   }
    78 }
    78 }