Module exml_stream

XML stream parser.

Copyright © (C) 2011-2021, Erlang Solutions Ltd.

Description

XML stream parser

Data Types

element()

element() = exml_nif:stream_element()

parser()

parser() = #parser{event_parser = exml_nif:parser(), buffer = [binary()]}

infinite_stream - no distinct "stream start" or "stream end", only #xmlel{} will be returned max_child_size - specifies maximum byte size of any child of the root element. The byte size is counted from the start tag until the opening character of its end tag. Disabled if set to 0 (default).

parser_opt()

parser_opt() = {infinite_stream, boolean()} | {max_child_size, non_neg_integer()}

start()

start() = #xmlstreamstart{}

stop()

stop() = #xmlstreamend{}

Function Index

free_parser/1
new_parser/0
new_parser/1
parse/2
reset_parser/1

Function Details

free_parser/1

free_parser(Parser::parser()) -> ok

new_parser/0

new_parser() -> {ok, parser()} | {error, any()}

new_parser/1

new_parser(Opts::[parser_opt()]) -> {ok, parser()} | {error, any()}

parse/2

parse(Parser::parser(), Input::binary()) -> {ok, parser(), [exml_stream:element()]} | {error, Reason::any()}

reset_parser/1

reset_parser(Parser::parser()) -> {ok, parser()}


Generated by EDoc