[#1048] | project: compiler | priority: low | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Burak | Burak | open | 2007-04-17 12:49:24.0 | |
subject | xml patterns and whitespace | |||
code |
// Lukas says: can you tell me why the third pattern below doesn't match? import scala.xml._ object PatternMatch2 extends Application { val book: Node = <telbook> <entry> <name>Luc</name> <number> <where>mobile</where> <num>+41 79 421 30 09</num> </number> <number> <where>home</where> <num>+41 21 311 20 04</num> </number> </entry> <entry> <name>Bob</name> <number> <where>home</where> <num>+41 31 837 28 28</num> </number> </entry> </telbook> (book \ "entry") match { case Seq(<entry>{ _* }</entry>, <entry>{ _* }</entry>) => Console.println("ok") } (((book \ "entry")(0)) \ "_") match { case Seq(<name>{ _* }</name>, <number>{ _* }</number>, <number> { _* }</number>) => Console.println("ok2") } ((book \ "entry")(0)) match { case <entry><name>{ _* }</name><number>{ _* }</number><number> { _* }</number></entry> => Console.println("ok3") } } |
|||
what happened | The mail introduced a whitespace that probably wasn't there -- as is, also the second pattern won't match, becau\ se the compiler stupidly translates it to presence of a Text(\n) node. that should be fixed. |
|||
what expected | ||||
[back to overview] |
Martin edited on 2007-04-17 16:15:21.0 |