logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

xmerl_scan - This module is the interface to the XML parser, it handles XML 1.0.

Authors

<>

                                                  xmerl 1.3.28                                  xmerl_scan(3erl)

Data Types

document()=xmlElement()|xmlDocument():

           The  document returned by xmerl_scan:string/[1,2] and xmerl_scan:file/[1,2]. The type of the returned
           record depends on the value of the document option passed to the function.

         global_state():

           The global state of the scanner, represented by the #xmerl_scanner{} record.

         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').

         xmlDocument()=#xmlDocument{}:

           The record definition is found in xmerl.hrl.

         xmlElement()=#xmlElement{}:

Description

       This  module  is the interface to the XML parser, it handles XML 1.0. The XML parser is activated through
       xmerl_scan:string/[1,2] or xmerl_scan:file/[1,2]. It returns records of the type  defined  in  xmerl.hrl.
       See also tutorial on customization functions.

Exports

accumulate_whitespace(T::string(),S::global_state(),X3::atom(),Acc::string())->{Acc,T1,S1}

              Function to accumulate and normalize whitespace.

       cont_state(S::global_state())->global_state()

              Equivalent to cont_state(ContinuationState, S).

       cont_state(X::ContinuationState,S::global_state())->global_state()

              For controlling the ContinuationState, to be used in a continuation function, and called when  the
              parser encounters the end of the byte stream. See tutorial on customization functions.

       event_state(S::global_state())->global_state()

              Equivalent to event_state(EventState, S).

       event_state(X::EventState,S::global_state())->global_state()

              For  controlling  the EventState, to be used in an event function, and called at the beginning and
              at the end of a parsed entity. See tutorial on customization functions.

       fetch_state(S::global_state())->global_state()

              Equivalent to fetch_state(FetchState, S).

       fetch_state(X::FetchState,S::global_state())->global_state()

              For controlling the FetchState, to be used in a fetch function, and called when the  parser  fetch
              an external resource (eg. a DTD). See tutorial on customization functions.

       file(Filename::string())->{xmlElement(),Rest}

              Types:

                 Rest = list()

              Equivalent to file(Filename, []).

       file(Filename::string(),Options::option_list())->{document(),Rest}

              Types:

                 Rest = list()

              Parse file containing an XML document

       hook_state(S::global_state())->global_state()

              Equivalent to hook_state(HookState, S).

       hook_state(X::HookState,S::global_state())->global_state()

              For  controlling  the  HookState,  to  be  used in a hook function, and called when the parser has
              parsed a complete entity. See tutorial on customization functions.

       rules_state(S::global_state())->global_state()

              Equivalent to rules_state(RulesState, S).

       rules_state(X::RulesState,S::global_state())->global_state()

              For controlling the RulesState, to be used in a rules function, and called when the  parser  store
              scanner information in a rules database. See tutorial on customization functions.

       string(Text::list())->{xmlElement(),Rest}

              Types:

                 Rest = list()

              Equivalent to string(Text, []).

       string(Text::list(),Options::option_list())->{document(),Rest}

              Types:

                 Rest = list()

              Parse string containing an XML document

       user_state(S::global_state())->global_state()

              Equivalent to user_state(UserState, S).

       user_state(X::UserState,S::global_state())->global_state()

              For  controlling  the  UserState,  to  be  used  in a user function. See tutorial on customization
              functions.

Name

       xmerl_scan - This module is the interface to the XML parser, it handles XML 1.0.

See Also