src/Pure/Thy/html.scala
changeset 38573 d163f0f28e8c
parent 38444 796904799f4d
child 43455 4b4b93672f15
equal deleted inserted replaced
38572:0fe2c01ef7da 38573:d163f0f28e8c
    39   val CLASS = "class"
    39   val CLASS = "class"
    40 
    40 
    41 
    41 
    42   // document markup
    42   // document markup
    43 
    43 
    44   def span(cls: String, body: List[XML.Tree]): XML.Elem =
    44   def span(cls: String, body: XML.Body): XML.Elem =
    45     XML.Elem(Markup(SPAN, List((CLASS, cls))), body)
    45     XML.Elem(Markup(SPAN, List((CLASS, cls))), body)
    46 
    46 
    47   def hidden(txt: String): XML.Elem =
    47   def hidden(txt: String): XML.Elem =
    48     span(Markup.HIDDEN, List(XML.Text(txt)))
    48     span(Markup.HIDDEN, List(XML.Text(txt)))
    49 
    49 
    50   def sub(txt: String): XML.Elem = XML.elem("sub", List(XML.Text(txt)))
    50   def sub(txt: String): XML.Elem = XML.elem("sub", List(XML.Text(txt)))
    51   def sup(txt: String): XML.Elem = XML.elem("sup", List(XML.Text(txt)))
    51   def sup(txt: String): XML.Elem = XML.elem("sup", List(XML.Text(txt)))
    52 
    52 
    53   def spans(input: XML.Tree, original_data: Boolean = false): List[XML.Tree] =
    53   def spans(input: XML.Tree, original_data: Boolean = false): XML.Body =
    54   {
    54   {
    55     def html_spans(tree: XML.Tree): List[XML.Tree] =
    55     def html_spans(tree: XML.Tree): XML.Body =
    56       tree match {
    56       tree match {
    57         case XML.Elem(Markup(name, _), ts) =>
    57         case XML.Elem(Markup(name, _), ts) =>
    58           if (original_data)
    58           if (original_data)
    59             List(XML.Elem(Markup.Data, List(tree, span(name, ts.flatMap(html_spans)))))
    59             List(XML.Elem(Markup.Data, List(tree, span(name, ts.flatMap(html_spans)))))
    60           else List(span(name, ts.flatMap(html_spans)))
    60           else List(span(name, ts.flatMap(html_spans)))