xmerl_eventp(3erl)

NAME
xmerl_eventp - Simple event-based front-ends to xmerl_scan for processing
  of XML documents in streams and for parsing in SAX style.

DESCRIPTION

Simple event-based front-ends to xmerl_scan for processing of XML documents in streams and for parsing in SAX style. Each contain more elaborate settings of xmerl_scan that makes usage of the customization functions.

DATA TYPES

    option_list():

        Options allow to customize the behaviour of the scanner. See also tutorial on customization functions.

        Possible options are:

        {acc_fun, Fun}:
            Call back function to accumulate contents of entity.

        {continuation_fun, Fun} | {continuation_fun, Fun, ContinuationState}:
            Call back function to decide what to do if the scanner runs into EOF before the document is complete.

        {event_fun, Fun} | {event_fun, Fun, EventState}:
            Call back function to handle scanner events.

        {fetch_fun, Fun} | {fetch_fun, Fun, FetchState}:
            Call back function to fetch an external resource.

        {hook_fun, Fun} | {hook_fun, Fun, HookState}:
            Call back function to process the document entities once identified.

        {close_fun, Fun}:
            Called when document has been completely parsed.

        {rules, ReadFun, WriteFun, RulesState} | {rules, Rules}:
            Handles storing of scanner information when parsing.

        {user_state, UserState}:
            Global state variable accessible from all customization functions

        {fetch_path, PathList}:
            PathList is a list of directories to search when fetching files. If the file in question is not in the fetch_path, the URI will be used as a file name.

        {space, Flag}:
            'preserve' (default) to preserve spaces, 'normalize' to accumulate consecutive whitespace and replace it with one space.

        {line, Line}:
            To specify starting line for scanning in document which contains fragments of XML.

        {namespace_conformant, Flag}:
            Controls whether to behave as a namespace conformant XML parser, 'false' (default) to not otherwise 'true'.

        {validation, Flag}:
            Controls whether to process as a validating XML parser: 'off' (default) no validation, or validation 'dtd' by DTD or 'schema' by XML Schema. 'false' and 'true' options are obsolete (i.e. they may be removed in a future release), if used 'false' equals 'off' and 'true' equals 'dtd'.

        {schemaLocation, [{Namespace,Link}|...]}:
            Tells explicitly which XML Schema documents to use to validate the XML document. Used together with the {validation,schema} option.

        {quiet, Flag}:
            Set to 'true' if xmerl should behave quietly and not output any information to standard output (default 'false').

        {doctype_DTD, DTD}:
            Allows to specify DTD name when it isn't available in the XML document. This option has effect only together with {validation,'dtd' option.

        {xmlbase, Dir}:
            XML Base directory. If using string/1 default is current directory. If using file/1 default is directory of given file.

        {encoding, Enc}:
            Set default character set used (default UTF-8). This character set is used only if not explicitly given by the XML declaration.

        {document, Flag}:
            Set to 'true' if xmerl should return a complete XML document as an xmlDocument record (default 'false').

        {comments, Flag}:
            Set to 'false' if xmerl should skip comments otherwise they will be returned as xmlComment records (default 'true').

        {default_attrs, Flag}:
            Set to 'true' if xmerl should add to elements missing attributes with a defined default value (default 'false').

    xmlElement() = #xmlElement{}:

EXPORTS

file_sax(Fname::string(), CallBackModule::atom(), UserState, Options::option_list()) -> NewUserState

    Parse file containing an XML document, SAX style. Wrapper for a call to the XML parser xmerl_scan with a hook_fun for using xmerl export functionality directly after an entity is parsed.

stream(Fname::string(), Options::option_list()) -> xmlElement()

    Parse file containing an XML document as a stream, DOM style. Wrapper for a call to the XML parser xmerl_scan with a continuation_fun for handling streams of XML data. Note that the continuation_fun, acc_fun, fetch_fun, rules and close_fun options cannot be user defined using this parser.

stream_sax(Fname, CallBack::CallBackModule, UserState, Options) -> xmlElement()

    Types:

        Fname = string()
        CallBackModule = atom()
        Options = option_list()

    Parse file containing an XML document as a stream, SAX style. Wrapper for a call to the XML parser xmerl_scan with a continuation_fun for handling streams of XML data. Note that the continuation_fun, acc_fun, fetch_fun, rules, hook_fun, close_fun and user_state options cannot be user defined using this parser.

string_sax(String::list(), CallBackModule::atom(), UserState, Options::option_list()) -> xmlElement()

    Parse file containing an XML document, SAX style. Wrapper for a call to the XML parser xmerl_scan with a hook_fun for using xmerl export functionality directly after an entity is parsed.

AUTHORS

<>