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.

class Object
trait Matchable
class Any
Utility.type

Type members

Classlikes

object Escapes

Value members

Concrete methods

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

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

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

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

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.

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.

Adds all namespaces in node to set.

Adds all namespaces in node to set.

final def escape(text: String): String

Escapes the characters < > & and " from string.

Escapes the characters < > & and " from string.

Appends escaped string to s.

Appends escaped string to s.

def getName(s: String, index: Int): String
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

def parseCharRef(ch: () => Char, nextch: () => Unit, reportSyntaxError: String => Unit, reportTruncatedError: String => Unit): String

See [66]

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

See [66]

final def prefix(name: String): Option[String]

Returns prefix of qualified name if any.

Returns prefix of qualified name if any.

def sequenceToXML(children: Seq[Node], pscope: NamespaceBinding, sb: StringBuilder, stripComments: Boolean, decodeEntities: Boolean, preserveWhitespace: Boolean, minimizeTags: Value): Unit
def serialize(x: Node, pscope: NamespaceBinding, sb: StringBuilder, stripComments: Boolean, decodeEntities: Boolean, preserveWhitespace: Boolean, minimizeTags: Value): StringBuilder

Serialize an XML Node to a StringBuilder.

Serialize an XML Node to a StringBuilder.

This is essentially a minor rework of toXML that can't have the same name due to an unfortunate combination of named/default arguments and overloading.

Todo:

use a Writer instead

returns a sorted attribute list

returns a sorted attribute list

def sort(n: Node): Node

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

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

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. 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.

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)

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

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

Appends unescaped string to s, amp becomes &amp;, lt becomes &lt; etc..

Appends unescaped string to s, amp becomes &amp;, lt becomes &lt; etc..

Returns:

'''null''' if ref was not a predefined entity.

Deprecated methods

@deprecated("Please use `serialize` instead and specify a `minimizeTags` parameter", "2.10.0")
def toXML(x: Node, pscope: NamespaceBinding, sb: StringBuilder, stripComments: Boolean, decodeEntities: Boolean, preserveWhitespace: Boolean, minimizeTags: Boolean): StringBuilder

Serialize the provided Node to the provided StringBuilder.

Serialize the provided Node to the provided StringBuilder.

Note that calling this source-compatible method will result in the same old, arguably almost universally unwanted, behaviour.

Deprecated

Inherited methods

Inherited from:
TokenTests
Inherited from:
TokenTests

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.

Inherited from:
TokenTests
Inherited from:
TokenTests

See [5] of XML 1.0 specification.

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

See [5] of XML 1.0 specification.

Inherited from:
TokenTests

See [4] and [4a] of Appendix B of XML 1.0 specification.

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

See [4] and [4a] of Appendix B of XML 1.0 specification.

Inherited from:
TokenTests

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 [4] and Appendix B of XML 1.0 specification

Inherited from:
TokenTests
Inherited from:
TokenTests
final def isSpace(cs: Seq[Char]): Boolean
(#x20 | #x9 | #xD | #xA)+
Inherited from:
TokenTests
final def isSpace(ch: Char): Boolean
(#x20 | #x9 | #xD | #xA)
Inherited from:
TokenTests
def isValidIANAEncoding(ianaEncoding: Seq[Char]): Boolean

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.

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.

Value parameters:
ianaEncoding

The IANA encoding name.

Inherited from:
TokenTests

Concrete fields

final val SU: '\u001a'

Implicits

Implicits