final class ScalaXmlElem extends CanBeScalaXmlDocumentChild with Elem with ScopedElemLike
Wrapper around scala.xml.Elem
, conforming to the eu.cdevreeze.yaidom.queryapi.ElemApi API.
See the documentation of the mixed-in query API trait(s) for more details on the uniform query API offered by this class.
Keep in mind that the HasENameApi
specific part of the API is a broken abstraction. If the wrapped Scala XML element
misses some namespace declarations for used element or attribute names, these element and/or attribute names
cannot be resolved, and exceptions are thrown when querying for them! The ElemApi
part of the API does not
suffer from this broken abstraction, so is less dangerous to use.
The wrapper instances are very light-weight, and typically very short-lived. On the other hand, each query may create many wrapper instances for the query results. By design, the only state of each wrapper instance is the wrapped Scala XML Elem.
- Alphabetic
- By Inheritance
- ScalaXmlElem
- ScopedElemLike
- ClarkElemLike
- HasText
- HasEName
- IsNavigable
- ElemLike
- Elem
- ScopedElemApi
- HasScopeApi
- HasQNameApi
- Elem
- HasChildNodesApi
- AnyElemNodeApi
- ClarkElemApi
- HasTextApi
- HasENameApi
- IsNavigableApi
- ElemApi
- AnyElemApi
- Elem
- CanBeScalaXmlDocumentChild
- CanBeDocumentChild
- CanBeDocumentChild
- CanBeDocumentChild
- ScalaXmlNode
- Node
- Node
- Node
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ScalaXmlElem(wrappedNode: Elem)
Type Members
- type DomType = Elem
- Definition Classes
- ScalaXmlElem → ScalaXmlNode
- type ThisElem = ScalaXmlElem
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
- ScalaXmlElem → ScopedElemLike → ClarkElemLike → IsNavigable → ElemLike → Elem → ScopedElemApi → Elem → HasChildNodesApi → ClarkElemApi → IsNavigableApi → ElemApi → AnyElemApi
- type ThisNode = ScalaXmlNode
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
- ScalaXmlElem → Elem → Elem → AnyElemNodeApi
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 \(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Shorthand for
filterChildElems(p)
. - final def \@(expandedName: EName): Option[String]
Shorthand for
attributeOption(expandedName)
.Shorthand for
attributeOption(expandedName)
.- Definition Classes
- HasEName → HasENameApi
- final def \\(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Shorthand for
filterElemsOrSelf(p)
. - final def \\!(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Shorthand for
findTopmostElemsOrSelf(p)
. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final 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
- HasEName → HasENameApi
- final 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
- ScopedElemLike → ScopedElemApi
- final 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
- ScopedElemLike → ScopedElemApi
- final 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
- ScopedElemLike → ScopedElemApi
- final 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
- ScopedElemLike → ScopedElemApi
- final 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
- HasEName → HasENameApi
- def attributes: IndexedSeq[(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
- ScalaXmlElem → HasQNameApi
- def children: IndexedSeq[ScalaXmlNode]
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
- ScalaXmlElem → HasChildNodesApi
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.CloneNotSupportedException])
- def commentChildren: IndexedSeq[ScalaXmlComment]
Returns the comment children
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def equals(obj: Any): Boolean
- Definition Classes
- ScalaXmlNode → AnyRef → Any
- final def filterChildElems(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Returns the child elements obeying the given predicate.
- final def filterElems(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Returns the descendant elements obeying the given predicate, in document order.
- final 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
. - def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def findAllChildElems: IndexedSeq[ScalaXmlElem]
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
- ScalaXmlElem → ElemLike → ElemApi
- final def findAllChildElemsWithPathEntries: IndexedSeq[(ThisElem, Entry)]
Returns all child elements paired with their path entries.
Returns all child elements paired with their path entries.
This method is final, so more efficient implementations for sub-types are not supported. This implementation is only efficient if finding all child elements as well as computing their resolved names is efficient. That is not the case for DOM wrappers or Scala XML Elem wrappers (due to their expensive Scope computations). On the other hand, those wrapper element implementations are convenient, but not intended for heavy use in production. Hence, this method should typically be fast enough.
- Definition Classes
- ClarkElemLike → IsNavigable → IsNavigableApi
- final def findAllElems: IndexedSeq[ThisElem]
Returns all descendant elements (not including this element), in document order.
- final def findAllElemsOrSelf: IndexedSeq[ThisElem]
Returns this element followed by all descendant elements (that is, the descendant-or-self elements), in document order.
- final 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
- HasEName → HasENameApi
- final def findChildElem(p: (ThisElem) ⇒ Boolean): Option[ThisElem]
Returns the first found child element obeying the given predicate, if any, wrapped in an
Option
. - final 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
.This method is final, so more efficient implementations for sub-types are not supported. This implementation is only efficient if finding all child elements as well as computing their resolved names is efficient. That is not the case for DOM wrappers or Scala XML Elem wrappers (due to their expensive Scope computations). On the other hand, those wrapper element implementations are convenient, but not intended for heavy use in production. Hence, this method should typically be fast enough.
- Definition Classes
- ClarkElemLike → IsNavigable → IsNavigableApi
- final def findElem(p: (ThisElem) ⇒ Boolean): Option[ThisElem]
Returns the first found (topmost) descendant element obeying the given predicate, if any, wrapped in an
Option
. - final 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
. - final 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
- IsNavigable → IsNavigableApi
- final 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
- IsNavigable → IsNavigableApi
- final def findTopmostElems(p: (ThisElem) ⇒ Boolean): IndexedSeq[ThisElem]
Returns the descendant elements obeying the given predicate that have no ancestor obeying the predicate.
- final 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)))
- final def getChildElem(p: (ThisElem) ⇒ Boolean): ThisElem
Returns the single child element obeying the given predicate, and throws an exception otherwise.
- final def getChildElemByPathEntry(entry: Entry): ThisElem
Returns (the equivalent of)
findChildElemByPathEntry(entry).get
Returns (the equivalent of)
findChildElemByPathEntry(entry).get
- Definition Classes
- IsNavigable → IsNavigableApi
- final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def getElemOrSelfByPath(path: Path): ThisElem
Returns (the equivalent of)
findElemOrSelfByPath(path).get
Returns (the equivalent of)
findElemOrSelfByPath(path).get
- Definition Classes
- IsNavigable → IsNavigableApi
- final def getReverseAncestryOrSelfByPath(path: Path): IndexedSeq[ThisElem]
Returns (the equivalent of)
findReverseAncestryOrSelfByPath(path).get
Returns (the equivalent of)
findReverseAncestryOrSelfByPath(path).get
- Definition Classes
- IsNavigable → IsNavigableApi
- final def hashCode(): Int
- Definition Classes
- ScalaXmlNode → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final 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
- HasEName → HasENameApi
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nodeKind: NodeKind
- final def normalizedText: String
Returns
XmlStringUtils.normalizeString(text)
.Returns
XmlStringUtils.normalizeString(text)
.- Definition Classes
- HasText → HasTextApi
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def qname: QName
The QName of the element
The QName of the element
- Definition Classes
- ScalaXmlElem → HasQNameApi
- def resolvedAttributes: IndexedSeq[(EName, String)]
Returns the "resolved attributes".
Returns the "resolved attributes". Note that there is no guarantee that the attributes names can be resolved!
- Definition Classes
- ScalaXmlElem → HasENameApi
- def resolvedName: EName
Returns the resolved name of the element.
Returns the resolved name of the element. Note that there is no guarantee that the element name can be resolved!
- Definition Classes
- ScalaXmlElem → HasENameApi
- def scope: Scope
Returns the scope of the element.
Returns the scope of the element. Note that there is no guarantee that this scope is complete!
- Definition Classes
- ScalaXmlElem → HasScopeApi
- final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def text: String
Returns the concatenation of the texts of text children, including whitespace and CData.
Returns the concatenation of the texts of text children, including whitespace and CData. Non-text children are ignored. If there are no text children, the empty string is returned.
- Definition Classes
- ScalaXmlElem → HasTextApi
- final def textAsQName: QName
Returns
QName(text.trim)
Returns
QName(text.trim)
- Definition Classes
- ScopedElemLike → ScopedElemApi
- final def textAsResolvedQName: EName
Returns the equivalent of
scope.resolveQNameOption(textAsQName).get
Returns the equivalent of
scope.resolveQNameOption(textAsQName).get
- Definition Classes
- ScopedElemLike → ScopedElemApi
- def textChildren: IndexedSeq[ScalaXmlText]
Returns the text children
- def thisElem: ThisElem
This element itself.
This element itself.
- Definition Classes
- ScalaXmlElem → AnyElemApi
- final def toString(): String
- Definition Classes
- ScalaXmlNode → AnyRef → Any
- final def trimmedText: String
Returns
text.trim
.Returns
text.trim
.- Definition Classes
- HasText → HasTextApi
- 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
- @native() @throws(classOf[java.lang.InterruptedException])
- val wrappedNode: Elem
- Definition Classes
- ScalaXmlElem → ScalaXmlNode