Packages

  • package root
    Definition Classes
    root
  • package io
    Definition Classes
    root
  • package dylemma
    Definition Classes
    io
  • package spac

    SPaC (short for "Streaming Parser Combinators") is a library for building stream consumers in a declarative style, specialized for tree-like data types like XML and JSON.

    SPaC (short for "Streaming Parser Combinators") is a library for building stream consumers in a declarative style, specialized for tree-like data types like XML and JSON.

    Many utilities for handling XML and JSON data involve parsing the entire "document" to some DOM model, then inspecting and transforming that model to extract information. The downside to these utilities is that when the document is very large, the DOM may not fit in memory. The workaround for this type of problem is to treat the document as a stream of "events", e.g. "StartElement" and "EndElement" for XML, or "StartObject" and "EndObject" for JSON. The downside to this workaround is that writing code to handle these streams can be complicated and error-prone, especially when the DOM is complicated.

    SPaC's goal is to drastically simplify the process of creating code to handle these streams.

    This package contains the "core" SPaC traits; Parser, Transformer, Splitter, and ContextMatcher.

    See the xml and json subpackages (provided by the xml-spac and json-spac libraries respectively) for specific utilities related to handling XML and JSON event streams.

    Definition Classes
    dylemma
  • package xml

    This package provides extensions to the core "spac" library which allow for the handling of XML data.

    This package provides extensions to the core "spac" library which allow for the handling of XML data.

    Rather than creating explicit classes that extend Parser, Transformer, and Splitter, this package provides type aliases and implicit extensions. For example, XmlParser[A] is just a type alias for Parser[XmlEvent, A], and XmlParser is just a call to Parser[XmlEvent].

    Three main Parser methods are added to Parser[XmlEvent] via the XmlParserApplyOps implicit class:

    • XmlParser.forText - for capturing raw text
    • XmlParser.attr - for capturing mandatory attributes from elements
    • XmlParser.attrOpt - for capturing optional attributes from elements

    One main Splitter constructor method is added to Splitter via the XmlSplitterApplyOps implicit class:

    • Splitter.xml - for creating splitters based on an inspection of an "element stack"

    Three main Splitter member methods are added to Splitter[XmlEvent, C] via the XmlSplitterOps implicit class:

    • .attr - alias for .joinBy(XmlParser.attr(...))
    • .attrOpt - alias for .joinBy(XmlParser.attrOpt(...))
    • .text - alias for .joinBy(XmlParser.forText)

    A DSL for creating xml-specific ContextMatchers is provided to make it more convenient to call Splitter.xml. For example:

    Splitter.xml("things" \ "thing").attr("foo").parseToList

    Can be used to capture a list of the "foo" attributes in the <thing> elements in

    <things>
       <thing foo="hello" />
       <thing foo="Goodbye">
          <extra>junk</extra>
       </thing>
    </thing>
    Definition Classes
    spac
  • AsQName
  • Fs2DataQName
  • Fs2DataSource
  • JavaxQName
  • JavaxSource
  • XmlEvent
  • XmlParserApplyOps
  • XmlSpacException
  • XmlSplitterApplyOps
  • XmlSplitterOps
c

io.dylemma.spac.xml

XmlSplitterApplyOps

implicit final class XmlSplitterApplyOps extends AnyVal

Adds Splitter.xml, for constructing element matcher-based XmlSplitters.

Source
package.scala
Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. XmlSplitterApplyOps
  2. AnyVal
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  5. by elem
  6. by elem
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new XmlSplitterApplyOps(splitter: Splitter.type)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##(): Int
    Definition Classes
    Any
  3. def &[A1 >: A, B, R](that: SingleItemContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[ElemStart, R]

    Operator version of and

    Operator version of and

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  4. def &[A1 >: A, B, R](that: SingleItemContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[ElemStart, R]

    Operator version of and

    Operator version of and

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  5. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toany2stringadd[XmlSplitterApplyOps] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  6. def ->[B](y: B): (XmlSplitterApplyOps, B)
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toArrowAssoc[XmlSplitterApplyOps] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  7. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  8. def \[A1 >: A, B, R](next: ContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): ContextMatcher[ElemStart, R]

    Create a new matcher by forming a chain with this matcher at the front, and the next matcher at the back.

    Create a new matcher by forming a chain with this matcher at the front, and the next matcher at the back. In other words, a matcher for a context within another context.

    A1

    To satisfy covariance on A

    B

    The next matcher's context type

    R

    The "reduced" content type, derived from the tuple type (A, B) based on the reduce rule.

    next

    A matcher which will be used to match the "inner" context

    reduce

    The TypeReduce rule to help omit Unit from the resulting context type

    returns

    A matcher which delegates to this matcher first, then the next matcher for the remaining stack.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher
  9. def \[A1 >: A, B, R](next: ContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): ContextMatcher[ElemStart, R]

    Create a new matcher by forming a chain with this matcher at the front, and the next matcher at the back.

    Create a new matcher by forming a chain with this matcher at the front, and the next matcher at the back. In other words, a matcher for a context within another context.

    A1

    To satisfy covariance on A

    B

    The next matcher's context type

    R

    The "reduced" content type, derived from the tuple type (A, B) based on the reduce rule.

    next

    A matcher which will be used to match the "inner" context

    reduce

    The TypeReduce rule to help omit Unit from the resulting context type

    returns

    A matcher which delegates to this matcher first, then the next matcher for the remaining stack.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher
  10. def and[A1 >: A, B, R](that: SingleItemContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[ElemStart, R]

    Creates a new single-element matcher which combines the results of both this matcher and that matcher.

    Creates a new single-element matcher which combines the results of both this matcher and that matcher. Both this and that will operate on the first element of the stack (as opposed to Chained matchers).

    A1

    To satisfy covariance on A

    B

    The other matcher's result type

    R

    The combined result type

    that

    The matcher to combine

    reduce

    The TypeReduce rule for combining the two match results

    returns

    A new matcher which combines the results of this and that

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  11. def and[A1 >: A, B, R](that: SingleItemContextMatcher[ElemStart, B])(implicit reduce: Aux[A1, B, R]): SingleItemContextMatcher[ElemStart, R]

    Creates a new single-element matcher which combines the results of both this matcher and that matcher.

    Creates a new single-element matcher which combines the results of both this matcher and that matcher. Both this and that will operate on the first element of the stack (as opposed to Chained matchers).

    A1

    To satisfy covariance on A

    B

    The other matcher's result type

    R

    The combined result type

    that

    The matcher to combine

    reduce

    The TypeReduce rule for combining the two match results

    returns

    A new matcher which combines the results of this and that

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. def ensuring(cond: (XmlSplitterApplyOps) => Boolean, msg: => Any): XmlSplitterApplyOps
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toEnsuring[XmlSplitterApplyOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: (XmlSplitterApplyOps) => Boolean): XmlSplitterApplyOps
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toEnsuring[XmlSplitterApplyOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean, msg: => Any): XmlSplitterApplyOps
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toEnsuring[XmlSplitterApplyOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean): XmlSplitterApplyOps
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toEnsuring[XmlSplitterApplyOps] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toStringFormat[XmlSplitterApplyOps] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  18. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def or[A2 >: A](that: SingleItemContextMatcher[ElemStart, A2]): SingleItemContextMatcher[ElemStart, A2]

    Specialization of the default or method, specifically for SingleElementContextMatchers

    Specialization of the default or method, specifically for SingleElementContextMatchers

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  21. def or[A2 >: A](that: ContextMatcher[ElemStart, A2]): ContextMatcher[ElemStart, A2]

    Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.

    Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.

    A2

    The resulting context type (common supertype between this matcher and that)

    that

    The matcher which will be used as the fallback

    returns

    A matcher that falls back to another matcher in case of failure

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher
  22. def or[A2 >: A](that: SingleItemContextMatcher[ElemStart, A2]): SingleItemContextMatcher[ElemStart, A2]

    Specialization of the default or method, specifically for SingleElementContextMatchers

    Specialization of the default or method, specifically for SingleElementContextMatchers

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  23. def or[A2 >: A](that: ContextMatcher[ElemStart, A2]): ContextMatcher[ElemStart, A2]

    Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.

    Create a new ContextMatcher which will fall back to a second matcher in the event that this matcher fails to match a context.

    A2

    The resulting context type (common supertype between this matcher and that)

    that

    The matcher which will be used as the fallback

    returns

    A matcher that falls back to another matcher in case of failure

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher
  24. val splitter: Splitter.type
  25. def toString(): String
    Definition Classes
    Any
  26. def xml[C](matcher: ContextMatcher[ElemStart, C])(implicit pos: CallerPos): XmlSplitter[C]

    Creates a Splitter over XmlEvents using the given matcher to determine where sub-streams start and end.

    Creates a Splitter over XmlEvents using the given matcher to determine where sub-streams start and end. For example, Splitter.xml(* \ "foo") when applied to the xml:

    <elem>
       <foo>hello</foo>
       <foo>goodbye</foo>
    </elem>

    would identify the first and second <foo> elements as separate substreams, containing the events ElemStart(foo), Text(hello), ElemEnd(foo) and ElemStart(foo), Text(goodbye), ElemEnd(foo) respectively.

    Any context matched by the matcher will be passed to the "joiner" functions, e.g. flatMap and map.

    C

    The context type returned by the matcher

    matcher

    A ContextMatcher used to identify where each sub-stream begins and ends, and extracts some context value to identify each sub-stream.

    pos

    Used to construct a SpacFrameElement if a parser constructed from this splitter fails

    returns

    A new Splitter that splits the source into sub-streams identified by the matcher

  27. def |[A2 >: A](that: SingleItemContextMatcher[ElemStart, A2]): SingleItemContextMatcher[ElemStart, A2]

    Operator version of or, specialized for SingleElementContextMatchers

    Operator version of or, specialized for SingleElementContextMatchers

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  28. def |[A2 >: A](that: ContextMatcher[ElemStart, A2]): ContextMatcher[ElemStart, A2]

    Operator version of or

    Operator version of or

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher
  29. def |[A2 >: A](that: SingleItemContextMatcher[ElemStart, A2]): SingleItemContextMatcher[ElemStart, A2]

    Operator version of or, specialized for SingleElementContextMatchers

    Operator version of or, specialized for SingleElementContextMatchers

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    SingleItemContextMatcher
  30. def |[A2 >: A](that: ContextMatcher[ElemStart, A2]): ContextMatcher[ElemStart, A2]

    Operator version of or

    Operator version of or

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Definition Classes
    ContextMatcher

Shadowed Implicit Value Members

  1. def apply(stack: IndexedSeq[ElemStart], offset: Int, avail: Int): Option[Unit]

    The main context match method.

    The main context match method.

    Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value of A, the implementation must then pass the remaining elements of the stack to the next matcher, i.e. by calling next(stack, offset + numConsumed, avail - numConsumed).

    The difference between this method and applyChained is the lack of the next parameter; in this method, the current matcher is assumed to be the end of the chain.

    stack

    A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by offset and avail.

    offset

    The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at stack(offset)

    avail

    The number of elements available in the stack starting from the offset.

    returns

    An option containing the successfully-matched context, or None.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).apply(stack, offset, avail)
    Definition Classes
    ContextMatcher
  2. def apply(stack: IndexedSeq[ElemStart], offset: Int, avail: Int): Option[Unit]

    The main context match method.

    The main context match method.

    Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value of A, the implementation must then pass the remaining elements of the stack to the next matcher, i.e. by calling next(stack, offset + numConsumed, avail - numConsumed).

    The difference between this method and applyChained is the lack of the next parameter; in this method, the current matcher is assumed to be the end of the chain.

    stack

    A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by offset and avail.

    offset

    The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at stack(offset)

    avail

    The number of elements available in the stack starting from the offset.

    returns

    An option containing the successfully-matched context, or None.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).apply(stack, offset, avail)
    Definition Classes
    ContextMatcher
  3. def applyChained[B](stack: IndexedSeq[ElemStart], offset: Int, avail: Int, next: ContextMatcher[ElemStart, B]): Option[(Unit, B)]

    The underlying context match method.

    The underlying context match method.

    Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value of A, the implementation must then pass the remaining elements of the stack to the next matcher, i.e. by calling next(stack, offset + numConsumed, avail - numConsumed).

    The next matcher is necessary in order to support non-greedy matchers, e.g. ContextMatcher.variableLength, a.k.a. **. Without a reference to the next matcher in the chain, matcher implementations would be forced to pick a fixed number of elements for matching, never knowing that the overall match could have succeeded if they had consumed some additional elements.

    B

    The next matcher's context type

    stack

    A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by offset and avail.

    offset

    The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at stack(offset)

    avail

    The number of elements available in the stack starting from the offset.

    next

    The next matcher in the chain.

    returns

    If the match succeeded, and the next match succeded, an Option containing a tuple of both match results. If the match failed, or if the next match failed, None.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).applyChained(stack, offset, avail, next)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  4. def applyChained[B](stack: IndexedSeq[ElemStart], offset: Int, avail: Int, next: ContextMatcher[ElemStart, B]): Option[(Unit, B)]

    The underlying context match method.

    The underlying context match method.

    Inspects the elements in the XML "tag stack", which is essentially a List[StartElement], but for performance reasons is represented as an array with an "offset" index and a number of available elements from that offset. If the elements correspond to a context value of A, the implementation must then pass the remaining elements of the stack to the next matcher, i.e. by calling next(stack, offset + numConsumed, avail - numConsumed).

    The next matcher is necessary in order to support non-greedy matchers, e.g. ContextMatcher.variableLength, a.k.a. **. Without a reference to the next matcher in the chain, matcher implementations would be forced to pick a fixed number of elements for matching, never knowing that the overall match could have succeeded if they had consumed some additional elements.

    B

    The next matcher's context type

    stack

    A reference to the complete XML "tag stack". Note that the responsibility of this method is limited to a *slice* of this value, as defined by offset and avail.

    offset

    The index of the first element to be considered by the matching logic. From this method's point of view, the "first" element in the stack is actually at stack(offset)

    avail

    The number of elements available in the stack starting from the offset.

    next

    The next matcher in the chain.

    returns

    If the match succeeded, and the next match succeded, an Option containing a tuple of both match results. If the match failed, or if the next match failed, None.

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).applyChained(stack, offset, avail, next)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  5. def applyElem(elem: ElemStart): Option[Unit]

    The matching operation for single-element matchers.

    The matching operation for single-element matchers.

    elem

    The first element in the XML tag stack

    returns

    Some(context) for a successful match, None otherwise

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).applyElem(elem)
    Definition Classes
    SingleItemContextMatcher
  6. def applyElem(elem: ElemStart): Option[Unit]

    The matching operation for single-element matchers.

    The matching operation for single-element matchers.

    elem

    The first element in the XML tag stack

    returns

    Some(context) for a successful match, None otherwise

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).applyElem(elem)
    Definition Classes
    SingleItemContextMatcher
  7. def filter(p: (Unit) => Boolean): SingleItemContextMatcher[ElemStart, Unit]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f. If f returns false, the match is unsuccessful.

    p

    The filter predicate, i.e. the validation function

    returns

    A new matcher with validated results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).filter(p)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  8. def filter(p: (Unit) => Boolean): SingleItemContextMatcher[ElemStart, Unit]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the validation function f. If f returns false, the match is unsuccessful.

    p

    The filter predicate, i.e. the validation function

    returns

    A new matcher with validated results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).filter(p)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  9. def flatMap[B](f: (Unit) => Option[B]): SingleItemContextMatcher[ElemStart, B]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f. If f returns None, the match is unsuccessful; if f returns a Some, the value inside is the result of the match.

    B

    The transformed context type

    f

    The transformation/validation function

    returns

    A new matcher with transformed and validated results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).flatMap(f)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  10. def flatMap[B](f: (Unit) => Option[B]): SingleItemContextMatcher[ElemStart, B]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the combined transformation/validation function f. If f returns None, the match is unsuccessful; if f returns a Some, the value inside is the result of the match.

    B

    The transformed context type

    f

    The transformation/validation function

    returns

    A new matcher with transformed and validated results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).flatMap(f)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  11. def map[B](f: (Unit) => B): SingleItemContextMatcher[ElemStart, B]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.

    B

    The transformed context type

    f

    The transformation function

    returns

    A new matcher with transformed results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).map(f)
    Definition Classes
    SingleItemContextMatcherContextMatcher
  12. def map[B](f: (Unit) => B): SingleItemContextMatcher[ElemStart, B]

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.

    Create a new ContextMatcher which takes the match result of this matcher and passes it through the transformation function f.

    B

    The transformed context type

    f

    The transformation function

    returns

    A new matcher with transformed results

    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toElemContextMatcher[Unit] performed by method elem in io.dylemma.spac.xml.This conversion will take place only if an implicit value of type AsQName[XmlSplitterApplyOps] is in scope.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (xmlSplitterApplyOps: ElemContextMatcher[Unit]).map(f)
    Definition Classes
    SingleItemContextMatcherContextMatcher

Deprecated Value Members

  1. def [B](y: B): (XmlSplitterApplyOps, B)
    Implicit
    This member is added by an implicit conversion from XmlSplitterApplyOps toArrowAssoc[XmlSplitterApplyOps] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyVal

Inherited from Any

Inherited by implicit conversion any2stringadd fromXmlSplitterApplyOps to any2stringadd[XmlSplitterApplyOps]

Inherited by implicit conversion StringFormat fromXmlSplitterApplyOps to StringFormat[XmlSplitterApplyOps]

Inherited by implicit conversion Ensuring fromXmlSplitterApplyOps to Ensuring[XmlSplitterApplyOps]

Inherited by implicit conversion ArrowAssoc fromXmlSplitterApplyOps to ArrowAssoc[XmlSplitterApplyOps]

Inherited by implicit conversion elem fromXmlSplitterApplyOps to ElemContextMatcher[Unit]

Inherited by implicit conversion elem fromXmlSplitterApplyOps to ElemContextMatcher[Unit]

Ungrouped