Scales Xml - a very different Scala XML library
Scales Xml provides both a more flexible approach to XML handling and a simplified way of interacting with XML.
It also fits nicely with the Java APIs you know, TrAX and javax.xml.validation for example, allowing you to run XSLTs and convert to and from Scales XML and other DOMs.
It provides a far more XPath like experience than the normal Scala XML, Paths look like XPaths and work like them too (with many of the same functions and axes).
A number of the pain points of Scala XML are also simply removed, want to change an attribute? Just do it on the Element. Want to match against a namespace, why not?? All name access is fully qualified. Want to transform all children matching a condition via a Path, that works too. If sorting the attributes on serializing is of interest to you, plugin a Serializer.
A very flexible XML stream handling approach is based upon StAX and Iteratees (courtesy of Scalaz) which uses the same model as the tree based, no separate event hierarchy needed.
See http://code.google.com/p/scala-scales/ for the current release status and links to the release sites.