src/Pure/PIDE/xml.scala
changeset 80432 b42f95f18a71
parent 80431 c748adebc67f
child 80434 6f1c8084f672
equal deleted inserted replaced
80431:c748adebc67f 80432:b42f95f18a71
   155 
   155 
   156   class Output(builder: StringBuilder) extends Traversal {
   156   class Output(builder: StringBuilder) extends Traversal {
   157     def string(str: String, permissive: Boolean = false): Unit = {
   157     def string(str: String, permissive: Boolean = false): Unit = {
   158       if (str == null) { builder ++= str }
   158       if (str == null) { builder ++= str }
   159       else {
   159       else {
   160         for (c <- str) {
   160         str foreach {
   161           c match {
   161           case '<' => builder ++= "&lt;"
   162             case '<' => builder ++= "&lt;"
   162           case '>' => builder ++= "&gt;"
   163             case '>' => builder ++= "&gt;"
   163           case '&' => builder ++= "&amp;"
   164             case '&' => builder ++= "&amp;"
   164           case '"' if !permissive => builder ++= "&quot;"
   165             case '"' if !permissive => builder ++= "&quot;"
   165           case '\'' if !permissive => builder ++= "&apos;"
   166             case '\'' if !permissive => builder ++= "&apos;"
   166           case c => builder += c
   167             case _ => builder += c
       
   168           }
       
   169         }
   167         }
   170       }
   168       }
   171     }
   169     }
   172 
   170 
   173     override def text(str: String): Unit = string(str)
   171     override def text(str: String): Unit = string(str)