equal
deleted
inserted
replaced
126 |
126 |
127 /** string representation **/ |
127 /** string representation **/ |
128 |
128 |
129 val header: String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" |
129 val header: String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" |
130 |
130 |
131 def output_char(s: StringBuilder, c: Char, permissive: Boolean = false) |
131 def output_char(s: StringBuilder, c: Char, permissive: Boolean = false): Unit = |
132 { |
132 { |
133 c match { |
133 c match { |
134 case '<' => s ++= "<" |
134 case '<' => s ++= "<" |
135 case '>' => s ++= ">" |
135 case '>' => s ++= ">" |
136 case '&' => s ++= "&" |
136 case '&' => s ++= "&" |
138 case '\'' if !permissive => s ++= "'" |
138 case '\'' if !permissive => s ++= "'" |
139 case _ => s += c |
139 case _ => s += c |
140 } |
140 } |
141 } |
141 } |
142 |
142 |
143 def output_string(s: StringBuilder, str: String, permissive: Boolean = false) |
143 def output_string(s: StringBuilder, str: String, permissive: Boolean = false): Unit = |
144 { |
144 { |
145 if (str == null) s ++= str |
145 if (str == null) s ++= str |
146 else str.iterator.foreach(output_char(s, _, permissive = permissive)) |
146 else str.iterator.foreach(output_char(s, _, permissive = permissive)) |
147 } |
147 } |
148 |
148 |
149 def output_elem(s: StringBuilder, markup: Markup, end: Boolean = false) |
149 def output_elem(s: StringBuilder, markup: Markup, end: Boolean = false): Unit = |
150 { |
150 { |
151 s += '<' |
151 s += '<' |
152 s ++= markup.name |
152 s ++= markup.name |
153 for ((a, b) <- markup.properties) { |
153 for ((a, b) <- markup.properties) { |
154 s += ' ' |
154 s += ' ' |
160 } |
160 } |
161 if (end) s += '/' |
161 if (end) s += '/' |
162 s += '>' |
162 s += '>' |
163 } |
163 } |
164 |
164 |
165 def output_elem_end(s: StringBuilder, name: String) |
165 def output_elem_end(s: StringBuilder, name: String): Unit = |
166 { |
166 { |
167 s += '<' |
167 s += '<' |
168 s += '/' |
168 s += '/' |
169 s ++= name |
169 s ++= name |
170 s += '>' |
170 s += '>' |