On this page
Module
Module Summary
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.
Data types
-
document() =
xmlElement()
|xmlDocument()
-
The document returned by
xmerl_scan:string/[1,2]
andxmerl_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{}
accumulate_whitespace(T::string(), S::
global_state() , X3::atom(), Acc::string()) -> {Acc, T1, S1}
|
Function to accumulate and normalize whitespace.
Equivalent to cont_state(ContinuationState, S)
.
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.
Equivalent to event_state(EventState, S)
.
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.
Equivalent to fetch_state(FetchState, S)
.
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.
Types
Rest = list()
Equivalent to file(Filename, [])
.
Types
Rest = list()
Parse file containing an XML document
Equivalent to hook_state(HookState, S)
.
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.
Equivalent to rules_state(RulesState, S)
.
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.
Types
Rest = list()
Equivalent to string(Text, [])
.
Types
Rest = list()
Parse string containing an XML document
Equivalent to user_state(UserState, S)
.
For controlling the UserState, to be used in a user function. See tutorial
on customization functions.
© 2010–2022 Ericsson AB
Licensed under the Apache License, Version 2.0.