From d855e454426fb782730542f84c01f3bfd9d50f7d Mon Sep 17 00:00:00 2001 From: Burak Emir Date: Tue, 29 Jan 2008 12:01:45 +0000 Subject: demo of entity handling --- test/files/jvm/xml03syntax.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test/files') diff --git a/test/files/jvm/xml03syntax.scala b/test/files/jvm/xml03syntax.scala index fab139e5e8..9c1cee19e1 100644 --- a/test/files/jvm/xml03syntax.scala +++ b/test/files/jvm/xml03syntax.scala @@ -64,6 +64,21 @@ object Test extends AnyRef with Assert { println } + // this demonstrates how to handle entities + val s = io.Source.fromString(" ") + object parser extends xml.parsing.ConstructingParser(s, false /*ignore ws*/) { + override def replacementText(entityName: String): io.Source = { + entityName match { + case "nbsp" => io.Source.fromString("\u0160"); + case _ => super.replacementText(entityName); + } + } + nextch; // !!important, to initialize the parser + } + val parsed = parser.element(TopScope) // parse the source as element + // alternatively, we could call document() + parsed + /** see SVN r13821 (emir): support for , * so that Options can be used for optional attributes. */ @@ -75,6 +90,7 @@ object Test extends AnyRef with Assert { val x2: Option[Seq[Node]] = None val n2 = ; println("node="+n2+", key="+n2.attribute("key")) +>>>>>>> .r13822 } } -- cgit v1.2.3