trait Elem extends CanBeDocumentChild with ClarkNodes.Elem with ScopedElemApi with HasChildNodesApi
Arbitrary element node, offering the ScopedElemApi with HasChildNodesApi
element query API
- Alphabetic
- By Inheritance
- Elem
- ScopedElemApi
- HasScopeApi
- HasQNameApi
- Elem
- HasChildNodesApi
- AnyElemNodeApi
- ClarkElemApi
- IsNavigableApi
- ElemApi
- AnyElemApi
- Elem
- CanBeDocumentChild
- CanBeDocumentChild
- CanBeDocumentChild
- Node
- Node
- Node
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type ThisElem <: Elem
The element type itself.
The element type itself. It must be restricted to a sub-type of the query API trait in question.
Concrete element classes will restrict this type to that element class itself.
- Definition Classes
- Elem → ScopedElemApi → Elem → HasChildNodesApi → ClarkElemApi → IsNavigableApi → ElemApi → AnyElemApi
- abstract type ThisNode >: ThisElem <: Node
The node type, that is a super-type of the element type, but also of corresponding text node types etc.
The node type, that is a super-type of the element type, but also of corresponding text node types etc.
- Definition Classes
- Elem → Elem → AnyElemNodeApi
Abstract Value Members
- abstract def \(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Shorthand for
filterChildElems(p)
.Shorthand for
filterChildElems(p)
. Use this shorthand only if the predicate is a short expression.- Definition Classes
- ElemApi
- abstract def \@(expandedName: EName): Option[String]
Shorthand for
attributeOption(expandedName)
.Shorthand for
attributeOption(expandedName)
.- Definition Classes
- ClarkElemApi
- abstract def \\(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Shorthand for
filterElemsOrSelf(p)
.Shorthand for
filterElemsOrSelf(p)
. Use this shorthand only if the predicate is a short expression.- Definition Classes
- ElemApi
- abstract def \\!(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Shorthand for
findTopmostElemsOrSelf(p)
.Shorthand for
findTopmostElemsOrSelf(p)
. Use this shorthand only if the predicate is a short expression.- Definition Classes
- ElemApi
- abstract 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.
- Definition Classes
- ClarkElemApi
- abstract 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
- Definition Classes
- ScopedElemApi
- abstract def attributeAsQNameOption(expandedName: EName): Option[QName]
Returns the QName value of the attribute with the given expanded name, if any, wrapped in an
Option
.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.- Definition Classes
- ScopedElemApi
- abstract 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
- Definition Classes
- ScopedElemApi
- abstract 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
.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.- Definition Classes
- ScopedElemApi
- abstract 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
.- Definition Classes
- ClarkElemApi
- abstract 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
- Definition Classes
- HasQNameApi
- abstract 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.).
- Definition Classes
- HasChildNodesApi
- abstract def filterChildElems(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Returns the child elements obeying the given predicate.
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)
- Definition Classes
- ElemApi
- abstract def filterElems(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Returns the descendant elements obeying the given predicate, in document order.
Returns the descendant elements obeying the given predicate, in document order. This method could be defined as:
this.findAllChildElems flatMap (_.filterElemsOrSelf(p))
- Definition Classes
- ElemApi
- abstract def filterElemsOrSelf(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Returns the descendant-or-self elements obeying the given predicate, in document order.
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
.- Definition Classes
- ElemApi
- abstract def findAllChildElems: IndexedSeq[ThisElem]
Core method that returns all child elements, in the correct order.
Core method that returns all child elements, in the correct order. Other operations can be defined in terms of this one.
- Definition Classes
- ElemApi
- abstract def findAllChildElemsWithPathEntries: IndexedSeq[(ThisElem, Entry)]
Returns all child elements paired with their path entries.
Returns all child elements paired with their path entries.
- Definition Classes
- IsNavigableApi
- abstract def findAllElems: IndexedSeq[ThisElem]
Returns all descendant elements (not including this element), in document order.
Returns all descendant elements (not including this element), in document order. This method could be defined as
filterElems { e => true }
. Equivalent tofindAllElemsOrSelf.drop(1)
.- Definition Classes
- ElemApi
- abstract def findAllElemsOrSelf: IndexedSeq[ThisElem]
Returns this element followed by all descendant elements (that is, the descendant-or-self elements), in document order.
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 }
.- Definition Classes
- ElemApi
- abstract 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
.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.- Definition Classes
- ClarkElemApi
- abstract def findChildElem(p: (ThisElem) => Boolean): Option[ThisElem]
Returns the first found child element obeying the given predicate, if any, wrapped in an
Option
.Returns the first found child element obeying the given predicate, if any, wrapped in an
Option
. This method could be defined asfilterChildElems(p).headOption
.- Definition Classes
- ElemApi
- abstract def findChildElemByPathEntry(entry: Entry): Option[ThisElem]
Finds the child element with the given
Path.Entry
(where this element is the root), if any, wrapped in anOption
.Finds the child element with the given
Path.Entry
(where this element is the root), if any, wrapped in anOption
.Typically this method must be very efficient, in order for methods like findElemOrSelfByPath to be efficient.
- Definition Classes
- IsNavigableApi
- abstract def findElem(p: (ThisElem) => Boolean): Option[ThisElem]
Returns the first found (topmost) descendant element obeying the given predicate, if any, wrapped in an
Option
.Returns the first found (topmost) descendant element obeying the given predicate, if any, wrapped in an
Option
. This method could be defined asfilterElems(p).headOption
.- Definition Classes
- ElemApi
- abstract 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
.Returns the first found (topmost) descendant-or-self element obeying the given predicate, if any, wrapped in an
Option
. This method could be defined asfilterElemsOrSelf(p).headOption
.- Definition Classes
- ElemApi
- abstract def findElemOrSelfByPath(path: Path): Option[ThisElem]
Finds the element with the given
Path
(where this element is the root), if any, wrapped in anOption
.Finds the element with the given
Path
(where this element is the root), if any, wrapped in anOption
.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))
- Definition Classes
- IsNavigableApi
- abstract 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.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.
- Definition Classes
- IsNavigableApi
- abstract def findTopmostElems(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Returns the descendant elements obeying the given predicate that have no ancestor obeying the predicate.
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))
- Definition Classes
- ElemApi
- abstract def findTopmostElemsOrSelf(p: (ThisElem) => Boolean): IndexedSeq[ThisElem]
Returns the descendant-or-self elements obeying the given predicate, such that no ancestor obeys the predicate.
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)))
- Definition Classes
- ElemApi
- abstract def getChildElem(p: (ThisElem) => Boolean): ThisElem
Returns the single child element obeying the given predicate, and throws an exception otherwise.
Returns the single child element obeying the given predicate, and throws an exception otherwise. This method could be defined as
findChildElem(p).get
.- Definition Classes
- ElemApi
- abstract def getChildElemByPathEntry(entry: Entry): ThisElem
Returns (the equivalent of)
findChildElemByPathEntry(entry).get
Returns (the equivalent of)
findChildElemByPathEntry(entry).get
- Definition Classes
- IsNavigableApi
- abstract def getElemOrSelfByPath(path: Path): ThisElem
Returns (the equivalent of)
findElemOrSelfByPath(path).get
Returns (the equivalent of)
findElemOrSelfByPath(path).get
- Definition Classes
- IsNavigableApi
- abstract def getReverseAncestryOrSelfByPath(path: Path): IndexedSeq[ThisElem]
Returns (the equivalent of)
findReverseAncestryOrSelfByPath(path).get
Returns (the equivalent of)
findReverseAncestryOrSelfByPath(path).get
- Definition Classes
- IsNavigableApi
- abstract 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
- Definition Classes
- ClarkElemApi
- abstract def normalizedText: String
Returns
XmlStringUtils.normalizeString(text)
.Returns
XmlStringUtils.normalizeString(text)
.- Definition Classes
- ClarkElemApi
- abstract def qname: QName
The QName of the element
The QName of the element
- Definition Classes
- HasQNameApi
- abstract 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
- Definition Classes
- ClarkElemApi
- abstract def resolvedName: EName
The EName of the element
The EName of the element
- Definition Classes
- ClarkElemApi
- abstract def scope: Scope
The Scope stored with the element
The Scope stored with the element
- Definition Classes
- HasScopeApi
- abstract def text: String
Returns the concatenation of the text values of (the implicit) text children, including whitespace and CData.
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.
- Definition Classes
- ClarkElemApi
- abstract def textAsQName: QName
Returns
QName(text.trim)
Returns
QName(text.trim)
- Definition Classes
- ScopedElemApi
- abstract def textAsResolvedQName: EName
Returns the equivalent of
scope.resolveQNameOption(textAsQName).get
Returns the equivalent of
scope.resolveQNameOption(textAsQName).get
- Definition Classes
- ScopedElemApi
- abstract def thisElem: ThisElem
This element itself.
This element itself.
- Definition Classes
- AnyElemApi
- abstract def trimmedText: String
Returns
text.trim
.Returns
text.trim
.- Definition Classes
- ClarkElemApi
Concrete 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 def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nodeKind: NodeKind
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()