scala.xml

Utility

object Utility extends TokenTests

The Utility object provides utility functions for processing instances of bound and not bound XML classes, as well as escaping text nodes.

Inherits

  1. TokenTests
  2. AnyRef
  3. Any

Value Members

  1. object Escapes extends AnyRef

  2. def appendEscapedQuoted(s: String, sb: StringBuilder): StringBuilder

    Appends "s" and escapes and " i s with \"

    Appends "s" and escapes and " i s with \"

    s

    ...

    sb

    ...

    returns

    ...

  3. def appendQuoted(s: String, sb: StringBuilder): StringBuilder

    Appends "s" if string s does not contain ", 's' otherwise

    Appends "s" if string s does not contain ", 's' otherwise.

    s

    ...

    sb

    ...

    returns

    ...

  4. def appendQuoted(s: String): String

  5. def checkAttributeValue(value: String): String

    Returns null if the value is a correct attribute value, error message if it isn't

    Returns null if the value is a correct attribute value, error message if it isn't.

    value

    ...

    returns

    ...

  6. def checkPubID(s: String): Boolean

  7. def checkSysID(s: String): Boolean

  8. def collectNamespaces(n: Node, set: Set[String]): Unit

    Adds all namespaces in node to set

    Adds all namespaces in node to set.

    n

    ...

    set

    ...

  9. def collectNamespaces(nodes: Seq[Node]): Set[String]

    Returns a set of all namespaces used in a sequence of nodes and all their descendants, including the empty namespaces

    Returns a set of all namespaces used in a sequence of nodes and all their descendants, including the empty namespaces.

    nodes

    ...

    returns

    ...

  10. def equals(arg0: Any): Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    The default implementations of this method is an equivalence relation:

    • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
    • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
    • It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is often necessary to override hashCode to ensure that objects that are "equal" (o1.equals(o2) returns true) hash to the same Int (o1.hashCode.equals(o2.hashCode)).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    definition classes: AnyRef ⇐ Any
  11. def getName(s: String, index: Int): String

    s

    ...

    index

    ...

    returns

    ...

  12. def hashCode(pre: String, label: String, attribHashCode: Int, scpeHash: Int, children: Seq[Node]): Int

    Returns a hashcode for the given constituents of a node

    Returns a hashcode for the given constituents of a node

    label
    attribHashCode
    children
  13. def hashCode(): Int

    Returns a hash code value for the object

    Returns a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    definition classes: AnyRef ⇐ Any
  14. def implicitSbToString(sb: StringBuilder): String

  15. def isAlpha(c: Char): Boolean

    These are 99% sure to be redundant but refactoring on the safe side

    These are 99% sure to be redundant but refactoring on the safe side.

    definition classes: TokenTests
  16. def isAlphaDigit(c: Char): Boolean

  17. def isName(s: String): Boolean

    Name ::= ( Letter | '_' ) (NameChar)*

    Name ::= ( Letter | '_' ) (NameChar)*

    see [5] of XML 1.0 specification

    definition classes: TokenTests
  18. def isNameChar(ch: Char): Boolean

    NameChar ::= Letter | Digit | '

    NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender

    see [4] and Appendix B of XML 1.0 specification

    definition classes: TokenTests
  19. def isNameStart(ch: Char): Boolean

    NameStart ::= ( Letter | '_' ) where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }

    NameStart ::= ( Letter | '_' ) where Letter means in one of the Unicode general categories { Ll, Lu, Lo, Lt, Nl }

    We do not allow a name to start with ':'. see [3] and Appendix B of XML 1.0 specification

    definition classes: TokenTests
  20. def isPubIDChar(ch: Char): Boolean

  21. def isValidIANAEncoding(ianaEncoding: Seq[Char]): Boolean

    Returns true if the encoding name is a valid IANA encoding

    Returns true if the encoding name is a valid IANA encoding. This method does not verify that there is a decoder available for this encoding, only that the characters are valid for an IANA encoding name.

    ianaEncoding

    The IANA encoding name.

    definition classes: TokenTests
  22. def parseAttributeValue(value: String): Seq[Node]

    new

    new

    value

    ...

    returns

    ...

  23. def parseCharRef(ch: () ⇒ Char, nextch: () ⇒ Unit, reportSyntaxError: (String) ⇒ Unit): String

    CharRef ::= "&#" '0'

      CharRef ::= "&#" '0'..'9' {'0'..'9'} ";"
                | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"
    

    see [66]

    ch

    ...

    nextch

    ...

    reportSyntaxError

    ...

    returns

    ...

  24. def sequenceToXML(children: Seq[Node], pscope: NamespaceBinding, sb: StringBuilder, stripComments: Boolean): Unit

  25. def sort(n: Node): Node

    returns the node with its attribute list sorted alphabetically (prefixes are ignored)

    returns the node with its attribute list sorted alphabetically (prefixes are ignored)

  26. def sort(md: MetaData): MetaData

    returns a sorted attribute list

    returns a sorted attribute list

  27. def toString(): String

    Returns a string representation of the object

    Returns a string representation of the object.

    The default representation is platform dependent.

    definition classes: AnyRef ⇐ Any
  28. def toXML(x: Node, pscope: NamespaceBinding, sb: StringBuilder, stripComments: Boolean, decodeEntities: Boolean, preserveWhitespace: Boolean, minimizeTags: Boolean): StringBuilder

  29. def trim(x: Node): Node

    trims an element - call this method, when you know that it is an element (and not a text node) so you know that it will not be trimmed away

    trims an element - call this method, when you know that it is an element (and not a text node) so you know that it will not be trimmed away. With this assumption, the function can return a Node, rather than a Seq[Node]. If you don't know, call trimProper and account for the fact that you may get back an empty sequence of nodes.

    precondition: node is not a text node (it might be trimmed)

  30. def trimProper(x: Node): Seq[Node]

    trim a child of an element

    trim a child of an element. Attribute values and Atom nodes that are not Text nodes are unaffected.