summaryrefslogtreecommitdiff
path: root/docs/examples/xml/phonebook/phonebook.scala
diff options
context:
space:
mode:
Diffstat (limited to 'docs/examples/xml/phonebook/phonebook.scala')
-rw-r--r--docs/examples/xml/phonebook/phonebook.scala38
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/examples/xml/phonebook/phonebook.scala b/docs/examples/xml/phonebook/phonebook.scala
new file mode 100644
index 0000000000..4813c2d20d
--- /dev/null
+++ b/docs/examples/xml/phonebook/phonebook.scala
@@ -0,0 +1,38 @@
+package phonebook ;
+
+object phonebook {
+
+ val labPhoneBook =
+ <phonebook>
+ <descr>
+ This is the <b>phonebook</b> of the
+ <a href="http://acme.org">ACME</a> corporation.
+ </descr>
+ <entry>
+ <name>Burak</name>
+ <phone where="work"> +41 21 693 68 67</phone>
+ <phone where="mobile">+41 79 602 23 23</phone>
+ </entry>
+ </phonebook>;
+
+ Console.println( labPhoneBook );
+
+ // XML is immutable - adding an element
+
+ import scala.xml.{ Node, Text };
+
+ def add( phonebook:Node, newEntry:Node ):Node = phonebook match {
+ case <phonebook>{ ch @ _* }</phonebook> =>
+ <phonebook>{ ch }{ newEntry }</phonebook>
+ }
+
+ val pb2 =
+ add( labPhoneBook,
+ <entry>
+ <name>Kim</name>
+ <phone where="work"> +41 21 111 11 11</phone>
+ </entry> );
+
+ def main(args:Array[String]) = Console.println( pb2 );
+
+}