Xmlixir.XPath.Parser (xmlixir v0.1.0)

Copy Markdown

XPath 1.0 expression parser.

The parser deliberately returns a small, binary-native AST. It does not expose xmerl records and keeps source names as binaries.

Summary

Types

ast()

@type ast() ::
  {:literal, binary()}
  | {:number, binary()}
  | {:variable, binary()}
  | {:value, term()}
  | {:function, binary(), [ast()]}
  | {:binary, binary(), ast(), ast()}
  | {:unary, binary(), ast()}
  | {:path, atom(), [ast()]}
  | {:step, atom(), ast(), [ast()]}
  | {:test, atom(), binary() | nil}
  | {:filter, ast(), [ast()]}

Functions

parse(source)

@spec parse(binary()) :: {:ok, ast()} | {:error, term()}

parse!(source)