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.
- Alphabetic
- By Inheritance
- Utility
- TokenTests
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final val SU: Char('\u001A')
- def appendEscapedQuoted(s: String, sb: StringBuilder): StringBuilder
Appends "s" and escapes and " i s with \"
- def appendQuoted(s: String, sb: StringBuilder): collection.mutable.StringBuilder
Appends "s" if string
s
does not contain ", 's' otherwise. - def appendQuoted(s: String): String
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def checkAttributeValue(value: String): String
Returns
null
if the value is a correct attribute value, error message if it isn't. - def checkPubID(s: String): Boolean
- Definition Classes
- TokenTests
- def checkSysID(s: String): Boolean
- Definition Classes
- TokenTests
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def collectNamespaces(n: Node, set: Set[String]): Unit
Adds all namespaces in node to set.
- def collectNamespaces(nodes: collection.Seq[Node]): Set[String]
Returns a set of all namespaces used in a sequence of nodes and all their descendants, including the empty namespaces.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def escape(text: String, s: StringBuilder): StringBuilder
Appends escaped string to
s
. - final def escape(text: String): String
Escapes the characters < > & and " from string.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getName(s: String, index: Int): String
- def hashCode(pre: String, label: String, attribHashCode: Int, scpeHash: Int, children: collection.Seq[Node]): Int
Returns a hashcode for the given constituents of a node
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit def implicitSbToString(sb: StringBuilder): String
- 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
- def isAlphaDigit(c: Char): Boolean
- Definition Classes
- TokenTests
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isName(s: String): Boolean
Name ::= ( Letter | '_' ) (NameChar)*
See [5] of XML 1.0 specification.
- Definition Classes
- TokenTests
- def isNameChar(ch: Char): Boolean
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | #xB7 | CombiningChar | Extender
See [4] and [4a] of Appendix B of XML 1.0 specification.
- Definition Classes
- TokenTests
- def isNameStart(ch: Char): Boolean
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- Definition Classes
- TokenTests
- def isPubIDChar(ch: Char): Boolean
- Definition Classes
- TokenTests
- final def isSpace(cs: collection.Seq[Char]): Boolean
(#x20 | #x9 | #xD | #xA)+
- Definition Classes
- TokenTests
- final def isSpace(ch: Char): Boolean
(#x20 | #x9 | #xD | #xA)
- Definition Classes
- TokenTests
- def isValidIANAEncoding(ianaEncoding: collection.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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def parseAttributeValue(value: String): collection.Seq[Node]
- def parseCharRef(ch: () => Char, nextch: () => Unit, reportSyntaxError: (String) => Unit, reportTruncatedError: (String) => Unit): String
CharRef ::= "&#" '0'..'9' {'0'..'9'} ";" | "&#x" '0'..'9'|'A'..'F'|'a'..'f' { hexdigit } ";"
See [66]
- final def prefix(name: String): Option[String]
Returns prefix of qualified name if any.
- def sequenceToXML(children: collection.Seq[Node], pscope: NamespaceBinding = TopScope, sb: StringBuilder = new StringBuilder, stripComments: Boolean = false, decodeEntities: Boolean = true, preserveWhitespace: Boolean = false, minimizeTags: MinimizeMode.Value = MinimizeMode.Default): Unit
- def serialize(x: Node, pscope: NamespaceBinding = TopScope, sb: StringBuilder = new StringBuilder, stripComments: Boolean = false, decodeEntities: Boolean = true, preserveWhitespace: Boolean = false, minimizeTags: MinimizeMode.Value = MinimizeMode.Default): 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.- To do
use a Writer instead
- def sort(n: Node): Node
Return the node with its attribute list sorted alphabetically (prefixes are ignored)
- def sort(md: MetaData): MetaData
returns a sorted attribute list
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 aSeq[Node]
. If you don't know, calltrimProper
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)
- def trimProper(x: Node): collection.Seq[Node]
trim a child of an element.
trim a child of an element.
Attribute
values andAtom
nodes that are notText
nodes are unaffected. - final def unescape(ref: String, s: StringBuilder): StringBuilder
Appends unescaped string to
s
,amp
becomes&
,lt
becomes<
etc..Appends unescaped string to
s
,amp
becomes&
,lt
becomes<
etc..- returns
null
ifref
was not a predefined entity.
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- object Escapes
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def toXML(x: Node, pscope: NamespaceBinding = TopScope, sb: StringBuilder = new StringBuilder, stripComments: Boolean = false, decodeEntities: Boolean = true, preserveWhitespace: Boolean = false, minimizeTags: Boolean = false): 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.
- Annotations
- @deprecated
- Deprecated
(Since version 2.10.0) Please use
serialize
instead and specify aminimizeTags
parameter