equal
deleted
inserted
replaced
21 val is_X = (c: Char) => c == X |
21 val is_X = (c: Char) => c == X |
22 val is_Y = (c: Char) => c == Y |
22 val is_Y = (c: Char) => c == Y |
23 |
23 |
24 val X_string = X.toString |
24 val X_string = X.toString |
25 val Y_string = Y.toString |
25 val Y_string = Y.toString |
|
26 val XY_string = X_string + Y_string |
26 |
27 |
27 def detect(s: String): Boolean = s.exists(c => c == X || c == Y) |
28 def detect(s: String): Boolean = s.exists(c => c == X || c == Y) |
|
29 def detect_elem(s: String): Boolean = s.startsWith(XY_string) |
28 |
30 |
29 |
31 |
30 /* string representation */ // FIXME byte array version with pseudo-utf-8 (!?) |
32 /* string representation */ // FIXME byte array version with pseudo-utf-8 (!?) |
31 |
33 |
32 def string_of_body(body: XML.Body): String = |
34 def string_of_body(body: XML.Body): String = |
114 |
116 |
115 def parse(source: CharSequence): XML.Tree = |
117 def parse(source: CharSequence): XML.Tree = |
116 parse_body(source) match { |
118 parse_body(source) match { |
117 case List(result) => result |
119 case List(result) => result |
118 case Nil => XML.Text("") |
120 case Nil => XML.Text("") |
119 case _ => err("multiple results") |
121 case _ => err("multiple XML trees") |
|
122 } |
|
123 |
|
124 def parse_elem(source: CharSequence): XML.Tree = |
|
125 parse_body(source) match { |
|
126 case List(elem: XML.Elem) => elem |
|
127 case _ => err("single XML element expected") |
120 } |
128 } |
121 |
129 |
122 |
130 |
123 /* failsafe parsing */ |
131 /* failsafe parsing */ |
124 |
132 |