View Source yaccety_sax (yaccety_sax v0.2.3)
Link to this section Summary
Link to this section Types
Specs
ext_parser_state() :: parser_state().
Specs
location() :: pos_integer().
Specs
options() :: [{whitespace, boolean()} | {comments, boolean()} | {proc_inst, boolean()} | {base, binary()} | {dtd, processed_dtd()} | {continuation, {Fun :: fun(), State :: any()}} | {external, Fun :: fun()}].
Specs
parser_state() :: #ys_state{}.
Specs
processed_dtd() :: #{name := undefined | qname(), external_id := undefined | {Pub :: binary(), Sys :: binary()}, elems := #{Name :: binary() := empty | any | mixed | {mixed, [binary()]}}, atts := #{{ElemPx :: binary(), ElemLn :: binary()} := #{{AttPx :: binary(), AttLn :: binary()} := term()}}, nots := #{Name :: binary() := {binary(), binary()}}, gen_ents := #{Name :: binary() := binary()}, par_ents := #{Name :: binary() := binary()}, ref_stack := list(), pi_comments := list()}.
Specs
qname() :: {Prefix :: binary(), LocalPart :: binary()} | {NamespaceUri :: binary(), Prefix :: binary(), LocalPart :: binary()}.
Specs
xml_attribute() :: {QName :: qname(), Value :: binary()}.
Specs
xml_characters() :: #{type := characters, line := location(), data := binary(), cdata := boolean(), ignorable := boolean(), space := boolean()}.
Specs
xml_comment() :: #{type := comment, line := location(), text := binary()}.
Specs
xml_dtd() :: #{type := dtd, line := location(), proc := undefined | processed_dtd()}.
Specs
xml_endDocument() :: #{type := endDocument, line := location()}.
Specs
Specs
xml_event() :: xml_characters() | xml_comment() | xml_dtd() | xml_endDocument() | xml_endElement() | xml_processingInstruction() | xml_startDocument() | xml_startElement().
Specs
xml_namespace() :: {Uri :: binary(), Prefix :: binary()}.
Specs
xml_processingInstruction() :: #{type := processingInstruction, line := location(), target := binary(), data := binary()}.
Specs
xml_startDocument() :: #{type := startDocument, line := location(), version := binary(), encoding := binary(), enc_set := boolean(), standalone := boolean(), sa_set := boolean()}.
Specs
xml_startElement() :: #{type := startElement, line := location(), qname := qname(), attributes := [xml_attribute()], namespaces := [xml_namespace()]}.
Link to this section Functions
Specs
event_characters(Data, CData, Ignorable, IsWs, State) -> {Event, State} | State when Data :: binary(), CData :: boolean(), Ignorable :: boolean(), IsWs :: boolean(), State :: ext_parser_state(), Event :: xml_characters().
Specs
event_comment(Text, State) -> {Event, State} when Text :: binary(), State :: ext_parser_state(), Event :: xml_comment().
Specs
event_dtd(Processed :: processed_dtd(), State :: ext_parser_state()) -> {xml_dtd(), ext_parser_state()}.
Specs
event_endDocument(State) -> {Event, State} when State :: ext_parser_state(), Event :: xml_endDocument().
Specs
event_endElement(QName, State) -> {Event, State} when QName :: qname(), State :: ext_parser_state(), Event :: xml_endElement().
Specs
event_processingInstruction(Target, Data, State) -> {Event, State} when Target :: binary(), Data :: binary(), State :: ext_parser_state(), Event :: xml_processingInstruction().
Link to this function
event_startDocument(Version, Encoding, EncSet, StandAlone, StandSet, State)
View SourceSpecs
event_startDocument(Version, Encoding, EncSet, StandAlone, StandSet, State) -> {Event, State} when Version :: binary(), Encoding :: binary(), EncSet :: boolean(), StandAlone :: boolean(), StandSet :: boolean(), State :: ext_parser_state(), Event :: xml_startDocument().
Specs
event_startElement(QName, Attributes, Namespaces, State) -> {Event, State} when QName :: qname(), Attributes :: [xml_attribute()], Namespaces :: [xml_namespace()], State :: ext_parser_state(), Event :: xml_startElement().
Specs
next_event(State) -> {Event, State} when State :: ext_parser_state(), Event :: xml_event() | {error, no_event}.