#

## Module SAX2 from libxml2

API Menu

- Main Menu
- Developer Menu
- Code Examples
- API Menu
- Parser API
- Tree API
- Reader API
- XML Guidelines

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Related links

- Mail archive
- XSLT libxslt
- DOM gdome2
- XML-DSig xmlsec
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- Pascal bindings
- Bug Tracker

those are the default SAX2 interfaces used by the library when building DOM tree.

## Table of Contents

    void	docbDefaultSAXHandlerInit	(void)

    void	htmlDefaultSAXHandlerInit	(void)

    void	xmlDefaultSAXHandlerInit	(void)

    void	xmlSAX2AttributeDecl		(void * ctx,
    					 const xmlChar * elem,
    					 const xmlChar * fullname,
    					 int type,
    					 int def,
    					 const xmlChar * defaultValue,
    					 xmlEnumerationPtr tree)

    void	xmlSAX2CDataBlock		(void * ctx,
    					 const xmlChar * value,
    					 int len)

    void	xmlSAX2Characters		(void * ctx,
    					 const xmlChar * ch,
    					 int len)

    int	xmlSAX2CheckNamespace		(void * ctx,
    					 xmlChar * nameSpace)

    void	xmlSAX2Comment			(void * ctx,
    					 const xmlChar * value)

    void	xmlSAX2ElementDecl		(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 xmlElementContentPtr content)

    void	xmlSAX2EndDocument		(void * ctx)

    void	xmlSAX2EndElement		(void * ctx,
    					 const xmlChar * name)

    void	xmlSAX2EndElementNs		(void * ctx,
    					 const xmlChar * localname,
    					 const xmlChar * prefix,
    					 const xmlChar * URI)

    void	xmlSAX2EntityDecl		(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 xmlChar * content)

    void	xmlSAX2ExternalSubset		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID)

    int	xmlSAX2GetColumnNumber		(void * ctx)

    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx,
    					 const xmlChar * name)

    int	xmlSAX2GetLineNumber		(void * ctx)

    xmlNsPtr	xmlSAX2GetNamespace	(void * ctx)

    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx,
    						 const xmlChar * name)

    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)

    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)

    void	xmlSAX2GlobalNamespace		(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix)

    int	xmlSAX2HasExternalSubset	(void * ctx)

    int	xmlSAX2HasInternalSubset	(void * ctx)

    void	xmlSAX2IgnorableWhitespace	(void * ctx,
    					 const xmlChar * ch,
    					 int len)

    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr,
    					 int warning)

    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)

    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)

    void	xmlSAX2InternalSubset		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID)

    int	xmlSAX2IsStandalone		(void * ctx)

    void	xmlSAX2NamespaceDecl		(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix)

    void	xmlSAX2NotationDecl		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId)

    void	xmlSAX2ProcessingInstruction	(void * ctx,
    					 const xmlChar * target,
    					 const xmlChar * data)

    void	xmlSAX2Reference		(void * ctx,
    					 const xmlChar * name)

    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx,
    						 const xmlChar * publicId,
    						 const xmlChar * systemId)

    void	xmlSAX2SetDocumentLocator	(void * ctx,
    					 xmlSAXLocatorPtr loc)

    void	xmlSAX2SetNamespace		(void * ctx,
    					 const xmlChar * name)

    void	xmlSAX2StartDocument		(void * ctx)

    void	xmlSAX2StartElement		(void * ctx,
    					 const xmlChar * fullname,
    					 const xmlChar ** atts)

    void	xmlSAX2StartElementNs		(void * ctx,
    					 const xmlChar * localname,
    					 const xmlChar * prefix,
    					 const xmlChar * URI,
    					 int nb_namespaces,
    					 const xmlChar ** namespaces,
    					 int nb_attributes,
    					 int nb_defaulted,
    					 const xmlChar ** attributes)

    void	xmlSAX2UnparsedEntityDecl	(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 const xmlChar * notationName)

    int	xmlSAXDefaultVersion		(int version)

    int	xmlSAXVersion			(xmlSAXHandler * hdlr,
    					 int version)

## Description

### Function: docbDefaultSAXHandlerInit

    void	docbDefaultSAXHandlerInit	(void)

Initialize the default SAX handler

### Function: htmlDefaultSAXHandlerInit

    void	htmlDefaultSAXHandlerInit	(void)

Initialize the default SAX handler

### Function: xmlDefaultSAXHandlerInit

    void	xmlDefaultSAXHandlerInit	(void)

Initialize the default SAX2 handler

### Function: xmlSAX2AttributeDecl

    void	xmlSAX2AttributeDecl		(void * ctx,
    					 const xmlChar * elem,
    					 const xmlChar * fullname,
    					 int type,
    					 int def,
    					 const xmlChar * defaultValue,
    					 xmlEnumerationPtr tree)

An attribute definition has been parsed

`ctx`: | the user data (XML parser context)
`elem`: | the name of the element
`fullname`: | the attribute name
`type`: | the attribute type
`def`: | the type of default value
`defaultValue`: | the attribute default value
`tree`: | the tree of enumerated value set

### Function: xmlSAX2CDataBlock

    void	xmlSAX2CDataBlock		(void * ctx,
    					 const xmlChar * value,
    					 int len)

called when a pcdata block has been parsed

`ctx`: | the user data (XML parser context)
`value`: | The pcdata content
`len`: | the block length

### Function: xmlSAX2Characters

    void	xmlSAX2Characters		(void * ctx,
    					 const xmlChar * ch,
    					 int len)

receiving some chars from the parser.

`ctx`: | the user data (XML parser context)
`ch`: | a xmlChar string
`len`: | the number of xmlChar

### Function: xmlSAX2CheckNamespace

    int	xmlSAX2CheckNamespace		(void * ctx,
    					 xmlChar * nameSpace)

`ctx`: |
`nameSpace`: |
`Returns`: |

### Function: xmlSAX2Comment

    void	xmlSAX2Comment			(void * ctx,
    					 const xmlChar * value)

A xmlSAX2Comment has been parsed.

`ctx`: | the user data (XML parser context)
`value`: | the xmlSAX2Comment content

### Function: xmlSAX2ElementDecl

    void	xmlSAX2ElementDecl		(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 xmlElementContentPtr content)

An element definition has been parsed

`ctx`: | the user data (XML parser context)
`name`: | the element name
`type`: | the element type
`content`: | the element value tree

### Function: xmlSAX2EndDocument

    void	xmlSAX2EndDocument		(void * ctx)

called when the document end has been detected.

`ctx`: | the user data (XML parser context)

### Function: xmlSAX2EndElement

    void	xmlSAX2EndElement		(void * ctx,
    					 const xmlChar * name)

called when the end of an element has been detected.

`ctx`: | the user data (XML parser context)
`name`: | The element name

### Function: xmlSAX2EndElementNs

    void	xmlSAX2EndElementNs		(void * ctx,
    					 const xmlChar * localname,
    					 const xmlChar * prefix,
    					 const xmlChar * URI)

SAX2 callback when an element end has been detected by the parser. It provides the namespace informations for the element.

`ctx`: | the user data (XML parser context)
`localname`: | the local name of the element
`prefix`: | the element namespace prefix if available
`URI`: | the element namespace name if available

### Function: xmlSAX2EntityDecl

    void	xmlSAX2EntityDecl		(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 xmlChar * content)

An entity definition has been parsed

`ctx`: | the user data (XML parser context)
`name`: | the entity name
`type`: | the entity type
`publicId`: | The public ID of the entity
`systemId`: | The system ID of the entity
`content`: | the entity value (without processing).

### Function: xmlSAX2ExternalSubset

    void	xmlSAX2ExternalSubset		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID)

Callback on external subset declaration.

`ctx`: | the user data (XML parser context)
`name`: | the root element name
`ExternalID`: | the external ID
`SystemID`: | the SYSTEM ID (e.g. filename or URL)

### Function: xmlSAX2GetColumnNumber

    int	xmlSAX2GetColumnNumber		(void * ctx)

Provide the column number of the current parsing point.

`ctx`: | the user data (XML parser context)
`Returns`: | an int

### Function: xmlSAX2GetEntity

    xmlEntityPtr	xmlSAX2GetEntity	(void * ctx,
    					 const xmlChar * name)

Get an entity by name

`ctx`: | the user data (XML parser context)
`name`: | The entity name
`Returns`: | the xmlEntityPtr if found.

### Function: xmlSAX2GetLineNumber

    int	xmlSAX2GetLineNumber		(void * ctx)

Provide the line number of the current parsing point.

`ctx`: | the user data (XML parser context)
`Returns`: | an int

### Function: xmlSAX2GetNamespace

    xmlNsPtr	xmlSAX2GetNamespace	(void * ctx)

`ctx`: |
`Returns`: |

### Function: xmlSAX2GetParameterEntity

    xmlEntityPtr	xmlSAX2GetParameterEntity	(void * ctx,
    						 const xmlChar * name)

Get a parameter entity by name

`ctx`: | the user data (XML parser context)
`name`: | The entity name
`Returns`: | the xmlEntityPtr if found.

### Function: xmlSAX2GetPublicId

    const xmlChar *	xmlSAX2GetPublicId	(void * ctx)

Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"

`ctx`: | the user data (XML parser context)
`Returns`: | a xmlChar *

### Function: xmlSAX2GetSystemId

    const xmlChar *	xmlSAX2GetSystemId	(void * ctx)

Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd

`ctx`: | the user data (XML parser context)
`Returns`: | a xmlChar *

### Function: xmlSAX2GlobalNamespace

    void	xmlSAX2GlobalNamespace		(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix)

`ctx`: |
`href`: |
`prefix`: |

### Function: xmlSAX2HasExternalSubset

    int	xmlSAX2HasExternalSubset	(void * ctx)

Does this document has an external subset

`ctx`: | the user data (XML parser context)
`Returns`: | 1 if true

### Function: xmlSAX2HasInternalSubset

    int	xmlSAX2HasInternalSubset	(void * ctx)

Does this document has an internal subset

`ctx`: | the user data (XML parser context)
`Returns`: | 1 if true

### Function: xmlSAX2IgnorableWhitespace

    void	xmlSAX2IgnorableWhitespace	(void * ctx,
    					 const xmlChar * ch,
    					 int len)

receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use xmlSAX2Characters

`ctx`: | the user data (XML parser context)
`ch`: | a xmlChar string
`len`: | the number of xmlChar

### Function: xmlSAX2InitDefaultSAXHandler

    void	xmlSAX2InitDefaultSAXHandler	(xmlSAXHandler * hdlr,
    					 int warning)

Initialize the default XML SAX2 handler

`hdlr`: | the SAX handler
`warning`: | flag if non-zero sets the handler warning procedure

### Function: xmlSAX2InitDocbDefaultSAXHandler

    void	xmlSAX2InitDocbDefaultSAXHandler	(xmlSAXHandler * hdlr)

Initialize the default DocBook SAX2 handler

`hdlr`: | the SAX handler

### Function: xmlSAX2InitHtmlDefaultSAXHandler

    void	xmlSAX2InitHtmlDefaultSAXHandler	(xmlSAXHandler * hdlr)

Initialize the default HTML SAX2 handler

`hdlr`: | the SAX handler

### Function: xmlSAX2InternalSubset

    void	xmlSAX2InternalSubset		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID)

Callback on internal subset declaration.

`ctx`: | the user data (XML parser context)
`name`: | the root element name
`ExternalID`: | the external ID
`SystemID`: | the SYSTEM ID (e.g. filename or URL)

### Function: xmlSAX2IsStandalone

    int	xmlSAX2IsStandalone		(void * ctx)

Is this document tagged standalone ?

`ctx`: | the user data (XML parser context)
`Returns`: | 1 if true

### Function: xmlSAX2NamespaceDecl

    void	xmlSAX2NamespaceDecl		(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix)

`ctx`: |
`href`: |
`prefix`: |

### Function: xmlSAX2NotationDecl

    void	xmlSAX2NotationDecl		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId)

What to do when a notation declaration has been parsed.

`ctx`: | the user data (XML parser context)
`name`: | The name of the notation
`publicId`: | The public ID of the entity
`systemId`: | The system ID of the entity

### Function: xmlSAX2ProcessingInstruction

    void	xmlSAX2ProcessingInstruction	(void * ctx,
    					 const xmlChar * target,
    					 const xmlChar * data)

A processing instruction has been parsed.

`ctx`: | the user data (XML parser context)
`target`: | the target name
`data`: | the PI data's

### Function: xmlSAX2Reference

    void	xmlSAX2Reference		(void * ctx,
    					 const xmlChar * name)

called when an entity xmlSAX2Reference is detected.

`ctx`: | the user data (XML parser context)
`name`: | The entity name

### Function: xmlSAX2ResolveEntity

    xmlParserInputPtr	xmlSAX2ResolveEntity	(void * ctx,
    						 const xmlChar * publicId,
    						 const xmlChar * systemId)

The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine

`ctx`: | the user data (XML parser context)
`publicId`: | The public ID of the entity
`systemId`: | The system ID of the entity
`Returns`: | the xmlParserInputPtr if inlined or NULL for DOM behaviour.

### Function: xmlSAX2SetDocumentLocator

    void	xmlSAX2SetDocumentLocator	(void * ctx,
    					 xmlSAXLocatorPtr loc)

Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case.

`ctx`: | the user data (XML parser context)
`loc`: | A SAX Locator

### Function: xmlSAX2SetNamespace

    void	xmlSAX2SetNamespace		(void * ctx,
    					 const xmlChar * name)

`ctx`: |
`name`: |

### Function: xmlSAX2StartDocument

    void	xmlSAX2StartDocument		(void * ctx)

called when the document start being processed.

`ctx`: | the user data (XML parser context)

### Function: xmlSAX2StartElement

    void	xmlSAX2StartElement		(void * ctx,
    					 const xmlChar * fullname,
    					 const xmlChar ** atts)

called when an opening tag has been processed.

`ctx`: | the user data (XML parser context)
`fullname`: | The element name, including namespace prefix
`atts`: | An array of name/value attributes pairs, NULL terminated

### Function: xmlSAX2StartElementNs

    void	xmlSAX2StartElementNs		(void * ctx,
    					 const xmlChar * localname,
    					 const xmlChar * prefix,
    					 const xmlChar * URI,
    					 int nb_namespaces,
    					 const xmlChar ** namespaces,
    					 int nb_attributes,
    					 int nb_defaulted,
    					 const xmlChar ** attributes)

SAX2 callback when an element start has been detected by the parser. It provides the namespace informations for the element, as well as the new namespace declarations on the element.

`ctx`: | the user data (XML parser context)
`localname`: | the local name of the element
`prefix`: | the element namespace prefix if available
`URI`: | the element namespace name if available
`nb_namespaces`: | number of namespace definitions on that node
`namespaces`: | pointer to the array of prefix/URI pairs namespace definitions
`nb_attributes`: | the number of attributes on that node
`nb_defaulted`: | the number of defaulted attributes.
`attributes`: | pointer to the array of (localname/prefix/URI/value/end) attribute values.

### Function: xmlSAX2UnparsedEntityDecl

    void	xmlSAX2UnparsedEntityDecl	(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 const xmlChar * notationName)

What to do when an unparsed entity declaration is parsed

`ctx`: | the user data (XML parser context)
`name`: | The name of the entity
`publicId`: | The public ID of the entity
`systemId`: | The system ID of the entity
`notationName`: | the name of the notation

### Function: xmlSAXDefaultVersion

    int	xmlSAXDefaultVersion		(int version)

Set the default version of SAX used globally by the library. Note that this may not be a good thing to do from a library it is better to use xmlSAXVersion() to set up specifically the version for a given parsing context.

`version`: | the version, 1 or 2
`Returns`: | the previous value in case of success and -1 in case of error.

### Function: xmlSAXVersion

    int	xmlSAXVersion			(xmlSAXHandler * hdlr,
    					 int version)

Initialize the default XML SAX handler according to the version

`hdlr`: | the SAX handler
`version`: | the version, 1 or 2
`Returns`: | 0 in case of success and -1 in case of error.

Daniel Veillard