Elem

Arbitrary element node, offering the ScopedElemApi with HasChildNodesApi element query API

Arbitrary element node, offering the ScopedElemApi with HasChildNodesApi element query API

Companion
object
trait Elem
trait ElemApi
trait Elem
trait Node
trait Node
trait Node
class Object
trait Matchable
class Any
trait Elem
class Elem
class JsDomElem
class Elem

Type members

Types

type ThisElem <: Elem
type ThisNode >: ThisElem <: Node

Value members

Inherited methods

def \(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Shorthand for filterChildElems(p). Use this shorthand only if the predicate is a short expression.

Shorthand for filterChildElems(p). Use this shorthand only if the predicate is a short expression.

Inherited from
ElemApi
def \@(expandedName: EName): Option[String]

Shorthand for attributeOption(expandedName).

Shorthand for attributeOption(expandedName).

Inherited from
ClarkElemApi
def \\(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Shorthand for filterElemsOrSelf(p). Use this shorthand only if the predicate is a short expression.

Shorthand for filterElemsOrSelf(p). Use this shorthand only if the predicate is a short expression.

Inherited from
ElemApi
def \\!(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Shorthand for findTopmostElemsOrSelf(p). Use this shorthand only if the predicate is a short expression.

Shorthand for findTopmostElemsOrSelf(p). Use this shorthand only if the predicate is a short expression.

Inherited from
ElemApi
def attribute(expandedName: EName): String

Returns the value of the attribute with the given expanded name, and throws an exception otherwise.

Returns the value of the attribute with the given expanded name, and throws an exception otherwise.

Inherited from
ClarkElemApi
def attributeAsQName(expandedName: EName): QName

Returns the QName value of the attribute with the given expanded name, and throws an exception otherwise

Returns the QName value of the attribute with the given expanded name, and throws an exception otherwise

Inherited from
ScopedElemApi
def attributeAsQNameOption(expandedName: EName): Option[QName]

Returns the QName value of the attribute with the given expanded name, if any, wrapped in an Option. If the attribute exists, but its value is not a QName, an exception is thrown.

Returns the QName value of the attribute with the given expanded name, if any, wrapped in an Option. If the attribute exists, but its value is not a QName, an exception is thrown.

Inherited from
ScopedElemApi
def attributeAsResolvedQName(expandedName: EName): EName

Returns the resolved QName value (as EName) of the attribute with the given expanded name, and throws an exception otherwise

Returns the resolved QName value (as EName) of the attribute with the given expanded name, and throws an exception otherwise

Inherited from
ScopedElemApi
def attributeAsResolvedQNameOption(expandedName: EName): Option[EName]

Returns the resolved QName value (as EName) of the attribute with the given expanded name, if any, wrapped in an Option. None is returned if the attribute does not exist. If the QName value cannot be resolved given the scope of the element, an exception is thrown.

Returns the resolved QName value (as EName) of the attribute with the given expanded name, if any, wrapped in an Option. None is returned if the attribute does not exist. If the QName value cannot be resolved given the scope of the element, an exception is thrown.

Inherited from
ScopedElemApi
def attributeOption(expandedName: EName): Option[String]

Returns the value of the attribute with the given expanded name, if any, wrapped in an Option.

Returns the value of the attribute with the given expanded name, if any, wrapped in an Option.

Inherited from
ClarkElemApi
def attributes: Iterable[(QName, String)]

The attributes of the element as mapping from QNames to values

The attributes of the element as mapping from QNames to values

Inherited from
HasQNameApi
def children: IndexedSeq[ThisNode]

Returns all child nodes, of any kind of node (element node, text node etc.).

Returns all child nodes, of any kind of node (element node, text node etc.).

Inherited from
HasChildNodesApi
def filterChildElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Returns the child elements obeying the given predicate. This method could be defined as:

Returns the child elements obeying the given predicate. This method could be defined as:

def filterChildElems(p: ThisElem => Boolean): immutable.IndexedSeq[ThisElem] =
 this.findAllChildElems.filter(p)
Inherited from
ElemApi
def filterElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Returns the descendant elements obeying the given predicate, in document order. This method could be defined as:

Returns the descendant elements obeying the given predicate, in document order. This method could be defined as:

this.findAllChildElems flatMap (_.filterElemsOrSelf(p))
Inherited from
ElemApi
def filterElemsOrSelf(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Returns the descendant-or-self elements obeying the given predicate, in document order. This method could be defined as:

Returns the descendant-or-self elements obeying the given predicate, in document order. This method could be defined as:

def filterElemsOrSelf(p: ThisElem => Boolean): immutable.IndexedSeq[ThisElem] =
 Vector(this).filter(p) ++ (this.findAllChildElems flatMap (_.filterElemsOrSelf(p)))

It can be proven that the result is equivalent to findAllElemsOrSelf filter p.

Inherited from
ElemApi
def findAllChildElems: IndexedSeq[ThisElem]

'''Core method''' that returns '''all child elements''', in the correct order. Other operations can be defined in terms of this one.

'''Core method''' that returns '''all child elements''', in the correct order. Other operations can be defined in terms of this one.

Inherited from
ElemApi

Returns all child elements paired with their path entries.

Returns all child elements paired with their path entries.

Inherited from
IsNavigableApi
def findAllElems: IndexedSeq[ThisElem]

Returns all descendant elements (not including this element), in document order. This method could be defined as filterElems { e => true }. Equivalent to findAllElemsOrSelf.drop(1).

Returns all descendant elements (not including this element), in document order. This method could be defined as filterElems { e => true }. Equivalent to findAllElemsOrSelf.drop(1).

Inherited from
ElemApi
def findAllElemsOrSelf: IndexedSeq[ThisElem]

Returns this element followed by all descendant elements (that is, the descendant-or-self elements), in document order. This method could be defined as filterElemsOrSelf { e => true }.

Returns this element followed by all descendant elements (that is, the descendant-or-self elements), in document order. This method could be defined as filterElemsOrSelf { e => true }.

Inherited from
ElemApi
def findAttributeByLocalName(localName: String): Option[String]

Returns the first found attribute value of an attribute with the given local name, if any, wrapped in an Option. Because of differing namespaces, it is possible that more than one such attribute exists, although this is not often the case.

Returns the first found attribute value of an attribute with the given local name, if any, wrapped in an Option. Because of differing namespaces, it is possible that more than one such attribute exists, although this is not often the case.

Inherited from
ClarkElemApi
def findChildElem(p: ThisElem => Boolean): Option[ThisElem]

Returns the first found child element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterChildElems(p).headOption.

Returns the first found child element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterChildElems(p).headOption.

Inherited from
ElemApi

Finds the child element with the given Path.Entry (where this element is the root), if any, wrapped in an Option.

Finds the child element with the given Path.Entry (where this element is the root), if any, wrapped in an Option.

Typically this method must be very efficient, in order for methods like findElemOrSelfByPath to be efficient.

Inherited from
IsNavigableApi
def findElem(p: ThisElem => Boolean): Option[ThisElem]

Returns the first found (topmost) descendant element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterElems(p).headOption.

Returns the first found (topmost) descendant element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterElems(p).headOption.

Inherited from
ElemApi
def findElemOrSelf(p: ThisElem => Boolean): Option[ThisElem]

Returns the first found (topmost) descendant-or-self element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterElemsOrSelf(p).headOption.

Returns the first found (topmost) descendant-or-self element obeying the given predicate, if any, wrapped in an Option. This method could be defined as filterElemsOrSelf(p).headOption.

Inherited from
ElemApi
def findElemOrSelfByPath(path: Path): Option[ThisElem]

Finds the element with the given Path (where this element is the root), if any, wrapped in an Option.

Finds the element with the given Path (where this element is the root), if any, wrapped in an Option.

That is, returns:

findReverseAncestryOrSelfByPath(path).map(_.last)

Note that for each non-empty Path, we have:

findElemOrSelfByPath(path) ==
 findChildElemByPathEntry(path.firstEntry).
   flatMap(_.findElemOrSelfByPath(path.withoutFirstEntry))
Inherited from
IsNavigableApi
def findReverseAncestryOrSelfByPath(path: Path): Option[IndexedSeq[ThisElem]]

Finds the reversed ancestry-or-self of the element with the given Path (where this element is the root), wrapped in an Option. None is returned if no element can be found at the given Path.

Finds the reversed ancestry-or-self of the element with the given Path (where this element is the root), wrapped in an Option. None is returned if no element can be found at the given Path.

Hence, the resulting element collection, if any, starts with this element and ends with the element at the given Path, relative to this element.

This method comes in handy for (efficiently) computing base URIs, where the (reverse) ancestry-or-self is needed as input.

Inherited from
IsNavigableApi
def findTopmostElems(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Returns the descendant elements obeying the given predicate that have no ancestor obeying the predicate. This method could be defined as:

Returns the descendant elements obeying the given predicate that have no ancestor obeying the predicate. This method could be defined as:

this.findAllChildElems flatMap (_.findTopmostElemsOrSelf(p))
Inherited from
ElemApi
def findTopmostElemsOrSelf(p: ThisElem => Boolean): IndexedSeq[ThisElem]

Returns the descendant-or-self elements obeying the given predicate, such that no ancestor obeys the predicate. This method could be defined as:

Returns the descendant-or-self elements obeying the given predicate, such that no ancestor obeys the predicate. This method could be defined as:

def findTopmostElemsOrSelf(p: ThisElem => Boolean): immutable.IndexedSeq[ThisElem] =
 if (p(this)) Vector(this)
 else (this.findAllChildElems flatMap (_.findTopmostElemsOrSelf(p)))
Inherited from
ElemApi
def getChildElem(p: ThisElem => Boolean): ThisElem

Returns the single child element obeying the given predicate, and throws an exception otherwise. This method could be defined as findChildElem(p).get.

Returns the single child element obeying the given predicate, and throws an exception otherwise. This method could be defined as findChildElem(p).get.

Inherited from
ElemApi

Returns (the equivalent of) findChildElemByPathEntry(entry).get

Returns (the equivalent of) findChildElemByPathEntry(entry).get

Inherited from
IsNavigableApi

Returns (the equivalent of) findElemOrSelfByPath(path).get

Returns (the equivalent of) findElemOrSelfByPath(path).get

Inherited from
IsNavigableApi

Returns (the equivalent of) findReverseAncestryOrSelfByPath(path).get

Returns (the equivalent of) findReverseAncestryOrSelfByPath(path).get

Inherited from
IsNavigableApi
def localName: String

The local name, that is, the local part of the EName

The local name, that is, the local part of the EName

Inherited from
ClarkElemApi
final def nodeKind: NodeKind
Inherited from
Elem
def normalizedText: String

Returns XmlStringUtils.normalizeString(text).

Returns XmlStringUtils.normalizeString(text).

Inherited from
ClarkElemApi
def qname: QName

The QName of the element

The QName of the element

Inherited from
HasQNameApi
def resolvedAttributes: Iterable[(EName, String)]

The resolved attributes of the element as mapping from ENames to values

The resolved attributes of the element as mapping from ENames to values

Inherited from
ClarkElemApi

The EName of the element

The EName of the element

Inherited from
ClarkElemApi
def scope: Scope

The Scope stored with the element

The Scope stored with the element

Inherited from
HasScopeApi
def text: String

Returns the concatenation of the text values of (the implicit) text children, including whitespace and CData. Non-text children are ignored. If there are no text children, the empty string is returned.

Returns the concatenation of the text values of (the implicit) text children, including whitespace and CData. Non-text children are ignored. If there are no text children, the empty string is returned.

Therefore, element children are ignored and do not contribute to the resulting text string.

Inherited from
ClarkElemApi

Returns QName(text.trim)

Returns QName(text.trim)

Inherited from
ScopedElemApi

Returns the equivalent of scope.resolveQNameOption(textAsQName).get

Returns the equivalent of scope.resolveQNameOption(textAsQName).get

Inherited from
ScopedElemApi

This element itself.

This element itself.

Inherited from
AnyElemApi
def trimmedText: String

Returns text.trim.

Returns text.trim.

Inherited from
ClarkElemApi