## SAX

SAX - Old SAX version 1 handler, deprecated

DEPRECATED set of SAX version 1 interfaces used to build the DOM tree.

WARNING: this module is deprecated !

Author(s): Daniel Veillard

## Synopsis

    void	attribute			(void * ctx,
    					 const xmlChar * fullname,
    					 const xmlChar * value);
    void	attributeDecl			(void * ctx,
    					 const xmlChar * elem,
    					 const xmlChar * fullname,
    					 int type,
    					 int def,
    					 const xmlChar * defaultValue,
    					 xmlEnumerationPtr tree);
    void	cdataBlock			(void * ctx,
    					 const xmlChar * value,
    					 int len);
    void	characters			(void * ctx,
    					 const xmlChar * ch,
    					 int len);
    int	checkNamespace			(void * ctx,
    					 xmlChar * namespace);
    void	comment			(void * ctx,
    					 const xmlChar * value);
    void	elementDecl			(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 xmlElementContentPtr content);
    void	endDocument			(void * ctx);
    void	endElement			(void * ctx,
    					 const xmlChar * name);
    void	entityDecl			(void * ctx,
    					 const xmlChar * name,
    					 int type,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 xmlChar * content);
    void	externalSubset			(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID);
    int	getColumnNumber			(void * ctx);
    xmlEntityPtr	getEntity		(void * ctx,
    					 const xmlChar * name);
    int	getLineNumber			(void * ctx);
    xmlNsPtr	getNamespace		(void * ctx);
    xmlEntityPtr	getParameterEntity	(void * ctx,
    					 const xmlChar * name);
    const xmlChar *	getPublicId		(void * ctx);
    const xmlChar *	getSystemId		(void * ctx);
    void	globalNamespace			(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix);
    int	hasExternalSubset		(void * ctx);
    int	hasInternalSubset		(void * ctx);
    void	ignorableWhitespace		(void * ctx,
    					 const xmlChar * ch,
    					 int len);
    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr);
    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr,
    					 int warning);
    void	internalSubset			(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * ExternalID,
    					 const xmlChar * SystemID);
    int	isStandalone			(void * ctx);
    void	namespaceDecl			(void * ctx,
    					 const xmlChar * href,
    					 const xmlChar * prefix);
    void	notationDecl			(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId);
    void	processingInstruction		(void * ctx,
    					 const xmlChar * target,
    					 const xmlChar * data);
    void	reference			(void * ctx,
    					 const xmlChar * name);
    xmlParserInputPtr	resolveEntity	(void * ctx,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId);
    void	setDocumentLocator		(void * ctx,
    					 xmlSAXLocatorPtr loc);
    void	setNamespace			(void * ctx,
    					 const xmlChar * name);
    void	startDocument			(void * ctx);
    void	startElement			(void * ctx,
    					 const xmlChar * fullname,
    					 const xmlChar ** atts);
    void	unparsedEntityDecl		(void * ctx,
    					 const xmlChar * name,
    					 const xmlChar * publicId,
    					 const xmlChar * systemId,
    					 const xmlChar * notationName);

## Description

## Details

### attribute ()

    void	attribute			(void * ctx,
    					 const xmlChar * fullname,
    					 const xmlChar * value)

Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new xmlAttr element added to the element. DEPRECATED: use xmlSAX2Attribute()

`ctx`: | the user data (XML parser context)
`fullname`: | The attribute name, including namespace prefix
`value`: | The attribute value

### attributeDecl ()

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

An attribute definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()

`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

### cdataBlock ()

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

called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()

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

### characters ()

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

receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()

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

### checkNamespace ()

    int	checkNamespace			(void * ctx,
    					 xmlChar * namespace)

Check that the current element namespace is the same as the one read upon parsing. DEPRECATED

`ctx`: | the user data (XML parser context)
`namespace`: | the namespace to check against
`Returns`: | 1 if true 0 otherwise

### comment ()

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

A comment has been parsed. DEPRECATED: use xmlSAX2Comment()

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

### elementDecl ()

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

An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()

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

### endDocument ()

    void	endDocument			(void * ctx)

called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()

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

### endElement ()

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

called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()

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

### entityDecl ()

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

An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()

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

### externalSubset ()

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

Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()

`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)

### getColumnNumber ()

    int	getColumnNumber			(void * ctx)

Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()

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

### getEntity ()

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

Get an entity by name DEPRECATED: use xmlSAX2GetEntity()

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

### getLineNumber ()

    int	getLineNumber			(void * ctx)

Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()

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

### getNamespace ()

    xmlNsPtr	getNamespace		(void * ctx)

Get the current element namespace. DEPRECATED

`ctx`: | the user data (XML parser context)
`Returns`: | the xmlNsPtr or NULL if none

### getParameterEntity ()

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

Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()

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

### getPublicId ()

    const xmlChar *	getPublicId		(void * ctx)

Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()

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

### getSystemId ()

    const xmlChar *	getSystemId		(void * ctx)

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

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

### globalNamespace ()

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

An old global namespace has been parsed. DEPRECATED

`ctx`: | the user data (XML parser context)
`href`: | the namespace associated URN
`prefix`: | the namespace prefix

### hasExternalSubset ()

    int	hasExternalSubset		(void * ctx)

Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()

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

### hasInternalSubset ()

    int	hasInternalSubset		(void * ctx)

Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()

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

### ignorableWhitespace ()

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

receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters DEPRECATED: use xmlSAX2IgnorableWhitespace()

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

### inithtmlDefaultSAXHandler ()

    void	inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr)

Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks

`hdlr`: | the SAX handler

### initxmlDefaultSAXHandler ()

    void	initxmlDefaultSAXHandler	(xmlSAXHandlerV1 * hdlr,
    					 int warning)

Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks

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

### internalSubset ()

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

Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()

`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)

### isStandalone ()

    int	isStandalone			(void * ctx)

Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()

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

### namespaceDecl ()

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

A namespace has been parsed. DEPRECATED

`ctx`: | the user data (XML parser context)
`href`: | the namespace associated URN
`prefix`: | the namespace prefix

### notationDecl ()

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

What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()

`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

### processingInstruction ()

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

A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()

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

### reference ()

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

called when an entity reference is detected. DEPRECATED: use xmlSAX2Reference()

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

### resolveEntity ()

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

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

`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.

### setDocumentLocator ()

    void	setDocumentLocator		(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. DEPRECATED

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

### setNamespace ()

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

Set the current element namespace. DEPRECATED

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

### startDocument ()

    void	startDocument			(void * ctx)

called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()

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

### startElement ()

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

called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()

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

### unparsedEntityDecl ()

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

What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()

`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