Packages

  • package root
    Definition Classes
    root
  • package scala
    Definition Classes
    root
  • package xml

    This library provides support for the XML literal syntax in Scala programs.

    This library provides support for the XML literal syntax in Scala programs.

    val planets: scala.xml.Elem = <planets>
      <planet id="earth">
        <title>Earth</title>
        <mass unit="kg">5.9742e24</mass>
        <radius unit="m">6378.14e3</radius>
      </planet>
      <planet id="mars">
        <title>Mars</title>
        <mass unit="kg">0.64191e24</mass>
        <radius unit="m">3397.0e3</radius>
      </planet>
    </planets>

    Additionally, you can mix Scala expressions in your XML elements by using the curly brace notation:

    val sunMass = 1.99e30
    val sunRadius = 6.96e8
    val star = <star>
      <title>Sun</title>
      <mass unit="kg">{ sunMass }</mass>
      <radius unit="m">{ sunRadius }</radius>
      <surface unit="m²">{ 4 * Math.PI * Math.pow(sunRadius, 2) }</surface>
      <volume unit="m³">{ 4/3 * Math.PI * Math.pow(sunRadius, 3) }</volume>
    </star>

    An XML element, for example <star/> and <planet/>, is represented in this library as a case class, scala.xml.Elem.

    The sub-elements of XML values share a common base class, scala.xml.Node.

    However, the non-element declarations found in XML files share a different common base class, scala.xml.dtd.Decl. Additionally, document type declarations are represented by a different trait, scala.xml.dtd.DTD.

    For reading and writing XML data to and from files, see scala.xml.XML. The default parser of XML data is the Xerces parser and is provided in Java by javax.xml.parsers.SAXParser.

    A less greedy XML reader can return data as a sequential collection of events, see scala.xml.pull.XMLEventReader.

    For more control of the input, use the parser written in Scala that is provided, scala.xml.parsing.ConstructingParser.

    For working with XHTML input, use scala.xml.parsing.XhtmlParser.

    For more control of the output, use the scala.xml.PrettyPrinter.

    Utility methods for working with XML data are provided in scala.xml.Utility.

    XML values in Scala are immutable, but you can traverse and transform XML data with a scala.xml.transform.RuleTransformer.

    Definition Classes
    scala
  • package factory
    Definition Classes
    xml
  • Binder
  • LoggedNodeFactory
  • NodeFactory
  • XMLLoader
t

scala.xml.factory

LoggedNodeFactory

trait LoggedNodeFactory[A <: Node] extends NodeFactory[A]

This class logs what the nodefactory is actually doing. If you want to see what happens during loading, use it like this:

object testLogged extends App {
val x = new scala.xml.parsing.NoBindingFactoryAdapter
with scala.xml.factory.LoggedNodeFactory[scala.xml.Elem] {
override def log(s: String) = println(s)
}

Console.println("Start")
val doc = x.load(new java.net.URL("http://example.com/file.xml"))
Console.println("End")
Console.println(doc)
}
Annotations
@deprecated
Deprecated

(Since version 2.11) This trait will be removed.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LoggedNodeFactory
  2. NodeFactory
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Concrete Value Members

  1. final val CACHE: Int(1)
  2. final val FULL: Int(2)
  3. final val NONE: Int(0)
  4. val cache: HashMap[Int, List[A]]
    Definition Classes
    NodeFactory
  5. def eqElements(ch1: collection.Seq[Node], ch2: collection.Seq[Node]): Boolean
    Definition Classes
    NodeFactory
  6. val ignoreComments: Boolean
    Definition Classes
    NodeFactory
  7. val ignoreProcInstr: Boolean
    Definition Classes
    NodeFactory
  8. def log(msg: String): Unit
  9. val logComment: Boolean
  10. val logCompressLevel: Int

    0 = no logging, 1 = cache hits, 2 = detail

  11. val logNode: Boolean
  12. val logProcInstr: Boolean
  13. val logText: Boolean
  14. def makeComment(s: String): collection.Seq[Comment]
    Definition Classes
    LoggedNodeFactoryNodeFactory
  15. def makeNode(pre: String, label: String, attrSeq: MetaData, scope: NamespaceBinding, children: collection.Seq[Node]): A

    logged version of makeNode method

    logged version of makeNode method

    Definition Classes
    LoggedNodeFactoryNodeFactory
  16. def makeProcInstr(t: String, s: String): collection.Seq[ProcInstr]
    Definition Classes
    LoggedNodeFactoryNodeFactory
  17. def makeText(s: String): Text
    Definition Classes
    LoggedNodeFactoryNodeFactory
  18. def nodeEquals(n: Node, pre: String, name: String, attrSeq: MetaData, scope: NamespaceBinding, children: collection.Seq[Node]): Boolean
    Definition Classes
    NodeFactory