xml_streamer

Token-level XML streaming utilities.

This module exposes the lower-level token stream used by VXML’s streaming XML parser. Most callers can use vxml.parse_xml instead. Use this module when an application needs to inspect or transform XML events before they become a VXML tree.

Types

A token produced by the XML streamer.

pub type Event {
  Newline(blame: blame.Blame)
  TagStartOrdinary(blame: blame.Blame, load: String)
  TagStartXMLVersion(blame: blame.Blame, load: String)
  TagStartDoctype(blame: blame.Blame, load: String)
  TagStartClosing(blame: blame.Blame, load: String)
  InTagWhitespace(blame: blame.Blame, load: String)
  Key(blame: blame.Blame, load: String)
  KeyMalformed(blame: blame.Blame, load: String)
  Assignment(blame: blame.Blame)
  ValueDoubleQuoted(blame: blame.Blame, load: String)
  ValueSingleQuoted(blame: blame.Blame, load: String)
  ValueMalformed(blame: blame.Blame, load: String)
  TagEndOrdinary(blame: blame.Blame)
  TagEndSelfClosing(blame: blame.Blame)
  TagEndXMLVersion(blame: blame.Blame)
  Text(blame: blame.Blame, load: String)
  CommentContents(blame: blame.Blame, load: String)
  CommentStartSequence(blame: blame.Blame)
  CommentEndSequence(blame: blame.Blame)
}

Constructors

Values

pub fn event_digest(e: Event) -> String

Render one token as a debug string.

pub fn input_lines_streamer(
  lines: List(io_lines.InputLine),
) -> List(Event)

Stream XML tokens from input lines.

Search Document