Current File : /home/mmdealscpanel/yummmdeals.com/libxml2.zip
PKi�Z�$J����!usr/include/libxml2/libxml/tree.hnu�[���/*
 * Summary: interfaces for tree manipulation
 * Description: this module describes the structures found in an tree resulting
 *              from an XML or HTML parsing, as well as the API provided for
 *              various processing on that tree
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_TREE_H__
#define __XML_TREE_H__

#include <stdio.h>
#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Some of the basic types pointer to structures:
 */
/* xmlIO.h */
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;

typedef struct _xmlOutputBuffer xmlOutputBuffer;
typedef xmlOutputBuffer *xmlOutputBufferPtr;

/* parser.h */
typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;

typedef struct _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;

typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;

typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;

/* entities.h */
typedef struct _xmlEntity xmlEntity;
typedef xmlEntity *xmlEntityPtr;

/**
 * BASE_BUFFER_SIZE:
 *
 * default buffer size 4000.
 */
#define BASE_BUFFER_SIZE 4096

/**
 * LIBXML_NAMESPACE_DICT:
 *
 * Defines experimental behaviour:
 * 1) xmlNs gets an additional field @context (a xmlDoc)
 * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
 */
/* #define LIBXML_NAMESPACE_DICT */

/**
 * xmlBufferAllocationScheme:
 *
 * A buffer allocation scheme can be defined to either match exactly the
 * need or double it's allocated size each time it is found too small.
 */

typedef enum {
    XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
    XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
    XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
    XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
    XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
} xmlBufferAllocationScheme;

/**
 * xmlBuffer:
 *
 * A buffer structure, this old construct is limited to 2GB and
 * is being deprecated, use API with xmlBuf instead
 */
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
struct _xmlBuffer {
    xmlChar *content;		/* The buffer content UTF8 */
    unsigned int use;		/* The buffer size used */
    unsigned int size;		/* The buffer size */
    xmlBufferAllocationScheme alloc; /* The realloc method */
    xmlChar *contentIO;		/* in IO mode we may have a different base */
};

/**
 * xmlBuf:
 *
 * A buffer structure, new one, the actual structure internals are not public
 */

typedef struct _xmlBuf xmlBuf;

/**
 * xmlBufPtr:
 *
 * A pointer to a buffer structure, the actual structure internals are not
 * public
 */

typedef xmlBuf *xmlBufPtr;

/*
 * A few public routines for xmlBuf. As those are expected to be used
 * mostly internally the bulk of the routines are internal in buf.h
 */
XMLPUBFUN xmlChar* XMLCALL       xmlBufContent	(const xmlBuf* buf);
XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufShrink	(xmlBufPtr buf, size_t len);

/*
 * LIBXML2_NEW_BUFFER:
 *
 * Macro used to express that the API use the new buffers for
 * xmlParserInputBuffer and xmlOutputBuffer. The change was
 * introduced in 2.9.0.
 */
#define LIBXML2_NEW_BUFFER

/**
 * XML_XML_NAMESPACE:
 *
 * This is the namespace for the special xml: prefix predefined in the
 * XML Namespace specification.
 */
#define XML_XML_NAMESPACE \
    (const xmlChar *) "http://www.w3.org/XML/1998/namespace"

/**
 * XML_XML_ID:
 *
 * This is the name for the special xml:id attribute
 */
#define XML_XML_ID (const xmlChar *) "xml:id"

/*
 * The different element types carried by an XML tree.
 *
 * NOTE: This is synchronized with DOM Level1 values
 *       See http://www.w3.org/TR/REC-DOM-Level-1/
 *
 * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
 * be deprecated to use an XML_DTD_NODE.
 */
typedef enum {
    XML_ELEMENT_NODE=		1,
    XML_ATTRIBUTE_NODE=		2,
    XML_TEXT_NODE=		3,
    XML_CDATA_SECTION_NODE=	4,
    XML_ENTITY_REF_NODE=	5,
    XML_ENTITY_NODE=		6,
    XML_PI_NODE=		7,
    XML_COMMENT_NODE=		8,
    XML_DOCUMENT_NODE=		9,
    XML_DOCUMENT_TYPE_NODE=	10,
    XML_DOCUMENT_FRAG_NODE=	11,
    XML_NOTATION_NODE=		12,
    XML_HTML_DOCUMENT_NODE=	13,
    XML_DTD_NODE=		14,
    XML_ELEMENT_DECL=		15,
    XML_ATTRIBUTE_DECL=		16,
    XML_ENTITY_DECL=		17,
    XML_NAMESPACE_DECL=		18,
    XML_XINCLUDE_START=		19,
    XML_XINCLUDE_END=		20
    /* XML_DOCB_DOCUMENT_NODE=	21 */ /* removed */
} xmlElementType;

/* For backward compatibility */
#define XML_DOCB_DOCUMENT_NODE 21

/**
 * xmlNotation:
 *
 * A DTD Notation definition.
 */

typedef struct _xmlNotation xmlNotation;
typedef xmlNotation *xmlNotationPtr;
struct _xmlNotation {
    const xmlChar               *name;	        /* Notation name */
    const xmlChar               *PublicID;	/* Public identifier, if any */
    const xmlChar               *SystemID;	/* System identifier, if any */
};

/**
 * xmlAttributeType:
 *
 * A DTD Attribute type definition.
 */

typedef enum {
    XML_ATTRIBUTE_CDATA = 1,
    XML_ATTRIBUTE_ID,
    XML_ATTRIBUTE_IDREF	,
    XML_ATTRIBUTE_IDREFS,
    XML_ATTRIBUTE_ENTITY,
    XML_ATTRIBUTE_ENTITIES,
    XML_ATTRIBUTE_NMTOKEN,
    XML_ATTRIBUTE_NMTOKENS,
    XML_ATTRIBUTE_ENUMERATION,
    XML_ATTRIBUTE_NOTATION
} xmlAttributeType;

/**
 * xmlAttributeDefault:
 *
 * A DTD Attribute default definition.
 */

typedef enum {
    XML_ATTRIBUTE_NONE = 1,
    XML_ATTRIBUTE_REQUIRED,
    XML_ATTRIBUTE_IMPLIED,
    XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;

/**
 * xmlEnumeration:
 *
 * List structure used when there is an enumeration in DTDs.
 */

typedef struct _xmlEnumeration xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
struct _xmlEnumeration {
    struct _xmlEnumeration    *next;	/* next one */
    const xmlChar            *name;	/* Enumeration name */
};

/**
 * xmlAttribute:
 *
 * An Attribute declaration in a DTD.
 */

typedef struct _xmlAttribute xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
struct _xmlAttribute {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
    const xmlChar          *name;	/* Attribute name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    struct _xmlAttribute  *nexth;	/* next in hash table */
    xmlAttributeType       atype;	/* The attribute type */
    xmlAttributeDefault      def;	/* the default */
    const xmlChar  *defaultValue;	/* or the default value */
    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
    const xmlChar        *prefix;	/* the namespace prefix if any */
    const xmlChar          *elem;	/* Element holding the attribute */
};

/**
 * xmlElementContentType:
 *
 * Possible definitions of element content types.
 */
typedef enum {
    XML_ELEMENT_CONTENT_PCDATA = 1,
    XML_ELEMENT_CONTENT_ELEMENT,
    XML_ELEMENT_CONTENT_SEQ,
    XML_ELEMENT_CONTENT_OR
} xmlElementContentType;

/**
 * xmlElementContentOccur:
 *
 * Possible definitions of element content occurrences.
 */
typedef enum {
    XML_ELEMENT_CONTENT_ONCE = 1,
    XML_ELEMENT_CONTENT_OPT,
    XML_ELEMENT_CONTENT_MULT,
    XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;

/**
 * xmlElementContent:
 *
 * An XML Element content as stored after parsing an element definition
 * in a DTD.
 */

typedef struct _xmlElementContent xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent {
    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
    const xmlChar             *name;	/* Element name */
    struct _xmlElementContent *c1;	/* first child */
    struct _xmlElementContent *c2;	/* second child */
    struct _xmlElementContent *parent;	/* parent */
    const xmlChar             *prefix;	/* Namespace prefix */
};

/**
 * xmlElementTypeVal:
 *
 * The different possibilities for an element content type.
 */

typedef enum {
    XML_ELEMENT_TYPE_UNDEFINED = 0,
    XML_ELEMENT_TYPE_EMPTY = 1,
    XML_ELEMENT_TYPE_ANY,
    XML_ELEMENT_TYPE_MIXED,
    XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;

#ifdef __cplusplus
}
#endif
#include <libxml/xmlregexp.h>
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlElement:
 *
 * An XML Element declaration from a DTD.
 */

typedef struct _xmlElement xmlElement;
typedef xmlElement *xmlElementPtr;
struct _xmlElement {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
    const xmlChar          *name;	/* Element name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlElementTypeVal      etype;	/* The type */
    xmlElementContentPtr content;	/* the allowed element content */
    xmlAttributePtr   attributes;	/* List of the declared attributes */
    const xmlChar        *prefix;	/* the namespace prefix if any */
#ifdef LIBXML_REGEXP_ENABLED
    xmlRegexpPtr       contModel;	/* the validating regexp */
#else
    void	      *contModel;
#endif
};


/**
 * XML_LOCAL_NAMESPACE:
 *
 * A namespace declaration node.
 */
#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
typedef xmlElementType xmlNsType;

/**
 * xmlNs:
 *
 * An XML namespace.
 * Note that prefix == NULL is valid, it defines the default namespace
 * within the subtree (until overridden).
 *
 * xmlNsType is unified with xmlElementType.
 */

typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
    struct _xmlNs  *next;	/* next Ns link for this node  */
    xmlNsType      type;	/* global or local */
    const xmlChar *href;	/* URL for the namespace */
    const xmlChar *prefix;	/* prefix for the namespace */
    void           *_private;   /* application data */
    struct _xmlDoc *context;		/* normally an xmlDoc */
};

/**
 * xmlDtd:
 *
 * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
 * the internal subset and for the external subset.
 */
typedef struct _xmlDtd xmlDtd;
typedef xmlDtd *xmlDtdPtr;
struct _xmlDtd {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
    const xmlChar *name;	/* Name of the DTD */
    struct _xmlNode *children;	/* the value of the property link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlDoc  *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    void          *notations;   /* Hash table for notations if any */
    void          *elements;    /* Hash table for elements if any */
    void          *attributes;  /* Hash table for attributes if any */
    void          *entities;    /* Hash table for entities if any */
    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
    void          *pentities;   /* Hash table for param entities if any */
};

/**
 * xmlAttr:
 *
 * An attribute on an XML node.
 */
typedef struct _xmlAttr xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlAttr {
    void           *_private;	/* application data */
    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
    const xmlChar   *name;      /* the name of the property */
    struct _xmlNode *children;	/* the value of the property */
    struct _xmlNode *last;	/* NULL */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlAttr *next;	/* next sibling link  */
    struct _xmlAttr *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlAttributeType atype;     /* the attribute type if validating */
    void            *psvi;	/* for type/PSVI information */
};

/**
 * xmlID:
 *
 * An XML ID instance.
 */

typedef struct _xmlID xmlID;
typedef xmlID *xmlIDPtr;
struct _xmlID {
    struct _xmlID    *next;	/* next ID */
    const xmlChar    *value;	/* The ID name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
    struct _xmlDoc   *doc;	/* The document holding the ID */
};

/**
 * xmlRef:
 *
 * An XML IDREF instance.
 */

typedef struct _xmlRef xmlRef;
typedef xmlRef *xmlRefPtr;
struct _xmlRef {
    struct _xmlRef    *next;	/* next Ref */
    const xmlChar     *value;	/* The Ref name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
};

/**
 * xmlNode:
 *
 * A node in an XML tree.
 */
typedef struct _xmlNode xmlNode;
typedef xmlNode *xmlNodePtr;
struct _xmlNode {
    void           *_private;	/* application data */
    xmlElementType   type;	/* type number, must be second ! */
    const xmlChar   *name;      /* the name of the node, or the entity */
    struct _xmlNode *children;	/* parent->childs link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlChar         *content;   /* the content */
    struct _xmlAttr *properties;/* properties list */
    xmlNs           *nsDef;     /* namespace definitions on this node */
    void            *psvi;	/* for type/PSVI information */
    unsigned short   line;	/* line number */
    unsigned short   extra;	/* extra data for XPath/XSLT */
};

/**
 * XML_GET_CONTENT:
 *
 * Macro to extract the content pointer of a node.
 */
#define XML_GET_CONTENT(n)					\
    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)

/**
 * XML_GET_LINE:
 *
 * Macro to extract the line number of an element node.
 */
#define XML_GET_LINE(n)						\
    (xmlGetLineNo(n))

/**
 * xmlDocProperty
 *
 * Set of properties of the document as found by the parser
 * Some of them are linked to similarly named xmlParserOption
 */
typedef enum {
    XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
    XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
    XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
    XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
    XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
    XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
                                           and not by parsing an instance */
    XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
    XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
} xmlDocProperties;

/**
 * xmlDoc:
 *
 * An XML document.
 */
typedef struct _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
struct _xmlDoc {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
    char           *name;	/* name/filename/URI of the document */
    struct _xmlNode *children;	/* the document tree */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* autoreference to itself */

    /* End of common part */
    int             compression;/* level of zlib compression */
    int             standalone; /* standalone document (no external refs)
				     1 if standalone="yes"
				     0 if standalone="no"
				    -1 if there is no XML declaration
				    -2 if there is an XML declaration, but no
					standalone attribute was specified */
    struct _xmlDtd  *intSubset;	/* the document internal subset */
    struct _xmlDtd  *extSubset;	/* the document external subset */
    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
    const xmlChar  *version;	/* the XML version string */
    const xmlChar  *encoding;   /* external initial encoding, if any */
    void           *ids;        /* Hash table for ID attributes if any */
    void           *refs;       /* Hash table for IDREFs attributes if any */
    const xmlChar  *URL;	/* The URI for that document */
    int             charset;    /* Internal flag for charset handling,
				   actually an xmlCharEncoding */
    struct _xmlDict *dict;      /* dict used to allocate names or NULL */
    void           *psvi;	/* for type/PSVI information */
    int             parseFlags;	/* set of xmlParserOption used to parse the
				   document */
    int             properties;	/* set of xmlDocProperties for this document
				   set at the end of parsing */
};


typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;

/**
 * xmlDOMWrapAcquireNsFunction:
 * @ctxt:  a DOM wrapper context
 * @node:  the context node (element or attribute)
 * @nsName:  the requested namespace name
 * @nsPrefix:  the requested namespace prefix
 *
 * A function called to acquire namespaces (xmlNs) from the wrapper.
 *
 * Returns an xmlNsPtr or NULL in case of an error.
 */
typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
						 xmlNodePtr node,
						 const xmlChar *nsName,
						 const xmlChar *nsPrefix);

/**
 * xmlDOMWrapCtxt:
 *
 * Context for DOM wrapper-operations.
 */
struct _xmlDOMWrapCtxt {
    void * _private;
    /*
    * The type of this context, just in case we need specialized
    * contexts in the future.
    */
    int type;
    /*
    * Internal namespace map used for various operations.
    */
    void * namespaceMap;
    /*
    * Use this one to acquire an xmlNsPtr intended for node->ns.
    * (Note that this is not intended for elem->nsDef).
    */
    xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
};

/**
 * xmlChildrenNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children."
 */
#ifndef xmlChildrenNode
#define xmlChildrenNode children
#endif

/**
 * xmlRootNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children".
 */
#ifndef xmlRootNode
#define xmlRootNode children
#endif

/*
 * Variables.
 */

/*
 * Some helper functions
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
    defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
    defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
    defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNCName	(const xmlChar *value,
					 int space);
#endif

#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateQName	(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateName		(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateNMToken	(const xmlChar *value,
					 int space);
#endif

XMLPUBFUN xmlChar * XMLCALL
		xmlBuildQName		(const xmlChar *ncname,
					 const xmlChar *prefix,
					 xmlChar *memory,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlSplitQName2		(const xmlChar *name,
					 xmlChar **prefix);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSplitQName3		(const xmlChar *name,
					 int *len);

/*
 * Handling Buffers, the old ones see @xmlBuf for the new ones.
 */

XMLPUBFUN void XMLCALL
		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
		xmlGetBufferAllocationScheme(void);

XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreate		(void);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateSize	(size_t size);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateStatic	(void *mem,
					 size_t size);
XMLPUBFUN int XMLCALL
		xmlBufferResize		(xmlBufferPtr buf,
					 unsigned int size);
XMLPUBFUN void XMLCALL
		xmlBufferFree		(xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferDump		(FILE *file,
					 xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferAdd		(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferAddHead	(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferCat		(xmlBufferPtr buf,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlBufferCCat		(xmlBufferPtr buf,
					 const char *str);
XMLPUBFUN int XMLCALL
		xmlBufferShrink		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN int XMLCALL
		xmlBufferGrow		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN void XMLCALL
		xmlBufferEmpty		(xmlBufferPtr buf);
XMLPUBFUN const xmlChar* XMLCALL
		xmlBufferContent	(const xmlBuffer *buf);
XMLPUBFUN xmlChar* XMLCALL
		xmlBufferDetach         (xmlBufferPtr buf);
XMLPUBFUN void XMLCALL
		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
					 xmlBufferAllocationScheme scheme);
XMLPUBFUN int XMLCALL
		xmlBufferLength		(const xmlBuffer *buf);

/*
 * Creating/freeing new structures.
 */
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCreateIntSubset	(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlNewDtd		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlGetIntSubset		(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlFreeDtd		(xmlDtdPtr cur);
#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewGlobalNs		(xmlDocPtr doc,
					 const xmlChar *href,
					 const xmlChar *prefix);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewNs		(xmlNodePtr node,
					 const xmlChar *href,
					 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlFreeNs		(xmlNsPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNsList		(xmlNsPtr cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlNewDoc		(const xmlChar *version);
XMLPUBFUN void XMLCALL
		xmlFreeDoc		(xmlDocPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewDocProp		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *value);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
#endif
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsPropEatName	(xmlNodePtr node,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlFreePropList		(xmlAttrPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeProp		(xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyProp		(xmlNodePtr target,
					 xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyPropList		(xmlNodePtr target,
					 xmlAttrPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCopyDtd		(xmlDtdPtr dtd);
#endif /* LIBXML_TREE_ENABLED */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCopyDoc		(xmlDocPtr doc,
					 int recursive);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
/*
 * Creating new nodes.
 */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNode		(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNodeEatName	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNode		(xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNodeEatName	(xmlNsPtr ns,
					 xmlChar *name);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
#endif
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocText		(const xmlDoc *doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewText		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocPI		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewPI		(const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocTextLen	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextLen		(const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocComment	(xmlDocPtr doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewComment		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCDataBlock	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCharRef		(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewReference		(const xmlDoc *doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNode		(xmlNodePtr node,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNode		(xmlNodePtr node,
					 xmlDocPtr doc,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNodeList	(xmlDocPtr doc,
					 xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNodeList		(xmlNodePtr node);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocRawNode	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocFragment	(xmlDocPtr doc);
#endif /* LIBXML_TREE_ENABLED */

/*
 * Navigating.
 */
XMLPUBFUN long XMLCALL
		xmlGetLineNo		(const xmlNode *node);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNodePath		(const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocGetRootElement	(const xmlDoc *doc);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlGetLastChild		(const xmlNode *parent);
XMLPUBFUN int XMLCALL
		xmlNodeIsText		(const xmlNode *node);
XMLPUBFUN int XMLCALL
		xmlIsBlankNode		(const xmlNode *node);

/*
 * Changing the structure.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocSetRootElement	(xmlDocPtr doc,
					 xmlNodePtr root);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetName		(xmlNodePtr cur,
					 const xmlChar *name);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChild		(xmlNodePtr parent,
					 xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChildList		(xmlNodePtr parent,
					 xmlNodePtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlReplaceNode		(xmlNodePtr old,
					 xmlNodePtr cur);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddPrevSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddSibling		(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddNextSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN void XMLCALL
		xmlUnlinkNode		(xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlTextMerge		(xmlNodePtr first,
					 xmlNodePtr second);
XMLPUBFUN int XMLCALL
		xmlTextConcat		(xmlNodePtr node,
					 const xmlChar *content,
					 int len);
XMLPUBFUN void XMLCALL
		xmlFreeNodeList		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNode		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlSetTreeDoc		(xmlNodePtr tree,
					 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		xmlSetListDoc		(xmlNodePtr list,
					 xmlDocPtr doc);
/*
 * Namespaces.
 */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNs		(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNsByHref	(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *href);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNsPtr * XMLCALL
		xmlGetNsList		(const xmlDoc *doc,
					 const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */

XMLPUBFUN void XMLCALL
		xmlSetNs		(xmlNodePtr node,
					 xmlNsPtr ns);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespace	(xmlNsPtr cur);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespaceList	(xmlNsPtr cur);

/*
 * Changing the content.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
	  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNoNsProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringLenGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetString	(xmlDocPtr doc,
					 const xmlNode *list,
					 int inLine);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetRawString	(const xmlDoc *doc,
					 const xmlNode *list,
					 int inLine);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeSetContent	(xmlNodePtr cur,
					 const xmlChar *content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeAddContent	(xmlNodePtr cur,
					 const xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlNodeAddContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetContent	(const xmlNode *cur);

XMLPUBFUN int XMLCALL
		xmlNodeBufGetContent	(xmlBufferPtr buffer,
					 const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlBufGetNodeContent	(xmlBufPtr buf,
					 const xmlNode *cur);

XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetLang		(const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlNodeGetSpacePreserve	(const xmlNode *cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetLang		(xmlNodePtr cur,
					 const xmlChar *lang);
XMLPUBFUN void XMLCALL
		xmlNodeSetSpacePreserve (xmlNodePtr cur,
					 int val);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetBase		(const xmlDoc *doc,
					 const xmlNode *cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN void XMLCALL
		xmlNodeSetBase		(xmlNodePtr cur,
					 const xmlChar *uri);
#endif

/*
 * Removing content.
 */
XMLPUBFUN int XMLCALL
		xmlRemoveProp		(xmlAttrPtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlUnsetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN int XMLCALL
		xmlUnsetProp		(xmlNodePtr node,
					 const xmlChar *name);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */

/*
 * Internal, don't use.
 */
XMLPUBFUN void XMLCALL
		xmlBufferWriteCHAR	(xmlBufferPtr buf,
					 const xmlChar *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteChar	(xmlBufferPtr buf,
					 const char *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteQuotedString(xmlBufferPtr buf,
					 const xmlChar *string);

#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlAttrPtr attr,
					 const xmlChar *string);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef LIBXML_TREE_ENABLED
/*
 * Namespace handling.
 */
XMLPUBFUN int XMLCALL
		xmlReconciliateNs	(xmlDocPtr doc,
					 xmlNodePtr tree);
#endif

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Saving.
 */
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding);
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocFormatDump	(FILE *f,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN void XMLCALL
		xmlElemDump		(FILE *f,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFile	(const char *filename,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN size_t XMLCALL
		xmlBufNodeDump		(xmlBufPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);
XMLPUBFUN int XMLCALL
		xmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileTo		(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
				         const char *encoding,
				         int format);
XMLPUBFUN void XMLCALL
		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format,
					 const char *encoding);

XMLPUBFUN int XMLCALL
		xmlSaveFormatFileEnc    (const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * XHTML
 */
XMLPUBFUN int XMLCALL
		xmlIsXHTML		(const xmlChar *systemID,
					 const xmlChar *publicID);

/*
 * Compression.
 */
XMLPUBFUN int XMLCALL
		xmlGetDocCompressMode	(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlSetDocCompressMode	(xmlDocPtr doc,
					 int mode);
XMLPUBFUN int XMLCALL
		xmlGetCompressMode	(void);
XMLPUBFUN void XMLCALL
		xmlSetCompressMode	(int mode);

/*
* DOM-wrapper helper functions.
*/
XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
		xmlDOMWrapNewCtxt	(void);
XMLPUBFUN void XMLCALL
		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
					 xmlNodePtr elem,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr node,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlNodePtr *clonedNode,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int deep,
					 int options);

#ifdef LIBXML_TREE_ENABLED
/*
 * 5 interfaces from DOM ElementTraversal, but different in entities
 * traversal.
 */
XMLPUBFUN unsigned long XMLCALL
            xmlChildElementCount        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlNextElementSibling       (xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlFirstElementChild        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlLastElementChild         (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlPreviousElementSibling   (xmlNodePtr node);
#endif
#ifdef __cplusplus
}
#endif
#ifndef __XML_PARSER_H__
#include <libxml/xmlmemory.h>
#endif

#endif /* __XML_TREE_H__ */

PKi�Z�e��

!usr/include/libxml2/libxml/list.hnu�[���/*
 * Summary: lists interfaces
 * Description: this module implement the list support used in
 * various place in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
 */

#ifndef __XML_LINK_INCLUDE__
#define __XML_LINK_INCLUDE__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlLink xmlLink;
typedef xmlLink *xmlLinkPtr;

typedef struct _xmlList xmlList;
typedef xmlList *xmlListPtr;

/**
 * xmlListDeallocator:
 * @lk:  the data to deallocate
 *
 * Callback function used to free data from a list.
 */
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
/**
 * xmlListDataCompare:
 * @data0: the first data
 * @data1: the second data
 *
 * Callback function used to compare 2 data.
 *
 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
 */
typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);
/**
 * xmlListWalker:
 * @data: the data found in the list
 * @user: extra user provided data to the walker
 *
 * Callback function used when walking a list with xmlListWalk().
 *
 * Returns 0 to stop walking the list, 1 otherwise.
 */
typedef int (*xmlListWalker) (const void *data, void *user);

/* Creation/Deletion */
XMLPUBFUN xmlListPtr XMLCALL
		xmlListCreate		(xmlListDeallocator deallocator,
	                                 xmlListDataCompare compare);
XMLPUBFUN void XMLCALL
		xmlListDelete		(xmlListPtr l);

/* Basic Operators */
XMLPUBFUN void * XMLCALL
		xmlListSearch		(xmlListPtr l,
					 void *data);
XMLPUBFUN void * XMLCALL
		xmlListReverseSearch	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListInsert		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListAppend		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListRemoveFirst	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveLast	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveAll	(xmlListPtr l,
					 void *data);
XMLPUBFUN void XMLCALL
		xmlListClear		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListEmpty		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListFront		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListEnd		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListSize		(xmlListPtr l);

XMLPUBFUN void XMLCALL
		xmlListPopFront		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListPopBack		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListPushFront	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListPushBack		(xmlListPtr l,
					 void *data);

/* Advanced Operators */
XMLPUBFUN void XMLCALL
		xmlListReverse		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListSort		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListWalk		(xmlListPtr l,
					 xmlListWalker walker,
					 void *user);
XMLPUBFUN void XMLCALL
		xmlListReverseWalk	(xmlListPtr l,
					 xmlListWalker walker,
					 void *user);
XMLPUBFUN void XMLCALL
		xmlListMerge		(xmlListPtr l1,
					 xmlListPtr l2);
XMLPUBFUN xmlListPtr XMLCALL
		xmlListDup		(const xmlListPtr old);
XMLPUBFUN int XMLCALL
		xmlListCopy		(xmlListPtr cur,
					 const xmlListPtr old);
/* Link operators */
XMLPUBFUN void * XMLCALL
		xmlLinkGetData          (xmlLinkPtr lk);

/* xmlListUnique() */
/* xmlListSwap */

#ifdef __cplusplus
}
#endif

#endif /* __XML_LINK_INCLUDE__ */
PKi�Z@�hԇ�&usr/include/libxml2/libxml/xmlstring.hnu�[���/*
 * Summary: set of routines to process strings
 * Description: type and interfaces needed for the internal string handling
 *              of the library, especially UTF8 processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_STRING_H__
#define __XML_STRING_H__

#include <stdarg.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlChar:
 *
 * This is a basic byte in an UTF-8 encoded string.
 * It's unsigned allowing to pinpoint case where char * are assigned
 * to xmlChar * (possibly making serialization back impossible).
 */
typedef unsigned char xmlChar;

/**
 * BAD_CAST:
 *
 * Macro to cast a string to an xmlChar * when one know its safe.
 */
#define BAD_CAST (xmlChar *)

/*
 * xmlChar handling
 */
XMLPUBFUN xmlChar * XMLCALL
                xmlStrdup                (const xmlChar *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrndup               (const xmlChar *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrndup           (const char *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrdup            (const char *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrsub                (const xmlChar *str,
                                         int start,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrchr                (const xmlChar *str,
                                         xmlChar val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrstr                (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrcasestr            (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN int XMLCALL
                xmlStrcmp                (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncmp               (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrcasecmp            (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncasecmp           (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrEqual              (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrQEqual             (const xmlChar *pref,
                                         const xmlChar *name,
                                         const xmlChar *str);
XMLPUBFUN int XMLCALL
                xmlStrlen                (const xmlChar *str);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrcat                (xmlChar *cur,
                                         const xmlChar *add);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncat               (xmlChar *cur,
                                         const xmlChar *add,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncatNew            (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrPrintf             (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         ...) LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
                xmlStrVPrintf                (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         va_list ap) LIBXML_ATTR_FORMAT(3,0);

XMLPUBFUN int XMLCALL
        xmlGetUTF8Char                   (const unsigned char *utf,
                                         int *len);
XMLPUBFUN int XMLCALL
        xmlCheckUTF8                     (const unsigned char *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Strsize                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strndup                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
        xmlUTF8Strpos                    (const xmlChar *utf,
                                         int pos);
XMLPUBFUN int XMLCALL
        xmlUTF8Strloc                    (const xmlChar *utf,
                                         const xmlChar *utfchar);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strsub                    (const xmlChar *utf,
                                         int start,
                                         int len);
XMLPUBFUN int XMLCALL
        xmlUTF8Strlen                    (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Size                      (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Charcmp                   (const xmlChar *utf1,
                                         const xmlChar *utf2);

#ifdef __cplusplus
}
#endif
#endif /* __XML_STRING_H__ */
PKi�Z�bc��!usr/include/libxml2/libxml/SAX2.hnu�[���/*
 * Summary: SAX2 parser interface used to build the DOM tree
 * Description: those are the default SAX2 interfaces used by
 *              the library when building DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX2_H__
#define __XML_SAX2_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetPublicId		(void *ctx);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetSystemId		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2SetDocumentLocator	(void *ctx,
						 xmlSAXLocatorPtr loc);

XMLPUBFUN int XMLCALL
		xmlSAX2GetLineNumber		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2GetColumnNumber		(void *ctx);

XMLPUBFUN int XMLCALL
		xmlSAX2IsStandalone		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasInternalSubset	(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasExternalSubset	(void *ctx);

XMLPUBFUN void XMLCALL
		xmlSAX2InternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN void XMLCALL
		xmlSAX2ExternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetEntity		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetParameterEntity	(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlSAX2ResolveEntity		(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XMLPUBFUN void XMLCALL
		xmlSAX2EntityDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlSAX2AttributeDecl		(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XMLPUBFUN void XMLCALL
		xmlSAX2ElementDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlSAX2NotationDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XMLPUBFUN void XMLCALL
		xmlSAX2UnparsedEntityDecl	(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XMLPUBFUN void XMLCALL
		xmlSAX2StartDocument		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2EndDocument		(void *ctx);
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN void XMLCALL
		xmlSAX2StartElement		(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElement		(void *ctx,
						 const xmlChar *name);
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
XMLPUBFUN void XMLCALL
		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);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElementNs		(void *ctx,
						 const xmlChar *localname,
						 const xmlChar *prefix,
						 const xmlChar *URI);
XMLPUBFUN void XMLCALL
		xmlSAX2Reference		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSAX2Characters		(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2IgnorableWhitespace	(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2ProcessingInstruction	(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XMLPUBFUN void XMLCALL
		xmlSAX2Comment			(void *ctx,
						 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlSAX2CDataBlock		(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXDefaultVersion		(int version);
#endif /* LIBXML_SAX1_ENABLED */

XMLPUBFUN int XMLCALL
		xmlSAXVersion			(xmlSAXHandler *hdlr,
						 int version);
XMLPUBFUN void XMLCALL
		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN void XMLCALL
		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		htmlDefaultSAXHandlerInit	(void);
#endif
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlDefaultSAXHandlerInit	(void);
#ifdef __cplusplus
}
#endif
#endif /* __XML_SAX2_H__ */
PKi�Z��L��'usr/include/libxml2/libxml/xmlschemas.hnu�[���/*
 * Summary: incomplete XML Schemas structure implementation
 * Description: interface to the XML Schemas handling and schema validity
 *              checking, it is incomplete right now.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_H__
#define __XML_SCHEMA_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * This error codes are obsolete; not used any more.
 */
typedef enum {
    XML_SCHEMAS_ERR_OK		= 0,
    XML_SCHEMAS_ERR_NOROOT	= 1,
    XML_SCHEMAS_ERR_UNDECLAREDELEM,
    XML_SCHEMAS_ERR_NOTTOPLEVEL,
    XML_SCHEMAS_ERR_MISSING,
    XML_SCHEMAS_ERR_WRONGELEM,
    XML_SCHEMAS_ERR_NOTYPE,
    XML_SCHEMAS_ERR_NOROLLBACK,
    XML_SCHEMAS_ERR_ISABSTRACT,
    XML_SCHEMAS_ERR_NOTEMPTY,
    XML_SCHEMAS_ERR_ELEMCONT,
    XML_SCHEMAS_ERR_HAVEDEFAULT,
    XML_SCHEMAS_ERR_NOTNILLABLE,
    XML_SCHEMAS_ERR_EXTRACONTENT,
    XML_SCHEMAS_ERR_INVALIDATTR,
    XML_SCHEMAS_ERR_INVALIDELEM,
    XML_SCHEMAS_ERR_NOTDETERMINIST,
    XML_SCHEMAS_ERR_CONSTRUCT,
    XML_SCHEMAS_ERR_INTERNAL,
    XML_SCHEMAS_ERR_NOTSIMPLE,
    XML_SCHEMAS_ERR_ATTRUNKNOWN,
    XML_SCHEMAS_ERR_ATTRINVALID,
    XML_SCHEMAS_ERR_VALUE,
    XML_SCHEMAS_ERR_FACET,
    XML_SCHEMAS_ERR_,
    XML_SCHEMAS_ERR_XXX
} xmlSchemaValidError;

/*
* ATTENTION: Change xmlSchemaSetValidOptions's check
* for invalid values, if adding to the validation
* options below.
*/
/**
 * xmlSchemaValidOption:
 *
 * This is the set of XML Schema validation options.
 */
typedef enum {
    XML_SCHEMA_VAL_VC_I_CREATE			= 1<<0
	/* Default/fixed: create an attribute node
	* or an element's text node on the instance.
	*/
} xmlSchemaValidOption;

/*
    XML_SCHEMA_VAL_XSI_ASSEMBLE			= 1<<1,
	* assemble schemata using
	* xsi:schemaLocation and
	* xsi:noNamespaceSchemaLocation
*/

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchema xmlSchema;
typedef xmlSchema *xmlSchemaPtr;

/**
 * xmlSchemaValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlSchemaValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;

typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;

/**
 * xmlSchemaValidityLocatorFunc:
 * @ctx: user provided context
 * @file: returned file information
 * @line: returned line information
 *
 * A schemas validation locator, a callback called by the validator.
 * This is used when file or node information are not available
 * to find out what file and line number are affected
 *
 * Returns: 0 in case of success and -1 in case of error
 */

typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
                           const char **file, unsigned long *line);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewMemParserCtxt	(const char *buffer,
					 int size);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewDocParserCtxt	(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
					xmlSchemaValidityErrorFunc * err,
					xmlSchemaValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaIsValid	(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaPtr XMLCALL
	    xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaFree		(xmlSchemaPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	    xmlSchemaDump		(FILE *output,
					 xmlSchemaPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc *err,
					 xmlSchemaValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
	                                 const char *filename);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
					 xmlDocPtr instance);
XMLPUBFUN int XMLCALL
            xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc,
					 xmlSAXHandlerPtr sax,
					 void *user_data);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateFile	(xmlSchemaValidCtxtPtr ctxt,
					 const char * filename,
					 int options);

XMLPUBFUN xmlParserCtxtPtr XMLCALL
	    xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);

/*
 * Interface to insert Schemas SAX validation in a SAX stream
 */
typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;

XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
            xmlSchemaSAXPlug		(xmlSchemaValidCtxtPtr ctxt,
					 xmlSAXHandlerPtr *sax,
					 void **user_data);
XMLPUBFUN int XMLCALL
            xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug);


XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetLocator	(xmlSchemaValidCtxtPtr vctxt,
					 xmlSchemaValidityLocatorFunc f,
					 void *ctxt);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_H__ */
PKi�Z�Qu���&usr/include/libxml2/libxml/xmlmodule.hnu�[���/*
 * Summary: dynamic module loading
 * Description: basic API for dynamic module loading, used by
 *              libexslt added in 2.6.17
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Joel W. Reed
 */

#ifndef __XML_MODULE_H__
#define __XML_MODULE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_MODULES_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlModulePtr:
 *
 * A handle to a dynamically loaded module
 */
typedef struct _xmlModule xmlModule;
typedef xmlModule *xmlModulePtr;

/**
 * xmlModuleOption:
 *
 * enumeration of options that can be passed down to xmlModuleOpen()
 */
typedef enum {
    XML_MODULE_LAZY = 1,	/* lazy binding */
    XML_MODULE_LOCAL= 2		/* local binding */
} xmlModuleOption;

XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen	(const char *filename,
						 int options);

XMLPUBFUN int XMLCALL xmlModuleSymbol		(xmlModulePtr module,
						 const char* name,
						 void **result);

XMLPUBFUN int XMLCALL xmlModuleClose		(xmlModulePtr module);

XMLPUBFUN int XMLCALL xmlModuleFree		(xmlModulePtr module);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_MODULES_ENABLED */

#endif /*__XML_MODULE_H__ */
PKi�ZL��!	!	$usr/include/libxml2/libxml/xmlsave.hnu�[���/*
 * Summary: the XML document serializer
 * Description: API to save document or subtree of document
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLSAVE_H__
#define __XML_XMLSAVE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/encoding.h>
#include <libxml/xmlIO.h>

#ifdef LIBXML_OUTPUT_ENABLED
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlSaveOption:
 *
 * This is the set of XML save options that can be passed down
 * to the xmlSaveToFd() and similar calls.
 */
typedef enum {
    XML_SAVE_FORMAT     = 1<<0,	/* format save output */
    XML_SAVE_NO_DECL    = 1<<1,	/* drop the xml declaration */
    XML_SAVE_NO_EMPTY	= 1<<2, /* no empty tags */
    XML_SAVE_NO_XHTML	= 1<<3, /* disable XHTML1 specific rules */
    XML_SAVE_XHTML	= 1<<4, /* force XHTML1 specific rules */
    XML_SAVE_AS_XML     = 1<<5, /* force XML serialization on HTML doc */
    XML_SAVE_AS_HTML    = 1<<6, /* force HTML serialization on XML doc */
    XML_SAVE_WSNONSIG   = 1<<7  /* format with non-significant whitespace */
} xmlSaveOption;


typedef struct _xmlSaveCtxt xmlSaveCtxt;
typedef xmlSaveCtxt *xmlSaveCtxtPtr;

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFd		(int fd,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFilename	(const char *filename,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToBuffer		(xmlBufferPtr buffer,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
					 xmlOutputCloseCallback ioclose,
					 void *ioctx,
					 const char *encoding,
					 int options);

XMLPUBFUN long XMLCALL
		xmlSaveDoc		(xmlSaveCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN long XMLCALL
		xmlSaveTree		(xmlSaveCtxtPtr ctxt,
					 xmlNodePtr node);

XMLPUBFUN int XMLCALL
		xmlSaveFlush		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveClose		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveSetEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
XMLPUBFUN int XMLCALL
		xmlSaveSetAttrEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
#ifdef __cplusplus
}
#endif
#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* __XML_XMLSAVE_H__ */


PKi�Z��<�

$usr/include/libxml2/libxml/pattern.hnu�[���/*
 * Summary: pattern expression handling
 * Description: allows to compile and test pattern expressions for nodes
 *              either in a tree or based on a parser state.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PATTERN_H__
#define __XML_PATTERN_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>

#ifdef LIBXML_PATTERN_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlPattern:
 *
 * A compiled (XPath based) pattern to select nodes
 */
typedef struct _xmlPattern xmlPattern;
typedef xmlPattern *xmlPatternPtr;

/**
 * xmlPatternFlags:
 *
 * This is the set of options affecting the behaviour of pattern
 * matching with this module
 *
 */
typedef enum {
    XML_PATTERN_DEFAULT		= 0,	/* simple pattern match */
    XML_PATTERN_XPATH		= 1<<0,	/* standard XPath pattern */
    XML_PATTERN_XSSEL		= 1<<1,	/* XPath subset for schema selector */
    XML_PATTERN_XSFIELD		= 1<<2	/* XPath subset for schema field */
} xmlPatternFlags;

XMLPUBFUN void XMLCALL
			xmlFreePattern		(xmlPatternPtr comp);

XMLPUBFUN void XMLCALL
			xmlFreePatternList	(xmlPatternPtr comp);

XMLPUBFUN xmlPatternPtr XMLCALL
			xmlPatterncompile	(const xmlChar *pattern,
						 xmlDict *dict,
						 int flags,
						 const xmlChar **namespaces);
XMLPUBFUN int XMLCALL
			xmlPatternMatch		(xmlPatternPtr comp,
						 xmlNodePtr node);

/* streaming interfaces */
typedef struct _xmlStreamCtxt xmlStreamCtxt;
typedef xmlStreamCtxt *xmlStreamCtxtPtr;

XMLPUBFUN int XMLCALL
			xmlPatternStreamable	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMaxDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMinDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternFromRoot	(xmlPatternPtr comp);
XMLPUBFUN xmlStreamCtxtPtr XMLCALL
			xmlPatternGetStreamCtxt	(xmlPatternPtr comp);
XMLPUBFUN void XMLCALL
			xmlFreeStreamCtxt	(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamPushNode	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns,
						 int nodeType);
XMLPUBFUN int XMLCALL
			xmlStreamPush		(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPushAttr	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPop		(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamWantsAnyNode	(xmlStreamCtxtPtr stream);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_PATTERN_ENABLED */

#endif /* __XML_PATTERN_H__ */
PKi�ZHf�t�K�K+usr/include/libxml2/libxml/xpathInternals.hnu�[���/*
 * Summary: internal interfaces for XML Path Language implementation
 * Description: internal interfaces for XML Path Language implementation
 *              used to build new modules on top of XPath like XPointer and
 *              XSLT
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_INTERNALS_H__
#define __XML_XPATH_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/xpath.h>

#ifdef LIBXML_XPATH_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************
 *									*
 *			Helpers						*
 *									*
 ************************************************************************/

/*
 * Many of these macros may later turn into functions. They
 * shouldn't be used in #ifdef's preprocessor instructions.
 */
/**
 * xmlXPathSetError:
 * @ctxt:  an XPath parser context
 * @err:  an xmlXPathError code
 *
 * Raises an error.
 */
#define xmlXPathSetError(ctxt, err)					\
    { xmlXPatherror((ctxt), __FILE__, __LINE__, (err));			\
      if ((ctxt) != NULL) (ctxt)->error = (err); }

/**
 * xmlXPathSetArityError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_ARITY error.
 */
#define xmlXPathSetArityError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)

/**
 * xmlXPathSetTypeError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_TYPE error.
 */
#define xmlXPathSetTypeError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)

/**
 * xmlXPathGetError:
 * @ctxt:  an XPath parser context
 *
 * Get the error code of an XPath context.
 *
 * Returns the context error.
 */
#define xmlXPathGetError(ctxt)	  ((ctxt)->error)

/**
 * xmlXPathCheckError:
 * @ctxt:  an XPath parser context
 *
 * Check if an XPath error was raised.
 *
 * Returns true if an error has been raised, false otherwise.
 */
#define xmlXPathCheckError(ctxt)  ((ctxt)->error != XPATH_EXPRESSION_OK)

/**
 * xmlXPathGetDocument:
 * @ctxt:  an XPath parser context
 *
 * Get the document of an XPath context.
 *
 * Returns the context document.
 */
#define xmlXPathGetDocument(ctxt)	((ctxt)->context->doc)

/**
 * xmlXPathGetContextNode:
 * @ctxt: an XPath parser context
 *
 * Get the context node of an XPath context.
 *
 * Returns the context node.
 */
#define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)

XMLPUBFUN int XMLCALL
		xmlXPathPopBoolean	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN double XMLCALL
		xmlXPathPopNumber	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathPopString	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void * XMLCALL
		xmlXPathPopExternal	(xmlXPathParserContextPtr ctxt);

/**
 * xmlXPathReturnBoolean:
 * @ctxt:  an XPath parser context
 * @val:  a boolean
 *
 * Pushes the boolean @val on the context stack.
 */
#define xmlXPathReturnBoolean(ctxt, val)				\
    valuePush((ctxt), xmlXPathNewBoolean(val))

/**
 * xmlXPathReturnTrue:
 * @ctxt:  an XPath parser context
 *
 * Pushes true on the context stack.
 */
#define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)

/**
 * xmlXPathReturnFalse:
 * @ctxt:  an XPath parser context
 *
 * Pushes false on the context stack.
 */
#define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)

/**
 * xmlXPathReturnNumber:
 * @ctxt:  an XPath parser context
 * @val:  a double
 *
 * Pushes the double @val on the context stack.
 */
#define xmlXPathReturnNumber(ctxt, val)					\
    valuePush((ctxt), xmlXPathNewFloat(val))

/**
 * xmlXPathReturnString:
 * @ctxt:  an XPath parser context
 * @str:  a string
 *
 * Pushes the string @str on the context stack.
 */
#define xmlXPathReturnString(ctxt, str)					\
    valuePush((ctxt), xmlXPathWrapString(str))

/**
 * xmlXPathReturnEmptyString:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty string on the stack.
 */
#define xmlXPathReturnEmptyString(ctxt)					\
    valuePush((ctxt), xmlXPathNewCString(""))

/**
 * xmlXPathReturnNodeSet:
 * @ctxt:  an XPath parser context
 * @ns:  a node-set
 *
 * Pushes the node-set @ns on the context stack.
 */
#define xmlXPathReturnNodeSet(ctxt, ns)					\
    valuePush((ctxt), xmlXPathWrapNodeSet(ns))

/**
 * xmlXPathReturnEmptyNodeSet:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty node-set on the context stack.
 */
#define xmlXPathReturnEmptyNodeSet(ctxt)				\
    valuePush((ctxt), xmlXPathNewNodeSet(NULL))

/**
 * xmlXPathReturnExternal:
 * @ctxt:  an XPath parser context
 * @val:  user data
 *
 * Pushes user data on the context stack.
 */
#define xmlXPathReturnExternal(ctxt, val)				\
    valuePush((ctxt), xmlXPathWrapExternal(val))

/**
 * xmlXPathStackIsNodeSet:
 * @ctxt: an XPath parser context
 *
 * Check if the current value on the XPath stack is a node set or
 * an XSLT value tree.
 *
 * Returns true if the current object on the stack is a node-set.
 */
#define xmlXPathStackIsNodeSet(ctxt)					\
    (((ctxt)->value != NULL)						\
     && (((ctxt)->value->type == XPATH_NODESET)				\
         || ((ctxt)->value->type == XPATH_XSLT_TREE)))

/**
 * xmlXPathStackIsExternal:
 * @ctxt: an XPath parser context
 *
 * Checks if the current value on the XPath stack is an external
 * object.
 *
 * Returns true if the current object on the stack is an external
 * object.
 */
#define xmlXPathStackIsExternal(ctxt)					\
	((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))

/**
 * xmlXPathEmptyNodeSet:
 * @ns:  a node-set
 *
 * Empties a node-set.
 */
#define xmlXPathEmptyNodeSet(ns)					\
    { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; }

/**
 * CHECK_ERROR:
 *
 * Macro to return from the function if an XPath error was detected.
 */
#define CHECK_ERROR							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return

/**
 * CHECK_ERROR0:
 *
 * Macro to return 0 from the function if an XPath error was detected.
 */
#define CHECK_ERROR0							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return(0)

/**
 * XP_ERROR:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return.
 */
#define XP_ERROR(X)							\
    { xmlXPathErr(ctxt, X); return; }

/**
 * XP_ERROR0:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return 0.
 */
#define XP_ERROR0(X)							\
    { xmlXPathErr(ctxt, X); return(0); }

/**
 * CHECK_TYPE:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type.
 */
#define CHECK_TYPE(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR(XPATH_INVALID_TYPE)

/**
 * CHECK_TYPE0:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type. Return(0) in case of failure
 */
#define CHECK_TYPE0(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR0(XPATH_INVALID_TYPE)

/**
 * CHECK_ARITY:
 * @x:  the number of expected args
 *
 * Macro to check that the number of args passed to an XPath function matches.
 */
#define CHECK_ARITY(x)							\
    if (ctxt == NULL) return;						\
    if (nargs != (x))							\
        XP_ERROR(XPATH_INVALID_ARITY);					\
    if (ctxt->valueNr < ctxt->valueFrame + (x))				\
        XP_ERROR(XPATH_STACK_ERROR);

/**
 * CAST_TO_STRING:
 *
 * Macro to try to cast the value on the top of the XPath stack to a string.
 */
#define CAST_TO_STRING							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))	\
        xmlXPathStringFunction(ctxt, 1);

/**
 * CAST_TO_NUMBER:
 *
 * Macro to try to cast the value on the top of the XPath stack to a number.
 */
#define CAST_TO_NUMBER							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))	\
        xmlXPathNumberFunction(ctxt, 1);

/**
 * CAST_TO_BOOLEAN:
 *
 * Macro to try to cast the value on the top of the XPath stack to a boolean.
 */
#define CAST_TO_BOOLEAN							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))	\
        xmlXPathBooleanFunction(ctxt, 1);

/*
 * Variable Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathVariableLookupFunc f,
					 void *data);

/*
 * Function Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	    xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathFuncLookupFunc f,
					 void *funcCtxt);

/*
 * Error reporting.
 */
XMLPUBFUN void XMLCALL
		xmlXPatherror	(xmlXPathParserContextPtr ctxt,
				 const char *file,
				 int line,
				 int no);

XMLPUBFUN void XMLCALL
		xmlXPathErr	(xmlXPathParserContextPtr ctxt,
				 int error);

#ifdef LIBXML_DEBUG_ENABLED
XMLPUBFUN void XMLCALL
		xmlXPathDebugDumpObject	(FILE *output,
					 xmlXPathObjectPtr cur,
					 int depth);
XMLPUBFUN void XMLCALL
	    xmlXPathDebugDumpCompExpr(FILE *output,
					 xmlXPathCompExprPtr comp,
					 int depth);
#endif
/**
 * NodeSet handling.
 */
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetContains		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDifference		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathIntersection		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinctSorted		(xmlNodeSetPtr nodes);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinct		(xmlNodeSetPtr nodes);

XMLPUBFUN int XMLCALL
		xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeadingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeading		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeading			(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailing		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailing		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);


/**
 * Extending a context.
 */

XMLPUBFUN int XMLCALL
		xmlXPathRegisterNs		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix,
						 const xmlChar *ns_uri);
XMLPUBFUN const xmlChar * XMLCALL
		xmlXPathNsLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt);

XMLPUBFUN int XMLCALL
		xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathObjectPtr value);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathObjectPtr value);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);

/**
 * Utilities to extend XPath.
 */
XMLPUBFUN xmlXPathParserContextPtr XMLCALL
		  xmlXPathNewParserContext	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt);

/* TODO: remap to xmlXPathValuePop and Push. */
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		valuePop			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL
		valuePush			(xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr value);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewString		(const xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewCString		(const char *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapString		(xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapCString		(char * val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewFloat		(double val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewBoolean		(int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSet		(xmlNodePtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewValueTree		(xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAdd		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur,
						 xmlNodePtr node,
						 xmlNsPtr ns);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetSort		(xmlNodeSetPtr set);

XMLPUBFUN void XMLCALL
		xmlXPathRoot			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseName		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseNCName		(xmlXPathParserContextPtr ctxt);

/*
 * Existing functions.
 */
XMLPUBFUN double XMLCALL
		xmlXPathStringEvalNumber	(const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr res);
XMLPUBFUN void XMLCALL
		xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeSetMerge		(xmlNodeSetPtr val1,
						 xmlNodeSetPtr val2);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetDel		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetRemove		(xmlNodeSetPtr cur,
						 int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSetList		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapNodeSet		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapExternal		(void *val);

XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);

XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);

/*
 * Some of the axis navigation routines.
 */
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
/*
 * The official core of XPath functions.
 */
XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);

/**
 * Really internal functions
 */
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED */
#endif /* ! __XML_XPATH_INTERNALS_H__ */
PKi�Z*L�h
h
 usr/include/libxml2/libxml/uri.hnu�[���/**
 * Summary: library of generic URI related routines
 * Description: library of generic URI related routines
 *              Implements RFC 2396
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_URI_H__
#define __XML_URI_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlURI:
 *
 * A parsed URI reference. This is a struct containing the various fields
 * as described in RFC 2396 but separated for further processing.
 *
 * Note: query is a deprecated field which is incorrectly unescaped.
 * query_raw takes precedence over query if the former is set.
 * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
 */
typedef struct _xmlURI xmlURI;
typedef xmlURI *xmlURIPtr;
struct _xmlURI {
    char *scheme;	/* the URI scheme */
    char *opaque;	/* opaque part */
    char *authority;	/* the authority part */
    char *server;	/* the server part */
    char *user;		/* the user part */
    int port;		/* the port number */
    char *path;		/* the path string */
    char *query;	/* the query string (deprecated - use with caution) */
    char *fragment;	/* the fragment identifier */
    int  cleanup;	/* parsing potentially unclean URI */
    char *query_raw;	/* the query string (as it appears in the URI) */
};

/*
 * This function is in tree.h:
 * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
 *                               xmlNodePtr cur);
 */
XMLPUBFUN xmlURIPtr XMLCALL
		xmlCreateURI		(void);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildURI		(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildRelativeURI	(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURI		(const char *str);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURIRaw		(const char *str,
					 int raw);
XMLPUBFUN int XMLCALL
		xmlParseURIReference	(xmlURIPtr uri,
					 const char *str);
XMLPUBFUN xmlChar * XMLCALL
		xmlSaveUri		(xmlURIPtr uri);
XMLPUBFUN void XMLCALL
		xmlPrintURI		(FILE *stream,
					 xmlURIPtr uri);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscapeStr         (const xmlChar *str,
					 const xmlChar *list);
XMLPUBFUN char * XMLCALL
		xmlURIUnescapeString	(const char *str,
					 int len,
					 char *target);
XMLPUBFUN int XMLCALL
		xmlNormalizeURIPath	(char *path);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscape		(const xmlChar *str);
XMLPUBFUN void XMLCALL
		xmlFreeURI		(xmlURIPtr uri);
XMLPUBFUN xmlChar* XMLCALL
		xmlCanonicPath		(const xmlChar *path);
XMLPUBFUN xmlChar* XMLCALL
		xmlPathToURI		(const xmlChar *path);

#ifdef __cplusplus
}
#endif
#endif /* __XML_URI_H__ */
PKi�Z���,usr/include/libxml2/libxml/xmlschemastypes.hnu�[���/*
 * Summary: implementation of XML Schema Datatypes
 * Description: module providing the XML Schema Datatypes implementation
 *              both definition and validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_TYPES_H__
#define __XML_SCHEMA_TYPES_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/schemasInternals.h>
#include <libxml/xmlschemas.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
    XML_SCHEMA_WHITESPACE_PRESERVE = 1,
    XML_SCHEMA_WHITESPACE_REPLACE = 2,
    XML_SCHEMA_WHITESPACE_COLLAPSE = 3
} xmlSchemaWhitespaceValueType;

XMLPUBFUN void XMLCALL
		xmlSchemaInitTypes		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlSchemaCleanupTypes		(void);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetPredefinedType	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
						 xmlSchemaWhitespaceValueType fws,
						 xmlSchemaValType valType,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaFacetPtr XMLCALL
		xmlSchemaNewFacet		(void);
XMLPUBFUN int XMLCALL
		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
						 xmlSchemaTypePtr typeDecl,
						 xmlSchemaParserCtxtPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValues		(xmlSchemaValPtr x,
						 xmlSchemaValPtr y);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
    xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
XMLPUBFUN int XMLCALL
    xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 unsigned long actualLen,
						 unsigned long *expectedLen);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
XMLPUBFUN int XMLCALL
		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type,
						 int facetType);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaCollapseString		(const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
XMLPUBFUN unsigned long  XMLCALL
		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 unsigned long *length);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
						  xmlSchemaValType valType,
						  const xmlChar *value,
						  xmlSchemaValPtr val,
						  unsigned long *length,
						  xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
						 const xmlChar **retValue);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,
						 const xmlChar **retValue,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
						 xmlSchemaValPtr cur);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewStringValue		(xmlSchemaValType type,
						 const xmlChar *value);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
						 const xmlChar *localName);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
						 xmlSchemaWhitespaceValueType xws,
						 xmlSchemaValPtr y,
						 xmlSchemaWhitespaceValueType yws);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaCopyValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValType XMLCALL
		xmlSchemaGetValType		(xmlSchemaValPtr val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_TYPES_H__ */
PKi�Z��'usr/include/libxml2/libxml/schematron.hnu�[���/*
 * Summary: XML Schematron implementation
 * Description: interface to the XML Schematron validity checking.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMATRON_H__
#define __XML_SCHEMATRON_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMATRON_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
    XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
    XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
    XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
    XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
    XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
    XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
} xmlSchematronValidOptions;

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchematron xmlSchematron;
typedef xmlSchematron *xmlSchematronPtr;

/**
 * xmlSchematronValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);

/**
 * xmlSchematronValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);

/**
 * A schemas validation context
 */
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;

typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewMemParserCtxt(const char *buffer,
					 int size);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
/*****
XMLPUBFUN void XMLCALL
	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					xmlSchematronValidityErrorFunc * err,
					xmlSchematronValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
 *****/
XMLPUBFUN xmlSchematronPtr XMLCALL
	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchematronFree		(xmlSchematronPtr schema);
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidStructuredErrors(
	                                  xmlSchematronValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror,
					  void *ctx);
/******
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc *err,
					 xmlSchematronValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
            xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
 *******/

XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
					 int options);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
					 xmlDocPtr instance);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMATRON_ENABLED */
#endif /* __XML_SCHEMATRON_H__ */
PKi�Z�f?tt(usr/include/libxml2/libxml/xmlautomata.hnu�[���/*
 * Summary: API to build regexp automata
 * Description: the API to build regexp automata
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_AUTOMATA_H__
#define __XML_AUTOMATA_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_REGEXP_ENABLED
#ifdef LIBXML_AUTOMATA_ENABLED
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlAutomataPtr:
 *
 * A libxml automata description, It can be compiled into a regexp
 */
typedef struct _xmlAutomata xmlAutomata;
typedef xmlAutomata *xmlAutomataPtr;

/**
 * xmlAutomataStatePtr:
 *
 * A state int the automata description,
 */
typedef struct _xmlAutomataState xmlAutomataState;
typedef xmlAutomataState *xmlAutomataStatePtr;

/*
 * Building API
 */
XMLPUBFUN xmlAutomataPtr XMLCALL
		    xmlNewAutomata		(void);
XMLPUBFUN void XMLCALL
		    xmlFreeAutomata		(xmlAutomataPtr am);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataGetInitState	(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataSetFinalState	(xmlAutomataPtr am,
						 xmlAutomataStatePtr state);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewState		(xmlAutomataPtr am);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
                    xmlAutomataNewNegTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int lax);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewEpsilon	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountedTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCounterTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN int XMLCALL
		    xmlAutomataNewCounter	(xmlAutomataPtr am,
						 int min,
						 int max);

XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlAutomataCompile		(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataIsDeterminist	(xmlAutomataPtr am);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_AUTOMATA_ENABLED */
#endif /* LIBXML_REGEXP_ENABLED */

#endif /* __XML_AUTOMATA_H__ */
PKi�Z�.nn%usr/include/libxml2/libxml/encoding.hnu�[���/*
 * Summary: interface for the encoding conversion functions
 * Description: interface for the encoding conversion functions needed for
 *              XML basic encoding and iconv() support.
 *
 * Related specs are
 * rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies
 * [ISO-10646]    UTF-8 and UTF-16 in Annexes
 * [ISO-8859-1]   ISO Latin-1 characters codes.
 * [UNICODE]      The Unicode Consortium, "The Unicode Standard --
 *                Worldwide Character Encoding -- Version 1.0", Addison-
 *                Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is
 *                described in Unicode Technical Report #4.
 * [US-ASCII]     Coded Character Set--7-bit American Standard Code for
 *                Information Interchange, ANSI X3.4-1986.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CHAR_ENCODING_H__
#define __XML_CHAR_ENCODING_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_ICONV_ENABLED
#include <iconv.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlCharEncoding:
 *
 * Predefined values for some standard encodings.
 * Libxml does not do beforehand translation on UTF8 and ISOLatinX.
 * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default.
 *
 * Anything else would have to be translated to UTF8 before being
 * given to the parser itself. The BOM for UTF16 and the encoding
 * declaration are looked at and a converter is looked for at that
 * point. If not found the parser stops here as asked by the XML REC. A
 * converter can be registered by the user using xmlRegisterCharEncodingHandler
 * but the current form doesn't allow stateful transcoding (a serious
 * problem agreed !). If iconv has been found it will be used
 * automatically and allow stateful transcoding, the simplest is then
 * to be sure to enable iconv and to provide iconv libs for the encoding
 * support needed.
 *
 * Note that the generic "UTF-16" is not a predefined value.  Instead, only
 * the specific UTF-16LE and UTF-16BE are present.
 */
typedef enum {
    XML_CHAR_ENCODING_ERROR=   -1, /* No char encoding detected */
    XML_CHAR_ENCODING_NONE=	0, /* No char encoding detected */
    XML_CHAR_ENCODING_UTF8=	1, /* UTF-8 */
    XML_CHAR_ENCODING_UTF16LE=	2, /* UTF-16 little endian */
    XML_CHAR_ENCODING_UTF16BE=	3, /* UTF-16 big endian */
    XML_CHAR_ENCODING_UCS4LE=	4, /* UCS-4 little endian */
    XML_CHAR_ENCODING_UCS4BE=	5, /* UCS-4 big endian */
    XML_CHAR_ENCODING_EBCDIC=	6, /* EBCDIC uh! */
    XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS2=	9, /* UCS-2 */
    XML_CHAR_ENCODING_8859_1=	10,/* ISO-8859-1 ISO Latin 1 */
    XML_CHAR_ENCODING_8859_2=	11,/* ISO-8859-2 ISO Latin 2 */
    XML_CHAR_ENCODING_8859_3=	12,/* ISO-8859-3 */
    XML_CHAR_ENCODING_8859_4=	13,/* ISO-8859-4 */
    XML_CHAR_ENCODING_8859_5=	14,/* ISO-8859-5 */
    XML_CHAR_ENCODING_8859_6=	15,/* ISO-8859-6 */
    XML_CHAR_ENCODING_8859_7=	16,/* ISO-8859-7 */
    XML_CHAR_ENCODING_8859_8=	17,/* ISO-8859-8 */
    XML_CHAR_ENCODING_8859_9=	18,/* ISO-8859-9 */
    XML_CHAR_ENCODING_2022_JP=  19,/* ISO-2022-JP */
    XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
    XML_CHAR_ENCODING_EUC_JP=   21,/* EUC-JP */
    XML_CHAR_ENCODING_ASCII=    22 /* pure ASCII */
} xmlCharEncoding;

/**
 * xmlCharEncodingInputFunc:
 * @out:  a pointer to an array of bytes to store the UTF-8 result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of chars in the original encoding
 * @inlen:  the length of @in
 *
 * Take a block of chars in the original encoding and try to convert
 * it to an UTF-8 block of chars out.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets consumed.
 */
typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
                                         const unsigned char *in, int *inlen);


/**
 * xmlCharEncodingOutputFunc:
 * @out:  a pointer to an array of bytes to store the result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of UTF-8 chars
 * @inlen:  the length of @in
 *
 * Take a block of UTF-8 chars in and try to convert it to another
 * encoding.
 * Note: a first call designed to produce heading info is called with
 * in = NULL. If stateful this should also initialize the encoder state.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets produced.
 */
typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
                                          const unsigned char *in, int *inlen);


/*
 * Block defining the handlers for non UTF-8 encodings.
 * If iconv is supported, there are two extra fields.
 */
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
    char                       *name;
    xmlCharEncodingInputFunc   input;
    xmlCharEncodingOutputFunc  output;
#ifdef LIBXML_ICONV_ENABLED
    iconv_t                    iconv_in;
    iconv_t                    iconv_out;
#endif /* LIBXML_ICONV_ENABLED */
#ifdef LIBXML_ICU_ENABLED
    struct _uconv_t            *uconv_in;
    struct _uconv_t            *uconv_out;
#endif /* LIBXML_ICU_ENABLED */
};

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * Interfaces for encoding handlers.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlInitCharEncodingHandlers	(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlCleanupCharEncodingHandlers	(void);
XMLPUBFUN void XMLCALL
	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlGetCharEncodingHandler	(xmlCharEncoding enc);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlFindCharEncodingHandler	(const char *name);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlNewCharEncodingHandler	(const char *name,
					 xmlCharEncodingInputFunc input,
					 xmlCharEncodingOutputFunc output);

/*
 * Interfaces for encoding names and aliases.
 */
XMLPUBFUN int XMLCALL
	xmlAddEncodingAlias		(const char *name,
					 const char *alias);
XMLPUBFUN int XMLCALL
	xmlDelEncodingAlias		(const char *alias);
XMLPUBFUN const char * XMLCALL
	xmlGetEncodingAlias		(const char *alias);
XMLPUBFUN void XMLCALL
	xmlCleanupEncodingAliases	(void);
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlParseCharEncoding		(const char *name);
XMLPUBFUN const char * XMLCALL
	xmlGetCharEncodingName		(xmlCharEncoding enc);

/*
 * Interfaces directly used by the parsers.
 */
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlDetectCharEncoding		(const unsigned char *in,
					 int len);

XMLPUBFUN int XMLCALL
	xmlCharEncOutFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);

XMLPUBFUN int XMLCALL
	xmlCharEncInFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncFirstLine		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncCloseFunc		(xmlCharEncodingHandler *handler);

/*
 * Export a few useful functions
 */
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	UTF8Toisolat1			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	isolat1ToUTF8			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#ifdef __cplusplus
}
#endif

#endif /* __XML_CHAR_ENCODING_H__ */
PKi�Z�#�S�)�)"usr/include/libxml2/libxml/xmlIO.hnu�[���/*
 * Summary: interface for the I/O interfaces used by the parser
 * Description: interface for the I/O interfaces used by the parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_IO_H__
#define __XML_IO_H__

#include <stdio.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Those are the functions and datatypes for the parser input
 * I/O structures.
 */

/**
 * xmlInputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to detect if the current handler
 * can provide input functionality for this resource.
 *
 * Returns 1 if yes and 0 if another Input module should be used
 */
typedef int (XMLCALL *xmlInputMatchCallback) (char const *filename);
/**
 * xmlInputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to open the resource
 *
 * Returns an Input context or NULL in case or error
 */
typedef void * (XMLCALL *xmlInputOpenCallback) (char const *filename);
/**
 * xmlInputReadCallback:
 * @context:  an Input context
 * @buffer:  the buffer to store data read
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Input API to read the resource
 *
 * Returns the number of bytes read or -1 in case of error
 */
typedef int (XMLCALL *xmlInputReadCallback) (void * context, char * buffer, int len);
/**
 * xmlInputCloseCallback:
 * @context:  an Input context
 *
 * Callback used in the I/O Input API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlInputCloseCallback) (void * context);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Those are the functions and datatypes for the library output
 * I/O structures.
 */

/**
 * xmlOutputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to detect if the current handler
 * can provide output functionality for this resource.
 *
 * Returns 1 if yes and 0 if another Output module should be used
 */
typedef int (XMLCALL *xmlOutputMatchCallback) (char const *filename);
/**
 * xmlOutputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to open the resource
 *
 * Returns an Output context or NULL in case or error
 */
typedef void * (XMLCALL *xmlOutputOpenCallback) (char const *filename);
/**
 * xmlOutputWriteCallback:
 * @context:  an Output context
 * @buffer:  the buffer of data to write
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Output API to write to the resource
 *
 * Returns the number of bytes written or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputWriteCallback) (void * context, const char * buffer,
                                       int len);
/**
 * xmlOutputCloseCallback:
 * @context:  an Output context
 *
 * Callback used in the I/O Output API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputCloseCallback) (void * context);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef __cplusplus
}
#endif

#include <libxml/globals.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/encoding.h>

#ifdef __cplusplus
extern "C" {
#endif
struct _xmlParserInputBuffer {
    void*                  context;
    xmlInputReadCallback   readcallback;
    xmlInputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 */
    xmlBufPtr raw;       /* if encoder != NULL buffer for raw input */
    int	compressed;	    /* -1=unknown, 0=not compressed, 1=compressed */
    int error;
    unsigned long rawconsumed;/* amount consumed from raw */
};


#ifdef LIBXML_OUTPUT_ENABLED
struct _xmlOutputBuffer {
    void*                   context;
    xmlOutputWriteCallback  writecallback;
    xmlOutputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
    xmlBufPtr conv;      /* if encoder != NULL buffer for output */
    int written;            /* total number of byte written */
    int error;
};
#endif /* LIBXML_OUTPUT_ENABLED */

/*
 * Interfaces for input
 */
XMLPUBFUN void XMLCALL
	xmlCleanupInputCallbacks		(void);

XMLPUBFUN int XMLCALL
	xmlPopInputCallbacks			(void);

XMLPUBFUN void XMLCALL
	xmlRegisterDefaultInputCallbacks	(void);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlAllocParserInputBuffer		(xmlCharEncoding enc);

XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFilename	(const char *URI,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFile		(FILE *file,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFd		(int fd,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateMem		(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateStatic	(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,
						 xmlInputCloseCallback  ioclose,
						 void *ioctx,
	                                         xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferRead		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
						 int len,
						 const char *buf);
XMLPUBFUN void XMLCALL
	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
XMLPUBFUN char * XMLCALL
	xmlParserGetDirectory			(const char *filename);

XMLPUBFUN int XMLCALL
	xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,
						 xmlInputOpenCallback openFunc,
						 xmlInputReadCallback readFunc,
						 xmlInputCloseCallback closeFunc);

xmlParserInputBufferPtr
	__xmlParserInputBufferCreateFilename(const char *URI,
						xmlCharEncoding enc);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Interfaces for output
 */
XMLPUBFUN void XMLCALL
	xmlCleanupOutputCallbacks		(void);
XMLPUBFUN int XMLCALL
	xmlPopOutputCallbacks			(void);
XMLPUBFUN void XMLCALL
	xmlRegisterDefaultOutputCallbacks(void);
XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFilename	(const char *URI,
					 xmlCharEncodingHandlerPtr encoder,
					 int compression);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFile	(FILE *file,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFd		(int fd,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,
					 xmlOutputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncodingHandlerPtr encoder);

/* Couple of APIs to get the output without digging into the buffers */
XMLPUBFUN const xmlChar * XMLCALL
        xmlOutputBufferGetContent       (xmlOutputBufferPtr out);
XMLPUBFUN size_t XMLCALL
        xmlOutputBufferGetSize          (xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlOutputBufferWrite		(xmlOutputBufferPtr out,
					 int len,
					 const char *buf);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteString	(xmlOutputBufferPtr out,
					 const char *str);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out,
					 const xmlChar *str,
					 xmlCharEncodingOutputFunc escaping);

XMLPUBFUN int XMLCALL
	xmlOutputBufferFlush		(xmlOutputBufferPtr out);
XMLPUBFUN int XMLCALL
	xmlOutputBufferClose		(xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,
					 xmlOutputOpenCallback openFunc,
					 xmlOutputWriteCallback writeFunc,
					 xmlOutputCloseCallback closeFunc);

xmlOutputBufferPtr
	__xmlOutputBufferCreateFilename(const char *URI,
                              xmlCharEncodingHandlerPtr encoder,
                              int compression);

#ifdef LIBXML_HTTP_ENABLED
/*  This function only exists if HTTP support built into the library  */
XMLPUBFUN void XMLCALL
	xmlRegisterHTTPPostCallbacks	(void );
#endif /* LIBXML_HTTP_ENABLED */

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlCheckHTTPInput		(xmlParserCtxtPtr ctxt,
					 xmlParserInputPtr ret);

/*
 * A predefined entity loader disabling network accesses
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlNoNetExternalEntityLoader	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * xmlNormalizeWindowsPath is obsolete, don't use it.
 * Check xmlCanonicPath in uri.h for a better alternative.
 */
XMLPUBFUN xmlChar * XMLCALL
	xmlNormalizeWindowsPath		(const xmlChar *path);

XMLPUBFUN int XMLCALL
	xmlCheckFilename		(const char *path);
/**
 * Default 'file://' protocol callbacks
 */
XMLPUBFUN int XMLCALL
	xmlFileMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlFileOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlFileRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlFileClose			(void * context);

/**
 * Default 'http://' protocol callbacks
 */
#ifdef LIBXML_HTTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOHTTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpen			(const char *filename);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpenW			(const char * post_uri,
					 int   compression );
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	xmlIOHTTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOHTTPClose			(void * context);
#endif /* LIBXML_HTTP_ENABLED */

/**
 * Default 'ftp://' protocol callbacks
 */
#ifdef LIBXML_FTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOFTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOFTPOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlIOFTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOFTPClose			(void * context);
#endif /* LIBXML_FTP_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_IO_H__ */
PKi�Z�ڃ��!usr/include/libxml2/libxml/hash.hnu�[���/*
 * Summary: Chained hash tables
 * Description: This module implements the hash table support used in
 *		various places in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Bjorn Reese <bjorn.reese@systematic.dk>
 */

#ifndef __XML_HASH_H__
#define __XML_HASH_H__

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The hash table.
 */
typedef struct _xmlHashTable xmlHashTable;
typedef xmlHashTable *xmlHashTablePtr;

#ifdef __cplusplus
}
#endif

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Recent version of gcc produce a warning when a function pointer is assigned
 * to an object pointer, or vice versa.  The following macro is a dirty hack
 * to allow suppression of the warning.  If your architecture has function
 * pointers which are a different size than a void pointer, there may be some
 * serious trouble within the library.
 */
/**
 * XML_CAST_FPTR:
 * @fptr:  pointer to a function
 *
 * Macro to do a casting from an object pointer to a
 * function pointer without encountering a warning from
 * gcc
 *
 * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
 * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
 * so it is disabled now
 */

#define XML_CAST_FPTR(fptr) fptr


/*
 * function types:
 */
/**
 * xmlHashDeallocator:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to free data from a hash.
 */
typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
/**
 * xmlHashCopier:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to copy data from a hash.
 *
 * Returns a copy of the data or NULL in case of error.
 */
typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
/**
 * xmlHashScanner:
 * @payload:  the data in the hash
 * @data:  extra scanner data
 * @name:  the name associated
 *
 * Callback when scanning data in a hash with the simple scanner.
 */
typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
/**
 * xmlHashScannerFull:
 * @payload:  the data in the hash
 * @data:  extra scanner data
 * @name:  the name associated
 * @name2:  the second name associated
 * @name3:  the third name associated
 *
 * Callback when scanning data in a hash with the full scanner.
 */
typedef void (*xmlHashScannerFull)(void *payload, void *data,
				   const xmlChar *name, const xmlChar *name2,
				   const xmlChar *name3);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreate	(int size);
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreateDict(int size,
					 xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlHashFree	(xmlHashTablePtr table,
					 xmlHashDeallocator f);
XMLPUBFUN void XMLCALL
			xmlHashDefaultDeallocator(void *entry,
					 const xmlChar *name);

/*
 * Add a new entry to the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashAddEntry	(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata,
					 xmlHashDeallocator f);

/*
 * Remove an entry from the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
                           xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, xmlHashDeallocator f);
XMLPUBFUN int  XMLCALL
			xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, const xmlChar *name3,
                            xmlHashDeallocator f);

/*
 * Retrieve the userdata.
 */
XMLPUBFUN void * XMLCALL
			xmlHashLookup	(xmlHashTablePtr table,
					 const xmlChar *name);
XMLPUBFUN void * XMLCALL
			xmlHashLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2);
XMLPUBFUN void * XMLCALL
			xmlHashLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2,
					 const xmlChar *name3,
					 const xmlChar *prefix3);

/*
 * Helpers.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCopy	(xmlHashTablePtr table,
					 xmlHashCopier f);
XMLPUBFUN int XMLCALL
			xmlHashSize	(xmlHashTablePtr table);
XMLPUBFUN void XMLCALL
			xmlHashScan	(xmlHashTablePtr table,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScan3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull	(xmlHashTablePtr table,
					 xmlHashScannerFull f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull3(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScannerFull f,
					 void *data);
#ifdef __cplusplus
}
#endif
#endif /* ! __XML_HASH_H__ */
PKi�Z�	��$usr/include/libxml2/libxml/threads.hnu�[���/**
 * Summary: interfaces for thread handling
 * Description: set of generic threading related routines
 *              should work with pthreads, Windows native or TLS threads
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_THREADS_H__
#define __XML_THREADS_H__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlMutex are a simple mutual exception locks.
 */
typedef struct _xmlMutex xmlMutex;
typedef xmlMutex *xmlMutexPtr;

/*
 * xmlRMutex are reentrant mutual exception locks.
 */
typedef struct _xmlRMutex xmlRMutex;
typedef xmlRMutex *xmlRMutexPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/globals.h>
#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN xmlMutexPtr XMLCALL
			xmlNewMutex	(void);
XMLPUBFUN void XMLCALL
			xmlMutexLock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlMutexUnlock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeMutex	(xmlMutexPtr tok);

XMLPUBFUN xmlRMutexPtr XMLCALL
			xmlNewRMutex	(void);
XMLPUBFUN void XMLCALL
			xmlRMutexLock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlRMutexUnlock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeRMutex	(xmlRMutexPtr tok);

/*
 * Library wide APIs.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlInitThreads	(void);
XMLPUBFUN void XMLCALL
			xmlLockLibrary	(void);
XMLPUBFUN void XMLCALL
			xmlUnlockLibrary(void);
XMLPUBFUN int XMLCALL
			xmlGetThreadId	(void);
XMLPUBFUN int XMLCALL
			xmlIsMainThread	(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlCleanupThreads(void);
XMLPUBFUN xmlGlobalStatePtr XMLCALL
			xmlGetGlobalState(void);

#ifdef HAVE_PTHREAD_H
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
#if defined(LIBXML_STATIC_FOR_DLL)
int XMLCALL
xmlDllMain(void *hinstDLL, unsigned long fdwReason,
           void *lpvReserved);
#endif
#endif

#ifdef __cplusplus
}
#endif


#endif /* __XML_THREADS_H__ */
PKi�Z�)��$�$'usr/include/libxml2/libxml/HTMLparser.hnu�[���/*
 * Summary: interface for an HTML 4.0 non-verifying parser
 * Description: this module implements an HTML 4.0 non-verifying parser
 *              with API compatible with the XML parser ones. It should
 *              be able to parse "real world" HTML, even if severely
 *              broken from a specification point of view.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_PARSER_H__
#define __HTML_PARSER_H__
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Most of the back-end structures from XML and HTML are shared.
 */
typedef xmlParserCtxt htmlParserCtxt;
typedef xmlParserCtxtPtr htmlParserCtxtPtr;
typedef xmlParserNodeInfo htmlParserNodeInfo;
typedef xmlSAXHandler htmlSAXHandler;
typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
typedef xmlParserInput htmlParserInput;
typedef xmlParserInputPtr htmlParserInputPtr;
typedef xmlDocPtr htmlDocPtr;
typedef xmlNodePtr htmlNodePtr;

/*
 * Internal description of an HTML element, representing HTML 4.01
 * and XHTML 1.0 (which share the same structure).
 */
typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
    const char *name;	/* The tag name */
    char startTag;      /* Whether the start tag can be implied */
    char endTag;        /* Whether the end tag can be implied */
    char saveEndTag;    /* Whether the end tag should be saved */
    char empty;         /* Is this an empty element ? */
    char depr;          /* Is this a deprecated element ? */
    char dtd;           /* 1: only in Loose DTD, 2: only Frameset one */
    char isinline;      /* is this a block 0 or inline 1 element */
    const char *desc;   /* the description */

/* NRK Jan.2003
 * New fields encapsulating HTML structure
 *
 * Bugs:
 *	This is a very limited representation.  It fails to tell us when
 *	an element *requires* subelements (we only have whether they're
 *	allowed or not), and it doesn't tell us where CDATA and PCDATA
 *	are allowed.  Some element relationships are not fully represented:
 *	these are flagged with the word MODIFIER
 */
    const char** subelts;		/* allowed sub-elements of this element */
    const char* defaultsubelt;	/* subelement for suggested auto-repair
					   if necessary or NULL */
    const char** attrs_opt;		/* Optional Attributes */
    const char** attrs_depr;		/* Additional deprecated attributes */
    const char** attrs_req;		/* Required attributes */
};

/*
 * Internal description of an HTML entity.
 */
typedef struct _htmlEntityDesc htmlEntityDesc;
typedef htmlEntityDesc *htmlEntityDescPtr;
struct _htmlEntityDesc {
    unsigned int value;	/* the UNICODE value for the character */
    const char *name;	/* The entity name */
    const char *desc;   /* the description */
};

/*
 * There is only few public functions.
 */
XMLPUBFUN const htmlElemDesc * XMLCALL
			htmlTagLookup	(const xmlChar *tag);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityLookup(const xmlChar *name);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityValueLookup(unsigned int value);

XMLPUBFUN int XMLCALL
			htmlIsAutoClosed(htmlDocPtr doc,
					 htmlNodePtr elem);
XMLPUBFUN int XMLCALL
			htmlAutoCloseTag(htmlDocPtr doc,
					 const xmlChar *name,
					 htmlNodePtr elem);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlParseEntityRef(htmlParserCtxtPtr ctxt,
					 const xmlChar **str);
XMLPUBFUN int XMLCALL
			htmlParseCharRef(htmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			htmlParseElement(htmlParserCtxtPtr ctxt);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlNewParserCtxt(void);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreateMemoryParserCtxt(const char *buffer,
						   int size);

XMLPUBFUN int XMLCALL
			htmlParseDocument(htmlParserCtxtPtr ctxt);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseDoc	(const xmlChar *cur,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseDoc	(const xmlChar *cur,
					 const char *encoding);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseFile(const char *filename,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseFile	(const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
			UTF8ToHtml	(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
XMLPUBFUN int XMLCALL
			htmlEncodeEntities(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen, int quoteChar);
XMLPUBFUN int XMLCALL
			htmlIsScriptAttribute(const xmlChar *name);
XMLPUBFUN int XMLCALL
			htmlHandleOmittedElem(int val);

#ifdef LIBXML_PUSH_ENABLED
/**
 * Interfaces for the Push mode.
 */
XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
						 void *user_data,
						 const char *chunk,
						 int size,
						 const char *filename,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			htmlParseChunk		(htmlParserCtxtPtr ctxt,
						 const char *chunk,
						 int size,
						 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

XMLPUBFUN void XMLCALL
			htmlFreeParserCtxt	(htmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    HTML_PARSE_RECOVER  = 1<<0, /* Relaxed parsing */
    HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */
    HTML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    HTML_PARSE_NOWARNING= 1<<6,	/* suppress warning reports */
    HTML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    HTML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    HTML_PARSE_NONET	= 1<<11,/* Forbid network access */
    HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */
    HTML_PARSE_COMPACT  = 1<<16,/* compact small text nodes */
    HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
} htmlParserOption;

XMLPUBFUN void XMLCALL
		htmlCtxtReset		(htmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		htmlCtxtUseOptions	(htmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/* NRK/Jan2003: further knowledge of HTML structure
 */
typedef enum {
  HTML_NA = 0 ,		/* something we don't check at all */
  HTML_INVALID = 0x1 ,
  HTML_DEPRECATED = 0x2 ,
  HTML_VALID = 0x4 ,
  HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */
} htmlStatus ;

/* Using htmlElemDesc rather than name here, to emphasise the fact
   that otherwise there's a lookup overhead
*/
XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
/**
 * htmlDefaultSubelement:
 * @elt: HTML element
 *
 * Returns the default subelement for this element
 */
#define htmlDefaultSubelement(elt) elt->defaultsubelt
/**
 * htmlElementAllowedHereDesc:
 * @parent: HTML parent element
 * @elt: HTML element
 *
 * Checks whether an HTML element description may be a
 * direct child of the specified element.
 *
 * Returns 1 if allowed; 0 otherwise.
 */
#define htmlElementAllowedHereDesc(parent,elt) \
	htmlElementAllowedHere((parent), (elt)->name)
/**
 * htmlRequiredAttrs:
 * @elt: HTML element
 *
 * Returns the attributes required for the specified element.
 */
#define htmlRequiredAttrs(elt) (elt)->attrs_req


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */
#endif /* __HTML_PARSER_H__ */
PKi�Z�Ř,,$usr/include/libxml2/libxml/nanoftp.hnu�[���/*
 * Summary: minimal FTP implementation
 * Description: minimal FTP implementation allowing to fetch resources
 *              like external subset. This module is DEPRECATED, do not
 *              use any of its functions.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_FTP_H__
#define __NANO_FTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_FTP_ENABLED

/* Needed for portability to Windows 64 bits */
#if defined(_WIN32)
#include <winsock2.h>
#else
/**
 * SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 */
#define SOCKET int
/**
 * INVALID_SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 * the value to be used when the socket is not valid
 */
#undef  INVALID_SOCKET
#define INVALID_SOCKET (-1)
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * ftpListCallback:
 * @userData:  user provided data for the callback
 * @filename:  the file name (including "->" when links are shown)
 * @attrib:  the attribute string
 * @owner:  the owner string
 * @group:  the group string
 * @size:  the file size
 * @links:  the link count
 * @year:  the year
 * @month:  the month
 * @day:  the day
 * @hour:  the hour
 * @minute:  the minute
 *
 * A callback for the xmlNanoFTPList command.
 * Note that only one of year and day:minute are specified.
 */
typedef void (*ftpListCallback) (void *userData,
	                         const char *filename, const char *attrib,
	                         const char *owner, const char *group,
				 unsigned long size, int links, int year,
				 const char *month, int day, int hour,
				 int minute);
/**
 * ftpDataCallback:
 * @userData: the user provided context
 * @data: the data received
 * @len: its size in bytes
 *
 * A callback for the xmlNanoFTPGet command.
 */
typedef void (*ftpDataCallback) (void *userData,
				 const char *data,
				 int len);

/*
 * Init
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPInit		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPCleanup	(void);

/*
 * Creating/freeing contexts.
 */
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPNewCtxt	(const char *URL);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPFreeCtxt	(void * ctx);
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPConnectTo	(const char *server,
				 int port);
/*
 * Opening/closing session connections.
 */
XML_DEPRECATED
XMLPUBFUN void * XMLCALL
	xmlNanoFTPOpen		(const char *URL);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPConnect	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPClose		(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPQuit		(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPScanProxy	(const char *URL);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
	xmlNanoFTPProxy		(const char *host,
				 int port,
				 const char *user,
				 const char *passwd,
				 int type);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPUpdateURL	(void *ctx,
				 const char *URL);

/*
 * Rather internal commands.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPGetResponse	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCheckResponse	(void *ctx);

/*
 * CD/DIR/GET handlers.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCwd		(void *ctx,
				 const char *directory);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPDele		(void *ctx,
				 const char *file);

XML_DEPRECATED
XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetConnection	(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPCloseConnection(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPList		(void *ctx,
				 ftpListCallback callback,
				 void *userData,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetSocket	(void *ctx,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPGet		(void *ctx,
				 ftpDataCallback callback,
				 void *userData,
				 const char *filename);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlNanoFTPRead		(void *ctx,
				 void *dest,
				 int len);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_FTP_ENABLED */
#endif /* __NANO_FTP_H__ */
PKi�Z1B/�{{$usr/include/libxml2/libxml/relaxng.hnu�[���/*
 * Summary: implementation of the Relax-NG validation
 * Description: implementation of the Relax-NG validation
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_RELAX_NG__
#define __XML_RELAX_NG__

#include <libxml/xmlversion.h>
#include <libxml/hash.h>
#include <libxml/xmlstring.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlRelaxNG xmlRelaxNG;
typedef xmlRelaxNG *xmlRelaxNGPtr;


/**
 * xmlRelaxNGValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
						      const char *msg,
						      ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlRelaxNGValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
							const char *msg,
							...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;

typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;

/*
 * xmlRelaxNGValidErr:
 *
 * List of possible Relax NG validation errors
 */
typedef enum {
    XML_RELAXNG_OK = 0,
    XML_RELAXNG_ERR_MEMORY,
    XML_RELAXNG_ERR_TYPE,
    XML_RELAXNG_ERR_TYPEVAL,
    XML_RELAXNG_ERR_DUPID,
    XML_RELAXNG_ERR_TYPECMP,
    XML_RELAXNG_ERR_NOSTATE,
    XML_RELAXNG_ERR_NODEFINE,
    XML_RELAXNG_ERR_LISTEXTRA,
    XML_RELAXNG_ERR_LISTEMPTY,
    XML_RELAXNG_ERR_INTERNODATA,
    XML_RELAXNG_ERR_INTERSEQ,
    XML_RELAXNG_ERR_INTEREXTRA,
    XML_RELAXNG_ERR_ELEMNAME,
    XML_RELAXNG_ERR_ATTRNAME,
    XML_RELAXNG_ERR_ELEMNONS,
    XML_RELAXNG_ERR_ATTRNONS,
    XML_RELAXNG_ERR_ELEMWRONGNS,
    XML_RELAXNG_ERR_ATTRWRONGNS,
    XML_RELAXNG_ERR_ELEMEXTRANS,
    XML_RELAXNG_ERR_ATTREXTRANS,
    XML_RELAXNG_ERR_ELEMNOTEMPTY,
    XML_RELAXNG_ERR_NOELEM,
    XML_RELAXNG_ERR_NOTELEM,
    XML_RELAXNG_ERR_ATTRVALID,
    XML_RELAXNG_ERR_CONTENTVALID,
    XML_RELAXNG_ERR_EXTRACONTENT,
    XML_RELAXNG_ERR_INVALIDATTR,
    XML_RELAXNG_ERR_DATAELEM,
    XML_RELAXNG_ERR_VALELEM,
    XML_RELAXNG_ERR_LISTELEM,
    XML_RELAXNG_ERR_DATATYPE,
    XML_RELAXNG_ERR_VALUE,
    XML_RELAXNG_ERR_LIST,
    XML_RELAXNG_ERR_NOGRAMMAR,
    XML_RELAXNG_ERR_EXTRADATA,
    XML_RELAXNG_ERR_LACKDATA,
    XML_RELAXNG_ERR_INTERNAL,
    XML_RELAXNG_ERR_ELEMWRONG,
    XML_RELAXNG_ERR_TEXTWRONG
} xmlRelaxNGValidErr;

/*
 * xmlRelaxNGParserFlags:
 *
 * List of possible Relax NG Parser flags
 */
typedef enum {
    XML_RELAXNGP_NONE = 0,
    XML_RELAXNGP_FREE_DOC = 1,
    XML_RELAXNGP_CRNG = 2
} xmlRelaxNGParserFlag;

XMLPUBFUN int XMLCALL
		    xmlRelaxNGInitTypes		(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlRelaxNGCleanupTypes	(void);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewParserCtxt	(const char *URL);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
						 int size);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);

XMLPUBFUN int XMLCALL
		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
						 int flag);

XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserStructuredErrors(
					 xmlRelaxNGParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN xmlRelaxNGPtr XMLCALL
		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDump		(FILE *output,
					 xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDumpTree	(FILE * output,
					 xmlRelaxNGPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror, void *ctx);
XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
						 xmlDocPtr doc);
/*
 * Interfaces for progressive validation when possible
 */
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */

#endif /* __XML_RELAX_NG__ */
PKi�Z��W�44!usr/include/libxml2/libxml/dict.hnu�[���/*
 * Summary: string dictionary
 * Description: dictionary of reusable strings, just used to avoid allocation
 *         and freeing operations.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_DICT_H__
#define __XML_DICT_H__

#include <stddef.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The dictionary.
 */
typedef struct _xmlDict xmlDict;
typedef xmlDict *xmlDictPtr;

/*
 * Initializer
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL  xmlInitializeDict(void);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreate	(void);
XMLPUBFUN size_t XMLCALL
			xmlDictSetLimit	(xmlDictPtr dict,
                                         size_t limit);
XMLPUBFUN size_t XMLCALL
			xmlDictGetUsage (xmlDictPtr dict);
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN int XMLCALL
			xmlDictReference(xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlDictFree	(xmlDictPtr dict);

/*
 * Lookup of entry in the dictionary.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictLookup	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictExists	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictQLookup	(xmlDictPtr dict,
		                         const xmlChar *prefix,
		                         const xmlChar *name);
XMLPUBFUN int XMLCALL
			xmlDictOwns	(xmlDictPtr dict,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
			xmlDictSize	(xmlDictPtr dict);

/*
 * Cleanup function
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                        xmlDictCleanup  (void);

#ifdef __cplusplus
}
#endif
#endif /* ! __XML_DICT_H__ */
PKi�Z�XM5M5"usr/include/libxml2/libxml/valid.hnu�[���/*
 * Summary: The DTD validation
 * Description: API for the DTD handling and the validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_VALID_H__
#define __XML_VALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/list.h>
#include <libxml/xmlautomata.h>
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Validation state added for non-determinist content model.
 */
typedef struct _xmlValidState xmlValidState;
typedef xmlValidState *xmlValidStatePtr;

/**
 * xmlValidityErrorFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity error is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
			     const char *msg,
			     ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlValidityWarningFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity warning is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
			       const char *msg,
			       ...) LIBXML_ATTR_FORMAT(2,3);

#ifdef IN_LIBXML
/**
 * XML_VCTXT_DTD_VALIDATED:
 *
 * Set after xmlValidateDtdFinal was called.
 */
#define XML_VCTXT_DTD_VALIDATED (1u << 0)
/**
 * XML_VCTXT_USE_PCTXT:
 *
 * Set if the validation context is part of a parser context.
 */
#define XML_VCTXT_USE_PCTXT (1u << 1)
#endif

/*
 * xmlValidCtxt:
 * An xmlValidCtxt is used for error reporting when validating.
 */
typedef struct _xmlValidCtxt xmlValidCtxt;
typedef xmlValidCtxt *xmlValidCtxtPtr;
struct _xmlValidCtxt {
    void *userData;			/* user specific data block */
    xmlValidityErrorFunc error;		/* the callback in case of errors */
    xmlValidityWarningFunc warning;	/* the callback in case of warning */

    /* Node analysis stack used when validating within entities */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    unsigned int         flags;       /* internal flags */
    xmlDocPtr              doc;       /* the document */
    int                  valid;       /* temporary validity check result */

    /* state state used for non-determinist content validation */
    xmlValidState     *vstate;        /* current state */
    int                vstateNr;      /* Depth of the validation stack */
    int                vstateMax;     /* Max depth of the validation stack */
    xmlValidState     *vstateTab;     /* array of validation states */

#ifdef LIBXML_REGEXP_ENABLED
    xmlAutomataPtr            am;     /* the automata */
    xmlAutomataStatePtr    state;     /* used to build the automata */
#else
    void                     *am;
    void                  *state;
#endif
};

/*
 * ALL notation declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;

/*
 * ALL element declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;

/*
 * ALL attribute declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;

/*
 * ALL IDs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;

/*
 * ALL Refs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;

/* Notation */
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *PublicID,
					 const xmlChar *SystemID);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNotationTablePtr XMLCALL
		xmlCopyNotationTable	(xmlNotationTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeNotationTable	(xmlNotationTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpNotationDecl	(xmlBufferPtr buf,
					 xmlNotationPtr nota);
XMLPUBFUN void XMLCALL
		xmlDumpNotationTable	(xmlBufferPtr buf,
					 xmlNotationTablePtr table);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Element Content */
/* the non Doc version are being deprecated */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewElementContent	(const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyElementContent	(xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeElementContent	(xmlElementContentPtr cur);
/* the new versions with doc argument */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewDocElementContent	(xmlDocPtr doc,
					 const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr cur);
XMLPUBFUN void XMLCALL
		xmlSnprintfElementContent(char *buf,
					 int size,
	                                 xmlElementContentPtr content,
					 int englob);
#ifdef LIBXML_OUTPUT_ENABLED
/* DEPRECATED */
XMLPUBFUN void XMLCALL
		xmlSprintfElementContent(char *buf,
	                                 xmlElementContentPtr content,
					 int englob);
#endif /* LIBXML_OUTPUT_ENABLED */
/* DEPRECATED */

/* Element */
XMLPUBFUN xmlElementPtr XMLCALL
		xmlAddElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 xmlElementTypeVal type,
					 xmlElementContentPtr content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlElementTablePtr XMLCALL
		xmlCopyElementTable	(xmlElementTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeElementTable	(xmlElementTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpElementTable	(xmlBufferPtr buf,
					 xmlElementTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpElementDecl	(xmlBufferPtr buf,
					 xmlElementPtr elem);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Enumeration */
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCreateEnumeration	(const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlFreeEnumeration	(xmlEnumerationPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCopyEnumeration	(xmlEnumerationPtr cur);
#endif /* LIBXML_TREE_ENABLED */

/* Attribute */
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *ns,
					 xmlAttributeType type,
					 xmlAttributeDefault def,
					 const xmlChar *defaultValue,
					 xmlEnumerationPtr tree);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlAttributeTablePtr XMLCALL
		xmlCopyAttributeTable  (xmlAttributeTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeAttributeTable  (xmlAttributeTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpAttributeTable  (xmlBufferPtr buf,
					xmlAttributeTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpAttributeDecl   (xmlBufferPtr buf,
					xmlAttributePtr attr);
#endif /* LIBXML_OUTPUT_ENABLED */

/* IDs */
XMLPUBFUN xmlIDPtr XMLCALL
		xmlAddID	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XMLPUBFUN void XMLCALL
		xmlFreeIDTable	       (xmlIDTablePtr table);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlGetID	       (xmlDocPtr doc,
					const xmlChar *ID);
XMLPUBFUN int XMLCALL
		xmlIsID		       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XMLPUBFUN int XMLCALL
		xmlRemoveID	       (xmlDocPtr doc,
					xmlAttrPtr attr);

/* IDREFs */
XML_DEPRECATED
XMLPUBFUN xmlRefPtr XMLCALL
		xmlAddRef	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlFreeRefTable	       (xmlRefTablePtr table);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlIsRef	       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlRemoveRef	       (xmlDocPtr doc,
					xmlAttrPtr attr);
XML_DEPRECATED
XMLPUBFUN xmlListPtr XMLCALL
		xmlGetRefs	       (xmlDocPtr doc,
					const xmlChar *ID);

/**
 * The public function calls related to validity checking.
 */
#ifdef LIBXML_VALID_ENABLED
/* Allocate/Release Validation Contexts */
XMLPUBFUN xmlValidCtxtPtr XMLCALL
		xmlNewValidCtxt(void);
XMLPUBFUN void XMLCALL
		xmlFreeValidCtxt(xmlValidCtxtPtr);

XMLPUBFUN int XMLCALL
		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlElementPtr elem);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidNormalizeAttributeValue(xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlAttributePtr attr);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeValue(xmlAttributeType type,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNotationPtr nota);
XMLPUBFUN int XMLCALL
		xmlValidateDtd		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlDtdPtr dtd);
XMLPUBFUN int XMLCALL
		xmlValidateDtdFinal	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateDocument	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneAttribute	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr	elem,
					 xmlAttrPtr attr,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateOneNamespace	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *prefix,
					 xmlNsPtr ns,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
#endif /* LIBXML_VALID_ENABLED */

#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 const xmlChar *notationName);
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */

XMLPUBFUN int XMLCALL
		xmlIsMixedElement	(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdQAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlGetDtdNotationDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdQElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);

#ifdef LIBXML_VALID_ENABLED

XMLPUBFUN int XMLCALL
		xmlValidGetPotentialChildren(xmlElementContent *ctree,
					 const xmlChar **names,
					 int *len,
					 int max);

XMLPUBFUN int XMLCALL
		xmlValidGetValidElements(xmlNode *prev,
					 xmlNode *next,
					 const xmlChar **names,
					 int max);
XMLPUBFUN int XMLCALL
		xmlValidateNameValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNamesValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokenValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokensValue(const xmlChar *value);

#ifdef LIBXML_REGEXP_ENABLED
/*
 * Validation based on the regexp support
 */
XMLPUBFUN int XMLCALL
		xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
					 xmlElementPtr elem);

XMLPUBFUN int XMLCALL
		xmlValidatePushElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
XMLPUBFUN int XMLCALL
		xmlValidatePushCData	(xmlValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		xmlValidatePopElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
#endif /* LIBXML_REGEXP_ENABLED */
#endif /* LIBXML_VALID_ENABLED */
#ifdef __cplusplus
}
#endif
#endif /* __XML_VALID_H__ */
PKi�Z�6SS&usr/include/libxml2/libxml/xmlwriter.hnu�[���/*
 * Summary: text writing API for XML
 * Description: text writing API for XML
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Alfred Mickautsch <alfred@mickautsch.de>
 */

#ifndef __XML_XMLWRITER_H__
#define __XML_XMLWRITER_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_WRITER_ENABLED

#include <stdarg.h>
#include <libxml/xmlIO.h>
#include <libxml/list.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

    typedef struct _xmlTextWriter xmlTextWriter;
    typedef xmlTextWriter *xmlTextWriterPtr;

/*
 * Constructors & Destructor
 */
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriter(xmlOutputBufferPtr out);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterFilename(const char *uri, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
                             int compression);
    XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);

/*
 * Functions
 */


/*
 * Document
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDocument(xmlTextWriterPtr writer,
                                   const char *version,
                                   const char *encoding,
                                   const char *standalone);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
                                                   writer);

/*
 * Comments
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
                                                    writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar *
                                                    content);

/*
 * Elements
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartElement(xmlTextWriterPtr writer,
                                  const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
                                                      writer);

/*
 * Elements conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                        const xmlChar * name,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
                                         const xmlChar * name,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * name,
                                                    const xmlChar *
                                                    content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                          const xmlChar * prefix,
                                          const xmlChar * name,
                                          const xmlChar * namespaceURI,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
                                           const xmlChar * prefix,
                                           const xmlChar * name,
                                           const xmlChar * namespaceURI,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI,
                                                      const xmlChar *
                                                      content);

/*
 * Text
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
                                 const xmlChar * content, int len);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
                              const xmlChar * content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
                                                         writer,
                                                         const char
                                                         *format, ...)
							 LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
                                                          writer,
                                                          const char
                                                          *format,
                                                          va_list argptr)
							  LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
                                                   const xmlChar *
                                                   content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);

/*
 * Attributes
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
                                    const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
                                                    writer);

/*
 * Attributes conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                          const xmlChar * name,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                            const xmlChar * prefix,
                                            const xmlChar * name,
                                            const xmlChar * namespaceURI,
                                            const char *format, ...)
					    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
                                             const xmlChar * prefix,
                                             const xmlChar * name,
                                             const xmlChar * namespaceURI,
                                             const char *format,
                                             va_list argptr)
					     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI,
                                                        const xmlChar *
                                                        content);

/*
 * PI's
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartPI(xmlTextWriterPtr writer,
                             const xmlChar * target);
    XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);

/*
 * PI conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
                                   const xmlChar * target,
                                   const char *format, ...)
				   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
                                    const xmlChar * target,
                                    const char *format, va_list argptr)
				    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWritePI(xmlTextWriterPtr writer,
                             const xmlChar * target,
                             const xmlChar * content);

/**
 * xmlTextWriterWriteProcessingInstruction:
 *
 * This macro maps to xmlTextWriterWritePI
 */
#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI

/*
 * CDATA
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);

/*
 * CDATA conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
                                      const char *format, ...)
				      LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
                                       const char *format, va_list argptr)
				       LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
                                const xmlChar * content);

/*
 * DTD
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);

/*
 * DTD conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                                    const xmlChar * name,
                                    const xmlChar * pubid,
                                    const xmlChar * sysid,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
                                     const xmlChar * name,
                                     const xmlChar * pubid,
                                     const xmlChar * sysid,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid,
                              const xmlChar * subset);

/**
 * xmlTextWriterWriteDocType:
 *
 * this macro maps to xmlTextWriterWriteDTD
 */
#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD

/*
 * DTD element definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
                                                     writer);

/*
 * DTD element definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD attribute list definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
                                                     writer);

/*
 * DTD attribute list definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD entity definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
                                    int pe, const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
                                                    writer);

/*
 * DTD entity definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                  int pe,
                                                  const xmlChar * name,
                                                  const char *format, ...)
						  LIBXML_ATTR_FORMAT(4,5);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                   int pe,
                                                   const xmlChar * name,
                                                   const char *format,
                                                   va_list argptr)
						   LIBXML_ATTR_FORMAT(4,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * pubid,
                                            const xmlChar * sysid,
                                            const xmlChar * ndataid);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * pubid,
                                                    const xmlChar * sysid,
                                                    const xmlChar *
                                                    ndataid);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
                                                      writer, int pe,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      pubid,
                                                      const xmlChar *
                                                      sysid,
                                                      const xmlChar *
                                                      ndataid,
                                                      const xmlChar *
                                                      content);

/*
 * DTD notation definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
                                      const xmlChar * name,
                                      const xmlChar * pubid,
                                      const xmlChar * sysid);

/*
 * Indentation
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
                                     const xmlChar * str);

    XMLPUBFUN int XMLCALL
        xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);


/*
 * misc
 */
    XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_WRITER_ENABLED */

#endif                          /* __XML_XMLWRITER_H__ */
PKi�ZM�⻿D�D,usr/include/libxml2/libxml/parserInternals.hnu�[���/*
 * Summary: internals routines and limits exported by the parser.
 * Description: this module exports a number of internal parsing routines
 *              they are not really all intended for applications but
 *              can prove useful doing low level processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_INTERNALS_H__
#define __XML_PARSER_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/HTMLparser.h>
#include <libxml/chvalid.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserMaxDepth:
 *
 * arbitrary depth limit for the XML documents that we allow to
 * process. This is not a limitation of the parser but a safety
 * boundary feature, use XML_PARSE_HUGE option to override it.
 */
XMLPUBVAR unsigned int xmlParserMaxDepth;

/**
 * XML_MAX_TEXT_LENGTH:
 *
 * Maximum size allowed for a single text node when building a tree.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_TEXT_LENGTH 10000000

/**
 * XML_MAX_NAME_LENGTH:
 *
 * Maximum size allowed for a markup identifier.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Note that with the use of parsing dictionaries overriding the limit
 * may result in more runtime memory usage in face of "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_NAME_LENGTH 50000

/**
 * XML_MAX_DICTIONARY_LIMIT:
 *
 * Maximum size allowed by the parser for a dictionary by default
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_DICTIONARY_LIMIT 10000000

/**
 * XML_MAX_LOOKUP_LIMIT:
 *
 * Maximum size allowed by the parser for ahead lookup
 * This is an upper boundary enforced by the parser to avoid bad
 * behaviour on "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_LOOKUP_LIMIT 10000000

/**
 * XML_MAX_NAMELEN:
 *
 * Identifiers can be longer, but this will be more costly
 * at runtime.
 */
#define XML_MAX_NAMELEN 100

/**
 * INPUT_CHUNK:
 *
 * The parser tries to always have that amount of input ready.
 * One of the point is providing context when reporting errors.
 */
#define INPUT_CHUNK	250

/************************************************************************
 *									*
 * UNICODE version of the macros.					*
 *									*
 ************************************************************************/
/**
 * IS_BYTE_CHAR:
 * @c:  an byte value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20...]
 * any byte character in the accepted range
 */
#define IS_BYTE_CHAR(c)	 xmlIsChar_ch(c)

/**
 * IS_CHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
 *                  | [#x10000-#x10FFFF]
 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
 */
#define IS_CHAR(c)   xmlIsCharQ(c)

/**
 * IS_CHAR_CH:
 * @c: an xmlChar (usually an unsigned char)
 *
 * Behaves like IS_CHAR on single-byte value
 */
#define IS_CHAR_CH(c)  xmlIsChar_ch(c)

/**
 * IS_BLANK:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [3] S ::= (#x20 | #x9 | #xD | #xA)+
 */
#define IS_BLANK(c)  xmlIsBlankQ(c)

/**
 * IS_BLANK_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Behaviour same as IS_BLANK
 */
#define IS_BLANK_CH(c)  xmlIsBlank_ch(c)

/**
 * IS_BASECHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [85] BaseChar ::= ... long list see REC ...
 */
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)

/**
 * IS_DIGIT:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [88] Digit ::= ... long list see REC ...
 */
#define IS_DIGIT(c) xmlIsDigitQ(c)

/**
 * IS_DIGIT_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_DIGIT but with a single byte argument
 */
#define IS_DIGIT_CH(c)  xmlIsDigit_ch(c)

/**
 * IS_COMBINING:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [87] CombiningChar ::= ... long list see REC ...
 */
#define IS_COMBINING(c) xmlIsCombiningQ(c)

/**
 * IS_COMBINING_CH:
 * @c:  an xmlChar (usually an unsigned char)
 *
 * Always false (all combining chars > 0xff)
 */
#define IS_COMBINING_CH(c) 0

/**
 * IS_EXTENDER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
 *                   #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
 *                   [#x309D-#x309E] | [#x30FC-#x30FE]
 */
#define IS_EXTENDER(c) xmlIsExtenderQ(c)

/**
 * IS_EXTENDER_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_EXTENDER but with a single-byte argument
 */
#define IS_EXTENDER_CH(c)  xmlIsExtender_ch(c)

/**
 * IS_IDEOGRAPHIC:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
 */
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)

/**
 * IS_LETTER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [84] Letter ::= BaseChar | Ideographic
 */
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))

/**
 * IS_LETTER_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Macro behaves like IS_LETTER, but only check base chars
 *
 */
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)

/**
 * IS_ASCII_LETTER:
 * @c: an xmlChar value
 *
 * Macro to check [a-zA-Z]
 *
 */
#define IS_ASCII_LETTER(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)))

/**
 * IS_ASCII_DIGIT:
 * @c: an xmlChar value
 *
 * Macro to check [0-9]
 *
 */
#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))

/**
 * IS_PUBIDCHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
 */
#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)

/**
 * IS_PUBIDCHAR_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Same as IS_PUBIDCHAR but for single-byte value
 */
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)

/**
 * SKIP_EOL:
 * @p:  and UTF8 string pointer
 *
 * Skips the end of line chars.
 */
#define SKIP_EOL(p)							\
    if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }			\
    if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }

/**
 * MOVETO_ENDTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '>' char.
 */
#define MOVETO_ENDTAG(p)						\
    while ((*p) && (*(p) != '>')) (p)++

/**
 * MOVETO_STARTTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '<' char.
 */
#define MOVETO_STARTTAG(p)						\
    while ((*p) && (*(p) != '<')) (p)++

/**
 * Global variables used for predefined strings.
 */
XMLPUBVAR const xmlChar xmlStringText[];
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
XMLPUBVAR const xmlChar xmlStringComment[];

/*
 * Function to finish the work of the macros where needed.
 */
XMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);

/**
 * Parser context.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateFileParserCtxt	(const char *filename);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateURLParserCtxt	(const char *filename,
						 int options);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateMemoryParserCtxt(const char *buffer,
						 int size);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateEntityParserCtxt(const xmlChar *URL,
						 const xmlChar *ID,
						 const xmlChar *base);
XMLPUBFUN int XMLCALL
			xmlSwitchEncoding	(xmlParserCtxtPtr ctxt,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			xmlSwitchToEncoding	(xmlParserCtxtPtr ctxt,
					 xmlCharEncodingHandlerPtr handler);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
			xmlSwitchInputEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input,
					 xmlCharEncodingHandlerPtr handler);

#ifdef IN_LIBXML
/* internal error reporting */
XMLPUBFUN void XMLCALL
			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserErrors xmlerr,
						 const char *msg,
						 const xmlChar * str1,
						 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0);
#endif

/**
 * Input Streams.
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewStringInputStream	(xmlParserCtxtPtr ctxt,
						 const xmlChar *buffer);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);
XMLPUBFUN int XMLCALL
			xmlPushInput		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input);
XMLPUBFUN xmlChar XMLCALL
			xmlPopInput		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlFreeInputStream	(xmlParserInputPtr input);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputFromFile	(xmlParserCtxtPtr ctxt,
						 const char *filename);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputStream	(xmlParserCtxtPtr ctxt);

/**
 * Namespaces.
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlSplitQName		(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlChar **prefix);

/**
 * Generic production rules.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseNmtoken		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEntityValue	(xmlParserCtxtPtr ctxt,
						 xmlChar **orig);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseAttValue	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseCharData	(xmlParserCtxtPtr ctxt,
						 int cdata);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseExternalID	(xmlParserCtxtPtr ctxt,
						 xmlChar **publicID,
						 int strict);
XMLPUBFUN void XMLCALL
			xmlParseComment		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParsePITarget	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePI		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseNotationDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEntityDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseDefaultDecl	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseNotationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseEnumerationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseEnumeratedType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN int XMLCALL
			xmlParseAttributeType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN void XMLCALL
			xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementMixedContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementChildrenContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN int XMLCALL
			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlElementContentPtr *result);
XMLPUBFUN int XMLCALL
			xmlParseElementDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMarkupDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseCharRef		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlParseEntityRef	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePEReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseDocTypeDecl	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseAttribute	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseStartTag	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEndTag		(xmlParserCtxtPtr ctxt);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN void XMLCALL
			xmlParseCDSect		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseContent		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseElement		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionNum	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionInfo	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEncName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseSDDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseXMLDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseTextDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMisc		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
/**
 * XML_SUBSTITUTE_NONE:
 *
 * If no entities need to be substituted.
 */
#define XML_SUBSTITUTE_NONE	0
/**
 * XML_SUBSTITUTE_REF:
 *
 * Whether general entities need to be substituted.
 */
#define XML_SUBSTITUTE_REF	1
/**
 * XML_SUBSTITUTE_PEREF:
 *
 * Whether parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_PEREF	2
/**
 * XML_SUBSTITUTE_BOTH:
 *
 * Both general and parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_BOTH	3

XMLPUBFUN xmlChar * XMLCALL
		xmlStringDecodeEntities		(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XMLPUBFUN xmlChar * XMLCALL
		xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);

/*
 * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
 */
XMLPUBFUN int XMLCALL			nodePush		(xmlParserCtxtPtr ctxt,
						 xmlNodePtr value);
XMLPUBFUN xmlNodePtr XMLCALL		nodePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			inputPush		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr value);
XMLPUBFUN xmlParserInputPtr XMLCALL	inputPop		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL	namePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			namePush		(xmlParserCtxtPtr ctxt,
						 const xmlChar *value);

/*
 * other commodities shared between parser.c and parserInternals.
 */
XMLPUBFUN int XMLCALL			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
						 const xmlChar *cur,
						 int *len);
XMLPUBFUN void XMLCALL			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlCheckLanguageID	(const xmlChar *lang);

/*
 * Really core function shared with HTML parser.
 */
XMLPUBFUN int XMLCALL			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
						 int *len);
XMLPUBFUN int XMLCALL		xmlCopyCharMultiByte	(xmlChar *out,
						 int val);
XMLPUBFUN int XMLCALL			xmlCopyChar		(int len,
						 xmlChar *out,
						 int val);
XMLPUBFUN void XMLCALL			xmlNextChar		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL			xmlParserInputShrink	(xmlParserInputPtr in);

#ifdef LIBXML_HTML_ENABLED
/*
 * Actually comes from the HTML parser but launched from the init stuff.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL			htmlInitAutoClose	(void);
XMLPUBFUN htmlParserCtxtPtr XMLCALL	htmlCreateFileParserCtxt(const char *filename,
	                                         const char *encoding);
#endif

/*
 * Specific function to keep track of entities references
 * and used by the XSLT debugger.
 */
#ifdef LIBXML_LEGACY_ENABLED
/**
 * xmlEntityReferenceFunc:
 * @ent: the entity
 * @firstNode:  the fist node in the chunk
 * @lastNode:  the last nod in the chunk
 *
 * Callback function used when one needs to be able to track back the
 * provenance of a chunk of nodes inherited from an entity replacement.
 */
typedef	void	(*xmlEntityReferenceFunc)	(xmlEntityPtr ent,
						 xmlNodePtr firstNode,
						 xmlNodePtr lastNode);

XML_DEPRECATED
XMLPUBFUN void XMLCALL		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);

XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlParseQuotedString	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                        xmlParseNamespace       (xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlScanName		(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN void XMLCALL	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt,
						 xmlChar **prefix);
/**
 * Entities
 */
XML_DEPRECATED
XMLPUBFUN xmlChar * XMLCALL
		xmlDecodeEntities		(xmlParserCtxtPtr ctxt,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
			xmlHandleEntity		(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);

#endif /* LIBXML_LEGACY_ENABLED */

#ifdef IN_LIBXML
/*
 * internal only
 */
XMLPUBFUN void XMLCALL
	xmlErrMemory		(xmlParserCtxtPtr ctxt,
				 const char *extra);
#endif

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_INTERNALS_H__ */
PKi�Z�,
?1?1&usr/include/libxml2/libxml/xmlreader.hnu�[���/*
 * Summary: the XMLReader implementation
 * Description: API of the XML streaming API based on C# interfaces.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLREADER_H__
#define __XML_XMLREADER_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/xmlIO.h>
#ifdef LIBXML_SCHEMAS_ENABLED
#include <libxml/relaxng.h>
#include <libxml/xmlschemas.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserSeverities:
 *
 * How severe an error callback is when the per-reader error callback API
 * is used.
 */
typedef enum {
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
    XML_PARSER_SEVERITY_WARNING = 3,
    XML_PARSER_SEVERITY_ERROR = 4
} xmlParserSeverities;

#ifdef LIBXML_READER_ENABLED

/**
 * xmlTextReaderMode:
 *
 * Internal state values for the reader.
 */
typedef enum {
    XML_TEXTREADER_MODE_INITIAL = 0,
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
    XML_TEXTREADER_MODE_ERROR = 2,
    XML_TEXTREADER_MODE_EOF =3,
    XML_TEXTREADER_MODE_CLOSED = 4,
    XML_TEXTREADER_MODE_READING = 5
} xmlTextReaderMode;

/**
 * xmlParserProperties:
 *
 * Some common options to use with xmlTextReaderSetParserProp, but it
 * is better to use xmlParserOption and the xmlReaderNewxxx and
 * xmlReaderForxxx APIs now.
 */
typedef enum {
    XML_PARSER_LOADDTD = 1,
    XML_PARSER_DEFAULTATTRS = 2,
    XML_PARSER_VALIDATE = 3,
    XML_PARSER_SUBST_ENTITIES = 4
} xmlParserProperties;

/**
 * xmlReaderTypes:
 *
 * Predefined constants for the different types of nodes.
 */
typedef enum {
    XML_READER_TYPE_NONE = 0,
    XML_READER_TYPE_ELEMENT = 1,
    XML_READER_TYPE_ATTRIBUTE = 2,
    XML_READER_TYPE_TEXT = 3,
    XML_READER_TYPE_CDATA = 4,
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
    XML_READER_TYPE_ENTITY = 6,
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
    XML_READER_TYPE_COMMENT = 8,
    XML_READER_TYPE_DOCUMENT = 9,
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
    XML_READER_TYPE_NOTATION = 12,
    XML_READER_TYPE_WHITESPACE = 13,
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
    XML_READER_TYPE_END_ELEMENT = 15,
    XML_READER_TYPE_END_ENTITY = 16,
    XML_READER_TYPE_XML_DECLARATION = 17
} xmlReaderTypes;

/**
 * xmlTextReader:
 *
 * Structure for an xmlReader context.
 */
typedef struct _xmlTextReader xmlTextReader;

/**
 * xmlTextReaderPtr:
 *
 * Pointer to an xmlReader context.
 */
typedef xmlTextReader *xmlTextReaderPtr;

/*
 * Constructors & Destructor
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReader	(xmlParserInputBufferPtr input,
	                                         const char *URI);
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReaderFilename(const char *URI);

XMLPUBFUN void XMLCALL
			xmlFreeTextReader	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderSetup(xmlTextReaderPtr reader,
                   xmlParserInputBufferPtr input, const char *URL,
                   const char *encoding, int options);

/*
 * Iterators
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderRead	(xmlTextReaderPtr reader);

#ifdef LIBXML_WRITER_ENABLED
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
#endif

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadString	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);

/*
 * Attributes of the node
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderDepth	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasValue(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadState	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);

XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
						 const xmlChar *str);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);

/*
 * use the Const version of the routine for
 * better performance and simpler code
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderValue	(xmlTextReaderPtr reader);

/*
 * Methods of the XmlTextReader
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderClose		(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
						 const xmlChar *prefix);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);

/*
 * Extensions
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
						 int prop,
						 int value);
XMLPUBFUN int XMLCALL
		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
						 int prop);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);

XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
#ifdef LIBXML_PATTERN_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
						 const xmlChar *pattern,
						 const xmlChar **namespaces);
#endif /* LIBXML_PATTERN_ENABLED */
XMLPUBFUN xmlDocPtr XMLCALL
		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNext		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
#ifdef LIBXML_SCHEMAS_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
						 const char *rng);
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
						 xmlRelaxNGValidCtxtPtr ctxt,
						 int options);

XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
						 xmlRelaxNGPtr schema);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
						 const char *xsd);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
						 xmlSchemaValidCtxtPtr ctxt,
						 int options);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
						 xmlSchemaPtr schema);
#endif
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);


/*
 * Index lookup
 */
XMLPUBFUN long XMLCALL
		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);

/*
 * New more complete APIs for simpler creation and reuse of readers
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderWalker		(xmlDocPtr doc);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForDoc		(const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFile	(const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForMemory	(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

XMLPUBFUN int XMLCALL
		xmlReaderNewWalker	(xmlTextReaderPtr reader,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlReaderNewDoc		(xmlTextReaderPtr reader,
					 const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFile	(xmlTextReaderPtr reader,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewMemory	(xmlTextReaderPtr reader,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFd		(xmlTextReaderPtr reader,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewIO		(xmlTextReaderPtr reader,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
/*
 * Error handling extensions
 */
typedef void *  xmlTextReaderLocatorPtr;

/**
 * xmlTextReaderErrorFunc:
 * @arg: the user argument
 * @msg: the message
 * @severity: the severity of the error
 * @locator: a locator indicating where the error occurred
 *
 * Signature of an error callback from a reader parser
 */
typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
					       const char *msg,
					       xmlParserSeverities severity,
					       xmlTextReaderLocatorPtr locator);
XMLPUBFUN int XMLCALL
	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
XMLPUBFUN xmlChar * XMLCALL
	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc f,
					 void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
						   xmlStructuredErrorFunc f,
						   void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc *f,
					 void **arg);

#endif /* LIBXML_READER_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_XMLREADER_H__ */

PKi�Z䥽�;;'usr/include/libxml2/libxml/xmlexports.hnu�[���/*
 * Summary: macros for marking symbols as exportable/importable.
 * Description: macros for marking symbols as exportable/importable.
 *
 * Copy: See Copyright for the status of this software.
 */

#ifndef __XML_EXPORTS_H__
#define __XML_EXPORTS_H__

#if defined(_WIN32) || defined(__CYGWIN__)
/** DOC_DISABLE */

#ifdef LIBXML_STATIC
  #define XMLPUBLIC
#elif defined(IN_LIBXML)
  #define XMLPUBLIC __declspec(dllexport)
#else
  #define XMLPUBLIC __declspec(dllimport)
#endif

#if defined(LIBXML_FASTCALL)
  #define XMLCALL __fastcall
#else
  #define XMLCALL __cdecl
#endif
#define XMLCDECL __cdecl

/** DOC_ENABLE */
#else /* not Windows */

/**
 * XMLPUBLIC:
 *
 * Macro which declares a public symbol
 */
#define XMLPUBLIC

/**
 * XMLCALL:
 *
 * Macro which declares the calling convention for exported functions
 */
#define XMLCALL

/**
 * XMLCDECL:
 *
 * Macro which declares the calling convention for exported functions that
 * use '...'.
 */
#define XMLCDECL

#endif /* platform switch */

/*
 * XMLPUBFUN:
 *
 * Macro which declares an exportable function
 */
#define XMLPUBFUN XMLPUBLIC

/**
 * XMLPUBVAR:
 *
 * Macro which declares an exportable variable
 */
#define XMLPUBVAR XMLPUBLIC extern

/* Compatibility */
#if !defined(LIBXML_DLL_IMPORT)
#define LIBXML_DLL_IMPORT XMLPUBVAR
#endif

#endif /* __XML_EXPORTS_H__ */


PKi�Z�TI�''$usr/include/libxml2/libxml/chvalid.hnu�[���/*
 * Summary: Unicode character range checking
 * Description: this module exports interfaces for the character
 *               range validation APIs
 *
 * This file is automatically generated from the cvs source
 * definition files using the genChRanges.py Python script
 *
 * Generation date: Mon Mar 27 11:09:48 2006
 * Sources: chvalid.def
 * Author: William Brack <wbrack@mmm.com.hk>
 */

#ifndef __XML_CHVALID_H__
#define __XML_CHVALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Define our typedefs and structures
 *
 */
typedef struct _xmlChSRange xmlChSRange;
typedef xmlChSRange *xmlChSRangePtr;
struct _xmlChSRange {
    unsigned short	low;
    unsigned short	high;
};

typedef struct _xmlChLRange xmlChLRange;
typedef xmlChLRange *xmlChLRangePtr;
struct _xmlChLRange {
    unsigned int	low;
    unsigned int	high;
};

typedef struct _xmlChRangeGroup xmlChRangeGroup;
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
struct _xmlChRangeGroup {
    int			nbShortRange;
    int			nbLongRange;
    const xmlChSRange	*shortRange;	/* points to an array of ranges */
    const xmlChLRange	*longRange;
};

/**
 * Range checking routine
 */
XMLPUBFUN int XMLCALL
		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);


/**
 * xmlIsBaseChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
				  (0xf8 <= (c)))

/**
 * xmlIsBaseCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
				 xmlIsBaseChar_ch((c)) : \
				 xmlCharInRange((c), &xmlIsBaseCharGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;

/**
 * xmlIsBlank_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlank_ch(c)	(((c) == 0x20) || \
				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd))

/**
 * xmlIsBlankQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlankQ(c)		(((c) < 0x100) ? \
				 xmlIsBlank_ch((c)) : 0)


/**
 * xmlIsChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd) || \
				  (0x20 <= (c)))

/**
 * xmlIsCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCharQ(c)		(((c) < 0x100) ? \
				 xmlIsChar_ch((c)) :\
				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))

XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;

/**
 * xmlIsCombiningQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
				 0 : \
				 xmlCharInRange((c), &xmlIsCombiningGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;

/**
 * xmlIsDigit_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))

/**
 * xmlIsDigitQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigitQ(c)		(((c) < 0x100) ? \
				 xmlIsDigit_ch((c)) : \
				 xmlCharInRange((c), &xmlIsDigitGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;

/**
 * xmlIsExtender_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtender_ch(c)	(((c) == 0xb7))

/**
 * xmlIsExtenderQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
				 xmlIsExtender_ch((c)) : \
				 xmlCharInRange((c), &xmlIsExtenderGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;

/**
 * xmlIsIdeographicQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
				 0 :\
				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
				 ((c) == 0x3007) || \
				 ((0x3021 <= (c)) && ((c) <= 0x3029))))

XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];

/**
 * xmlIsPubidChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])

/**
 * xmlIsPubidCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
				 xmlIsPubidChar_ch((c)) : 0)

XMLPUBFUN int XMLCALL
		xmlIsBaseChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsBlank(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsCombining(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsDigit(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsExtender(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsIdeographic(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsPubidChar(unsigned int ch);

#ifdef __cplusplus
}
#endif
#endif /* __XML_CHVALID_H__ */
PKi�Z�����%usr/include/libxml2/libxml/nanohttp.hnu�[���/*
 * Summary: minimal HTTP implementation
 * Description: minimal HTTP implementation allowing to fetch resources
 *              like external subset.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_HTTP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN void XMLCALL
	xmlNanoHTTPInit		(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPCleanup	(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPScanProxy	(const char *URL);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPFetch	(const char *URL,
				 const char *filename,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethod	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethodRedir	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 char **redir,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpen		(const char *URL,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpenRedir	(const char *URL,
				 char **contentType,
				 char **redir);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPReturnCode	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPAuthHeader	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPRedir	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPContentLength( void * ctx );
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPEncoding	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPMimeType	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPRead		(void *ctx,
				 void *dest,
				 int len);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	xmlNanoHTTPSave		(void *ctxt,
				 const char *filename);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
	xmlNanoHTTPClose	(void *ctx);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTTP_ENABLED */
#endif /* __NANO_HTTP_H__ */
PKi�Z��׹��%usr/include/libxml2/libxml/xinclude.hnu�[���/*
 * Summary: implementation of XInclude
 * Description: API to handle XInclude processing,
 * implements the
 * World Wide Web Consortium Last Call Working Draft 10 November 2003
 * http://www.w3.org/TR/2003/WD-xinclude-20031110
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XINCLUDE_H__
#define __XML_XINCLUDE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XINCLUDE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XINCLUDE_NS:
 *
 * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
 */
#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
/**
 * XINCLUDE_OLD_NS:
 *
 * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude
 */
#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
/**
 * XINCLUDE_NODE:
 *
 * Macro defining "include"
 */
#define XINCLUDE_NODE (const xmlChar *) "include"
/**
 * XINCLUDE_FALLBACK:
 *
 * Macro defining "fallback"
 */
#define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
/**
 * XINCLUDE_HREF:
 *
 * Macro defining "href"
 */
#define XINCLUDE_HREF (const xmlChar *) "href"
/**
 * XINCLUDE_PARSE:
 *
 * Macro defining "parse"
 */
#define XINCLUDE_PARSE (const xmlChar *) "parse"
/**
 * XINCLUDE_PARSE_XML:
 *
 * Macro defining "xml"
 */
#define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
/**
 * XINCLUDE_PARSE_TEXT:
 *
 * Macro defining "text"
 */
#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
/**
 * XINCLUDE_PARSE_ENCODING:
 *
 * Macro defining "encoding"
 */
#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
/**
 * XINCLUDE_PARSE_XPOINTER:
 *
 * Macro defining "xpointer"
 */
#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"

typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;

/*
 * standalone processing
 */
XMLPUBFUN int XMLCALL
		xmlXIncludeProcess	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlags	(xmlDocPtr doc,
					 int flags);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlagsData(xmlDocPtr doc,
					 int flags,
					 void *data);
XMLPUBFUN int XMLCALL
                xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
                                         int flags,
                                         void *data);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTree	(xmlNodePtr tree);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
					 int flags);
/*
 * contextual processing
 */
XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
		xmlXIncludeNewContext	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeSetFlags	(xmlXIncludeCtxtPtr ctxt,
					 int flags);
XMLPUBFUN void XMLCALL
		xmlXIncludeFreeContext	(xmlXIncludeCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessNode	(xmlXIncludeCtxtPtr ctxt,
					 xmlNodePtr tree);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XINCLUDE_ENABLED */

#endif /* __XML_XINCLUDE_H__ */
PKi�Z�McƲ�"usr/include/libxml2/libxml/xlink.hnu�[���/*
 * Summary: unfinished XLink detection module
 * Description: unfinished XLink detection module
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XLINK_H__
#define __XML_XLINK_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XPTR_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Various defines for the various Link properties.
 *
 * NOTE: the link detection layer will try to resolve QName expansion
 *       of namespaces. If "foo" is the prefix for "http://foo.com/"
 *       then the link detection layer will expand role="foo:myrole"
 *       to "http://foo.com/:myrole".
 * NOTE: the link detection layer will expand URI-References found on
 *       href attributes by using the base mechanism if found.
 */
typedef xmlChar *xlinkHRef;
typedef xmlChar *xlinkRole;
typedef xmlChar *xlinkTitle;

typedef enum {
    XLINK_TYPE_NONE = 0,
    XLINK_TYPE_SIMPLE,
    XLINK_TYPE_EXTENDED,
    XLINK_TYPE_EXTENDED_SET
} xlinkType;

typedef enum {
    XLINK_SHOW_NONE = 0,
    XLINK_SHOW_NEW,
    XLINK_SHOW_EMBED,
    XLINK_SHOW_REPLACE
} xlinkShow;

typedef enum {
    XLINK_ACTUATE_NONE = 0,
    XLINK_ACTUATE_AUTO,
    XLINK_ACTUATE_ONREQUEST
} xlinkActuate;

/**
 * xlinkNodeDetectFunc:
 * @ctx:  user data pointer
 * @node:  the node to check
 *
 * This is the prototype for the link detection routine.
 * It calls the default link detection callbacks upon link detection.
 */
typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);

/*
 * The link detection module interact with the upper layers using
 * a set of callback registered at parsing time.
 */

/**
 * xlinkSimpleLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @href:  the target of the link
 * @role:  the role string
 * @title:  the link title
 *
 * This is the prototype for a simple link detection callback.
 */
typedef void
(*xlinkSimpleLinkFunk)	(void *ctx,
			 xmlNodePtr node,
			 const xlinkHRef href,
			 const xlinkRole role,
			 const xlinkTitle title);

/**
 * xlinkExtendedLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbArcs: the number of arcs detected on the link
 * @from:  pointer to the array of source roles found on the arcs
 * @to:  pointer to the array of target roles found on the arcs
 * @show:  array of values for the show attributes found on the arcs
 * @actuate:  array of values for the actuate attributes found on the arcs
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link detection callback.
 */
typedef void
(*xlinkExtendedLinkFunk)(void *ctx,
			 xmlNodePtr node,
			 int nbLocators,
			 const xlinkHRef *hrefs,
			 const xlinkRole *roles,
			 int nbArcs,
			 const xlinkRole *from,
			 const xlinkRole *to,
			 xlinkShow *show,
			 xlinkActuate *actuate,
			 int nbTitles,
			 const xlinkTitle *titles,
			 const xmlChar **langs);

/**
 * xlinkExtendedLinkSetFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link set detection callback.
 */
typedef void
(*xlinkExtendedLinkSetFunk)	(void *ctx,
				 xmlNodePtr node,
				 int nbLocators,
				 const xlinkHRef *hrefs,
				 const xlinkRole *roles,
				 int nbTitles,
				 const xlinkTitle *titles,
				 const xmlChar **langs);

/**
 * This is the structure containing a set of Links detection callbacks.
 *
 * There is no default xlink callbacks, if one want to get link
 * recognition activated, those call backs must be provided before parsing.
 */
typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
    xlinkSimpleLinkFunk simple;
    xlinkExtendedLinkFunk extended;
    xlinkExtendedLinkSetFunk set;
};

/*
 * The default detection routine, can be overridden, they call the default
 * detection callbacks.
 */

XMLPUBFUN xlinkNodeDetectFunc XMLCALL
		xlinkGetDefaultDetect	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultDetect	(xlinkNodeDetectFunc func);

/*
 * Routines to set/get the default handlers.
 */
XMLPUBFUN xlinkHandlerPtr XMLCALL
		xlinkGetDefaultHandler	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultHandler	(xlinkHandlerPtr handler);

/*
 * Link detection module itself.
 */
XMLPUBFUN xlinkType XMLCALL
		xlinkIsLink		(xmlDocPtr doc,
					 xmlNodePtr node);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */

#endif /* __XML_XLINK_H__ */
PKi�Zd4�RR&usr/include/libxml2/libxml/xmlregexp.hnu�[���/*
 * Summary: regular expressions handling
 * Description: basic API for libxml regular expressions handling used
 *              for XML Schemas and validation.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_REGEXP_H__
#define __XML_REGEXP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_REGEXP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlRegexpPtr:
 *
 * A libxml regular expression, they can actually be far more complex
 * thank the POSIX regex expressions.
 */
typedef struct _xmlRegexp xmlRegexp;
typedef xmlRegexp *xmlRegexpPtr;

/**
 * xmlRegExecCtxtPtr:
 *
 * A libxml progressive regular expression evaluation context
 */
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#include <libxml/dict.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * The POSIX like API
 */
XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlRegexpCompile	(const xmlChar *regexp);
XMLPUBFUN void XMLCALL			 xmlRegFreeRegexp(xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpExec	(xmlRegexpPtr comp,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		    xmlRegexpPrint	(FILE *output,
					 xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpIsDeterminist(xmlRegexpPtr comp);

/**
 * xmlRegExecCallbacks:
 * @exec: the regular expression context
 * @token: the current token string
 * @transdata: transition data
 * @inputdata: input data
 *
 * Callback function when doing a transition in the automata
 */
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
	                             const xmlChar *token,
				     void *transdata,
				     void *inputdata);

/*
 * The progressive API
 */
XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
		    xmlRegNewExecCtxt	(xmlRegexpPtr comp,
					 xmlRegExecCallbacks callback,
					 void *data);
XMLPUBFUN void XMLCALL
		    xmlRegFreeExecCtxt	(xmlRegExecCtxtPtr exec);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 void *data);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 const xmlChar *value2,
					 void *data);

XMLPUBFUN int XMLCALL
		    xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
XMLPUBFUN int XMLCALL
		    xmlRegExecErrInfo	(xmlRegExecCtxtPtr exec,
					 const xmlChar **string,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
#ifdef LIBXML_EXPR_ENABLED
/*
 * Formal regular expression handling
 * Its goal is to do some formal work on content models
 */

/* expressions are used within a context */
typedef struct _xmlExpCtxt xmlExpCtxt;
typedef xmlExpCtxt *xmlExpCtxtPtr;

XMLPUBFUN void XMLCALL
			xmlExpFreeCtxt	(xmlExpCtxtPtr ctxt);
XMLPUBFUN xmlExpCtxtPtr XMLCALL
			xmlExpNewCtxt	(int maxNodes,
					 xmlDictPtr dict);

XMLPUBFUN int XMLCALL
			xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);

/* Expressions are trees but the tree is opaque */
typedef struct _xmlExpNode xmlExpNode;
typedef xmlExpNode *xmlExpNodePtr;

typedef enum {
    XML_EXP_EMPTY = 0,
    XML_EXP_FORBID = 1,
    XML_EXP_ATOM = 2,
    XML_EXP_SEQ = 3,
    XML_EXP_OR = 4,
    XML_EXP_COUNT = 5
} xmlExpNodeType;

/*
 * 2 core expressions shared by all for the empty language set
 * and for the set with just the empty token
 */
XMLPUBVAR xmlExpNodePtr forbiddenExp;
XMLPUBVAR xmlExpNodePtr emptyExp;

/*
 * Expressions are reference counted internally
 */
XMLPUBFUN void XMLCALL
			xmlExpFree	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr);
XMLPUBFUN void XMLCALL
			xmlExpRef	(xmlExpNodePtr expr);

/*
 * constructors can be either manual or from a string
 */
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpParse	(xmlExpCtxtPtr ctxt,
					 const char *expr);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewAtom	(xmlExpCtxtPtr ctxt,
					 const xmlChar *name,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewOr	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewSeq	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewRange	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr subset,
					 int min,
					 int max);
/*
 * The really interesting APIs
 */
XMLPUBFUN int XMLCALL
			xmlExpIsNillable(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpMaxToken	(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**langList,
					 int len);
XMLPUBFUN int XMLCALL
			xmlExpGetStart	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**tokList,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpStringDerive(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar *str,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN int XMLCALL
			xmlExpSubsume	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN void XMLCALL
			xmlExpDump	(xmlBufferPtr buf,
					 xmlExpNodePtr expr);
#endif /* LIBXML_EXPR_ENABLED */
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_REGEXP_ENABLED */

#endif /*__XML_REGEXP_H__ */
PKi�Z�y��**$usr/include/libxml2/libxml/catalog.hnu�[���/**
 * Summary: interfaces to the Catalog handling system
 * Description: the catalog module implements the support for
 * XML Catalogs and SGML catalogs
 *
 * SGML Open Technical Resolution TR9401:1997.
 * http://www.jclark.com/sp/catalog.htm
 *
 * XML Catalogs Working Draft 06 August 2001
 * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CATALOG_H__
#define __XML_CATALOG_H__

#include <stdio.h>

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>
#include <libxml/tree.h>

#ifdef LIBXML_CATALOG_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_CATALOGS_NAMESPACE:
 *
 * The namespace for the XML Catalogs elements.
 */
#define XML_CATALOGS_NAMESPACE					\
    (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
/**
 * XML_CATALOG_PI:
 *
 * The specific XML Catalog Processing Instruction name.
 */
#define XML_CATALOG_PI						\
    (const xmlChar *) "oasis-xml-catalog"

/*
 * The API is voluntarily limited to general cataloging.
 */
typedef enum {
    XML_CATA_PREFER_NONE = 0,
    XML_CATA_PREFER_PUBLIC = 1,
    XML_CATA_PREFER_SYSTEM
} xmlCatalogPrefer;

typedef enum {
    XML_CATA_ALLOW_NONE = 0,
    XML_CATA_ALLOW_GLOBAL = 1,
    XML_CATA_ALLOW_DOCUMENT = 2,
    XML_CATA_ALLOW_ALL = 3
} xmlCatalogAllow;

typedef struct _xmlCatalog xmlCatalog;
typedef xmlCatalog *xmlCatalogPtr;

/*
 * Operations on a given catalog.
 */
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlNewCatalog		(int sgml);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadACatalog		(const char *filename);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadSGMLSuperCatalog	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlConvertSGMLCatalog	(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlACatalogAdd		(xmlCatalogPtr catal,
					 const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlACatalogRemove	(xmlCatalogPtr catal,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolve	(xmlCatalogPtr catal,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveSystem(xmlCatalogPtr catal,
					 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolvePublic(xmlCatalogPtr catal,
					 const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveURI	(xmlCatalogPtr catal,
					 const xmlChar *URI);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlACatalogDump		(xmlCatalogPtr catal,
					 FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeCatalog		(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlCatalogIsEmpty	(xmlCatalogPtr catal);

/*
 * Global operations.
 */
XMLPUBFUN void XMLCALL
		xmlInitializeCatalog	(void);
XMLPUBFUN int XMLCALL
		xmlLoadCatalog		(const char *filename);
XMLPUBFUN void XMLCALL
		xmlLoadCatalogs		(const char *paths);
XMLPUBFUN void XMLCALL
		xmlCatalogCleanup	(void);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlCatalogDump		(FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolve	(const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveSystem	(const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolvePublic	(const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveURI	(const xmlChar *URI);
XMLPUBFUN int XMLCALL
		xmlCatalogAdd		(const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlCatalogRemove	(const xmlChar *value);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseCatalogFile	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlCatalogConvert	(void);

/*
 * Strictly minimal interfaces for per-document catalogs used
 * by the parser.
 */
XMLPUBFUN void XMLCALL
		xmlCatalogFreeLocal	(void *catalogs);
XMLPUBFUN void * XMLCALL
		xmlCatalogAddLocal	(void *catalogs,
					 const xmlChar *URL);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolve	(void *catalogs,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolveURI(void *catalogs,
					 const xmlChar *URI);
/*
 * Preference settings.
 */
XMLPUBFUN int XMLCALL
		xmlCatalogSetDebug	(int level);
XMLPUBFUN xmlCatalogPrefer XMLCALL
		xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
XMLPUBFUN void XMLCALL
		xmlCatalogSetDefaults	(xmlCatalogAllow allow);
XMLPUBFUN xmlCatalogAllow XMLCALL
		xmlCatalogGetDefaults	(void);


/* DEPRECATED interfaces */
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetSystem	(const xmlChar *sysID);
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetPublic	(const xmlChar *pubID);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_CATALOG_ENABLED */
#endif /* __XML_CATALOG_H__ */
PKi�Zm���>>%usr/include/libxml2/libxml/HTMLtree.hnu�[���/*
 * Summary: specific APIs to process HTML tree, especially serialization
 * Description: this module implements a few function needed to process
 *              tree in an HTML specific way.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_TREE_H__
#define __HTML_TREE_H__

#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/HTMLparser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif


/**
 * HTML_TEXT_NODE:
 *
 * Macro. A text node in a HTML document is really implemented
 * the same way as a text node in an XML document.
 */
#define HTML_TEXT_NODE		XML_TEXT_NODE
/**
 * HTML_ENTITY_REF_NODE:
 *
 * Macro. An entity reference in a HTML document is really implemented
 * the same way as an entity reference in an XML document.
 */
#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE
/**
 * HTML_COMMENT_NODE:
 *
 * Macro. A comment in a HTML document is really implemented
 * the same way as a comment in an XML document.
 */
#define HTML_COMMENT_NODE	XML_COMMENT_NODE
/**
 * HTML_PRESERVE_NODE:
 *
 * Macro. A preserved node in a HTML document is really implemented
 * the same way as a CDATA section in an XML document.
 */
#define HTML_PRESERVE_NODE	XML_CDATA_SECTION_NODE
/**
 * HTML_PI_NODE:
 *
 * Macro. A processing instruction in a HTML document is really implemented
 * the same way as a processing instruction in an XML document.
 */
#define HTML_PI_NODE		XML_PI_NODE

XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDoc		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDocNoDtD		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN const xmlChar * XMLCALL
		htmlGetMetaEncoding	(htmlDocPtr doc);
XMLPUBFUN int XMLCALL
		htmlSetMetaEncoding	(htmlDocPtr doc,
					 const xmlChar *encoding);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		htmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN int XMLCALL
		htmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		htmlNodeDumpFile	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDumpFileFormat	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN int XMLCALL
		htmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		htmlSaveFileFormat	(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN void XMLCALL
		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN int XMLCALL
		htmlIsBooleanAttr	(const xmlChar *name);


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */

#endif /* __HTML_TREE_H__ */

PKi�Z:�-5  %usr/include/libxml2/libxml/debugXML.hnu�[���/*
 * Summary: Tree debugging APIs
 * Description: Interfaces to a set of routines used for debugging the tree
 *              produced by the XML parser.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __DEBUG_XML__
#define __DEBUG_XML__
#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_DEBUG_ENABLED

#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The standard Dump routines.
 */
XMLPUBFUN void XMLCALL
	xmlDebugDumpString	(FILE *output,
				 const xmlChar *str);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttr	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttrList	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpOneNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNodeList	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocumentHead(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocument	(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDTD		(FILE *output,
				 xmlDtdPtr dtd);
XMLPUBFUN void XMLCALL
	xmlDebugDumpEntities	(FILE *output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			Checking routines			*
 *								*
 ****************************************************************/

XMLPUBFUN int XMLCALL
	xmlDebugCheckDocument	(FILE * output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			XML shell helpers			*
 *								*
 ****************************************************************/

XMLPUBFUN void XMLCALL
	xmlLsOneNode		(FILE *output, xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlLsCountNode		(xmlNodePtr node);

XMLPUBFUN const char * XMLCALL
	xmlBoolToText		(int boolval);

/****************************************************************
 *								*
 *	 The XML shell related structures and functions		*
 *								*
 ****************************************************************/

#ifdef LIBXML_XPATH_ENABLED
/**
 * xmlShellReadlineFunc:
 * @prompt:  a string prompt
 *
 * This is a generic signature for the XML shell input function.
 *
 * Returns a string which will be freed by the Shell.
 */
typedef char * (* xmlShellReadlineFunc)(char *prompt);

/**
 * xmlShellCtxt:
 *
 * A debugging shell context.
 * TODO: add the defined function tables.
 */
typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
    char *filename;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlXPathContextPtr pctxt;
    int loaded;
    FILE *output;
    xmlShellReadlineFunc input;
};

/**
 * xmlShellCmd:
 * @ctxt:  a shell context
 * @arg:  a string argument
 * @node:  a first node
 * @node2:  a second node
 *
 * This is a generic signature for the XML shell functions.
 *
 * Returns an int, negative returns indicating errors.
 */
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
                             char *arg,
			     xmlNodePtr node,
			     xmlNodePtr node2);

XMLPUBFUN void XMLCALL
	xmlShellPrintXPathError	(int errorType,
				 const char *arg);
XMLPUBFUN void XMLCALL
	xmlShellPrintXPathResult(xmlXPathObjectPtr list);
XMLPUBFUN int XMLCALL
	xmlShellList		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellBase		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellDir		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellLoad		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	xmlShellPrintNode	(xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlShellCat		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellWrite		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellSave		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN int XMLCALL
	xmlShellValidate	(xmlShellCtxtPtr ctxt,
				 char *dtd,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_VALID_ENABLED */
XMLPUBFUN int XMLCALL
	xmlShellDu		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr tree,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellPwd		(xmlShellCtxtPtr ctxt,
				 char *buffer,
				 xmlNodePtr node,
				 xmlNodePtr node2);

/*
 * The Shell interface.
 */
XMLPUBFUN void XMLCALL
	xmlShell		(xmlDocPtr doc,
				 char *filename,
				 xmlShellReadlineFunc input,
				 FILE *output);

#endif /* LIBXML_XPATH_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_DEBUG_ENABLED */
#endif /* __DEBUG_XML__ */
PKi�Z��UT	'	''usr/include/libxml2/libxml/xmlunicode.hnu�[���/*
 * Summary: Unicode character APIs
 * Description: API for the Unicode character APIs
 *
 * This file is automatically generated from the
 * UCS description files of the Unicode Character Database
 * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html
 * using the genUnicode.py Python script.
 *
 * Generation date: Mon Mar 27 11:09:52 2006
 * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt
 * Author: Daniel Veillard
 */

#ifndef __XML_UNICODE_H__
#define __XML_UNICODE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_UNICODE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArmenian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBengali	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBlockElements	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBuhid	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCherokee	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsControlPictures	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDeseret	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDevanagari	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDingbats	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEthiopic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeorgian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGothic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreek	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGujarati	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHanunoo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHebrew	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHiragana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKanbun	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKannada	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmer	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLao	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLimbu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMalayalam	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMongolian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMyanmar	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsNumberForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOgham	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOldItalic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOriya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOsmanya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsRunic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsShavian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSinhala	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpecials	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSyriac	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagalog	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTags	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiLe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTamil	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTelugu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThaana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThai	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTibetan	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUgaritic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsBlock	(int code, const char *block);

XMLPUBFUN int XMLCALL xmlUCSIsCatC	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatL	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLt	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatM	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMn	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatN	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatP	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatS	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSk	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZ	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZp	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZs	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsCat	(int code, const char *cat);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_UNICODE_ENABLED */

#endif /* __XML_UNICODE_H__ */
PKi�Z��`�[8[8$usr/include/libxml2/libxml/globals.hnu�[���/*
 * Summary: interface for all global variables of the library
 * Description: all the global variables and thread handling for
 *              those variables is handled by this module.
 *
 * The bottom of this file is automatically generated by build_glob.py
 * based on the description file global.data
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
 */

#ifndef __XML_GLOBALS_H
#define __XML_GLOBALS_H

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/xmlerror.h>
#include <libxml/SAX2.h>
#include <libxml/xmlmemory.h>

#ifdef __cplusplus
extern "C" {
#endif

XML_DEPRECATED
XMLPUBFUN void XMLCALL xmlInitGlobals(void);
XML_DEPRECATED
XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);

/**
 * xmlParserInputBufferCreateFilenameFunc:
 * @URI: the URI to read from
 * @enc: the requested source encoding
 *
 * Signature for the function doing the lookup for a suitable input method
 * corresponding to an URI.
 *
 * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
									   xmlCharEncoding enc);


/**
 * xmlOutputBufferCreateFilenameFunc:
 * @URI: the URI to write to
 * @enc: the requested target encoding
 *
 * Signature for the function doing the lookup for a suitable output method
 * corresponding to an URI.
 *
 * Returns the new xmlOutputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
								 xmlCharEncodingHandlerPtr encoder,
								 int compression);

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
XMLPUBFUN xmlOutputBufferCreateFilenameFunc
XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);

/*
 * Externally global symbols which need to be protected for backwards
 * compatibility support.
 */

#undef	htmlDefaultSAXHandler
#undef	oldXMLWDcompatibility
#undef	xmlBufferAllocScheme
#undef	xmlDefaultBufferSize
#undef	xmlDefaultSAXHandler
#undef	xmlDefaultSAXLocator
#undef	xmlDoValidityCheckingDefaultValue
#undef	xmlFree
#undef	xmlGenericError
#undef	xmlStructuredError
#undef	xmlGenericErrorContext
#undef	xmlStructuredErrorContext
#undef	xmlGetWarningsDefaultValue
#undef	xmlIndentTreeOutput
#undef  xmlTreeIndentString
#undef	xmlKeepBlanksDefaultValue
#undef	xmlLineNumbersDefaultValue
#undef	xmlLoadExtDtdDefaultValue
#undef	xmlMalloc
#undef	xmlMallocAtomic
#undef	xmlMemStrdup
#undef	xmlParserDebugEntities
#undef	xmlParserVersion
#undef	xmlPedanticParserDefaultValue
#undef	xmlRealloc
#undef	xmlSaveNoEmptyTags
#undef	xmlSubstituteEntitiesDefaultValue
#undef  xmlRegisterNodeDefaultValue
#undef  xmlDeregisterNodeDefaultValue
#undef  xmlLastError
#undef  xmlParserInputBufferCreateFilenameValue
#undef  xmlOutputBufferCreateFilenameValue

/**
 * xmlRegisterNodeFunc:
 * @node: the current node
 *
 * Signature for the registration callback of a created node
 */
typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
/**
 * xmlDeregisterNodeFunc:
 * @node: the current node
 *
 * Signature for the deregistration callback of a discarded node
 */
typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);

typedef struct _xmlGlobalState xmlGlobalState;
typedef xmlGlobalState *xmlGlobalStatePtr;
struct _xmlGlobalState
{
	const char *xmlParserVersion;

	xmlSAXLocator xmlDefaultSAXLocator;
	xmlSAXHandlerV1 xmlDefaultSAXHandler;
	xmlSAXHandlerV1 docbDefaultSAXHandler; /* unused */
	xmlSAXHandlerV1 htmlDefaultSAXHandler;

	xmlFreeFunc xmlFree;
	xmlMallocFunc xmlMalloc;
	xmlStrdupFunc xmlMemStrdup;
	xmlReallocFunc xmlRealloc;

	xmlGenericErrorFunc xmlGenericError;
	xmlStructuredErrorFunc xmlStructuredError;
	void *xmlGenericErrorContext;

	int oldXMLWDcompatibility;

	xmlBufferAllocationScheme xmlBufferAllocScheme;
	int xmlDefaultBufferSize;

	int xmlSubstituteEntitiesDefaultValue;
	int xmlDoValidityCheckingDefaultValue;
	int xmlGetWarningsDefaultValue;
	int xmlKeepBlanksDefaultValue;
	int xmlLineNumbersDefaultValue;
	int xmlLoadExtDtdDefaultValue;
	int xmlParserDebugEntities;
	int xmlPedanticParserDefaultValue;

	int xmlSaveNoEmptyTags;
	int xmlIndentTreeOutput;
	const char *xmlTreeIndentString;

	xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
	xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;

	xmlMallocFunc xmlMallocAtomic;
	xmlError xmlLastError;

	xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
	xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;

	void *xmlStructuredErrorContext;
};

#ifdef __cplusplus
}
#endif
#include <libxml/threads.h>
#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN void XMLCALL	xmlInitializeGlobalState(xmlGlobalStatePtr gs);

XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);

XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);

XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);

XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
	xmlThrDefParserInputBufferCreateFilenameDefault(
				xmlParserInputBufferCreateFilenameFunc func);

/** DOC_DISABLE */
/*
 * In general the memory allocation entry points are not kept
 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
 *    - xmlMalloc
 *    - xmlMallocAtomic
 *    - xmlRealloc
 *    - xmlMemStrdup
 *    - xmlFree
 */

#ifdef LIBXML_THREAD_ALLOC_ENABLED
#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
#define xmlMalloc \
(*(__xmlMalloc()))
#else
XMLPUBVAR xmlMallocFunc xmlMalloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
#define xmlMallocAtomic \
(*(__xmlMallocAtomic()))
#else
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
#define xmlRealloc \
(*(__xmlRealloc()))
#else
XMLPUBVAR xmlReallocFunc xmlRealloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
#define xmlFree \
(*(__xmlFree()))
#else
XMLPUBVAR xmlFreeFunc xmlFree;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
#define xmlMemStrdup \
(*(__xmlMemStrdup()))
#else
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif

#else /* !LIBXML_THREAD_ALLOC_ENABLED */
XMLPUBVAR xmlMallocFunc xmlMalloc;
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
XMLPUBVAR xmlReallocFunc xmlRealloc;
XMLPUBVAR xmlFreeFunc xmlFree;
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif /* LIBXML_THREAD_ALLOC_ENABLED */

#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define htmlDefaultSAXHandler \
(*(__htmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
#endif
#endif

XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLastError \
(*(__xmlLastError()))
#else
XMLPUBVAR xmlError xmlLastError;
#endif

/*
 * Everything starting from the line below is
 * Automatically generated by build_glob.py.
 * Do not modify the previous line.
 */


XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
#ifdef LIBXML_THREAD_ENABLED
#define oldXMLWDcompatibility \
(*(__oldXMLWDcompatibility()))
#else
XMLPUBVAR int oldXMLWDcompatibility;
#endif

XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlBufferAllocScheme \
(*(__xmlBufferAllocScheme()))
#else
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
#endif
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
	xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);

XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultBufferSize \
(*(__xmlDefaultBufferSize()))
#else
XMLPUBVAR int xmlDefaultBufferSize;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);

XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXHandler \
(*(__xmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
#endif

XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXLocator \
(*(__xmlDefaultSAXLocator()))
#else
XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
#endif

XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDoValidityCheckingDefaultValue \
(*(__xmlDoValidityCheckingDefaultValue()))
#else
XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);

XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericError \
(*(__xmlGenericError()))
#else
XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
#endif

XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredError \
(*(__xmlStructuredError()))
#else
XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
#endif

XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericErrorContext \
(*(__xmlGenericErrorContext()))
#else
XMLPUBVAR void * xmlGenericErrorContext;
#endif

XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredErrorContext \
(*(__xmlStructuredErrorContext()))
#else
XMLPUBVAR void * xmlStructuredErrorContext;
#endif

XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGetWarningsDefaultValue \
(*(__xmlGetWarningsDefaultValue()))
#else
XMLPUBVAR int xmlGetWarningsDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlIndentTreeOutput \
(*(__xmlIndentTreeOutput()))
#else
XMLPUBVAR int xmlIndentTreeOutput;
#endif
XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);

XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlTreeIndentString \
(*(__xmlTreeIndentString()))
#else
XMLPUBVAR const char * xmlTreeIndentString;
#endif
XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);

XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlKeepBlanksDefaultValue \
(*(__xmlKeepBlanksDefaultValue()))
#else
XMLPUBVAR int xmlKeepBlanksDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLineNumbersDefaultValue \
(*(__xmlLineNumbersDefaultValue()))
#else
XMLPUBVAR int xmlLineNumbersDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLoadExtDtdDefaultValue \
(*(__xmlLoadExtDtdDefaultValue()))
#else
XMLPUBVAR int xmlLoadExtDtdDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserDebugEntities \
(*(__xmlParserDebugEntities()))
#else
XMLPUBVAR int xmlParserDebugEntities;
#endif
XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);

XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserVersion \
(*(__xmlParserVersion()))
#else
XMLPUBVAR const char * xmlParserVersion;
#endif

XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlPedanticParserDefaultValue \
(*(__xmlPedanticParserDefaultValue()))
#else
XMLPUBVAR int xmlPedanticParserDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSaveNoEmptyTags \
(*(__xmlSaveNoEmptyTags()))
#else
XMLPUBVAR int xmlSaveNoEmptyTags;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);

XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSubstituteEntitiesDefaultValue \
(*(__xmlSubstituteEntitiesDefaultValue()))
#else
XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);

XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlRegisterNodeDefaultValue \
(*(__xmlRegisterNodeDefaultValue()))
#else
XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
#endif

XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDeregisterNodeDefaultValue \
(*(__xmlDeregisterNodeDefaultValue()))
#else
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
#endif

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
				__xmlParserInputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserInputBufferCreateFilenameValue \
(*(__xmlParserInputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
#endif

XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlOutputBufferCreateFilenameValue \
(*(__xmlOutputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
#endif

#ifdef __cplusplus
}
#endif

#endif /* __XML_GLOBALS_H */
PKi�ZP!渚�%usr/include/libxml2/libxml/entities.hnu�[���/*
 * Summary: interface for the XML entities handling
 * Description: this module provides some of the entity API needed
 *              for the parser and applications.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_ENTITIES_H__
#define __XML_ENTITIES_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The different valid entity types.
 */
typedef enum {
    XML_INTERNAL_GENERAL_ENTITY = 1,
    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
    XML_INTERNAL_PARAMETER_ENTITY = 4,
    XML_EXTERNAL_PARAMETER_ENTITY = 5,
    XML_INTERNAL_PREDEFINED_ENTITY = 6
} xmlEntityType;

/*
 * An unit of storage for an entity, contains the string, the value
 * and the linkind data needed for the linking in the hash table.
 */

struct _xmlEntity {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
    const xmlChar          *name;	/* Entity name */
    struct _xmlNode    *children;	/* First child link */
    struct _xmlNode        *last;	/* Last child link */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlChar                *orig;	/* content without ref substitution */
    xmlChar             *content;	/* content or ndata if unparsed */
    int                   length;	/* the content length */
    xmlEntityType          etype;	/* The entity type */
    const xmlChar    *ExternalID;	/* External identifier for PUBLIC */
    const xmlChar      *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */

    struct _xmlEntity     *nexte;	/* unused */
    const xmlChar           *URI;	/* the full URI as computed */
    int                    owner;	/* does the entity own the childrens */
    int			 checked;	/* was the entity content checked */
					/* this is also used to count entities
					 * references done from that entity
					 * and if it contains '<' */
};

/*
 * All entities are stored in an hash table.
 * There is 2 separate hash tables for global and parameter entities.
 */

typedef struct _xmlHashTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;

/*
 * External functions:
 */

#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		xmlInitializePredefinedEntities	(void);
#endif /* LIBXML_LEGACY_ENABLED */

XMLPUBFUN xmlEntityPtr XMLCALL
			xmlNewEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDocEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetPredefinedEntity	(const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDocEntity		(const xmlDoc *doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetParameterEntity	(xmlDocPtr doc,
						 const xmlChar *name);
#ifdef LIBXML_LEGACY_ENABLED
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
			xmlEncodeEntities	(xmlDocPtr doc,
						 const xmlChar *input);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeEntitiesReentrant(xmlDocPtr doc,
						 const xmlChar *input);
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeSpecialChars	(const xmlDoc *doc,
						 const xmlChar *input);
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCreateEntitiesTable	(void);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCopyEntitiesTable	(xmlEntitiesTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
			xmlFreeEntitiesTable	(xmlEntitiesTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
			xmlDumpEntitiesTable	(xmlBufferPtr buf,
						 xmlEntitiesTablePtr table);
XMLPUBFUN void XMLCALL
			xmlDumpEntityDecl	(xmlBufferPtr buf,
						 xmlEntityPtr ent);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN void XMLCALL
			xmlCleanupPredefinedEntities(void);
#endif /* LIBXML_LEGACY_ENABLED */


#ifdef __cplusplus
}
#endif

# endif /* __XML_ENTITIES_H__ */
PKi�Z��DC�C�#usr/include/libxml2/libxml/parser.hnu�[���/*
 * Summary: the core parser module
 * Description: Interfaces, constants and types related to the XML parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_H__
#define __XML_PARSER_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/hash.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_DEFAULT_VERSION:
 *
 * The default version of XML used: 1.0
 */
#define XML_DEFAULT_VERSION	"1.0"

/**
 * xmlParserInput:
 *
 * An xmlParserInput is an input flow for the XML processor.
 * Each entity parsed is associated an xmlParserInput (except the
 * few predefined ones). This is the case both for internal entities
 * - in which case the flow is already completely in memory - or
 * external entities - in which case we use the buf structure for
 * progressive reading and I18N conversions to the internal UTF-8 format.
 */

/**
 * xmlParserInputDeallocate:
 * @str:  the string to deallocate
 *
 * Callback for freeing some parser input allocations.
 */
typedef void (* xmlParserInputDeallocate)(xmlChar *str);

struct _xmlParserInput {
    /* Input buffer */
    xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */

    const char *filename;             /* The file analyzed, if any */
    const char *directory;            /* the directory/base of the file */
    const xmlChar *base;              /* Base of the array to parse */
    const xmlChar *cur;               /* Current char being parsed */
    const xmlChar *end;               /* end of the array to parse */
    int length;                       /* length if known */
    int line;                         /* Current line */
    int col;                          /* Current column */
    /*
     * NOTE: consumed is only tested for equality in the parser code,
     *       so even if there is an overflow this should not give troubles
     *       for parsing very large instances.
     */
    unsigned long consumed;           /* How many xmlChars already consumed */
    xmlParserInputDeallocate free;    /* function to deallocate the base */
    const xmlChar *encoding;          /* the encoding string for entity */
    const xmlChar *version;           /* the version string for entity */
    int standalone;                   /* Was that entity marked standalone */
    int id;                           /* an unique identifier for the entity */
};

/**
 * xmlParserNodeInfo:
 *
 * The parser can be asked to collect Node information, i.e. at what
 * place in the file they were detected.
 * NOTE: This is off by default and not very well tested.
 */
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;

struct _xmlParserNodeInfo {
  const struct _xmlNode* node;
  /* Position & line # that text that created the node begins & ends on */
  unsigned long begin_pos;
  unsigned long begin_line;
  unsigned long end_pos;
  unsigned long end_line;
};

typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
struct _xmlParserNodeInfoSeq {
  unsigned long maximum;
  unsigned long length;
  xmlParserNodeInfo* buffer;
};

/**
 * xmlParserInputState:
 *
 * The parser is now working also as a state based parser.
 * The recursive one use the state info for entities processing.
 */
typedef enum {
    XML_PARSER_EOF = -1,	/* nothing is to be parsed */
    XML_PARSER_START = 0,	/* nothing has been parsed */
    XML_PARSER_MISC,		/* Misc* before int subset */
    XML_PARSER_PI,		/* Within a processing instruction */
    XML_PARSER_DTD,		/* within some DTD content */
    XML_PARSER_PROLOG,		/* Misc* after internal subset */
    XML_PARSER_COMMENT,		/* within a comment */
    XML_PARSER_START_TAG,	/* within a start tag */
    XML_PARSER_CONTENT,		/* within the content */
    XML_PARSER_CDATA_SECTION,	/* within a CDATA section */
    XML_PARSER_END_TAG,		/* within a closing tag */
    XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
    XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
    XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
    XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
    XML_PARSER_EPILOG,		/* the Misc* after the last end tag */
    XML_PARSER_IGNORE,		/* within an IGNORED section */
    XML_PARSER_PUBLIC_LITERAL	/* within a PUBLIC value */
} xmlParserInputState;

/**
 * XML_DETECT_IDS:
 *
 * Bit in the loadsubset context field to tell to do ID/REFs lookups.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_DETECT_IDS		2

/**
 * XML_COMPLETE_ATTRS:
 *
 * Bit in the loadsubset context field to tell to do complete the
 * elements attributes lists with the ones defaulted from the DTDs.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_COMPLETE_ATTRS	4

/**
 * XML_SKIP_IDS:
 *
 * Bit in the loadsubset context field to tell to not do ID/REFs registration.
 * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
 */
#define XML_SKIP_IDS		8

/**
 * xmlParserMode:
 *
 * A parser can operate in various modes
 */
typedef enum {
    XML_PARSE_UNKNOWN = 0,
    XML_PARSE_DOM = 1,
    XML_PARSE_SAX = 2,
    XML_PARSE_PUSH_DOM = 3,
    XML_PARSE_PUSH_SAX = 4,
    XML_PARSE_READER = 5
} xmlParserMode;

typedef struct _xmlStartTag xmlStartTag;

/**
 * xmlParserCtxt:
 *
 * The parser context.
 * NOTE This doesn't completely define the parser state, the (current ?)
 *      design of the parser uses recursive function calls since this allow
 *      and easy mapping from the production rules of the specification
 *      to the actual code. The drawback is that the actual function call
 *      also reflect the parser state. However most of the parsing routines
 *      takes as the only argument the parser context pointer, so migrating
 *      to a state based parser for progressive parsing shouldn't be too hard.
 */
struct _xmlParserCtxt {
    struct _xmlSAXHandler *sax;       /* The SAX handler */
    void            *userData;        /* For SAX interface only, used by DOM build */
    xmlDocPtr           myDoc;        /* the document being built */
    int            wellFormed;        /* is the document well formed */
    int       replaceEntities;        /* shall we replace entities ? */
    const xmlChar    *version;        /* the XML version string */
    const xmlChar   *encoding;        /* the declared encoding, if any */
    int            standalone;        /* standalone document */
    int                  html;        /* an HTML(1) document
                                       * 3 is HTML after <head>
                                       * 10 is HTML after <body>
                                       */

    /* Input stream stack */
    xmlParserInputPtr  input;         /* Current input stream */
    int                inputNr;       /* Number of current input streams */
    int                inputMax;      /* Max number of input streams */
    xmlParserInputPtr *inputTab;      /* stack of inputs */

    /* Node analysis stack only used for DOM building */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    int record_info;                  /* Whether node info should be kept */
    xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */

    int errNo;                        /* error code */

    int     hasExternalSubset;        /* reference and external subset */
    int             hasPErefs;        /* the internal subset has PE refs */
    int              external;        /* are we parsing an external entity */

    int                 valid;        /* is the document valid */
    int              validate;        /* shall we try to validate ? */
    xmlValidCtxt        vctxt;        /* The validity context */

    xmlParserInputState instate;      /* current type of input */
    int                 token;        /* next char look-ahead */

    char           *directory;        /* the data directory */

    /* Node name stack */
    const xmlChar     *name;          /* Current parsed Node */
    int                nameNr;        /* Depth of the parsing stack */
    int                nameMax;       /* Max depth of the parsing stack */
    const xmlChar *   *nameTab;       /* array of nodes */

    long               nbChars;       /* unused */
    long            checkIndex;       /* used by progressive parsing lookup */
    int             keepBlanks;       /* ugly but ... */
    int             disableSAX;       /* SAX callbacks are disabled */
    int               inSubset;       /* Parsing is in int 1/ext 2 subset */
    const xmlChar *    intSubName;    /* name of subset */
    xmlChar *          extSubURI;     /* URI of external subset */
    xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */

    /* xml:space values */
    int *              space;         /* Should the parser preserve spaces */
    int                spaceNr;       /* Depth of the parsing stack */
    int                spaceMax;      /* Max depth of the parsing stack */
    int *              spaceTab;      /* array of space infos */

    int                depth;         /* to prevent entity substitution loops */
    xmlParserInputPtr  entity;        /* used to check entities boundaries */
    int                charset;       /* encoding of the in-memory content
				         actually an xmlCharEncoding */
    int                nodelen;       /* Those two fields are there to */
    int                nodemem;       /* Speed up large node parsing */
    int                pedantic;      /* signal pedantic warnings */
    void              *_private;      /* For user data, libxml won't touch it */

    int                loadsubset;    /* should the external subset be loaded */
    int                linenumbers;   /* set line number in element content */
    void              *catalogs;      /* document's own catalog */
    int                recovery;      /* run in recovery mode */
    int                progressive;   /* is this a progressive parsing */
    xmlDictPtr         dict;          /* dictionary for the parser */
    const xmlChar *   *atts;          /* array for the attributes callbacks */
    int                maxatts;       /* the size of the array */
    int                docdict;       /* use strings from dict to build tree */

    /*
     * pre-interned strings
     */
    const xmlChar *str_xml;
    const xmlChar *str_xmlns;
    const xmlChar *str_xml_ns;

    /*
     * Everything below is used only by the new SAX mode
     */
    int                sax2;          /* operating in the new SAX mode */
    int                nsNr;          /* the number of inherited namespaces */
    int                nsMax;         /* the size of the arrays */
    const xmlChar *   *nsTab;         /* the array of prefix/namespace name */
    int               *attallocs;     /* which attribute were allocated */
    xmlStartTag       *pushTab;       /* array of data for push */
    xmlHashTablePtr    attsDefault;   /* defaulted attributes if any */
    xmlHashTablePtr    attsSpecial;   /* non-CDATA attributes if any */
    int                nsWellFormed;  /* is the document XML Namespace okay */
    int                options;       /* Extra options */

    /*
     * Those fields are needed only for streaming parsing so far
     */
    int               dictNames;    /* Use dictionary names for the tree */
    int               freeElemsNr;  /* number of freed element nodes */
    xmlNodePtr        freeElems;    /* List of freed element nodes */
    int               freeAttrsNr;  /* number of freed attributes nodes */
    xmlAttrPtr        freeAttrs;    /* List of freed attributes nodes */

    /*
     * the complete error information for the last error.
     */
    xmlError          lastError;
    xmlParserMode     parseMode;    /* the parser mode */
    unsigned long    nbentities;    /* number of entities references */
    unsigned long  sizeentities;    /* size of parsed entities */

    /* for use by HTML non-recursive parser */
    xmlParserNodeInfo *nodeInfo;      /* Current NodeInfo */
    int                nodeInfoNr;    /* Depth of the parsing stack */
    int                nodeInfoMax;   /* Max depth of the parsing stack */
    xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */

    int                input_id;      /* we need to label inputs */
    unsigned long      sizeentcopy;   /* volume of entity copy */
};

/**
 * xmlSAXLocator:
 *
 * A SAX Locator.
 */
struct _xmlSAXLocator {
    const xmlChar *(*getPublicId)(void *ctx);
    const xmlChar *(*getSystemId)(void *ctx);
    int (*getLineNumber)(void *ctx);
    int (*getColumnNumber)(void *ctx);
};

/**
 * xmlSAXHandler:
 *
 * A SAX handler is bunch of callbacks called by the parser when processing
 * of the input generate data or structure information.
 */

/**
 * resolveEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 *
 * Callback:
 * 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
 *
 * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
 */
typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * internalSubsetSAXFunc:
 * @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)
 *
 * Callback on internal subset declaration.
 */
typedef void (*internalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * externalSubsetSAXFunc:
 * @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)
 *
 * Callback on external subset declaration.
 */
typedef void (*externalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * getEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get an entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * getParameterEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get a parameter entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * entityDeclSAXFunc:
 * @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).
 *
 * An entity definition has been parsed.
 */
typedef void (*entityDeclSAXFunc) (void *ctx,
				const xmlChar *name,
				int type,
				const xmlChar *publicId,
				const xmlChar *systemId,
				xmlChar *content);
/**
 * notationDeclSAXFunc:
 * @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
 *
 * What to do when a notation declaration has been parsed.
 */
typedef void (*notationDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * attributeDeclSAXFunc:
 * @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
 *
 * An attribute definition has been parsed.
 */
typedef void (*attributeDeclSAXFunc)(void *ctx,
				const xmlChar *elem,
				const xmlChar *fullname,
				int type,
				int def,
				const xmlChar *defaultValue,
				xmlEnumerationPtr tree);
/**
 * elementDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the element name
 * @type:  the element type
 * @content: the element value tree
 *
 * An element definition has been parsed.
 */
typedef void (*elementDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				int type,
				xmlElementContentPtr content);
/**
 * unparsedEntityDeclSAXFunc:
 * @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
 *
 * What to do when an unparsed entity declaration is parsed.
 */
typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId,
				const xmlChar *notationName);
/**
 * setDocumentLocatorSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @loc: A SAX Locator
 *
 * Receive the document locator at startup, actually xmlDefaultSAXLocator.
 * Everything is available on the context, so this is useless in our case.
 */
typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
				xmlSAXLocatorPtr loc);
/**
 * startDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document start being processed.
 */
typedef void (*startDocumentSAXFunc) (void *ctx);
/**
 * endDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document end has been detected.
 */
typedef void (*endDocumentSAXFunc) (void *ctx);
/**
 * startElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name, including namespace prefix
 * @atts:  An array of name/value attributes pairs, NULL terminated
 *
 * Called when an opening tag has been processed.
 */
typedef void (*startElementSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar **atts);
/**
 * endElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name
 *
 * Called when the end of an element has been detected.
 */
typedef void (*endElementSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * attributeSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The attribute name, including namespace prefix
 * @value:  The attribute 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.
 */
typedef void (*attributeSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *value);
/**
 * referenceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The entity name
 *
 * Called when an entity reference is detected.
 */
typedef void (*referenceSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * charactersSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some chars from the parser.
 */
typedef void (*charactersSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * ignorableWhitespaceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some ignorable whitespaces from the parser.
 * UNUSED: by default the DOM building will use characters.
 */
typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * processingInstructionSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @target:  the target name
 * @data: the PI data's
 *
 * A processing instruction has been parsed.
 */
typedef void (*processingInstructionSAXFunc) (void *ctx,
				const xmlChar *target,
				const xmlChar *data);
/**
 * commentSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  the comment content
 *
 * A comment has been parsed.
 */
typedef void (*commentSAXFunc) (void *ctx,
				const xmlChar *value);
/**
 * cdataBlockSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  The pcdata content
 * @len:  the block length
 *
 * Called when a pcdata block has been parsed.
 */
typedef void (*cdataBlockSAXFunc) (
	                        void *ctx,
				const xmlChar *value,
				int len);
/**
 * warningSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format a warning messages, callback.
 */
typedef void (XMLCDECL *warningSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * errorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format an error messages, callback.
 */
typedef void (XMLCDECL *errorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * fatalErrorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format fatal error messages, callback.
 * Note: so far fatalError() SAX callbacks are not used, error()
 *       get all the callbacks for errors.
 */
typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * isStandaloneSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Is this document tagged standalone?
 *
 * Returns 1 if true
 */
typedef int (*isStandaloneSAXFunc) (void *ctx);
/**
 * hasInternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an internal subset.
 *
 * Returns 1 if true
 */
typedef int (*hasInternalSubsetSAXFunc) (void *ctx);

/**
 * hasExternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an external subset?
 *
 * Returns 1 if true
 */
typedef int (*hasExternalSubsetSAXFunc) (void *ctx);

/************************************************************************
 *									*
 *			The SAX version 2 API extensions		*
 *									*
 ************************************************************************/
/**
 * XML_SAX2_MAGIC:
 *
 * Special constant found in SAX2 blocks initialized fields
 */
#define XML_SAX2_MAGIC 0xDEEDBEAF

/**
 * startElementNsSAX2Func:
 * @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. The defaulted
 *                  ones are at the end of the array
 * @attributes:  pointer to the array of (localname/prefix/URI/value/end)
 *               attribute values.
 *
 * SAX2 callback when an element start has been detected by the parser.
 * It provides the namespace information for the element, as well as
 * the new namespace declarations on the element.
 */

typedef void (*startElementNsSAX2Func) (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);

/**
 * endElementNsSAX2Func:
 * @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
 *
 * SAX2 callback when an element end has been detected by the parser.
 * It provides the namespace information for the element.
 */

typedef void (*endElementNsSAX2Func)   (void *ctx,
					const xmlChar *localname,
					const xmlChar *prefix,
					const xmlChar *URI);


struct _xmlSAXHandler {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
    /* The following fields are extensions available only on version 2 */
    void *_private;
    startElementNsSAX2Func startElementNs;
    endElementNsSAX2Func endElementNs;
    xmlStructuredErrorFunc serror;
};

/*
 * SAX Version 1
 */
typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
struct _xmlSAXHandlerV1 {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
};


/**
 * xmlExternalEntityLoader:
 * @URL: The System ID of the resource requested
 * @ID: The Public ID of the resource requested
 * @context: the XML parser context
 *
 * External entity loaders types.
 *
 * Returns the entity input parser.
 */
typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr context);

#ifdef __cplusplus
}
#endif

#include <libxml/encoding.h>
#include <libxml/xmlIO.h>
#include <libxml/globals.h>

#ifdef __cplusplus
extern "C" {
#endif


/*
 * Init/Cleanup
 */
XMLPUBFUN void XMLCALL
		xmlInitParser		(void);
XMLPUBFUN void XMLCALL
		xmlCleanupParser	(void);

/*
 * Input functions
 */
XMLPUBFUN int XMLCALL
		xmlParserInputRead	(xmlParserInputPtr in,
					 int len);
XMLPUBFUN int XMLCALL
		xmlParserInputGrow	(xmlParserInputPtr in,
					 int len);

/*
 * Basic parsing Interfaces
 */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseFile		(const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseMemory		(const char *buffer,
					 int size);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlSubstituteEntitiesDefault(int val);
XMLPUBFUN int XMLCALL
		xmlKeepBlanksDefault	(int val);
XMLPUBFUN void XMLCALL
		xmlStopParser		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlPedanticParserDefault(int val);
XMLPUBFUN int XMLCALL
		xmlLineNumbersDefault	(int val);

#ifdef LIBXML_SAX1_ENABLED
/*
 * Recovery mode
 */
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverMemory	(const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverFile		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

/*
 * Less common routines and SAX interfaces
 */
XMLPUBFUN int XMLCALL
		xmlParseDocument	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
					 const xmlChar *cur,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
					 const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseEntity		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlParseDTD		(const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);
#endif /* LIBXML_VALID_ENABLE */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemory(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *string,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserErrors XMLCALL
		xmlParseInNodeContext	(xmlNodePtr node,
					 const char *data,
					 int datalen,
					 int options,
					 xmlNodePtr *lst);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
                     xmlSAXHandlerPtr sax,
                     void *user_data,
                     int depth,
                     const xmlChar *string,
                     xmlNodePtr *lst,
                     int recover);
XMLPUBFUN int XMLCALL
		xmlParseExternalEntity	(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);

/*
 * Parser contexts handling.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlNewParserCtxt	(void);
XMLPUBFUN int XMLCALL
		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN void XMLCALL
		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
					 const xmlChar* buffer,
					 const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateDocParserCtxt	(const xmlChar *cur);

#ifdef LIBXML_LEGACY_ENABLED
/*
 * Reading/setting optional parsing features.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlGetFeaturesList	(int *len,
					 const char **result);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlGetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *result);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		xmlSetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *value);
#endif /* LIBXML_LEGACY_ENABLED */

#ifdef LIBXML_PUSH_ENABLED
/*
 * Interfaces for the Push mode.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *chunk,
					 int size,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlParseChunk		(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

/*
 * Special I/O mode.
 */

XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 xmlInputReadCallback   ioread,
					 xmlInputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncoding enc);

XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);

/*
 * Node infos.
 */
XMLPUBFUN const xmlParserNodeInfo* XMLCALL
		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
				         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN void XMLCALL
		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN unsigned long XMLCALL
		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
                                         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
					 const xmlParserNodeInfoPtr info);

/*
 * External entities handling actually implemented in xmlIO.
 */

XMLPUBFUN void XMLCALL
		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
XMLPUBFUN xmlExternalEntityLoader XMLCALL
		xmlGetExternalEntityLoader(void);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlLoadExternalEntity	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * Index lookup, actually implemented in the encoding module
 */
XMLPUBFUN long XMLCALL
		xmlByteConsumed		(xmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    XML_PARSE_RECOVER	= 1<<0,	/* recover on errors */
    XML_PARSE_NOENT	= 1<<1,	/* substitute entities */
    XML_PARSE_DTDLOAD	= 1<<2,	/* load the external subset */
    XML_PARSE_DTDATTR	= 1<<3,	/* default DTD attributes */
    XML_PARSE_DTDVALID	= 1<<4,	/* validate with the DTD */
    XML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    XML_PARSE_NOWARNING	= 1<<6,	/* suppress warning reports */
    XML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    XML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
    XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitution  */
    XML_PARSE_NONET	= 1<<11,/* Forbid network access */
    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionary */
    XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
    XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
    XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
    XML_PARSE_COMPACT   = 1<<16,/* compact small text nodes; no modification of
                                   the tree allowed afterwards (will possibly
				   crash if you try to modify the tree) */
    XML_PARSE_OLD10	= 1<<17,/* parse using XML-1.0 before update 5 */
    XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
    XML_PARSE_HUGE      = 1<<19,/* relax any hardcoded limit from the parser */
    XML_PARSE_OLDSAX    = 1<<20,/* parse using SAX2 interface before 2.7.0 */
    XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
    XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
} xmlParserOption;

XMLPUBFUN void XMLCALL
		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/*
 * Library wide options
 */
/**
 * xmlFeature:
 *
 * Used to examine the existence of features that can be enabled
 * or disabled at compile-time.
 * They used to be called XML_FEATURE_xxx but this clashed with Expat
 */
typedef enum {
    XML_WITH_THREAD = 1,
    XML_WITH_TREE = 2,
    XML_WITH_OUTPUT = 3,
    XML_WITH_PUSH = 4,
    XML_WITH_READER = 5,
    XML_WITH_PATTERN = 6,
    XML_WITH_WRITER = 7,
    XML_WITH_SAX1 = 8,
    XML_WITH_FTP = 9,
    XML_WITH_HTTP = 10,
    XML_WITH_VALID = 11,
    XML_WITH_HTML = 12,
    XML_WITH_LEGACY = 13,
    XML_WITH_C14N = 14,
    XML_WITH_CATALOG = 15,
    XML_WITH_XPATH = 16,
    XML_WITH_XPTR = 17,
    XML_WITH_XINCLUDE = 18,
    XML_WITH_ICONV = 19,
    XML_WITH_ISO8859X = 20,
    XML_WITH_UNICODE = 21,
    XML_WITH_REGEXP = 22,
    XML_WITH_AUTOMATA = 23,
    XML_WITH_EXPR = 24,
    XML_WITH_SCHEMAS = 25,
    XML_WITH_SCHEMATRON = 26,
    XML_WITH_MODULES = 27,
    XML_WITH_DEBUG = 28,
    XML_WITH_DEBUG_MEM = 29,
    XML_WITH_DEBUG_RUN = 30,
    XML_WITH_ZLIB = 31,
    XML_WITH_ICU = 32,
    XML_WITH_LZMA = 33,
    XML_WITH_NONE = 99999 /* just to be sure of allocation size */
} xmlFeature;

XMLPUBFUN int XMLCALL
		xmlHasFeature		(xmlFeature feature);

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_H__ */
PKi�Z䤔WW&usr/include/libxml2/libxml/xmlmemory.hnu�[���/*
 * Summary: interface for the memory allocator
 * Description: provides interfaces for the memory allocator,
 *              including debugging capabilities.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __DEBUG_MEMORY_ALLOC__
#define __DEBUG_MEMORY_ALLOC__

#include <stdio.h>
#include <libxml/xmlversion.h>

/**
 * DEBUG_MEMORY:
 *
 * DEBUG_MEMORY replaces the allocator with a collect and debug
 * shell to the libc allocator.
 * DEBUG_MEMORY should only be activated when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
/* #define DEBUG_MEMORY_FREED */
/* #define DEBUG_MEMORY_LOCATION */

#ifdef DEBUG
#ifndef DEBUG_MEMORY
#define DEBUG_MEMORY
#endif
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * DEBUG_MEMORY_LOCATION should be activated only when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
#ifdef DEBUG_MEMORY_LOCATION
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The XML memory wrapper support 4 basic overloadable functions.
 */
/**
 * xmlFreeFunc:
 * @mem: an already allocated block of memory
 *
 * Signature for a free() implementation.
 */
typedef void (XMLCALL *xmlFreeFunc)(void *mem);
/**
 * xmlMallocFunc:
 * @size:  the size requested in bytes
 *
 * Signature for a malloc() implementation.
 *
 * Returns a pointer to the newly allocated block or NULL in case of error.
 */
typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);

/**
 * xmlReallocFunc:
 * @mem: an already allocated block of memory
 * @size:  the new size requested in bytes
 *
 * Signature for a realloc() implementation.
 *
 * Returns a pointer to the newly reallocated block or NULL in case of error.
 */
typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);

/**
 * xmlStrdupFunc:
 * @str: a zero terminated string
 *
 * Signature for an strdup() implementation.
 *
 * Returns the copy of the string or NULL in case of error.
 */
typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);

/*
 * The 4 interfaces used for all memory handling within libxml.
LIBXML_DLL_IMPORT xmlFreeFunc xmlFree;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic;
LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc;
LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup;
 */

/*
 * The way to overload the existing functions.
 * The xmlGc function have an extra entry for atomic block
 * allocations useful for garbage collected memory allocators
 */
XMLPUBFUN int XMLCALL
	xmlMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlMallocFunc mallocAtomicFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlMallocFunc *mallocAtomicFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);

/*
 * Initialization of the memory layer.
 */
XML_DEPRECATED
XMLPUBFUN int XMLCALL
	xmlInitMemory	(void);

/*
 * Cleanup of the memory layer.
 */
XML_DEPRECATED
XMLPUBFUN void XMLCALL
                xmlCleanupMemory        (void);
/*
 * These are specific to the XML debug memory wrapper.
 */
XMLPUBFUN int XMLCALL
	xmlMemUsed	(void);
XMLPUBFUN int XMLCALL
	xmlMemBlocks	(void);
XMLPUBFUN void XMLCALL
	xmlMemDisplay	(FILE *fp);
XMLPUBFUN void XMLCALL
	xmlMemDisplayLast(FILE *fp, long nbBytes);
XMLPUBFUN void XMLCALL
	xmlMemShow	(FILE *fp, int nr);
XMLPUBFUN void XMLCALL
	xmlMemoryDump	(void);
XMLPUBFUN void * XMLCALL
	xmlMemMalloc	(size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlMemRealloc	(void *ptr,size_t size);
XMLPUBFUN void XMLCALL
	xmlMemFree	(void *ptr);
XMLPUBFUN char * XMLCALL
	xmlMemoryStrdup	(const char *str);
XMLPUBFUN void * XMLCALL
	xmlMallocLoc	(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlReallocLoc	(void *ptr, size_t size, const char *file, int line);
XMLPUBFUN void * XMLCALL
	xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN char * XMLCALL
	xmlMemStrdupLoc	(const char *str, const char *file, int line);


#ifdef DEBUG_MEMORY_LOCATION
/**
 * xmlMalloc:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
/**
 * xmlMallocAtomic:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library for allocation
 * of block not containing pointers to other areas.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
/**
 * xmlRealloc:
 * @ptr:  pointer to the existing allocated area
 * @size:  number of bytes to allocate
 *
 * Wrapper for the realloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
/**
 * xmlMemStrdup:
 * @str:  pointer to the existing string
 *
 * Wrapper for the strdup() function, xmlStrdup() is usually preferred.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)

#endif /* DEBUG_MEMORY_LOCATION */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#ifndef __XML_GLOBALS_H
#ifndef __XML_THREADS_H__
#include <libxml/threads.h>
#include <libxml/globals.h>
#endif
#endif

#endif  /* __DEBUG_MEMORY_ALLOC__ */

PKi�Z��w�� usr/include/libxml2/libxml/SAX.hnu�[���/*
 * Summary: Old SAX version 1 handler, deprecated
 * Description: DEPRECATED set of SAX version 1 interfaces used to
 *              build the DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX_H__
#define __XML_SAX_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef LIBXML_LEGACY_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
		getPublicId			(void *ctx);
XML_DEPRECATED
XMLPUBFUN const xmlChar * XMLCALL
		getSystemId			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		setDocumentLocator		(void *ctx,
						 xmlSAXLocatorPtr loc);

XML_DEPRECATED
XMLPUBFUN int XMLCALL
		getLineNumber			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		getColumnNumber			(void *ctx);

XML_DEPRECATED
XMLPUBFUN int XMLCALL
		isStandalone			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		hasInternalSubset		(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		hasExternalSubset		(void *ctx);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		internalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		externalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XML_DEPRECATED
XMLPUBFUN xmlEntityPtr XMLCALL
		getEntity			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlEntityPtr XMLCALL
		getParameterEntity		(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlParserInputPtr XMLCALL
		resolveEntity			(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		entityDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		attributeDecl			(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		elementDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		notationDecl			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		unparsedEntityDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XML_DEPRECATED
XMLPUBFUN void XMLCALL
		startDocument			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		endDocument			(void *ctx);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		attribute			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar *value);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		startElement			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		endElement			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		reference			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		characters			(void *ctx,
						 const xmlChar *ch,
						 int len);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		ignorableWhitespace		(void *ctx,
						 const xmlChar *ch,
						 int len);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		processingInstruction		(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		globalNamespace			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		setNamespace			(void *ctx,
						 const xmlChar *name);
XML_DEPRECATED
XMLPUBFUN xmlNsPtr XMLCALL
		getNamespace			(void *ctx);
XML_DEPRECATED
XMLPUBFUN int XMLCALL
		checkNamespace			(void *ctx,
						 xmlChar *nameSpace);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		namespaceDecl			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		comment				(void *ctx,
						 const xmlChar *value);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		cdataBlock			(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		initxmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
#endif
#endif /* LIBXML_SAX1_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_LEGACY_ENABLED */

#endif /* __XML_SAX_H__ */
PKi�Z<�	�pfpf-usr/include/libxml2/libxml/schemasInternals.hnu�[���/*
 * Summary: internal interfaces for XML Schemas
 * Description: internal interfaces for the XML Schemas handling
 *              and schema validity checking
 *		The Schemas development is a Work In Progress.
 *              Some of those interfaces are not guaranteed to be API or ABI stable !
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_INTERNALS_H__
#define __XML_SCHEMA_INTERNALS_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/xmlregexp.h>
#include <libxml/hash.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMAS_UNKNOWN = 0,
    XML_SCHEMAS_STRING = 1,
    XML_SCHEMAS_NORMSTRING = 2,
    XML_SCHEMAS_DECIMAL = 3,
    XML_SCHEMAS_TIME = 4,
    XML_SCHEMAS_GDAY = 5,
    XML_SCHEMAS_GMONTH = 6,
    XML_SCHEMAS_GMONTHDAY = 7,
    XML_SCHEMAS_GYEAR = 8,
    XML_SCHEMAS_GYEARMONTH = 9,
    XML_SCHEMAS_DATE = 10,
    XML_SCHEMAS_DATETIME = 11,
    XML_SCHEMAS_DURATION = 12,
    XML_SCHEMAS_FLOAT = 13,
    XML_SCHEMAS_DOUBLE = 14,
    XML_SCHEMAS_BOOLEAN = 15,
    XML_SCHEMAS_TOKEN = 16,
    XML_SCHEMAS_LANGUAGE = 17,
    XML_SCHEMAS_NMTOKEN = 18,
    XML_SCHEMAS_NMTOKENS = 19,
    XML_SCHEMAS_NAME = 20,
    XML_SCHEMAS_QNAME = 21,
    XML_SCHEMAS_NCNAME = 22,
    XML_SCHEMAS_ID = 23,
    XML_SCHEMAS_IDREF = 24,
    XML_SCHEMAS_IDREFS = 25,
    XML_SCHEMAS_ENTITY = 26,
    XML_SCHEMAS_ENTITIES = 27,
    XML_SCHEMAS_NOTATION = 28,
    XML_SCHEMAS_ANYURI = 29,
    XML_SCHEMAS_INTEGER = 30,
    XML_SCHEMAS_NPINTEGER = 31,
    XML_SCHEMAS_NINTEGER = 32,
    XML_SCHEMAS_NNINTEGER = 33,
    XML_SCHEMAS_PINTEGER = 34,
    XML_SCHEMAS_INT = 35,
    XML_SCHEMAS_UINT = 36,
    XML_SCHEMAS_LONG = 37,
    XML_SCHEMAS_ULONG = 38,
    XML_SCHEMAS_SHORT = 39,
    XML_SCHEMAS_USHORT = 40,
    XML_SCHEMAS_BYTE = 41,
    XML_SCHEMAS_UBYTE = 42,
    XML_SCHEMAS_HEXBINARY = 43,
    XML_SCHEMAS_BASE64BINARY = 44,
    XML_SCHEMAS_ANYTYPE = 45,
    XML_SCHEMAS_ANYSIMPLETYPE = 46
} xmlSchemaValType;

/*
 * XML Schemas defines multiple type of types.
 */
typedef enum {
    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
    XML_SCHEMA_TYPE_ANY,
    XML_SCHEMA_TYPE_FACET,
    XML_SCHEMA_TYPE_SIMPLE,
    XML_SCHEMA_TYPE_COMPLEX,
    XML_SCHEMA_TYPE_SEQUENCE = 6,
    XML_SCHEMA_TYPE_CHOICE,
    XML_SCHEMA_TYPE_ALL,
    XML_SCHEMA_TYPE_SIMPLE_CONTENT,
    XML_SCHEMA_TYPE_COMPLEX_CONTENT,
    XML_SCHEMA_TYPE_UR,
    XML_SCHEMA_TYPE_RESTRICTION,
    XML_SCHEMA_TYPE_EXTENSION,
    XML_SCHEMA_TYPE_ELEMENT,
    XML_SCHEMA_TYPE_ATTRIBUTE,
    XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
    XML_SCHEMA_TYPE_GROUP,
    XML_SCHEMA_TYPE_NOTATION,
    XML_SCHEMA_TYPE_LIST,
    XML_SCHEMA_TYPE_UNION,
    XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
    XML_SCHEMA_TYPE_IDC_UNIQUE,
    XML_SCHEMA_TYPE_IDC_KEY,
    XML_SCHEMA_TYPE_IDC_KEYREF,
    XML_SCHEMA_TYPE_PARTICLE = 25,
    XML_SCHEMA_TYPE_ATTRIBUTE_USE,
    XML_SCHEMA_FACET_MININCLUSIVE = 1000,
    XML_SCHEMA_FACET_MINEXCLUSIVE,
    XML_SCHEMA_FACET_MAXINCLUSIVE,
    XML_SCHEMA_FACET_MAXEXCLUSIVE,
    XML_SCHEMA_FACET_TOTALDIGITS,
    XML_SCHEMA_FACET_FRACTIONDIGITS,
    XML_SCHEMA_FACET_PATTERN,
    XML_SCHEMA_FACET_ENUMERATION,
    XML_SCHEMA_FACET_WHITESPACE,
    XML_SCHEMA_FACET_LENGTH,
    XML_SCHEMA_FACET_MAXLENGTH,
    XML_SCHEMA_FACET_MINLENGTH,
    XML_SCHEMA_EXTRA_QNAMEREF = 2000,
    XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
} xmlSchemaTypeType;

typedef enum {
    XML_SCHEMA_CONTENT_UNKNOWN = 0,
    XML_SCHEMA_CONTENT_EMPTY = 1,
    XML_SCHEMA_CONTENT_ELEMENTS,
    XML_SCHEMA_CONTENT_MIXED,
    XML_SCHEMA_CONTENT_SIMPLE,
    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
    XML_SCHEMA_CONTENT_BASIC,
    XML_SCHEMA_CONTENT_ANY
} xmlSchemaContentType;

typedef struct _xmlSchemaVal xmlSchemaVal;
typedef xmlSchemaVal *xmlSchemaValPtr;

typedef struct _xmlSchemaType xmlSchemaType;
typedef xmlSchemaType *xmlSchemaTypePtr;

typedef struct _xmlSchemaFacet xmlSchemaFacet;
typedef xmlSchemaFacet *xmlSchemaFacetPtr;

/**
 * Annotation
 */
typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
struct _xmlSchemaAnnot {
    struct _xmlSchemaAnnot *next;
    xmlNodePtr content;         /* the annotation */
};

/**
 * XML_SCHEMAS_ANYATTR_SKIP:
 *
 * Skip unknown attribute from validation
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_SKIP        1
/**
 * XML_SCHEMAS_ANYATTR_LAX:
 *
 * Ignore validation non definition on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_LAX                2
/**
 * XML_SCHEMAS_ANYATTR_STRICT:
 *
 * Apply strict validation rules on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_STRICT        3
/**
 * XML_SCHEMAS_ANY_SKIP:
 *
 * Skip unknown attribute from validation
 */
#define XML_SCHEMAS_ANY_SKIP        1
/**
 * XML_SCHEMAS_ANY_LAX:
 *
 * Used by wildcards.
 * Validate if type found, don't worry if not found
 */
#define XML_SCHEMAS_ANY_LAX                2
/**
 * XML_SCHEMAS_ANY_STRICT:
 *
 * Used by wildcards.
 * Apply strict validation rules
 */
#define XML_SCHEMAS_ANY_STRICT        3
/**
 * XML_SCHEMAS_ATTR_USE_PROHIBITED:
 *
 * Used by wildcards.
 * The attribute is prohibited.
 */
#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
/**
 * XML_SCHEMAS_ATTR_USE_REQUIRED:
 *
 * The attribute is required.
 */
#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
/**
 * XML_SCHEMAS_ATTR_USE_OPTIONAL:
 *
 * The attribute is optional.
 */
#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
/**
 * XML_SCHEMAS_ATTR_GLOBAL:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
/**
 * XML_SCHEMAS_ATTR_NSDEFAULT:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
 *
 * this is set when the "type" and "ref" references
 * have been resolved.
 */
#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
/**
 * XML_SCHEMAS_ATTR_FIXED:
 *
 * the attribute has a fixed value
 */
#define XML_SCHEMAS_ATTR_FIXED        1 << 9

/**
 * xmlSchemaAttribute:
 * An attribute definition.
 */

typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
struct _xmlSchemaAttribute {
    xmlSchemaTypeType type;
    struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
    const xmlChar *name; /* the name of the declaration */
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    const xmlChar *typeName; /* the local name of the type definition */
    const xmlChar *typeNs; /* the ns URI of the type definition */
    xmlSchemaAnnotPtr annot;

    xmlSchemaTypePtr base; /* Deprecated; not used */
    int occurs; /* Deprecated; not used */
    const xmlChar *defValue; /* The initial value of the value constraint */
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlNodePtr node;
    const xmlChar *targetNamespace;
    int flags;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value constraint */
    xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
};

/**
 * xmlSchemaAttributeLink:
 * Used to build a list of attribute uses on complexType definitions.
 * WARNING: Deprecated; not used.
 */
typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
struct _xmlSchemaAttributeLink {
    struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
    struct _xmlSchemaAttribute *attr;/* the linked attribute */
};

/**
 * XML_SCHEMAS_WILDCARD_COMPLETE:
 *
 * If the wildcard is complete.
 */
#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0

/**
 * xmlSchemaCharValueLink:
 * Used to build a list of namespaces on wildcards.
 */
typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
struct _xmlSchemaWildcardNs {
    struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
    const xmlChar *value;/* the value */
};

/**
 * xmlSchemaWildcard.
 * A wildcard.
 */
typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
struct _xmlSchemaWildcard {
    xmlSchemaTypeType type;        /* The kind of type */
    const xmlChar *id; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */
    int processContents;
    int any; /* Indicates if the ns constraint is of ##any */
    xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
    xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
    int flags;
};

/**
 * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
 *
 * The attribute wildcard has been built.
 */
#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
/**
 * XML_SCHEMAS_ATTRGROUP_GLOBAL:
 *
 * The attribute group has been defined.
 */
#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
/**
 * XML_SCHEMAS_ATTRGROUP_MARKED:
 *
 * Marks the attr group as marked; used for circular checks.
 */
#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2

/**
 * XML_SCHEMAS_ATTRGROUP_REDEFINED:
 *
 * The attr group was redefined.
 */
#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
/**
 * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
 *
 * Whether this attr. group contains attr. group references.
 */
#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4

/**
 * An attribute group definition.
 *
 * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
 * must be kept similar
 */
typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
struct _xmlSchemaAttributeGroup {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
    const xmlChar *name;
    const xmlChar *id;
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;

    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int flags;
    xmlSchemaWildcardPtr attributeWildcard;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/**
 * xmlSchemaTypeLink:
 * Used to build a list of types (e.g. member types of
 * simpleType with variety "union").
 */
typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
struct _xmlSchemaTypeLink {
    struct _xmlSchemaTypeLink *next;/* the next type link ... */
    xmlSchemaTypePtr type;/* the linked type */
};

/**
 * xmlSchemaFacetLink:
 * Used to build a list of facets.
 */
typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
struct _xmlSchemaFacetLink {
    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
    xmlSchemaFacetPtr facet;/* the linked facet */
};

/**
 * XML_SCHEMAS_TYPE_MIXED:
 *
 * the element content type is mixed
 */
#define XML_SCHEMAS_TYPE_MIXED                1 << 0
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
 *
 * the simple or complex type has a derivation method of "extension".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION                1 << 1
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
 *
 * the simple or complex type has a derivation method of "restriction".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION                1 << 2
/**
 * XML_SCHEMAS_TYPE_GLOBAL:
 *
 * the type is global
 */
#define XML_SCHEMAS_TYPE_GLOBAL                1 << 3
/**
 * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
 *
 * the complexType owns an attribute wildcard, i.e.
 * it can be freed by the complexType
 */
#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4 /* Obsolete. */
/**
 * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
 *
 * the simpleType has a variety of "absent".
 * TODO: Actually not necessary :-/, since if
 * none of the variety flags occur then it's
 * automatically absent.
 */
#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
/**
 * XML_SCHEMAS_TYPE_VARIETY_LIST:
 *
 * the simpleType has a variety of "list".
 */
#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
/**
 * XML_SCHEMAS_TYPE_VARIETY_UNION:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
/**
 * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
/**
 * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
 *
 * the complexType has a final of "extension".
 */
#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
/**
 * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
 *
 * the simpleType/complexType has a final of "restriction".
 */
#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
/**
 * XML_SCHEMAS_TYPE_FINAL_LIST:
 *
 * the simpleType has a final of "list".
 */
#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
/**
 * XML_SCHEMAS_TYPE_FINAL_UNION:
 *
 * the simpleType has a final of "union".
 */
#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
/**
 * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
 *
 * the simpleType has a final of "default".
 */
#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
/**
 * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
 *
 * Marks the item as a builtin primitive.
 */
#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
/**
 * XML_SCHEMAS_TYPE_MARKED:
 *
 * Marks the item as marked; used for circular checks.
 */
#define XML_SCHEMAS_TYPE_MARKED        1 << 16
/**
 * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
 *
 * the complexType did not specify 'block' so use the default of the
 * <schema> item.
 */
#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
/**
 * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
 *
 * the complexType has a 'block' of "extension".
 */
#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
/**
 * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
 *
 * the complexType has a 'block' of "restriction".
 */
#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
/**
 * XML_SCHEMAS_TYPE_ABSTRACT:
 *
 * the simple/complexType is abstract.
 */
#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
/**
 * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
 *
 * indicates if the facets need a computed value
 */
#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE    1 << 21
/**
 * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
 *
 * indicates that the type was typefixed
 */
#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED    1 << 22
/**
 * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
 *
 * indicates that the type is invalid
 */
#define XML_SCHEMAS_TYPE_INTERNAL_INVALID    1 << 23
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
 *
 * a whitespace-facet value of "preserve"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE    1 << 24
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
 *
 * a whitespace-facet value of "replace"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE    1 << 25
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
 *
 * a whitespace-facet value of "collapse"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE    1 << 26
/**
 * XML_SCHEMAS_TYPE_HAS_FACETS:
 *
 * has facets
 */
#define XML_SCHEMAS_TYPE_HAS_FACETS    1 << 27
/**
 * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
 *
 * indicates if the facets (pattern) need a normalized value
 */
#define XML_SCHEMAS_TYPE_NORMVALUENEEDED    1 << 28

/**
 * XML_SCHEMAS_TYPE_FIXUP_1:
 *
 * First stage of fixup was done.
 */
#define XML_SCHEMAS_TYPE_FIXUP_1    1 << 29

/**
 * XML_SCHEMAS_TYPE_REDEFINED:
 *
 * The type was redefined.
 */
#define XML_SCHEMAS_TYPE_REDEFINED    1 << 30
/**
 * XML_SCHEMAS_TYPE_REDEFINING:
 *
 * The type redefines an other type.
 */
/* #define XML_SCHEMAS_TYPE_REDEFINING    1 << 31 */

/**
 * _xmlSchemaType:
 *
 * Schemas type definition.
 */
struct _xmlSchemaType {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* the next type if in a sequence ... */
    const xmlChar *name;
    const xmlChar *id ; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes;
    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    xmlSchemaContentType contentType;
    const xmlChar *base; /* Base type's local name */
    const xmlChar *baseNs; /* Base type's target namespace */
    xmlSchemaTypePtr baseType; /* The base type component */
    xmlSchemaFacetPtr facets; /* Local facets */
    struct _xmlSchemaType *redef; /* Deprecated; not used */
    int recurse; /* Obsolete */
    xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
    xmlSchemaWildcardPtr attributeWildcard;
    int builtInType; /* Type of built-in types. */
    xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
    xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
                                        Could we use @subtypes for this? */
    xmlRegexpPtr contModel; /* Holds the automaton of the content model */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/*
 * xmlSchemaElement:
 * An element definition.
 *
 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
 * structures must be kept similar
 */
/**
 * XML_SCHEMAS_ELEM_NILLABLE:
 *
 * the element is nillable
 */
#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
/**
 * XML_SCHEMAS_ELEM_GLOBAL:
 *
 * the element is global
 */
#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
/**
 * XML_SCHEMAS_ELEM_DEFAULT:
 *
 * the element has a default value
 */
#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
/**
 * XML_SCHEMAS_ELEM_FIXED:
 *
 * the element has a fixed value
 */
#define XML_SCHEMAS_ELEM_FIXED                1 << 3
/**
 * XML_SCHEMAS_ELEM_ABSTRACT:
 *
 * the element is abstract
 */
#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
/**
 * XML_SCHEMAS_ELEM_TOPLEVEL:
 *
 * the element is top level
 * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
 */
#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
/**
 * XML_SCHEMAS_ELEM_REF:
 *
 * the element is a reference to a type
 */
#define XML_SCHEMAS_ELEM_REF                1 << 6
/**
 * XML_SCHEMAS_ELEM_NSDEFAULT:
 *
 * allow elements in no namespace
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
 *
 * this is set when "type", "ref", "substitutionGroup"
 * references have been resolved.
 */
#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
 /**
 * XML_SCHEMAS_ELEM_CIRCULAR:
 *
 * a helper flag for the search of circular references.
 */
#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
/**
 * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
 *
 * the "block" attribute is absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
/**
 * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
 *
 * disallowed substitutions are absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
/**
 * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
 *
 * disallowed substitutions: "restriction"
 */
#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
/**
 * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
 *
 * disallowed substitutions: "substitution"
 */
#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
/**
 * XML_SCHEMAS_ELEM_FINAL_ABSENT:
 *
 * substitution group exclusions are absent
 */
#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
/**
 * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
 *
 * substitution group exclusions: "extension"
 */
#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
/**
 * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
 *
 * substitution group exclusions: "restriction"
 */
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
/**
 * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
 *
 * the declaration is a substitution group head
 */
#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD        1 << 17
/**
 * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
 *
 * this is set when the elem decl has been checked against
 * all constraints
 */
#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED        1 << 18

typedef struct _xmlSchemaElement xmlSchemaElement;
typedef xmlSchemaElement *xmlSchemaElementPtr;
struct _xmlSchemaElement {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* Not used? */
    const xmlChar *name;
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlSchemaAttributePtr attributes;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    const xmlChar *targetNamespace;
    const xmlChar *namedType;
    const xmlChar *namedTypeNs;
    const xmlChar *substGroup;
    const xmlChar *substGroupNs;
    const xmlChar *scope;
    const xmlChar *value; /* The original value of the value constraint. */
    struct _xmlSchemaElement *refDecl; /* This will now be used for the
                                          substitution group affiliation */
    xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
    xmlSchemaContentType contentType;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value constraint. */
    void *idcs; /* The identity-constraint defs */
};

/*
 * XML_SCHEMAS_FACET_UNKNOWN:
 *
 * unknown facet handling
 */
#define XML_SCHEMAS_FACET_UNKNOWN        0
/*
 * XML_SCHEMAS_FACET_PRESERVE:
 *
 * preserve the type of the facet
 */
#define XML_SCHEMAS_FACET_PRESERVE        1
/*
 * XML_SCHEMAS_FACET_REPLACE:
 *
 * replace the type of the facet
 */
#define XML_SCHEMAS_FACET_REPLACE        2
/*
 * XML_SCHEMAS_FACET_COLLAPSE:
 *
 * collapse the types of the facet
 */
#define XML_SCHEMAS_FACET_COLLAPSE        3
/**
 * A facet definition.
 */
struct _xmlSchemaFacet {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
    const xmlChar *value; /* The original value */
    const xmlChar *id; /* Obsolete */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
    int whitespace;
    xmlSchemaValPtr val; /* The compiled value */
    xmlRegexpPtr    regexp; /* The regex for patterns */
};

/**
 * A notation definition.
 */
typedef struct _xmlSchemaNotation xmlSchemaNotation;
typedef xmlSchemaNotation *xmlSchemaNotationPtr;
struct _xmlSchemaNotation {
    xmlSchemaTypeType type; /* The kind of type */
    const xmlChar *name;
    xmlSchemaAnnotPtr annot;
    const xmlChar *identifier;
    const xmlChar *targetNamespace;
};

/*
* TODO: Actually all those flags used for the schema should sit
* on the schema parser context, since they are used only
* during parsing an XML schema document, and not available
* on the component level as per spec.
*/
/**
 * XML_SCHEMAS_QUALIF_ELEM:
 *
 * Reflects elementFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
/**
 * XML_SCHEMAS_QUALIF_ATTR:
 *
 * Reflects attributeFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
/**
 * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
/**
 * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
/**
 * XML_SCHEMAS_FINAL_DEFAULT_LIST:
 *
 * the schema has "list" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
/**
 * XML_SCHEMAS_FINAL_DEFAULT_UNION:
 *
 * the schema has "union" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
 *
 * the schema has "substitution" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
/**
 * XML_SCHEMAS_INCLUDING_CONVERT_NS:
 *
 * the schema is currently including an other schema with
 * no target namespace.
 */
#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
/**
 * _xmlSchema:
 *
 * A Schemas definition
 */
struct _xmlSchema {
    const xmlChar *name; /* schema name */
    const xmlChar *targetNamespace; /* the target namespace */
    const xmlChar *version;
    const xmlChar *id; /* Obsolete */
    xmlDocPtr doc;
    xmlSchemaAnnotPtr annot;
    int flags;

    xmlHashTablePtr typeDecl;
    xmlHashTablePtr attrDecl;
    xmlHashTablePtr attrgrpDecl;
    xmlHashTablePtr elemDecl;
    xmlHashTablePtr notaDecl;

    xmlHashTablePtr schemasImports;

    void *_private;        /* unused by the library for users or bindings */
    xmlHashTablePtr groupDecl;
    xmlDictPtr      dict;
    void *includes;     /* the includes, this is opaque for now */
    int preserve;        /* whether to free the document */
    int counter; /* used to give anonymous components unique names */
    xmlHashTablePtr idcDef; /* All identity-constraint defs. */
    void *volatiles; /* Obsolete */
};

XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_INTERNALS_H__ */
PKi�Z�Q����%usr/include/libxml2/libxml/xpointer.hnu�[���/*
 * Summary: API to handle XML Pointers
 * Description: API to handle XML Pointers
 * Base implementation was made accordingly to
 * W3C Candidate Recommendation 7 June 2000
 * http://www.w3.org/TR/2000/CR-xptr-20000607
 *
 * Added support for the element() scheme described in:
 * W3C Proposed Recommendation 13 November 2002
 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPTR_H__
#define __XML_XPTR_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPTR_ENABLED

#include <libxml/tree.h>
#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifdef LIBXML_XPTR_LOCS_ENABLED
/*
 * A Location Set
 */
typedef struct _xmlLocationSet xmlLocationSet;
typedef xmlLocationSet *xmlLocationSetPtr;
struct _xmlLocationSet {
    int locNr;		      /* number of locations in the set */
    int locMax;		      /* size of the array as allocated */
    xmlXPathObjectPtr *locTab;/* array of locations */
};

/*
 * Handling of location sets.
 */

XML_DEPRECATED
XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj);
XML_DEPRECATED
XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1,
						 xmlLocationSetPtr val2);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRange		(xmlNodePtr start,
						 int startindex,
						 xmlNodePtr end,
						 int endindex);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePoints	(xmlXPathObjectPtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodePoint	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodeObject	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewCollapsedRange	(xmlNodePtr start);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrWrapLocationSet	(xmlLocationSetPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetDel	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur,
						 int val);
#endif /* LIBXML_XPTR_LOCS_ENABLED */

/*
 * Functions.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPtrNewContext		(xmlDocPtr doc,
						 xmlNodePtr here,
						 xmlNodePtr origin);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrEval			(const xmlChar *str,
						 xmlXPathContextPtr ctx);
#ifdef LIBXML_XPTR_LOCS_ENABLED
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt,
						 int nargs);
XML_DEPRECATED
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj);
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt);
#endif /* LIBXML_XPTR_LOCS_ENABLED */
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */
#endif /* __XML_XPTR_H__ */
PKi�Z���{A{A"usr/include/libxml2/libxml/xpath.hnu�[���/*
 * Summary: XML Path Language implementation
 * Description: API for the XML Path Language implementation
 *
 * XML Path Language implementation
 * XPath is a language for addressing parts of an XML document,
 * designed to be used by both XSLT and XPointer
 *     http://www.w3.org/TR/xpath
 *
 * Implements
 * W3C Recommendation 16 November 1999
 *     http://www.w3.org/TR/1999/REC-xpath-19991116
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_H__
#define __XML_XPATH_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPATH_ENABLED

#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/hash.h>
#endif /* LIBXML_XPATH_ENABLED */

#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
#ifdef __cplusplus
extern "C" {
#endif
#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */

#ifdef LIBXML_XPATH_ENABLED

typedef struct _xmlXPathContext xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;

/**
 * The set of XPath error codes.
 */

typedef enum {
    XPATH_EXPRESSION_OK = 0,
    XPATH_NUMBER_ERROR,
    XPATH_UNFINISHED_LITERAL_ERROR,
    XPATH_START_LITERAL_ERROR,
    XPATH_VARIABLE_REF_ERROR,
    XPATH_UNDEF_VARIABLE_ERROR,
    XPATH_INVALID_PREDICATE_ERROR,
    XPATH_EXPR_ERROR,
    XPATH_UNCLOSED_ERROR,
    XPATH_UNKNOWN_FUNC_ERROR,
    XPATH_INVALID_OPERAND,
    XPATH_INVALID_TYPE,
    XPATH_INVALID_ARITY,
    XPATH_INVALID_CTXT_SIZE,
    XPATH_INVALID_CTXT_POSITION,
    XPATH_MEMORY_ERROR,
    XPTR_SYNTAX_ERROR,
    XPTR_RESOURCE_ERROR,
    XPTR_SUB_RESOURCE_ERROR,
    XPATH_UNDEF_PREFIX_ERROR,
    XPATH_ENCODING_ERROR,
    XPATH_INVALID_CHAR_ERROR,
    XPATH_INVALID_CTXT,
    XPATH_STACK_ERROR,
    XPATH_FORBID_VARIABLE_ERROR,
    XPATH_OP_LIMIT_EXCEEDED,
    XPATH_RECURSION_LIMIT_EXCEEDED
} xmlXPathError;

/*
 * A node-set (an unordered collection of nodes without duplicates).
 */
typedef struct _xmlNodeSet xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
struct _xmlNodeSet {
    int nodeNr;			/* number of nodes in the set */
    int nodeMax;		/* size of the array as allocated */
    xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
    /* @@ with_ns to check whether namespace nodes should be looked at @@ */
};

/*
 * An expression is evaluated to yield an object, which
 * has one of the following four basic types:
 *   - node-set
 *   - boolean
 *   - number
 *   - string
 *
 * @@ XPointer will add more types !
 */

typedef enum {
    XPATH_UNDEFINED = 0,
    XPATH_NODESET = 1,
    XPATH_BOOLEAN = 2,
    XPATH_NUMBER = 3,
    XPATH_STRING = 4,
#ifdef LIBXML_XPTR_LOCS_ENABLED
    XPATH_POINT = 5,
    XPATH_RANGE = 6,
    XPATH_LOCATIONSET = 7,
#endif
    XPATH_USERS = 8,
    XPATH_XSLT_TREE = 9  /* An XSLT value tree, non modifiable */
} xmlXPathObjectType;

#ifndef LIBXML_XPTR_LOCS_ENABLED
/** DOC_DISABLE */
#define XPATH_POINT 5
#define XPATH_RANGE 6
#define XPATH_LOCATIONSET 7
/** DOC_ENABLE */
#endif

typedef struct _xmlXPathObject xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
struct _xmlXPathObject {
    xmlXPathObjectType type;
    xmlNodeSetPtr nodesetval;
    int boolval;
    double floatval;
    xmlChar *stringval;
    void *user;
    int index;
    void *user2;
    int index2;
};

/**
 * xmlXPathConvertFunc:
 * @obj:  an XPath object
 * @type:  the number of the target type
 *
 * A conversion function is associated to a type and used to cast
 * the new type to primitive values.
 *
 * Returns -1 in case of error, 0 otherwise
 */
typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type);

/*
 * Extra type: a name and a conversion function.
 */

typedef struct _xmlXPathType xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
struct _xmlXPathType {
    const xmlChar         *name;		/* the type name */
    xmlXPathConvertFunc func;		/* the conversion function */
};

/*
 * Extra variable: a name and a value.
 */

typedef struct _xmlXPathVariable xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
struct _xmlXPathVariable {
    const xmlChar       *name;		/* the variable name */
    xmlXPathObjectPtr value;		/* the value */
};

/**
 * xmlXPathEvalFunc:
 * @ctxt: an XPath parser context
 * @nargs: the number of arguments passed to the function
 *
 * An XPath evaluation function, the parameters are on the XPath context stack.
 */

typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt,
	                         int nargs);

/*
 * Extra function: a name and a evaluation function.
 */

typedef struct _xmlXPathFunct xmlXPathFunct;
typedef xmlXPathFunct *xmlXPathFuncPtr;
struct _xmlXPathFunct {
    const xmlChar      *name;		/* the function name */
    xmlXPathEvalFunc func;		/* the evaluation function */
};

/**
 * xmlXPathAxisFunc:
 * @ctxt:  the XPath interpreter context
 * @cur:  the previous node being explored on that axis
 *
 * An axis traversal function. To traverse an axis, the engine calls
 * the first time with cur == NULL and repeat until the function returns
 * NULL indicating the end of the axis traversal.
 *
 * Returns the next node in that axis or NULL if at the end of the axis.
 */

typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt,
				 xmlXPathObjectPtr cur);

/*
 * Extra axis: a name and an axis function.
 */

typedef struct _xmlXPathAxis xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
struct _xmlXPathAxis {
    const xmlChar      *name;		/* the axis name */
    xmlXPathAxisFunc func;		/* the search function */
};

/**
 * xmlXPathFunction:
 * @ctxt:  the XPath interprestation context
 * @nargs:  the number of arguments
 *
 * An XPath function.
 * The arguments (if any) are popped out from the context stack
 * and the result is pushed on the stack.
 */

typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);

/*
 * Function and Variable Lookup.
 */

/**
 * xmlXPathVariableLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the variable
 * @ns_uri:  the namespace name hosting this variable
 *
 * Prototype for callbacks used to plug variable lookup in the XPath
 * engine.
 *
 * Returns the XPath object value or NULL if not found.
 */
typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
                                         const xmlChar *name,
                                         const xmlChar *ns_uri);

/**
 * xmlXPathFuncLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the function
 * @ns_uri:  the namespace name hosting this function
 *
 * Prototype for callbacks used to plug function lookup in the XPath
 * engine.
 *
 * Returns the XPath function or NULL if not found.
 */
typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
					 const xmlChar *name,
					 const xmlChar *ns_uri);

/**
 * xmlXPathFlags:
 * Flags for XPath engine compilation and runtime
 */
/**
 * XML_XPATH_CHECKNS:
 *
 * check namespaces at compilation
 */
#define XML_XPATH_CHECKNS (1<<0)
/**
 * XML_XPATH_NOVAR:
 *
 * forbid variables in expression
 */
#define XML_XPATH_NOVAR	  (1<<1)

/**
 * xmlXPathContext:
 *
 * Expression evaluation occurs with respect to a context.
 * he context consists of:
 *    - a node (the context node)
 *    - a node list (the context node list)
 *    - a set of variable bindings
 *    - a function library
 *    - the set of namespace declarations in scope for the expression
 * Following the switch to hash tables, this need to be trimmed up at
 * the next binary incompatible release.
 * The node may be modified when the context is passed to libxml2
 * for an XPath evaluation so you may need to initialize it again
 * before the next call.
 */

struct _xmlXPathContext {
    xmlDocPtr doc;			/* The current document */
    xmlNodePtr node;			/* The current node */

    int nb_variables_unused;		/* unused (hash table) */
    int max_variables_unused;		/* unused (hash table) */
    xmlHashTablePtr varHash;		/* Hash table of defined variables */

    int nb_types;			/* number of defined types */
    int max_types;			/* max number of types */
    xmlXPathTypePtr types;		/* Array of defined types */

    int nb_funcs_unused;		/* unused (hash table) */
    int max_funcs_unused;		/* unused (hash table) */
    xmlHashTablePtr funcHash;		/* Hash table of defined funcs */

    int nb_axis;			/* number of defined axis */
    int max_axis;			/* max number of axis */
    xmlXPathAxisPtr axis;		/* Array of defined axis */

    /* the namespace nodes of the context node */
    xmlNsPtr *namespaces;		/* Array of namespaces */
    int nsNr;				/* number of namespace in scope */
    void *user;				/* function to free */

    /* extra variables */
    int contextSize;			/* the context size */
    int proximityPosition;		/* the proximity position */

    /* extra stuff for XPointer */
    int xptr;				/* is this an XPointer context? */
    xmlNodePtr here;			/* for here() */
    xmlNodePtr origin;			/* for origin() */

    /* the set of namespace declarations in scope for the expression */
    xmlHashTablePtr nsHash;		/* The namespaces hash table */
    xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */
    void *varLookupData;		/* variable lookup data */

    /* Possibility to link in an extra item */
    void *extra;                        /* needed for XSLT */

    /* The function name and URI when calling a function */
    const xmlChar *function;
    const xmlChar *functionURI;

    /* function lookup function and data */
    xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */
    void *funcLookupData;		/* function lookup data */

    /* temporary namespace lists kept for walking the namespace axis */
    xmlNsPtr *tmpNsList;		/* Array of namespaces */
    int tmpNsNr;			/* number of namespaces in scope */

    /* error reporting mechanism */
    void *userData;                     /* user specific data block */
    xmlStructuredErrorFunc error;       /* the callback in case of errors */
    xmlError lastError;			/* the last error */
    xmlNodePtr debugNode;		/* the source node XSLT */

    /* dictionary */
    xmlDictPtr dict;			/* dictionary if any */

    int flags;				/* flags to control compilation */

    /* Cache for reusal of XPath objects */
    void *cache;

    /* Resource limits */
    unsigned long opLimit;
    unsigned long opCount;
    int depth;
};

/*
 * The structure of a compiled expression form is not public.
 */

typedef struct _xmlXPathCompExpr xmlXPathCompExpr;
typedef xmlXPathCompExpr *xmlXPathCompExprPtr;

/**
 * xmlXPathParserContext:
 *
 * An XPath parser context. It contains pure parsing information,
 * an xmlXPathContext, and the stack of objects.
 */
struct _xmlXPathParserContext {
    const xmlChar *cur;			/* the current char being parsed */
    const xmlChar *base;			/* the full expression */

    int error;				/* error code */

    xmlXPathContextPtr  context;	/* the evaluation context */
    xmlXPathObjectPtr     value;	/* the current value */
    int                 valueNr;	/* number of values stacked */
    int                valueMax;	/* max number of values stacked */
    xmlXPathObjectPtr *valueTab;	/* stack of values */

    xmlXPathCompExprPtr comp;		/* the precompiled expression */
    int xptr;				/* it this an XPointer expression */
    xmlNodePtr         ancestor;	/* used for walking preceding axis */

    int              valueFrame;        /* used to limit Pop on the stack */
};

/************************************************************************
 *									*
 *			Public API					*
 *									*
 ************************************************************************/

/**
 * Objects and Nodesets handling
 */

XMLPUBVAR double xmlXPathNAN;
XMLPUBVAR double xmlXPathPINF;
XMLPUBVAR double xmlXPathNINF;

/* These macros may later turn into functions */
/**
 * xmlXPathNodeSetGetLength:
 * @ns:  a node-set
 *
 * Implement a functionality similar to the DOM NodeList.length.
 *
 * Returns the number of nodes in the node-set.
 */
#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0)
/**
 * xmlXPathNodeSetItem:
 * @ns:  a node-set
 * @index:  index of a node in the set
 *
 * Implements a functionality similar to the DOM NodeList.item().
 *
 * Returns the xmlNodePtr at the given @index in @ns or NULL if
 *         @index is out of range (0 to length-1)
 */
#define xmlXPathNodeSetItem(ns, index)				\
		((((ns) != NULL) &&				\
		  ((index) >= 0) && ((index) < (ns)->nodeNr)) ?	\
		 (ns)->nodeTab[(index)]				\
		 : NULL)
/**
 * xmlXPathNodeSetIsEmpty:
 * @ns: a node-set
 *
 * Checks whether @ns is empty or not.
 *
 * Returns %TRUE if @ns is an empty node-set.
 */
#define xmlXPathNodeSetIsEmpty(ns)                                      \
    (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))


XMLPUBFUN void XMLCALL
		    xmlXPathFreeObject		(xmlXPathObjectPtr obj);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		    xmlXPathNodeSetCreate	(xmlNodePtr val);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSetList	(xmlXPathObjectPtr obj);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSet		(xmlNodeSetPtr obj);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathObjectCopy		(xmlXPathObjectPtr val);
XMLPUBFUN int XMLCALL
		    xmlXPathCmpNodes		(xmlNodePtr node1,
						 xmlNodePtr node2);
/**
 * Conversion functions to basic types.
 */
XMLPUBFUN int XMLCALL
		    xmlXPathCastNumberToBoolean	(double val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastStringToBoolean	(const xmlChar * val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
XMLPUBFUN int XMLCALL
		    xmlXPathCastToBoolean	(xmlXPathObjectPtr val);

XMLPUBFUN double XMLCALL
		    xmlXPathCastBooleanToNumber	(int val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastStringToNumber	(const xmlChar * val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeToNumber	(xmlNodePtr node);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns);
XMLPUBFUN double XMLCALL
		    xmlXPathCastToNumber	(xmlXPathObjectPtr val);

XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastBooleanToString	(int val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNumberToString	(double val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeToString	(xmlNodePtr node);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastToString	(xmlXPathObjectPtr val);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertBoolean	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertNumber	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertString	(xmlXPathObjectPtr val);

/**
 * Context handling.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPathNewContext		(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeContext		(xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
				            int active,
					    int value,
					    int options);
/**
 * Evaluation functions.
 */
XMLPUBFUN long XMLCALL
		    xmlXPathOrderDocElems	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		    xmlXPathSetContextNode	(xmlNodePtr node,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathNodeEval		(xmlNodePtr node,
						 const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEval		(const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEvalExpression	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathEvalPredicate	(xmlXPathContextPtr ctxt,
						 xmlXPathObjectPtr res);
/**
 * Separate compilation/evaluation entry points.
 */
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCompile		(const xmlChar *str);
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCtxtCompile		(xmlXPathContextPtr ctxt,
						 const xmlChar *str);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathCompiledEval	(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctx);
XMLPUBFUN int XMLCALL
		    xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeCompExpr	(xmlXPathCompExprPtr comp);
#endif /* LIBXML_XPATH_ENABLED */
#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XML_DEPRECATED
XMLPUBFUN void XMLCALL
		    xmlXPathInit		(void);
XMLPUBFUN int XMLCALL
		xmlXPathIsNaN	(double val);
XMLPUBFUN int XMLCALL
		xmlXPathIsInf	(double val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/
#endif /* ! __XML_XPATH_H__ */
PKi�Z
x9�� � 'usr/include/libxml2/libxml/xmlversion.hnu�[���/*
 * Summary: compile-time version information
 * Description: compile-time version information for the XML library
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_VERSION_H__
#define __XML_VERSION_H__

#include <libxml/xmlexports.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * use those to be sure nothing nasty will happen if
 * your library and includes mismatch
 */
#ifndef LIBXML2_COMPILING_MSCCDEF
XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif /* LIBXML2_COMPILING_MSCCDEF */

/**
 * LIBXML_DOTTED_VERSION:
 *
 * the version string like "1.2.3"
 */
#define LIBXML_DOTTED_VERSION "2.10.2"

/**
 * LIBXML_VERSION:
 *
 * the version number: 1.2.3 value is 10203
 */
#define LIBXML_VERSION 21002

/**
 * LIBXML_VERSION_STRING:
 *
 * the version number string, 1.2.3 value is "10203"
 */
#define LIBXML_VERSION_STRING "21002"

/**
 * LIBXML_VERSION_EXTRA:
 *
 * extra version information, used to show a git commit description
 */
#define LIBXML_VERSION_EXTRA ""

/**
 * LIBXML_TEST_VERSION:
 *
 * Macro to check that the libxml version in use is compatible with
 * the version the software has been compiled against
 */
#define LIBXML_TEST_VERSION xmlCheckVersion(21002);

#ifndef VMS
#if 0
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO
#else
/**
 * WITHOUT_TRIO:
 *
 * defined if the trio support should not be configured in
 */
#define WITHOUT_TRIO
#endif
#else /* VMS */
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO 1
#endif /* VMS */

/**
 * LIBXML_THREAD_ENABLED:
 *
 * Whether the thread support is configured in
 */
#if 1
#define LIBXML_THREAD_ENABLED
#endif

/**
 * LIBXML_THREAD_ALLOC_ENABLED:
 *
 * Whether the allocation hooks are per-thread
 */
#if 0
#define LIBXML_THREAD_ALLOC_ENABLED
#endif

/**
 * LIBXML_TREE_ENABLED:
 *
 * Whether the DOM like tree manipulation API support is configured in
 */
#if 1
#define LIBXML_TREE_ENABLED
#endif

/**
 * LIBXML_OUTPUT_ENABLED:
 *
 * Whether the serialization/saving support is configured in
 */
#if 1
#define LIBXML_OUTPUT_ENABLED
#endif

/**
 * LIBXML_PUSH_ENABLED:
 *
 * Whether the push parsing interfaces are configured in
 */
#if 1
#define LIBXML_PUSH_ENABLED
#endif

/**
 * LIBXML_READER_ENABLED:
 *
 * Whether the xmlReader parsing interface is configured in
 */
#if 1
#define LIBXML_READER_ENABLED
#endif

/**
 * LIBXML_PATTERN_ENABLED:
 *
 * Whether the xmlPattern node selection interface is configured in
 */
#if 1
#define LIBXML_PATTERN_ENABLED
#endif

/**
 * LIBXML_WRITER_ENABLED:
 *
 * Whether the xmlWriter saving interface is configured in
 */
#if 1
#define LIBXML_WRITER_ENABLED
#endif

/**
 * LIBXML_SAX1_ENABLED:
 *
 * Whether the older SAX1 interface is configured in
 */
#if 1
#define LIBXML_SAX1_ENABLED
#endif

/**
 * LIBXML_FTP_ENABLED:
 *
 * Whether the FTP support is configured in
 */
#if 1
#define LIBXML_FTP_ENABLED
#endif

/**
 * LIBXML_HTTP_ENABLED:
 *
 * Whether the HTTP support is configured in
 */
#if 1
#define LIBXML_HTTP_ENABLED
#endif

/**
 * LIBXML_VALID_ENABLED:
 *
 * Whether the DTD validation support is configured in
 */
#if 1
#define LIBXML_VALID_ENABLED
#endif

/**
 * LIBXML_HTML_ENABLED:
 *
 * Whether the HTML support is configured in
 */
#if 1
#define LIBXML_HTML_ENABLED
#endif

/**
 * LIBXML_LEGACY_ENABLED:
 *
 * Whether the deprecated APIs are compiled in for compatibility
 */
#if 0
#define LIBXML_LEGACY_ENABLED
#endif

/**
 * LIBXML_C14N_ENABLED:
 *
 * Whether the Canonicalization support is configured in
 */
#if 1
#define LIBXML_C14N_ENABLED
#endif

/**
 * LIBXML_CATALOG_ENABLED:
 *
 * Whether the Catalog support is configured in
 */
#if 1
#define LIBXML_CATALOG_ENABLED
#endif

/**
 * LIBXML_XPATH_ENABLED:
 *
 * Whether XPath is configured in
 */
#if 1
#define LIBXML_XPATH_ENABLED
#endif

/**
 * LIBXML_XPTR_ENABLED:
 *
 * Whether XPointer is configured in
 */
#if 1
#define LIBXML_XPTR_ENABLED
#endif

/**
 * LIBXML_XPTR_LOCS_ENABLED:
 *
 * Whether support for XPointer locations is configured in
 */
#if 0
#define LIBXML_XPTR_LOCS_ENABLED
#endif

/**
 * LIBXML_XINCLUDE_ENABLED:
 *
 * Whether XInclude is configured in
 */
#if 1
#define LIBXML_XINCLUDE_ENABLED
#endif

/**
 * LIBXML_ICONV_ENABLED:
 *
 * Whether iconv support is available
 */
#if 1
#define LIBXML_ICONV_ENABLED
#endif

/**
 * LIBXML_ICU_ENABLED:
 *
 * Whether icu support is available
 */
#if 0
#define LIBXML_ICU_ENABLED
#endif

/**
 * LIBXML_ISO8859X_ENABLED:
 *
 * Whether ISO-8859-* support is made available in case iconv is not
 */
#if 1
#define LIBXML_ISO8859X_ENABLED
#endif

/**
 * LIBXML_DEBUG_ENABLED:
 *
 * Whether Debugging module is configured in
 */
#if 1
#define LIBXML_DEBUG_ENABLED
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * Whether the memory debugging is configured in
 */
#if 0
#define DEBUG_MEMORY_LOCATION
#endif

/**
 * LIBXML_DEBUG_RUNTIME:
 *
 * Whether the runtime debugging is configured in
 */
#if 0
#define LIBXML_DEBUG_RUNTIME
#endif

/**
 * LIBXML_UNICODE_ENABLED:
 *
 * Whether the Unicode related interfaces are compiled in
 */
#if 1
#define LIBXML_UNICODE_ENABLED
#endif

/**
 * LIBXML_REGEXP_ENABLED:
 *
 * Whether the regular expressions interfaces are compiled in
 */
#if 1
#define LIBXML_REGEXP_ENABLED
#endif

/**
 * LIBXML_AUTOMATA_ENABLED:
 *
 * Whether the automata interfaces are compiled in
 */
#if 1
#define LIBXML_AUTOMATA_ENABLED
#endif

/**
 * LIBXML_EXPR_ENABLED:
 *
 * Whether the formal expressions interfaces are compiled in
 *
 * This code is unused and disabled unconditionally for now.
 */
#if 0
#define LIBXML_EXPR_ENABLED
#endif

/**
 * LIBXML_SCHEMAS_ENABLED:
 *
 * Whether the Schemas validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMAS_ENABLED
#endif

/**
 * LIBXML_SCHEMATRON_ENABLED:
 *
 * Whether the Schematron validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMATRON_ENABLED
#endif

/**
 * LIBXML_MODULES_ENABLED:
 *
 * Whether the module interfaces are compiled in
 */
#if 1
#define LIBXML_MODULES_ENABLED
/**
 * LIBXML_MODULE_EXTENSION:
 *
 * the string suffix used by dynamic modules (usually shared libraries)
 */
#define LIBXML_MODULE_EXTENSION ".so" 
#endif

/**
 * LIBXML_ZLIB_ENABLED:
 *
 * Whether the Zlib support is compiled in
 */
#if 1
#define LIBXML_ZLIB_ENABLED
#endif

/**
 * LIBXML_LZMA_ENABLED:
 *
 * Whether the Lzma support is compiled in
 */
#if 1
#define LIBXML_LZMA_ENABLED
#endif

#ifdef __GNUC__

/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */

#ifndef ATTRIBUTE_UNUSED
# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
#  define ATTRIBUTE_UNUSED __attribute__((unused))
# else
#  define ATTRIBUTE_UNUSED
# endif
#endif

/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */

#ifndef LIBXML_ATTR_ALLOC_SIZE
# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
#  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
# else
#  define LIBXML_ATTR_ALLOC_SIZE(x)
# endif
#else
# define LIBXML_ATTR_ALLOC_SIZE(x)
#endif

/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */

#ifndef LIBXML_ATTR_FORMAT
# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
#  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
# else
#  define LIBXML_ATTR_FORMAT(fmt,args)
# endif
#else
# define LIBXML_ATTR_FORMAT(fmt,args)
#endif

#ifndef XML_DEPRECATED
#  ifdef IN_LIBXML
#    define XML_DEPRECATED
#  else
/* Available since at least GCC 3.1 */
#    define XML_DEPRECATED __attribute__((deprecated))
#  endif
#endif

#else /* ! __GNUC__ */
/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */
#define ATTRIBUTE_UNUSED
/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */
#define LIBXML_ATTR_ALLOC_SIZE(x)
/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */
#define LIBXML_ATTR_FORMAT(fmt,args)
/**
 * XML_DEPRECATED:
 *
 * Macro used to indicate that a function, variable, type or struct member
 * is deprecated.
 */
#ifndef XML_DEPRECATED
#define XML_DEPRECATED
#endif
#endif /* __GNUC__ */

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif


PKi�Z�m��*�*�%usr/include/libxml2/libxml/xmlerror.hnu�[���/*
 * Summary: error handling
 * Description: the API used to report errors
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#include <libxml/parser.h>

#ifndef __XML_ERROR_H__
#define __XML_ERROR_H__

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlErrorLevel:
 *
 * Indicates the level of an error
 */
typedef enum {
    XML_ERR_NONE = 0,
    XML_ERR_WARNING = 1,	/* A simple warning */
    XML_ERR_ERROR = 2,		/* A recoverable error */
    XML_ERR_FATAL = 3		/* A fatal error */
} xmlErrorLevel;

/**
 * xmlErrorDomain:
 *
 * Indicates where an error may have come from
 */
typedef enum {
    XML_FROM_NONE = 0,
    XML_FROM_PARSER,	/* The XML parser */
    XML_FROM_TREE,	/* The tree module */
    XML_FROM_NAMESPACE,	/* The XML Namespace module */
    XML_FROM_DTD,	/* The XML DTD validation with parser context*/
    XML_FROM_HTML,	/* The HTML parser */
    XML_FROM_MEMORY,	/* The memory allocator */
    XML_FROM_OUTPUT,	/* The serialization code */
    XML_FROM_IO,	/* The Input/Output stack */
    XML_FROM_FTP,	/* The FTP module */
    XML_FROM_HTTP,	/* The HTTP module */
    XML_FROM_XINCLUDE,	/* The XInclude processing */
    XML_FROM_XPATH,	/* The XPath module */
    XML_FROM_XPOINTER,	/* The XPointer module */
    XML_FROM_REGEXP,	/* The regular expressions module */
    XML_FROM_DATATYPE,	/* The W3C XML Schemas Datatype module */
    XML_FROM_SCHEMASP,	/* The W3C XML Schemas parser module */
    XML_FROM_SCHEMASV,	/* The W3C XML Schemas validation module */
    XML_FROM_RELAXNGP,	/* The Relax-NG parser module */
    XML_FROM_RELAXNGV,	/* The Relax-NG validator module */
    XML_FROM_CATALOG,	/* The Catalog module */
    XML_FROM_C14N,	/* The Canonicalization module */
    XML_FROM_XSLT,	/* The XSLT engine from libxslt */
    XML_FROM_VALID,	/* The XML DTD validation with valid context */
    XML_FROM_CHECK,	/* The error checking module */
    XML_FROM_WRITER,	/* The xmlwriter module */
    XML_FROM_MODULE,	/* The dynamically loaded module module*/
    XML_FROM_I18N,	/* The module handling character conversion */
    XML_FROM_SCHEMATRONV,/* The Schematron validator module */
    XML_FROM_BUFFER,    /* The buffers module */
    XML_FROM_URI        /* The URI module */
} xmlErrorDomain;

/**
 * xmlError:
 *
 * An XML Error instance.
 */

typedef struct _xmlError xmlError;
typedef xmlError *xmlErrorPtr;
struct _xmlError {
    int		domain;	/* What part of the library raised this error */
    int		code;	/* The error code, e.g. an xmlParserError */
    char       *message;/* human-readable informative error message */
    xmlErrorLevel level;/* how consequent is the error */
    char       *file;	/* the filename */
    int		line;	/* the line number if available */
    char       *str1;	/* extra string information */
    char       *str2;	/* extra string information */
    char       *str3;	/* extra string information */
    int		int1;	/* extra number information */
    int		int2;	/* error column # or 0 if N/A (todo: rename field when we would brk ABI) */
    void       *ctxt;   /* the parser context if available */
    void       *node;   /* the node in the tree */
};

/**
 * xmlParserError:
 *
 * This is an error that the XML (or HTML) parser can generate
 */
typedef enum {
    XML_ERR_OK = 0,
    XML_ERR_INTERNAL_ERROR, /* 1 */
    XML_ERR_NO_MEMORY, /* 2 */
    XML_ERR_DOCUMENT_START, /* 3 */
    XML_ERR_DOCUMENT_EMPTY, /* 4 */
    XML_ERR_DOCUMENT_END, /* 5 */
    XML_ERR_INVALID_HEX_CHARREF, /* 6 */
    XML_ERR_INVALID_DEC_CHARREF, /* 7 */
    XML_ERR_INVALID_CHARREF, /* 8 */
    XML_ERR_INVALID_CHAR, /* 9 */
    XML_ERR_CHARREF_AT_EOF, /* 10 */
    XML_ERR_CHARREF_IN_PROLOG, /* 11 */
    XML_ERR_CHARREF_IN_EPILOG, /* 12 */
    XML_ERR_CHARREF_IN_DTD, /* 13 */
    XML_ERR_ENTITYREF_AT_EOF, /* 14 */
    XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */
    XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */
    XML_ERR_ENTITYREF_IN_DTD, /* 17 */
    XML_ERR_PEREF_AT_EOF, /* 18 */
    XML_ERR_PEREF_IN_PROLOG, /* 19 */
    XML_ERR_PEREF_IN_EPILOG, /* 20 */
    XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */
    XML_ERR_ENTITYREF_NO_NAME, /* 22 */
    XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */
    XML_ERR_PEREF_NO_NAME, /* 24 */
    XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */
    XML_ERR_UNDECLARED_ENTITY, /* 26 */
    XML_WAR_UNDECLARED_ENTITY, /* 27 */
    XML_ERR_UNPARSED_ENTITY, /* 28 */
    XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */
    XML_ERR_ENTITY_IS_PARAMETER, /* 30 */
    XML_ERR_UNKNOWN_ENCODING, /* 31 */
    XML_ERR_UNSUPPORTED_ENCODING, /* 32 */
    XML_ERR_STRING_NOT_STARTED, /* 33 */
    XML_ERR_STRING_NOT_CLOSED, /* 34 */
    XML_ERR_NS_DECL_ERROR, /* 35 */
    XML_ERR_ENTITY_NOT_STARTED, /* 36 */
    XML_ERR_ENTITY_NOT_FINISHED, /* 37 */
    XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
    XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */
    XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */
    XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */
    XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */
    XML_ERR_LITERAL_NOT_STARTED, /* 43 */
    XML_ERR_LITERAL_NOT_FINISHED, /* 44 */
    XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
    XML_ERR_PI_NOT_STARTED, /* 46 */
    XML_ERR_PI_NOT_FINISHED, /* 47 */
    XML_ERR_NOTATION_NOT_STARTED, /* 48 */
    XML_ERR_NOTATION_NOT_FINISHED, /* 49 */
    XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
    XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */
    XML_ERR_MIXED_NOT_STARTED, /* 52 */
    XML_ERR_MIXED_NOT_FINISHED, /* 53 */
    XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
    XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */
    XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
    XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */
    XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
    XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */
    XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
    XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
    XML_ERR_MISPLACED_CDATA_END, /* 62 */
    XML_ERR_CDATA_NOT_FINISHED, /* 63 */
    XML_ERR_RESERVED_XML_NAME, /* 64 */
    XML_ERR_SPACE_REQUIRED, /* 65 */
    XML_ERR_SEPARATOR_REQUIRED, /* 66 */
    XML_ERR_NMTOKEN_REQUIRED, /* 67 */
    XML_ERR_NAME_REQUIRED, /* 68 */
    XML_ERR_PCDATA_REQUIRED, /* 69 */
    XML_ERR_URI_REQUIRED, /* 70 */
    XML_ERR_PUBID_REQUIRED, /* 71 */
    XML_ERR_LT_REQUIRED, /* 72 */
    XML_ERR_GT_REQUIRED, /* 73 */
    XML_ERR_LTSLASH_REQUIRED, /* 74 */
    XML_ERR_EQUAL_REQUIRED, /* 75 */
    XML_ERR_TAG_NAME_MISMATCH, /* 76 */
    XML_ERR_TAG_NOT_FINISHED, /* 77 */
    XML_ERR_STANDALONE_VALUE, /* 78 */
    XML_ERR_ENCODING_NAME, /* 79 */
    XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
    XML_ERR_INVALID_ENCODING, /* 81 */
    XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
    XML_ERR_CONDSEC_INVALID, /* 83 */
    XML_ERR_VALUE_REQUIRED, /* 84 */
    XML_ERR_NOT_WELL_BALANCED, /* 85 */
    XML_ERR_EXTRA_CONTENT, /* 86 */
    XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
    XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
    XML_ERR_ENTITY_LOOP, /* 89 */
    XML_ERR_ENTITY_BOUNDARY, /* 90 */
    XML_ERR_INVALID_URI, /* 91 */
    XML_ERR_URI_FRAGMENT, /* 92 */
    XML_WAR_CATALOG_PI, /* 93 */
    XML_ERR_NO_DTD, /* 94 */
    XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */
    XML_ERR_VERSION_MISSING, /* 96 */
    XML_WAR_UNKNOWN_VERSION, /* 97 */
    XML_WAR_LANG_VALUE, /* 98 */
    XML_WAR_NS_URI, /* 99 */
    XML_WAR_NS_URI_RELATIVE, /* 100 */
    XML_ERR_MISSING_ENCODING, /* 101 */
    XML_WAR_SPACE_VALUE, /* 102 */
    XML_ERR_NOT_STANDALONE, /* 103 */
    XML_ERR_ENTITY_PROCESSING, /* 104 */
    XML_ERR_NOTATION_PROCESSING, /* 105 */
    XML_WAR_NS_COLUMN, /* 106 */
    XML_WAR_ENTITY_REDEFINED, /* 107 */
    XML_ERR_UNKNOWN_VERSION, /* 108 */
    XML_ERR_VERSION_MISMATCH, /* 109 */
    XML_ERR_NAME_TOO_LONG, /* 110 */
    XML_ERR_USER_STOP, /* 111 */
    XML_ERR_COMMENT_ABRUPTLY_ENDED, /* 112 */
    XML_NS_ERR_XML_NAMESPACE = 200,
    XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
    XML_NS_ERR_QNAME, /* 202 */
    XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */
    XML_NS_ERR_EMPTY, /* 204 */
    XML_NS_ERR_COLON, /* 205 */
    XML_DTD_ATTRIBUTE_DEFAULT = 500,
    XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */
    XML_DTD_ATTRIBUTE_VALUE, /* 502 */
    XML_DTD_CONTENT_ERROR, /* 503 */
    XML_DTD_CONTENT_MODEL, /* 504 */
    XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */
    XML_DTD_DIFFERENT_PREFIX, /* 506 */
    XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */
    XML_DTD_ELEM_NAMESPACE, /* 508 */
    XML_DTD_ELEM_REDEFINED, /* 509 */
    XML_DTD_EMPTY_NOTATION, /* 510 */
    XML_DTD_ENTITY_TYPE, /* 511 */
    XML_DTD_ID_FIXED, /* 512 */
    XML_DTD_ID_REDEFINED, /* 513 */
    XML_DTD_ID_SUBSET, /* 514 */
    XML_DTD_INVALID_CHILD, /* 515 */
    XML_DTD_INVALID_DEFAULT, /* 516 */
    XML_DTD_LOAD_ERROR, /* 517 */
    XML_DTD_MISSING_ATTRIBUTE, /* 518 */
    XML_DTD_MIXED_CORRUPT, /* 519 */
    XML_DTD_MULTIPLE_ID, /* 520 */
    XML_DTD_NO_DOC, /* 521 */
    XML_DTD_NO_DTD, /* 522 */
    XML_DTD_NO_ELEM_NAME, /* 523 */
    XML_DTD_NO_PREFIX, /* 524 */
    XML_DTD_NO_ROOT, /* 525 */
    XML_DTD_NOTATION_REDEFINED, /* 526 */
    XML_DTD_NOTATION_VALUE, /* 527 */
    XML_DTD_NOT_EMPTY, /* 528 */
    XML_DTD_NOT_PCDATA, /* 529 */
    XML_DTD_NOT_STANDALONE, /* 530 */
    XML_DTD_ROOT_NAME, /* 531 */
    XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */
    XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */
    XML_DTD_UNKNOWN_ELEM, /* 534 */
    XML_DTD_UNKNOWN_ENTITY, /* 535 */
    XML_DTD_UNKNOWN_ID, /* 536 */
    XML_DTD_UNKNOWN_NOTATION, /* 537 */
    XML_DTD_STANDALONE_DEFAULTED, /* 538 */
    XML_DTD_XMLID_VALUE, /* 539 */
    XML_DTD_XMLID_TYPE, /* 540 */
    XML_DTD_DUP_TOKEN, /* 541 */
    XML_HTML_STRUCURE_ERROR = 800,
    XML_HTML_UNKNOWN_TAG, /* 801 */
    XML_HTML_INCORRECTLY_OPENED_COMMENT, /* 802 */
    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
    XML_RNGP_ATTR_CONFLICT, /* 1001 */
    XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */
    XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */
    XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */
    XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */
    XML_RNGP_CHOICE_CONTENT, /* 1006 */
    XML_RNGP_CHOICE_EMPTY, /* 1007 */
    XML_RNGP_CREATE_FAILURE, /* 1008 */
    XML_RNGP_DATA_CONTENT, /* 1009 */
    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */
    XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */
    XML_RNGP_DEFINE_EMPTY, /* 1012 */
    XML_RNGP_DEFINE_MISSING, /* 1013 */
    XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */
    XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */
    XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */
    XML_RNGP_ELEMENT_EMPTY, /* 1017 */
    XML_RNGP_ELEMENT_CONTENT, /* 1018 */
    XML_RNGP_ELEMENT_NAME, /* 1019 */
    XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */
    XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */
    XML_RNGP_EMPTY, /* 1022 */
    XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */
    XML_RNGP_EMPTY_CONTENT, /* 1024 */
    XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */
    XML_RNGP_ERROR_TYPE_LIB, /* 1026 */
    XML_RNGP_EXCEPT_EMPTY, /* 1027 */
    XML_RNGP_EXCEPT_MISSING, /* 1028 */
    XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */
    XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */
    XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */
    XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */
    XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */
    XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */
    XML_RNGP_FOREIGN_ELEMENT, /* 1035 */
    XML_RNGP_GRAMMAR_CONTENT, /* 1036 */
    XML_RNGP_GRAMMAR_EMPTY, /* 1037 */
    XML_RNGP_GRAMMAR_MISSING, /* 1038 */
    XML_RNGP_GRAMMAR_NO_START, /* 1039 */
    XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */
    XML_RNGP_HREF_ERROR, /* 1041 */
    XML_RNGP_INCLUDE_EMPTY, /* 1042 */
    XML_RNGP_INCLUDE_FAILURE, /* 1043 */
    XML_RNGP_INCLUDE_RECURSE, /* 1044 */
    XML_RNGP_INTERLEAVE_ADD, /* 1045 */
    XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */
    XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */
    XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */
    XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */
    XML_RNGP_INVALID_URI, /* 1050 */
    XML_RNGP_INVALID_VALUE, /* 1051 */
    XML_RNGP_MISSING_HREF, /* 1052 */
    XML_RNGP_NAME_MISSING, /* 1053 */
    XML_RNGP_NEED_COMBINE, /* 1054 */
    XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */
    XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */
    XML_RNGP_NSNAME_NO_NS, /* 1057 */
    XML_RNGP_PARAM_FORBIDDEN, /* 1058 */
    XML_RNGP_PARAM_NAME_MISSING, /* 1059 */
    XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */
    XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */
    XML_RNGP_PARENTREF_NO_NAME, /* 1062 */
    XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */
    XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */
    XML_RNGP_PARSE_ERROR, /* 1065 */
    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */
    XML_RNGP_PAT_ATTR_ATTR, /* 1067 */
    XML_RNGP_PAT_ATTR_ELEM, /* 1068 */
    XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */
    XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */
    XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */
    XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */
    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */
    XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */
    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */
    XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */
    XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */
    XML_RNGP_PAT_LIST_ATTR, /* 1078 */
    XML_RNGP_PAT_LIST_ELEM, /* 1079 */
    XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */
    XML_RNGP_PAT_LIST_LIST, /* 1081 */
    XML_RNGP_PAT_LIST_REF, /* 1082 */
    XML_RNGP_PAT_LIST_TEXT, /* 1083 */
    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */
    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */
    XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */
    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */
    XML_RNGP_PAT_START_ATTR, /* 1088 */
    XML_RNGP_PAT_START_DATA, /* 1089 */
    XML_RNGP_PAT_START_EMPTY, /* 1090 */
    XML_RNGP_PAT_START_GROUP, /* 1091 */
    XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */
    XML_RNGP_PAT_START_LIST, /* 1093 */
    XML_RNGP_PAT_START_ONEMORE, /* 1094 */
    XML_RNGP_PAT_START_TEXT, /* 1095 */
    XML_RNGP_PAT_START_VALUE, /* 1096 */
    XML_RNGP_PREFIX_UNDEFINED, /* 1097 */
    XML_RNGP_REF_CREATE_FAILED, /* 1098 */
    XML_RNGP_REF_CYCLE, /* 1099 */
    XML_RNGP_REF_NAME_INVALID, /* 1100 */
    XML_RNGP_REF_NO_DEF, /* 1101 */
    XML_RNGP_REF_NO_NAME, /* 1102 */
    XML_RNGP_REF_NOT_EMPTY, /* 1103 */
    XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */
    XML_RNGP_START_CONTENT, /* 1105 */
    XML_RNGP_START_EMPTY, /* 1106 */
    XML_RNGP_START_MISSING, /* 1107 */
    XML_RNGP_TEXT_EXPECTED, /* 1108 */
    XML_RNGP_TEXT_HAS_CHILD, /* 1109 */
    XML_RNGP_TYPE_MISSING, /* 1110 */
    XML_RNGP_TYPE_NOT_FOUND, /* 1111 */
    XML_RNGP_TYPE_VALUE, /* 1112 */
    XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */
    XML_RNGP_UNKNOWN_COMBINE, /* 1114 */
    XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */
    XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */
    XML_RNGP_URI_FRAGMENT, /* 1117 */
    XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */
    XML_RNGP_VALUE_EMPTY, /* 1119 */
    XML_RNGP_VALUE_NO_CONTENT, /* 1120 */
    XML_RNGP_XMLNS_NAME, /* 1121 */
    XML_RNGP_XML_NS, /* 1122 */
    XML_XPATH_EXPRESSION_OK = 1200,
    XML_XPATH_NUMBER_ERROR, /* 1201 */
    XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */
    XML_XPATH_START_LITERAL_ERROR, /* 1203 */
    XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */
    XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */
    XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */
    XML_XPATH_EXPR_ERROR, /* 1207 */
    XML_XPATH_UNCLOSED_ERROR, /* 1208 */
    XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */
    XML_XPATH_INVALID_OPERAND, /* 1210 */
    XML_XPATH_INVALID_TYPE, /* 1211 */
    XML_XPATH_INVALID_ARITY, /* 1212 */
    XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */
    XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */
    XML_XPATH_MEMORY_ERROR, /* 1215 */
    XML_XPTR_SYNTAX_ERROR, /* 1216 */
    XML_XPTR_RESOURCE_ERROR, /* 1217 */
    XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */
    XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */
    XML_XPATH_ENCODING_ERROR, /* 1220 */
    XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */
    XML_TREE_INVALID_HEX = 1300,
    XML_TREE_INVALID_DEC, /* 1301 */
    XML_TREE_UNTERMINATED_ENTITY, /* 1302 */
    XML_TREE_NOT_UTF8, /* 1303 */
    XML_SAVE_NOT_UTF8 = 1400,
    XML_SAVE_CHAR_INVALID, /* 1401 */
    XML_SAVE_NO_DOCTYPE, /* 1402 */
    XML_SAVE_UNKNOWN_ENCODING, /* 1403 */
    XML_REGEXP_COMPILE_ERROR = 1450,
    XML_IO_UNKNOWN = 1500,
    XML_IO_EACCES, /* 1501 */
    XML_IO_EAGAIN, /* 1502 */
    XML_IO_EBADF, /* 1503 */
    XML_IO_EBADMSG, /* 1504 */
    XML_IO_EBUSY, /* 1505 */
    XML_IO_ECANCELED, /* 1506 */
    XML_IO_ECHILD, /* 1507 */
    XML_IO_EDEADLK, /* 1508 */
    XML_IO_EDOM, /* 1509 */
    XML_IO_EEXIST, /* 1510 */
    XML_IO_EFAULT, /* 1511 */
    XML_IO_EFBIG, /* 1512 */
    XML_IO_EINPROGRESS, /* 1513 */
    XML_IO_EINTR, /* 1514 */
    XML_IO_EINVAL, /* 1515 */
    XML_IO_EIO, /* 1516 */
    XML_IO_EISDIR, /* 1517 */
    XML_IO_EMFILE, /* 1518 */
    XML_IO_EMLINK, /* 1519 */
    XML_IO_EMSGSIZE, /* 1520 */
    XML_IO_ENAMETOOLONG, /* 1521 */
    XML_IO_ENFILE, /* 1522 */
    XML_IO_ENODEV, /* 1523 */
    XML_IO_ENOENT, /* 1524 */
    XML_IO_ENOEXEC, /* 1525 */
    XML_IO_ENOLCK, /* 1526 */
    XML_IO_ENOMEM, /* 1527 */
    XML_IO_ENOSPC, /* 1528 */
    XML_IO_ENOSYS, /* 1529 */
    XML_IO_ENOTDIR, /* 1530 */
    XML_IO_ENOTEMPTY, /* 1531 */
    XML_IO_ENOTSUP, /* 1532 */
    XML_IO_ENOTTY, /* 1533 */
    XML_IO_ENXIO, /* 1534 */
    XML_IO_EPERM, /* 1535 */
    XML_IO_EPIPE, /* 1536 */
    XML_IO_ERANGE, /* 1537 */
    XML_IO_EROFS, /* 1538 */
    XML_IO_ESPIPE, /* 1539 */
    XML_IO_ESRCH, /* 1540 */
    XML_IO_ETIMEDOUT, /* 1541 */
    XML_IO_EXDEV, /* 1542 */
    XML_IO_NETWORK_ATTEMPT, /* 1543 */
    XML_IO_ENCODER, /* 1544 */
    XML_IO_FLUSH, /* 1545 */
    XML_IO_WRITE, /* 1546 */
    XML_IO_NO_INPUT, /* 1547 */
    XML_IO_BUFFER_FULL, /* 1548 */
    XML_IO_LOAD_ERROR, /* 1549 */
    XML_IO_ENOTSOCK, /* 1550 */
    XML_IO_EISCONN, /* 1551 */
    XML_IO_ECONNREFUSED, /* 1552 */
    XML_IO_ENETUNREACH, /* 1553 */
    XML_IO_EADDRINUSE, /* 1554 */
    XML_IO_EALREADY, /* 1555 */
    XML_IO_EAFNOSUPPORT, /* 1556 */
    XML_XINCLUDE_RECURSION=1600,
    XML_XINCLUDE_PARSE_VALUE, /* 1601 */
    XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */
    XML_XINCLUDE_NO_HREF, /* 1603 */
    XML_XINCLUDE_NO_FALLBACK, /* 1604 */
    XML_XINCLUDE_HREF_URI, /* 1605 */
    XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */
    XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */
    XML_XINCLUDE_INVALID_CHAR, /* 1608 */
    XML_XINCLUDE_BUILD_FAILED, /* 1609 */
    XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */
    XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */
    XML_XINCLUDE_XPTR_FAILED, /* 1612 */
    XML_XINCLUDE_XPTR_RESULT, /* 1613 */
    XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */
    XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */
    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */
    XML_XINCLUDE_DEPRECATED_NS, /* 1617 */
    XML_XINCLUDE_FRAGMENT_ID, /* 1618 */
    XML_CATALOG_MISSING_ATTR = 1650,
    XML_CATALOG_ENTRY_BROKEN, /* 1651 */
    XML_CATALOG_PREFER_VALUE, /* 1652 */
    XML_CATALOG_NOT_CATALOG, /* 1653 */
    XML_CATALOG_RECURSION, /* 1654 */
    XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */
    XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */
    XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */
    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */
    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */
    XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */
    XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */
    XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */
    XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */
    XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */
    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */
    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */
    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */
    XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */
    XML_SCHEMAP_INVALID_ENUM, /* 1715 */
    XML_SCHEMAP_INVALID_FACET, /* 1716 */
    XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */
    XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */
    XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */
    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */
    XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */
    XML_SCHEMAP_NOATTR_NOREF, /* 1722 */
    XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */
    XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */
    XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */
    XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */
    XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */
    XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */
    XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */
    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */
    XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */
    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */
    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */
    XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */
    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */
    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */
    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */
    XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */
    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */
    XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */
    XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */
    XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */
    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */
    XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */
    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */
    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */
    XML_SCHEMAP_UNKNOWN_REF, /* 1747 */
    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */
    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */
    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */
    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */
    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */
    XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */
    XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
    XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
    XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
    XML_SCHEMAP_FAILED_LOAD, /* 1757 */
    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */
    XML_SCHEMAP_NOROOT, /* 1759 */
    XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */
    XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */
    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */
    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */
    XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */
    XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */
    XML_SCHEMAP_FAILED_PARSE, /* 1766 */
    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */
    XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */
    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */
    XML_SCHEMAP_NOT_SCHEMA, /* 1772 */
    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */
    XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */
    XML_SCHEMAP_RECURSIVE, /* 1775 */
    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */
    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */
    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */
    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */
    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */
    XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */
    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */
    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */
    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */
    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */
    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */
    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */
    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */
    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */
    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */
    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */
    XML_SCHEMAV_NOROOT = 1801,
    XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */
    XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */
    XML_SCHEMAV_MISSING, /* 1804 */
    XML_SCHEMAV_WRONGELEM, /* 1805 */
    XML_SCHEMAV_NOTYPE, /* 1806 */
    XML_SCHEMAV_NOROLLBACK, /* 1807 */
    XML_SCHEMAV_ISABSTRACT, /* 1808 */
    XML_SCHEMAV_NOTEMPTY, /* 1809 */
    XML_SCHEMAV_ELEMCONT, /* 1810 */
    XML_SCHEMAV_HAVEDEFAULT, /* 1811 */
    XML_SCHEMAV_NOTNILLABLE, /* 1812 */
    XML_SCHEMAV_EXTRACONTENT, /* 1813 */
    XML_SCHEMAV_INVALIDATTR, /* 1814 */
    XML_SCHEMAV_INVALIDELEM, /* 1815 */
    XML_SCHEMAV_NOTDETERMINIST, /* 1816 */
    XML_SCHEMAV_CONSTRUCT, /* 1817 */
    XML_SCHEMAV_INTERNAL, /* 1818 */
    XML_SCHEMAV_NOTSIMPLE, /* 1819 */
    XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */
    XML_SCHEMAV_ATTRINVALID, /* 1821 */
    XML_SCHEMAV_VALUE, /* 1822 */
    XML_SCHEMAV_FACET, /* 1823 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */
    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */
    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */
    XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */
    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */
    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */
    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */
    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */
    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */
    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */
    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */
    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */
    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */
    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */
    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */
    XML_SCHEMAV_CVC_ELT_1, /* 1845 */
    XML_SCHEMAV_CVC_ELT_2, /* 1846 */
    XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */
    XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */
    XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */
    XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */
    XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */
    XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
    XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
    XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
    XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */
    XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
    XML_SCHEMAV_CVC_ELT_6, /* 1859 */
    XML_SCHEMAV_CVC_ELT_7, /* 1860 */
    XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */
    XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */
    XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */
    XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */
    XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */
    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */
    XML_SCHEMAV_CVC_AU, /* 1874 */
    XML_SCHEMAV_CVC_TYPE_1, /* 1875 */
    XML_SCHEMAV_CVC_TYPE_2, /* 1876 */
    XML_SCHEMAV_CVC_IDC, /* 1877 */
    XML_SCHEMAV_CVC_WILDCARD, /* 1878 */
    XML_SCHEMAV_MISC, /* 1879 */
    XML_XPTR_UNKNOWN_SCHEME = 1900,
    XML_XPTR_CHILDSEQ_START, /* 1901 */
    XML_XPTR_EVAL_FAILED, /* 1902 */
    XML_XPTR_EXTRA_OBJECTS, /* 1903 */
    XML_C14N_CREATE_CTXT = 1950,
    XML_C14N_REQUIRES_UTF8, /* 1951 */
    XML_C14N_CREATE_STACK, /* 1952 */
    XML_C14N_INVALID_NODE, /* 1953 */
    XML_C14N_UNKNOW_NODE, /* 1954 */
    XML_C14N_RELATIVE_NAMESPACE, /* 1955 */
    XML_FTP_PASV_ANSWER = 2000,
    XML_FTP_EPSV_ANSWER, /* 2001 */
    XML_FTP_ACCNT, /* 2002 */
    XML_FTP_URL_SYNTAX, /* 2003 */
    XML_HTTP_URL_SYNTAX = 2020,
    XML_HTTP_USE_IP, /* 2021 */
    XML_HTTP_UNKNOWN_HOST, /* 2022 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
    XML_SCHEMAP_SRC_RESOLVE, /* 3004 */
    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */
    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */
    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */
    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */
    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */
    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
    XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */
    XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */
    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */
    XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */
    XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */
    XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */
    XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */
    XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */
    XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */
    XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */
    XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */
    XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */
    XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */
    XML_SCHEMAP_SRC_INCLUDE, /* 3050 */
    XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */
    XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */
    XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
    XML_SCHEMAP_NO_XMLNS, /* 3056 */
    XML_SCHEMAP_NO_XSI, /* 3057 */
    XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */
    XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */
    XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */
    XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */
    XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */
    XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */
    XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */
    XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */
    XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */
    XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */
    XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */
    XML_SCHEMAP_SRC_CT_1, /* 3076 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */
    XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */
    XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */
    XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */
    XML_SCHEMAP_SRC_REDEFINE, /* 3081 */
    XML_SCHEMAP_SRC_IMPORT, /* 3082 */
    XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */
    XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */
    XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */
    XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */
    XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */
    XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */
    XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */
    XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */
    XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */
    XML_SCHEMATRONV_REPORT,
    XML_MODULE_OPEN = 4900, /* 4900 */
    XML_MODULE_CLOSE, /* 4901 */
    XML_CHECK_FOUND_ELEMENT = 5000,
    XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */
    XML_CHECK_FOUND_TEXT, /* 5002 */
    XML_CHECK_FOUND_CDATA, /* 5003 */
    XML_CHECK_FOUND_ENTITYREF, /* 5004 */
    XML_CHECK_FOUND_ENTITY, /* 5005 */
    XML_CHECK_FOUND_PI, /* 5006 */
    XML_CHECK_FOUND_COMMENT, /* 5007 */
    XML_CHECK_FOUND_DOCTYPE, /* 5008 */
    XML_CHECK_FOUND_FRAGMENT, /* 5009 */
    XML_CHECK_FOUND_NOTATION, /* 5010 */
    XML_CHECK_UNKNOWN_NODE, /* 5011 */
    XML_CHECK_ENTITY_TYPE, /* 5012 */
    XML_CHECK_NO_PARENT, /* 5013 */
    XML_CHECK_NO_DOC, /* 5014 */
    XML_CHECK_NO_NAME, /* 5015 */
    XML_CHECK_NO_ELEM, /* 5016 */
    XML_CHECK_WRONG_DOC, /* 5017 */
    XML_CHECK_NO_PREV, /* 5018 */
    XML_CHECK_WRONG_PREV, /* 5019 */
    XML_CHECK_NO_NEXT, /* 5020 */
    XML_CHECK_WRONG_NEXT, /* 5021 */
    XML_CHECK_NOT_DTD, /* 5022 */
    XML_CHECK_NOT_ATTR, /* 5023 */
    XML_CHECK_NOT_ATTR_DECL, /* 5024 */
    XML_CHECK_NOT_ELEM_DECL, /* 5025 */
    XML_CHECK_NOT_ENTITY_DECL, /* 5026 */
    XML_CHECK_NOT_NS_DECL, /* 5027 */
    XML_CHECK_NO_HREF, /* 5028 */
    XML_CHECK_WRONG_PARENT,/* 5029 */
    XML_CHECK_NS_SCOPE, /* 5030 */
    XML_CHECK_NS_ANCESTOR, /* 5031 */
    XML_CHECK_NOT_UTF8, /* 5032 */
    XML_CHECK_NO_DICT, /* 5033 */
    XML_CHECK_NOT_NCNAME, /* 5034 */
    XML_CHECK_OUTSIDE_DICT, /* 5035 */
    XML_CHECK_WRONG_NAME, /* 5036 */
    XML_CHECK_NAME_NOT_NULL, /* 5037 */
    XML_I18N_NO_NAME = 6000,
    XML_I18N_NO_HANDLER, /* 6001 */
    XML_I18N_EXCESS_HANDLER, /* 6002 */
    XML_I18N_CONV_FAILED, /* 6003 */
    XML_I18N_NO_OUTPUT, /* 6004 */
    XML_BUF_OVERFLOW = 7000
} xmlParserErrors;

/**
 * xmlGenericErrorFunc:
 * @ctx:  a parsing context
 * @msg:  the message
 * @...:  the extra arguments of the varargs to format the message
 *
 * Signature of the function to use when there is an error and
 * no parsing or validity context available .
 */
typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * xmlStructuredErrorFunc:
 * @userData:  user provided data for the error callback
 * @error:  the error being raised.
 *
 * Signature of the function to use when there is an error and
 * the module handles the new error reporting mechanism.
 */
typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);

/*
 * Use the following function to reset the two global variables
 * xmlGenericError and xmlGenericErrorContext.
 */
XMLPUBFUN void XMLCALL
    xmlSetGenericErrorFunc	(void *ctx,
				 xmlGenericErrorFunc handler);
XMLPUBFUN void XMLCALL
    initGenericErrorDefaultFunc	(xmlGenericErrorFunc *handler);

XMLPUBFUN void XMLCALL
    xmlSetStructuredErrorFunc	(void *ctx,
				 xmlStructuredErrorFunc handler);
/*
 * Default message routines used by SAX and Valid context for error
 * and warning reporting.
 */
XMLPUBFUN void XMLCDECL
    xmlParserError		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserWarning		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityError	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityWarning	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileInfo	(xmlParserInputPtr input);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileContext	(xmlParserInputPtr input);

/*
 * Extended error information routines
 */
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlGetLastError		(void);
XMLPUBFUN void XMLCALL
    xmlResetLastError		(void);
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlCtxtGetLastError		(void *ctx);
XMLPUBFUN void XMLCALL
    xmlCtxtResetLastError	(void *ctx);
XMLPUBFUN void XMLCALL
    xmlResetError		(xmlErrorPtr err);
XMLPUBFUN int XMLCALL
    xmlCopyError		(xmlErrorPtr from,
				 xmlErrorPtr to);

#ifdef IN_LIBXML
/*
 * Internal callback reporting routine
 */
XMLPUBFUN void XMLCALL
    __xmlRaiseError		(xmlStructuredErrorFunc schannel,
				 xmlGenericErrorFunc channel,
				 void *data,
                                 void *ctx,
				 void *node,
				 int domain,
				 int code,
				 xmlErrorLevel level,
				 const char *file,
				 int line,
				 const char *str1,
				 const char *str2,
				 const char *str3,
				 int int1,
				 int col,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(16,17);
XMLPUBFUN void XMLCALL
    __xmlSimpleError		(int domain,
				 int code,
				 xmlNodePtr node,
				 const char *msg,
				 const char *extra) LIBXML_ATTR_FORMAT(4,0);
#endif
#ifdef __cplusplus
}
#endif
#endif /* __XML_ERROR_H__ */
PKi�Z#-��--!usr/include/libxml2/libxml/c14n.hnu�[���/*
 * Summary: Provide Canonical XML and Exclusive XML Canonicalization
 * Description: the c14n modules provides a
 *
 * "Canonical XML" implementation
 * http://www.w3.org/TR/xml-c14n
 *
 * and an
 *
 * "Exclusive XML Canonicalization" implementation
 * http://www.w3.org/TR/xml-exc-c14n

 * Copy: See Copyright for the status of this software.
 *
 * Author: Aleksey Sanin <aleksey@aleksey.com>
 */
#ifndef __XML_C14N_H__
#define __XML_C14N_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_C14N_ENABLED
#ifdef LIBXML_OUTPUT_ENABLED

#include <libxml/tree.h>
#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/*
 * XML Canonicalization
 * http://www.w3.org/TR/xml-c14n
 *
 * Exclusive XML Canonicalization
 * http://www.w3.org/TR/xml-exc-c14n
 *
 * Canonical form of an XML document could be created if and only if
 *  a) default attributes (if any) are added to all nodes
 *  b) all character and parsed entity references are resolved
 * In order to achieve this in libxml2 the document MUST be loaded with
 * following global settings:
 *
 *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    xmlSubstituteEntitiesDefault(1);
 *
 * or corresponding parser context setting:
 *    xmlParserCtxtPtr ctxt;
 *
 *    ...
 *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    ctxt->replaceEntities = 1;
 *    ...
 */

/*
 * xmlC14NMode:
 *
 * Predefined values for C14N modes
 *
 */
typedef enum {
    XML_C14N_1_0            = 0,    /* Original C14N 1.0 spec */
    XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
    XML_C14N_1_1            = 2     /* C14N 1.1 spec */
} xmlC14NMode;

XMLPUBFUN int XMLCALL
		xmlC14NDocSaveTo	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

XMLPUBFUN int XMLCALL
		xmlC14NDocDumpMemory	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlChar **doc_txt_ptr);

XMLPUBFUN int XMLCALL
		xmlC14NDocSave		(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 const char* filename,
					 int compression);


/**
 * This is the core C14N function
 */
/**
 * xmlC14NIsVisibleCallback:
 * @user_data: user data
 * @node: the current node
 * @parent: the parent node
 *
 * Signature for a C14N callback on visible nodes
 *
 * Returns 1 if the node should be included
 */
typedef int (*xmlC14NIsVisibleCallback)	(void* user_data,
					 xmlNodePtr node,
					 xmlNodePtr parent);

XMLPUBFUN int XMLCALL
		xmlC14NExecute		(xmlDocPtr doc,
					 xmlC14NIsVisibleCallback is_visible_callback,
					 void* user_data,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* LIBXML_C14N_ENABLED */
#endif /* __XML_C14N_H__ */

PKi�Z�&�p�Q�Qusr/bin/xmlcatalognuȯ��ELF>� @�I@8@@@@hh����3�3 x<x< x< � �<�< �< ���  ���DDS�td���  P�td222LLQ�tdR�tdx<x< x< ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�c����z��U>‡�z���)�A �K)-��|�BE��)�fUa�qX9�8z�S�* �I�4n���� �9 P"���k�g��p-;�a-_I���@ YH@ �@ &P@  @ �@ B@@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlLoadSGMLSuperCatalogxmlLoadCatalogxmlParseURIxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCheckVersionxmlACatalogRemovexmlCatalogResolveURIxmlCleanupParserxmlCatalogAddxmlCatalogDumpxmlCatalogIsEmptyxmlFreeURIxmlCatalogRemovexmlACatalogDumpxmlFreexmlACatalogAddxmlInitializeCatalogxmlCatalogConvertxmlNewCatalogxmlMemoryDumpxmlCatalogResolvexmlCatalogSetDebuglibc.so.6fflush__printf_chkputs__stack_chk_failstdinfgets__fprintf_chkstdoutfclosemallocremovestderrfwrite__cxa_finalizefopen64strcmp__libc_start_mainfree_edata__bss_start_endGLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64�@ii
�ui	�ti	��L�x< �!�< �!�< �< �? �? �? �? �?  @ -@@ /H@ *P@ ,�> �> �> �> �> �> �> �> 	�> 
? ? 
? ?  ? (? 0? 8? @? H? P? X? `? h? p? x? �? �? �?  �? !�? "�? #�? $�? %�? &�? '�? (��H��H��/ H��t��H����5b. �%c. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#��������%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%}+ D���%u+ D���%m+ D���%e+ D���%]+ D���%U+ D���%M+ D���%E+ D���%=+ D���%5+ D���%-+ D���%%+ D���%+ D���%+ D���%
+ D���%+ D��AWAVAUATUSH��H��(�������
RA��@���L�%,L�-+L�5 IcǹL��H��H����������:-���	H��L���������H��L����������
H��H�=���������H��H�=������t�H�=�H��������k��* f.�A��D9��+�����* A�L�5L�wL�
wL�oIcŹL��L�<�I�H����������V�H��L����������;�H��L���������t�H��L����������XA�E9����tA��A9���@D�hD9��`����=�) �+��) �) ���) �$����E�eMc��2H�����J�<�����I��H����L������L��,) I��D9���J�<��n���H��u�J�<���I��H��u�J��H�5Y�1�����$����( �x�=�( �,����W����1�����B�D(����H�
�( �*�H�=o��H�;�
�$�$H��([]A\A]A^A_����-��H�=m( u����H��H�Y( ������������=a( �����I�71�H�=�����~���H�5
H��H�$�������H�$H�5�H�����H�$���hH�5�H��H�$�|������KH�$H�5�H���a���H�$���,H�5�H��H�$�B������-H�$H�5�H���'���H�$���H�5wH��H�$�������yH�$H�5WH�����H�$���ZH�5GH��H�$�������KH�$H�5'H�����H�$���,H�5H��H�$������NH�$H�5�H���y���H�$���/H�5�H��H�$�Z�����tH�$H�5�H���C���H�$����A����& ������& ����$D��& A��McǹL��I��J�L�*L���������A�}-���L��L��������#�H�=%L��������H�5L��D�T$H�T$L�D$�w���L�D$H�T$��D�T$��H�5�L���Q���L�D$H�T$��D�T$u>E����H�5�L��D�T$L�D$����L�D$D�T$����f.�A��D9����=p% uD�\% R% T% B% t*�=I% tH�= % H��t	�?�sH�=�$ ���������\����d����E��u?J�TJ�tJ�|H��t	�:�QH��1��4������bA��D��$ �L���J�DL�D$H�8H�T$H�D$��H�T$H�5�I��H�H��H�T$����L�D$��t!H�T$H�5zH����L�D$���M���fJ�T1�H�5mL���H����=-$ H�D$���=+$ �L���������ZH�D$H�5@H�8�!���H���H��L��H�D$�h���H�D$H������=�# ��H�|$H����������H�5�H�=����I��H���VH�|$H������L���O����H�=�����$���M��tJ�tL�������y)H�D$H�=# �H�H�1�����$�=# �:�=# �gH�5�" L���z���A��D��" �j���E������N�lI�}������A��D��" �;���H�D$H�8���������" ����������^�������J��H�5��1�����J�<��Y���I��H�����J��H�5��1�����$����H�=X�n�H�D$H���H�D$H�|$1�H�5*H���������D��� ����L�D$����L�D$I���~���H�D$����������O�$�@���H�=�������M���L����H�D$���N���H�=���H��H�D$H���1���H�D$H�0��������H�=! H�
eH�1�����$���I�MH�=�  H�f1���c��$�,���H�D$H�=�  �H�H�1��5��$��  ���H�5����H��t;H���F��{�������H�D$�m�����  ���H�D$�N���H�
L  H�=%  �H�����$�C  ����H�=� H�
UH�b1���}��$�  �
����� �[����� �O���H�=� H�Ѿ1�H���2�H�;�*�$�����=� tA���� ����A����f.�D��1�I��^H��H���PTL��	H�
?	H�=��� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�u H��t��fD�����=� u+UH�=R H��tH�=� ����d����� ]������w����H��H��H�5�1����H�=w
H�����fDAWAVAUATUH�&S�H��dH�%(H��$�1�H��$�L��$�H�$)��H�
� ��H�=
�3�H�=� �7�H�� ��L�����H���LƄ$�M��A�I����������!�%����t������D�I�WLD����I��M)�E�oIc��+�I��H����A���A���E��tA�$A�A����A�6M��@�� u�I��A�0@�� t�@��	t�@�� wH���N@���EH�$�I��@�0�H��A�0@�� w�H��r@��u�Hcҹ21�Ƅ�H��$ H���H�@��	t@�� uf�I��A�0@�� t�@��	t�@��
w
�$1�H��r5�H��$A�$fD@�4A�4Hc�H��@��
w�I��s�H�t$Ƅ 1�E1��H���H�H�����t|<	t	< uDH���< t�<	t�H�WH��<'�R<"Ic���H�|������<	u�fD<	tH��H���H�Ѩ�u�H����A����u�H�4$�H�=�
�������H�4$�H�=�
������qH�4$�H�=h
������RH�4$�H�=M
�������A���H�=4
��L���'���f�H�T��G<"t��t�H�����t<"u�H��<"������A��H�����L��Ƅ$�������f�Ic�H�T��G��u�fDH�����t<'u�H��<'�J����A��H���:���D��A��L��L��I�D�D��I�D��H����H��H�����H�4$�H�=u	�����uA����H�=`	�����H�4$�H�=�
�����u}A��A���CH�T$ H�t$H�|$H�������������H�=S	�!����H�T$H��H�T$�J�H�T$H��I���=L�����L���@ �T���H�4$�H�=i
�������A���SH�=�������H�T$H��H�T$�w�H�T$H��I��u�H�5z�1������H��$�dH3%(��H�ĸL��[]A\A]A^A_���H�<$H�5��B�����A���BH�=������H�=���o���H��$�dH3%(�H�ĸ[]A\A]A^A_�A�$D��A�A�D�A�D����H�5q�1��������H�<$H�5 ����u`E����H�=�{����H��1��L��2���H�|$��������H�=��I����D��A�D�fA�D��l���H�<$H�5��0���tjH�<$H�5�������E�����=m ��~	���=` ���O���H�t$H�|$�?�I��H������H�=|���#���E��t"H�=N���
���H�=� ������� �x�=� �7����H�=0�f�����H�<$H�52�a�����H�=<�=�H�=�1�H�=J�%�H�=v��H�=��
�H�=��H�=���H�=����H�=����H�=����=������H�$H�5��1�����b���f.����AWI��AVI��AUA��ATL�% UH�- SL)�H����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Usage : %s [options] catalogfile entities...
	Parse the catalog file (void specification possibly expressed as ""
	appoints the default system one) and query it for the entities
	--sgml : handle SGML Super catalogs for --add and --del
	--shell : run a shell allowing interactive queries
	--create : create a new catalog
	--add 'type' 'orig' 'replace' : add an XML entry
	--add 'entry' : add an SGML entry
	--del 'values' : remove values
	--noout: avoid dumping the result on stdout
	         used with --add or --del, it saves the catalog changes
	         and with --sgml it automatically updates the super catalog
	--no-super-update: do not update the SGML super catalog
	-v --verbose : provide debug informationResolver failed to find an answer	public PublicID: make a PUBLIC identifier lookup	system SystemID: make a SYSTEM identifier lookup	resolve PublicID SystemID: do a full resolver lookup	add 'type' 'orig' 'replace' : add an entry	dump: print the current catalog state	debug: increase the verbosity level	quiet: decrease the verbosity levelNo catalog entry specified to remove from
Failed to remove entry from %s
> exitquitbyepublicpublic requires 1 argumentsNo entry for PUBLIC %s
systemsystem requires 1 argumentsNo entry for SYSTEM %s
add requires 2 or 3 argumentsadd command faileddel requires 1del command failedresolveresolve requires 2 argumentsdumpdump has no argumentsdebugdebug has no argumentsquietquiet has no argumentshelpUnrecognized command %s
Commands available:	del 'values' : remove values	exit:  quit the shell--v--verbose--noout--shell--sgml--create--convert--no-super-update--add--delUnknown option %s
CATALOG/etc/sgml/catalogwcould not open %s for saving
Failed to remove entry %s
No entry for URI %s
;L8��������@��h�����H���������zRx�x�/D$4���PFJw�?:*3$"\���@t�*Dad�(�5B�B�B �B(�A0�K8�L�	l
8D0A(B BBBEb
8A0A(B BBBAL���F�B�B �B(�A0�A8�G`�
8A0A(B BBBADD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����!�!�< �� 
�*x< �< ���o0�p
��> `�� 	���o���o@���o�o�
���o�< P`p�������� 0@P`p�������� 0@P`p�GA$3a1 !GA$3p1113�E*GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1 !�*GA$3p1113P*�*GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�!E*GA+GLIBCXX_ASSERTIONS
GA*FORTIFYP*�*GA+GLIBCXX_ASSERTIONSxmlcatalog-2.10.2-5.el8.x86_64.debug�W��7zXZ�ִF!t/���]?�E�h=��ڊ�2N�	]����e:^��]����������>8�/���Sdb�|a�S�]!��2o�#��/�9u;�#�bs��rȧ,~9V&C�����y��;����2�����Ճpff��9x#=�ñ����+_�>���4�=dC5f��V��%Ҍ`�W���D,�1�F�[K=�yFTW�̎�X��}�!�f�9��ag|�����_��o�gL"̗$Uɭ�w�	����
�i��)/�[%��0���(T���S>�EJ�*�������L�]DP\��z�]��n
�1�r!��X�a�U���L�l�KCw~?UW��Z1�N1�{�3ޥ���ֺhM0�m�깊�J��>tW>*hdil��I��D9�"���@iwQ�@Z�����)��Ԙ�!�d K{CKG��.�'j��
U�4��]A�l'�w_j�'-*(��>#�?>�P�����X��n�tg�}��>�U�ܥ�����u55���\FGC`��7�!�P[⇲<�CO��}��K��˅�<F1+����τy�/MF�}��
"��5�F���jq�����Ne�
Ѵ� 
�L�u��������<+�[��%�?˃���"�rqB����+�B����SV�9��݇r�>V��:��u�7�jL�+��-Ę���p$��
�I1f
�#=�
XN����PU
GX��YG����S�նHDxN'G'�����?�[���
�;�Ar�9Qr��$�1'k���J�n)$Xp�vq>SĠ��0����PZ��_:� V����������7EL]7�_�s�W#�y�_lKH�5�sCK#��0�vQ5�,�Hut藺>����65���nZ�bF�?�7�9o�&t|S�c���ב��F��8K�DZ�g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata���� &�� 4$G���o00@Qpp�Y���a���o�
�
`n���o@@`}�� �B��`�  �@@P���@������*�*
��*�*/�22L�X2X2��x< x<��< �<��< �<��< �<��> �>`�@ @ @ @p 
�@`@� �D,/�D��H>PKi�Zmjxp%p%usr/bin/xmllintnuȯ��ELF>P{@�@8@@@@hh������� ��!�!��� ��!�!���  ���DDS�td���  P�td��������Q�tdR�td��!�!``/lib64/ld-linux-x86-64.so.2GNU�GNUGNU@4b���rǭ-�л�ԏ+��A �K����|�BE��)�fUa�qX9�S
C
_
��	�
�s9Q��	v^[
��
��* ��c^f�D	Q����.
��r
S{�t
�
�	a-
}�
�b���
�7����\?�� :�^
��E��
b9 y�
D"	��G
���	V
"�
�K��b	(1�f

q��}��8�o	���	I:	F�(
�Q5�r��
����	�z�	�m
h;
 �K],�	����	�)
�����;/�
0	q�e
x(	!
L�t"
���a	��J����
��
x�!��!�
`!��!�`!�
`!
�!libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablehtmlParseChunkxmlTextReaderHasValuehtmlCtxtUseOptionsxmlNoNetExternalEntityLoaderxmlParseDocumentxmlParseChunkxmlSchematronNewParserCtxtxmlParseFilexmlFreePatterninputPushxmlFreeStreamCtxtxmlXPathIsNaNxmlFreeTextReaderxmlFreeValidCtxtxmlRelaxNGValidateDocxmlC14NDocDumpMemoryxmlValidGetValidElementsxmlMemoryStrdupxmlAddEncodingAliasxmlMemMallocxmlSchemaParsexmlFreeParserInputBufferxmlCtxtReadIOxmlTextReaderConstNamespaceUrixmlTextReaderIsEmptyElementxmlXPathNewContextxmlRelaxNGSetParserErrors__xmlParserVersionhtmlDocDumpxmlTextReaderIsValidxmlStreamPopxmlSetCompressModexmlDocDumpFormatMemoryxmlSAXDefaultVersionxmlXPathIsInfxmlSchemaSetParserErrorsxmlPedanticParserDefault__xmlParserDebugEntitiesxmlOutputBufferCreateFilexmlDebugDumpDocumentxmlRelaxNGFreeParserCtxtxmlParseDTDxmlNodeSetContentxmlCheckVersionxmlFreeParserCtxtxmlNewIOInputStreamxmlValidateDocumentxmlTextReaderConstValuexmlReadFilexmlDebugDumpEntitieshtmlCreatePushParserCtxtxmlReaderWalkerxmlSchematronFree__xmlTreeIndentStringxmlMemSetupxmlXPathFreeObjecthtmlSaveFilexmlSetExternalEntityLoaderxmlCopyDocxmlNewDocxmlSchemaFreeValidCtxtxmlCleanupParserxmlSchemaSetValidErrors__xmlLoadExtDtdDefaultValuexmlNodeDumpOutputxmlStrdupxmlSchemaValidateStreamxmlStrndupxmlSchemaFreeParserCtxtxmlSaveToFilenamexmlFreeDocxmlValidateDtdxmlTextReaderNodeTypexmlSchemaValidateDoc__xmlGenericErrorContextxmlNewParserCtxtxmlCtxtReadMemoryxmlTextReaderSchemaValidatexmlSchematronFreeParserCtxtxmlTextReaderConstNamexmlPatternMatch__xmlGenericErrorxmlOutputBufferClosexmlHasFeaturexmlDocGetRootElementxmlEncodeEntitiesReentrantxmlCtxtUseOptionsxmlSchematronValidateDocxmlSchemaFreexmlCreatePushParserCtxtxmlRelaxNGNewValidCtxtxmlSaveClosexmlPatterncompilexmlTextReaderSetParserPropxmlOutputBufferWritexmlFreexmlSchemaValidateSetFilenamexmlRelaxNGParsexmlFreeDtdhtmlReadMemory__xmlDoValidityCheckingDefaultValuexmlSchematronFreeValidCtxtxmlTextReaderConstLocalNamexmlDeregisterNodeDefaultxmlDocDumpMemoryxmlTextReaderCurrentNodexmlGetIntSubsetxmlParserInputBufferCreateFilenamexmlTextReaderRelaxNGValidatexmlTextReaderReadxmlXPathFreeContextxmlGetExternalEntityLoaderxmlShellxmlXPathEvalxmlStreamPushxmlReadFdxmlStrcatxmlSubstituteEntitiesDefaultxmlMemReallocxmlFreeEnumerationhtmlFreeParserCtxtxmlSchemaNewValidCtxtxmlReaderForMemoryxmlMemoryDumpxmlSchemaNewParserCtxtxmlMemUsedxmlUnlinkNodexmlGetNodePathxmlReadIOxmlXIncludeProcessFlagsxmlLineNumbersDefaultxmlNewValidCtxtxmlSaveFilexmlTextReaderDepthxmlNewDocNodehtmlReadFilehtmlSaveFileFormatxmlDocSetRootElementxmlRelaxNGSetValidErrorsxmlRegisterNodeDefaultxmlMemFree__xmlGetWarningsDefaultValuexmlCtxtReadFilexmlRelaxNGFreeValidCtxtxmlReaderForFilexmlXPathOrderDocElemsxmlPatternGetStreamCtxtxmlKeepBlanksDefaultxmlSaveToFdxmlLoadCatalogsxmlSchematronParsexmlSchematronNewValidCtxtxmlRelaxNGFreexmlDocDumpFormatMemoryEncxmlReadMemoryxmlSaveDocxmlRelaxNGNewParserCtxtxmlDocDumpMemoryEnclibc.so.6fflush__printf_chkexit__isoc99_sscanfmmap64__stack_chk_failputcharstdin__assert_failstrtolfgets__fprintf_chkstdoutfputcfputsfclose__vsnprintf_chkmalloc__xstat64getenvstderrmunmap__snprintf_chkfwritefreadgettimeofday__fread_chk__vfprintf_chk__cxa_finalizefopen64strcmp__libc_start_mainsnprintffree_edata__bss_start_endGLIBC_2.4GLIBC_2.7GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.9.0LIBXML2_2.5.6LIBXML2_2.6.3LIBXML2_2.6.18LIBXML2_2.6.8LIBXML2_2.5.7LIBXML2_2.6.20LIBXML2_2.5.2LIBXML2_2.6.21LIBXML2_2.5.0LIBXML2_2.6.0LIBXML2_2.5.8LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64	









	


@Pii
�
ii
	�
ti	�
ui	�

����
����
����
ȫL���
���ЫL-���
<ѫLJ���Y���g���u�L��!0|�!�{�!�!@!@�H!0�P!��X!й`!�h!��p!@|x!���!���!P��!�|�!��! ��!`��!P��!���!���!0��!��!0��!0��!0�!�!��!�(!�0!��@!`!`!@�h!0�p!��x!й�!��!���!@|�!���!���!P��!�|�!��! ��!`��!���!p��!P��!���!���!0�!�!0�!0�!0� !�(!��0!��!�!/�!=�!E�!Q�!\`!��!��!��!��	!�	!�	!�	!
!
!
!
! 
!	(
!
0
!8
!@
!
H
!P
!X
!`
!h
!p
!x
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
! �
!!�
!"�
!#�
!$�
!%!&!'!(!) !*(!+0!,8!-@!.H!0P!1X!2`!3h!4p!5x!6�!7�!8�!9�!:�!;�!<�!>�!?�!@�!A�!B�!C�!D�!F�!G�!H!I!J!K!L !M(!N0!O8!P@!RH!SP!TX!U`!Vh!Wp!Xx!Y�!Z�![�!\�!]�!^�!_�!`�!a�!b�!c�!d�!e�!f�!g�!h�!i
!j
!k
!l
!m 
!n(
!o0
!p8
!q@
!rH
!sP
!tX
!u`
!vh
!wp
!xx
!y�
!z�
!{�
!|�
!}�
!~�
!�
!��
!��
!��
!��
!��
!��
!��
!��
!��
!�!�!�!�!� !�(!�0!�8!�@!�H!�P!�X!�`!�h!�p!�x!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!�!�!�!�!� !�(!�0!�8!�@!�H!�P!�X!�`!�h!�p!�x!��!��!��!��!��!��!��!��!��!��!���H��H��� H��t��H����5�� �%�� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h�������%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݼ D���%ռ D���%ͼ D���%ż D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݻ D���%ջ D���%ͻ D���%Ż D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݺ D���%պ D���%ͺ D���%ź D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݹ D���%չ D���%͹ D���%Ź D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݸ D���%ո D���%͸ D���%Ÿ D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%�� D���%}� D���%u� D���%m� D���%e� D���%]� D���%U� D���%M� D���%E� D���%=� D���%5� D���%-� D���%%� D���%� D���%� D���%
� D���%� D���%�� D���%�� D���%� D���%� D���%ݷ D���%շ D���%ͷ D���%ŷ D���%�� D��AWAVAUATUH��SH��������A�L�=��L�5$�!L�-�����!A��D9�~mIc�L��H�D��8-u�H��L����€���tH�ƹ	L�������u�A��D9�~�J�|
1�L��H�5M������u��DD���!E���
�
RA�L�%�����D$�Ic�L�t�L�,�A�>-��A�~t�L��L����������L��H�=���������H�=�L�������tH�5wL���>���������!���!DA��D9��S���D��!E��u
�=�!��	D�
�!E���&��0���D�y!E����H�=؂����I��H��t��L� ���H�=-H�}!�l���������=|!���{�5r!���`�
�!���|��!���^�l!��t
�=�!��	H�=s!���=�~!���=�~!�H�=k!��H�=�~!H��t
�=�~!��	�D$A�L�%��IcǹL��L�l�M�uL����������	L��H�=Ȁ��������L��H�=F��������L��H�=,������x�	L��H�=
������ZH�5WL���+������CH�5?L���������,H�5ՀL��������H�5��L���������H�5L����������H�5�~L���������H�58�L���������H�5 �L���������H�5�|L���s�������H�5�|L���\������tH�5�L���E������]H�5�L���.������FH�5�L���������/H�5�L���������H�5�L��������H�5{L����������H�5-L���������H�5L���������H�5lL���������H�5TL���v��������=K|!���=�|!��A�>-���=|!��{!�w	�=�{!�[	L���8�=�{!t�
�{!����D$�=�{!��5|!���H�=1��-�@�u|!�����
�������H�5�zL���������H�5�zL��������uH�5�zL���x�������H�5�zL���a������H�5�zL���J�������H�5�zL���3�������H�5vzL����������H�5^zL����������H�5PzL���������H�58zL����������H�5*zL���������H�5zL���������H�5zL���������H�5�yL���{�������H�5�yL���d������sH�5�yL���M������\H�5�yL���6������XH�5�yL���������AH�5�zL����������H�5�zL��������H�5�zL�������IH�5�zL�������2H�5xzL������H�5kzL�������H�5SzL���~����H�5GzL���g����H�5/zL���P����H�5"zL���9��tH�5zL���&���{�7y!����y!����q��
Z� ��=�x!�H�=y!��I��H���H����H��x!H���L���2����=�x!tH�=�r1��[*H�=�x!t
�=x!��L�%�x!M���g����=1x!�Z����=Dx!��L����I��H�����a�L�(�Y�1�L��H�0L���Y�L����H�Zx!H����L����=�w!���H�=r1��)����f�A��A��D9�������=�w!���=�w!t
�=>x!���T$�D$~w!	��H�=�w!H��t��H�=�w!H��t��H�=�w!H��t���H�=w!H��t���������.w!H��[]A\A]A^A_�H�=�c��H�=�c�+��F����������t���x����w�������2��u���H�
V'H��'H�5((H�=(�l�������v!	�V����=ev!��������
� ��=iv!��H�=�v!��I��H��t���L�(�~�1�L��H�0L����L�����H��v!H���L���^��=v!����� ���H�=y� �H���H����������H����H�5.yH�81����.����sv!�
,� ���1�1��>6���H�=r� L��1�H��x�L�H�uH�=Q� ����@�����L� �U�H�5F�H�81�A����L� �9�H�5j�H�81�A���e�L�mL� ��L��H�5w�H�81�A���B�L�mL� ��L��H�5��H�81�A�����1�1�1��4�H��t!H������L�-�t!L� ��L��H�5�nH�81�A����t!H�at!���1�H�=�q!�F��7���H�uH�=F� ���ct!������L�5�t!L�(�>�L��H�54�H�81�A���.t!H�t!�!����M�L�5~t!L�(��L��H�5,�H�81�A����s!H�Ot!���H�
�� �%�H�=�������1�H�='q!�r�����1�H�=q!�_��+����
� �{���L�5�s!L�(�g�L��H�55�H�81�A���Ws!H��s!���H�5�uL���L���tH�5�uL���9�����J�D-A��H�ys!��s!�
s� ����s!�
]�  ���
N�  ���
?� ��
0� @��1�L���A3���L���)����4s!��H�5�sL������tH�5psL������u��r!�Q�H�5[sL���b���tH�5GsL���O���u�Xr!�
�� ��H�5-sL���)�����H�5sL������tmH�5
sL������tH�5�rL�������uZ��q!��q!�
3� ��H�5�rL������tH�5�rL������uS�r!��q!�
� �n�H�5�rL������tH�5�rL���l���u���q!�
�� �5�H�5rrL���F���tH�5^rL���3���u#J�D-A���q!�
x� H�yq!���H�54rL������tH�5 rL�������u#J�D-A����p!�
/� H�(q!��H�5�qL������tH�5�qL������u�rp!�q�H�5�qL������tH�5�qL���o���u��p!�?�H�5�qL���P���tH�5�qL���=���u�p!�
�H�5~qL������tH�5jqL������u��o!���H�5UqL�������tH�5AqL�������u��o!��H�5*qL������tH�5qL������u��o!k�
�ҺdD‰�o!�e�H�5�pL���v���tH�5�pL���c���u�ho!�3�H�5�pL���D���tH�5�pL���1���u�6o!��� 
��H�5�pL������tH�5�pL������u��n!���H�5kpL�������tH�5WpL�������u��n!��H�5BpL������tH�5.pL������u�~n!�
ܥ �W�H�5pL���h���tH�5�oL���U���u�Bn!�
�� ���H�5�oL���,���tH�5�oL������u�n!�
d� ���H�5�oL�������tH�5�oL�������u�	�En!�����H�5�oL������tH�5yoL������u�(�1�����
� @�_�H�5UoL���p���tH�5AoL���]���u$���������
�� ���H�5oL���&���tH�5oL������u��m!�������H�5�nL�������tH�5�nL�������u��l!�
$� ��H�5�nL������tH�5�nL������u�^l!�
� �f�H�5�nL���w���tH�5nnL���d���u�!l!�
�� �-�H�5TnL���>���tH�5@nL���+���u��k!��H�5-nL������tH�5nL������u��k!���H�5nL�������tH�5�mL�������u(J�D-H�5�mH�=�mA��H��k!�p��{�H�5�mL������tH�5�mL���y���u1��l!����
�� �8�H�5rjL���I���tH�5^jL���6���u	A���	�H�5hmL������tH�5TmL������u1���k!�xk!�K����H�5.mL�������tH�5mL�������u@J�|-A��H�����1��
���$k!���s�1��k!����`�H�5�lL���q���tH�5�lL���^���u�j!�.�H�5�lL���?���tH�5�lL���,���u��i!��j!��H�5xlL������tH�5dlL���������J�D-A��H��i!��L�m�}�H�=�� �H�BiL�L��1��]����H�
\� H�=:i����������	��������	������^	������*	���������|�������j�������X����Z�	�F����&�
�4�������"�������������
�����V�������"�����������������������������R������� ��������n�������\�������J����N��8������&������������������~�������J����������������������������z�!����uZH�5�� �
����D$��H�5�iL������tH�5}iL������u5��f!�
M� ���H�
�� ��H�=�g���H�5=iL������tH�5)iL������u�(f!�w�H�5iL������tH�5�hL���u�����f!�A�H�5�hL���R���tH�5�hL���?���uJ�D-A����f!H�lf!��H�5�hL������tH�5�hL������uJ�D-A����f!H�f!��H�5�hL�������tH�5qhL������uH�=Л �
� �q���|�H�5LhL������tH�58hL���z���u�%̜ �����G�H�5#hL���X���tH�5hL���E���u��b!��H�5�gL���&���tH�5�gL������u[J�|-A��H�����D�-rb!�?���A��?�< t<:ujH����H�
�� �"�H�=F|�����H�5�gL�������tH�5pgL�������u1J�D-A���e!H�d!�R�I��A���tJ<:tFI����H�55gL���N����tH�5!gL���;�����z���c!�
�� ��L9�����L��H)��i��Ic�H�
a!H��Hcpa!H�<�I��t�P�]a!A��L�����H�
�� ��H�=kd����d���H�
m� �	�H�=?d����0���H�
K� �	�H�=d�����H�
)� ��H�=�c������H�
� ��H�=�c�a����H�
� ��H�=�c�?��`���H�
Ü ��H�=mc���,���H�
�� ��H�=Ec������H�
� �	�H�=c��������H�
]� ��H�=�b������H�
;� ��H�=�b����\���H�
� �	�H�=�b�s���(���H�
�� ��H�=pb�Q����H�
՛ ��H�=Gb�/�����H�
�� �	�H�=b�
�����H�
�� �	�H�=�a�����X���H�
o� ��H�=�a�����$���H�
M� ��H�=�a�����H�
+� ��H�=sa������H�
	� ��H�=Ia�c�����H�
� ��H�=!a�A���T���H�
Ś �	�H�=�`���� ���H�
�� ��H�=�`������H�
�� ��H�=�`�������H�
_� ��H�=}`������H�
=� ��H�=S`����P���H�
� �	�H�='`�u������H�
�� ��H�=�_�S�����H�
י ��H�=�_�1�����H�
�� ��H�=�_������H�
�� ��H�=�_�����L���H�
q� ��H�=X_��������H�5�XL��������5���1�H�=�\!���M�uA�>-���=_!��E1��D$��=�^!uiM��tZI�}L����D$�D$9C_!~R�=�^!t�I�}�W��H�=�� H�b�1������^!������I���I�}�i�M�����L���F����H�5XL�����������7�����^!�i��J�D-A��H��^!�T��@��1�I��^H��H���PTL�6WH�
�VH�=����Z� �H�=ٗ H�җ H9�tH�N� H��t	�����H�=�� H�5�� H)�H��H��H��?H�H�tH�� H��t��fD�����=�� u+UH�=� H��tH�=�� �y���d����u� ]������w������H�qVH��HD�M��LD�M��LDȋ�]!�3� ��t�fDH��H�=
� 1�AQI��H��APA��H�z`����H������H�VH��HD�H��HD�M��LD��z]!�Ö ��t�fDH��H�=�� I��1�APH��I�оH�4`�_��H���f.�SH��H��H�:`�1��6��H�ٺ:�H�=B`���H�ٺ9�H�=i`���H�ٺ7�H�=�`�k��H�ٺ"�H�=�`�R��H�ٺ9�H�=�`�9��H�ٺ8�H�=�`� ��H�ٺ>�H�=a���H�ٺ6�H�=3a����H�ٺ7�H�=Ra����H�ٺ=�H�=qa���H�ٺ(�H�=�a���H�ٺ6�H�=�a���H�ٺ<�H�=�a�q��H�ٺ9�H�=�a�X��H�ٺ2�H�=b�?��H�ٺ$�H�=;b�&��H�ٺ(�H�=Jb�
��H�ٺF�H�=ab����H�ٺ=�H�=�b����H�ٺA�H�=�b����H�ٺD�H�=�b���H�ٺ#�H�=c���H�ٺ�H�=$c�w��H�ٺ0�H�=+c�^��H�ٺ6�H�=Jc�E��H�ٺ-�H�=ic�,��H�ٺ1�H�=�c���H�ٺ�H�=�c���H�ٺ>�H�=�c����H�ٺ*�H�=�c����H�ٺ*�H�=�c���H�ٺE�H�=�c���H�ٺ�H�=*d�}��H�ٺ>�H�=1d�d��H�ٺ:�H�=Xd�K��H�ٺ.�H�=d�2��H�ٺ3�H�=�d���H�ٺ)�H�=�d���H�ٺ2�H�=�d����H�ٺ2�H�=�d����H�ٺ5�H�=
e���H�ٺ(�H�=)e���H�ٺ8�H�=@e���H�ٺC�H�=ge�j��H�ٺ<�H�=�e�Q��H�ٺ>�H�=�e�8��H�ٺE�H�=�e���H�ٺ5�H�=f���H�ٺ"�H�=2f����H�ٺ9�H�=Af����H�ٺ4�H�=hf���H�߾1�H�
}PH��f���H�ٺ'�H�=�f���H�ٺ*�H�=�f�l��H�ٺ%�H�=�f�S��H�ٺ<�H�=�f�:��H�ٺ2�H�=�f�!��H�ٺ �H�=
g���H�ٺD�H�=g����H�ٺD�H�=Kg����H�ٺ>�H�=zg���H�ٺ4�H�=�g���H�ٺ3�H�=�g���H�ٺ=�H�=�g�r��H�ٺ8�H�=h�Y��H�ٺ:�H�=-h�@��H�ٺ4�H�=Th�'��H�ٺ;�H�=sh���H�ٺ>�H�=�h���H�ٺ<�H�=�h����H��[�B�H�=�h����f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���U!��� ��uZH��$��H�
͎ �H�D$H�=NH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���T!��� ��uZH��$��H�
͍ �H�D$H�=MH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���S!��� ��uZH��$��
H�
͌ �H�D$H�=$LH�D$ �$�D$0H�D$���H��H�ھH�=�� �G��H�D$dH3%(u	H���[��i��f���AWAVAUI��ATI��UH��SH��(�
�O!H�|$��~0H��1�H��t&�H������fDH����/�HD��u�M���-I�$H��� H���Hǀ�H�T$H���Hǀ�H�`O!H�T$H���1�L�=YO!��~`DI�<��7��H�5KH���H��H��H���=��I��H��t$L��L��H��O!I��H���ZL���I� H��9�N!�H�|$tI�$H�L$H���H�|$t9I�$H�L$H�T$H���H����M��tL��H�5�dL��1�H�L$��E1�H��(L��[]A\A]A^A_��H�D$H�`N!H�D$H�������L��L��H�|$��I��H����H�L$H��tI�$H���H�L$H��tI�$H����
N!���t���H�L$M��H�zIH�=7� LD�L�T$H��IH��HE�M��H��1����L�T$�+���@�
�M!�S���DH�L$H��tI�$H���H�L$H��tI�$H����xM!��t5M��L��L�T$L��HH�=�� H�IME�1��|��L�T$L�T$L����� L�T$����H�59cL��1���E1��y���H�l$�R������S���H��H��t�)���
P!9�|H��[�f.�H�=	� H�c�1�����H��1��O!	�� �ff.�@��S����H��H��t����
�O!9�|H��[�f.�H�=�� H��b�1��v��H��1���N!	��������������S�f��H��H��t�I���
+O!9�|H��[�f.�H�=)� H�"b�1����H��1��3N!	�r���UH��SH���H�t$(H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�1�H�=K!�r��H�
K!�H+
K!H��H��J!H��S㥛� H+�J!H��H��?H��$�H�=>� Hi��H�D$H�D$ �$H���D$0H)�H��H�D$H�H������1�H�پH�=� H��F����H�D$dH3%(u
H���[]������AWAVAUATUSH��H�����H�߉�����
�M!A��uCH�={L!t'����H�=aL!H��t��u
�������H��[]A\A]A^A_�H������H��H��I��H��ELD�����H��I�����H��A�����H��E��M��AW�‰�H�5�E�1����XZM���L��H�5#H�1��u����=���H���H��H���0����+H�
�� �H��H�=�_���H���1H�����H�
�K!�H�=|� I��H�hE1��[���E������H�=CK!���������fD1�H�
?� ��H�=:E���H�=
K!����H��J!H�������H��H��[]A\A]A^A_�%�� f�H���h��H�=�J!H���9��A�ą��1�H�=�J!�\���H��膿��H��I��苾��H�=�J!L��H���9����xeD9���H�������H�
|� �+�H�=�^����H�
WJ!H�=X� 1�I��H�BD��2���E��uJ�/����H�
)� ��H�=�C���H�=�I!����H��I!E�����H�=�I!�g�����������f.��
�־���.����H���8��H��� ���H�
�I!�H�5^CH��H��1��0���H�=pI!�����k���ff.�f�AWAVAUATI��USH��dH�%(H��$�1���I!���[H��H��������1�L��1����A����H�t$0E1�A����1�� ���I��H�����D�|� �t$0H��1�L������H�=�H!H��H����1�1�1��-��H��H!H��tiH������H�zH!H����1�1�H����������H�
n� ��H�=:B����H�=9H!����H�)H!�W����L�=$H!H�(�D���L��H�5XBH�81����5H!H��G!fDH��G!H���G���H������H!���Q��G!����H�-TH!��G!H�����t�H!��u1�H�=6E!聼���H��H���%������}��G!���H�-�G!H��t3H��H��証�������-nG!��tD��G!E����fDH���ؽ���Ń�u-D�
H!E��u
H�=�F!t�H���C���H��諽���Ń�t�D�G!E��t(�=JG!��uH�=nG!�PH�=;A1�����f��
nG!���RH�=BG!��H���\�������H�=�� L��1�H�A�f�����F!H�����L��H�A���\H�=3F!H��t����H�F!�|F!��t1��e��H�t$0L���H��D���p���H��$�dH3%(��H�Ĩ[]A\A]A^A_���z} 1�E1�A������
���H�=�E!H��H����������f�1�H�=@�����E!H�-F!H��td���%���D�=�E!E������1�H�=C!�Z�������D��E!��t�H�-�E!H������ @1�H�=�?�2����PE!����D��E!E�����1�H�=�B!��������L��H��?H�=�~ �1��Ӹ���E!���@H�=PE!�V���H���z�����������D!���7���H�=�~ L��1�H�2?�v����������H��������f�H�������������誾��L�8�b���L��H�5�XH�81�A���RD!�o������H��螷���F���f��[���L�=�D!H�(����L��H�5:XH�81�����C!H�^D!�D��������L�=<D!H�(�̺��L��H�5"XH�81�����C!H�D!�1�����5.D!�������H�=�=1��d������D��跶��L��1�H�=F} H�c=�*����\C!�����6���fDAVAUL�-�y ATI���=�C!U�} S��u�5�B!L�-�z ����1�L���;���H��H����H�=HC!H�����z���H��H���~�	���L�0����1�H��H�0L���Q���L��H��膼��L��1�H��L�U=H��蟹���
�B!��u5����H�=V| L���MH��<�1��*����\B!H��[]A\A]A^�@���L�-�z �/���@[]A\A]A^������H��H����L� L�(H��<1�H�CH��H����H����H��H��荼��H������H�{t.H�
�{ ��H�=~<����H�{踷��H�CL�#H��[]A\A]A^�=���D��A!���*���H�=S{ L��H��;�/����
���f.��RA!	[H��]A\A]A^�V���fDH���H����fDH��U�1��ݴ���A!���ff.���H9=�z t����fD1��D��ATUSH��H�5�z dH�%(H��$�1�H��t譹��H�5�z H��H��蛾��H�Dz ��H��跶��H��tjƄ$�H��H����������!�%����t������D�H�SHDډ��H��H)�D�cIc��t���H��tA��s9A��usE��uNfDH��$�dH3%(uiH��[]A\�f�E���H��H��J�T%���J�T ��H���U�A��t�E��B�T%�fB�T ���UE��B�T%�B�T ���w������H��H��Hc�H����U���H���AWAVAUATUSH��H�$H��(D�@?!dH�%(H��$1�H��I��E��tD�
_?!E���&H�����=??!�)?!���������}-���}L�-�x ��M��tIL���1�L��$L��蚸�����BL9-[x �VL���ͺ��H���N@��>!H��$dH3%(��H��([]A\A]A^A_�D���p�}-�V�}L�-�w �EM��t�L���1�L��$L�������W���I��L��1�1��(���I��H����5Vu H��讲���@1ɉ�L��L��艹��L���L��蔷�����1�L��L���^���L��E�fI�^�.���D%7>!����H��1��w������f��5�=!������t 1�H��袷��H��H��������4=!��tD�=m=!E����D�5=!E���<
D�-=!E��tXD�%�<!E��tD�5=!E�����5^t H��薵����y
��<!D��<!E��tD�
�<!E����@L�%Q<!M���PH��� ���I��H����
H�XL��H���E���L��I���j���M���qA�<$��A�$H�sUHc�H�>��D�9<!E�������H�=7�T���1�H��61�H��H������H�5�6I��H���̳��L��H�������@1�H�=_9!誰������D�
�;!�����}-���}���
(s 1�1�1��}���H���V���DH�T$H�����������1�H��1�����A�ą����H�t$@1�E1�A�����S���D��I��H�����D��r �t$@1�H��H��軯��H�t$@L��H������D���C������fDH�5�5H�����I�������H�5�5H�����I�����f�H�5�5H�����H���(���D�
!r M���`H��I��H��L��AQH�����E1�H�5����蓱��H��XZ�*���f�I�|$ �f���fDL���H����
;!���:��:!��tE�.:!����	�H���u���I�ċ:!���d	H��L���	�����9!���3	�):!�����:!���wH�CH��t&fDH�x H���H�@0H��u�f.�D�I:!E���h�=V:!����5�9!��t�
�9!����
��9!��th��9!��u^��9!H�=�9!����H��H��2H��HD�蛳���)9!�����_9!����H�=�41�����@��8!������8!����D�=�8!E���dD�5�8!E�����^9!H�T$H�t$H�
�8!H�������xH������H�t$H����HcT$����H����U@H�|$�=r D�%R8!E����D��8!E��uH�=�31���L�%�8!M����D�
8!E��t�N8!����L��1�贴��I��D��7!E��tD�
&8!E����M���4�g���I��H���#
H����H�I�D$���D��7!H�I�D$E��t�=�7!���`L��H��L��������uAH�=�7!��蛱��L�=�7!L�0�L���L��H��H�5MH�81�A���97!�5+7!��t�
e7!����
L��轭��L���e���L�%N7!M������6!��t�-7!���5�=�7!D�=7!����E��t��L��跳��I��H����H��H���0�������D�5�6!E���@L���0���D�-}6!E���@D�%�6!E���L�%�6!M���L���Ȯ��I��H���,�w���L�(�o���1�L��H�0L������H��L���D������D�

6!E���<L��贯��D��5!E��t�=*6!������6!��t8D�-	6!E���pD�%�5!E��t�-�5!��u1�H�=!3!�l���@H��蠫��D��5!E���
���D��5!E�������H�=�11��B����DD�=15!E�������H����H���H�@`H����H�T$1�����H�HH�
H�x�NH�H�zH��A����@��H��A��u҃�H�=�4!Hc�Hc�H�D�H�D�H���_H���H�L$1�����H�}4!H����H�����H�]4!H��tH1�1�H��������y8H�
Yn ��H�=%.賱��H�=$4!���H�4!@H���`���I��H���$D�514!E���t@L��訪��A�ă�u.D��4!E��u
H�=�3!t�L����L���z���A�ă�t�D��3!E����L�����E����
H�=�3!H�������L���H�i3!���@H�=4!���ŭ��L�-4!L� �v���L��H�5{/H�81�A��L�%�3!�_3!M���U���L�%�3!M���D�73!E������D�k3!E������1�H�=�0!�ܧ������H���Ȭ��H�
�l H��H��H���O������f.�H������I��H�������H��蔥��H�CPL����������L�%3!M��������H�=�2!H���@D�m2!E��t
�
�2!��t1�����I���Z���H�=�/!1��
���H�=�2!�אL�%�2!M������L�%y2!M���&L��設��I��H�����7���L�(�/���1�L��H�0L������H��L��蔤�����\��1!����L��趥��D�=�1!E����������H�=yk H����H��+�1��M����1!���fDH�=2!L�%Jk H��tH�5�,�Y���I��M����H��L���B���H�=�1!�����L���\��������1!	H��������f�H�=�j H����H�J+�1�蝤����0!����fDH�=!,1������D1�H�=�+�r���0!�������1�H�=�-!�F����m����1�H�=�-!�2����;���DH�=�*1��*��)�DH�=<,1����X���D�Z0!�����@0!���\
��0!���&
M����
�
og L��1�H���¦��A��$�H�Å������/!�����L�-40!L� �1���@���L�-t/!L� 蔦��L��H�5�)H�81�A����/!H�E/!DH�1/!H���������H�=)i H�������|���@L�%�/!M��tB�5*/!�������
`/!������1�H�=�,!�ң�����DH�=/+1����D�5�/!E����������DH�qC�1�荢����.!�&���fD1�H�=,!�j������DH�
ih ��H�={)�ë���u.!	��@E1�I��L��1�1�蜩��I��H���p�5�e H���R����1ɉ�L��L���A���M���L��Hc
�e �E������L���1�L������L��I�^����<�fDD�
.!E�������H�=B)1�������DD�%�-!E�������1�H�=+!�b����m���DM����I�$H�T$H���H��"H���H�� I��$�H�I��$��
�d 1�H��L������H�����fD�AD$��������;	���
	H�=Q(������A�t$����H�=&(�����f�I�D$H��tD�E���BH�
�f ��H�=�'�����,!
�>�fDH�
af ��H�=HA軩���m,!
��@H�D$L�L$A�1ɺ1�H��賡������H�t$Hcп詩��H������H�
�e ��H�=�'�B�����D1�H�=_)!誠���k�DL9-�e ��+!	�C�L�����6�@L�t$�1�L����A�Ņ���H�=be ��H���&�H�=�@賨����fDH��?�1������G+!�:���fD��+!����轝��I��H����	�+!��t�I+!���+	I�$�,���H�I�D$����H��L��H�I�D$�ܥ��������*!��t��*!����L���T�������Ӥ��H�苡��H�5�@H�81���L���|*!	�˦�����fDH�=�&1��2������DH�=!d H��H��$������1�H�=�'!����)�DH�=�$1������M�DH�
�c ��H�=�$�#�����)!
�|�@H�=�c H��H�1$�u�����H�
9*!H�=rc H�'%1���O�����)!�H�H�=Ic H����H��#�1������O)!���fDH�=X%1��
����D1�H�=�&!�����DL�L$A�1�1�H�D$���H�
�b ��H�=�>������(!��@H�
�b � �H�=�=�����(!
�<�@��L�=�(!L�0�#�@H�
Ib ��H�= $裥���U(!���@L�%�(!M�������A���1�H�=�%!�����DH�
�a �+�H�=�=�C�����'!�#�@D��H�F=1�E1�L�=�#萛��K��H�=�a L��1��I���r���E9�����H��'!�+(!H���,����H��H�� H��HD�1�蹞���)�@H�=�"�T�������E1�H��H�5;�H��H�=�����H�����@��'!H�=�'!���<��'!��������D�D�-'!E��t�� H�5�&!H����譜��I��M���H��L�����H����L�������;�H�1;�1��M����&!��fDH�D$L�L$A�1ɺ������1��E�@�k���L� �#���H�5�;H�81�A���&!�e�DH�
�_ �%�H�=;�3����>�fDM���������%!����H���ٙ��H���r��H�T$H��������� �1�H��1��:���A�Ņ��	�H�t$@E1�A����1��s���I��H�����D�
�\ H�t$@M�����E1�H��H��L�����H��H�t$@L���.���D���V�������H�=�^ H��H���Ř���2��ۘ��I��H����H�H��1�H��
J\ L��H���H��H���H�+I��$�H�lI��$��o���H��L���4����@��H�=a^ 1�芚��I��H���|I�D$E1�L�=,�8��~Af�H�@E1�E1�1�1�L��J��I���"���L���L���b���I�D$D9(�L��������AD$�����txH�=@������H�=�ԗ���o�H��H�EH��HD��9����O�D���ܖ��H��1�H�=k] H���O�����#!���AD$��H�5��ӗ��������L�%.] H��tH�5��=���I��M���H��L��������y
�#!H�=�#!���L���2�������(���L�(���H��H�5^7H�81�A����"!������^H���ޕ����H�
�\ ��H�=q�ܟ����"!�(�H��H��H��HD��™���2��H���I��H��t`�
�Y H��1�H������A��$�H�Å�������,"!���A�H��蝙���}���Y 1�H���(���H������!!	�k�H�=1�����"���1�H�=E!萖������H��H�A�H��HD�1�����n���!!�5��ś��H�(�}���H�5�7H�81���H���n!!	�m�������H���������[��������I���p���E��1�H��H��誛��H�����H�
�!!H�=�Z H��1������� !��H�
�Z ��H�=������� !	�f�H�
O!!H��t.H�=�Z H���1��`����� !����l���H�
�����!!�_Z ��t1���H��H�
5Z ��H�=�����1�H�������� !�Z ��t1���H��H�
�Y ��H�=I�/���1�H�������v !��Y ��t1���H��H�
�Y ��H�=�ߜ��1�H����H�
iY ��H�=I鳜����� !�OY ��t�f.�U1�H��H��SH��H��H��H�=Y ���H��tJH�=�X 1�H��H����Œ��H��tJH�=�X H��H��1�[H�"�]青��DH�
�X ��H�=^���H��u�H��[]����ff.����6!�X ��t�f.�U1�H��H�SH��H��H��H�=<X ����H��tJH�=+X 1�H��H������H��tJH�=	X H��H��1�[H�R�]�͑��DH�
�W ��H�=��+���H��u�H��[]�K���ff.����f!��W ��t1���UH�=eH���SH�ӺH��H�
lW �ǚ��H�5`W H��t;H���s���H�=LW H��t=H��H���1�����H��1�[]��� ����H�=W H��u�H����H�=��Q���H��1�[]������!��V ��t1���H��H�=�V H��1�H�������1�H�������F!��V ��t1���H��H�=eV H��1�H�a��/���1�H��������!�?V ��t�f.�H�=V A��H��1�H�.��������!��U ��t�f.�H�=�U I��I��H��H��1�靏��ff.�f����f!��U ��t�f.�H�
�U ��H�=��Ә�����&!�oU ��t�f.�H�
IU ��H�=�铘������!�/U ��t�f.�H�
	U ��H�=��S�������!��T ��t�f.�UH��1��SH��H�\H��H�=�T 芎��H��tZH�H��tRH��H�-Hf�H�=�T H��1��Z���H�H��tH�=kT H���1��8���H��H�K�H��u�H�
DT H����[H�= ]鈗�������!�T ��t�f.�H�=�S H��H��1���Í����H��8Hc
�!dH�%(H�D$(1���S ��uR��~*�H�|$���L��Hc�H��9�~��~�H�=�S �A��1�H��H�?��D���H�D$(dH3%(uH��8��J���f.�����!�?S ��t�f.�H�=S H��H��1�������H��8Hc
�!dH�%(H�D$(1���R ��uR��~*�H�|$���L��Hc�H��9�~��~�H�=�R �A��1�H��H�/��d���H�D$(dH3%(uH��8��j���f.����!�_R ��u+H�=DR H��t'I��H��H��.1������fD��H��H��.�1����f�����!��Q ��t�f.�H�=�Q A��H��1�H���頋�����v!��Q ��t�f.�H�=�Q H��H��1���c�����AWAVAUATUSH���(!�qQ D�t$PD�|$XH�l$`��tH��[]A\A]A^A_��H�=1Q I��1�H��H�T$�E��L��H�6���L�D$M����H�=�P L���1�H�(�Š��H�=�P M����L��H��1�蜊��H�=�P 1�D��H�#�����H����E�E���|A��A��I��N�l#L�%�H�
iP ��L��跓��H�H��tH�=HP H���1�����H�K�1�H��H�=P H�z��I9�u�H�=P 1�E��D��H�E��Ή��H����G�$�E��~|1�L�-��D�H�1�1�蝉��H�L�D�D� 1�H�H�=�O �H��A)��r���A9�~-H�L�L�D�H�=|O H��u�L��L��1��E����H�
YO H����[H�=5]A\A]A^A_镒��DH�
)O ��H�=R�s���H�=O M���1���H����H�=)�J����)���D����!��N ��t�f.�U1�H��H�2SH��H��H��H�=�N �w���H��tJH�=�N H��1�H���U���H�=nN H��tJH��H��H��1�[�]�-���DH�
AN ��H�=j苑��H�=$N H��u�H��H����[H�=�]�`������=�!S��M H�\$��uEL��E��A��I��H��H�=�M H��t2PH��*�1�AR蔇��XH��Z[����f�[�fDH���H��*AR�a���YH��^[���fD��H��H�?H��t�Tcr�H9u0葊���-!H���H�
�,�H�5�H�=�薇��H�
o,� H�5�H�=d*�w������SH����N���H�H��t�Tcr���!H�[�H�
�L �(�H�=E*�����	���ff.�U1�H�5�L SH���!����H��t*H���Ō��H�(�}���H��H�5�H�81���H��KL �|L H��[]�DUSH��H��肌��H�(�:���H�5�H�81���H��t|H�5@L H��H���H����������!�%����t��L�K�����D�H�WHD���‹C4H��H)��P�H)�H�M��t,H���L�vH�����P1��}���XZH��[]��A��L�XH�����1���S���H��[]�����AVAUATI��US蠋��H��X���H�5%H�81���I�T$ I�l$H9����<
t<
t��@����H���
��
@�ƀ�
��	�H9�u�@��t�MH��I��E1���
w�$H����H��J �@����H�=�J �H����������!�%����t��D��L�pH����������D�H�WHD����@ƾP�H��I��1�A��H)�H)�H�� ���A�M���
w�$H��H�Ѓ�A��O�a���H�
BJ H��H�ʋ2H����������!�%����t������D�H�rHD־P����H��1�H)�H)�H�H��
輂��I�D$ ���
t��
uf.�H�����
t�
t�I��E1�H��I I��I�H9�u�kDI��I��Pt\H�=�I �H����������!�%����t�¾P������D�H�WHD�H�K���H��1�H)�H)�H�����M9�u�H�3I H��H�ы1H����������!�%����t������D�H�qHDξP����H��1�H)�H��
H)�H�譁��������H�諅��H�5�
H�8H��1�[]A\A]A^��f���
tD��
t?H������
tH�����)ƃ�Pt
H9�s��
u�
H��@�ƀ�
��	��N����
��
H��@�ƀ�
��	��4�����ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���G H�_8H�{�H���Q����܇��L� 蔄��H�5uH�81�A��H��$��$H�5�G H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H������I����D����/���H�(���H�5�H�81���H��tH���\�������H�D$dH3%(u*H���[]A\�HcG@����H�WHH�\������x������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��(F H�_8H�{�	H������,���L� ���H�5�
H�81�A��H�5�E H��H���H����������!�%����t��I��I���$������D$0D�H�WHD����H��$��H��H�D$H�D$ H)��P�H�D$H)�H�H�����虁���������H�(�7���H�52
H�81���H��tH������g����!H�D$dH3%(u(H���[]A\ÐHcG@�����H�WHH�\�����������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��xD H�_8H��tH�{�H������w���L� �/���H�5H	H�81�A��H��$��$H�5*D H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H��������������ʃ��H�(肀��H�5}H�81���H��tH��������H�D$dH3%(u-H���[]A\�fDHcG@�����H�WHH�\�����������ATUH��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1���B H�_8H��tH�{�H���<����ǂ��L� ���H�5�H�81�A��H��$��$H�5zB H�D$H�D$ H��H���D$0H�D$�H����������!�%����t��I��I������D�H�WHD���ºH��H)��P�H)�H�H������4~���/�������H�(��~��H�5�H�81���H��tH���G�������H�D$dH3%(u-H���[]A\�fDHcG@�����H�WHH�\������`�����AWI��AVI��AUA��ATL�%T5 UH�-T5 SL)�H���m��H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���(null)file:///etc/xml/catalogSAX.fatalError: SAX.error: SAX.warning: Loaded URL="%s" ID="%s"
/ took %ld ms
--%d %d %s %d %dNode %s matches pattern %s
xmlStreamPush() failure
  pattern %s node %s
xmlStreamPop() failure
mmap failure for file %s
Pattern %s failed to compile
Compiling the schemasParsing and validatingParsing%s fails to validate
%s validates
%s : failed to parse
Unable to open %s
user_dataSAX generated a doc !
1.0infoabcrbXinclude processingOut of memory for XPath
XPath evaluation failure
XPath set is empty
truefalse-InfinityNaN%0g
CopyingFreeing originalwalking through the docwbfailed to open %s
SavingCan't write data
Failed to canonicalize
Failed to save
failed save to %s
Parsing DTDCould not parse DTD %s
Validating against DTDValidatingFreeingSAX.isStandalone()
SAX.hasInternalSubset()
SAX.hasExternalSubset()
SAX.internalSubset(%s, , %s,SAX.externalSubset(%s,SAX.resolveEntity(, )
SAX.getEntity(%s)
SAX.getParameterEntity(%s)
SAX.elementDecl(%s, %d, ...)
SAX.notationDecl(%s, %s, %s)
SAX.setDocumentLocator()
SAX.startDocument()
SAX.endDocument()
SAX.startElement(%s, %s='SAX.endElement(%s)
SAX.characters(%s, %d)
SAX.reference(%s)
SAX.pcdata(%.20s, %d)
SAX.comment(%s)
SAX.startElementNs(%s, NULL, %s, '%s', %d, %d, xmlns:%s='%s', %s:%s='%.4s...', %dSAX.endElementNs(%s, NULL)
, '%s')
xmllint.cnode->_private != NULL<p>%s:%d: Entity: line %d: <pre>
%c^
</pre><b>validity warning</b>: </p>
<b>validity error</b>: <b>warning</b>: <b>error</b>: --maxmem--debug--shell--copy--recover--huge--noent--noenc--nsclean--nocdata--nodict--version%s: using libxml version %s
   compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ICU ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules MemDebug RunDebug Zlib Lzma --noout-o--output--htmlout--nowrap--html--xmlout--nodefdtd--loaddtd--dtdattr--valid--postvalid--dtdvalid--dtdvalidfpi--dropdtd--insert--quiet--timing--auto--repeat--push--pushsmall--memory--testIO--xinclude--noxincludenode--nofixup-base-uris--compress--nowarning--pedantic--debugent--c14n--c14n11--exc-c14n--catalogs--nocatalogs--encodeDVEncUTF-8--noblanks--format--pretty--stream--walker--pattern--sax1--sax--chkregister--relaxng--schema--schematron--nonet--nocompact--load-trace--path--xpath--oldxml10Unknown option %s
SGML_CATALOG_FILESXMLLINT_INDENTRegistration count off: %d
%d iterations</body></html>
SAX.entityDecl(%s, %d, %s, %s, %s)
SAX.unparsedEntityDecl(%s, %s, %s, %s)
Usage : %s [options] XMLfiles ...
	Parse the XML files and output the result of the parsing
	--version : display the version of the XML library used
	--debug : dump a debug tree of the in-memory document
	--shell : run a navigating shell
	--debugent : debug the entities defined in the document
	--copy : used to test the internal copy implementation
	--recover : output what was parsable on broken XML documents
	--huge : remove any internal arbitrary parser limits
	--noent : substitute entity references by their value
	--noenc : ignore any encoding specified inside the document
	--noout : don't output the result tree
	--path 'paths': provide a set of paths for resources
	--load-trace : print trace of all external entities loaded
	--nonet : refuse to fetch DTDs or entities over network
	--nocompact : do not generate compact text nodes
	--htmlout : output results as HTML
	--nowrap : do not put HTML doc wrapper
	--valid : validate the document in addition to std well-formed check
	--postvalid : do a posteriori validation, i.e after parsing
	--dtdvalid URL : do a posteriori validation against a given DTD
	--dtdvalidfpi FPI : same but name the DTD with a Public Identifier
	--quiet : be quiet when succeeded
	--timing : print some timings
	--output file or -o file: save to a given file
	--repeat : repeat 100 times, for timing or profiling
	--insert : ad-hoc test for valid insertions
	--compress : turn on gzip compression of output
	--html : use the HTML parser
	--xmlout : force to use the XML serializer when using --html
	--nodefdtd : do not default HTML doctype
	--push : use the push mode of the parser
	--pushsmall : use the push mode of the parser using tiny increments
	--memory : parse from memory
	--maxmem nbbytes : limits memory allocation to nbbytes bytes
	--nowarning : do not emit warnings from parser/validator
	--noblanks : drop (ignorable?) blanks spaces
	--nocdata : replace cdata section with text nodes
	--format : reformat/reindent the output
	--encode encoding : output in the given encoding
	--dropdtd : remove the DOCTYPE of the input docs
	--pretty STYLE : pretty-print in a particular style
	                 0 Do not pretty print
	                 1 Format the XML content, as --format
	                 2 Add whitespace inside tags, preserving content
	--c14n : save in W3C canonical format v1.0 (with comments)
	--c14n11 : save in W3C canonical format v1.1 (with comments)
	--exc-c14n : save in W3C exclusive canonical format (with comments)
	--nsclean : remove redundant namespace declarations
	--testIO : test user I/O support
	--catalogs : use SGML catalogs from $SGML_CATALOG_FILES
	             otherwise XML Catalogs starting from 
	         %s are activated by default
	--nocatalogs: deactivate all catalogs
	--auto : generate a small doc on the fly
	--xinclude : do XInclude processing
	--noxincludenode : same but do not generate XInclude nodes
	--nofixup-base-uris : do not fixup xml:base uris
	--loaddtd : fetch external DTD
	--dtdattr : loaddtd + populate the tree with inherited attributes 
	--stream : use the streaming interface to process very large files
	--walker : create a reader and walk though the resulting doc
	--pattern pattern_value : test the pattern support
	--chkregister : verify the node registration code
	--relaxng schema : do RelaxNG validation against the schema
	--schema schema : do validation against the WXS schema
	--schematron schema : do validation against a schematron
	--sax1: use the old SAX1 interfaces for processing
	--sax: do not build a tree but work just at the SAX level
	--oldxml10: use XML-1.0 parsing rules before the 5th edition
	--xpath expr: evaluate the XPath expression, imply --noout

Libxml project home page: https://gitlab.gnome.org/GNOME/libxml2
failed to load external entity "%s"
Ran out of memory needs > %d bytes
xmlPatternMatch and xmlStreamPush disagree
Relax-NG schema %s failed to compile
XSD schema %s failed to compile
Document %s does not validate
%s validation generated an internal error
XPath Object is uninitialized
XPath object of unexpected type
could not get valid list of elements
No element can be inserted under root
%d element types can be inserted under root:
Document does not have a root elementfailed to walk through the doc
Failed to crate a reader from the document
Couldn't allocate validation context
Document %s does not validate against %s
SAX.ignorableWhitespace(%s, %d)
SAX.processingInstruction(%s, %s)
SAX.processingInstruction(%s, NULL)
SAX.attributeDecl(%s, %s, %d, %d, NULL, ...)
SAX.attributeDecl(%s, %s, %d, %d, %s, ...)
*(long*)node->_private == (long) 0x81726354Out of memory in xmllint:registerNode()
MAX_PATHS reached: too many paths
Variable $SGML_CATALOG_FILES not set
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
	"http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><title>%s output</title></head>
<body bgcolor="#ffffff"><h1 align="center">%s output</h1>
Schematron schema %s failed to compile
WXS schema %s failed to compile
P������������x���deregisterNode;�;PM��@Y��@ e���
`���P���X����x0����@����@����@����@���P���h����� ����0����������� ���pp��������8��L0����P����@���������,0��DP��X �������������`��,���@���T0��hp��|������������`������@�����0���D ��X��������0��4	���P	��l	`���	@���	���
0��L
����
����
@��@����zRx�X���/D$40K���FJw�?:*3$"\�V���t�h|KM S�@���f|N [�����A�� ������E�J��
AA �d����E�J��
AA @����E�J��
AAH8���F�B�B �E(�D0�D8�D``
8D0A(B BBBH���aE�`
K�4���`E�`
K�x���	�t���`E�`
K,�����8A�D�G�$
AAAlȕ��CB�B�B �B(�A0�A8�G@Q
8A0A(B BBBD{HHPXHA@�
8D0A(B BBBHL�����JB�B�B �B(�D0�A8�G�j
8A0A(B BBBHt�����BB�B�I �J(�K0��
(A BBBEQ
(A BBBH�
(A BBBJC
(D BBBKT����0h����IF�A�A �G��
 AABJ����� HW`������B�B�B �B(�A0�A8�G� L�0�
8A0A(B BBBF��0K�0Z�0A�0<���Hdc0t���HdcH����Hdc`��4t��a�M�O ~
F�M�JfA�A�4������a�M�O ~
F�M�JfA�A�0� ���a�P�L F
CAIsCA���Hdc0���HdcH,��@\X��Cp���=����=����=(����a�K�N vK�H�����=�����H@�
Al��=����H@�
A8��^Lh��@`���=`t����F�B�B �B(�A0�A8�DPd
8A0A(B BBBH�
8K0H(B BBBJ4�����a�M�O ~
M�F�JmN�H�<����K�lP FDA
NA
GDN FDAP���iHb
AlH��RE�e
A$����[A�J�D IAA<�����A�A�G (T0H(A D
AAEaAA<�d��@B�B�B �D(�A0��
(A BBBD40d���F�A�D �G�n
 AABD4h����F�A�D �G�x
 AABB4�T���F�A�D �G�s
 AABG4�����F�A�D �G�s
 AABGH	$Z��<#F�B�B �B(�A0�D8�DP]

8A0A(B BBBAD\	���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�	 ��0|�{�!@� @
���!�!���o0xp
��	!�P.�'`	���o���o�&���o�o&%���o:�!P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH`HpH�H�H�H�H�H�H�H�HII I0I@IPI`IpI�I�I�I�I�I�I�I�IJJ J0J@JPJ`JpJ�J�J�J�J�J�J�J�JKK K0K@KPK`KpK�K�K�K�K�K�K�K�KLL L����A@�0�����@|����P��|� �`�P�����0��0�0�0������������`!@�0�����@|����P��|� �`���p�P�����0��0�0�0�����GA$3a1 @{GA$3p1113X��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*X0�GA*GOW*�GA$3a1�{��GA*0���GA*GOW*
GA*FORTIFY@|��GA+GLIBCXX_ASSERTIONSxmllint-2.10.2-5.el8.x86_64.debug1��7zXZ�ִF!t/��O�]?�E�h=��ڊ�2N�b�mK�DD�b�<XwNꯏ��x�#��>�U���o��j����Ʒ��03�X�F+y6\���%K�,쳼}�����;�h"���,sd�m����X��zH�@U��3�(=X���y��D�a�D�������:�a�6�k�V4e�M�7\E%�rO�ݒ}��:7���M�?�0��"L�NV�{��t6j4��nG:��B�y�B��V�Ŕ�\����Ĥ7�V��TKF��7��a�>0?�!�WH���ʇ��h7��%P�Cйo:m���Q�����`50�/������I%�[]�D��pC���4]�9ǖ����}K?�;-EI���v|]fT�J�=n�W�d;�/���)�GH�a��ŝ�SzUP�XT|hv>����dZ8H���#�n�C�z��{Gg�>g�A�#�m��(P�Ͱ�
�A�}��0�S�ۀ��b4��G.}?N
�D������2�3���9ԃ���ث
����h��,�=lǔ�Y�A&��՟fZ�5q�7|(�yt�^�Կ����U'!:-�!����V�N(�tk�'SB@?�g�%��}�t9^mω��9�"��6��W+��~��ئZ�ȭ�y��r�a����PI�`8��v�O�	���tI������Rlt�5NJzS�~�Ip�h�t�7���dm����s���B|�7���soe�ۜ�U��Y�b7�B*ZtC6��[�T-)��zvgK���ZdS����=_�"Ng��&�w9��qV�>�Ҽ�Ք�&:�G��B�L��ʂ�u�bX�$}�J��rۂ������F�.�0���q��JV�
�ME]�сdE�8I7�uTar�J��{+����չ�*��{��u9׃HՏ�����N��#~ou��j��ʘK�s�-LU��Mӂºt�fzd11 ���8�!��6n�%P�f�o����;�nlC���x!�.��֕�<?N�4D�O��Zv��"��b�(,M$��ù˴���Z
5�������v�RL�w���_7I����&��k�g�R3jZ�?X��J��l�d[������ٟ���ڸ!��h�
��1=6^n�B8e�k\m,�
�}$�`���/ Dž 9�	ݽ9��r�;N� �r]*����(����Np7�Q���Y��te�|�l|b�ƌ�5�a5^IH���:6�����q���ve��
��K�Td�t	�[���hrM:�"�;L�HG���i��G�8V3zޣ_�Z�B[Y}�K\�tKY��\a���	�Ki~����;,^��r�k�6���T�Xe�3�����^L��CڃsE�	�t�Z��V�#[�~�X�b$�>�
Ԙ��G��d�aZnY�����\3%�Tb��1(��Ѹud�����X*�)�c.�?S#�0�>P@�Q�Yk��@/2~p��گ
b����{a�{9�UǬ���ۙ�%"���G&�=Ύ���0`�y���g�YZ.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata���� &�� 4$G���o00@QppYxx�a���o&%&%�n���o�&�&0}�'�'`�BP.P.�� @ @�@@@@��0L0L��XX�z�����
�����7 ������������	��!���!���!���!���	!�	8�!` `!`� 
x�a`� (/@,l>PKi�Z����ppusr/bin/xml2-confignuȯ��#! /bin/sh

prefix=/opt/alt/libxml2/usr
exec_prefix=/opt/alt/libxml2/usr
includedir=/opt/alt/libxml2/usr/include
if [ "`ldd /bin/sh | grep lib64`" = "" ]
then
    libdir=${exec_prefix}/lib
else
    libdir=${exec_prefix}/lib64
fi
cflags=
libs=

usage()
{
    cat <<EOF
Usage: xml2-config [OPTION]

Known values for OPTION are:

  --prefix=DIR		change libxml prefix [default $prefix]
  --exec-prefix=DIR	change libxml exec prefix [default $exec_prefix]
  --libs		print library linking information
                        add --dynamic to print only shared libraries
  --cflags		print pre-processor and compiler flags
  --modules		module support enabled
  --help		display this help and exit
  --version		output version information
EOF

    exit $1
}

if test $# -eq 0; then
    usage 1
fi

while test $# -gt 0; do
    case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
    esac

    case "$1" in
    --prefix=*)
	prefix=$optarg
	includedir=$prefix/include
	libdir=$prefix/lib
	;;

    --prefix)
	echo $prefix
	;;

    --exec-prefix=*)
      exec_prefix=$optarg
      libdir=$exec_prefix/lib
      ;;

    --exec-prefix)
      echo $exec_prefix
      ;;

    --version)
	echo 2.10.2
	exit 0
	;;

    --help)
	usage 0
	;;

    --cflags)
        cflags="-I${includedir}/libxml2 "
       	;;

    --libtool-libs)
	if [ -r ${libdir}/libxml2.la ]
	then
	    echo ${libdir}/libxml2.la
	fi
        ;;

    --modules)
       	echo 1
       	;;

    --libs)
        if [ "$2" = "--dynamic" ]; then
            shift
            libs="-lxml2"
        else
            libs="-lxml2 -lz  -llzma     -lm  -ldl "
        fi

        if [ "-L${libdir}" != "-L/usr/lib" -a "-L${libdir}" != "-L/usr/lib64" ]; then
            libs="-L${libdir} $libs"
        fi
        ;;

    *)
	usage 1
	;;
    esac
    shift
done

if test -n "$cflags$libs"; then
    echo $cflags $libs
fi

exit 0
PKi�Z.�e����usr/lib64/libxml2.so.2.10.2nuȯ��ELF>`�@0�@8	@p�p� h�h�5h�5P�P� �F�F6�F6PP888$$P�P�P�  S�tdP�P�P�  P�td�a�a�a�M�MQ�tdR�tdh�h�5h�5����GNU����ƣ���!���s���|� ��B
" d� K@ ��T�h8� �iX!`C �D��� ��` 2��@�h7I�@A�LP�DB����RTHH�@@P�H�@��� R�H p`�@@1� 0��D�H8"�)$�@A�A��
C6A"(� �$�h��@(!
A$d@��4��``A�"�	c 0 $!A  �A�R0�@�����D��Є�&�l��$�8�`   �	��hQH�
�!@���D`P � �)C-�6"Dr��0 ��`R�	@ pŕ$h�2B@@�@'���#(��CP"1@���� ���*�@@@��@� H2! 
�@T�� @  @ 
%$(@À���� BB	�0k�A8 �pP�� �H@n�
�,D@B��PH)%h ���(� �0�`�� ĠS4�b T  &��F�!�A�R!E�HB�i	�($��0� �F,P*1!@Pa+P(T  1 @����H�H ���6qtH�� ��,	� ��FJBT�@�B��  `3�"��@��$H@@#
E@#I
@��`
�eRB@��'� �
 @�!��P(���K�Ea�/��������਀`�	h!�s.@
�"n����&��
A�H��(S�� `� � (�(Z� 91D���! 0�)�@�A� �@�@ ���� @�r($�D�� ���IPt�� B 	B
@@�`���A1X��H�dÒR$��!�  D�  Q
�A�6�X��`��6�!�B=�P��NTA1	$��c��D�@B� $��$ ���(@(�`� � @�A q�6@�@ �,(n @! @�$ @!@  �� 2�pP��!0� �D�B� �fe���
( Oab)"�D����(`P
���
`���0@�H�� %�
 xP  P  �A�t )�� I�@X�0�����
@AR���/��2�(@��!(�A2 
@$�a"1@$`@���,0$ �!!�D�@��5� @ )|0�@� �0P `@�" @+&HB
��@�
$��(PB �p�C��P�;�� ���@!����P�!��"� `	@H� ��@0��0J����Ɛ���|}~������������������������������������������������������������	
 #%'(,./023578:<>@ABCEJKMORX\]_`bdefgjklmnqsuw|������������������������������������������������������������������
 "%()*-024789:<>?@CFLNQTUWY\]^`bdeiklnprsuw{}~������������������������������������������������������
"#$()*,-/03568:<>?BFHMPQVWZ\^_acdghjkmnrsuwz{}~���������������������������������������������������������������	
 !"#%(+,.23568;<>@ADGHJNPSUVY\^_bdfhijlpruwy|~����������������������������������������������������������������������	
!#$%&'()+,0123469:<@DGIKLOQSUVWZ[_`adeghiklnqstvxz|�������������������������������������������������������
 "$(*+-02567;<=?@BEGHKLNPRVWY[^`acfgknortuw{}~������������������������������������������������������������
)
���Q���%�G̺pɠ7.}4`wɛ �1�>G�n��>F8��sU7⇐l-�^c@CZ��>.�ZeR��>.��>.�	T>��>.�>ma�`���bp�Z�I��>.���7���*3���H�_�ۥ��zv=������D�r��+λ��jR�^�W’��>.u�Y|���^�D��؜�9'��a���a���>.�K����0�
no5�}j����i�~-Z��^+��f���w�&c�qoL��6T#XAV�Ǿ�>�(	C/���O@�}@L�&Nǹ�ɮN�Z?t�/d���F)__�J(=g�}�vYf�7��t|7t�Tg�8�N�w/���Y}��w�[��
cc�Pn���Ύ�\�8һ "�檔qu��aN�W�i�C�X0wX:|�C�`bД�\��>�-L����<�>��!b��?��F�O����"�7�8�KB{B�M�����ۡϤZy��
���D�,�1�$u��S�{���N��&_�0�_K�qWm]�K��*{�v��.��@Z�׷��"�]�y$�AC8��|P�襪4
�'�iX�6�Vy�}�EyG���锪�x��w8Ҕ-=�ӑ̏|1��;��?z��6��C�� 5G�Ў.��2Z�W�~z���͵X���4�]Q��������І�����,]M���Ud�`Wҿ;b����+;U�F�-�p��V�BE��5��*o����#UQu��P����$���>.	��v\��q���Ҩ7�ކ���jOM�݄�G0w
h�,,�ya�8�o��>.��>.mf)0vU]����>.�biЇ�~N���p(�.�Eh�NZZ����b�|�����Ѯ���ٝJ]�G���ZhPt��X3���Pn�ߧ����q�;F�J����f�1�j�H�(�f��R��dө������g��G�H��IG�Y�u�2;��*��tjLv]�hkT����߫��2�&M�S��C5����p�
��������JÄZ�|�a��L����p���
"��K�3��:ro��*��N ڂ$(b����y,�&1P���r�&��b���U���Qe���
�F��]7���
i�ݚb�#I&m�]�S�T>���]�m�ndEt
G2q�V���ѳ3��W���SS�I�
��K�'�=
�o�c{3��))� �Q��bN��=P�1Q<���p���B�����x�mn��5g��E�d�	1/7��9^T��*��K���+�?hJ!�R�� �]6��zָ͗/�i����2�J��6 {�^i�(�M�6�	4AY�C��Ŭ8^B�z�2'j�՜$���8(����<>��B��쐧�Ȍc����R�rI�����ųPJ���f��7���_j.|�I�'�
�V��L�S��_e9S��:�
d1n���_���IG/���S��+L��`}�PG��UD[�]����uXao��ub��xxr
>�q��(1�:~�ܼ���Y�MPM"�D�/�q2:��Ǹ?�&����Uu#&*��g��0�p���6��j�q6�io�g,�q6��ώ
X"�̏{.�!��q6�s��R�̠�q6�
+�}jg��q6�q6�q6�5��fݹ��8��q6��R�d�'ɊhQT��3U�AƄ�kV���OZ����\W����h��uk��T�+���Y�"�4A�o�O���
���%G3|�"����YN��U�6u��#�z]�y\�vB�i�يhV�bG�����j�c_ތi�]�19<�8�_N�6��?�L���'���0}��
)RL�m��WF^����9UK�:^v�Dş3�mJ�)`����xV�6:���Y��*��*
ȸK��.�W19����ܑQ9��==""�vsH�ۭC��W��4:�1h����}� R�um�j=��i4
3v6�2v6���5v6�P�Xt5v6�8��	��v^���a-�엓�7v6�8v6�!��9v6�:v6���8$E,x��-
�~`�zY�[��N�:��OU�g�ߤ��_�
�D6(b��Qw�7�>3���t���=����t_��<�lY��s��1��V�<��h4T�<��<�jn$4�W����<�r�������Z5;�<��l��u��܁�,A�<�K�`��<��$�	I�݉�<��qX�o����=Yx���z�Kyc�,�*@(z3۽�嬹��hk�̴�D�;I�Q���I�-:Vh=q~n�K8�d��^�l:[�4ٱ�;
Qcُ�?~�O�|0U�E&��U�� �
�>f�+8����"�d�B
�B���Ņ
E��>.5�'����B�IC:�Y�B�<��<���>.�<�I��B�<������>.s�1Prz6��<�������$�<���SAK]�����<��r	wz6�vz6��&��<��:,�<�=���E
P�- ��:E�L�����{V��߈��\��/���ӡ�υ�/4���7�ȳ6˓�X�S�+��khi&�I�B+8o9�(i��3-!���`�͊�����gU#�x���4����L��������=�>�ہ��7��4ĭ�r�ڭ|!FӾ�-�q�Z�ZqHJ'��z�AQ����"t�<Z�o�*?a�Ao���1�ቈ�7e���htz��-0Q�f�/�����F��VEc[W�]Ļ�|��s�3Q�G�2�PQ�w���a4q�.�#��S�ɏ<ڴ~6�k�Q��6v��z�o��$Rȸ�8GԳG_
�NZ�����H�d+�D��t���$@�L��H��p�3��R�E�qv�W.c�")
����@!/f�̓��ǭ/�6ܣ���am��*"s��amh6��N����⮫�gl����l�+�t����?��� 0�l���Q��.��Ú�򠁖�_KhV��<�}@Z�2�=����7 f*�}!D����)���$a�~W���	�d�V���%�C�'�C�2���a{��-�޾�<��q������w=�8Ï�����JA߅�*��	�]��*j���x.���C-Ԧ�hk�?���b:@6�k*��.&�N;��~��d�S}H����K9^j�T�h�.��0���>:��}��6�x�_[t��E�����6�!(	}S�W�x��M��6O�Ԓ����
�k�}@�K�v;��6Ϩ��K��_�����n�IYYs�~��@����7E�*���A4���nA���{e�,'V�>�ڌ�Sz%[���"�iԖ=��C%�|��iݚ���*f[����A��U'y��9��!P���$'��
ߎ�����R�=���e��v%Vf�<x��F�@ΥF�B�e�:r[$tTe%��~��I�Ö�Ĭ���\�X�5��I���m-�h�2.d/��<�&I߱M�T��ˈ2��-SH���G-��VO]��]G���@?��ɖb���#ޛ�	�m�/�&��J����X��u��<J�:�{:p@3*mo�<7ǘp<��d��t(T��V`��+W9�u5\h7��==fi�C�E��j�%�K��ƫ^X��a��-C��a��9���V�ҩ��2���OsyV��Y��<ēI"�vLD���!;���g�1�g�}$4�2������^BY/+lXT�[�l�c~[���
�+�G����Tkg��e��̏�W%��5�gL������G]z�}���mj��Ec[������SL��K��`��R���6激�A�@�M$M�ad0<M�8��"�"Z�XY��9ѬV��#́g����<�f_JJr�
t̶�L�U�H���u2�4�=s�#��΃�f]^=��o��'މ�-ݍD��xFԳC�	�!���Ag٥��r��w�e�J��,�M���|���i7����e���Ut�<�4���>�5d�S=� j�Z�J��s�|�ܫd�HwF‡�P���ِ,�~�����y�|��!V�y�9��փݛa ������>.
26�MH�4Qd�o;�h�n���>.�p8wT�u4W�Mjʎ��0	o�x&6�V����8�s{<��U@ۛ�c��>.�+V���G��1��ᤗN���l��>.�<HF���Wß�l����=� �
i���8��T�}�0����E4���v�Q��s���!;���a��+�vH���/ჹ=�}���.�UY2���q����iRϳR���A��n����Ѩ���V���U��45N�;�a{�wڬ�5�c����,h�Q�t먉�SO�l0U���;�P�;���
F�LT���3Ѥ���oY��}�0S
��[Xq~���-� J����vǠ|�4����p�3eĎ����	[������Ž���b��D�b �]�_0+�O�V��c&`i(a�{��C$�Mf��a���dp'��|�D�/YX+�]���w����i�l�@<�t�;W�3?�t��	P�N��a�ȏ$�����o'rA��Ub�[!tza-�v���
�(��������0�tV���?,���-���:d{�]���I����\���5-��ZV?�Q'T�{���*X�:F�~2�I����}}��!5�'�a/��`b���dz�m��/F�N��m�_C7��7�+؇/̑�<�ca�Ko�%�2}�$6!�" 2��|�ޏ�jV���a0W㴾����6V��VT�*�+��X���*g�N5���B9����x^�?	�K��<�6˪�&]��ڄ����x�|>�r)�7���;��&��S�@��N����h-	��2��T
��]�,����7�<�� #G>�b����br/�p�/Ml���ae.������Ê���DR��@||\+�\Z�dGDh�@�zN%����5VⅾF�����LmKH���ϣ@
d����*)`�ݨ�=��������-(�ȳ"�-��G6o�Ѥ��	5��L$Q����2ࡪ>7!���;u�����|�`�nO{5��m����q��y=���hk��
<�QJ���ՆXD��_ꢤ��P�wT��s�F.���5z[��i#�ϣ+ľB:6Zϥ�O\v����yH�.���Aʽ��Z�.�O�Qn
N�T��)�0 P�P���1�Q�0OLҨ��c�
��%�{�����{�S�O��b���՗L:����{�ƭ�Y�6�z�Jv�G{�'
S���@bN��LbS4U-��Hv�<R"X�|�{sJE�R߆�g�C \ƣw^�d{X:8U�'j2��h|g���>��Š!���6�1��Z�!y���Jv�O�$���_9��%�� F�a��/�M�f"&z�����S+2Ry!x�|���X�*���gF8�U6t�����3DB鱃������O�/���B*a$g����7�$z�q H �e5��乲����z#^�q��7]�s��Z�d�23R=~������OV8�I��hZJ��"�>��>���q�����F�FO��f�W��.�.P��+^H6oX�<�@[���(�[G^�zf�|*_N�Ӏj�(��G�ԓ*��d��jv�7;'����f��nMr�kԥ�b���0�`���9'{��(����4���G˭���ܻ�P��8�J��^D�x��&��Ν3�
Ģ?��*�`R�g G(F�g��Ǔ]>4���,����\��;uׂ	��=�=3�FI���jm�uzr�1^ۦX���v��
C�Wե�����%ߜE�n�DQ~�/{�OHg�z�(S;�UƇ���
�kW���މSx
��	����qm��.
��Y=�꤀�4��˜���{�0P�)2[򉩖�Ȇʈ�����	�8b�N�sEp*��{��r����-A45��| �����,���[j�>.��=՞��I��Ǡ�>.g��^�wr/�n���>.���$�k�#v?�v�z��PF�v��>.��_��zԎ9��>.��ۓ�a�A����7��T��Ńy�K9��{-'��a�$7p��Π[b����Z�{a�IڰB
����8e��յMj��*(��8qM</k�jA
"U+�$�>.F�����ލ�D��g2iiPJ�&�>.�q����?)� �U�e�rwXE�vXE����U�Q�f5*�1�>.�}��Ji�F[$�;�	H[$�넟a4�����88V]!�3oմH͞������A�S���&G~}?td..���T���q)E#�,R��79ˆĞ��~�9�˘`�/���G��ߥ�N�_qr��* `�9J�~(�$�"5�.��&�_F�>.&�~~�Ï�sYC"�N��3Y��O�>.ԁ��l ?̵K���D{�p��֏�S�>.e/�RDƍM�77,Eh[�Mq�a@s����w0d��k��^eD[������M���To�I�L�V��)^bх+4�P�1Z2y+f�E���C̛���H�VXN���	�0�	nNb�H��}@��
.���V!����羰�xg�)u[�Y?�K�	����H^�%�	��ŀ�k��Y��R�`m1���9��k�	k�NJE��T���)7��(�
��k"*�Tھ9�n��*�	a��G�g�s^��^+���x�:,���1sOa.�(��MdF.- �#Ԇ�.�M@Y/�(~(�(�(�#:M_( X"�(c)�0��RyMMSX ��W"�N`EYX/�,%%�H6-�ކ4J�9�((jy2X"�LgX�,MaE�(SEM9tW  �(O(�M�9�LMyX(�1�N�W"FX _���W"�.�(h.lOnX �'J��)�.��X �LgO)�L��X"�W"X"�M[O�b�0�>�L�#̆�, MÆv��W"F"�*�W"|��Ms���L9c
0��6
PQ�mB
�M	s�a
�g
`��d
 �4�6�
`#5
�-�!]
P3�%
 �X�s
@�C=A
�G	��}
�g�
�
/�7
�qrY'
��
0[
��fn
��"[
Ъ[
�f+
���Z
0�.� 
�MD�
��O�-
P
�&
P�w�Z
`�.�/
��<�
�m�
P�
0t
��
>�:
P��0�
��|
���[
��
�
p���
xu6�K
�
u�
�b�]
��h[
�/
@O'
 �Y�
�:�
P��
���
`� �E
�o	_�{
�x�[
���u6;
����b
0�+
��#�D
�a	��=
P�k�6
�i(�(
����
����o
�5!
V�<
�,P^
`.g
 ��B
`N	)_Y
9��
���=
�r
w
|
+6L
P?`3x
j�1
����4
@�tA/
� ��G
��	��\
��^�
�/�;P
��
��w
��O+
��#R
���u
�:->
0�	�
@x��a
�6�u
��{�

`>��
����q
�CpC
`R	rdH
 �	)$8
py�
0�n?�
�
kc
���<
�O	��@
@�Q�
���
���>
�	�?
�7	WD
@W	n�
��-\,
pJ�1
P�)\
�)8Q
��
�B
��q2
��)
@zC>�
�6u
��b�,
P�^c=
��B�0
�sL^
��
�i
���m
 �G"
`��d
���

�#�tx
@�9�>
	�E
 k	C~
Њg�=
��-�
�qn�o
 �K!y
�a�p
��F
���
\7
�kG�O
��
�0
�kAZ
P�y6
�^D�:
��gS$
���
���f
���y
C6�
���Z,
08�R
�[#c<
�b�&
0��;
��g:
����X
"F
Pq	2�\
0��o
��
 �o
p�$�4
p�_4]
P�4
��\
��?���6�~
��1{
@��
���[
��Gt
���U
��
0�3
P���V
PS�%
@���.
p�"
s�Ut
��d�
p��%$
���.
�i
���X
�!&'!
�SLb
`�
9,@
�?	v=&
p�c#�t6�..
rS��u6^�
�W�#
��
0,
 �9�I
�	q�
\s6d�`<6Z
 ��O
��
��k
��K
�
H&O
p�
${
0sG�V
�!t�3
�*�D
�b	)K
@�9�

p���>
�)	ot
`�#CI
��	��Y
0�Z
@��D
�`	�c
Е#N
Pl
�Y
P��
����;
���
���/
�B��
�%T"s
��w4/
@ ^�
���?
�;	�	
 :�I%
 �?��<68
0}Yl
�'mR
�[#�,
����+
��938
 z�pV
p"�%
0�J�
`�:
��!
P�
.Rg
@�|�
0�
E7
pkk"x
�e�B
@O	b!
�W�: 
9��5
�_SJ
�2�`a
�
;�:
����
p�

 �i�D
 ���
�ES
�&W2N
q
w0F
�r	d+0
Pnm
����z
0q�5,
�
0�x
���hn
 ��
pH�
�D�
�1��J
 �	7�
�l��
0��B6
J�%A
�G	T
����l
��U.
��
?Us
��p�
�C�!@�
}v
�-^
�S 
�8Y��
���f
`�O
D�6�
��

���P
��V
0�y
p�t�E
0l	4�%
���M
@�r
`�R
���`t6 �t
���
BL�h
��]%
`��v
�E6|
 ��k	
Ps!��
0��
8�l
�3��d
@�
@lm;
`
�|hu6,G
0~	zX
`0z�S
0�
�|8
�F�[n
��;
��E
�m	�.�
 �>P5
�}
 �4��
МWMU
�
*�}
�O$
�_�=
P�U�
��
0�k
P�2
0�
0�c
��k9
��Nw
 d�*
�
0�m
�<T
��
9q
���cw
�#�f
@�eQ
 �
=�@
 ��.I
�	��
�&`i�
�)�
��S�-
 �
�$
�+ф
�Y
�-8�2
��#�H
��	l.^
�23T
�%>h
��AR
P�
�g
��Xi
@�:
���i
��i
�Jv�y
 \&�v
�Xz#
|��
�0�
����^
�	 i
�f~
@���C
�T	R8z
h��u
��{.l
У�R
��
Q_
��aM
�Y
K�p
����>
�	12
�P��+
`7��
0Yw!
 Z�
��
0+q
@��y=
����s6pG
�	>tp
����9
�/�[*
��k�
 ��}Q
`�
=
0�
�x
���`
@Z
1B8
{��2
 ��0
�p��6&

`K#�
` ��2
����
���B
�N	�(
��:
����`
�Z
9�O
@�
R�
�Ap3
��� 
pM9�)
p�
�
�������`
�\
�4�����`
�Y
M

��
0Z 
�=�K
�$
!����q
@�5�-
�
���@0
`nwF
.����ȇ�և�+
@�c�J
P
M 
�^���[
���p
 ���
�({�b
�?

��~&
���c
"�D
0`	�G
p}	��f
���
`���p
����k
��D
�c	��
��U�
��
5'
���
 �8
|#
pxg[:
@��gE
�j	0<
��!B'
�L�
�K��
pFRP
`n��_
�N
!�?
�=	�Y
@(X~
����R
�[#F$
�&
`,
�{`U
@����
`32C
PP	��{
�}+�>hz6�
�Z�B
�W�J
0�	��^
�IF
t	g�B
N	[�(
P^/1H
��	�*\
����
��Q
�
�
@vg
��
�?�2
p�t
0/�
'd�9
����A
 L	4�;
0���	
�7#�
 ���@
��6�L
�K
K7
��S� 
�XM�V
�#�
���0
�s�~
�W�]
��
���z
�'������
������F
�0s���|
��W
@]
0�#G
�^x.
`�*��8���U�6F��T��9

P;��5
0��K
p
��
P���7
v�Y
0-F*
 �
%�A
�K	&�
0�;�b
�2Q�
��/
��N�
��S�
���� 
PL#d
��+
P,'�4
`��B
��b���
@H!�s
0�la>
	qq��O
�
r�������
��"@
0?	�gz
jS���
a
��
)�
��

�1S���i
���X
�@D
`X		�
��G���2
�Hˈ��P
`�
@J�
p��ڈ�Z��u6
���2
����9
p���
p"_J2
@�T~_
P9
�
�p*1
����M
pi
={&
���<�6�)
��
=(_
 a�
�$n
�#�1
��#
P~+�9
��
�'�%
`�3K
p�D/b

�K(�6�6
�d5�w
���
 <6*
����
@F� 
�*�
@���/
@���
H1@b
^�q
p�K�
 *�UI
@�	IL[
 �j
�J
p�9=
����[
��$�*
�]5���[
0�����V
 #��Gq
@��Z[
��c�
P;,p����q
���(
�`�%���
08dVK
P
)`
��4��=n
��~�������
�-�C���~
��OR���T
��
0I
��	L0U
��
9!T
�
9J
���'
��Np
���̀
���a
0>A
�F	hDV
�P�;
����r
��R
�
��_
`P
L�
P���
 H��
�(�
P\�"
Pp�
��6�s6�T
��
9G
�{	|ls6�<
�	��r
��c�
�7VO&
��I�U
��
9m
���_
�P
6�m
��^
p�
Ia���J
`�	qYy
�L~{
�wR�7
ts�
��C/
�ff^
�	Uc
p�9J
p�	��7
�v�?v
`�*
��<
@[	��g
���'
P[
U�k
ТQ�
��y)
 0�w9
��oa
�&��}
P�WM�6�
`��v-
��'
�\
�!
�p75
���
0* 
��s���6�w
p(	
@���
&�>G
�~	�-R
�
�C`
�Q
t{i
`�
 �f�%
 &��\
`�1����
���C
�R	r�

�	4
��
@)��
 ��~K
�
	�:
0�gC
`O	1�8
��9�
��Ui�
p�SA\
��-e-
�l
�
�T
p�sW
@���K
`
	�T
`�
9g(
����`
Z
1�
`�q�
`��'
�	 l
��=-
�l
cd
��?
p:	(�
P�~�i
Р�Q
p�
��P
`�
��i
��|
ЂIy
 �F
 x	j�
�
0�
@��h
`��
��V
�""�y
p$���
P �
�,�[
��(/
a+j
P�"(
p�
|�
p,#
�xy_
p$:�8
��!
 D�@
0k'hp
�s�
�$��Q
 �
Iob
�gaq
p���j
�;
�
��*�6j8
��Q�i
��q
P��j
0�k
P�_	
`,��
`�j� �6$
@��
1b
@���
@�C<>
�	!�!
�_EE4
���
���
@�&�%
 �3�&
��W1
��;�&
P�7z
 gs�
$kZ`
pT
��M
�Z
�+
`�i	Q
��
j�r
��)qy
�L/
@,GG 
@�+�
@�U@
�>	��)
�]�'
���g
�r
����
0��
 Y����T
��
9`
��4
������-
0l
�
�,�'K

�U
0 �
��
0'w
���"
rC$
`��
�Ev�h
��zh
�ĉ�i$
��(qr
0�&
P�}�}
P���F
�y	Q
�Tb
p�K
��
0�
�G|�
���9d
��]2
���%
���r(
@�W�p
p�$�.
�
H]
�.$�
Ш�#v
P[\
��d?h
���
P�ɂ
Ы&�O
�
oN��;6
�6��
��E�~
�2V
�?~�Q
��
v
��C@t
��#�.
��
1�y
`1!
O��/
�N�Ʌ
`/qP
�
��r
`�Q
V
�&p�c
И^u
���c
��3
�o�H
��	�z
 �
0
��

pI�|N
0t
�.
�q'�X
 �
U�u6�
�,�

P�
0��
��g+Z
@�$�
p;�o
��+
��9I
p�
0xn
@��
�%)mK
�
K�"
pvN�,
 ��=
0�#Jk
���Q
`�
G�P
�
j
Pu>
����g
 ��
��k�
 1	*
@�V�
��
.d
`�H
�	E�3
��i
�44.
@(Rj
��(D
pX	h2v6z
�Z~g
���h
@��l
 �8
`�R�8���
@�&,
��$
Љo�u
6"
���~
���:
��
`�Sz
�h`�K
&
?
@,	��G
@�	��?
06	�K
�
��
�F>�5
&@4
@���
���_
0=
Q�{
�z3 W
`T�]
oAzA
�I	��E
Po	��z
0l��
p��&
p�M�l
`�`U
P�
9�$
��1�j
СM'
`�a�H
��		�P
��
y�O
��
a�F
�1��y
 ^]�1
��d3<
��J{
`tO"
�j��U
�M��j
��l
��
<6�
+Y
�-;��
p�V�h
 �kj
���
���
`I�

S
f5
��#
 wCvY
�@`�
p�;
��) 
�5Re}
p�f�
P��~

��+
���2
��m&
��9kI
��	4�O
p�
W�
 �7�|
��p
P�R�'
�i
"TG
�	r/
`B	-:
���Vx
�m�)
p�
�|
�~�Z4
�9�
�#�>l
�-
�i
�6
��
0l
�3?�
`��k
p�')
��^"
�j�+
p�; �
��1u'
�'w�T
��
9�"
�s�:Y
01^�@
F	�O
�x
k
�X
�
�I
��	<�i
���A
�J	4�D
\	!
��h�B
0O	�H
��	��a
�7rL
�J
�N
u
�
��J
P�D
б
H^
��#�
p��#*
��V>
��

�9~�s
��S�Y
 �Lf
�3"
��g6
�M��C
`S	h�t
��6�Y
�8
ySC_
`�;�v
8�
0'z,
��LO�
E"DN
�q
��\
0�^=
��3?
���k
�*&
�c�
�&�Y
p�F/7
Pk�	
04��^
 3.cP
��
�|z
pk��n
`��V
�#9o
@�.��u6'

�:�&`
�Q
Q(
�
o�n
���&
�^W
PNt�C
PT	Z
��A
<
�)�
)�/�
P�N�
 �t�
[F	
@�F�7
�tt\
P�
�
PB'.4
��s
0�k�L
�K
�
�}��%
�!�m
��	
: �I
�	��A
�J	o�]
�P��
�WR9
ЏE
�f	$pk
���U
0�
9�]
Q�8E
�f	
]
��6-�
�g�
 �7
�j��M
�\
��p
p���,
��f'~
`�f�$
@���`�6X16
PB�Jd
��|P
0�
��
��
0wJ
0�	�u�
0EA�'
p��?
`5	�
��ex
P��"
pp
_
��&�
�
0,P
�
!�r
��mSP
p�
�*
�U
@�
9�;
p��>
��3R@
`�C�
���
��e�P
0�
(M=
���8
�i�R
�
<�
�.�n
��
��3�x
 �5@;
0��G
���z
o�m)
��]-k
p�s���8�6S
0#^/
P-��t
��#&
P��u
���r7
0l��]
�OS�~
@��$
��e
@� f
���e
`��5
 K�!
a7C}
����	
�7/9S
��
JH
`�	�	
�*�9
����
��
@�#�f
���@
�E	v�2
���\
��G�
 �
0�A
`J	&�M
0k
��@�6�W
�y>xz6y
��N�-
�6Q-
�l
F!
�V��S
��
Qn|
p�fi
 #�u
��#�l
�q
�R2
���2
p�C0?
�-	��.
0�"
`�9d
P�
�u
@�;�
�H�
�(��
�>�g
08�
`T=B
PM	]*
��@�G
 �	"J
��	�w
`	��
�_
�w0
���
p�&Sb
`	9
�F�,
0�`&
0�q`v
p�
���/
�D��X
 #�W
PU3�I
 �	��6
pi

 eiD
[	3Lu
`��J
`�Y;
P�	Yk#
�{fts
��#r`
PU
��-
�:r
`�E�9
0���g
�42
�)�k
0��W
�q�C
U	��
p�c�
K�-�
���
�/k?
p4	�Go
��
0�~�
@��Q1
�xu!7
@k
x
���
`�%�
8�;
�O�J
�	�#Q
`�
rn
`��$
�@�L
K
�s�
����]
 23_C
pQ	p�<
 
!�@
��&r
 B!�V
�M�
����
�+H�
���=
@/�v
@cV8
�}��
�b	�N
�w
�f

<��C
PV	h�#ts6�
��,o0
��G
�	rU

�K#�E
pl	Nj�
�kN
pl
�Q
��
G3
@��w
��
Py��9
���nu
 �S�t
`�#�n
��-a
�f7i
�4ds6�2
���
���2
p�#N
�
0A1
�p%
����|s6�x
����
�)��_
P
Jk
�1
0h�!
P
.�7
0m��[
�����
0�f�0
���T
��
=�S
 �
],%
0G�.
�S
`�
J�&
��w
�IQ
��
P�
���t
��tS
�|�`#
�z�Da
 .�)
@�	
p�ll
@�?@
��t�
��T6
�M	�
��
!�
��#U?
�0	aL;
���N�
���O
P�
�
p)�PD
�Z	s`
�P
��q
��{��
�n�
p�S#
 T�|]
2jh
��o
���r5
�x�5
@#�Y0
�p�SH�6V
��)'
��g� 
�H#�
p�
0�y
�ef�
�5��w
�zx 
H��
P��U_
��a�<
����{
}��G
�	#B
`L	o�>
	�Gi
 ��R
 �
�
�<�F
�1\z
�9jCO
��
J4O
��
5$
p�nG.
�j
0��Y
�eA
I	��)
�]|�z
�ocLn
�k_
�Qn
���_
�O
\ 
7K.
(CC
0Q	1�
P=R0=
��=PA
`H	��
�]1�
 ��P0�6^
�(�w
@K�a
���Z
��N
�u
��7
n��%
`�pZ
`�9Z
��t
���
P�Ur
��q�Z
��<.
�1�
I[�g
@�Ce
�R
|�v[
�@9
��Q
�,��K
0$
�5+
��#
P��T|
 �G�
��<�Z
`�ZL
�J

��Q�8
���K�
��V�*
��c�x
0���	
�9s"
�o?

�K#�7
�w��:
 z�	
�6��Y
pF	
0
�k`x
 ��pu6>*
@�Gx
pu�
@���
��LdT
�
9�1
j@
�T�;
�

6
p'�!
�oq�s
��A�
�URh
��
���F
�v	QaJ
@�	��)
��
?�c
��N
�v
:5
���.
V�4
����0
�&f'
�&�
���
��\�
@OU�u60p
@�� 
0��N
@@qcg
`�D#
`yFx
�Vf 
pC�WQ
��
A�z
0p�4y
`5f�
 �[�
 U�$
�)^o
 ��
p��=
�q
�0
�s#
�v^f�
��!z
�gkA
�,�
��X
���'
��?(
`�
_�#
`}�p:
�<�<
��%J
�	��
Y�l
�I"c
�N#5
��?3
�� }
`�Wvd
�\
�}
�
��
���#
�~~ae
��^
�1RM
�$�r
@ �7
�tGkY
�=�L
�I
��x
`�!.
p��9
�҉�p
 �0'3
`�<)
��^
�	B:
`���!
�c�J<
�{
 ~W�A
@K	��l
��S
@�
�
��1	
�+��Z
�%
����&
P�
�
!
��Z
 �P
p�
K/n
��ZR
�[}Z
0�3W
�Wl�
�|��[
��-
�@L
0d
�l
���Z
@�aV
�Q�,
p{�d
`��Z
P��e
���8
��`]
`�6&B
�L	~9j
p�e
��>L
�J
A]"
��#f
 �&
 T�I
0�	��
�*

�)t
��i
�|�H
��	�߁
��!
��
0�
�
@���(
@,��o
`��v
@�

�=�MW
@%fTZ
p�
ЇI~�
`�ERS
��
JRB
`M	�5
�fFZ
p�Fd{
�u�;s
 �T�
Цw
�P�'
@�&m
@�9m
`��
��V
 ��o
0!2V
pMbZ
���b
0PH�&
��W�
�y<
�Q8%
��
��*
��O�
 �Y
�I�y	
P0��
�s�*
P��zH
P�	1�w
�5J�~
�4��e
 �L
�?�"
PrC�#
�S�
���TN
`r
�?
-	qx@
��r

�KD�
@�� 
@ei�
@<6?
�+	q�c
0�1(
0�	ك
��U�a
`2�f
��s
����
���I
`�	��
�H��Y
���!
@b;�/
pBb8
@x��
`�7,�6Z
��TR)
�tgf
��M
j
%�6
0h=X3
��
=D
�X	�T�u6>[
��GQ
p�
��

��3
���
(<6
@'+�H
��	�<�
�2Y}1
����
�E(�<
p��qS
 �
Q=
�
�d
���N
�v
�

4;
��o��
���4
0�>V!
@W�/
�nk
 �R
P�
�>
�*	��I
��	�b
>�
`�
��
�	8�@
���
0�[�
 J/p
0>cA?
p0	}O
�
�hN
Ps
��
@%:�>pz6�#
�Vk1
��S�
P0Um
��H
`�	��$
0�V 6
�(�(9
0��
'
��Y�:
`��^
`��EK

�;
����m
@��e
���S
@�
0�"
�rSIY
�3��8
��e@
��F
0�}p4
@�
3
`��dF
pu	A�;
���tM
�Y
��s
 �l�
��5
0r';
 ��a
P��ă
P�E__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizexmlMallocxmlStrdup__xmlSimpleErrorxmlDictLookupxmlStrlenxmlStrndupxmlDictOwnsxmlFreexmlFreeNodeListxmlReallocxmlStrstrstrchr__snprintf_chk__stack_chk_failxmlStrchrxmlBufferCCatxmlBufferAddxmlBufferWriteQuotedStringxmlGetPredefinedEntityxmlStrEqualxmlHashAddEntryxmlHashCreateDictxmlStrcasecmp__xmlRaiseErrorxmlAddDtdEntityxmlAddDocEntityxmlNewEntityxmlGetParameterEntityxmlHashLookupxmlGetDtdEntityxmlGetDocEntityxmlEncodeAttributeEntitiesxmlEncodeEntitiesReentrantxmlEncodeSpecialCharsxmlCreateEntitiesTablexmlHashCreatexmlFreeEntitiesTablexmlHashFreexmlCopyEntitiesTablexmlHashCopyxmlDumpEntityDeclxmlBufferWriteCharxmlBufferWriteCHARxmlDumpEntitiesTablexmlHashScanisolat1ToUTF8UTF8Toisolat1memcpyiconv__errno_locationxmlDetectCharEncodingxmlCleanupEncodingAliasesxmlGetEncodingAlias__ctype_toupper_locstrcmpxmlAddEncodingAliasxmlMemStrdupxmlDelEncodingAliasmemmovexmlParseCharEncodingxmlGetCharEncodingNamexmlCleanupCharEncodingHandlersxmlRegisterCharEncodingHandlerxmlInitCharEncodingHandlersxmlNewCharEncodingHandlerUTF8ToHtmlxmlFindCharEncodingHandlericonv_openiconv_closexmlGetCharEncodingHandlerxmlCharEncFirstLineIntxmlBufferShrinkxmlBufferGrowxmlCharEncFirstLinexmlCharEncFirstLineInputxmlBufUsexmlBufAvailxmlBufContentxmlBufEndxmlBufShrinkxmlBufAddLenxmlBufGrowxmlCharEncInputxmlCharEncInFuncxmlCharEncOutputxmlGetUTF8CharxmlBufGetAllocationSchemexmlCharEncOutFuncxmlCharEncCloseFuncxmlByteConsumedxmlGenericErrorDefaultFunc__xmlGenericErrorContext__vfprintf_chkstderr__xmlGenericErrorinitGenericErrorDefaultFuncxmlSetGenericErrorFuncxmlSetStructuredErrorFunc__xmlStructuredErrorContext__xmlStructuredErrorxmlParserPrintFileInfoxmlParserPrintFileContextxmlParserError__vsnprintf_chkxmlParserWarningxmlParserValidityErrorxmlParserValidityWarningxmlGetLastError__xmlLastErrorxmlResetErrorxmlResetLastErrorxmlCtxtGetLastErrorxmlCtxtResetLastErrorxmlCopyError__xmlGetWarningsDefaultValuexmlGetPropfprintfxmlGetLineNoxmlBufIsEmptyxmlBufCreatexmlBufResetInputxmlCheckVersionxmlInitParser__fprintf_chkxmlErrMemory__xmlErrEncodingxmlIsLetterxmlIsBaseCharGroupxmlCharInRangexmlParserInputReadxmlParserInputGrowxmlParserInputBufferGrowxmlParserInputShrinkxmlParserInputBufferReadxmlNextCharxmlStopParserxmlCurrentCharxmlStringCurrentCharxmlCopyCharMultiBytexmlCopyCharxmlSwitchEncodingxmlSwitchInputEncodingxmlSwitchToEncodingxmlFreeInputStreamxmlFreeParserInputBufferxmlNewInputStreamxmlNewIOInputStream__xmlParserDebugEntitiesxmlNewEntityInputStreamxmlLoadExternalEntityxmlNewStringInputStreamxmlNewInputFromFilexmlCheckHTTPInputxmlParserGetDirectoryxmlCanonicPath__xmlLoaderErrxmlFreeParserCtxtinputPop__xmlDefaultSAXHandlerxmlDictFreexmlHashDefaultDeallocatorxmlCatalogFreeLocalxmlInitNodeInfoSeqxmlInitParserCtxtxmlDictSetLimitxmlSAXVersion__xmlLoadExtDtdDefaultValue__xmlDoValidityCheckingDefaultValue__xmlPedanticParserDefaultValue__xmlLineNumbersDefaultValue__xmlKeepBlanksDefaultValue__xmlSubstituteEntitiesDefaultValuexmlSAX2IgnorableWhitespacexmlDictCreatexmlNewParserCtxtxmlClearNodeInfoSeqxmlClearParserCtxtxmlCtxtResetxmlParserFindNodeInfoIndexxmlParserFindNodeInfoxmlParserAddNodeInfoxmlPedanticParserDefaultxmlLineNumbersDefaultxmlSubstituteEntitiesDefaultxmlKeepBlanksDefault__xmlIndentTreeOutputxmlSAX2StartElementxmlSAX2EndElementxmlIsDigitGroupxmlIsCombiningGroupxmlIsExtenderGroupxmlMallocAtomicxmlIsMixedElementxmlGetLastChildxmlNodeIsTextxmlHashScanFullxmlHashSizexmlHashRemoveEntry2xmlHasFeaturexmlCheckLanguageIDinputPushxmlStrcmpxmlBuildURIxmlInputReadCallbackNopnodePushxmlParserMaxDepthnodePopnamePushnamePopxmlPopInputxmlPushInputxmlParseCharRefxmlStringDecodeEntitiesxmlStringLenDecodeEntitiesxmlBufferCreatexmlBufferSetAllocationSchemexmlBufferFreexmlSAX2GetEntityxmlSplitQNamexmlParseNamexmlParseNmtokenxmlBuildQNamexmlParseEntityValuexmlParseSystemLiteralxmlParsePubidLiteralxmlIsPubidChar_tabxmlParseCharDataxmlParseCommentxmlParsePITargetxmlParseEntityRefxmlParseAttValuexmlParseCDSectxmlParseVersionNumxmlParseEncNamexmlParseEncodingDeclxmlSkipBlankCharsxmlParseTextDeclxmlParseVersionInfoxmlCharStrdupxmlParsePEReferencexmlParseExternalIDxmlParsePIxmlCatalogGetDefaultsxmlStrncmpxmlCatalogAddLocalxmlParseNotationDeclxmlParseEntityDeclxmlParseURIxmlFreeURIxmlSAX2EntityDeclxmlNewDtdxmlNewDocxmlParseDefaultDeclxmlParseNotationTypexmlCreateEnumerationxmlFreeEnumerationxmlParseEnumerationTypexmlParseEnumeratedTypexmlParseAttributeTypexmlParseAttributeListDeclxmlHashLookup2xmlHashAddEntry2xmlSplitQName3xmlHashUpdateEntry2xmlParseElementMixedContentDeclxmlFreeDocElementContentxmlNewDocElementContentxmlParseElementChildrenContentDeclxmlParseElementContentDeclxmlParseElementDeclxmlParseMarkupDeclxmlParseDocTypeDeclxmlParseAttributexmlParseStartTagxmlHashQLookup2strlenxmlValidateRootxmlParseEndTagxmlParserHandlePEReferencexmlParseExternalSubsetxmlCreateIntSubsetxmlParseSDDeclxmlParseXMLDeclxmlParseMiscxmlCreatePushParserCtxtxmlAllocParserInputBufferxmlBufGetInputBasexmlParserInputBufferPushxmlBufSetInputBaseCurxmlCreateIOParserCtxtxmlParserInputBufferCreateIOxmlIOParseDTDxmlFreeDocxmlSAXParseDTDxmlParseDTDxmlCreateEntityParserCtxtxmlCreateURLParserCtxtxmlCreateFileParserCtxtxmlSetupParserForBufferxmlCreateMemoryParserCtxtxmlParserInputBufferCreateMemxmlNewDocNodexmlAddChildxmlParseContentxmlFreeNodexmlDictReferencexmlValidateElementxmlParseReferencexmlDocCopyNodexmlAddChildListxmlSetTreeDocxmlParseCtxtExternalEntityxmlParseExternalEntityxmlParseExtParsedEnt__xmlDefaultSAXLocatorxmlSAXParseEntityxmlParseEntityxmlParseElementxmlParseChunkxmlStrcasestrmemchrxmlParseInNodeContexthtmlCreateMemoryParserCtxtxmlNewDocCommentxmlUnlinkNode__htmlParseContentxmlParseBalancedChunkMemoryRecoverxmlSearchNsByHrefxmlParseBalancedChunkMemoryxmlCreateDocParserCtxt__xmlGlobalInitMutexLock__xmlGlobalInitMutexUnlockxmlInitThreadsxmlInitGlobalsxmlInitMemoryxmlDefaultSAXHandlerInitxmlRegisterDefaultInputCallbacksxmlRegisterDefaultOutputCallbackshtmlInitAutoClosehtmlDefaultSAXHandlerInitxmlXPathInitxmlParseDocumentxmlSAXUserParseFilexmlSAXParseDocxmlRecoverDocxmlParseDocxmlSAXParseFileWithDataxmlSAXParseFilexmlParseFilexmlRecoverFilexmlSAXParseMemoryWithDataxmlSAXParseMemoryxmlParseMemoryxmlRecoverMemoryxmlSAXUserParseMemoryxmlCleanupParserxmlCatalogCleanupxmlDictCleanupxmlCleanupInputCallbacksxmlCleanupOutputCallbacksxmlSchemaCleanupTypesxmlRelaxNGCleanupTypesxmlCleanupGlobalsxmlCleanupThreadsxmlCleanupMemoryfreexmlCtxtResetPushxmlCtxtUseOptionsxmlReadDocxmlReadFilexmlReadMemoryxmlReadFdxmlParserInputBufferCreateFdxmlReadIOxmlCtxtReadFilexmlCtxtReadMemoryxmlCtxtReadDocxmlCtxtReadFdxmlCtxtReadIOxmlSplitQName2xmlValidateNCNamexmlValidateQNamexmlValidateNamexmlValidateNMTokenxmlSetBufferAllocationScheme__xmlBufferAllocSchemexmlGetBufferAllocationSchemexmlSetNsxmlFreeNsxmlNewNsxmlFreeNsList__xmlRegisterCallbacks__xmlRegisterNodeDefaultValuexmlGetIntSubsetxmlNodeListGetStringxmlStrcatxmlStrncatxmlNodeListGetRawStringxmlNewDocPIxmlNewPIxmlNewNodexmlNewNodeEatNamexmlNewDocFragmentxmlNewTextxmlStringTextxmlNewCharRefxmlNewReferencexmlNewDocTextxmlIsIDxmlAddIDxmlNewPropxmlNewNsPropxmlNewNsPropEatNamexmlNewTextLenxmlNewDocTextLenxmlNewCommentxmlStringCommentxmlNewCDataBlockxmlSetListDocxmlRemoveIDxmlChildElementCountxmlFirstElementChildxmlLastElementChildxmlPreviousElementSiblingxmlNextElementSiblingxmlHashRemoveEntryxmlFreeIDTablexmlFreeRefTablexmlFreeDtd__xmlDeregisterNodeDefaultValuexmlFreePropListxmlFreePropxmlRemovePropxmlFreeNotationTablexmlFreeElementTablexmlFreeAttributeTablexmlReplaceNodexmlCopyNamespacexmlCopyNamespaceListxmlGetNodePathsnprintfxmlDocGetRootElementxmlNodeSetNamexmlBufGetNodeContentxmlBufCatxmlNodeBufGetContentxmlBufFromBufferxmlBufBackToBufferxmlNodeGetContentxmlBufSetAllocationSchemexmlBufDetachxmlBufFreexmlBufCreateSizexmlGetNsListxmlGetDtdQAttrDescxmlSearchNsxmlReconciliateNsxmlHasPropxmlGetDtdAttrDescxmlHasNsPropxmlNodeAddContentxmlNodeAddContentLenxmlTextMergexmlStrncatNewxmlAddNextSiblingxmlNodeSetContentxmlStringGetNodeListxmlBufAddxmlNewDocPropxmlNewDocRawNodexmlNewTextChildxmlNewChildxmlNewDocNodeEatNamexmlStringLenGetNodeListxmlNodeSetContentLenxmlAddPrevSiblingxmlAddSiblingxmlDocSetRootElementxmlCopyDocxmlStringTextNoencxmlCopyPropListxmlCopyNodexmlCopyDtdxmlCopyNotationTablexmlCopyElementTablexmlCopyAttributeTablexmlGetDtdQElementDescxmlCopyPropxmlDocCopyNodeListxmlCopyNodeListxmlGetNoNsPropxmlGetNsPropxmlNodeGetLangxmlNodeGetSpacePreservexmlNodeGetBasexmlUnsetPropxmlUnsetNsPropxmlSetNsPropxmlNodeSetLangxmlNodeSetSpacePreservexmlNodeSetBasexmlPathToURIxmlSetPropxmlIsBlankNodexmlTextConcat__xmlDefaultBufferSizexmlBufferCreateSizexmlBufferDetachxmlBufferCreateStaticxmlBufferEmptyxmlBufferDumpfwritestdoutxmlBufferContentxmlBufferLengthxmlBufferResizexmlBufferAddHeadxmlBufferCatxmlGetDocCompressModexmlSetDocCompressModexmlGetCompressModexmlSetCompressModexmlDOMWrapNewCtxtxmlDOMWrapFreeCtxtxmlDOMWrapRemoveNodexmlDOMWrapReconcileNamespacesxmlDOMWrapCloneNodexmlDOMWrapAdoptNodememset__xmlRandomxmlHashAddEntry3xmlHashUpdateEntry3xmlHashUpdateEntryxmlHashLookup3xmlHashQLookup3xmlStrQEqualxmlHashQLookupxmlHashScanFull3xmlHashScan3xmlHashRemoveEntry3xmlListCreatexmlListSearchxmlListReverseSearchxmlListInsertxmlListAppendxmlListRemoveFirstxmlListRemoveLastxmlListRemoveAllxmlListClearxmlListDeletexmlListEmptyxmlListFrontxmlListEndxmlListSizexmlListPopFrontxmlListPopBackxmlListPushFrontxmlListPushBackxmlLinkGetDataxmlListReversexmlListWalkxmlListReverseWalkxmlListCopyxmlListMergexmlListDupxmlListSortxmlFileMatchxmlIOHTTPMatchxmlStrncasecmpxmlIOFTPMatchxmlIOHTTPOpenxmlNanoHTTPOpendeflateEndxmlIOHTTPReadxmlNanoHTTPReadxmlIOHTTPClosexmlNanoHTTPClosexmlIOFTPOpenxmlNanoFTPOpenxmlIOFTPReadxmlNanoFTPReadxmlIOFTPClosexmlNanoFTPClosegzopen64filenogzdopen__xmlIOErrxmlFileReadfreadxmlFileClosestdinfclosefflushdeflateInit2_crc32xmlStrPrintf__libxml2_xzclose__libxml2_xzreadgzclosegzreadferrorfopen64gzwritexmlNormalizeWindowsPathxmlPopInputCallbacksxmlPopOutputCallbacksxmlCheckFilename__xstat64xmlFileOpenxmlURIUnescapeString__libxml2_xzopen__libxml2_xzdopenxmlCatalogResolvexmlCatalogResolveURIxmlCatalogLocalResolvexmlCatalogLocalResolveURIxmlRegisterInputCallbacksxmlRegisterOutputCallbacksxmlRegisterHTTPPostCallbacks__xmlParserInputBufferCreateFilename__libxml2_xzcompressedgzdirectxmlAllocOutputBufferxmlAllocOutputBufferInternal__xmlParserInputBufferCreateFilenameValuexmlParserInputBufferCreateFilexmlOutputBufferCreateFilexmlOutputBufferGetContentxmlOutputBufferGetSizexmlParserInputBufferCreateStaticxmlBufCreateStaticxmlOutputBufferCreateFdxmlOutputBufferCreateIOxmlOutputBufferCreateBufferxmlParserInputBufferCreateFilenameDefaultxmlOutputBufferCreateFilenameDefault__xmlOutputBufferCreateFilenameValue__xmlOutputBufferCreateFilenamexmlOutputBufferWritedeflatexmlOutputBufferWriteEscapexmlOutputBufferWriteStringxmlOutputBufferFlushxmlOutputBufferClosexmlIOHTTPOpenWxmlNanoHTTPMethodxmlNanoHTTPReturnCodestrncpygetcwdxmlNanoHTTPMimeTypexmlNanoHTTPEncodingxmlNanoHTTPRedirxmlSetExternalEntityLoaderxmlGetExternalEntityLoaderxmlNoNetExternalEntityLoaderxmlMallocBreakpointxmlMemFreexmlMutexLockxmlMutexUnlockxmlMemUsedxmlMemBlocksxmlMemDisplayLastxmlMemDisplayxmlMemShowxmlMemoryDumpxmlNewMutexgetenv__isoc99_sscanfxmlMallocLocmallocxmlMemMallocxmlMallocAtomicLocxmlReallocLocreallocxmlMemReallocxmlMemStrdupLocstrcpyxmlMemoryStrdupxmlFreeMutexxmlMemSetupxmlMemGetxmlGcMemSetupxmlGcMemGetxmlCreateURIxmlSaveUrixmlPrintURIfputsxmlNormalizeURIPathxmlParseURIReferencexmlParseURIRawxmlURIEscapeStrxmlURIEscapexmlBuildRelativeURIxmlAutomataNewStatexmlAutomataNewEpsilonxmlAutomataNewTransitionxmlNewValidCtxtxmlFreeValidCtxtxmlNewElementContentxmlCopyDocElementContentxmlCopyElementContentxmlRegFreeRegexpxmlFreeElementContentxmlSprintfElementContentxmlSnprintfElementContentstpcpystrcatxmlNewAutomataxmlAutomataGetInitStatexmlAutomataSetFinalStatexmlAutomataCompilexmlRegexpIsDeterministxmlFreeAutomataxmlValidBuildContentModelxmlRegNewExecCtxtxmlRegExecPushStringxmlRegFreeExecCtxt__strcat_chk__stpcpy_chkxmlAddElementDeclxmlDumpElementDeclxmlDumpElementTablexmlCopyEnumerationxmlAddAttributeDeclxmlDumpAttributeDeclxmlDumpAttributeTablexmlAddNotationDeclxmlDumpNotationDeclxmlDumpNotationTablexmlGetIDxmlAddRefxmlRemoveRefxmlGetRefsxmlGetDtdElementDescxmlIsRefxmlGetDtdNotationDescxmlValidateNotationUsexmlValidateNameValuexmlValidateNamesValuexmlValidateNmtokenValuexmlValidateNmtokensValuexmlValidateNotationDeclxmlValidateAttributeValuexmlValidCtxtNormalizeAttributeValuexmlValidNormalizeAttributeValuexmlValidateAttributeDeclxmlValidateElementDeclxmlValidateOneAttributexmlValidateOneNamespacexmlValidatePushElementxmlValidatePushCDataxmlValidatePopElementxmlValidateOneElementxmlValidateDocumentFinalxmlValidateDtdxmlValidateDtdFinalxmlValidateDocumentxmlValidGetPotentialChildrenxmlValidGetValidElementsxlinkGetDefaultHandlerxlinkSetDefaultHandlerxlinkGetDefaultDetectxlinkSetDefaultDetectxlinkIsLinkhtmlTagLookuphtmlAutoCloseTaghtmlIsAutoClosedhtmlIsScriptAttributehtmlEntityLookuphtmlEntityValueLookuphtmlEncodeEntitieshtmlNewDocNoDtDhtmlNewDochtmlParseEntityRefhtmlParseCharRefhtmlParseElementhtmlParseDocumenthtmlFreeParserCtxthtmlNewParserCtxtxmlSAX2InitHtmlDefaultSAXHandlerhtmlParseChunkhtmlCreatePushParserCtxt__htmlDefaultSAXHandlerhtmlSAXParseDochtmlParseDochtmlCreateFileParserCtxthtmlSAXParseFilehtmlParseFilehtmlHandleOmittedElemhtmlElementAllowedHerehtmlElementStatusHerehtmlAttrAllowedhtmlNodeStatushtmlCtxtResethtmlCtxtUseOptionshtmlReadDochtmlReadFilehtmlReadMemoryhtmlReadFdhtmlReadIOhtmlCtxtReadFilehtmlCtxtReadMemoryhtmlCtxtReadDochtmlCtxtReadFdhtmlCtxtReadIOhtmlGetMetaEncodinghtmlSetMetaEncodinghtmlIsBooleanAttrxmlBufWriteQuotedStringhtmlNodeDumpFormatOutputxmlNsListDumpOutputhtmlNodeDumpFileFormathtmlNodeDumpFilehtmlNodeDumphtmlNodeDumpOutputhtmlDocContentDumpFormatOutputhtmlDocDumpMemoryFormathtmlDocDumpMemoryhtmlDocContentDumpOutputhtmlDocDumphtmlSaveFilehtmlSaveFileFormathtmlSaveFileEncfputcxmlCheckUTF8xmlDebugDumpStringxmlDebugDumpAttrxmlDebugDumpEntitiesxmlDebugDumpAttrListxmlDebugDumpOneNodexmlDebugDumpNodexmlDebugDumpNodeListxmlDebugDumpDocumentHeadxmlDebugDumpDocumentxmlDebugDumpDTDxmlDebugCheckDocumentxmlLsCountNodexmlLsOneNodexmlBoolToTextxmlShellPrintXPathErrorxmlShellPrintNodexmlElemDumpxmlDocDumpxmlShellPrintXPathResultxmlShellListxmlShellBasexmlShellDirxmlShellCatxmlShellLoadxmlXPathFreeContextxmlXPathNewContextxmlShellWritexmlSaveFilexmlShellSavexmlShellValidatexmlShellDuxmlShellPwdxmlShellxmlRelaxNGNewParserCtxtxmlRelaxNGSetParserErrorsxmlRelaxNGParsexmlRelaxNGFreeParserCtxtxmlRelaxNGNewValidCtxtxmlRelaxNGSetValidErrorsxmlRelaxNGValidateDocxmlRelaxNGFreeValidCtxtxmlRelaxNGFreexmlXPathEvalxmlXPathFreeObjectxmlXPathRegisterNsxmlXPathDebugDumpObjectxmlXPathNextSelfxmlXPathNextDescendantxmlXPathNextDescendantOrSelfxmlXPathNextFollowingSiblingxmlXPathNextFollowingxmlXPathNextAttributexmlXPathNextParentxmlXPathNextAncestorxmlXPathNextAncestorOrSelfxmlXPathNextNamespacexmlXPathNextChildxmlXPathNextPrecedingSiblingexitxmlPatterncompilexmlPatternStreamablexmlFreePatternlibxml_domnode_binary_insertion_sortlibxml_domnode_tim_sortxmlXPathNANxmlXPathPINFxmlXPathNINFxmlXPathIsNaNxmlXPathIsInfxmlXPathErrxmlXPatherrorxmlXPathDebugDumpCompExprxmlXPathContextSetCachevaluePopvaluePushxmlXPathOrderDocElemsxmlXPathCmpNodesxmlXPathNodeSetSortxmlXPathNodeSetFreeNsxmlXPathNodeSetCreatexmlXPathNodeSetContainsxmlXPathNodeSetAddNsxmlXPathNodeSetAddxmlXPathNodeSetAddUniquexmlXPathNodeSetMergexmlXPathNodeSetDelxmlXPathNodeSetRemovexmlXPathFreeNodeSetxmlXPathNewNodeSetxmlPatternMaxDepthxmlPatternMinDepthxmlPatternFromRootxmlPatternGetStreamCtxtxmlStreamWantsAnyNodexmlStreamPushxmlStreamPushNodexmlStreamPopxmlFreeStreamCtxtxmlXPathNewValueTreexmlXPathNewNodeSetListxmlXPathWrapNodeSetxmlXPathFreeNodeSetListxmlXPathDifferencexmlXPathIntersectionxmlXPathHasSameNodesxmlXPathNodeLeadingSortedxmlXPathNodeLeadingxmlXPathLeadingSortedxmlXPathLeadingxmlXPathNodeTrailingSortedxmlXPathNodeTrailingxmlXPathTrailingSortedxmlXPathTrailingxmlXPathRegisterFuncNSxmlXPathRegisterFuncxmlXPathRegisterFuncLookupxmlXPathFunctionLookupNSxmlXPathFunctionLookupxmlXPathRegisteredFuncsCleanupxmlXPathRegisterVariableNSxmlXPathRegisterVariablexmlXPathRegisterVariableLookupxmlXPathRegisteredVariablesCleanupxmlXPathNsLookupxmlXPathRegisteredNsCleanupxmlXPathNewFloatxmlXPathLastFunctionxmlXPathPositionFunctionxmlXPathNewBooleanxmlXPathTrueFunctionxmlXPathFalseFunctionxmlXPathNewStringxmlXPathWrapStringxmlXPathNewCStringxmlXPathWrapCStringxmlXPathWrapExternalxmlXPathObjectCopyxmlXPathVariableLookupNSxmlXPathVariableLookupxmlXPathFreeCompExprxmlFreePatternListxmlXPathPopNodeSetxmlXPathPopExternalxmlXPathCountFunctionxmlXPathLocalNameFunctionxmlXPathNamespaceURIFunctionxmlXPathCastBooleanToStringxmlXPathCastNumberToString__memmove_chklog10xmlXPathCastNodeToStringxmlXPathDistinctSortedxmlXPathDistinctxmlXPathCastNodeSetToStringxmlXPathIdFunctionxmlXPathStringFunctionxmlXPathStringLengthFunctionxmlUTF8StrlenxmlXPathConcatFunctionxmlXPathContainsFunctionxmlXPathStartsWithFunctionxmlXPathSubstringBeforeFunctionxmlXPathSubstringAfterFunctionxmlXPathNormalizeFunctionxmlXPathTranslateFunctionxmlUTF8StrlocxmlUTF8StrsizexmlUTF8StrposxmlXPathLangFunctionxmlXPathCastToStringxmlXPathPopStringxmlXPathConvertStringxmlXPathCastBooleanToNumberxmlXPathCastNumberToBooleanxmlXPathCastStringToBooleanxmlXPathCastNodeSetToBooleanxmlXPathCastToBooleanxmlXPathPopBooleanxmlXPathBooleanFunctionxmlXPathNotFunctionxmlXPathConvertBooleanxmlXPathNewParserContextxmlXPathFreeParserContextxmlXPathNextPrecedingxmlXPathRootxmlXPathParseNCNamexmlXPathParseNamexmlXPathStringEvalNumberpowxmlXPathCastStringToNumberxmlXPathCastNodeToNumberxmlXPathSumFunctionxmlXPathCastNodeSetToNumberxmlXPathCastToNumberxmlXPathPopNumberxmlXPathConvertNumberxmlXPathNumberFunctionxmlXPathEqualValuesxmlXPathNotEqualValuesxmlXPathCompareValuesxmlXPathValueFlipSignxmlXPathAddValuesxmlXPathSubValuesxmlXPathMultValuesxmlXPathDivValuesxmlXPathModValuesfmodxmlXPathSubstringFunctionxmlUTF8StrsubxmlXPathFloorFunctionxmlXPathCeilingFunctionxmlXPathRoundFunctionxmlXPathIsNodeTypexmlXPathEvalPredicatexmlXPathEvaluatePredicateResultxmlXPathCtxtCompilexmlXPathCompilexmlXPathCompiledEvalxmlXPathCompiledEvalToBooleanxmlXPathEvalExprxmlXPathSetContextNodexmlXPathNodeEvalxmlXPathEvalExpressionxmlXPathRegisterAllFunctionsxmlXPtrNewContextxmlXPtrEvalxmlXIncludeNewContextxmlXIncludeFreeContextxmlXIncludeSetFlagsxmlBufLengthxmlXIncludeProcessTreeFlagsDataxmlXIncludeProcessFlagsDataxmlXIncludeProcessFlagsxmlXIncludeProcessxmlXIncludeProcessTreeFlagsxmlXIncludeProcessTreexmlXIncludeProcessNodeinflateEndsocketfcntl64connectpollgetsockoptrecvgetaddrinfo__memcpy_chkfreeaddrinfogethostbyname__h_errno_locationsendxmlCharStrndupxmlNanoHTTPCleanupxmlNanoHTTPScanProxyxmlNanoHTTPInitinflatexmlNanoHTTPMethodRedirinflateInit2_strtolxmlNanoHTTPOpenRedirxmlNanoHTTPFetchxmlNanoHTTPSavexmlNanoHTTPAuthHeaderxmlNanoHTTPContentLengthxmlNanoFTPCleanupxmlNanoFTPProxyxmlNanoFTPUpdateURLxmlNanoFTPScanProxyxmlNanoFTPInitxmlNanoFTPNewCtxtxmlNanoFTPFreeCtxtxmlNanoFTPGetResponsexmlNanoFTPCheckResponse__fdelt_chkselectxmlNanoFTPQuitxmlNanoFTPConnectxmlNanoFTPConnectToxmlNanoFTPCwdxmlNanoFTPDelexmlNanoFTPGetConnectiongetsocknamebindlisteninet_ntopxmlNanoFTPCloseConnectionxmlNanoFTPListxmlNanoFTPGetSocketxmlNanoFTPGetxmlNewRMutexxmlFreeCatalogxmlConvertSGMLCatalogxmlParseCatalogFilexmlRMutexLockxmlRMutexUnlockxmlGetThreadIdxmlLoadSGMLSuperCatalogxmlLoadACatalogxmlACatalogResolveSystemxmlACatalogResolvePublicxmlACatalogResolvexmlACatalogResolveURIxmlACatalogDumpxmlSaveFormatFileToxmlACatalogAddxmlACatalogRemovexmlNewCatalogxmlCatalogIsEmptyxmlInitializeCatalogxmlLoadCatalogxmlLoadCatalogsxmlFreeRMutexxmlCatalogResolveSystemxmlCatalogResolvePublicxmlCatalogDumpxmlCatalogAddxmlCatalogRemovexmlCatalogConvertxmlCatalogSetDefaultsxmlCatalogSetDefaultPreferxmlCatalogSetDebugxmlCatalogGetSystemxmlCatalogGetPublicxmlInitializeGlobalStatexmlSAX2GetPublicIdxmlSAX2GetSystemIdxmlSAX2GetLineNumberxmlSAX2GetColumnNumber__xmlGlobalInitMutexDestroyxmlThrDefSetGenericErrorFuncxmlThrDefSetStructuredErrorFuncxmlRegisterNodeDefaultxmlThrDefRegisterNodeDefaultxmlDeregisterNodeDefaultxmlThrDefDeregisterNodeDefaultxmlThrDefParserInputBufferCreateFilenameDefaultxmlThrDefOutputBufferCreateFilenameDefaultxmlIsMainThreadxmlGetGlobalState__oldXMLWDcompatibilityxmlThrDefBufferAllocSchemexmlThrDefDefaultBufferSizexmlThrDefDoValidityCheckingDefaultValuexmlThrDefGetWarningsDefaultValuexmlThrDefIndentTreeOutput__xmlTreeIndentStringxmlThrDefTreeIndentStringxmlThrDefKeepBlanksDefaultValuexmlThrDefLineNumbersDefaultValuexmlThrDefLoadExtDtdDefaultValuexmlThrDefParserDebugEntities__xmlParserVersionxmlThrDefPedanticParserDefaultValue__xmlSaveNoEmptyTagsxmlThrDefSaveNoEmptyTagsxmlThrDefSubstituteEntitiesDefaultValuexmlSAX2InternalSubsetxmlSAX2SetDocumentLocatorxmlSAX2StartDocumentxmlSAX2EndDocumentxmlSAX2CharactersxmlSAX2ProcessingInstructionxmlSAX2CommentxmlSAX2GetParameterEntityxmlSAX2CDataBlockxmlSAX2IsStandalonexmlSAX2HasInternalSubsetxmlSAX2HasExternalSubsetxmlSAX2ResolveEntityxmlSAX2NotationDeclxmlSAX2AttributeDeclxmlSAX2ElementDeclxmlSAX2UnparsedEntityDeclxmlSAX2ReferencexmlSAX2ExternalSubsetpthread_key_createpthread_self__xmlInitializeDictpthread_mutex_initpthread_mutex_destroypthread_mutex_lockpthread_mutex_unlockpthread_cond_initpthread_cond_destroypthread_cond_waitpthread_cond_signalpthread_oncepthread_getspecificcallocpthread_setspecificxmlLockLibraryxmlUnlockLibrarypthread_key_deletepthread_equalxmlC14NExecutexmlC14NDocSaveToxmlC14NDocDumpMemoryxmlC14NDocSavexmlStrsubxmlStrVPrintfxmlUTF8SizexmlUTF8CharcmpxmlUTF8StrndupxmlEscapeFormatStringxmlBufEmptyxmlBufDumpxmlBufResizexmlBufCCatxmlBufMergeBufferxmlUCSIsCatNdxmlUCSIsCatCoxmlUCSIsCatCfxmlUCSIsCatCcxmlUCSIsCatCxmlUCSIsCatSoxmlUCSIsCatSkxmlUCSIsCatScxmlUCSIsCatSmxmlUCSIsCatNlxmlUCSIsBlockxmlUCSIsCatNxmlUCSIsCatMexmlUCSIsCatMcxmlUCSIsCatMnxmlUCSIsCatMxmlUCSIsCatLoxmlUCSIsCatLmxmlUCSIsCatLtxmlUCSIsCatLlxmlUCSIsCatLuxmlUCSIsCatLxmlUCSIsCatPxmlUCSIsCatZxmlUCSIsCatPfxmlUCSIsCatPixmlUCSIsCatPexmlUCSIsCatPsxmlUCSIsCatPdxmlUCSIsCatPcxmlUCSIsCatNoxmlUCSIsCatZlxmlUCSIsCatZsxmlUCSIsCatPoxmlUCSIsCatSxmlUCSIsCatZpxmlRegExecPushString2xmlRegExecNextValuesxmlRegExecErrInfoxmlRegexpPrintxmlRegexpExecxmlRegexpCompilexmlAutomataSetFlagsxmlAutomataNewTransition2xmlAutomataNewNegTransxmlAutomataNewCountTrans2xmlAutomataNewCountTransxmlAutomataNewOnceTrans2xmlAutomataNewOnceTransxmlAutomataNewAllTransxmlAutomataNewCounterxmlAutomataNewCountedTransxmlAutomataNewCounterTransxmlAutomataIsDeterministxmlSchemaFreeValuexmlSchemaGetValTypexmlSchemaGetBuiltInTypexmlSchemaCompareValuesWhtspxmlSchemaValueGetNextxmlSchemaValueGetAsStringxmlSchemaGetCanonValuexmlSchemaCollapseStringxmlSchemaWhiteSpaceReplacexmlSchemaGetPredefinedTypexmlTextReaderLookupNamespacexmlSchemaNewNOTATIONValuexmlSchemaGetFacetValueAsULongxmlSchemaValidateLengthFacetWhtspxmlSchemaValidateFacetWhtspxmlSchemaValidateListSimpleTypeFacetxmlSchemaValPredefTypeNodeNoNormxmlSchemaValueAppendxmlSchemaNewQNameValuexmlStreamPushAttrxmlSchemaValPredefTypeNodexmlSchemaNewFacetxmlSchemaFreeWildcardxmlSchemaFreeFacetxmlSchemaFreeTypexmlSchemaFreexmlSchemaDumpxmlSchemaNewParserCtxtxmlSchemaNewMemParserCtxtxmlSchemaNewDocParserCtxtxmlSchemaGetParserErrorsxmlSchemaNewValidCtxtxmlSchemaValidateSetFilenamexmlSchemaFreeValidCtxtxmlSchemaFreeParserCtxtxmlSchemaCheckFacetxmlSchemaValidatePredefinedTypexmlSchemaIsValidxmlSchemaSetValidErrorsxmlSchemaSetParserErrorsxmlSchemaSetValidStructuredErrorsxmlSchemaSetParserStructuredErrorsxmlSchemaCompareValuesxmlSchemaIsBuiltInTypeFacetxmlSchemaParsexmlSchemaInitTypesxmlSchemaCopyValuexmlSchemaValueGetAsBooleanxmlSchemaGetValidErrorsxmlSchemaSetValidOptionsxmlSchemaValidCtxtGetOptionsxmlSchemaValidateOneElementxmlSchemaValidateDocxmlSchemaSAXPlugxmlSchemaSAXUnplugxmlSchemaValidateSetLocatorxmlSchemaValidateStreamxmlSchemaValidateFilexmlSchemaValidCtxtGetParserCtxtxmlSchemaNewStringValuefloorxmlSchemaGetBuiltInListSimpleTypeItemTypexmlSchemaValidateLengthFacetxmlSchemaValidateFacetxmlSchemaGetCanonValueWhtspxmlUCSIsAegeanNumbersxmlUCSIsAlphabeticPresentationFormsxmlUCSIsArabicxmlUCSIsArabicPresentationFormsAxmlUCSIsArabicPresentationFormsBxmlUCSIsArmenianxmlUCSIsArrowsxmlUCSIsBasicLatinxmlUCSIsBengalixmlUCSIsBlockElementsxmlUCSIsBopomofoxmlUCSIsBopomofoExtendedxmlUCSIsBoxDrawingxmlUCSIsBraillePatternsxmlUCSIsBuhidxmlUCSIsByzantineMusicalSymbolsxmlUCSIsCJKCompatibilityxmlUCSIsCJKCompatibilityFormsxmlUCSIsCJKCompatibilityIdeographsxmlUCSIsCJKCompatibilityIdeographsSupplementxmlUCSIsCJKRadicalsSupplementxmlUCSIsCJKSymbolsandPunctuationxmlUCSIsCJKUnifiedIdeographsxmlUCSIsCJKUnifiedIdeographsExtensionAxmlUCSIsCJKUnifiedIdeographsExtensionBxmlUCSIsCherokeexmlUCSIsCombiningDiacriticalMarksxmlUCSIsCombiningDiacriticalMarksforSymbolsxmlUCSIsCombiningHalfMarksxmlUCSIsControlPicturesxmlUCSIsCurrencySymbolsxmlUCSIsCypriotSyllabaryxmlUCSIsCyrillicxmlUCSIsCyrillicSupplementxmlUCSIsDeseretxmlUCSIsDevanagarixmlUCSIsDingbatsxmlUCSIsEnclosedAlphanumericsxmlUCSIsEnclosedCJKLettersandMonthsxmlUCSIsEthiopicxmlUCSIsGeneralPunctuationxmlUCSIsGeometricShapesxmlUCSIsGeorgianxmlUCSIsGothicxmlUCSIsGreekxmlUCSIsGreekExtendedxmlUCSIsGujaratixmlUCSIsGurmukhixmlUCSIsHalfwidthandFullwidthFormsxmlUCSIsHangulCompatibilityJamoxmlUCSIsHangulJamoxmlUCSIsHangulSyllablesxmlUCSIsHanunooxmlUCSIsHebrewxmlUCSIsHighPrivateUseSurrogatesxmlUCSIsHighSurrogatesxmlUCSIsHiraganaxmlUCSIsIPAExtensionsxmlUCSIsIdeographicDescriptionCharactersxmlUCSIsKanbunxmlUCSIsKangxiRadicalsxmlUCSIsKannadaxmlUCSIsKatakanaxmlUCSIsKatakanaPhoneticExtensionsxmlUCSIsKhmerxmlUCSIsKhmerSymbolsxmlUCSIsLaoxmlUCSIsLatin1SupplementxmlUCSIsLatinExtendedAxmlUCSIsLatinExtendedBxmlUCSIsLatinExtendedAdditionalxmlUCSIsLetterlikeSymbolsxmlUCSIsLimbuxmlUCSIsLinearBIdeogramsxmlUCSIsLinearBSyllabaryxmlUCSIsLowSurrogatesxmlUCSIsMalayalamxmlUCSIsMathematicalAlphanumericSymbolsxmlUCSIsMathematicalOperatorsxmlUCSIsMiscellaneousMathematicalSymbolsAxmlUCSIsMiscellaneousMathematicalSymbolsBxmlUCSIsMiscellaneousSymbolsxmlUCSIsMiscellaneousSymbolsandArrowsxmlUCSIsMiscellaneousTechnicalxmlUCSIsMongolianxmlUCSIsMusicalSymbolsxmlUCSIsMyanmarxmlUCSIsNumberFormsxmlUCSIsOghamxmlUCSIsOldItalicxmlUCSIsOpticalCharacterRecognitionxmlUCSIsOriyaxmlUCSIsOsmanyaxmlUCSIsPhoneticExtensionsxmlUCSIsPrivateUsexmlUCSIsPrivateUseAreaxmlUCSIsRunicxmlUCSIsShavianxmlUCSIsSinhalaxmlUCSIsSmallFormVariantsxmlUCSIsSpacingModifierLettersxmlUCSIsSpecialsxmlUCSIsSuperscriptsandSubscriptsxmlUCSIsSupplementalArrowsAxmlUCSIsSupplementalArrowsBxmlUCSIsSupplementalMathematicalOperatorsxmlUCSIsSupplementaryPrivateUseAreaAxmlUCSIsSupplementaryPrivateUseAreaBxmlUCSIsSyriacxmlUCSIsTagalogxmlUCSIsTagbanwaxmlUCSIsTagsxmlUCSIsTaiLexmlUCSIsTaiXuanJingSymbolsxmlUCSIsTamilxmlUCSIsTeluguxmlUCSIsThaanaxmlUCSIsThaixmlUCSIsTibetanxmlUCSIsUgariticxmlUCSIsUnifiedCanadianAboriginalSyllabicsxmlUCSIsVariationSelectorsxmlUCSIsVariationSelectorsSupplementxmlUCSIsYiRadicalsxmlUCSIsYiSyllablesxmlUCSIsYijingHexagramSymbolsxmlUCSIsCatCsxmlUCSIsGreekandCopticxmlUCSIsCombiningMarksforSymbolsxmlUCSIsCatxmlRelaxNGValidatePopElementxmlRelaxNGValidatePushCDataxmlRelaxNGSetValidStructuredErrorsxmlTextReaderReadStatexmlTextReaderExpandxmlRelaxNGValidatePushElementxmlRelaxNGValidateFullElementxmlTextReaderReadInnerXmlxmlNodeDumpxmlTextReaderReadOuterXmlxmlTextReaderReadStringxmlNewTextReaderxmlNewTextReaderFilenamexmlTextReaderClosexmlFreeTextReaderxmlTextReaderGetAttributeNoxmlTextReaderGetAttributexmlTextReaderGetAttributeNsxmlTextReaderGetRemainderxmlTextReaderMoveToAttributeNoxmlTextReaderMoveToAttributexmlTextReaderMoveToAttributeNsxmlTextReaderMoveToFirstAttributexmlTextReaderMoveToNextAttributexmlTextReaderMoveToElementxmlTextReaderReadAttributeValuexmlTextReaderConstEncodingxmlTextReaderAttributeCountxmlTextReaderNodeTypexmlTextReaderIsEmptyElementxmlTextReaderNamexmlTextReaderLocalNamexmlTextReaderConstNamexmlDictQLookupxmlTextReaderConstLocalNamexmlTextReaderPrefixxmlTextReaderConstPrefixxmlTextReaderNamespaceUrixmlTextReaderConstNamespaceUrixmlTextReaderBaseUrixmlTextReaderConstBaseUrixmlTextReaderDepthxmlTextReaderHasAttributesxmlTextReaderHasValuexmlTextReaderValuexmlTextReaderConstValuexmlTextReaderIsDefaultxmlTextReaderQuoteCharxmlTextReaderXmlLangxmlTextReaderConstXmlLangxmlTextReaderConstStringxmlTextReaderNormalizationxmlTextReaderSetParserPropxmlTextReaderGetParserPropxmlTextReaderGetParserLineNumberxmlTextReaderGetParserColumnNumberxmlTextReaderCurrentNodexmlTextReaderPreservexmlTextReaderReadxmlPatternMatchxmlTextReaderNextSiblingxmlTextReaderNextxmlTextReaderPreservePatternxmlTextReaderCurrentDocxmlTextReaderRelaxNGSetSchemaxmlTextReaderSetSchemaxmlTextReaderSchemaValidateCtxtxmlTextReaderSchemaValidatexmlTextReaderRelaxNGValidateCtxtxmlTextReaderRelaxNGValidatexmlTextReaderIsNamespaceDeclxmlTextReaderConstXmlVersionxmlTextReaderStandalonexmlTextReaderLocatorLineNumberxmlTextReaderLocatorBaseURIxmlTextReaderSetErrorHandlerxmlTextReaderSetStructuredErrorHandlerxmlTextReaderIsValidxmlTextReaderGetErrorHandlerxmlTextReaderSetupxmlTextReaderByteConsumedxmlReaderWalkerxmlReaderForFilexmlReaderForMemoryxmlReaderForDocxmlReaderForFdxmlReaderForIOxmlReaderNewWalkerxmlReaderNewFilexmlReaderNewMemoryxmlReaderNewDocxmlReaderNewFdxmlReaderNewIOxmlRelaxParserSetFlagxmlRelaxNGInitTypesxmlRelaxNGNewMemParserCtxtxmlRelaxNGNewDocParserCtxtxmlRelaxNGGetParserErrorsxmlRelaxNGSetParserStructuredErrorsxmlRelaxNGDumpxmlRelaxNGDumpTreexmlRelaxNGGetValidErrorstimerand_rxmlDictCreateSubmemcmpxmlDictExistsxmlDictSizexmlDictGetUsagexmlSAX2EndElementNsxmlSAX2StartElementNsxmlSAXDefaultVersionxmlSAX2InitDefaultSAXHandlerxmlNewTextWriterxmlNewTextWriterFilenamexmlNewTextWriterMemoryxmlNewTextWriterPushParserxmlNewTextWriterDocxmlNewTextWriterTreexmlFreeTextWriterxmlTextWriterStartDocumentxmlTextWriterEndCommentxmlTextWriterEndAttributexmlTextWriterStartAttributexmlTextWriterStartAttributeNSxmlTextWriterWriteAttributexmlTextWriterWriteStringxmlTextWriterStartCommentxmlTextWriterStartElementxmlTextWriterStartElementNSxmlTextWriterEndElementxmlTextWriterFullEndElementxmlTextWriterWriteRawLenxmlTextWriterWriteRawxmlTextWriterWriteVFormatRawxmlTextWriterWriteFormatRawxmlBufAttrSerializeTxtContentxmlTextWriterWriteCommentxmlTextWriterWriteVFormatCommentxmlTextWriterWriteFormatCommentxmlTextWriterWriteVFormatStringxmlTextWriterWriteFormatStringxmlTextWriterWriteBase64xmlTextWriterWriteBinHexxmlTextWriterWriteVFormatAttributexmlTextWriterWriteFormatAttributexmlTextWriterWriteAttributeNSxmlTextWriterWriteVFormatAttributeNSxmlTextWriterWriteFormatAttributeNSxmlTextWriterWriteElementxmlTextWriterWriteVFormatElementxmlTextWriterWriteFormatElementxmlTextWriterWriteElementNSxmlTextWriterWriteVFormatElementNSxmlTextWriterWriteFormatElementNSxmlTextWriterStartPIxmlTextWriterEndPIxmlTextWriterWritePIxmlTextWriterWriteVFormatPIxmlTextWriterWriteFormatPIxmlTextWriterStartCDATAxmlTextWriterEndCDATAxmlTextWriterWriteCDATAxmlTextWriterWriteVFormatCDATAxmlTextWriterWriteFormatCDATAxmlTextWriterStartDTDxmlTextWriterStartDTDElementxmlTextWriterEndDTDElementxmlTextWriterWriteDTDElementxmlTextWriterWriteVFormatDTDElementxmlTextWriterWriteFormatDTDElementxmlTextWriterStartDTDAttlistxmlTextWriterEndDTDAttlistxmlTextWriterWriteDTDAttlistxmlTextWriterWriteVFormatDTDAttlistxmlTextWriterWriteFormatDTDAttlistxmlTextWriterStartDTDEntityxmlTextWriterEndDTDEntityxmlTextWriterEndDTDxmlTextWriterWriteDTDxmlTextWriterWriteVFormatDTDxmlTextWriterWriteFormatDTDxmlTextWriterWriteDTDInternalEntityxmlTextWriterWriteVFormatDTDInternalEntityxmlTextWriterWriteFormatDTDInternalEntityxmlTextWriterWriteDTDExternalEntityContentsxmlTextWriterWriteDTDExternalEntityxmlTextWriterWriteDTDEntityxmlTextWriterWriteDTDNotationxmlTextWriterFlushxmlTextWriterEndDocumentxmlTextWriterSetIndentxmlTextWriterSetIndentStringxmlTextWriterSetQuoteCharxmlIsBaseCharxmlIsBlankxmlIsCharxmlIsCombiningxmlIsDigitxmlIsExtenderxmlIsIdeographicxmlIsPubidCharxmlIsIdeographicGroupxmlIsCharGroupxmlIsXHTMLxmlBufDumpNotationTablexmlBufDumpElementDeclxmlBufDumpAttributeDeclxmlBufDumpEntityDeclxmlSaveToFdxmlSaveToFilenamexmlSaveToBufferxmlSaveToIOxmlSaveFlushxmlSaveClosexmlSaveSetEscapexmlSaveSetAttrEscapexmlSaveDocxmlSaveTreexmlAttrSerializeTxtContentxmlNodeDumpOutputxmlBufNodeDumpxmlDocDumpFormatMemoryEncxmlDocDumpMemoryxmlDocDumpFormatMemoryxmlDocDumpMemoryEncxmlDocFormatDumpxmlSaveFileToxmlSaveFormatFileEncxmlSaveFileEncxmlSaveFormatFilexmlModuleOpendlopenxmlModuleSymboldlsymdlerrorxmlModuleFreexmlModuleClosedlclose__sprintf_chkxmlSchematronFreexmlSchematronFreeParserCtxtxmlSchematronNewParserCtxtxmlSchematronNewMemParserCtxtxmlSchematronNewDocParserCtxtxmlSchematronParsexmlSchematronSetValidStructuredErrorsxmlSchematronFreeValidCtxtxmlSchematronNewValidCtxtxmlSchematronValidateDocstrerrorlseek64lzma_codelzma_auto_decoderlzma_properties_decodeinflateResetlzma_endlibdl.so.2libz.so.1liblzma.so.5libm.so.6libc.so.6_edata__bss_startlibxml2.so.2LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.5.2LIBXML2_2.5.4LIBXML2_2.5.5LIBXML2_2.5.6LIBXML2_2.5.7LIBXML2_2.5.8LIBXML2_2.5.9LIBXML2_2.6.0LIBXML2_2.6.1LIBXML2_2.6.2LIBXML2_2.6.3LIBXML2_2.6.5LIBXML2_2.6.6LIBXML2_2.6.7LIBXML2_2.6.8LIBXML2_2.6.10LIBXML2_2.6.11LIBXML2_2.6.12LIBXML2_2.6.14LIBXML2_2.6.15LIBXML2_2.6.16LIBXML2_2.6.17LIBXML2_2.6.18LIBXML2_2.6.19LIBXML2_2.6.20LIBXML2_2.6.21LIBXML2_2.6.23LIBXML2_2.6.24LIBXML2_2.6.25LIBXML2_2.6.27LIBXML2_2.6.28LIBXML2_2.6.29LIBXML2_2.6.32LIBXML2_2.7.0LIBXML2_2.7.3LIBXML2_2.7.4LIBXML2_2.8.0LIBXML2_2.9.0LIBXML2_2.9.1LIBXML2_2.9.8LIBXML2_2.9.11GLIBC_2.2.5ZLIB_1.2.2.3ZLIB_1.2.3.3XZ_5.0GLIBC_2.28GLIBC_2.7GLIBC_2.14GLIBC_2.15GLIBC_2.4GLIBC_2.3.2GLIBC_2.3.4GLIBC_2.3-.//.//.///0////////1////2////3////4//04////1////4..//5/06//./170///8/.7/////9///1/4/////.//7//:/7///./		%)")	'			
			
	
	)


			(% *!&'"#		
		$(		(			
	)	*!+&	))*		
	+!	$)&
		
	(
&)						!))		

)%		&)
	'%,,!&	 ))"zf��Ls����$��s����$�������$�������$�������$�������$ȇ��	���$ևȇ
���$�և���$�����$��
���$�����$�����$*�����$8�*����$F�8����$T�F���L$b�T���L$q�b�«L$��q�īL$����ūL$����ƫL$����ǫL$����ȫL$ˈ��ɫL$ڈˈЫL$�ڈѫL$���ӫL$���ԫL$�� իL$%��!׫L$4�%�"ثL$C�4�#٫L$R�C�$�L$a�R�%���$p�a�&���$~�p�'���$��~�(���$����)���$����*���$����+���$ĉ��,��L҉ĉ� ui	7�(�03��:�3��5��?� ui	4�2� (�0�	I����9�ii
8����6#����3.�ii
29�ri	1C�ui	/�ti	.O�ii
-[�h�5`�p�5 �x�5����5��5��5���5����5���5���5���5 ���54���5@���5N���5a��5t��5���5���5�� �5��(�5ž0�5؞8�5�@�5�H�5�P�5%�X�59�`�5��h�5H�p�5Z�x�5x���5����5����5����5Ɵ��5ן��5���5���5���5,���5أ��5:���5T���5l���5x���5����5���5���5���5Р�58� �5b�(�5p�0�5|�8�5��@�5��H�5��P�5ޠX�5�`�5��h�5"�p�56�x�5���5����5���5����5����5����5����5̝��5����5����5����5p���5����5���5���5���5���5�t �5�m(�5��0�5�)8�5��@�5#vH�5��P�5��X�5�6`�5��h�5��p�5��x�5����5����5)���5����53.��5����5����5����5���5����5����5���5����5
���5���5��5��5��5���5��5"� �5)�(�5��0�5,�8�5��@�5/�h�5�ap�5���5���53���5�a��5L���5����5Y���5�a��5@���5w���5h���5|��5���5���5��(�5��0�5��@�5��H�5��X�5��`�5��p�5��x�5����5����5����5���5(���5���5���53���5X���58���5���5>��5B��5Z� �5��0�5^�8�5�H�5b�P�5X�`�5g�h�5k�x�5����5����5����5����5����5���5����5`���5����5����5����5���5���5�� �5�(�5�8�5��@�50�P�5��X�5h�h�5��p�5����5����5����5����58���5����5x���5����5����5����5���5���5X��5���5��(�5�0�5��@�5
�H�5�X�5�`�58�p�5�x�5����5���5����5"���5���5)���5H���50���5����56���5���5;��5���5B� �5(�0�5I�8�5`�H�5O�P�5��`�5T�h�5��x�5X���5���5_���58���5f���5p���5m���5����5s���5����5z���5��5���5P� �5�(�5x�8�5��@�5��P�5��X�5�h�5��p�58���5����5p���5����5����5����5����5����5���5����5H���5���5���5���5��(�5��0�5�@�5��H�50�X�5��`�5h�p�5��x�5����5����5���5����58���5����5h���5����5����5����5���5���5��5� �58�0�5�8�5h�H�5�P�5��`�5�h�5��x�5���5���5"���50���5)���5`���50���5����56���5����5=���5���5B��5I� �5f�(�50�8�5m�@�5��P�5t�X�5��h�5{�p�5����5����5���5����5P���5����5����5����5����5����5����5���5��5���5@�(�5��0�5x�@�5��H�5��X�5��`�5��p�5��x�5 ���5���5����5����5X���5����5����5����5����5����5���5���5��5�� �50�0�5��8�5X�H�5��P�5��`�5�h�5��x�5
���5���5���5���5���50���5���5P���5���5p���5 ���5���5(��5�� �5+�(�5�8�5/�@�5�P�55�X�5@�h�59�p�5h���5A���5����5E���5���5I���5���5M���5 ���5S���5P���5Y��5���5^��5��(�5d�0�5�@�5j�H�5�X�5r�`�58�p�5��x�5`���5w���5����5}���5����5����5���5����5���5����5@��5U��5h��5�� �5��0�5��8�5��H�5��P�5�`�5��h�5�x�5����50���5����5`���5����5����5����5����5����5���5����5��5���58� �5��(�5`�8�5��@�5��P�5��X�5��h�5��p�5���5����5����5����5���5���5#���5=���5���5B���5@���5F��5h��5J��5��(�5N�0�5T�@�5k�H�5q�X�5��`�5��p�5��x�5���5����5���5����5@���5����5p���5����5����5����5���5���5���5�� �5�0�5��8�5��H�5��P�50�`�5�h�5P�x�5���5x���5���5����5���5���5���5(��5 ���5&���5A���5F��5\��5X �5b�(�5�8�5i�@�5�P�5n�X�5h�5t�p�50��5|���5h��5����5����5����5���5����5���5����5���5���5��5���58(�5��0�5`@�5��H�5�X�5��`�5�p�5��x�5���5����5����5����5��5����5����5?���5(��5���5X�5��5��59� �5�0�5?�8�5�H�5B�P�5�`�5G�h�5x�5K���5Q���5l���5(��5s���5P��5y���5���5~���5����5!���5���5���5� �5B�(�5�8�5��@�5�P�5��X�5��h�5�ep�5����5����5����5���5��5���5X��5���5���5� ��5$���5��5A��5�5�(�5Ra0�5�@�5��H�5^�X�5x�`�5|�p�5��x�5��5����5(��5����5P��5����5x��5����5���5����5��5���5���5�� �50�5��8�5��H�5�P�5@`�5�h�5�x�5 ���5p��5/���5���54���58���5O���5���5V���5��5\���50�5c��5` �5�)0�5)�@�5��P�5�t`�5i�p�5o���5u���5{���5j���5p���5uX��5����5����5����5���5���5���5���5�� �5��(�5��0�5��8�5��@�5��H�5��P�5�X�5
�`�5�h�5�p�5uXx�5j���5���5���5���5$���5���5{���5���5)���5���5����5����5�t�5���5-��5���5�� �5��(�5��0�5��8�5�@�5��H�50�P�5̝X�5��`�5̝h�5��p�5̝x�5)���5̝��5����5����5����5����53���5����57���5����5o���5����5u���5����5i���5����5�t�53��53��53��57� �53�(�5o�0�53�8�5u�@�53�H�5i�P�53�X�5�t`�57�h�57�p�57�x�5o���57���5u���57���5i���57���5�t��5�t��5����5@���5�t��5@���5-���5@���5����5@���5���5@��50��5-��5�� �5-�(�5�0�5��8�5�t@�5��H�5-�P�5��X�5��`�5��h�5)�p�5��x�5����5����5����5�6��5$���5�6��5����5�6��5���5�6��5����5�6��5{���5����5$���5����5���5���5��5���5�� �5��(�5{�0�5��8�5$�@�5��H�5��P�5��X�5�`�5��h�5��p�5��x�5{���5����5$���5����5����5����5���5����5����5����5{���5����5$���5����5����5����5��5���5���5���5{� �5��(�5$�0�5��8�5��@�5��H�5�P�5��X�5��`�5��h�5{�p�5j�x�5���5j���5����5j���5����5j���5����5j���5̝��5j���5����5j���5����5j���5����5j���5p��5j��5���5j��5�� �5j�(�5��0�5j�8�5��@�5j�H�5�tP�5j�X�5��`�5j�h�5@�p�5j�x�5�)��5j���5-���5j���5����5j���5#v��5j���5$���5j���5����5j���5����5j���5����5j���5�6�5j��5���5j��5�� �5j�(�5��0�5j�8�5��@�5j�H�5��P�5j�X�5D�`�5j�h�5)�p�5j�x�5����5j���5G���5j���5����5j���5���5j���5K���5j���5)���5j���5S���5j���54���5j���5���5j��5
��5j��5� �5j�(�50�5j�8�5�@�5j�H�5�P�5j�X�5��`�5j�h�5�p�5j�x�5"���5j���5����5j���5x���5j���5{���5j���5,���5j���5����5j���50���5j���5/���5j���5X��5D��5���5)��5�� �5)�(�5��0�5)�8�5)�@�5)�H�5��P�5��X�5$�`�5�h�5�p�5ysx�5p���5ys��5����5K���5�t��5K���5-���5K���5����5K���5$���5K���5����5K���5���5K���5{��5K��50��5S��5�t �5S�(�5-�0�5S�8�5��@�5S�H�5��P�5S�X�50�`�54�h�5��p�54�x�50���5\���5c���5\���5\���5����5����5����5����5����5p���5����5����5����5����5����53��5���57��5���5�t �5��(�5@�0�5��8�5�)@�5��H�5-�P�5��X�5��`�5��h�5$�p�5��x�5����5����5����5����5�6��5����5����5����5����5����5����5����5����5����5����5����5j��5���5D��5���5� �5��(�5K�0�5��8�5S�@�5��H�54�P�5��X�5��`�5��h�5
�p�5��x�5{���5����5o���5����5)���5����5u���5����5����5����5����5����5�t��5����50���5����5X��5
��5�t�5
��5-� �5
�(�5��0�5
�8�5$�@�5
�H�5��P�5
�X�5�`�5
�h�5{�p�5
�x�50���5��5����5����5����5���5����5����5)���5����5����5���5����5����5p���5����5���5o��5o��5o��5u� �5)�(�5o�0�5)�8�5)�@�5)�H�5u�P�5)�X�5��`�5)�h�5�tp�5u�x�5o���5����5o���5����5)���5����5u���5����5����5����5�t��5i���5o���5i���5u���5����5p��5���5���5�t�5o� �5�t(�5u�0�5�t8�5�t@�5,�H�5��P�5��X�5��`�5��h�5)�p�5��x�5����50���5����50���5����50���5S���50���54���50���5
���5X���5�t��5X���5-���5X���5���5X��5$��5X��5�� �5X�(�5�0�5X�8�5{�@�5X�H�50�`�5�p�5l�x�546��5�16��5�16��5����5t���546��5�36��5����5� ��546�5�36 �5��0�5��8�506H�5�36`�5��p�5��x�5�-6��5`-6��5����5����5-6��5�16��5�16��5̝��5����546�5�36 �5��0�5��P�5�16X�5`16`�5��p�5����5�,6��5����5���546��5@36��5`	6��5����5���546�5�36 �5��0�5'�8�5@56H�5 ,6`�5p�p�57�x�5*6��5�)��5`)6��5 )6��5����5F��536�5P16�5���5Y���5@56�5`(6 �5��0�5f�8�546H�5�36`�5��p�5�x�5@56��5�36��5����5u���546�5�36�5���5~���546�5�36 �53�0�5��H�5�'6`�57�p�5��x�5�'6��53���5�'6��5�t��5����5@56�5�36�5�m�5����5@56�5'6 �5��0�5��8�546H�5�36`�5@�p�5��x�5�6��5���5`&6��5�)��5���5@56�5�36�5@6�5-��5���5@&6�5�t�5�36�50&6 �5��0�5�8�546H�5�36`�5#vp�5��x�546��5�36��5"���5(��56�5$��5A���5 $6�5�36 �5��0�5U�8�546P�5�#6`�5��p�5k�x�5�!6��5$���5!6��5�16��5p6��5����5���5� 6�5���5}���5 6�5���5  6 �5�60�5��8�546H�5�36P�5@6`�5��p�5��x�546��5�36��5@6��5����5����546�5�36�5@6�5���5����546�5�36�5@6 �5��0�5��8�546H�5�36P�5@6`�5��p�5��x�546��5�36��5@6��5j���5����5�6�5�6�5D��5���5�36�5@6 �5uX0�5��8�56H�5�26P�5 6`�5)�p�5��x�546��5�36��5����5����5@56�5�6�5G��5���5�6�5@6�5p16 �5!<0�5�H�5�6P�5@6`�53.p�5�x�5@56��5'6��5 ���5(��5�6�5���5���546�5�36 �5��0�5<�8�546H�56`�5��p�5S�x�546��5`6��5@6��5���5d���5@56�5�36�5ys�5o�6�66�16 6)�06��86�6H6�36X6�6`6S�p6��x6�6�6`&6�6���6���6`6�6@6�6���6��6 66p�6�36 6��060	86@56@6�)H6�36`6�p6(�x66�6�)�66�6�6�64��6j��6�	6�6��6�36�6�6�6c��6���6�66\�666 &6 6\�06��86`
H6`6`6��p6��x646�6�36�6@6�6���6���6 6�6�6�6
��6��6@66�3666 6�06�8646H6 ,6`6p67�x646�6�36�6��6p	�646�6�36�6���6Q��6`
666�6606 6�06d�86�6H66`6�p6u�x646�6�36�6���6�	�646�6�36�6��6���6466�36 6"�06��8646H6�36`6��p6��x6`
�6�
6�606�6���6���646�6�36�6x��6���6466�36 6{�06� 86�6@6�tH6
6P6�6`6o�p6��x6�6�6�t�6�6�6)��6���6@56�6�
6�6�6�6���6���6`
6�	66�16 6u�06	�86�6@6�tH6�6`6��p6�x6@56�6�
6�6�6�6i��6)��6�6�6�t�6�6�6���67��6`
6�26 6�t06G�86�	6@6)�H6�6P6�	6`6,�p6�	x646�6�36�6���6R��646�6�36�60��6h��6�	6	6�	6�36	6p	6 	6/�0	6�	8	646H	6�36`	6@�p	65jx	6x��	6��	6���	6���	6)��	6�@�	6D"�	6���	6��
6 �
6@�
6��
6�� 
6��(
6��0
6��8
6��@
6��H
6��P
6��X
6d�`
6��h
6��p
6��x
6���
6���
6���
6��
6��
6�@�
6D"�
6���
6���
6 ��
6@��
6���
6��6��6��6��6�� 6��(6��06��86��@6�KH6��P6��X6��`6��h6��p6��x6���6���6���6���64��6@��6�@�6D"�6���6��6 �6@�6��6�� 6��(6��06��86��@6��H6��P6��X6��`6��h6��p6���6�t�6���63��67��6i��6u��6o��6�t�6���6��
6�@
6D"
6��
6�� 
6 �(
6@�0
6��8
6��@
6��H
6��P
6��X
6��`
6��h
6��p
6��x
6���
64��
6���
6���
6���
6���
6��
6��
6 ��
6@��
6��
6��6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6d��6��6��6���6���6���6���6��6c��6\��6(�6��61�65�6;� 6A�@6#vH6"�P6��X6��`6�h6��p6/�x6���6���6���6,��6)��6̝�6���6�6��6��6���6���6)��6��6���6���6��64� 6�@(6w�06E�865j`6�@h6D"p6��x6���6 ��6@��6���6���6���6���6���6���6���6���6���6���6���6O��6w�6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6���6\��65j�6x��6X��6���6���6^��6e�6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6l��6t��6|��6���65j�6���6���6���6@��64��6���6d��6��6�66��6��6�� 6��(6��060�864�@6@�H6S�P6
�X6��`6-�h6�)p6��x6���6���6���6���6 ��6D��6{��6$��6���6,��6)��6̝�6���6�6��6���6�6#v6"�6��6�� 6�(6��06/�86��@6��H6��P6�X6G�`6��h6"�p6�x6���6���6���6���6)��6��6���6x��6���6���6���6!<�6��6���6���6���6�� 6p�(6�606��86��@6��H6��P6��X60�`64�h6@�p6S�x6
��6���6-��6�)�6���6���6���6���6���6 ��6D��6{��6$��6���6,��6)��6̝6��66�6�� 6�(6#v06"�86��@6��H6�P6��X6/�`6��h6��p6��x6��6G��6���6"��6��6���6���6���6���6)��6��6���6x��6���6���6���6!<6�6��6��6��065j@6+�`6 �h6@�p6�x6d��6���6���6�6�6���6���6���6���6���60��64��6@��6S��6
��6��6-�6�)6��6�� 6��(6��06��86 �@6D�H6{�P6$�X6��`6�p6���6d��6�6�6���6���6���6���6���60��64��6@��6S��6
��6��6-�6�)6��6�� 6��(6��06��86 �@6D�H6{�P6$�X6��`6���6�@�6D"�6���6���6 ��6@��6���6���6���6���6���6���6���6���6���6��6��6��65j6�� 6��(6�@6��`6�@h6D"p6��x6���6 ��6@��6���6���6���6���6���6���6���6���6���6��6�@6D"6��6�� 6 �(6@�06��86��@6��H6��P6��X6��`6��h6��p6��x6A��6���6���6���6�@�6D"�6���6���6 ��6@��6���6�@�6D"�6���6��6 �6@�6��6�� 6��(6��06��86��@6��H6��P6��X65j`6d�h6w�p6��x6���6���6��6���61��6���6���6���6���6���6���6���6��6��6��6�@6D"6��6�� 6��(6��06��86��@6|�H6��P6@�X6��`6^�h6d�p6�x6	��6��61��65j�6��6e��64��6�@�6D"�6���6���6 ��6@��6���6��6��6��6��6�� 6��(6��06��86%�@6d�H6@�P64�X6��`6���6�@�6D"�6���6���6%��6d��61��6���6.��6:��6G��6���6@��64�6j�6p�6�� 6Q�@6��H6Y�P6�X64��6���6 ��6���6���6���6���6ys�6��6 ��6@��6a� 6�� 6�� 6��  6�@( 6D"0 6��8 6��@ 6�H 6i�P 6��X 6��� 6�@� 6D"� 6��� 6��� 6%�� 6d�� 61�� 6��� 6.�� 6:�� 6n�� 6G�!6�@!6D"!6��!6�� !6 �(!6@�0!6��8!6��@!6��H!6��P!6��X!6��`!6��h!6��p!6��x!6oa�!6w��!6���!6d��!6��!6
��!6��!6�6�!6���!6���!6���!6���!6���!60��!64�"6@�"6S�"6,�"6)� "6̝("6��0"68"6�@"6��H"6�P"6#vX"6"�`"6��h"6��p"6�x"6���"6/��"6���"6���"6���"6��"6G��"6���"6"��"6��"6���"6���"6���"6���"6)��"6��"6��#6x�#6��#6��#6�� #6!<(#6�0#6��8#6��@#6��H#6
�P#6��X#6�)`#6��h#6��p#6��x#6���#6 ��#6D��#6{��#6$��#6���#6�@�#6D"�#6���#6���#6 ��#6@��#6��#6��$6�� $6�6($6��0$6��8$6��@$6��H$6��P$60�X$64�`$6@�h$6S�p$6
�x$6���$6-��$6�)�$6���$6���$6���$6���$6���$6 ��$6D��$6{��$6$��$6���$6,��$6)��$6̝�$6��%6%6�%6��%6� %6#v(%6"�0%6��8%6��@%6�H%6��P%6/�X%6��`%6��h%6��p%6�x%6G��%6���%6"��%6��%6���%6���%6���%6���%6)��%6��%6���%6x��%6���%6���%6���%6!<�%6�&6��&6��&6��&6�� &6��0&6x�@&6��H&6�t`&6�@h&6D"p&6��x&6���&6 ��&6@��&6���&6���&6���&6���&6���&6���&6���&6���&6���&6x�'6�@'6D"'6��'6�� '6 �('6@�0'6��8'6��@'6��H'6��P'6��X'6��`'6��h'6��p'6��x'6���'6���'63��'6�@�'6D"�'6���'6���'6 ��'6@��'6���'6���'6���'6���'6���'6��(6��(6��(6��(6�� (64�((6��0(6��8(6��@(6��`(6�@h(6D"p(6��x(6���(6 ��(6@��(6���(6���(6���(6���(6���(6���(6���(6���(6���(6d��(6w��(65j�(6���(6��)6��)6��)6�� )6��()6��0)6�8)6ys@)6��H)6��`)6�@h)6D"p)6��x)6���)6 ��)6@��)6���)6���)6���)6���)6���)6���)6���)6���)6���)6���)6��*6�6*6��*6��*6�� *6��(*6��0*60�8*64�@*6@�H*6S�P*6
�X*6��`*6-�h*6�)p*6��x*6���*6���*6���*6���*6 ��*6D��*6{��*6$��*6���*6,��*6)��*6̝�*6���*6�*6��*6���*6�+6#v+6"�+6��+6�� +6�(+6��0+6/�8+6��@+6��H+6��P+6�X+6G�`+6��h+6"�p+6�x+6���+6���+6���+6���+6)��+6��+6���+6x��+6���+6���+6���+6!<�+6��+6���+6���+6���+63.,6�m ,6�@(,6D"0,6��8,6��@,6 �H,6@�P,6��X,6��`,6��h,6��p,6��x,6���,6���,6���,6���,6���,6�@�,6��,6���,6��-6��-6��-6��-6�� -6��(-6��0-6��8-6��`-6�@h-6D"p-6��x-6���-6|��-6���-6���-6d��-6@��-64��-6���-6^��-6e��-6�6�-6���-6���-6��.6��.6��.60�.64� .6@�(.6S�0.6
�8.6��@.6-�H.6�)P.6��X.6��`.6��h.6��p.6��x.6 ��.6D��.6{��.6$��.6���.6,��.6)��.6̝�.6���.6�.6��.6���.6��.6#v�.6"��.6���.6��/6�/6��/6/�/6�� /6��(/6��0/6�8/6G�@/6��H/6"�P/6�X/6��`/6��h/6��p/6��x/6)��/6��/6���/6x��/6���/6���/6���/6!<�/6��/6���/6���/6���/6��06,�06)�06̝06�� 06(06�006��806�@06#vH06"�P06��X06��`06�h06��p06/�x06���06���06���06��06G��06���06"��06��06���06���06���06���06)��06��06���06x��06��16��16��16!<16� 16��(16��016��816��P16��`16��p161�x16���16���16��16i��16���16�@�16D"�16���16��26 �26@�26��26�� 26��(26��026��826��@26��H26��P26��X26��`265jh26d�p26��x26���26���26���26���26���26���26���26���26���26 ��26@�36�@36D"36��36��@36�@H36D"P36��X36��`36 �h36@��36�@�36D"�36���36���36 ��36@��36���36���36���36���36���36���36���36���36��46,�46)�46̝46�� 46(46�046��846�@46#vH46"�P46��X46��`46�h46��p46/�x46���46���46���46��46G��46���46"��46��46���46���46���46���46)��46��46���46x��46��56��56��56!<56� 56��(56��056��@56�6H56��P56��X56��`56��h56��p560�x564��56@��56S��56
��56���56-��56�)�56���56���56���56���56���56 ��56D��56{��56$��56��66,�66)�66̝66�� 66(66�066��866�@66#vH66"�P66��X66��`66�h66��p66/�x66���66���66���66��66G��66���66"��66��66���66���66���66���66)��66��66���66x��66��76��76��76!<76� 76��(76��076��@76��H76x�P76l�X765�`76��h76��p76�x76���76n��76Y��76���76���76O��76���76�.�76�.�76/�7685�76/�76'/�76:/86N/86k/86�/86�/ 86�/(86�/086�/886�/@860H860P86%0X8690`86U0h86e0p86`5x86|0�86�0�86�0�86�0�86�0�86�<6�86�>6�86���86@��86��96@�96��(96�H96`�h96@�p96���96`��96���96p��96���96��:6��:6��(:6@�0:60�H:6��P:6��h:6@�p:6��:6@��:6��:6��:6���:6 ��:6���:6��:6�;6 �(;6�0;6`�H;6`h;6�p;6��;6�	�;6��;6�;6�
�;6��;6@�;6P<6 P(<6`PH<6�Ph<6(Rp<6 R�<6@R�<6.e�<6��<6��<6��<6��<6�G=6�=6� =6�0=6�@=6�P=6�N`=6�p=6��=6��=6��=6��=6��=6��=6e�=6��=6�>6�>6� >6(�0>6@>6P>6��`>6p>6
�>6
�>6�>6Ya�>6�>6�>6�>6�>6*?6F?6M ?6g0?6�@?6�P?6�`?6�p?6��?6��?6��?6��?6��?6��?6��?6��?6@6%@6� @6@0@6V@@6oP@6�`@6p@6��@6��@60�@6��@6��@6��@6��@6��@6A6
A6  A6(0A63@A6<PA6R`A6npA6w�A6��A6��A6��A6��A6��A6��A6��A6�B6�B6� B60B6@B6-PB65`B6<pB6U�B6d�B6m�B6X�B6{�B6��B6��B6��B6�C6�C6� C6�0C6�@C6�PC6�`C6pC6�C60�C66�C6G�C6X�C6f�C6��C6p�C6�D6�D6� D6�0D6�@D6�PD6�`D6�pD6��D6��D6��D6��D6�D6 �D6��D6(�D63E6BE6H E6P0E6X@E6jPE6�`E6�pE6��E6��E6��E6��E6��E6
�E6�E6�E6"F6'F6- F6@0F6F@F6MPF6T`F6YpF6a�F6�F6j�F6}�F6��F6��F6�p6�aHp6
mPp6
m�p6�a�p6�
�p6�
Pq6��q6�a�q6�a�q6�a(r6�)0r6�)�r6���r6�)�r6�)s6p0s6u8s61��u6�N�u6�N�u6MJ�u6�
�<6��<6~�<6��<6��<6��<6�=6h=6m(=6q8=6xH=6|X=6�h=6�x=6��=6��=6��=6��=6��=6��=6��=6��=6�>6�>6�(>6�8>6�H>6�X>6�h>6<x>6J�>6K�>6O�>6��>6��>6��>6��>6�>6�?6�?6�(?6�8?6H?6�X?6h?6�x?6��?6��?6��?6U�?6K�?6��?6��?6{�?6�@6�@6�(@6�8@6PH@6�X@6�h@6�x@6�@6}�@6��@6�@65�@6��@6��@6��@6�A6
A6(A6.8A6�HA6ZXA6�hA6gxA6+�A6�A6��A6�A6��A6C�A6M�A6��A6�B6�B6�(B6�8B6HB6�XB6�hB6;xB6�B6a�B6��B6��B6��B6��B6}�B6��B6�C66C6-(C6l8C6�HC6XXC6[hC6zxC6��C6i�C6��C6�C6<�C6)�C6v�C65�C6|D6}D6�(D6�8D6�HD6!XD61hD6�xD6E�D6��D6_�D6>�D6S�D6��D6Z�D6]�D6�E6&E6w(E6d8E6�HE66XE6hE6xE6��E6��E6�E6
�E6�E6��E6��E6��E6F6XF6�(F6o8F6�HF6�XF6�hF6~xF6��F6��F6��F6{�F6��F6�F6��j6��j6��j6��j6�u6k6k6N�s6N�t6Nk6��s6��t6�k6� k6(k6
0k68k6
@k6�Hk6Pk6w0t6w8t6w0u6w8u6wXk6r�t6r`k6lhk6�pk6�xk6�k63�k6�k6:�k6��k6��k6m�k6�k6��k6��k6��k6��k6��k6��k6M�k6xt6�k6%�t6%l6"l6$l6p`t6pl6aHt6aHu6a l6h�t6h(l6�0l6�8l6@l6�Hl6��s6��t6�Pl6St6SXl6|`l6Rhl6xpl6xl6�l6b@t6b@u6b�l6y t6y u6y�l6��l6B�t6B�l6��s6��t6��l6��l6Dpt6D�l6�l65�l6x�l6��l6�u6��l6��l6"�l6�l6�m6m6�t6�u6�m6m62 m6>(m60m6?8m6@@m6<Hm6Pm6Xm6�`m6Ihm6�pm6^xm6H�m6��m6+`u6+hu6+�m6K�m6L�m6��m6O�m6Pxu6P�u6P�m6R�m6��m6��m6��m65�t65�m6T�m6�m6w�m6�n6�n6�n6n6��s6��t6� n6�(n6�0n6Ypu6Y8n6�Pu6�@n6#Hn6dPn6[Xn6c�s6c�t6c`n6?hn6
pn67xn6��n6��n6��t6��n6�n6a�n6b�n6��n6��n6��n6c�n6��n6��n6��n6(t6(u6�n64�s64�t64�n6��n6E�t6Eo6�o6�o6�o6� o6'(o6[0o6�8o6'@o6Ho6Po6�Xo6n`o6Lho6po6�t6�u6�u6�xo6
�o6��t6��o6��o6��o6D�o6r�o6s�o6��o6^ht6^�o6�t6�o6u�o6C�o6~�o6��o6y�o6��o6�HI6$PI6�XI6�`I6�hI6�pI6[xI6�I6�I6�I6�I6��I6��I6��I6��I6�I6��I6��I6��I6H�I6��I6L�I6G�I6�J6�J6�J6J6 J6�(J60J68J6�@J6RHJ6�PJ6dXJ6N`J6�hJ6pJ6IxJ6��J6A�J62�J6|�J6��J6��J60�J6e�J6:�J6��J6L�J6��J6��J6�J6��J6	�J6*K6gK6�K6nK6( K6
(K6�0K68K6�@K60HK6PK6�XK6`K6BhK6�pK6bxK6��K6��K6G�K6,�K6�K6��K6k�K6��K6L�K6I�K6�K6�K6��K6��K6��K6��K6�L6L6CL6=L6� L6(L6�0L6�8L63@L6DHL6�PL6iXL6�`L6$hL6�pL6xL6N�L6~�L6�L6��L66�L6��L6��L6��L6��L62�L6��L6��L6��L6�L6��L6r�L6�M6�M6M6M6� M6�(M6[0M6-8M6�@M6�HM6BPM6�XM6�`M6hM6�pM6�xM6X�M6��M6��M6��M6��M6��M6J�M6�M6��M6g�M6�M6��M6��M6k�M6g�M6��M6N6ON6@N6�N6K N6u(N6�0N6�8N6�@N6<HN61PN6�XN6`N6�hN6hpN6
xN6V�N6��N6��N6��N6;�N6��N6��N6��N6R�N6��N6��N6�N6��N6��N6�N6x�N6-O6�O6nO6O6� O6(O60O6q8O6�@O6dHO6�PO6�XO6�`O6(hO6�pO6~xO6��O6e�O6	�O6/�O6��O6�O6��O6S�O6m�O6��O6�O6��O6��O6k�O6��O6��O6fP6�P6ZP6�P6 P6@(P6a0P6�8P6@P64HP6PP6\XP6\`P6�hP6CpP6_xP6S�P6�P6#�P6��P6��P6��P6J�P6��P6V�P6��P6V�P6��P6�P6��P6��P6&�P6�Q6Q6Q6PQ6^ Q6?(Q6�0Q6�8Q6q@Q6HQ6PQ6�XQ6�`Q6�hQ6�pQ6 xQ6��Q6�Q6o�Q61�Q6��Q6��Q6��Q6�Q6U�Q6��Q6�Q6#�Q65�Q6��Q6F�Q6��Q6QR6�R6QR6'R6 R6!(R6z0R6"8R6�@R6#HR6�PR6�XR6�`R6�hR6�pR6YxR6��R6?�R6W�R6d�R6�R6P�R6��R6��R6��R6 �R6��R6$�R6��R6c�R6|�R6%�R6WS6�S6YS6�S6& S6�(S6�0S678S6�@S6HS6�PS6EXS6�`S6�hS6'pS6oxS6��S6��S6��S6(�S6��S6��S6��S6��S6��S6��S6
�S6��S6F�S6p�S6��S6�S6)T6�T6T6�T6� T6�(T6�0T6�8T6�@T6�HT6�PT6�XT6�`T6�hT6*pT6�xT6.�T6��T6w�T6��T6��T6T�T6��T6�T6|�T6��T6<�T6~�T6��T6�T6+�T6��T6�U6GU6,U6sU6� U6+(U6f0U6�8U64@U6�HU6-PU6�XU69`U6OhU6�pU6.xU6O�U6.�U6-�U6��U6��U6��U6��U6�U6/�U6��U6��U6��U6��U6�U6��U6�U60V6V6%V6�V6 V6[(V6�0V6>8V61@V6�HV6PV6�XV62`V6hV6pV63xV6D�V64�V6}�V6]�V6��V6�V6 �V6��V6��V65�V6��V6E�V6��V6��V65�V66�V6�W6$W6�W6�W6E W6;(W6�0W6 8W6"@W6�HW67PW6^XW6�`W6�hW6�pW6/xW68�W6��W6��W6��W6��W6�W6&�W6��W6��W6�W6�W6��W6�W6��W6!�W6Q�W6�X6�X6VX6�X6� X6�(X6�0X698X6/@X6:HX6�PX6!XX6	`X6;hX6pX6�xX60�X6E�X6�X6<�X6=�X6H�X6K�X6?�X6��X6��X6��X6*�X6_�X6��X6��X6��X6�Y6AY6FY6!Y6� Y6�(Y6�0Y6�8Y6B@Y6�HY6CPY6�XY6�`Y6�hY6lpY60xY6��Y62�Y6D�Y6i�Y6��Y6��Y6��Y6��Y6E�Y6��Y6��Y6��Y6��Y6��Y6��Y63�Y6�Z6Z6Z6JZ6" Z6�(Z6Q0Z6�8Z6F@Z6nHZ6�PZ6)XZ6�`Z6WhZ6�pZ6�xZ6�Z67�Z6�Z6k�Z6+�Z6��Z6Q�Z68�Z6�Z6G�Z6m�Z6H�Z6��Z6��Z6Z�Z6I�Z6[6=[6[6�[6 [6T([6�0[6J8[6�@[6�H[6�P[6lX[6x`[6�h[6�p[6tx[6K�[6n�[6��[6��[6l�[6%�[6L�[6��[6��[68�[6��[6��[6��[6��[6M�[6,�[6�\6y\60\6\6� \6N(\6�0\6�8\6@\6OH\6>P\6X\6~`\6h\6�p\6�x\6��\6�\6��\6��\6��\6&�\6Y�\6P�\6Q�\6�\6��\6��\6x�\6��\6��\6a�\6�]6�]6�]6�]6� ]6(]6�0]6�8]6R@]6H]6KP]6�X]6�`]6h]6�p]6�x]6��]6��]6"�]6G�]6��]6��]6�]6��]6��]6��]6S�]6I�]6��]6T�]6��]6��]6�^6�^6�^6�^6 ^6�(^6�0^6j8^6�@^6�H^6qP^6X^6�`^6Ph^6�p^6=x^6��^6��^6��^6�^6��^6�^6��^6|�^6��^6m�^6��^6��^6�^6o�^6��^6U�^6�_6q_6_6\_6. _6�(_6�0_6�8_6V@_6�H_6"P_6�X_6n`_67h_6{p_6Wx_6d�_6��_6X�_6��_6��_6V�_6k�_6��_6�_6��_6��_6��_6	�_6Y�_6��_6_�_6�`6`6?`6:`6s `6&(`6�0`6�8`6F@`6�H`6�P`6!X`6�``6h`6p`6�x`6��`6��`6��`69�`6Z�`6��`6)�`6R�`6[�`6%�`6W�`6��`6�`6��`6\�`6��`6]a6wa6<a6�a6S a6u(a60a6�8a6^@a6�Ha6�Pa6OXa6 `a6�ha6�pa6_xa6e�a6i�a6��a6`�a6��a6p�a6`�a6��a6g�a6(�a6��a6��a6��a6��a6��a6��a68b6�b6�b6bb6 b6�(b6V0b6�8b6�@b6�Hb61Pb6�Xb6�`b6;hb6_pb6�xb6�b6��b6a�b6��b6t�b6z�b6�b6��b6��b6c�b6m�b6!�b6��b6��b6i�b6��b6Sc6�c6c6�c6t c6�(c6�0c6�8c6�@c6�Hc6�Pc6dXc6A`c6�hc6pc6�xc6��c6v�c6]�c6i�c6��c6&�c6��c6>�c6��c63�c6��c6��c6��c6��c6��c6N�c6�d6�d6d6Fd6T d6�(d6z0d6�8d6@d6jHd6Pd6
Xd6``d6
hd6+pd6vxd6(�d6e�d6��d6��d6R�d6��d6��d6��d6��d6x�d6f�d6/�d6�d6��d6Q�d6b�d6Ee6je6�e6�e6� e6�(e6�0e6�8e6�@e6He6�Pe6Xe6�`e6ghe6�pe6'xe6h�e6q�e6�e6�e6��e6��e6��e6��e6��e6<�e6��e6��e6�e6��e6��e6T�e6uf6of6�f6�f6� f6�(f6�0f6�8f6�@f6_Hf6JPf6�Xf6�`f6hf6�pf6vxf6N�f6i�f6��f6/�f6j�f6��f6k�f6��f6��f6q�f6��f6c�f6l�f6e�f6m�f6��f6Bg6�g6cg6�g6K g6�(g6�0g6�8g6�@g6�Hg6�Pg6*Xg6�`g6�hg6�pg6�xg6��g6b�g6,�g6b�g6K�g6L�g6[�g6��g6$�g6��g6��g6��g6�g6o�g6��g6��g6�h6�h6th6�h6� h6L(h6�0h6+8h6�@h6Hh6-Ph6pXh6q`h6�hh6Mph6�xh6=�h6
�h6$�h6��h6��h6\�h6��h6{�h6��h6�h6��h6
�h6��h6c�h6��h6�h6^i6Di6�i6 i6� i6)(i6r0i6?8i6�@i6yHi6JPi6sXi6�`i6�hi6!pi6�xi6#�i6�i6�i6.�i6Z�i6��i6P�i6��i6t�i6��i6��i6*�i6�i6��i6u�i6	�i6�j6�j6Fj6�j6 j6�(j6�0j6v8j6@j6fHj6�Pj6GXj6�`j6hj6�pj6wxj6x�j6�j6X�j6z�j6�j6{�j6D�j6��j6��j6?�j6��j6��j6��H��H�a@3H��t��H����5B3�%C3��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��������h"�������h#�������h$�������h%�������h&�������h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��������h2�������h3�������h4�������h5�������h6�������h7��q������h8��a������h9��Q������h:��A������h;��1������h<��!������h=��������h>��������h?������h@�������hA��������hB�������hC�������hD�������hE�������hF�������hG��q������hH��a������hI��Q������hJ��A������hK��1������hL��!������hM��������hN��������hO������hP�������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q������hX��a������hY��Q������hZ��A������h[��1������h\��!������h]��������h^��������h_������h`�������ha��������hb�������hc�������hd�������he�������hf�������hg��q������hh��a������hi��Q������hj��A������hk��1������hl��!������hm��������hn��������ho������hp�������hq��������hr�������hs�������ht�������hu�������hv�������hw��q������hx��a������hy��Q������hz��A������h{��1������h|��!������h}��������h~��������h������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h�������h�������h�������h������h������h������h������h������h���q���h���a���h���Q���h���A���h���1���h���!���h������h������h��������h�������h�������h������h������h������h������h������h��q����h��a����h	��Q����h
��A����h��1����h��!����h
������h������h�������h�������h�������h������h������h������h������h������h��q����h��a����h��Q����h��A����h��1����h��!����h������h������h�������h �������h!�������h"������h#������h$������h%������h&������h'��q����h(��a����h)��Q����h*��A����h+��1����h,��!����h-������h.������h/�������h0�������h1�������h2������h3������h4������h5������h6������h7��q����h8��a����h9��Q����h:��A����h;��1����h<��!����h=������h>������h?�������h@�������hA�������hB������hC������hD������hE������hF������hG��q����hH��a����hI��Q����hJ��A����hK��1����hL��!����hM������hN������hO�������hP�������hQ�������hR������hS������hT������hU������hV������hW��q����hX��a����hY��Q����hZ��A����h[��1����h\��!����h]������h^������h_�������h`�������ha�������hb������hc������hd������he������hf������hg��q����hh��a����hi��Q����hj��A����hk��1����hl��!����hm������hn������ho�������hp�������hq�������hr������hs������ht������hu������hv������hw��q����hx��a����hy��Q����hz��A����h{��1����h|��!����h}������h~������h�������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h���q����h���a����h���Q����h���A����h���1����h���!����h�������h�������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h	��Q�����h
��A�����h��1�����h��!�����h
�������h�������h��������h��������h��������h�������h�������h�������h�������h�������h��q�����h��a�����h��Q�����h��A�����h��1�����h��!�����h�������h�������h��������h ��������h!��������h"�������h#�������h$�������h%�������h&�������h'��q�����h(��a�����h)��Q�����h*��A�����h+��1�����h,��!�����h-�������h.�������h/��������h0��������h1��������h2�������h3�������h4�������h5�������h6�������h7��q�����h8��a�����h9��Q�����h:��A�����h;��1�����h<��!�����h=�������h>�������h?��������h@��������hA��������hB�������hC�������hD�������hE�������hF�������hG��q�����hH��a�����hI��Q�����hJ��A�����hK��1�����hL��!�����hM�������hN�������hO��������hP��������hQ��������hR�������hS�������hT�������hU�������hV�������hW��q�����hX��a�����hY��Q�����hZ��A�����h[��1�����h\��!�����h]�������h^�������h_��������h`��������ha��������hb�������hc�������hd�������he�������hf�������hg��q�����hh��a�����hi��Q�����hj��A�����hk��1�����hl��!�����hm�������hn�������ho��������hp��������hq��������hr�������hs�������ht�������hu�������hv�������hw��q�����hx��a�����hy��Q�����hz��A�����h{��1�����h|��!�����h}�������h~�������h��������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h���������h���������h���������h��������h��������h��������h��������h��������h���q�����h���a�����h���Q�����h���A�����h���1�����h���!�����h��������h��������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h��������h���������h��������h��������h��������h��������h��������h���q������h���a������h���Q������h���A������h���1������h���!������h���������h���������h�������h�������h��ѿ�����h�������h�鱿�����h�顿�����h�鑿�����h�避�����h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��Ѿ�����h�������h�鱾�����h�顾�����h�鑾�����h�遾�����h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h �������h!��ѽ�����h"�������h#�鱽�����h$�顽�����h%�鑽�����h&�遽�����h'��q������h(��a������h)��Q������h*��A������h+��1������h,��!������h-��������h.��������h/������h0�������h1��Ѽ�����h2��������%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%�2D���%�2D���%�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%�2D���%�2D���%�2D���%�2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݿ2D���%տ2D���%Ϳ2D���%ſ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݾ2D���%վ2D���%;2D���%ž2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݽ2D���%ս2D���%ͽ2D���%Ž2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݼ2D���%ռ2D���%ͼ2D���%ż2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݻ2D���%ջ2D���%ͻ2D���%Ż2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݺ2D���%պ2D���%ͺ2D���%ź2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݹ2D���%չ2D���%͹2D���%Ź2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݸ2D���%ո2D���%͸2D���%Ÿ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2D���%u�2D���%m�2D���%e�2D���%]�2D���%U�2D���%M�2D���%E�2D���%=�2D���%5�2D���%-�2D���%%�2D���%�2D���%�2D���%
�2D���%�2D���%��2D���%��2D���%�2D���%�2D���%ݷ2D���%շ2D���%ͷ2D���%ŷ2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%��2D���%}�2DH�%�%��%�H�%0f.���H�U�2H�V�2H9t����H�=�2H���2H9�tH�f�2H��t	�����H�=�2H�5�2H)�H��H��H��?H�H�tH�M�2H��t��fD�����=��2u+UH�=r�2H��tH�=>2����d����m�2]������w������UH����SH��H�G�2�H��H����H�xH��H�Hǀ�H��1�H)�������H��C�E\H�}�C\H��t	�0��H�CH�}`H��t	���H�C`H�}hH��t	���H�ChH�}PH��t	���H�CPH�}HH��t	����H�CHH�}xH��t	����H�CxH��H��[]��L��
1�1Ҿ��&����@AWI��AVI��AUM��ATM��UH����SH��H�7�2�T$��T$H��H���aH�xH��H�H��H�@|1�H)�������H��Cǃ��S\H���������L��H���Y��H�CM��t�����L��H���@��H�C`M��t�����L��H���'��H�ChM����L���R���CX������L��謽��H�CPH�CxH�CHǃ�H��H��[]A\A]A^A_�@L���p��H�CM��tL���_��H�C`M��tL���N��H�ChM��u�CXH�CP�@L������CX�j�����L��H���c���H�CP�b���f.�L���
1�1Ҿ��f���S����H����ATUSH�G@H��H�H����L���H��t
�����H�sM����H��tL��蜽�����|H�-]�2H�s`H��tL���|������LH�shH��tL���c������#H�sxH��tL���J�������H�sPH��tL���1�������H�sHH��tL����������H�EH��[]A\��H��t���uH;_(��H�sH�-��2H�EH��t	H����H�EH�{`H��t��H�EH�{hH��t��H�EH�{xH��t��H�EH�{PH��t��H�EH�{HH���n������c���H�{H�UH�EH��[]A\��@H�{P�U�#���@H�{x�U���@H�{h�U����@H�{`�U���@H�-�2H�{�U�x���DH9_(�@�������6���@��������fD��H��t����f��ff.�@AWAVAUATUSH��HH�|$�T$dH�%(H�D$81�H���GH��E1�H��tE1�
A��H��2���A��I��H��H�D$-H�D$M��ue�@A��>��A��&�A�E�<_��A�E�<��A��
u	E����E����A��
��f.�H��D�mE���I��M)�I�FdL9�v<K�I9��H���2H��H�$L���H����H�$D�mJ�0I��I��A��<�A���D�d$t�}!tt�&lt;H���H�D$H����H�xp���D�+H���T���@�&gt;H���A����D�d$t
�}{���&ampH���C�;����@�}-u��}-u�H�5#�
H��L�$�9�L�$H��I���]���H9�tTH���U�H�C�H��L)�H�SdL9���O�,M9���H�o�2L��L���H����H�M��I��I9�u��EH��H���C��E��C��E��C��r���fD�}H��L�$�7��L�$H������H�CD�+L�uH��L)�H�SdL9�v`O�,M9��cH�ܰ2L��L���H���KM��E�.H�I��A��}u5H���}H��D�mE�������9E�.H��A��}t�L���q���E���O���D���<����E�ƒ�����D������wD������G��?A����E��A�A��A��A	�A����A����A��
����t
A�A����6L�t$1��L�$L�@�
��L��苴���D$-�D$7L�$��tL��fDH��H���C����u�L�����fDL��
1�1Ҿ����H�O�2L��E1��H�L$8dH3%(L����H��H[]A\A]A^A_ÐL�t$1��L�$A�
��L�v�
L���ѳ���D$-�D$7L�$���+���L���H��H���C����u��	����U�����y���E1�1�H�
ͣ
L�$����*���L�t$L�$M��tH�=�
萾��L�$I�FpL�t$D�M1�L�$���L���
L�������D$-�D$7L�$���t���L��H��H���C����u��Y���E1����D��D�MA�����A��?	��A	�����H�����A�����=�����A�� ��=�����A����=������E1�1�H�
�
L�$�	�����L�t$L�$M��tH�=ܡ
腽��L�$I�FpL�t$D�M1�L�$���L���
L�������D$-�D$7L�$���i���L��fDH��H���C����u��I���L���
1�1Ҿ��������D�MD�ʃ�������D���������D���?A��?A�����	�����E��?	��A	�����������AUATI��%USH��L��H��詯��H����H�5JH��H�-Р
����L���D<%tDL�����tbL�j<"u�I9�tL)�L��H���g��H�5��
H��M���P���fDI9�tL)�L��H���5��H��H��M���"��I9�tL)�L��H���
�H��H��H�5dI[]A\A]�t���@��H��L��H��[]A\A]�����H����S�H��<g��vR<lt&<qu:H�5�
����t*H��2[H���fDH�5�l�H���2��u�1�H��[�f�<au�H�5�@�H�9�2��u�H�5y�
H���&�H�߭2��u��f�H�5Q�
��H���2��t�H��[�@1�H���f.�AWAVAUATUSH��(dH�%(H�D$1�H����I��H����L�o@H����I��M��tM���E1��~������~0H�L$dH3%(L���fH��([]A\A]A^A_�f.�L�UxM����L����L��L��L�$�_�I��H��t'H�E@L�$L��L��I�D$@L�������t�L�����E1��x����L��L�L$L�$���L�$L�L$H�������M���H�@P�A���8��v<&��A�y#��A�yxL�D$�D$00;������̉�L�$�������������)Ɖ�H�t$��0�D$��I�y�)���0�L$�4�L�$L�D$��twL�U`M������L��1�L�L$L�$跳��L�$L�L$I��H�E`�f�����I�yL�$H�0�
Hc�H�t$���L$�D$���L�$L�D$��t��H��
jE1�1�AVA�1�1�P1�1�E1�jjjjAVjjjjh���H��`���fDL��1�L�L$L�$����L�L$L�$H�ExI��M���<������A�y������>�l���H��@H������S������ff.���SH��tvH�_XH��tEH�����H��t!H�S@H�X(H�P@H�S H��tH�B0H�P8H�C [�DH�C H�C[�fDE1�1Ҿ
�H�
B�
�ͳ��1�[�f�E1�1Ҿ	�H�
�
襳��1�[Ð��SH��tvH�_PH��tEH���U���H��t!H�S@H�X(H�P@H�S H��tH�B0H�P8H�C [�DH�C H�C[�fDE1�1Ҿ
�H�
�
�-���1�[�f�E1�1Ҿ	�H�
��
����1�[��H��t/H�Pu H���SH��H����H��tH�X@[�f��[�1���@��H��t_UH��SH��H��H�GPH��tH�xxH��t
�$���H��u)H�CXH��tH�xxH��tH��H��[]����1�H��[]��1��D��H��tH�XH��tH�`H��t���1��ff.�f���UH��SH��H��tSH�GPH��H��t"H�x`H��t脶��H��tH��[]���{LtH�CXH��tH�x`H��t
H���P���H��u�H��H��[]���ff.�f�����r�f���1��e�D��AUATUSH��H���xH���2H����H��H���c�I�Թ������@<>��<&��<"��<
���H��f.�H���;tXH��L)�H�E
H9�v/L�,	L9���H�D�2L��L��H����H�(L��I���<<u�H���&lt;H���;u��H��L��[]A\A]�fD�&gt;H���y���f��&ampH���B�;�]���D�t;�&quoH��f�B��@����&#13H���B�;�-���DL�Q�
1�1Ҿ�����H�g�2L��E1�H��L��[]A\A]�E1��M���L��
1�1Ҿ�E1��̯���+������1��e��D��H�5e�頹����H�5u������H��t7H��t2USH���~\���F\H���
H��H��Hc�H�>�����H�5{�
H���ɨ��H�uH���m��H�}`H�5J�
t"H�58�
H��蠨��H�u`H�����H�5�H��腨��H�uhH����H��H��H�5S�
[]�d���@H�5ߖ
H���Q���H�uH�����H�5��H���6���H�uHH��u�H�uPH���q�����H�5��
�;���@H�5��
���H�uH�����H�}`H�5}�
t"H�5k�
H���ӧ��H�u`H����H�5:�H��踧��H�uhH�����H�}P�(���H�5<�
H��蒧��H�uHH��tIH���1������@H�5�
����@H��E1�H�
"�
1�[��]鷭���H�uP�f.���H��H��H�����ff.���H��H��H�5���麭��f.���UHc.SHcH��H�L�L9�s~��~yL�ZD�H9�slE��xoH�H���(fDLcM�JM9�})M�KE�A�H9�tE��x)M��H��D�@�I��I)�H9�u�A)�D�[D�]��DA)�D������[D�]�E1�E1���E1�E1������H��A��H����A���H����H���iAULc.ATUI�SHcH�H9��pH��I��D�EL�MA����A����A�����A��A�A�H��L)�L9���L9�vR�EL�MA��A��A���t �;E��t)I��A�A�A��A��A���uA����?A��A	�L9�w�A����M9�v-I��E�D$�I9���L��D�EL�MA���C���L9�y�A)�)�D�&[�)]�A\A]�A���wA��A�A��4���f.�A���wA��A�A�����I)�H)�[�����D�&�)]A\A]��1���D��A)�)��v���������1�E1��f���ff.�@��H���.H���%H���H���AUATUHc.SHcH�H�H9���L�e�L9���I��I��H���E�E��y%A��I��H��A��D�H�E�H�A��?A�ɀD�H�M��I��I)�M)�O�M9�MO�M9�s0M��E�M)�I�E��y
�f�E�E��xH��I��D�H�I9�u�L9�v:L9��x���L9�v,H9�v'E�E��xD�I��H��[)�A)�]A\�A]D���)�A)�[]�A\A]D���I��H���E1�1�������ff.�@��H��A��H����A���H����H���yAULc.ATUI�SHcH�H9��zH��I��D�EL�MA����A�����A�����A��A�A�H��L)�L9���L9�vY�EL�MA��A��A���t(��E��t)I��A�A�A��A��A���ueA����?A��A	�L9�w�A���wIM9�v-I��E�D$�I9���L��D�EL�MA���<���L9�y�A)�)�D�&[�)]�A\A]�@I)�H)�[�����D�&�)]A\A]�f�A���v'A���w�A��A�A�����f�A��A�A�����1���D��A)�)��m���1�E1��c���������ff.�@��HcAVAUATUH��S�����	L�A��A��B���D)����������H�BH9����>��I��I��E1��C@M9��dM�hA���E�I��M��M��I)�I9���HcI�MH9���E�I�KE��fA���fA���u�H9��A�C����������M9���A��
%�I��I��A����D	�D��D������A�@�M9�r�_�������P���D��I�������?�ȀA�@�M9�w�M��I)�I9��5���E��A)�[D�D�]]�A\A]A^�fDA���wD��I��1����A�M���D��I�˹�����A�M���d������M�t����[]A\A]A^�A)�A)��I)�D�.�����D�]��E1�E1��o������H��A��H����A���H����H����D�LcAVAUD��I�AT��UD�S�H�H�,GL9���H��I��A�EM�U����=��e=����A�A�M��M)�M9���M9���E�EM�UE��A��A���t&�fDM9�v&I��E�B�E��A��A���u��A��?D	�A��u�=��v~=��wdL�CL9�v[-L�KM��A��f%�A��
f
�fA���f�CfD�L��M9�������)���D��)�[]�>A\A]�A^���M9�y��)���D��)���fDH9�v�L�Cf�M��L���@=�w��A�A����D=�w#��A�A������1���L��H)�H)Љ[�]�����A\A]A^ø�����1�1��F���@��HcAUATUH��S�����	L�A��A��B���D)����������H�BH9����>��D�%��2I��I��E1��F�M9���I�@A���)E�I��I��M��I)�I9���HcI�MH9���A�I�KA��fA��E��E��DD�D��%�=�u�H9��(E����A�Cf�������������
M9���A��
%�I��I��A����D	�D��D������A�@�M9�r�>���fD���0���D��I�������?�ȀA�@�M9�w�M��I)�I9�����E��A)�[D�D�]]�A\A]�A�C�M���fDA���wE��A��A��E�I��I��1��t���E��A��A���E�I��I����V������M�;����[]A\A]�A)�A)��{���I)�D�.�����D�]��E1�E1��_���ff.�@��H��A��H����A��9H���0H����D�LcAVAUD��I�AT��UD�S�H�H�,GL9��D�%z�2H��I��@A�EM�U���=���=��(��A�A�M��M)�M9���M9���E�EM�UE��A��A���t&��fDM9�v&I��E�B�E��A��A���u��A��?D	�A��u�=����=��wpL�CL9�vg-L�KA��f%�A��
f
�fA���E����fA��f��M��fD�f�CL��M9�������)���D��)�[]�>A\A]�A^�ÐM9�y��)���D��)���fDH9�v�L�CE��t2f��M��f�L���=�wI��A�A�����Df�M��L���v���f.�fD�M��f�CL���Y���D=�w#��A�A��|����1���H��[]H)�A\H��L��A]H)�A^������ø�����1�1�����ff.�H��A�E1�1�R1�V1�jjjjR1�jjjW1�貮��H��h�ff.�f���H��ATA��H��UH��@��SA�uRH��tMH��t0�9]N]��x;I��H��Hc�����]A�$��[]A\��1��E���[]A\�f��������f�USH��H��8dH�%(H�D$(1�H�L$H�t$ H����H��tIcL��H�L$ H�t$L�D$H�D$HcH�T$H�D$裛��H�T$H�L$)U)H���t1�H��t�������Tt8�������D�H�\$(dH3%(u"H��8[]���������ո�������������H��t���f��>�1���@�����f�����ff.�I��I��L��H��t"H��H��L��L��L��к��O�H��ÐH�>H��tH��M��L��L�����������A��@I��I��L��H��t"H��H��L��L��L��к��O�H��ÐH�>H��tH��M��L��L���7���������A��@��H��tz��~2���u{�W��uK�u
�<�`1��<�'�fD��1���u��<���1������@�1���<uʀ�����1��f.�<<u$�W�����u:��u/�fD<Lu[1��o�q������g������D�Ð1��?�M���1�������<��{���1��������<��1���1�������1������1���?������x���1��m���f������fD��������1��?���@ø�ff.�f���H���2H����AT��2UH�-�2SH�M��~I1ېI��I��J�"H�8H��t��H���2H�MJ�"H�xH��t
��H�MH���2H��9��2����2H���s�2��[]H�l�2A\Ð�ff.�@��ATUSH��pdH�%(H�D$h1�H��tH�0�2H��tsI��H���Ȑ��H�01���H��H��ctvI�Hcȋ��T��u��2���~5��H��L�d��H��I9�tH�{H���k�����u�H��f�1�H�L$hdH3%(uH��p[]A\�D�c��ԟ��@UH��SH��dH�%(H��$�1�����H��H��HD����I��H�01��H��H=���H�Hcȋ�A���u��1��<$�m�H�=Y�
L�Ƹ��€����I�H�=;�
L����€����*�H�=!�
L�Ƹ��€�����H�=�
L����€������H�=�
L�Ƹ	��€������H�=т
L����€������H�=��
L����€������H�=��
L�Ƹ��€����a�H�=��
L����€����B�H�=k�
L����€����#�H�=9
L�Ƹ
��€������H�=-�
L����€������H�=�
L����€������H�=�
L�Ƹ��€������H�=�
L����€����~�H�=ہ
L����€����_�H�=ȁ
L�Ƹ��€����;�H�=��
L�Ƹ
��€�����H�=��
L�Ƹ��€������H�=}�
L�Ƹ��€������H�=d�
L�Ƹ��€������H�=K�
L�Ƹ��€������H�=2�
L�Ƹ��€���tg�H�=�
L�Ƹ��€���tG�
H�=	�
L�Ƹ��€���t'�H�=�
L��������������H��$�dH3<%(uH��[]����Y���������AWAVAUATUSH��H��H�<$dH�4%(H�t$x1�H����H�����݋��L�d$H�01���H��H��c��H�Hcȋ�A���u�H�-�2�DH���"Lc=�2�ݐ2A9���E��~gE�o�1�I��I����H��I9�tGH�|L��L�t�M�����u�D$H���2I�>�H�ʆ2H��2H�<$��L$H��C@L�-��2H�<$I��I�A�UHcO�2L��I�H��HB�2A�U�3�21�H�CH�t$xdH34%(����H�Ĉ[]A\A]A^A_Ð�H����2Hc�H��2H���H��2H��Lc=؏2����H���2�@���2���2�H��H���2H��u�������d���D�c�����ə��f���H����AWAVAUATUSH��H�-V�2H�����C�2���������I��D�x�1���H�CH��L9���H��H�}I��L��I��詥����u�L�-��2H�}�D$A�UH��2J�| A�U�Ў2H�=͎2H�sH����H�47L���2)�Hc�H�������L$H����[]A\A]A^A_�f.�������޹������Ð��H��t���f�1��ff.�f������#H�~
��Hc�H�>��H��|
��H�||
��H�+}
��H��|
��H�ky
��H�I|
��H��|
��H��|
��H��|
��H��|
��H�|
��H�d|
��H�I|
��H�.|
��H��|
��H�x|
��H��{
��1��ff.�f���S����H�
��2H��tcH��2Hc܌21����x�H���H��H��u;���@��t���2H��H���2���2H��2[�D�=z�2H�:H�H��t��H�H�
k�2Hc\�2H�<��H�
W�2�g���f.���USH��H��H�=3�2t9H�*�2H����Hc�2��1m�HH�‰
�2H��[]�f����H��tfH��2H��u�1�H�5�|
�q��H�-�2H�;H�EH��t��H�EH��H��[]��H��z
H�5"|
�r�X��fDH��1ҿq[H�5E|
]�7����AUI��ATUH��SH��H��dH�%(H��$�1����I��H�����݅��H��H�01��H��H=���I�Hcȋ����u�H�?�2��I��H����H�΂2�(�I��H��tiH�hH��H�XL�(H�@H�@ �L���H��$�dH3%(L����H��[]A\A]�@M��t=M���A������h���H�o�2L��L�s{
1�1Ҿ����1�H�5-{
�pE1�����w���L�<{
1�1Ҿ�E1�趍���U����L���ff.����H�=܉2tÐH��H�Ł2�����2H���2H����H���H�=�w
H���n���H���H�5��H�=�x
�T���H���H�5��H�=�x
H���2�3���H���H�5U�H�=�w
H�W�2����H���2H�5$�2H�=�t
���H�!�H�5j��H�=�x
�ދ��H��H�5P��H�=qx
�ċ��H�E21�H�=ex
H��髋��L�!z
1�1Ҿ�H���j���f.���AWAVAUATI��USH��xdH�%(H�D$h1�H�={�2�]M��tA�<$u1L�5R�2H�|$hdH3<%(L���AH��x[]A\A]A^A_�@L��I�����H��H��ID��ւ��H�01���H��H��c��H�THcȋ�A�T��u�H��2�H��t4�χ2��~*��L�|�L�3L��I�6�r������P���H��I9�u�H��H�=�u
�B��H�5�u
H��H���0��I��H����}H�����H�b2�(�I��H���8f�H�@ H��@H��}2�I�FI�I�FI�^M�~ ����������fD�c����L��H�=Tu
���H��I���taH����k���H��H�5Zx
���L��踯���L��������t���̽��H��H��tH��H���I�����u^E1��#���H�5�t
L�����I��H!�H���t
I������H���t�H��H�5�w
���H����t���H���,����w���H���o���I�����H������L����������]���ff.�f���H��H�=�2����w5H�v
��Hc�H�>��f�H�=Nt
����H����H���fD1���@H�=@u
�܇��H��u�H�=�t
�ˇ��H��u�H�=(u
H��鶇��fDH�=jt
H��頇��H�q�2��H�Y�2��H�=$t
H���p���H�=t
H���`���H�=;t
H���P���H�= t
H���@���H�=Bt
�4���H���0���H�=jt
����H������H�=\t
�
���H������H�=Qt
H�����H�=�s
H�����H�=�s
H���І��H�=�r
���H�������H�=�r
识��H�������H�=�r
H��閆��fDH�=�o
H��逆��H�=�r
H���p���H�=�r
H���`���H�=�r
H���P����|$�����|$����fDH�=�r
�,���H���(���H�=qr
H��������ATI��USH��dH�%(H�D$1�H����M�������H��H�����VH����FA�t$�$�t$����9�|�9���H�}M�$H�uH��HL�L$����t$L���訮��H��$C�C�������D�$��E�H�|$dH3<%(��ueH��[]A\�D�4	�L$9�����H������S���C�$�e��������H����D$��h�8���f����������@��������r���f���AWAVAUATUSH��XdH�%(H�D$H1�H����H�H����L�w M����L�o(M����L��Lc�1��@���I��H��u(H�L$HdH3%(���|H��X[]A\A]A^A_�L���أ��E����M9�MF�K�$H9���H=h�hL��D�d$HG‰D$�[���L��H��蠴��H�{I��H�L$L�L$H��H�wH���Hct$L������Hct$L���C������t^���ta����D�D$��E��(�����I���LG�K�$H9��X���L��C�4$�'���L������?���f.�1��@L��H�\$蛸��H��H��L��p
�PD��2�1R�PR�@�P1��|���D$aH��H�� H�5Ir
�s�W��D���f�������n����ъ�����AWAVAUATUSH��hdH�%(H�D$X1�H����H�H����L�g M����L�o(M����L��A��1��@���I��H����E����H=������L��A�H�D$A��͡��H;D$��H=v�ۺHE�L��D�t$�D$�^���L��H��裲��H�}I��H�L$L�L$H��H�wH��"�Hct$L������Hct$L���F�������}����|����D؋D$��E�H�T$XdH3%(����H��h[]A\A]A^A_�K�?L��E��H�D$��H;D$�'���L��C�4?���L���ՠ������1��@L��H�l$ �{���H��H��L�pn
�PD��2�1R�PR�@�P1��z���D$qH��H�� H�5)p
�s�7��)���f�������&���豈�����AUATI��USH��XdH�%(H�D$H1�H����M������KI��H���?A�\$�\$��tyH���vۋU�F�)ЉD$9���I�}M�$H�L$I�uHUL�L$�w��t$L����9���H�U�D$E�E����tB���te����D؋D$��E�H�L$HdH3%(����H��X[]A\A]��1���@�H���~����U���E�D$�U���I�$H�l$H��L��l
H��2�1�PD�R�PR�@�P1��x���D$aH��H�� H�5�n
�s���D���fD������=����!������AWAVAUATUSH��dH�%(H��$�1�H���gH�I���YH�o H���LH�_(H���?H�D$4A��E1�H�D$H�D$8H�D$H�D$<H�D$ H�D$@H�D$H���1���E����H��H�$�L���H����H=A�H�$LF�J��H9��.H���H��D�|$4HGЉT$8荳��H��I���Ү��I�ML�L$M��H��H�q H�yH�L$��Hct$4H��A������Hct$8H���t����D$8A�A�����A�����A����OH��臕��H��D$<����H�t$ H��H�D$(�	���A�����H�|$L��f
�1����w��Hct$<H��A�lj$�y���B�4�H���	���H�����H��D�|$4�D$8���I�ML�L$L�D$H��H�q H�yH�L$��A�Dž�x �$9D$4uHct$8H��耔��Dd$8�M���H�L$(H�\$`H��L�4j
��1H���AD�	P�AP�A�2P1��Ev��Ƅ$�H��H�� �sH�5Jl
���H��������tH�D$(� E��EE�H��$�dH3%(D����H�Ĩ[]A\A]A^A_�D�������A�������B�4�H���З��H��訛��H�����1�H�5�k
�tA������W���r���f�H���D$4�D$8�|���I�}H�L$8E1�L�L$4H��H�w H��[�Hct$8H���.���D�|$8�+���@E������A����������x������AWAVAUATUSH��dH�%(H��$�1�H����I��H����H�D$8I��H��E1�H�D$H�D$4H�D$H�D$<H�D$ H�D$@H�D$A�WA�G)ЍH���O��D$4H���C�]�\$8�����4�;t$4��I�~L�L$M�n L�EH�L$L��I�R���t$8H���责���T$4��A�I�AGA�G�����{���������1�EH�t$ H�}�D$<輭��A�����H�|$L�rc
�1����s���t$<H����1����4�L���ҋ��A�WI�~L��L�L$L�D$�\$,��H�L$I�\$8��AG�D$4�|���Å�x'�D$,9D$8u�T$4��A�I�AGA�G����H�EL�l$`H��L��f
�2�1L���PD�R�PR�@�P1��r��Ƅ$�L��H�� H�5	i
�s����}t	H�E� f�E��AE�H��$�dH3%(����H�Ĩ[]A\A]A^A_�fD�D$4�����������DL��訊��A�W���AG�D$4����1ҿt�����H�5=h
����s���I�~IH�L$4I�v L�L$8E1��D$81��)��I��D$4AGA�G��8���������.����R���f���ATUSH����H�?��H��u2H��t0��u2��~&H;8tzH����H���DH��H9x�t^H9�u�H��H� H��t]舞��1�H�{H�C ��@���H��uHL�%�n2H�;I�$H��t��I�$H�H��Љ�[]A\Ð1�[��]A\��H�{1�H��t�� ���H�C�������E�럽�����D��AWAVAUATUSL��$���H��H�$L9�u�H��8
dH�%(H��$(}1�H���L�g8M����I�$I�\$ H����L�jM��t~I�D$(H��H)�H����H�t$M�} 1�H�t$H�t$ L�t$H�4$@I�}H�L$H)�M��H�$I��L���D$�D$}�>����xRI�$l$H�@8H9�riH)��@I�D$@I+\$H�H��$(}dH34%(uFH��8}[]A\A]A^A_��D$��~ �HcD$H�I�D$(�d���@H�B8�f�H�������~��f�AUATUSH��hdH�%(H�D$X1�H���CL�o M���6H�H��H��I9���A�EL��<
t<
t�>�@���H���
��
@�ƀ�
��	�H9�u�@��t��OH��I)���
�<I��A�$L��H���N�����
wL��H��H�Ѓ���PA��H��A��u��1�L��H�5:HH���E����$����A�E�I�t$OI�LL���H9����������	t� H��H9�u۸^L��H�5�GH��f�1���H�D$XdH3%(��H��h[]A\A]���
���
tzH���
D��
tH�����)ƃ�Pt
H9�s��
u�
H��@�ƀ�
��	�@������������$H�������I��L�����fDH���E���L���=�����
H��@�ƀ�
��	��]���A�ML��
@�ƀ�
��	��A����{�����SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1��-���H�8tWH��$��$H�D$H�D$ �D$0H�D$���H��H�ھH�8�In��H�D$dH3%(uH���[��˔��H��j2H�H����z���AWAVAUATUSH���H�T$dH�%(H��$�1�H����H��I��H��M��H���)�K���fL�CPM��tA�x�"E1��C D�{�D$��D$M���eM�n8M���I�UE1�H��tdL�L$(A�M4L��1�L�D$ H�5b
��L�L$(L�D$ L�l$M��M��tL��H�5�a
L��1��ՋD$����H�
\c
��Hc�H�>��IcF@���I�VHH�D��H�D$H��t�H�PH���L�T$��t��|$u�H�D$L�D$ H�5qa
L��P41���L�D$ M���j���H�5�a
L��1���DA���FE���%A��tA��uH�5b
L��1���L�|$M���}L���u�������H�A�|�
�L��H�5DL��1���M��tBH�|$L��H������M��t-I�UH����A�M4H�5�a
L��1���L��H��L������|$��H�{(H��t{D�k@A��cq���A9�}gL��H�S(H�5�C1���Hc{@����H�T$0�w�H�BH��H��	DH��� H��H9�u�GH��D<0^H�5JCL���D01���@H��$�dH3%(��H���[]A\A]A^A_��H�SH�T$H���L�D$ �L$L��1�H�5�_
E1��L�D$ H�D$���f�H��`
H�5�BL��1������fDH�T$H�5FL��1����z����蛐��H�(�3���L� ����M�@�����H�D$�$���f.�H�5`
L��1������DH�5�_
L��1�������D�D$���/����|$�$���A�U4H�5�_
L��1����
���f�L�l$E1�����H�5u_
L��1����E���DH�5Q_
L��1����-���DH�5�^
L��1�������DH�5�^
L��1������DH�5V^
L��1������DH�5_
L��1�������DH�5�^
L��1������DH�5T^
L��1������DH�5�^
L��1������DH�5{^
L��1����m���DH�5Z^
L��1����U���DH�5/^
L��1����=���DH�5^
L��1����%���DH�5�]
L��1����
���DH�5�]
L��1������DH�5�]
L��1�������DH�5t]
L��1�������DH�5K]
L��1������DH�5.]
L��1������DH�5]
L��1����}���DH�5�\
L��1����e���D�T$E1��������L$M����������H�������L�D$ H�5l\
L��1���L�D$ �g����1�H�T$0�&����Gt��M��I������ff.����SH��tH���n���H�H�[�fD�[���H�\a2H�[�ff.�@��UH��SH��H���ˍ��H�(H��t����H�H��[]�@����H�a2H�H��[]�f.���UH��SH��H���t��H�(�å��H�H��[]�f���H��twATUSH�H��t9褌��D�c4H�[H�(�4���D��H��[H�8I��H�5&[
]1�A\A����k����[4H�(������H�5[
[H�8H��1�]A\��f��ff.�@��USH��H��辌��H�(����H��H�0H��H��[]��f���AWAVAUATUH��SH��H�|$H�T$PH�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�D$H����H�D$H�@8H�D$H��tH�@H�D$H����H�D$H�|$褋���/���H��Nj��H�5[
H�81���H�b_2���H��H���OA�����A��L�l$ A���:fDD9���A��E�dH�H^2Mc�H��L���H��thH��A����\M��I��H�����L��H��$0�H���D$ H�D$(H�D$@�D$$0H�D$0���A9�w���y�A��d�f��K���H�(���H��H�5�
H�81���H��_2H��H�|$t?H�|$�4r��L�t$M��t+L���r������H�蕊��H�57.H�81���L���q��H�D$8dH3%(��H��[]A\A]A^A_�f�諉��H��C���1�H�5,�
H�81����h���fDH�D$H�D$�=����H�L$HcA@��� ���H�QHH�L$H�D��H�L$H�D$������o��ff.����AWAVAUATUH��SH��H�|$H�T$PH�L$XL�D$`L�L$h��t=)D$p)�$�)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$81�H�D$H����H�D$H�@8H�D$H��tH�@H�D$H����H�D$H�|$�Ԉ���_���H����H�5PX
H�81���H��\2���H��H���OA�����A��L�l$ A���:fDD9���A��E�dH�x[2Mc�H��L���H��thH��A����\M��I��H�����L��H��$0�H���D$ H�D$(H�D$@�D$$0H�D$0�(���A9�w���y�A��d�f��{���H�(����H��H�5��
H�81���H��\2H��H�|$t?H�|$�do��L�t$M��t+L��袇���-���H��Ň��H�5g+H�81���L���/o��H�D$8dH3%(��H��[]A\A]A^A_�f��ۆ��H��s���1�H�5\�
H�81����h���fDH�D$H�D$�=����H�L$HcA@��� ���H�QHH�L$H�D��H�L$H�D$�����m��ff.����AWAVAUATUH��SH��H���H�T$@H�L$HL�D$PL�L$X��t:)D$`)L$p)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$(1�H���u����~fH��|�:t]H����H�C8H�xH�D$���*b2H�|$�D$����蒅��H��*���H�5iU
H�81�����a2���a2�D$H�D$H��Y2���H��H���A�����A��L�l$A���9DD9���A��E�dH��X2Mc�H��L���H��thH��A����\M��I��H�����L��H��$ �H���D$H�D$H�D$0�D$0H�D$ �8���A9�w���y�A��d�f�苄��H�(�#���H��H�5�
H�81���H��Y2H���|$u/H�D$(dH3%(��H���[]A\A]A^A_�f�H�|$�Fl����@����H�賄��1�H�5��
H�81���뛐H�|$�f����Z����HcC@���3���H�SHH�D��H�D$� ���H�D$�D$�&����hj�����AWAVAUATUH��SH���H�<$H�T$@H�L$HL�D$PL�L$X��t:)D$`)L$p)�$�)�$�)�$�)�$�)�$�)�$�dH�%(H�D$(1�H���Js��H�$H��t9��t5H�D$H��|�:t,H�A8H�xH�D$�wH�|$�]����H�D$�ڂ��H��r���H�5�R
H�81���H�
W2���H��H���
A�����A��L�l$A���5�D9���A��E�dH��U2Mc�H��L���H��thH��A����\M��I��H�����L��H��$ �H���D$H�D$H�D$0�D$0H�D$ 訄��A9�w���y�A��d�f����H�(蓂��H��H�5{�
H�81���H�KW2H��H�<$t
H�|$��i��H�D$(dH3%(uUH���[]A\A]A^A_�蛁��H��3���1�H�5�
H�81���뫐HcA@���|���H�QHH�D��H�D$�i����h��ff.���H���Ci���@��tH���3i��1�H���f���H�����G����SH��H�H��t	H�dV2�H�{H��t	H�RV2�H�{(H��t	H�@V2�H�{0H��t	H�.V2�H�{8H��t	H�V2�H�{H��1�H�H��H�CPH)���X���H��C[�f��ff.�@��H���Sh���@��uH�����;h��H��H���?h��ff.�@��H��t��\��t
H��X�D1��ff.�f���H��tLJ���\��u�f�H��X��g��@��H���#H���AWAVAUATUH��SH��H��H��c��H�}I���c��H�}(I���c��H�}0I���b��H�}8I����b��H�{H�D$H��t	H��T2�H�{H��t	H��T2�H�{(H��t	H��T2�H�{0H��t	H��T2�H�{8H��t	H�pT2��E��E�C�E�C�E �C H�EPH�CP�E@�C@�ED�CDH�EPH�CPH�EHL�{H�CHH�D$L�sH�C81�L�k(L�c0H��[]A\A]A^A_�f�������f.���AWM��AVAUATUSH��HH�L$ H��$�H�t$8H��$�H�T$XH��$�H�L$H��$�H�|$L��$�D�L$,H�L$@H�T$HH�t$P��t@)�$�)�$�)�$�)�$�)�$)�$)�$ )�$0dH�%(H��$�1��e����$�H��u)H��$�dH3%(�'H��H[]A\A]A^A_��KW�����u
��$�t‹L$,��wj�:�H��s_H�|$�kH�T$ H���]H�H�����������H�T$0������H�H�D$H��t#��d��H�H�D$X�H�D$0H�|$t�M���nH�'Q2���H��H����A��A�������H�l$`H��$�H�L$pL�|$hL��E��H�L$A��I���=f�D9���A��E�|H��O2Ic�H��H��H��thH��A����\L�L$M��H��H��$�H��H������D$p0�D$t0L�l$xH��$��~��A9�w���y�A��d�f�H�l$`L�|$hH�|$0��H�|$�H�D$0H��XH����c���D$,H�|$H�]�E��$��E��$��EtH�|$�_��H�E��$��E H�D$@H��tH���^��H�E(H�D$HH��tH����^��H�E0H�D$PH��tH����^��H�E8��$�L�}P�E@��$��EDH�D$ H�EH�c��H9�t�	c��H��H���ne��H�D$H��t$H��H�|$X���<���DH�D$ H�D$0����H�|$0t@H�|$8u8諓��H�8�h�z��H�H�D$8H�D$0H�D$XH�|$8����@H�|$8��H�t$8H;5�O2��H;56L2��	�H;5�M2���u
H;5\O2��H�t$0E1�1�H��H���!����@M���]���H�|$�Q���M�g@L��M����M��$�M���UA�M���1�f�M�(��M���ƒ�	������A�u�M����M�g@M��tM��$�M��ME�A�����$�������$�����H���wa���D$,H�]�E��$��E��$��EM�������L��E1�L�h8M��t%A�E���s������A�L��L�h8M��u�H�@(H��u�I�D$@H����\��H�EH���_���M���V���I�G@H���I���H����R\��H�E�4���f�H�D$0H�@8H������H�xH�|$H�����x4�@8��$���$����H�=sH
��[��H���v���@H�D$ H�D$0�-���H�L$0H�H�������H�����$�HD��H�AH�T$8H�D$X�t���A������d���fDH�|$0HcW@���Z���H�GHH�D��H������H�xH�|$�:���A�Gp��$��&���DE��tA�����f�H�5۵
L����b��H������I�U8H��t�BI�Ճ��M�����fDH�D$8H;dK2��H;�J2��H��H�|$X1�H�L$8H�5��
�����@H���H�D$H�������H�JH�L$X����DL������M��u���1���M���K����;���DL���|����$��M���L�D$XH�L$8H��H��H�t$0����A������I������v��H�H�D$8�w��H�H�D$X�����]��fD��H��A����u@M��t[H��H�G
APPjjjjAPjjjjI��1�1�1�1�1��f��H��`H���H��APQjjjjAPjjjV��fDH�
F
I��1�1�P1�1�1�jjjjjjjjj��e��H��PH���f.��SH��tz��LH����t	���tYH��1�A�E1�ǃ�H��1�RV1�jjjjR1�jjjj�Ze������CH��`��u
ǃL[�f�H��A�E1�1�R1�1�V1�jjjjR1�jjjj�e��H��`[�ff.�AWAVAUATUSH��H���H����H�A��H��H��I��H����LJ�H�xH��t-H9�t�`��H�H�hE1�H��D��[]A\A]A^A_��H�PH�x �+���A�Ņ�u�H�UH�C H��tv�	H�=@
H������������8��G�	H�=�?
H���������u�8�u�x�u(H��H�C �H�ֹH�=�>
��€�����H+CHc�H�H��H�x �l��L�;I�G I�G(蛄��I�G H�H�h8H�x(�'j��H��A�D$4��tKH�;��v��A��H�H��H�x �|p��E����H���H�x(��i��H�H)�Hj8����fDH�;D���U��A��뵹H�=�=
H��������������@�8��.����x��$����x�����H��H�C �
���fD�x������H��H�C ���A������5���1�H�5�D
A���������H���^������1�H�5\D
L��A������������f�SH��tz��LH����t	���tYH��1�A�E1�ǃ�	1�1�QR1�jQH��jjjjjjj	�*b������CH��`��u
ǃL[�f�H��A�E1�1�Q1�1�R1�jQ1�jjjjjjj	��a��H��`[�ff.���ATUS����Z������='w��kRq[]A\���غ���h������)‰��vq��L� �r�����H�5xC
H�81�A��A���H��G2H�UC
H�81��#�����kR~��&q��H�(�q�����Q��H�5eC
H�lj��I���H�?1���)�[]A\A��ff.�@��H��t(��L��umLJ�LJ����LJLH��H��H��tSH��H�XA
E1�1�VA�1�P1�jjjjV1�jjjj�o`��H��`H���fD���u��fDH�m@
E1�1�1�PA�1�1�jjjjjjjjj� `��H��PH������SH��tnH����L��t	���tR���1�A�1�APQR1�jjjAPE1�QH��jjjV1��_������CH��`��u
ǃL[�@APA�1�1�QR1�jjjAPE1�Q1�jjjV1��l_��H��`[�fD�����D����߃�A��w�Ð��@�����v(������������	����f.�SH�5�D2�������t
�[�fD�����=�Qv�0tލ����1�[�����ff.���������fD��AUATUSH��H��������H�H��H����L�GM��tyH�G H��tpH�y H��tgL)�A��E1�H����d�����H9�r<H�;H�t2D����N��A��H�H�x �:���H�CH�H�C H�H�x �s}��H�C(H��D��[]A\A]ÐA����������H��tH�H��twH�OH��tnH�G H��teH�R H��t\UH)�SH��H��H��H=�w]H���%d��H=�v=H�H�x 衁��H�CH�H�C H�H�x ��|��H�C(H��[]����H�;���Sx��봐H�p�H���f��H��tHC@H)�H�H�P �ff.�@��USH��dH�%(H��$�1�H��t[���H��tOH�G8H��H��tCH�P H;P(wa�
�����������
tl�@8H��H�P �:u����X���H��$�dH3%(��H�Ĩ[]��H��1�H�5?
���H��ǃ��q����@4�@8����fX����~�H�C8���H�P H���
�V�����
���@8H�H H���)@��xH�QH�P �>���fD@���tR�Q���������������tH�p H�VH�P ����Q���������H�O H�G(H)�H��sE1�1�H�O>
H�߾	�:g��ǃ�
H�C8H�@ ���f��@4�@8�6���H�H �f.����VW��H�C8H�H H���Q�<���f��AH��H��D�	H����P�AL��=
P�A��P1��&C��H�� E1�H��H��=
�	H���f���I���H�Ǿ���V��H�C8H�H H���Q��������������tiH�p H�VH�P ������A�I����?%�	�	���(��=�v�����������H��<
H�߾	���H�{8H�W �h�����yt/@����n���H���A��<�tE��H���g����N����P��H�Ǿ��V��H�{8H�O @����1����A��<�����H�G H�PH�W �A�1����%���	��q�I��?��	��	���(��=�����@�ƃ���@����������������ff.�@��ATUSH��dH�%(H��$�1�H��tyH��H��tqH��H�8H��H��tb���t1H�W D�"A�D$�<_�����tC��<
t~fDH��$�dH34%(�/H�İ[]A\�D1���@E��������tR<
u��z
uH��H�Q �
�f����D�z
u�H���
H�W �p�������FT��H�K8H�Q ���u�H;Q(�E���1�H�\;
�	H���g���H�K8H�Q ��e����A��@�A������B������<���D����<�ty�E��R��%���?	ƒ����Ё��������� �����������������������H��9
H�߉D$�	��D$�j����B�����<�uGD����<���E������B�R����?%�	�	‰Ё���c���@H�W H�G(H)�H���E1���f��BL�d$H��D�
L��9
����L��P�BP�B�P1��>��H�� E1�L��H��9
�	H���b��H�C8ǃ�
�EH�@ ��m������KR��H�{8H�W �B�Z������0R��H�{8H�W �B�����zt|A��A��������B��<������E�B�
����%���	��J��?	��B��%�	�=����������������2�������L�����Q��H�{8H�W �m���fD��AUATUSH��dH�%(H��$�1�H����H��H����I��H��H��t<���t3�E�H��$�dH3%(�H�ĸ[]A\A]�@���y��S����t=M��tI�D$8H��tH�P H�@(H)�H����E1��fD1��@�ƒ���uf�S����u��ƒ����\��<�u��C��<�u��E�C�����%���	��S��?	��C��%�	���E���%����C��?	�=������������������ ������������������„��������H�\6
L��D$�	��D$���f.��BL�l$H��D�
L�﹖��P�BL�^6
P�B�P1��;��H�� E1�L��H�c6
�	L���^���������
�ƒ���!ʍH�����!��M���f��E��C������%�	��C��?	�����I��ff.�@��H��t��~R���~z����~R��������H�G��������H�����?�ʀ�P���y�)���@�7�����H�G�������1��D���?���΀��@�w�H�G)��DH����H��5
1��	�w�1�H�����H��H��t������1��D����H�����H���AT�FUH��S��H������H��6
Hc�H�>��f���
�����CDž�1�H��[]A\�f�E1�1ɾH�2
�
]��H����[]A\��LJ�H�W81�H��t�H�J �9�u��y�u��y�u�H��H�J �@H�G8A�ZH��t/H�P H��t&�:�u!�z�u�z�uH��H�P �DA�����KP��H���"���H�u8D��H��H������x���s����H��D$� e���D$Dž�sH��[]A\�f�A�-���	A�Z��O��H��u����s��E1�� H��H��H�1
��[��H���d������������}@tDž�
1��w���f�H�}(u�H�E8H��t�H�xPH��t��BC��H�E(�¸�����A�����ff.�f����������f���H��tH��H�w8������v���������H��twUSH��H��H�H�-�42H��t�UH�{H��t�UH�{PH��t�UH�{XH��t�UH�CHH��tH�{H��t��H�;H��t�Fc��H�EH��H��[]����ff.�@��UH���hSH��H�32�H��H��teH�xH��H�H��H�@`1�H)���h���H��C`����H�H�C4H��t����P����CdH��H��[]��H�52
H���	e�������AUATUSH��H��tuI��A��H���v�����uyH����G��H��H��tQH�@I�|$ H��L� ��Z��E��uH��H��[]A\A]�fDD��H���k��H��H��[]A\A]��H��1�H��[]A\A]���]��H��#^��H�5�.
H�81����g�����AUATI��USH��H���nH����u�������H�kPH��t[L���G��H��H��t5H�{xH��t	�@��H�EH�{P�CXH�}����E0H�H�} H�H�}(H��H��[]A\A]���{\w�C\H��2
Hc�H�>��fD�\��L�kH�(�O]��L��H�5�-
H�81����U���f�H�SH�5�0
L������H�SH�5�0
L�����j���H�SH�5�-
L�����R����H�s`H�{xH��L��[]A\A]�Q��fDH�SH�5%0
L���]�������L��H�{P�CX����1�H�5�/
1��(�������ATI��USH��tpH���Ht�����u:L���zE��H��H��tjH�XH��H�X �K���E0H�H�H�](H��[]A\�fD�s[��H�(�\��H��H�5�,
H�81�����1�H�5�/
1����fDH�5�.
L���a������AUATI��UH��SH���s�������H����1�L���JV��H��H����H���D��H���%H�H��H���O3��H��H����H�xH�����1>��I��L���T��H�{I��H��t	H��/2�L���p��H�CM��tH��/2L��H�L�kH��H�x �QW��H��u	M���~H��H��[]A\A]��+Z��H���Z��L��H�5�+
H�81���H������1�H��H��[]A\A]�f�L���x=��I���B���M��tCL��H�5�.
H���E����L���H=��H���n���@H��1���]���@1�H�5G.
H���WE���D���f���H���ATUSH���f.�H���C��H���F��H��u�H���H�-�.2H��t�UH��0H��t�UH�{`H��t�UH���H��t�UH�{HH��t�UH�{ H��t�UH�{(H��t�UH��`H��t�UH��hH��t�UL�#M��t�,G��I9�tH�;�UH��H��t�UH���H��t�UH���H��t�UH���H��t�Z��H��H��t�UH��H��t�UH��H��t�UH�� H��tH�5�,2�>B��H��(H��t1��+B��H��@H��t�L�g0�UL��M��u�H��PH��tDL�g0�UL��M��u�H��`H��t�UH��pH��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�
[��H�EH��[]A\���ff.�@��H��tH�GH�H�G�ff.�@��USH��H����H���U@��H���H���������[[��H�;H������EX��H�{Hǃ�Hǃ�u��@H����@��H����C��H��u����H�{`H�C H�C(H�C0H�C8�C@ǃ�Hǃ�HǃHǃ��H��0�CXH�CP�xH���ǃ(Hǃ H����H�
H��x�����H��pH�[H�C�Cǃ0ǃ��:��������t��4��[��������_��������t
��4��]�������a�����H����H��(2���ǃ�H�-V*2H���H���H��������<����C�����ChH�{pHǃ@ǃPǃ�ǃ�ǃ�Hǃ�Hǃ�Hǃ�Hǃ�ǃ��\��1�H��[]�D��4�m���@H�H�F'2H�����4����+.���ǃ����HD胋4H��������H�y(2��H��H�H���$���H�5)
1���Z��������_���H�A(2�(��CDH�CHH������H�5�(
1��Z��H�C8�����H�C@����fDH��'2�P��C\
H�C`H���9���H�5�(
1��HZ��H�CP�����H�CXH�C8H�C@���fDH��'2�(�ǃ|
H���H������H�5)(
1���Y��H�CP�����H�CXH�C8H�C@Hǃ Hǃ(HǃpHǃx� ���@H�'2�P�ǃ,
H��0H���`���H�5�'
1��RY��H�CP�����H�CXH�C8H�C@Hǃ Hǃ(���f��G��H��H���H���#�������1�H�5�#
1��c��������m���f���H�E&2S���H��H��tEH�xH��H�Hǀ�H��1�H)�������H�H���/b����xH��[�fDH�5�&
1��bX����H��1��^����@��H��t'SH��H�H��t	H��&2�H��[��X����ff.�@��H��tSH��H�p��S��H��[�>����ff.�@��H����H��t~L�OE1�1��I9�r;E��u6L��L�GH)�H��H�H��I��A�H9r�t�v0L�H�E1�I9�s�@H��t2H�OH��H��H9r�H���fDH�HE1���H���������H��tOH��tJUH��SH��H�pH���Mf��H9CxvH��H���H��H9(uH��[]�@H��1�[]��1��D��H���H���
ATI��USH�6H��H�p��e��H�SxH��H���H9���H���H�L�H�4�I�$H9�NH�KpH�zH9�sPH��� �4���H����H��H��"2�H���<H�SxH�L�H���H�cpH�4�H�zH9�t6s4H��H�L�H��H���oB��oJ�H��(H�B B(J8H�BHH9�u��Ao$�Ao\$^I�D$ H�F H�{x[]A\����H�KpH�zH9��6���H��tBH�T�H�4���H�KpH��H9�s#H��t6�4���H��"2H��������H��u�H�Cp����@H�Cp������fD�Ao$$&�Aol$nI�D$ H�F �B���fDH��H�5�
[]A\�T��D��U��SH���?X����8X���(H����[]�ff.�f���U��SH����U�����U���(H����[]�ff.�f���U��SH���4����4���(H����[]�ff.�f���US��H���Y���(�Y�����tH����[]�f��Y���H����[]�f.�f�H9��tW����Ѓ�x,H��H�H;4�t#�B�H��@H�P�H9t�t
H�Ѕ�y�1��H�D�H��u�8HD��fDH�������5 t=����ȃ�x0L��H�I;4����A�H��H�H�I9t���H�ȅ�y�ATI��UH��S��H����uSH�
�PH���H�� 2�H��H������Hcу�H�,Љ��L�d�[��]A\�f�H��H��t����9��҉�H��H�x2Hc�H�4��H��t?H���DI9T��C�����������1�H���R�������ǃ�~���1�H���mR�������������X����ATUSH��H���H��tu����F9�|\�l6
L�%�2Hc�H��A�$H����H����gfff��H������)�Hc�H��A�$H��t^H�������[]A\�DH�-A2���UH��t1H����,�UH��t�7H��ǃ�7��[]A\�1�H�߽�����tQ���f�AWI��AVI��AUI��ATE��UD��SH��H����(Hc�,9����H��2��,Hc�H��0H���H����H��0Hc�,H��H�4@H��2H���H����H����(H��0Hc�L�<�H�RH��L�� L�0L�hD�`�h�A��(H����[]A\A]A^A_�f�H��H��u�H��2H�<vH���H��H��t��(눋�,�������,1�H���@P��������f�H��t;��L��u!��n�8L�aB
��Ic�L�>��D���u��fD��n�L��C
��Ic�L�>��@�H�D$
@���SH��H����RA�E1�H��PH��<
PjjjjR1�jjjV1�1�1��8��H��`H��t����C��u
ǃL[�@�H�Z:
@H���w���SH��H���}���H��A�E1�H��PH�$�
PjjjjjjjjV�v����H��#
�'�����VH��"
�f��_H�d!
�f��KH�p;
�o�����\H��:
�W�����YH��
�?�����XH��
�'�����H�7;
������UH�1;
�����TH�Z:
������SH�\ 
������RH�D!
�����PH�d
�����OH��:
������NH�|!
�g�����$H�,9
�O�����JH�!:
�7�����IH��9
������GH��
������FH�d
�����EH��
������CH�
�����@H��8
�����>H��
�����=H�C9
�w�����<H�
�_�����;H�d
�G�����nH�|
�/�����`H�� 
������H�t
�����H�$ 
�����H�A7
������"H�|
�����!H��
�����H�I7
�����H�7
�o�����H�
8
�W�����H��
�?�����H��6
�'�����H��6
������9H�d
�����8H�$
������7H��
������6H��
�����4H�L
�����3H�
������2H��
�g�����1H�L
�O�����0H��6
�7�����.H�Q6
������,H�$
������+H�6
�����'H��5
������&H��
�����%H��5
����H��4
����H��
�	����H��4
����nH��
����_H�5
�����`H��
�����H�
����H�x4
����H�~4
����H�#6
����H��4
�p����H�.
�_����H�{5
�N����H�d4
�=����H�h4
�,����!H��
�����"H�I
�
����$H�P4
����%H�?4
����&H�>
�����'H�:4
�����+H�C4
����,H�;
����.H�?4
����0H�Z4
����1H��
�q����2H�
�`����3H�N
�O����4H�m
�>����6H��
�-����7H��
�����8H��
�����9H��
����;H��
����<H�
�����=H�
4
�����>H�}
����@H�m3
����CH�k
����EH��
����FH�a
�r����GH�x
�a����IH�p3
�P����JH��3
�?����KH��3
�.����NH��
�����OH��3
�����PH�B
����RH��
����SH��
�����TH��2
�����UH�k3
����VH��
����XH��
����YH��
����\H�~2
�s����H�
�b����H��
�Q���ff.�H��t��L��uA���H��H��A�H��PE1�1�R1�jjjjP1�jjjV1���.��H��h�@���u��fDSH��tb��LH����t	���tGH�����1�1�AQAPQR1�jjAQA�APE1�QH��jjjV1��{.��H��pǃ0[�H��1�1�AQAPQR1�jjAQA�APE1�Q1�jjjV1��6.��H��p[�SH���~��LH����t	���tcH����1�H��t���������APA�1�QRjjjAPE1�QH��jjjVH���H����-��H��`ǃ�[�APA�1�1�QR1�jjjAPE1�Q1�jjjV1��|-��H��`[�fDH����t���@H��t��L��uqLJ�*SH��H��tnH�71
RH��E1�VA�1�P1�jjjR1�V1�jjjj*�-��H��`H��t����C��u
ǃL[�D���u��fDH��H��H��0
1�RA�E1�P1�jjjjR1�jjjj*�,��H��`�DH����SH�H��t���������H��H����H�5	F
�3��H����H�5��H������H����$H�5�
H������H���H���tH���t
H��t[�H��1�[�B��DH���tLJ��Y������H���u�H�xp�5���H�xx�*����fDAWAVAUATUSH��L�o8M���.I�mI�E H)�Å��I��H��@H�A��A�׉�H9�I�EO�H����H�x �L$�T$�L$�4O��H��I�EH�x �1���L$�T$�t$A����uh��A��Hc�D9�|�w�H���ZA9�~d��D8du�@��t>D8|u�@8tu�Idž@I�U I+U)�H��[]A\A]A^A_�@A���f�E��t�D8|t�H���ZA9��HcӸ����I��@H��[]A\A]A^A_�f.�E�E0�C���������ATUSH���oI�ԉ�H��H��tH�(H��t	H��2�L�����H�E(����Dž�������4��Dž���t�������4������4���E�À����4��ÀDž�����H�EH�D2DžH��H�����4�؃�@���EDž���tHDž��� tHDž���4���؃�@��tH�E��@Hǀ��� tH�E�� Hǀ�Hǀ���tJH�EH�U
2��H�PpH��2Hǀ�H�PxHǀ�ǀ���4���m��4��Dž8��@tH�E��@Hǀ���4@�� t��4 �� ��t��4����t��4����t��4����t��4����t#H�������4H��t1��<����t��4���� t��4 �� ��@t��4@��@Dž���[]A\�f�����4Dž����7���Dž��<���@Dž8����Dž�����DžH����Dž��I�����E����������j���f.��
fDH����� t�H���tH�O�� t+��WH��H�τ�u�H9���HD��H��H����� t��t� H���WH���DH�Ϻ�H9�HD��ff.�f�1���-�D��wD�A�A��v	��
�2��9���Lc�B���y�A��D��A���A�����A��A���A����+�������H9��F�TD�у�����B�LA��A��A�����F�LE��A��A�����A��A��?A��A��A�����E	ȁ�E	�A	�A����(A��
A��A����A��tA��	A���@��9������f.��H9��LB�LA��A��A����A����?A��A	�A��
A��A����A��tA��	A����������H9���B�LA��A��A�����F�LE��A��A�����A��A��?��E��E	�A��A��E	�A���oA��
��A��A��A��	D!�A��A��D!���uD���
���f�A������������A�� ���������A��A������������A�����������A���A���A��D!�닉��م�E���ff.�U��SH��H��Hc�x��|H���9�|.�H��2��|Hc�H���H��H��t6H���Hc�x�,�Hc�xH��H��H��p�P��xH��[]�1�H����9����|�������|������ӐSH��trH����L��t	���tTH�����1�E1�QA�1�R1�jQH��jjjjjjV1��"������CH��`��u
ǃL[�fDH��A�E1�1�Q1�R1�jQ1�jjjjjjV1��:"��H��`[�@SH��trH����L��t	���tTH�����1�E1�QA�1�R1�jjjjQH��jjjV1���!������CH��`��u
ǃL[�fDH��A�E1�1�Q1�R1�jjjjQ1�jjjV1��!��H��`[�@SH��tz��LH����t	���t\H��H��
E1�1����A�H��R1�P1�jjjjjjjjV1��'!������CH��`��u
ǃL[�fDH��H���
E1�1�RA�1�1�P1�jjjjjjjjV1��� ��H��`[�@SH��tzH����L��t	���tXH�����1�1�AQAPQR1�jAPE1�jAQA�QH��jjjV1��k ������CH��p��u
ǃL[�f.�H��1�1�AQAPQR1�jAPE1�jAQA�Q1�jjjV1�� ��H��p[��H�>��ATUH��SH��H���79�|R1���~C���|H�}Hc�H��H�H�D��z�H��H)�fDH�A�H��H9�u�)։Љ3H��[]A\ÉT$�/��L� �0���T$H�5�#
H�81�A�ԋ���fD1��D���@H��t#�����t�@t;H�H��@S�"/��H��/��H�5�

H�8H��1�[���L�O8M�A(I�AI�H�H9�r�A�x�<t H���fD�y�<tH��H�y�H9�u��H��L��fDH�>I�q(��A��"tBH��H9�sjD�A��>tXH�AA��'u�H9�s߀y'tH��H9�t̀8'u�H����@H9�s��y"u
���8"t�H��H9�u�H���DH�
�@I�IH�G�H9�r!��>t-H�����8>tH��H9�u�H��f.�H��ff.����%����>wH��@H��s�D���߃�A������_����:����@���������(��������������v|��������
vq���������vc�������vX�������vJ�������v<���������v.�������v ������
v������
�/���������H���߃�A��vލ�@�����vӍ�(�����vȁ�����_����:@��	����f.�S��H�5.2���?=����u+�����=�Qv��0t��!01���[���fD�[�f���%����>wH��@H��s�D���߃�A������I�����?��H��������H��H�҃�������������v|���������vn�������vc�������vX�������vJ�������v<���������v.�������v ������
v������
�5�����D���X���߃�A��v�@�����vՍ�(�����vʁ��FЃ�	v��FӃ�v���_t���:t�1��������S��H�5�2���;����uc�����=�QvV��0tN�������vCH�5$�1���e;����u1H�5�1���S;����uH�5x�1���A;��[���������[�f��NӃ�2�w���H��?H��H�҃��W���ff.��AWAVAUATI��USH��L�6H�t$L�l$L��L��dH�%(H��$�1��
��A��$4�Ɖ����������\$����@�l$ �Hc�L��L��I�,L�t$ H���w
��A���*f�HcӃ�D�| H�L��L��H���T
��A�ǃ�c��A��$4D���(�����tDHcD$��t�Hc�D��L��l���HcD$���H�|$ �T���l$���h���f���P�~A��$6��H�D$H�|$ ��H�(���H�$H��$�dH3%(H�$��H�Ĩ[]A\A]A^A_�@H���1D�4Ic��H�$H���%H�<$Hc�H�t$ �" ���D�?��HcD$L��L��H�H���D��A��A��$4D���!�����t]�C	D9�|3��P�~A��$6��H���1E�H�<$Ic��H��tVH�$Hc�H<$�|$t�D���,����{���DH�$Hc��H�D$H�(����H�$���1�L���.��H�/�1H�<$�H�$���H��
�nL���8��H��1H�<$�H�$���1�L���D.���~���H��
�nL�����H�$�]����
��f�SH��H�?����H�;H�G �8t[�fD��[�E��DSH�H���H9��t\H��pH��tP���tI���tD��uH��~D�< w5H�&H��s%��H��H9�t�F< wH��H��r�1�[�@H�GPH��t�H��H�H��tH�p��+����th��t�H�C8H�P �<<t<
u�H�{PH�u<<t\�!��H��t-H���/����u�H�CPH�xH��t�/��[�������DH�CP�xu�[��H�xP[����Àz/u�1��H���fDSH��H��(H��tH��H�5F�3��H��(�.����t	[��H��(1����Hǃ([�ff.�f���H��H��H��t��H��(1�H���� ���H��t��L��t	���t@H��H��A�H��j1�1�APPR1�jjjAPE1�P1�jjjjd���H��x�@��H��A��I��H��ty��LH����t	���tXL�H�P1�1�M��tA�������uI���I���jE1�QARjjjjQH��1�jjjAQA��w��H��`H���fDjA�E1�1�Q1�R1�jjjjQ1�jjjV1��<��H��`H�������1��� wH�[!
�8�fD��H���c����<It<Xu
�-�S��AH��<v�<@H���JH�r�ȃ�߃�A<v�H��H)�H��H��~����H����	Ѓ����DH���������1���-���NH���q�@��	����߃�A����H���DH���yH�q����߃�A<v�H��H)�H��H����H���
H�@�H���G1�H���\�@���N1�@��-�BH�Q�N�q�@��	�^��߃�A���H��H���>����߃�A<v�H��H)�H��H����H�@�H����1�H�����@����1�@��-���NH�V�q�@��	����߃�A����H��H���>����߃�A<v�H��H)�H��H�@�H��vS1�H��ul�@��tb1�@��-uZ�VH�N��߃�A��wGH��H���8����߃�A��v�H)�H�P�1�H��w!@����@��-��!Ѓ����f�1��DH�W�O�
fDH���
�ȃ�߃�A<v�1�������B�H�1���	w��z�OЀ�	w�H�r�z�<���fD��H��t_H��tZUH��SH��H���G@�wDH�H9�|$�H���1�sDHc�H���H��H�CHH��t%�C@Hc�H�,׍PH�k8�S@H��[]�@������1�H���'���SD������CD�������f�AVI��AUI��ATI��UH��S�0��H��H����M��t.A��$4��4I��$�H���A��$������H��H�5��
�
��L����H�r
HD�H���6��H��L��I��H��tCH���{��H����H��H������H��teH�f�1L��H��[]A\A]A^�DH���8��H��toH��H�����H��u�H������H��u�H��t�H���fDL�����H��u�H��t�H���x���DH���1L��H��1��Z,��H��[]A\A]A^�ff.���H��t7�G@��~0��H�WH1�HcȉG@H����tH�t
�H�H�w8H�H��f�1��ff.�f�H����S�@H��LJ����LJL~f�H�����H�������{@�H�C8H��tMH�PHH��tH�x��H�C8H�@HH�8H��t��"��H�C8H�H�o��@0H�P H�PH�P([�f��ff.�@SH��H�8H�W H�G(H)�H=���
H+WH�����~H�H��tH�
��1H9Ht	��6tZ��� 
��H�{8H�G H;G(wH;GrH��t�8t"[�H������H�߾[H�
�S����[��	��DH��H��
��,��H��[���AWAVAUATUH��SH��hD����t$dH�%(H��$X1�E��u1H�O8H�A H�Q(H)�H+AH=���H�����DL�l$H��E1�E1�L��L�t$ ��#������<�$��&�����j��
�ƒ����u�C�������]uH�E8H�@ �x]��|$��Ic�A���\ H�E8H�P �:
��@8HcL$L��H��H�H�P �U#����A��+~-Ic�H�}�D t��L���E����E1�A��A��2�'��������u5H�M8H�A H�Q(H)�H+AH=���H�����f����t5E1�<����E��tIc�H�}�D t
��L������H��$XdH3%(�]H��h[]A\A]A^A_�f������=��������� �����������������������E���Ic�H�}�D ����L���[L�d$ 1�D��H��L�������cH�UH���H��tD��H�}L���H�UH���H9������H��p�8�������������DIc���L����A�H�E8H�P �:
������@4�@8���H�}8�������q���H�E8H�P(H+P H����X���H�����K����x>�w���D�D$E����1Ҿ>H������U���@1�D��L��H������t,H�EH���H�������H�}D��L��������H�UH���H��tD��H�}L����H�UH���H9���G���H��p�8��7���������,���H�8� �D���E���8���H�E8H�P(H+P H�������H��������������@=���s����� ��=��b�������=�������L���H�I

�پ	H����H�E8H�P �:
t_�@8HcL$H�H�P �����ځ�����
��������	!ȃ���!��H�EH���H������H�}D��L��������@4�@8�E�������Ic�H�}�D �������L���$����]�����f�AWI��AVAUATUSH��(H�8dH�%(H�D$1�L�o H�w(A�U�Ѓ�߃�A<v	��_��I��I�]I9���f���Ѓ�߃�A<�E�B�<2vfH9�sq��~mH��L)�P�~A��6��I�����L���P���I�W8H�Z j8H����1�L��H�D$���H�D$�I����H9�r��E���E��uL)�H����dH�GL�d$L��L��H�D$����A�ƃ�>��A��4D�������HA��:�>1�1�f.�A��4D���q�����A��:����d�^��I�G8Hct$H�P ��:
���@8H�L��L��H�P �U��A�ƅ�uaI�W8HcD$H�J H)�H��H�J A�����uH�R(H)�H����hA�����I�G8HcT$L��L��1�HP ����A��A��>�3���H��@L��������P�~
A��6t%I�G8L+l$��I���H�pL����DH��	
�nL���4��@1�H�L$dH3%(��H��([]A\A]A^A_�H9��/���H�����fDH��@L��r��L�����P�~A��6�z���A�����uI�W8H�B(H+B H=�~3A����e���1��[���fD�@4�@8�a����L�������fDL���x������L���h���I�8L�o ����F���fD��H����UH��SH��H���GX�W\9�|)�H���1H�`Hc�H�4��H��tiH�C`�CX�c\H���1�
9�wH�K`Hc�H�,эPH�kP�SXH��[]���6u�H����H����H�������������@1��1�H��������fD��H��t7�GX��~0��H�W`1�HcȉGXH����tH�t
�H�H�wPH�H��f�1��ff.�f���H��trUH��SH��H����(��,H��09�|1�H���1Hc�H�4��H��H��t7H��0��(ѣ,Hc�H�,׍PH�� ��(H��[]ø�����1�H�������������ff.���H��tG��(��~=��H��01�Hcȉ�(H����tH�t
�H�H�� H�H��fD1��ff.�f���1�H��tu�@~gATUSH����*�����ue�{@~'��P��u���tH�e��H������H���h���H���P���H�{8H�G ���tA[]A\�@��������D�c@H�(���D��H�5]
H�81����t���������H�C8[]A\H�@ ��fD��H���8AVAUATUH��SH��H���*�����tkH�C8H��t5H�xt.�q��L� H�C8D�p4L�h���H�5�
H�8D��L��1�A���C��L�u L�(�C@D�`����L��D��H�5�
H�81�A�ՋC@��(~��6tj=cH��H���������t}�����uH�K8H�Q(H+Q H���~H��[]A\A]A^�H�߉D$�t�D$H��[]A\A]A^�1ҾYH���1���{@~H�����H������{@����뛃�����AUATUH��SH��H�8H�G �8&t:1ҾH������1ۉ�H���H��1۾	�9��H����[]A\A]�@�x#u��xx�W8����H�HH�O �W8�x�������uH�G(H)�H=��`�1�A�A�<;����PЀ�	wv��H��\PЁ�AO��O��H�U8H�J �<;�$A���������uH�B(H)�H=�������H�E8E1�H�@ ��PЀ�	v�1ҾH�����H�E8H�P �:;����H���@81�H�P 1���	��������
�������������������A�������H���h��^����B�<�{A���q���\Ɂ�H��AO��B��H�E8H�H ���;��H���@8H�H �����H����	H���M��1��
���fD���F���H�}8H�O �,���f���H�HH�O �W8�x��D���E��uH�G(H)�H=����1�A�A���;����B�<	wv��H��\Ё�AO��X
��H�E8H�H ���;����A���������uH�@(H)�H=����������H�E8E1�H�@ ��B�<	v��B�<�����A��~R1ҾH�����H�E8H�P �:;t1������H���@81�H�P ����DA���'�������\��8���@�؁������������=��������� ��=��o�������=�������DH���(�����H����H�}8H�O ���H���B8H�J ������]���H�}8H�O �8���H���G8H�O �2���H�����H�}8H�O �1���f.���H��tgH��tbAWA��AVE��AUA��ATI��H��UD��S@��H��H������H��E��D��UE��H��L������H��[]A\A]A^A_�f.�1��ff.�f�H���'AWAVAUATUSH��H����6�	��\Y���I��H��I��H��t)�z\t#H�rPH��t�����u���Y�����M��t^I������H�S81�H��tH�B H+BHB@H��H��H�I9�rw1ҾYH���H����H��[]A\A]A^A_�@M��ucH�����������H�S8�H�H��tL�j L+jLj@L��H�@K�D�H�H9�s�@1�H��[]A\A]A^A_��I���v�H�C8H��tL�` L+`L`@L��K��H�I9��<���H���H�RH9��(���1��H���H��'����H���������S@��~DH�CH�J�H�PL���	DH��H�H�A H+AHA@H�H��I9�u�H��H�H9��w���1ҾYH������ǃ��������1��DL���E1�E1�1�ǂ������N �����I��H�������Y��H�������?�<L��H��L)�H=���?HG������|��H��t���H��1L���������\�����F���H���'�����1��0���fDH�EP����?�H���H��L)�H=���?HG������7���H�EP��=���ff.���AWAVAUATUSH���L$(D��$�dH�%(H�D$x1�H�����������I��H�������H��E��E�΃�(~��6��=��H���1�$�,�H��H����Hc$H�H��H�$H��H9���@�H�\$xdH3%(H���H�Ĉ[]A\A]A^A_�@�;&��1ҾL�����H���1H�D$0H�D$0H��1��fD1�L����
���@1ҾYL��1������u���f.�H�D$lH��L��H��H�D$������
A���t$9���
A�ΉL$9���
A���|$9���
A��$���
�t$(H�T$pE1�A�,H�T$8���t$,��&��f.���%���|$lJ�|=���I��HcD$lH�I�GdL9�v,O�l6dM9��bH�{�1L��H��H���JM��H��H9$wJ�D=�l���@H�T$H��L������t�9D$t�;D$t�9D$t�A��$�t���&�V����{#�T����D$(�J�����������H�\$p�;&�cH�t$8H�CL��H�D$p���I��H����
H�D$p�8;��	H��H�D$pA��$6��I��$�I�$H���-	H�@(H���]L��L�D$ I�|$��L�D$ H��I���=A��$�����A�E\������u	���l
����
������H��1L��H�D$0�1�1�L��L��H�\$p����A���I�uP�����H�I�$�A�}\�HH����I�}�X�M�mI�OB�D=&��H�J�t8eL9�vHN�DpdH�L$@�T$ M9��UH�~�1L��L�D$HH��H���8L�D$H�T$ H��H�L$@M�ƅ�~-�z�J�t=1�H����H��A�L�LH�JH9�u�H�I�LL�y�D
;���D����H�I��^����D�\$,E���3������D�E����H���OH�\$p�;%�AH�t$8H��L��H�\$p���H��H����H�D$p�8;��I��$�H��H�D$pI�$H���{H���H���kI�|$H���A��$�H�D$ ��H���OH�D$ �@\�D$0����vE1�H��H�[�L�����H���1H��ADŽ$�H�D$0�L�l$ 1�1�L��H�\$pL�����A���I�uP�����H�I�$�H�����T$(E1�E1�1�A��$�L���T��A��$�H�D$@H���L�l$@H�\$HH��M)��I��C�D=���7I�oB�;I��eM9�s�H�T$ 1�H��L���D�������O�|6dM9��H��1L��H��H���M��H���fDA��$�t[A�|$0t"E��$�E����E��$�E����H��H���L�����1�1�1�L�����ADŽ$�H�{�1H��H�\$p1�1�1�L������
���fD����L�(�{��H��H�5�H�81�A���R���@���L�(�S��H��H�5�H�81�A���C���A��$6�jM;d$�g	A��$���A�|$0t!E��$�E���.A��$����L���L��L�D$ H������L�D$ L��1�1�1�L�D$ ��L�D$ H�z�1L�����H���q	�6J�|=��H�I�I�GdL9������O�l6dM9�r H�I�1L��H��H�������1�L���v������H�D$0H��H�|$@H�\$H�����1�L��H���C��H�D$0H�|$@��N���f��T$(E1�E1�1�A��$�L�����A��$�H�D$@H����L��L�|$@H�\$HH��L�l$ L��I)��
�L��A����OL�p�H��eH9�s�H�T$ 1�L��L���f���L�l-dL9��@���H�9�1L��H��H���(���L��H���H�	�1H�D$0�����L��L�D$ ���L�D$ H��I�������I���DA��$4uA��$�����H�D$ �@\��t	��������0���f�	��H�D$XH���lH��1��S���H�t$ L�����I��H����H��L���������A��$���uI�T$8H�B(H+B H=��FH�t$8L�����H�\$PL�t$@L�t$8H�l$HH�l$X1��D���x�����
���u	���T�T$pH���(
����d�A��$���uI�T$8H�B(H+B H=��DA��$���I�D$81�H�P �:
���@8HcL$pL��L��H�H�P ��������M;l$8��I�u I;u(�=��@�������������J����� ������8������������&���L�t$@H�l$HH�\$P�����„��wH�T$XH�L$ H�H��H�APH����H�D$ H�pP����@I�D$8��H�P �:
�����@4�@8����L�t$@H�l$HH�\$P���ƒ�
��!ʃ���!��t���L��������A��$��W���H�3�1L�����H���>���H���A�H�D$ H�D$0I��H��H�|$@H�\$H�H�D$ I�����L��1ҾL�D$ ����L�D$ H���1L���P���1ҾL������2���@�C<x�H��<;���PЀ�	��1���H�ӍPЀ�	�����tPиH�S��O��C<;u�H���������~N�����=��vV�� ��=�vI����=��v<��H����	L�����H���1H�D$0�f�F���v	��
�h��t�J�|=�{�H�I�I�GdL9��e��4�1ҾL���հ��1�됹H����L��L�D$ �v�L�D$ H��I���x����'���L�t$@H�l$HH�\$P=��P����������j����� ������X��������<����I�}P�����H�����<L�D$ �K��L�D$ H����L���&L��L�D$ H�F��1��L�D$ ��E1�H��H��L���M��ADŽ$�����L���L��L�D$ H������L�D$ ����L���L��L�D$ H�w����L�D$ �H�L���L��L�D$ H������L�D$ �"����L�(H�D$ H�PH�T$@�?���H�T$@H�5��H�81�A���f���L�l$ �hE1�L��H���I�M�v��I�uP�,���A��$���uI�T$8H�B(H+B H=���A��$���L��L����������CH�K1�<;�f������(f�����D��Q=�N�H�A��;thH���B�<	vӍB�<w	���D��̍B�<�I���D��H���DL���������x����H���DL������o���H�Y���L���$�����H�|$XL�t$@H�l$HH�\$P�	�����L���L��L�D$ H������L�D$ ��L��L��L�D$ ����A��$L�D$ I�Ń���(���H���!��q���@H�D$ H�@PH��������A�E\��L��L�t$@H�l$HH�\$P�&��7���H����L���-����>���H����L�������[��1�L������1����L���������I�EP��,�����H�|$X���L���Y�����L��H�R��谬��H�|$X�v�������������R���L���	H�B����H�|$X�C�����ff.���AWAVAUATUSH��H�|$H�T$dH�%(H��$�1�H����H�D$I��H�H�������:��H�n������:��H�D$0�L�veH�D$)��D��:tH��I9����4*H����]���u݃�dt��:��H�|$���I���)H���1���I��H���fH�|$1����E1�H��$�dH3<%(L����H�ĸ[]A\A]A^A_�Hc�A�7��:u�A���unH���1L���H�D$H�L������I���fD�}t�H�D$0I��H��H�D$�����]H�|$��H���u!1�H�=*{���I���N���H�D$��L�8��ߍA�<�|��_tw��:trH�|$H�T$,L�������=�����߃�A��vH��@�����v=��(������������t$��_tH�|$L���H�S��V���fDM�f�H�t$/f�I�����A�\$�������c��H����uރ�c��H�|$������I���j���H�2�1���I��H���A���foD$0�dA��foL$@HfoT$PP fo\$`X0fod$p`@fo�$�hP��$�A�G`��I��H��I��A�/��uA�^���������:�������
D9�|�H��1E�L��Ic��H��u�H���1L������H�g�1D�L-Ic�D�L$�I��H���n���H�T$I�Hc�H��I)�I��H�
I���H�t
�I�t�L��H)�H)���H�օ��H�D�L$u:�LD��
D9�|$H�i�1E�L��Ic�D�L$�D�L$H��tBI��I��D��C�/C�,D�u��u�Ic�A����1���:�D���H�D$0H�D$���H�|$1��Q���H���1L������fot$0A7fo|$@Afot$PAw fo|$`A0fot$pAw@fo�$�AP��$�A�GdA�G`��:�L���I�����H�5��1��������u��������=�Q�d�����0�X�����!0���*����D����o��ff.�@��AWAVAUATUH��SH��(H�8D���dH�%(H�D$1�H�w E��uH�G(H)�H=����<:��<_���u��߃�A<��H��?H�^���Ѓ�߃�A<�W�B�<2�B����I��I)�A��P�~
��6��H���D�����H�U8H�Z Db8H����H�|$dH3<%(��H��([]A\A]A^A_�H���_��H�}8H�w ��ƒ�߃�A���>���<_��<:����,���������uH�G(H)�H=�H����������L�t$H��L���"������6����>�u��߃�A���zH�E8D�d$H�P �:
��@8Ic�L��H��E1�H�H�P ������>wH��@H����I��������H��@@�ƒ�߃�A��v+��I�����?��L��H��H�҃����|�A��d��A��H�E8HcL$H�P À:
���@8H�L��H��H�P �#�����>w�H��s�A��P�~
��6�H�E8H�p H��H+PIc�H9�|>�>
H���u
�~�
��H)�D���������DH�������H�����H����H���I���1�������>��=����؃�߃�A��v��@�������H�E8D�d$H�P �:
���@8Ic�L��H��E1�H�H�P �0�Ã�>wH��@H�������I��@������؃�߃�A��v'��@�����v��(�����v�����DA��d������uH�U8H�B(H+B H=��d��������E1�H�E8HcL$H�P À:
��@8H�L��H��H�P �]��>�J���I���0�������@���H�5�1��������^��������=�Q�M�����0�A�����������2���H�5{�1�����������H�55�1�����������H�5�1������������H��@H������1�����H��@H�������_�}�����:�t�����@������e�����(������V��������=�E�����������
�6���������=��%�������������������=��������=��������=���������=���������=
�����������
�����1����A������������uH�U8H�B(H+B H=��C�������E1������@4�@8�����@4�@8�����CЃ�	�e����CӃ��Y�����:�P�����_�G�������;������fD�HӃ�2�����������z�������������h�����������Y�����������J�����������8�����������&���������������������������������
��-=��
����#���H��������H���������H��?H��H�҃����1�H��H�D$���H�D$�3���H�&��nH��艟��1������@4�@8����@4�@8�j���H�5c�1���t������:��������=�Q�)�����0������!0������1������(������������������_�����:����1��{���DH��D��H�����c��������UH��SH��H�������uH�W8H�B(H+B H=��������L�C8I�p ���t-�}H��@8�uBH���
D�9@8�u0H���H����u�H���1����H9�HD�H��[]�fD@��u�<>w�H�&@H��s�H��I�P H)�A@8H���[]�D����T���fD1��ff.����AWAVAUATUSH��H�����dH�%(H��$�1���uH�W8H�B(H+B H=��+����nL�l$H��E1�1�L��L�t$ ��A���@A���|$��Hc�D�| H�C8H�P �:
���@8HcL$L��H��H�H�P �Z�A�Dž�u@�����uH�S8H�B(H+B H=��������L��H��E1���A�ǃ�c�
��4D���̹������A��d�J���D���E��ufH�S8H�B(H+B H=��*���H������|$�"���Hc�D��L������H�C8H�P �:
�����@4�@8�����E1�����H���8������7���H�D$H��$�dH3%(H�D$�H�Ĩ[]A\A]A^A_Ð��t�H�|$ ��谿��H�D$�f�H��1D�t-Ic��H�D$H����H�|$Hc�H�t$ �o���f.������uH�S8H�B(H+B H=�������E1�E	D9�|8A��P�~
��6�H���1E�H�|$Ic��H����H�D$Hc�H|$�|$u_D�?H�C8��H�P �:
tc�@8HcL$L��H��H�H�P ��A�Nj�4D������tdA��d�2���A���[���f�D������H�C8H�P �:
u��@4�@8�@H������
����s������fDH�D$Hc��(�8���1�H���]�H���1H�|$�����H�_��nH������H�ϸ1H�|$�H�D$���1�H������������fDAVAUATI��US���H����uH�W8H�B(H+B H=���H������H��H�C8H�@ H��t �8:�I�$[H��]A\A]A^��8:uSH���K�H��H��t�H��H��E1�E1�H������ƣ��[H��I�$]A\A]A^�f��;���v���fD1�[H��]A\A]A^�f�H���(��H���0��I��H��t H�C8H�@ �8:��I�,$L���T������t�E1�E1�H���H��H���2���H���z���I��H��������q���1�1�H�=�hH���.��I��H��������L�����H��M������H��1L�����f.�E1�M��H���H���H��裢��H���;��H�����H���}�������1�1�H�=JhL�����H��������H��I������H��M��tH���1L��I�,$H���,���1�1�H��H���Q��L��I��H�T�1�����1�1�L��H��뒐��AWAVI��AUATUSH��HH�t$dH�%(H�D$81�H�G8H�D$0H�@ ��D$<"t<'��H���1�d�I��H���/I�F8A���AdžH�D$���-L��L�l$,�d1����L��L����A���D$�$A����A����A��
���u
A�G����'D9<$uH�D$I9F8��A�����C9�|H�;�1�L��Hc��H���I��Hc�L�|$,�<D�?I�F8��H�P �:
�@�@8HcL$,H�A���H�P ��uH�@(H)�H=��'L��L���4�A�Dž��!���A�����uI�V8H�B(H+B H=��>L��L����A��A�����A�����=������A�� ��=�����A����=�����Hc�A�A�����1Ҿ%L���@���L�-	�11��H�$L��A�UH�$H�L$8dH3%(�EH��H[]A\A]A^A_�fDD���p���I�F8H�P �:
������@4�@8���DL���������H�t$H�F(H+F H=������L��跿��A��������1�L�-P�1�K���L��萿�����Hc�A�A���t��D$D9������L��H�l$0�k��L�d$0A�$L���u$�DH�T$0H�BH�D$0�Z������%t��&u܀x#t�H��H��L��H�D$0����L�-��1H����H��A�UH�T$0�:;����%u�A��Pu�A�~@u�1ҾXL��蘓��1��a����1Ҿ$脓��1��\���DA���E1�E1�1ɺL��L����A���H�|$�����H�t$L�&�����1�L��H�$�R�L�-�1H�$�����H����WL���{���1�����Hc�A�A���������P���1�L����1����������AWI��AVAUATUSH��(H�W8dH�%(H�D$1�������D$H�B ��uH��H+rH����+��D$<"t�|$'�UL���}��H���1�d�I��H����L�t$L��1�A�dALJ
L��1��^����D$�D$����m��
@�ƃ���@�u�B�����9T$���CD9�|=A��P�~A��6�&H���1E�T$L��Ic��T$H����I�Ń���2~GA�����u,I�8H�G H�w(H)�H+GH=���H����pA�����1�Hc�L�|$��I�G8��H�P �:
�#�@8Hct$L��H�L��H�P �F��…����A�����uAI�G8H�p H�P(H)�H����]H��H+PH���~H�@(H)�H=���f�L��L������������������=��������� ��=����������=�������Hc�1Ҿ,L��A�D�D$A���1���H�L$dH3%(L����H��([]A\A]A^A_�������I�G8H�P �:
�����@4�@8����fDI�8�T$���A����T$���p���I�G8H�p(H+p H����W���L���T$賺��A����T$�G���H�J�1L��E1��<���DL��耺��A����������I�G8H�p ����@H�R(H)�H��������I�8�C���I�G8H�@ ���fDI�8�'����b���f�1Ҿ+L��E1�������f��D$Hc�L��A�DA���������H���1L��E1�1�L�������D$A���e���1�L������V���H�
��nL���s���H�<�1L��E1��D$A���#����_���ff.�@��AWI��AVAUATUSH����H�W8����D$H�B ��uH��H+rH������D$<"t�|$'��L���
��H�>�1�d�H��H����I�G8E1�E1�dALJH�@ D�0I�G8H�$�@H����sA����-E1�L�����I�w8H�F D�0E��uGA�����u<H�V(H)�H����
H��H+VH���~H�V(H)�H����fD�0I��H�
_�1A��IcĀ<1�fD:t$����9�|3��P�~A��6��H���1�H��Hc�H����H��A��F�t%A��2�,���A���������I�w8H�F H�V(H)�H+FH=����H������L���{���A�������DH��1H��1���DL���H���A�����uvI�w8H�F ����H�<$�'���A������u���I�G8H�P(H+P �w����H�R(H)�H�������I�8���I�G8H�@ ���fDH�<$�ǭ��I�G8H�@ ���f.��DD:t$tQ1Ҿ,L���u����D$A��H��H��[]A\A]A^A_��1Ҿ+L��1��?�����D�DL���[���f�1�L���F��H�ߩ1H��1��H����nL����H���1H��1��u���1�L������f�����AWI��AVAUATU��SH��H�8A���D�g4D�o8��u(H�W H�G(H)�H+WH�����H=�������H�O L�5G��< ��<
�2<<���w8A�<tRf�H��DH���)ȉ��A�<u�W8�<
t8<]ug�{]u
�{>���rH�K�w8�CA�<u���H�ˉW8�<
uȋG4H�ٍP)�fD�
H���G8�G4�<
t��e���L�G I��M)�E����I�H����H���H9���A�< �H�&H����H�_ 1�D��L��L��L�L$L�$莫��L�$L�L$��I��-H���H��tI�D��L���I�8D�g4D�o8A����H�_ �<
��<<��<&��A�����u$H�G(H)�H+_H����0H=��A���t|I�8H�O ��P����%����P�_����D�g4��D�o8H��L��[]A\A]A^A_�=����G8H������H���H��tI���H���I��p�8�u�����H��[]A\A]A^A_�L��1Ҿ>H������I�G8H�X H��[]A\A]A^A_�I�8����A���I�8���U���H�G(H+G H=��A���L���Ӳ��I�8�0���I�8���A��������I�W8H�B(H+B H=�����L��蒲������A��H��tI�D��L���I�8D�o8D�g4�B����{
�e���H�CH�K�G4H�G �G8����W4)ʃ��
H���G8�G4�<
t����H���H��tI�D��L���I��p�8�������������H�_ H��H)݅������I�H�O H�������H���H9��tF���H��L���֨����I��.���H���H���G���I�H����H��[]A\A]A^A_��H��u��$������AWI��AVAUATUSH��XH�8dH�%(H�D$H1�H�G �8<u�x!t#H�D$HdH3%(�p
H��X[]A\A]A^A_Àx-u׀x-u�A��H�pALJH�w �\$�_d�G8�x�\$ ��E���E���-I�W8�1�A�dH�T$1�<
��D�W8I��PҀ�Q�P��������u<	��M���I��A�$C�"�H�D)ʀ�Q�H�A������A�u�<	tԉW8A�$<
��M��I)�t@I�H��t8H���t.H���>J�T-H�BL9���H�<+H��L������+H�����vA��6�I�8L��L�g A�$<
u�G4I�T$�G8A�D$<
��A�����u(H�G(L)�L+gI����
H=���@A����SI�8L�g A�$<-�dA�|$-t%D�W8L��A��M�L$D�W8A�D$���fDA�|$>��H����H��H���PL�����A�����I�8I���G8H�w D�PD�W8�D�z
����H�r�G4L�JH�w �G8�BA�����H�|$膥��A���������I�W8H�B(H+B H=������L���W������1�H���PL���L����K����G4M��PD)�B�
I���G8�G4A�<
t��n���H�Ÿ1N�t2dH�T$H��L���H���I�O8H�T$H�<(H��H�q H������<-��M�udH��1L���H��H����I�G8L��H��H�p ���D��M���M���H�G(H��H+WH)�H���~3H=������I�8�]���A�����I�8H�w �����H�G(H)�H=��}���L���+���I�8H�w �h�����脷��I�8H�w �A���H���1H������A�|$-M�u�#����"����P���v�P�_�L���%���L��1ɾ-H�9�还��H�X�1H���v����W4I��)��B�
I���G8�G4A�<
t������D$ 9GdtL��H���Z����I�8L�g I�D$�G8H�G A�|$tzI�H��tSH���H��tGA��L��u<I�H���oH���H���1H��A��������D$A�����H��u���H���1H��1�L�������Ѿ��&����w����Gd�D$(H����A���uI�W8H�B(H+B H=���H�t$<L�����������=���������
��!ЍQ�����!Є��LI�G8H�P �:
���@8Hct$<L���L$H�H�t$@H�P �:��A���g=��L$�o����A��
��!�A�U�����!Є���I�G8H�P �:
�+�@8Hct$@L���L$,H�H�P H�D$DH��H�D$����A���I�G8�L$,H�D$H�D$ �A����A��
���uA�D$�����A��>�A��-���-�5H�����vA��6�H�EL9�r&H�ɛ1M��L$,H��L����L$,H������H�Ã|$<H�<+���H���D$@HcT$DH�D$�D$<H�D$�T$@H��2vgA���uAI�G8H�P H��H+HH���~H�p(H)�H�����H�P(H+P H����JA�����H�D$HcT$DI�G8H�H �9
���@8H�H�t$L��H�P �S����uXA���uAI�G8H�P H��H+HH���~H�p(H)�H�����H�P(H+P H�����H�t$L�����D��E��A��A����D���A��$���=���fA��$ ��=��SA��$��=���@�+D��H����	L��轓��H��1H���]���L���D����k����@4�@8�����舭��H�H��I���L���������H�|$ ����A����%���I�G8����L��H���	�<���H���1H�����������=��vf�� ��=�vY����=���������T���1�H�H��-L��蒓��� ����+E��u H��H����-L���m������1��A��
��A���„�t	������I�G8�t$(;pdtH����ZL���ؓ��L��� ��I�H�������H���H�������A��L�����I�H����{���H��1�dA�d1�H��H���������L��試���%���菫��H�5�K������@4�@8���������=��v8A�� ��=�v*A����=���������w����@4�@8����1���A��-�������-�����1ҾPL���L$,��z���L$,����1�H����l����+���H�|$ ���A����r���I�G8�T������ATUH��S���H��H��tm��ƒ�߀�X���S�у�߀�Muy�K�΃��@��Luj<x�s@�ǀ�m��@������l��@����H���@H������H��[]A\�E1�1�H�$�H��@�w�����:H������H��t�H��H��E1�E1�H�����a���H��[]A\�f�@��t;L�%$�0H�5���I��I�4$H���w���H�������t��[���fD1Ҿ@H���qy���A���ff.����ATUS���H����uH�W8H�B(H+B H=��#����H�C8H�@ �8&��H���=���H�����I��H����H�C8H�@ �8;�HH��������6�SH�H���H����H�@(H����H�{L��Ѓ{H���������tqH�����E\�������ƒ�u���4��t��������w6L��H�Ÿ�H���m����H�1��DH������@1�H��[]A\�fD�+�������fD�{�����t̓{0t�����u}�����usL��H�޵�H�����1�1�1�H��螵��1�ǃ��H��1�1Ҿ�w��H��[]A\��L���8���H��H���N�������L��H�k��H���y�����P������H�H���s���H���H���c���H�{L����U����H��u.��6��L��賶���{H���J���H����������F������f�L��H����H���ٍ�����@�����t��p���H�}PH���c����<藖��H���P���L��H����&H��臍���4���H;[�R���L��H���m���H�����L��H�;��H���N������f�AWAVAUATUSH��H��hH�T$ H�W8H�t$(����L$dH�%(H�D$X1�H�B ��uH�J(H)�H������D�r4D�j8��"t	��'��H�J(H�hA��ǃD�8H9����t$�����@�p�@��_��A8���<<��I��<&��fDH��A��H9��D���E��uH�B(H+B H=��������f�E1�H�|$XdH3<%(L����H��h[]A\A]A^A_�����L�b��uH��H)�H������D$���#�EH9��'���I���fDH�JH��H�L$藟������j���H�S8H�L$H�BH9�t	H)�I�H�H��H�J(L)�H=���~
��6�x
H9����E<��D8���<<@��<&@��@��t�������H��L)�H=����l��6�"
�EA8��RH��H�D$(H��A��L)�H����	�0H�D$ H�j D�r4D�j8H�����������f.�H9����EA8��j< ��H�&H���I��A��<
u
A��A�H��H9�r=�����uH�B(H+B H=���������H�J(H9��LD�ED8���< ���p�@��_��A8���<<��I��<&��D�t$M���DD���E��uH�B(H+B H=��P����s���L��H��H�J(L)�H=���~
��6��H9����E�p�@��_�wD8��n<<�f<&�^A��L�e< ��I9��e���L���I������������H�JH��H�L$����������H�S8H�L$H�BH9������H)�H�J(H�H9������I��H����H��L)�H=���~
��6��D8}�����H�D$ H��t�H�B ��D$<"t�|$'�YǃH���o���H���1�d�I��H���}H�D$TH��H��H�D$�`���H�S8�|$H�J @:9��|$A�dE1�1�M�����|$H��@�|$ �$@��
@�ǃ�@��@�u�p����B��<�9�����H�����v
��6�b	��&�d�� wH�&H����|$TI�<,���H��H�E
L9��9O�t-
M9��LH��1L��L��H���4H�S8M��I��E1�H�B �8
���B8HcL$TH�H�B �����uH�S8H�B(H+B H=���H�t$H������H�S8�|$H�J @89tA=������������������� ��������������������������D�t$�KH���p	A�|,� L�m�t�1DC�|,� I�U���I��M��u�L����H���(���H�S8H�B �@���1Ҿ'H��E1���n������H������������H�S8H�BH�J(I9�����L)�H����1�H���ξ�����f�H��L)�H=�����������f��} �X���L��M��D�t$H���H�����|$ ��H�B 1�8
�,����B4�B8� ���D�y#H���+�Ƶ��I��H���H��H���M����Ic��H�A�\H����D�sE���vI��6���A�\�D$0I�GH�D$8tI�wPH��tE���E����Lc|$0A�,&H�l$@I�D/I�
D�t$LI��H��H��L��I���/N�tmM9��ZH�#�1L��H��M���H���?H��M9�r�H�l$@�|$0L��I��D�t$LH��H�E��~5��1�I�4,L�D$8���	fDH��A��TH�PH9�u�Hc�H�D
H�hA�;����DM��D�t$�}� H��uL9�w��L9�v
H���~� t�H9�����EA8��< ��H��L)�H=�����������f�A��Dt$H��A��(���fDH�BH��H�D$�?����������H�S8H�D$H�jH9������H)�I�L��~���fDI�&�N@�������H��H�J(L)�H=���~
��6��H9������ED8��6< ����I������A��<
u
A��A�H��H9�r�D���E��u�H�B(H+B H=��q���H�JH��H�t$H�L$�S�������&���H�S8H�L$I�&H�t$H�BH9��6���H)�I�H�H��%���H��������������A�ƃ�&�]������H�E
L9���K�D-
H�D$0L9���H��H�}�1L��I��H����I�4/D��1�M���[���E1�L�l$0H�H��x���f�H��L)�H=���������������I�wPE1�1�E1��H���������H�D$0H����E1�����@E1�H�S8���@H�D$ H��t�L���Ѝ��H�S8I���%���@���I���H�H��q����H�ͨ�(H��E1�聁����@�|$TI�<,up� H��H�E
D�t$0I��H��H��L��I���0@O�|-
M9��jH�3�1L��H��M���H���OH��L9�w�L��L��I��D�t$0H��H�P8����� 蓙��H�H��I�,I���H�S8H�R ���<��8T$����t'=��L��
�����„�t��	���dH���(H��腀��I������uH�D$(H�����D�(��L�|$0I)��>�<
tO�H��I9�s$K�l-
I9�w?H�0�1H��L��H��t+I��I��L��A�/���,�P�L�uI�,��w�� �1�H��L�t$0�9���H�҆1L��L������L��I��H��1�H���
���H���1L�����H�E
L9�v$O�t-
M9�r�H���1L��L��H��t�M��I��I�GPD�sI�,H�U�E��u<&�q�H��E1����D�sH�E
E��tyL9�v,O�t-
M9��k���H�+�1L��L��H���S���M��I��A�,&E1�H���2���H�8��(H����~���#���f.�I��H9��K���H���d���L9�v,O�|-
M9���H���1L��L��H������M��I��A�,&A�D,#H�EA�D,3A�D,8H��A�;���K�,������������������� ����������-=�������H����	H���!~�����1Ҿ&H���-f�����L�l$0M�����H���C����i����&A�#�Q���H�ʄ1H�|$0E1������������L��E1��������1�E1�E1�H����H��H�D$@�K��H�������?���H��H�FH+D$@H=���?HG��A���H��t5H�׾<H�T$@肅��H�T$@H��tA���H��1H�����I�GP�����p�I�� @��_�l������$���@��H��tH�8t1�1�1����D1��ff.�f���AWI��AVAUATUSH��HH�8dH�%(H�D$81�H�G �8<u�x!t(H�D$8dH3%(��H��H[]A\A]A^A_�D�x[uҀxCùxDuƀxAu��xTu��xAu��x[u�H�P	�G8	H�W �x	�JALJH�t$,L���x�����=����
������!ЍQ�����!Є��nI�G8H�P �:
��@8Hct$,L���$H�H�t$0H�P �����$=�A������
��A����!�A�U�����!Є��	I�G8H�P �:
���@8Hct$0L���L$1�1�A�dH�H�P H�D$4H��H�D$衳���dA��H���1�I�W8�L$H��H�$H�T$�9�z�A��@��A��
��@�u
A�F����U��]@��A��]��@�u
A��>�u�CD9�|?A�����~A��6�+H��1E�H�<$�L$Ic��L$H����H�$Hc�H<$�|$,�)����D$0���D$,HcD$4�D$0��2~LA�����u,I�w8H�F H�N(H)�H+FH=��#H�����A����HcD$41�I�O8H�q �>
���A8H�H�t$L��H�A �F���D��E��A��A��������A�����=�����A�� ��=�����A����=������H�$Hc�L���?H�,��H�$ALJH���x��H�B�1H���������ّ��������A4�A8�8���H�|$�X���A��������I�G8H�H(H+H H�������L���)������������=����� ��=������=�����������������=����A�� ��=���A����=�����������1Ҿ?L���}`��ALJ����H�$Hc��I�G8ALJH�P �:
���@8HcL$4H�H�P I�H��t&A��LuH���H����I���H�4$��H��~1H�<$��N������|�������@4�@8��1�����@4�@8�@����ˏ��1�� ���H�}~1H�<$�1�L���ͯ����L��1ɾ?H�Ӟ�v��H�K~1H�<$������@4�@8����H���H���H���I���H�4$���7���ff.�@��AWAVAUI���
ATUSH��H�w~1�H��H���I�E8H�@ ��PЀ�	���EL������I�E8H�@ �8.���E.L��A�
A����I�E8H�@ D� A�D$�<	v2�Yf.��CA9�H�a{1E�H��Ic��H��taH��H��D�dL��D�{艤��I�E8H�@ D� A�D$�<	v�Mc�B�D=�f�H��|1H��1�H��H��[]A\A]A^A_�H��|1H��1�1�L���(�����fD1�L��������@��AWAVAUI��ATUSH��H�G8H�@ ��؃�߃�A<�H�}1�
�I��H�����L��A�
I��解��I�E8H�@ �(@���Hc˃�߃�A<v7�E�<2v A�L��H��[]A\A]A^A_�f�I��s�f.���A9�H��y1E�L��Ic�H����I��A�,L������I�U8H�B �(@��u.A�����u#H�J(H��H+rH)�H���~?H���~�(H���?����I�}8�~��A�����u I�U8H�B H�J(H)�H����L��茇��I�E8H�@ �f�L��1�H�D$聬��H�{1L���H�D$H��[]A\A]A^A_�1ҾO�%\��H��1�[]A\A]A^A_�1�L���:���1������USH��H���η��H�{8H�G �8e�-�xn�#�xc��xo��xd��xi���xn���xg��H�P�G8H�W �x��H���Y���H�C8H�@ �8=��H��萡��H���8���H�C8H�@ �<"�/<'��1Ҿ!H���.[����6 tu1�H��y1H��1��eH�5*oH���$������RH�C8H�xPH��t
H��y1�H�C8H�hPH���ւ��H���vH��H���{����yǃ� @1�H��H��[]þ��*�������1ҾKH��1��Z����H��誠��H��貒��H��H�C8H�@ �8'ulH��芠����6 �*���H��t�H�5dnH���Y�����uaH�{(H����H��x1�H�k(�h���H���>���H���F���H��H�C8H�@ �8"t�1Ҿ"H����Y��H��x1H��1��&���H�5�mH�������t�H�5�mH���ҕ���������H�{(H���u����y���H�C8H�H���i���H�x�^���H��H�3��Q�Iq��H�{(H���=����/���H��H���H��1� �np�����f���H�W8H�B �8<�[�x?�Q�xx�G�xm�=�xl�3�H�� �&H�&H���H�HATUSH��H�J �B8�x�%��H��ǃ�}�������H���m���I��H���H���Y������RH�C8H��L�`X衷������� �~H��u���?H������H�{8H�W �<?��<>��1Ҿ9H���X��H�K8H�A ���>t'����H����tfDH�A �H����t��>u�H��������[]A\�f�1Ҿ8�W��@H�*��AH���|o���������H����������H�=��2���I������z>�>���H�B�G8H�G �z�v������Ќ���g���H��1Ҿ9�,W��H���T����K���H����AH����n�����H���eH����n�����ff.�f���ATUSH��dH�%(H�D$1�H�G8H�@ �8%t'H�D$dH3%(�oH��[]A\�f.�H��踜��H���p���H��H���T�_���D� E����H�C8H�@ �8;��H���z���H�H���H����H���H����H�{H��Ѓ��I���V���H�����@\������E1�H��H��H�߾�Kz���fD1ҾH���U������@����L� 諟��H��H�5k�H�81�A���1���@��������{0t D���E����D���E���uH��H����H���vl��1�1�1�H���(���ǃ��r���f�H�͔�H����l���P����1�1�L��H��������2���A�|$\u!��4u�K��u���������L��H���5���H��H��H���ǣ�����A�|$\�[��������uH�S8H�B(H+B H=��$��������H�S8H�B H�R(H)��H������<�����x?������xx���xm����xl�����@< ������H��	H�������H��萏�����D���E1�H��H��H����E��t'H���t��^��ǃ��c���f��x����H���!��������L$�PH�|$��T$�P�T$�@�D$�q�����uH�C8H�@ �����H���e~��������H��薪�����?���ff.�@��AVAUATUH��S�G@����������H�}81�H�W ���H�ʍH���vE< tA<
uU�G81������H�J����B��u�H�O ���2���H�}8H�O ��D<
u��G4�G8��H�W ��[]A\A]A^�f����`���I�&���I�&��A�Ń���1�A	��7f.�<%u�E��t��B< wI��r�H���!����1���������H�E8H�P �< w�I��sH��������@���T����}@�J���H��薄���@��ATA��UH��SH��H�����H�8��uH�G H��H+WH�����H�EH�G ���S����P���xU���xB���xL���xIu~�xCuxH�P�G8H�W �x�RH��������)H���<���H�EH���<H��E����辬������H�W}�AH���h���D�xYtB1�H��[]A\��H�O(H)�H�������H�{8�r��H�{8����f.��xSu��xTu��xEu��xMu�H�P�G8H�W �x��H����������f�H���h���H���o���1ҾFH��H�D$�P��H�D$�Q�����۫�����A���H�C8H�@ �<'t�<"t��)���H�<|�AH���g��������H������1ҾGH���O�����H��{�AH���kg���V����������5������AWI��AVAUATUSH��8H�8dH�%(H�D$(1�H�G �8<t&H�D$(dH3%(�+H��8[]A\A]A^A_��x?u�A���wdH�PALJH�W �G8�x�t$�\$��E���E��uI�G8H�P H��H+HH����7L��蟦��H�D$H���AI�8H�G �8?��H��m1�d�I��H���.L���N������L�t$$L��1�A�dL��1�蜞����I�G8H�D$�����m������
���u�B�������?uI�G8H�@ �x>�H�CL9�r&H��j1M�T$L��L���T$H����I����2~aE���E��u.I�w8H�F H�N(H)�H+FH=���H�����f�A����cH�����vA��6��1�|$$I�|��I�G8H��H�P �:
��@8HcL$$L��L��H�H�P �w����…�����A�����u2I�O8H�A H�Q(H)�H+AH=��XH����&fDL��L���%����������������=��������� ��=����������=�������H������WA��6�IH�L$H�H��/L���c��H�)k1L���D$A������@���|��H�H�I�G8H�P �:
����@4�@8����H�|$�T$�"n��A����T$���_���I�G8H�H(H+H H����F���L���T$��v���T$�1����H�|$��m��A���������I�G8H�P(H+P H��������L���v������H�@(H)�H=������I�8�m������H�L$H�Dx�AL���ob������f.�A�DH�L$�/L��H���Ab��H��i1L��A�����������f����v���������x>�F����t$9wdtL��H�{w�Z�b��I�8H�G H�P�G8H�W �x��I�H��t�E��LE��u�H���H���r���I�1�H�t$���`���D1Ҿ.L���QJ���G���@1�L���n����D$A����1�L���T������H��h1L������������d����
z��H�����vA��6�j���A�DI�8�D$9GdtL��H�~v�Z�a��I�8H�G �G8H�PH�W �xtL�|$vQH�dh1I�H���~���A��L���o���H���H���_���I�L��H�t$���L�������~���H�|$H�5K��Y�����t���s������w�A�EL��< w��H��	H��sH���< ���H�5�>
H���J��������SH�C�� w#��H��	H���'���H����� ����=����H�P�@< w��H��	H��s.H���< v�<'t<"uH�zH���H�Z8�tIH���
��u�E1�L��H�r�L���]�l������H���)����3����H���d������H)����l����H��H��	�< v4E1�L��H��L���]�Zl��H��f1H���F���H���<���H��sH��비�u�H������I���H���xk��H�qf1H��I���������AUATUSH��H��H�8dH�%(H�D$1�H�G �8<t"H�D$dH3%(��H��[]A\A]��x!u؀xNuҀxOùxTuƀxAu��xTu��xIu��xOu��x	Nu����D�odu$H��H+WH���~H�O(H)�H����aH�G �G8
H�P
H�W �x
�rH��藢�����IH��藠��H��H�����:H���f��H��tE1�E1�H���H��sH���P��H���D�������1�H��H��菅��H��I���$���H�C8H�P �:>��D9hdtH��s�ZH���]��H���A���H�H��t"��LuH�@8H��tH�{L��H�$H���M��tH��d1L��H�<$H���g���H��d1��Y�����u��H�s�AH���]���;���1Ҿ0H���E���'���1Ҿ1H���zE���H�{8�g��H�{8���H�wr�AH���2]���������z������ff.���AWAVAUATUSH��H��(H�8dH�%(H�D$1�H�D$H�D$H�G �8<t,H�D$dH3%(�]H��([]A\A]A^A_�f��x!u΀xEuȀxNu€xTu��xIu��xTu��xYu����D�odu$H��H+WH���~H�O(H)�H����sH�G �G8H�PH�W �x�#H���#�������H�C8E1�H�@ �8%��H������I��H���=�:H���&d��H��tE1�E1�L���H��qH���tN��H��輟������ǃ
H�C8H�@ �E���@<"�C<'�;H�t$�H���Ԃ��H��H���H���@k��I��H����I�~@��1Ҿ\H���ZC��L���rl�������E1�H������H�C8H�P �:>�H��L��%H��q�BZ��H���zm��H�|$t6H�E���PH��t%H���H��tH�{L���H��tH�xH�M��tH��a1L���H��tH�a1H��H�|$H��t	H�ia1�H�|$H�������H�Ra1�����r��<"��<'��H�t$�H��蔁��H��H���CH���j��I��H���I�~@t1Ҿ\H���B��L���6k��H�C8H�@ �8>t'H���������H�{8H�G �8Nu
�xD�H�H��t+��Lu"H�@0H��tH�{E1�I��H�L$�L��Ѓ{tVH�CH����H�xhH�5�o謞����t5H�{�L�sI�~P�TH�L$E1�I��L��H���Ø������������H�o�AH���
Y��������v������D9hdtH��o�ZH����X��H���'������H�{8�	c��H�{8�{����xA���xT����xA���H�P�G8H�W �x��H��脜����taH��舚��H�I��H���6�����L�)���L�JPM������H�{H��H�T$L��A������H��n�AH���$X���F���H�р�AH���X��뉾��u���n���1�1�H�5��L�����I�FP���H�=Wn�bk��H�CH����ǀ�@�Y���H�&��DH���W������H�T$H�D$H�PH����H��tH�@(H��tH�{L���H�������H9[�����L��H���a�����H��A�莅��H���6������'���H���AH���W������H�5�H���V����5���H��H���[H���:I�����H�|$���1ҾTH����>������H�t$H���8���I��H�H��t(��LuH�@0H��tH�{M��E1�1ɺL���H�CH��t[H�xhH�5�l講����t*H�{t@H�kH�}PtsM��E1�1ɺL��H���Ε��1탻��
���M���������H�=�l�i��H�CH����ǀ�@�H�Ml�AH����U���/���1�1�H�5�~H���Ѐ��H�EP�q���H�H���������L�t���H�@0H���g���H�{E1�I��H�L$�L����I���H��H�
~�[H���G���5���H�|$tm�������1��&���H�t$H��辅��I��H��t�H�H��t(��LuH�@0H��tH�{M��E1�1ɺL���1탻������K���1ҾTH���=��낐��ATA�UH��SH��H�8H�H�G �8#t(H����c��ǃH����H�ED��[]A\Ð�P��R����IuF�xMu��xPu��xLu��xIu��xEu��xDu�H�P�G8A�H�W �xu��D��F�w����xI�m����xX�c����xE�Y����xD�O���H�P�G8H�W �x��H��A�������#���H�k�AH����S���
���f����H��H�k�S��D��[]A\��xE�����xQ�����xU�����xI������xR������xE������xD�����H�P	�G8	A�H�W �x	���������p���������p���/�����AWAVAUATI��USH��H�W8H�B �8(�n������	E1�E1�L�=�j�L��� ���L���Ȗ��L���Д��H��H���L��M��u��H�H����H�sH���ȗ����t�E1��L��H��L���E��I��$�H���~_����uH�CY1H��L���F���I�D$8H�@ �<|�Z���<)��L��L���o���H��H��[]A\A]A^A_�DH���_��H��H��tM��tI�.I���I��I���H��H+JH������H�R(H)�H�������H�8��[�����L��H�#i�D�Q��L���a����m���1Ҿ01��9���Z���L���A����M���1Ҿ1L��1��{9��L���#����/���ff.���AWAVAUATI��USH��H�W8H�B �8(��������+E1�E1�L�=�h�L���@��L�����L����_��H��H���)L��M��u��H�H����H�sH�������t�E1��L��H��L����C��I��$�H���]����uH�cW1H��L���f���I�D$8H�@ �<|�Z���<)��1Ҿ3L���[8���fDH����]��I��$�H��H���5]����uH��V1H��H����M��tI�I���~���I��I���s���H��H+JH��������H�R(H)�H��������H�8��Y�����1ҾCL���7��H��L��[]A\A]A^A_�L����}����1Ҿ2E1��7����L��E1��4�����f���UH��SH��H��H�8H�G �8Nu�xOt5H�����H��H�E�	H��tH��[]�DH��1�[]���xTuŀxAu��xTu��xIu��xOu��xNu�H�P�G8H�W �xt$H���ʒ����t$H��螀��H�EH��t��
늾��Tl����H��f�AH�߉D$�N���D$�]������SH��H��H�8���H�G ��uH��H+WH�������C�:��Iu�xD�{H��H��[����fD��Etc��Nu�xMu݀xTu׀xO���xOuǀxKu��xEu��xNu�H�P�G8�H�W �x����sk���fD�xN�{����xT�q����xI���xI�]����xT�S����xI�I����xE�?����xS�5���H�P�G8�H�W �x���{����H�W(H)�H�������H�{8H�t$�^W��H�{8H�t$H�G ���@�xD�����xA������xT������xA�����H�P�G8�H�W �x�����H����[�D�xR�W8t7��H�HH�O �W8�xt���@����1j�����xEt2�xEu��xFu���H�H�H�O �W8�xu��{�����xFuȀxSuƒ�H�H�H�O �W8�x�R����E���f��xK�����xE������xN���xS���H�P�G8�H�W �x���������xT�����xY����H�P�G8�H�W �x�������ff.����AWI��AVAUATUSH��XH�8dH�%(H�D$H1�H�G �8<t&H�D$HdH3%(��H��X[]A\A]A^A_��x!uԀxAu΀xTuȀxTu€xLu��xIu��xSu��xTu��_dH�P	�G8	H�W �x	�\$��L���ӎ�����qL���ӌ��I��H���DL��诎��A���I�G8uH�P(H+P H�����H�\$8H�\$ H�\$@H�\$(H�H H�€9>��A�������A���H�D$@uH�@(H)�H=��H�D$8L���3���H��H����A���uI�W8H�B(H+B H=���L��������\H�t$ L���q���D$���A���uI�W8H�B(H+B H=���L��袍������H�t$(L���=���A�ą����|$tH�|$@H��tH���9D��A���I�G8uH�P(H+P H����;H�@ �8>tL���5������3I�H�|$8H����A��L��H�@@H����L��RE��H��WI�L�L$P�L$��Y^A���tFH�D$@H�D$H��tA��A����I��(�I��(H��L���>U��H����H�|$@H��t	H�tO1�A���I�G8�����H�P(H+P H������L���[��I�G8�����u`��H���W��������M���L���j[����L���][���#���L���P[���a���L���C[��I�G8���H��`�AL����G��H�|$@H��t	H��N1�H�|$8H��t蔈��I�W8H�B �8>�e����D$9BdtH��`�ZL���G��L����u���;���H�`�AL���uG���H�Cp�DL���_G������H��_�AL���FG���v�������d���W���H��_�DL���G���U���L��H��_�A�G��H�|$8H���.����.���L���*Z��I�G8�U���I��(H��toH��L���jS��H��t_A����"�����HcL$I��(H��L����������I����
�uV��I��(H������1�L���~������I�� ��H�D$4L��H��H�D$�T��I��H����I�����H���V��I����T$4L��I���oV��I��I�� L��L���R��H��H����@9E|Hk�
H��H�H�4�H��J1�H��H���W�`I�� E1�H��L��L����O�����CH�t$H����S��I�����I��H����H����U��I����T$4H��I���U��I��kEH�H�D�L�hL�l$L�`L����f��I���L��‰D$4�U���UHct$4��Hc�H�L�H�AH�A���H�A t>H��mH�A(���U�"���H��J1���H��H��tg�H��"H�E����H�A(��H���
U��I���K���I�����L����T��I������I����
�jT��I�� H������1�L���|�����H�DK1H����ff.�f���AWAVAUATA��USH��H��H�8���H�G ��uH�W(H)�H����
�8#���xP���xC���xD���xA���xT���xA��H�P�G8H�W �x�#H��蟇�������H�S8H�B u-H��H+JH���~H�J(H)�H�����f��<)tvH�{<(��1�<|��H���{v��1Ҿ4H���L+��1���1ҾEH��1��/+��H��H��[]A\A]A^A_�DH���0V��H�{8H�G ���D9bdtH�N\�ZH����B��H���q��H�{�1��!l��H��H���y���H�C8H�@ �8*u��EH����p���u������*`�������1���k��H��H���1���H�{8I��E1�H�G ����|�������H���wp��H�{�1�M�����~k��H�{I��H���O�L���ak��I�EH��tL�h M�oM�} M��H���х��H���ك��I��H����H��赅�����H�{8��H�G �W���H�W(H)�H����C���H����T��H�{8H�G �.���fD��j��H��H����L�xI�G I���v�����)���x*��M��t"H�{�L���j��I�GH��tL�x H�{8�ED9gdtH��H�vZ�Z��@��H�{8H�G �G8H�PH�W �x�������|^�����H��H�}Z�D�@��H�{H��1���s�����H�{�T���H�{8��J��H�S8H�B �!���H�{L���s���a���AWI��AVA��AUATUSH���t$�S���E���I�G8E��H�P uH�H(H)�H������:(��L���*���I��H���DI��H���mi��I��H����I�W8E���H�B E��uH�R(H)�H������<?�v<*�F<+��A�D$A�����uI�W8H�B(H+B H=���L���z���A���I�G8��H�P u'H��H+HH���~H�H(H)�H����+M��1�1�A���;@��|�~��t	��|�-L���am��I�1���qh��H���VH����I�D$L�` I��H�XH�C A�����uI�W8H�B(H+B H=���L��谂��A���I�G8��H�P uH�H(H)�H����q�:(�L��舀��H���I��H����g��H��H����I�G8H�@ �<?�g<*�w<+���CL��� ���A�����I�G8H�P uH�H(H)�H����	@���*@��)��A�����@��,�������t	��,��L���l��I�1���g��H�������I�H��t	L9��%L����p��E1�H��L��[]A\A]A^A_��XdL���k��L���]�����D��L���0H��H���tL���<��������L�hI��I�E I���B���DL���PP��I�G8H�P �z���L���8P���;���L���(P��I�G8H�P ����CL���k�����@�CL���k�����@�CL����j���l���@�XdL����j��L���}���A�V��L���OI��H������L���[���E���E���������fDH��t	I�\$L�c �t$9pd��L���mj��I�G8H�@ �<?��<*�L<+�u���A�E������1�����A�E�A�<$�}I�D$H��t�p�V���w�@�M�d$M���NA�D$����w�A�D$��f�L���N��I�G8H�P �@���H��T�ZL���T;���*����A�D$L���i�����f�L���hN��I�G8H�@ �R���I�8�OE��I�G8H�P ����H��T�BL���9��H��tL9�tI�H���n���I�L��E1��n���7���@L����M���)���1Ҿ7L���"��H��tL9�tI�H����m��I�L���m�����f�A�D$L���h�����f.�1Ҿ6L���a"��I�L��E1��rm�����DA�D$L���gh���m���f�A�EL������������A�E�Ah���g���H��S�BL���x8��H���;����G���1Ҿ6L����!���1���A�EL���8u[H�PH��t�r�N���w�BH�@H��t7�p�V���w��@��H���l������fD��tA�E@L���g�����1�L��E1��~q�����f����~8��6t��~'H���Ѿ7H�%S�7��1�H���f��k���ff.�����R���f���AUATUSH��H��H�G8D�hdH�@ H��8(��I����f�������ta�����t?H���n|��H�C8H�@ �8#u�xPt[D��H�߽����I��H���;|��M�,$H����[]A\A]�f.�H�S8H�B(H+B H=��H���DK���f��xCu��xDu��xAu��xTu��xAu�D��H�߽�RR��I���DH��H�>R�6������6���s���f.���AUATUSH��H��H�8dH�%(H�D$1�H�$H�G �8<�V�x!�L�xE�B�xL�8�xE�.�xM�$�xE��xN��xT�H�P	�G8	D�gdH�W �x	��H����z������H����x��H��H����H����z������H�{8H�W �<EtI<A���zNuK�zYuEH�B�G8A�H�G �z�����/T���f.��zMu
�zP��H��Q�6H��A������F6��������S���5����H�)QH�߾A�6��H�{8H�W �<E�P�����<(�PH��H��H���J��A��H����y��H�C8H�P �:>tJ�I1�H������H�4$H��t	H�{��h��H�L$dH3%(D���oH��[]A\A]��D9`d�~H����c��H�H�4$H��tJ��L��u@H�@HH��t7H��tH�F H��H�{H��D���H�4$H��t�H�~ �v����h���f�H���]����a���f�A������T���DH��P�ZH����4���i�����zT�v����zY�l���H�B�G8A�H�G �z�����"���<%�@���������2����{@�(���H��O�H��A������n4�����H�O�AH��A������O4�����H�O�DH��A������04���z����VL��fD��SH�W8H�����H�B ��uH�R(H)�H���~6�8<t���t
ǃ[�@�P��!t��?u�H����y�����F��H�C8H�@ 뻐�P��AtGv��Et ��Nu�H���3i��렐��-u�H���3m��됐�@<Lt%<Nu�H���\Q���v����H���V���b���H���;t���U���fDAWAVAUI��ATU1�SH��H�D$H�$@A�����I�}8L� �_dA�<<��<]uH��tA�]���L�g@L�wL���;��I�E89Xd��H��tAL���v��A�����u�I�U8H�B(H+B H=��s���L����E��A����k���H�^91H�<$H�H��[]A\A]A^A_���A�!�m���A�[�b���I�G�G8H�G A���L���v��I�}8H�G �8I�j�P��N�|�xC�S�xL�I�xU�?�xD�5�xE�+H�P�G8H�W �x�tL���u��I�E8H�P �:[�+9XdtH�pM�ZL���1��L����_��H�D$H9�w3H���6H�4�H�H�D$H�Q61H�<$�H����H�$H�$��H���s���fDM)�H�P H+PM�HP@L9��R���L��1Ҿ<���L���C���|����A�>�
���H�$H��9�tL��H��L�Z��0��I�}8L� I�G�G8H�G A�������KN������fD���6N���^�����G���xN���xO���xR���xE��H�P�G8H�W �x��L���2t��I�E8H�P �:[��9XdtH��K�ZL���0��L���P^��A���E��LE����uADžLI�}8E1�ADžH�W ���<]u�z]tVL���]��I�}8H�W ���to<<uۀz!u߀z[u�H�B�G8H�G �z��I��u�1�L���g�����@�z>u�M��t%H�r�G8H�w �B��tqI��H��u�fDE��LE���:��9_dtH��JL��Z�/��I�}8H�W H�B�G8H�G �z�'������L���������vL��I�}8H�w ��u���fD���VL���g����L��1Ҿ_���L���A������@���&L�����L��1ҾS���L����@�����1Ҿ;L���f����������K���}���H�D$�����ff.�@��ATUSH��H��H�8dH�%(H�D$1�H�$H�G �G8	H�P	H�W �x	��H����q��H����o��H��H����H��XH���q��H��H����T��I��H�$M����ǃ�L��`H��H��h�`q��H�H��t"H�H��t��L��uH�{L��H�$H��Ѓ��tH�C8H�@ �<[t<>u*H���b[��H�D$dH3%(ukH��[]A\�f�1Ҿ=H�����������~J�����f�H���7����<���f�H��H�DH���,�������D��f���AUATI��USH��H�����H���uH�W8H�B(H+B H=��#H���[n��H��H���GH���7p��H�C8H�@ �8=��H���nZ��H���p��H���N;��ǃI�ŋ����uWH�5UH���(q����uM�,$H��H��[]A\A]�f�H�5s
L���q������H��p���f.�H�5�TH����p����t�L����r����u�E1�L��H��GH�߾b�7���k���f�H��H�߾)1�H��G�*��H��H��[]A\A]�f��k>������fDH�5HTL���Qp����t5H��p�����H��S�DH����*������E1�L��H�{GH�߾f�N7������f���AWAVAUATUSH��H��8H�8dH�%(H�D$(1�H�D$H�G �8<�+���H�PL����G8H�W �x�L$�2H���Rl��H�D$H���vH���,n��D���H�C8E��H�P ��H�t$ �D$H�t$f��
��>�4��/����
@�ǀ�@��@�u��	���������xdH�t$H+PHP@�|$H��I���P��H��H���|H�|$ ��H�S8���H�B ��uH�R(H)�H�������>����/u
�x>��H���?m������H�C8H�P H�p@H��H+HH�L9��8���H���~�����������H�H(H)�H������H���<��H�C8H�P �
��>����f�H�H��t0H�@pH��t'��L��u�T$H�{����L��H�t$��M��t=�D$��~4��I�^��H��I�l�H�;H��t	H�A/1�H��H9�u�H�\$(dH3%(H�D$��H��8[]A\A]A^A_�fDH�|$ H�������H��.1��t���@�z>�"����)���f��t$9pd�����H�������H�|$ �����H��D�H���'�����D�|$�����D$M������H��M�d�DI��M9�tI�?H���l����t�H��H��1��s��H�<.1H�|$ ����H�qP�AH���,'�����H�H(H)�H�������H�{8�C1��H�C8���H�P ���M�����D$�L$��9�|6�H��+1L��Hc�L$H���H����t$H���I�Ɖ��HcT$H��I�,�H��H�T$ I�D���t$I�TI�D����fDH���9��H�C8H�@ ���H�H(H)�H���� ���H���l9��H�C8H�P ��������C�����f�H��+1���I��H��tbH���ǃ��D$�*���1�H�t$���x���H��B�DH���%���_���H��1���]��H�|$ H�����������H��1���]��H�|$ �D$H���^��������=��ff.�AVAUATUH��SH��H��H�8D���dH�%(H�D$1�H�G E��uH�W(H)�H�����8<u�x/t31ҾJH���
��H�D$dH3%(�>H��[]A\A]A^�H�P�G8H�W �x��L�mL�� M����L�C8���I�x ��uI�@(H)�H=������t5A�u@8���L��H���@�1@8���H���H����u�H��H���r��I��L9��������uH�S8H�B(H+B H=���������H����g��H�{8H�W �<
@��<��@��t�H���w<>��1ҾIH������I��t-M��D�E�LH��L�
�LH�� H��@ME��B$��H�H��t+H���H��t��L��uH�MH�� H�{H�U�Ћ�x��~2��H���Hc�xH�<�H�L:�HD�H��p�������U������H��H����u$������H���(6��H�{8H�G �������~@��L�mL�� M������L��H���l��I������H��D@���R���<:�J����BH�J���:���A�6@8���L���D�2@8��|H���H����u�����L;,$A�ME�����DH�B�G8H�G �z�]������?���N���H���85�����H���(5��L�C8I�x �b���@�������<>�����H�&@H���v���H��I�H A�H)�A@8�t�����9��D��H�O81�H�Q �:v���ze���zr���zs���zi���zo���zn��SH�BH��H��H�A �A8�zt|H���e��H�C8H�@ �8=uyH���VO��H���d��H�C8H�@ �<"�|<'ueH���/O��H����9��H�S8H�D$H�R �:'tx1Ҿ"H������H�D$H��[�þ�H���J>���r���1ҾKH�����1���1Ҿ!H�����1��H���N��H���_9��H�S8H�D$H�R �:"u�H���N��H�D$�ff.�AWAVAUI��ATUSH��H�8H�t$HH�T$PdH�%(H�D$x1�H�G H�D$�8<��A���H�PH��M���E����G8H�W �x�t$��	E���H��H+oE���	�GdE���H�t$hL��D$D��m��H�D$H����I�U8L��H�B H+B)��^c��E���I�U8E��H�J ���1@��>��H�D$p�D$<1�H�D$H�D$dH�D$ H�D$`�D$@�D$8H�D$(�&@H�L$pH�T$I��H���i������L����b��I�E8H�@ �8=�L���
M��L���b��H�T$ H�t$(L��諐��H�ŋD$d���5ADžI���H9D$p��H���6�t$`���rI���H�T$pL9��H9��RD�KM��t	�S;T$|2D��L��D�L$0�������A���M����SD�L$0�D$I��HcL$8Hcҋt$dI�֍y�4�H��M�$�H�D$pM�DI�DI�E8I�L���I�Ic�H�)HcL$`�|$8�D$<H�H�*1�f�E���E��uH�P(H+P H�����A����>H�H ���>�.��/u
�y>�L���*a�����+I�E8H�H H��H��H+pHp@L9��E���E��uH�r(H)�H����;�1@��>��@��/��@��
@��@����@�u
��	@����A������BdI��E����D$`����L+z�D$dLz@H�l$h�$E��uH�B(H)�H=���H�t$L���j��I��H����I��(H���7���L���'`��I�E8H�@ �8=�VL���^J��L���`��H�T$ 1�L��H�t$(����H���^���I����T$`H���7,��I��M9���yI9����M9���
�|$`��M��t
A�:�9E1�E1�L���H�>:L���&���T$d��t>H�W"1H��1�I�E8����H����ADžH�D$pI9�����I�E8�����y>�k���H�Ћt$D9pd��D�L$8E��tC�t$8I�V�N�H��I�t�8�H�
H��tH�xH�H)�HzHzH��(H9�u�I�� H���H�T$hH�t$�:'��H����D�E����M��D�l$@H�hE1��D$I��H�UH�MI���H�T$pH��u	H9��l	H9���1���u�f�H��9��I9�u�I;T�u�A��H��(E9'�D�l$@M���hD�4$9pd���I	����H��6�L������I�E8���fDL��H�6L��E1�)1�����I�E8����H�pIcى|$8I�0H�)HcL$`H�H�*1�����t$`�����EH��1�< u@H�����< t�f.�����H��< �u��u�)�HcɃ�H�|
�'%��H�D$0H���L�\$0L��L������L��L�\$0�<0���D$`H9l$0tH��1H��H�l$0ADžI���H9D$p�M���A�������H�5kPL����]���������t$`H���$��H�5!�H��H�D$0�]��L�L$0���3I��p�M������H�01L������fDH�����I����T$`H���t(��I��H����8tOH��H�D$0��'��L�T$0H���*
H�8�G
H��L�T$0�)��L�T$0M9����	�|$`���t$@��tRA���I����H�H�<�H����H�T
�����H��H�z�����9�}�L��1�L�����������D$@����H��@�L���H���H�D$�H�\$xdH3%(H�D$�@
H�Ĉ[]A\A]A^A_�DH���8���D$`�}����L���*��I�E8�`����L����)���S���L����)��I�U8H��H�J ���H������H�G(H)�H=�����I�}8� ��I�}8H�o H+o���H�B(H)�H=������L���{)��I�U8H�J �������3��I�}8H�W �a���H��?�L���#���H�D$�t$<�������D$8��������1�H�,�DI�����tH��I�|FH��t	H��1�H��H9�u�����D$1����M�T�1�M��tL��L�����H���EI�D���H��t\I��1��@H��9�~HI;�u�I�t�I9t��H��t�I9D�u�H��E1�I����H��4L�����f�H��9��l���H�l$hL��H���$���I��H��u	H���dH�D$HH�(H�D$PL� I�EH�������L���M�������A��L��������غ����D�D$@I�}����E���A���C�H��I��AV)�HcӋ\$ L��SPH�t$(L��H��A��H�� �?���f�L���H���#���L�L$M��L��H�$H��3�����H�$���H�5=L���*Y�����A����t$`H������H��H�D$0�	[��L�L$0����H�5�KL��L�L$0��X��L�L$0���K��������������)�Hc�H��t$`��Hc�H�t
�2L�����H�d<�DL��1��W��I�E8����I9������E1�E1�1ɾ�H�]1L���������M���g��C;D$�S�C�$I��H�t$pL��K�\K�tH����L��H�L$(L�L$ ����H�L$(L�L$ H�C��A�y0Hc$�PHc�I�T�K�T�PHc�I�T�K�T ��D$A��H��(E9'�	����b���@E��tIA���I����H�H�4�H9��'���H�T2��f�H��H9J�������A9�}�H��L��H�L$ L�$�F���I9GL�$H�L$ ����C�D�H��H�I�T�L��L�$���L�$����A��H��(��A�E9'�P�������CL��L�L$��H�L$ �$���L�L$���}A���M���H�L$ �D$�p�����H�I�|�����L�D$L��H��0�L�$���L�$���H��p���L��H�5O:L�L$0�VV��L�L$0����I��p����H�(:�AL������I�E8����E��tLA���I����H�H�<�H�������H�T
��H��H�z��z�����A9�}�1�L��L�$��C�T�1�L�$Hc�I�T�H9��{����C���L��L�T$0�- ��L�T$0H���A�������H��L�T$0�c!��L�T$0�t$@��tKA���I����H�H��L9$��KH�T
����H��L9b��,��9�}�L��L���k���H�569H��H�D$0��T��L�T$0������L��1�L�������H��,�DL���t���W���L�D$H��E1ɾ�H�@/���H�l$h�v���H�8����M��E1�L��dH�B.L��H�D$XL�T$0�H��H�D$XL�T$0����L��H�5|8L�T$0�5T��L�T$0���4���E1�E1�1ɾ�H��,L���|���Q�E1�E1�1ɾ�H�-L���[���0�H�t$pL��L�������E1�E1�1ɾ�H�
-L���%����H��E1�E1�AV�\$ SP�	���L��E1�H��*L��fL�L$0����L�L$0���L��E1�H��*L��b���L�L$0�P���M��H�D$����1�L���AF������M9���i�E1�E1�1ɾ�H��+L���s���H�L��E1�E1��cH�1+L���Q��L�T$0����L��E1�E1��dH�*+L��H�D$XL�T$0���H�D$XL�T$0����D$D9Bd����I�� �D$@�D$<H��tb�D$81���M��E1�L��cH�,L�����L�T$0���H�5Z6L���CE���L$d������H��1H�������D$1��D$8������$��f.�AVAUATUSH��H��PD���dH�%(H�D$H1�H�K1H�D$H�D$�D$�9�(v
��6���kh���7D��xE��tH��p�0���t
H���%
��������H���
��H�C8D���D�h4E����H���'�����H����H����D���E��H��H��H�L$H�T$E)���D���L�sPE��t
D�CE����H�{8H�G ���/�O��>�PH�P�G81�H�W �x�H�L$HdH3%(���gH��P[]A\A]A^�H�L$H�T$H��H�t$�����H���6���������f�H�S8H�B H+BHB@H�D$(HcB4H�D$0���D��x��~�H��������Hc�xH�<�H�L:�HD�H��p�������<���f�H�sH�������M�����L9v���H�����(��!������f�H������������H����������D�x>��E1�E��H��IH�1*H����
��H������H���6����x��~2��H���Hc�xH�<�H�L:�HD�H��p���������D9�tD)�H��H����$��M��������Ch���w���H�S8H�t$ H��L�t$ H�B H+BHB@H�D$8HcB4H�D$@�B���B������&�����f�H�P�G8H�W �x�2���H�����H��t,H���H��t ��L��uH�{H�L$H��H�T$��H���5����x��~2��H���Hc�xH�<�H�L:�HD�H��p���������D9�tD)�H��H����
���M�������Sh������H�S8H�t$ H��L�t$ H�B H+BHB@H�D$8HcB4H�D$@�A������DH���?���H�@xH���2�����L���$���H�{H�������fD���%������ ��@USH��H��H�8���H�G ��uH�W(H)�H����q�8<�H�x/�>H�P�G8H�W �x��H�� H����P�����H��uH�S8H�B(H+B H=�H�����H���HK��H�{8H�W �<
@��<��@��t�H���w<>��1ҾIH���.�H��t,H��LH��H�� L�
C0H�8$LE�E1����H�H��t H�@xH��t��L��u
H�� H�{��H���l3����x��~2��H���Hc�xH�<�H�L:�HD�H��p������H��[]�f�H��H�߾J[H��&]�F��fDH���x��H�{8H�G �z���H�B�G8H�G �z�������#��������#���i����USH��8dH�%(H�D$(1�Hc�(��~"���H��H�oP��u.����H��t�Ch��u=H�D$(dH3%(u\H��8[]�fDH�@H��H�t���+�H���32��븐H�S8H��H��H�,$H�B H+BHB@H�D$HcB4H�D$ �>����l��ff.�����G������������wNH�3Hc�H�>��D�����u�@t H�G8H�@ �@< wH�&H��s���5��1Ҿ���@1Ҿ��@1Ҿ��ff.��AWAVAUATUSH��H��H�G8H�@ ���[t?��>t"H��H��1Ҿ=[]A\A]A^A_�]�DH��H��[]A\A]A^A_�r2��f�LJD�w@�]2��H�C8L�x �Y�����H�ߋhdL�`@L�h��G��H���(��H���5��H�C8�{@H�H ~H�xt	�9<��9hdt5I��A���]u�D9s@�H����1��H���G��H�C8H�@ �����L��H��H+pHp@L)�I�L9�u�H��#�H���k�D9s@~>H���=��H�C8H�H ��y!�t����y[�j���H������H�C8H�H �U���H�C8H�@ �@��]������O���f.���ATI��UH��SH��H��dH�%(H�D$1�������H�S8��H�B uH�J(H)�H����@H�{(�����<��H�CH���4H�xP�SǃH��ǃ��EF��H�C8H�P D�
��<����%�����H��D�`dH+hHh@��u1H�@(H)�H=�"H���3��H�C8H�P �:<u
�J��!��H���!
��H����E��H�C8D9`dH�P u�H��H+HHH@H9��o���1Ҿ<H����H�C8H�@ �8t(�f��J��?t7��!t21Ҿ<H����H�D$dH3%(�vH��[]A\�fD���H��D�`dH+hHh@���A���H�@(H)�H=��*��������z[�%���H������ �����x?�m����xx�c����xm�Y����xl�O���H���$����� �:���H���;���C���fDH�R(H)�H���
����L$�PH�|$��T$�P�T$�@�D$�0����ugH�C8H�@ �����H�����H�S8H�B ���H�=�'���H�CH��t6ǀ�@H�xP�����L��H��1�H�����������H���o?���H�5�(H���.8���v������@��USH��H���C��H�{8H�G �8s�=�xt�3�xa�)�xn��xd��xa��xl��xo���xn���x	e��H�P
�G8
H�W �x
��H���5C��H�C8H�@ �8=�4H���l-��H���C��H�C8H�@ �<'��<"��H���A-��H�{8H�G ���n����yu
�xe��1ҾNH�߽�������H�C8H�@ �<"��1Ҿ"H����H����[]�����.���<���f������H����[]�f�H���,��H�{8H�G ���n���yu
�xe��1ҾNH�߽�����A�H�C8H�@ �<'�g���H���V,��H����[]�D�xo� ���H�P�G81�H�W �@���%����)f��xs�����H�P�G8�H�W �@����������O��H�C8H�@ ������xs�I���H�P�G8�H�W �@���K��������H�C8H�@ ��1�����xo����H�P�G81�H�W �@�������f.�1Ҿ!H�߽�������_����1ҾKH�߽�������?������USH��H��H�8H�G �G`�����G8H�PH�W �@���<< ��H�&H����H���x@��H���p9��H��H���$H�5$H���A����u0��6u�}1u
�}.�pH��H�&�lH���q���H�{ H��t	H�1�H�k H�{8H�W �< �P<?u
�z>�lH��%�AH������H���.C����� �Y����LH�{8H�Pt1H�W �< �r<?u
�z>�H�r%�AH���x��������uH�S8H�B(H+B H=��NH���N?��H�k8H���*��H�߉E`�7?��H�{8H�W �<?��<>�$1Ҿ9H���-�H�K8H�A ���>t!����H����tH�A �H����t��>u�H��H��[]�)��fDH�x$�AH������/����H�&H������������z>�b���H�B�G8H�G �z��H��[]Ð�����H�C8H�@ ����fD1Ҿ`H���Q��!���@H�&H�����������H���@
�����H��1Ҿ9�	�H��H��[]�+(��H����[]�x��E1�H��H��#H�߾a�>�����f���SH������t/H���=�������uUH�S8H�B H�R(H)�H���~5�8<t[�fD�P��?t7��!u�x-u�x-u�H����2���@H���`��H�C8H�@ �fDH���(?���s�����AWI��AVA��AUATI��USH��(H�t$L�D$H��t	����E1�D������H��H�����:��H��H����ǀ8M���5H�H�D$�u��H9D$tH�g�0H�;�H�;�0��H�H���xH�xH�Hǀ�H��H)���1����H�A�������H��)�Ao�AoOH�AoW P �Ao_0X0�Aog@`@�AooPhP�Aow`p`�Aopxp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao����H�D$H��tH�CH�|$��H�|$��"��H��H�����H���H�|$H�D$� ?��H�T$H�BH����H�*H�} H��H�T$�z%��H�T$H��H���J��E����M����H�s8H��tDH�H��t<H�x �>��L��D��I��H�C8H�8H�h H+h�15��H�s8H��L��H�H�x �)��E��u}H��(H��[]A\A]A^A_�@HǃH�����H��H���9H�@�6���@H�׉��f&��A��D���K���H��H���i���1��ǃ�E��t�D��H���~5���s���f��Ao70�Aox�Aow p �Ao0x0�AoG@@@�AoOPHP�AoW`P`�Ao_pXp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�������DH��1��3��H����*���{����1�H�5��B-��H���*���_���D1�H���&-��H���*��H��1��D3���9���ff.�@��H��tSH���.��ǃ�o[�f��ff.�@��AWAVAUATUSH��H����H��I��I��H��D��L��L��H��D��M����#��I��H���N�6��I��H���UH���L�8���I9�tH���0I�>�H��0��I�H���H�xH�Hǀ�H��H)���1����H��������I����o�oKH�oS P �o[0X0�oc@`@�okPhP�os`p`�o{pxp�o�����o�����o�����o�����o�����o����M��tM�f��L��L����<��H��t2H��L���E
��H��L��[]A\A]A^A_�L���(��1�L���+��L���61��E1��̐�o30�o{x�os p �o{0x0�oC@@@�oKPHP�oS`P`�o[pXp�o�����o�����o�����o�����o�����o�����o�����o�������DM���)���L��E1�A������L���'��������AVAUATUSH��dH�%(H�D$1�H����I��I��A���i3��H��H������4M���]H�8H��t	H�N�0�L�+H��H�[�=�1�L��H���;��H��H����H��H���i(�����1E���H�EH�=�H�H�E4H�C8H�@ H�EHH�EH�E ǃP�d��H��H�CH����ǀ�@H�
�H��H��H�����H�EXE��uH�C8H�P H�@(H)�H���H�|H��1�H���)��H�{H��t�C����1����H�CM��tH�H���.��H�L$dH3%(H���hH��[]A\A]A^�@H����1�L��H����9��H��H����H��H���$'���������H��1��R.���H�oXH�GXH���`���H�EH�E@H���M���fDH�@@H�@0H��u��1���f.��H�|$��D$�B�D$�B�D$�B�D$�����������H���.�����H�L��1��$��H���-�����f.�D��H���.�����1����f�H�����@H�5~H���!'�����@L��1��$���������@��AWH��AVAUATUSH��H	���H��I��I���d0��H��H������4M��tH�8H��t	H�M�0�L�+H�[H���L6��I��H��t	H����H�H���GH�@ H���:H�{L��L����I��H���"H��H���?%�����H�C8H�x H�@(H)�H���nI�|$��H���0L���H�H�=rI�D$4H�C8H�@ I�D$HI�D$I�D$ ǃP���I��H�CH���6H��L��H�5iH��ǀ�@�W��H��H��L��I�D$XE1���&��H�{H�����C����L�gXH�GXM��tpI�D$@I�D$H��t`DH�@@H�@0H��u��HDM��tH�H���T+��M��tH���0L���E1�H��L��[]A\A]A^A_�fDE1��P���H�CM��tH�H���+����f�H��E1��*�������H�߉���+��I�|$�~���M�|$���fDH�5�H���$��M��u��f.���H��H��1��#��ff.�@��1�����D��ATI��U��S�-��H��H������u>ǃ�1�H��L�����H��tbH��H�����H��tH��[]A\�D1҉�H������f�L�����H��u�H��t�H��H��[]A\�f.�H��1���)���@H�51��#�����1��u��D��H��toH��tjAUI��ATI��UH��SH���J��H��H��tRL���*��H��tH����2��H�CL�kL��L�k �i��H��L��H�L�H�C(H��[]A\A]�����1�H�5��"��H��L��[]A\A]�
����ATUSH��t{��~wA��H���D,��H��H��tdD��H��1��?��H��I��H��tG���H��H��t/L� I�|$ H��H�@���H��H���t��H��[]A\�@L������H���x(��1�H��[]A\�ff.�AWI��AVAUATI��UH��SH��H�������(~��6��=��H��tH�EA�H���XH�����H�߉����H��H���9M��H���LD�L�`H��t�
��A����E1�E1�I���H�5^$��H�������x���H����H�5΢
H����Y���H����$H�5��H����:���E���H���E��~0�I��H��A��J�T J�4 I���P��E;��|�I�L�+H��H��v��A�GI��CA��4��4I���H���H����H�GH�{1�1�H�IH�$H�G H�D$�B���H���!E1�H�{H��H�GH�G ����H�CH��H�p����A���ǃ�E���ǃ�����A������E���������A��8H�߉�8I�� H�� I��(H��(�/'��H�C8H�P �<<�t���vH�CH�HH9KPt1ҾUH���g��H�C�s����H���|H�PL�rL�uM��tSI����A�����t%A�W��tI�wH��tH�~Pt
A�~��f�I�F(M�v0M��u�H�CH�xE1�H�G�'��H�CH�$H�HH�L$H�H �������E�A��H����H���I����\����L�+H��Hǃ�Hǃ Hǃ(�$��M��tL������H��D��[]A\A]A^A_�DA�Y��A����T����F�����z/�1ҾVH������v���f.�I��XH��X����P����H�=f
�4���I��H����H���ǀ�@H�������L�c1�1�H�qL���t�H��u:L�+H��A�Hǃ���#��L���������fDA����H�D$H�$����L�+H��A�Hǃ��l#�����L��H������A!����1ҾUH�������X���H�x���E1�����ff.���AVAUATUSH��0dH�%(H�D$(1�H�G8H�D$H�@ �8&���x#H�����4��H��H���h�C���]H�}��E\���������H���OH�S�L���H9�HDу��_1�H��
H�߾�)��H�������?H�}PH��L)�H=���?HG�����H�����<���H�������1�1�H��H���	������H�MH��
�H����H�EPH��t�1�H��1�H���S	��D���H�EE��u
Dž�H����H��SH����H���H��������D��LE��u
H�uH�{��H�D$(dH3%(��H��0[]A\A]A^���h�����t˃����=������A��L��@��XH�l$tL����H��1���+�H�H���o���H���H���_�����L���Q���H�{H����C���H�mPH���3���H�H���'���L���M��������L���	���H�����H�{H���A����H�}�������������Hc�H�����@�D$H��D$H�������H���H���������L�������H�t$H�{����x�������h���H�{P�]���H�|$��������s@���f�EX1�H��H�ߍHHc�H��H���������
���L�eL�u H�EH�E M��u4�jH��H�����H�{PL�����M9��GM��M���;M�l$0H�s�L��I�D$0I�D$(�t���H��t�H�8u�I�$H��1�H�p
�H�����H�H���^���H���H���N���D�KE���A����#���@H�l$��H�����H�Hc��DH������H���H��������L�������H�{��H���������4��H�K�L�MxH��L���H�{H9�H�HDȋ��D�@H�D$D���P�u`����A��XZH�������?H�}PH��L)�H=���?HG�����H��t�<�k�H��t���A��Y��1ҾYH���&��H����H�|$���������1�1�H��H���������[���H�|$������f���4�������t�����Hc�H��H�S�H9�HDу��7���������L�MxH��H��H�{H�D�@D���j�u`�����AZA[��Y���1ҾYH���J���E���1�1�H��H���&�����=���E����H�|$H��������E\����wH�}�����H�D$���H�u���������Hc�H��H��������������N�������H�uPH�L$H������A������A�����H�|$H���p����	��������t
��������EX1�H��H�ߍHHc�H��H����!�����)���L�eM��u(�H�{PH�����L9e ��M�d$0M��tgH�s�L������H��t�H�8u�I�$H��H���H�5��������H�u�~uH�FH�U H9�t
�zuH�BH�{P���Hǃ���������u�Dž��ڃ��H�uPH���X������H�������������u�H��t��xu�H�xu�f�@r�D�sH�}E��tk���tb�H�G0tSH�sPH�KH��Dž�H�P0H�p(H�H@H��tH����D���H�E H�|$E���t���Dž��e���H��u�Dž��H�|$H�o(H�u@H9w@t���H�D$H�x0H��u�H�E H�D$����g��AVI��AUATUSH�G8���D��(H�P ��uH�H(H)�H�����M�n8@�
����A����wH�ӋhdH+XHX@��<����&��1�L���=�I�F8A���H�P ����H�H(H)�H�����H��H+HH���~H�p(H)�H���~Bf�HH@H9��c���9hd�Z���L��H�P���V��[L��]A\A]A^��fDL���X�I�F8H�P H��H+H���B<?��<!tX</ulE9�(�L�������%���f�L���x�����L����A�����I�F8H�P �������z[tB�z-u�z-�|f�L����������L��������[]A\A]A^���zCu��zDu��zAu��zTu��zAu��z[u�L������r�����S�I�F8H�P ����L�����Adž�A���ff.���USH��H����(������tHc�(9�H��[]�DH�@H��E1ɾMH��H��H��0D�B�H���H�L��H��[]�,��ff.��AWE��AVI��AUATI��UH��SH��8H�t$pL�l$xH�T$dH�%(H�D$(1�A��(~#H������6��A���~M��tI�EL��H	��5M���,H��1�L����H��H���SH�CH�D$H�D$H��tH�H�H�L$M��tL�cH�����H�=F���I��H���ǀ�@I�FPI���I�D$PI�FXI�D$XH��t
I��$��
��I���H��t
�B�I��$�1�1�H�$L���'�H����H��L��H�D$����I�t$H������H�T$���L�sL�r@H�S8��H�B ��H�R(H)�H�������T$$�PH�|$$��T$%�P�T$&�@�D$'�������H�C8H�@ ���<��ǃD���H���FH���H�������������������������E�C��t*H���H���H���H���H���H������H������H��t�	��H����H�5�H�����H����H�5d�
H������H����$H�5��H������H�����8��8H�� H�� H��(H��(�������Eh�ChH�EpH�CpH�ExH�CxH���H���H�����H�C8H�P �<<�>���@I�D$H9CPt1ҾUH�����S����������D�H����H�s8H���H��H��t H�F@H��H��H�F H+FH�H�����\����H�|$tH�D$H����Hǃ�Hǃ Hǃ(���������H�CpH�EpH�CxH�ExH���H���H�CpH��H�CxHǃ��T$�]��L��I�D$PI�D$X�s��T$�f.��H�L$(dH3%(���GH��8[]A\A]A^A_�fD�Y��f�H�|$tH�D$H�H������L��I�D$PI�D$X������H���h�H�S8H�B H�J(�H)�H��������P����1�M���<���I�D$H�@I�EH��tH�@(H�@0H��u�I�D$1�H�@�����z/��1ҾVH��迺�����f.��x?�����xx�����xm�����xl������@< �����H��	H������H������H�} H�5��q������ǃD������Hǃ�ǃ�ǃ�ǃ�����f�H�|$����H�D$H��������H���6���-����1ҾUH��������@H��XH��X�T$�q��T$�
��������fDH�����������y�H�C8H�5��H�xX�u��������H����mH��������@��H��t;H��H��H�OI��H��H9��D���HD�H�~PRH�A���q���H��ø�����fD��H���t$AQM��A��H��H��1��?���H���f.���USH��dH�%(H�D$1�H����H�8H�����J��������lH�H��tH�hXH��t�F��H�{H���H�S8H�B H�J(H)��0H����@������������8<u
�x?��H�=����H�C H�H��tH�@`H��t��L��uH�{�Ѓ���ǃH��ǃ�ǃ�ǃ��-�������H�C8H�P �<<������H�H��tH�@hH��tH�{�ЋS1�������H�t$dH34%(��H��[]��H�R(H)�H�������H���4�H�C8H�@ ����H�S8H�B(H+B H=��|���H�����o����z/��1ҾVH��迶���E���f.�@�t$�PH�|$��T$�P�T$�@�D$�������H�S8H�B �0@���@���1ҾH���Y���H�S8H�B �$���@�xx�3����xm�)����xl�����@< ����H�&H�������H���B���� tAH��������@��H���>
���]���f�1ҾUH������G���@������\�����f���ATUH��H��S�M��H��txH��H��tH�8H��t	H�A�0�H�+H�CH���L���C��t%L�cH��tH�H�����L��[]A\�DH�{E1����H�C��f.�E1���ff.���H��1���f���SH��������t[�DH������t�H�C8H�@ �8t
H��[����Hc�(H��H��E1ɾMH�RH��H��0[D�@�H�L�H������f�AWAVAUATUSH��dH�%(H��$�1�H�G8H���G
H�P H+PI����H����H�D$0H�T$8L��1�H��H�T$H�D$���E��$A�����E��$�E��tA��$L��M�|$8M����I�H����E��tH�x(H��t��������I�D$8H�H�x �p�M�|$8A��I�W I+WA)�E��~xE��$A�U���g���H�
��Hc�H�>��I�$H��tH�hXH��t�+��I�|$H���1ҾL���"���L�����I�$H��tH�@hH��tI�|$�А��H��$�dH3%(��H��[]A\A]A^A_�DE�G0I�G I+GA)��?���@����L�(���H�5l�H�81�A��ADŽ$A����DL���X��I�L$8H�H���7H�x �>�I�L$8H�Q H+Q)Ѓ��F���H�Q �J�:<@�ƀ�?�^@���U��u1ɺ>�?L���ݿ�����4L�����A��$����ADŽ$ADŽ$�������+���L�(����H�5d�H�81�A��ADŽ$A����D��L�(���H�5����f�����L�(�s���H�5��H�81�A��ADŽ$A��[���D���L�(�;���H�5L�����A��������u)E��$�E���9H�D$8H�������I;G ��E��$�E���h
Ic�$(L��H�@I��$H�t���O���A��$(���?
��I��$0�Hc�A��$(H�<�tH�t9�I��$ H���
�>�]�]L��D�D$�$���D�D$��A���$M�|$8M�w M��M���/���'���L���D$�T��D�L$�����A9�������I�$H����E����H���H����
A��$L����
L��I+WH��~<I�v��	H�=����€���u D�L$I�|$1�H�5�
��D�L$fDA��$��i���M�|$8A�AM�w M��1��DI����A�E8M�u 9�"A�>
u�I����A�E4A�E8M�u 9�~�M�w A�>�<
IDŽ$@A�ADŽ$���f�A���	I�G �0�P@��<����/�;	���3	ADŽ$	A�	���@H�D$@E�w4H�D$HE��$�A����I�G �8<�2�����u(E��$�E���VH�T$8H9��@���H���7���E��$xE���nI��$p�0����[L������E��$�E���`H�L$,H�T$HL��H�t$@蓥��I��A��$�����M���gE��$�E��t;A�|$��t2I�t$H��t(I�D$PH��tH;FuI��$����A!�$�I�|$8H�W �</��
<>��L��H����IL���}��L�����A��$x��~6��I��$�Hc�A��$xH�<�H�L:�HD�I��$p������H�L$HH�T$@E��L��E��$�L��E)�A�蚫��ADŽ$ADŽ$�����DL�����I�L$8H�H����H�x �v�I�L$8H�Q H+Q)Ѓ��~���H�Q �J�:<@�ƀ�?�>@���5��u1ɺ>�?L���������lL���5
��A��$��&���ADŽ$ADŽ$��
���f��[���L�(��H�5���{����I�G I+GA�Ņ���I��$@H�H9�I�DO�H�x � 	��I��I�D$8H�H�x �|�D��D��H9��v1�����Ic�A���<�/��"����'����]�*�VH9��4A�|]�LA�}Hc�A���>�o	�� �.I�&I���I�TD�FA)�A�4H9����2@��>�,	@�� �2��1�H��A���(fDA�MI��H9�s'A�MIc���I��A:>��H9��������~IDŽ$@���@���L�(�s�H�5\�����E��$�E���A���E���I�G ��@�������<��	<?��	A����������
I�$H��tL�pXM��t����I�|$H��A��I�D$8H�@ �xx�
�xm��xl���@< ��H�&H����L�������A��$� ��I�D$8I�|$(�P`A�T$0uH�xPH��t�Y��I�D$(@I�$H��tH�@`H��tE��$LE��uI�|$��ADŽ$A��1����{�L�(��H�5���K����L������M�|$8I�H����H�x ��M�|$8I�W I+W)Ѓ�����I�W �J�:<@�ƀ�?�F@���=��u1ɺ>�?L���]�������L���}��A��$��n���ADŽ$ADŽ$�IDŽ$@�I�D�VH9�sI�T�:!��A��D��D��H9������Ic�I��$@�����H9��w�����DA��D��D��H9��]�����I�t$8H�H�x �'��1�H�&x
I��I�D$8H�8L�h L+h����I�t$8L��L��H�H�x ������f.�H�8���IDŽ$@�A��H�I�M�w A�FH�\$PH��E�L������H��PA�F��PA�FP1�����H�� E1�H��H����	L���.�fD1��������A��H9��(Hc��`����A�����I�G H�|$P���T$P�P�T$Q�P�T$R�@�D$S��L������E��$��DL���p���A��$��a�E��$(E�����ADŽ$A��G�f��q0H�A H+A)Ɖ����@�q0H�A H+A)Ɖ��}���@A�w0I�G I+G)Ɖ�����A�|$@�l�������A�|$@�����������L��苻��E��$�E�������L���2��I�����f.�A�dM�o@M�w��?������I�lj|$���gL���L��ADŽ$ADŽ$�I�T$8M��M)�H�B M�H+BHB@L9��a�E��$��1�1�����A��$����M�|$8�y���f�H�=f����I�D$ I�$H���[����s���DI�&H��I����������A�|-�R���A�|-�F���A�uH9�r�N���f�H��D��A���qH��H9��/����:-u�z-uۀz>u�A�͉������!u@��t�z-������A��$�ADŽ$��uADŽ$�H�T$H�t$L����������!�#@����z-��z-����u�>�-�-L���_�������L������A��$�����k���!u$@��t�J��-����D�����?�ADŽ$�;���fD�"A��$L�����H���H����D��D�L$I�|$L����D�L$�n�fD�z>�r���H�B�G8H�G �z�A��$�I�$����H��t,H���H��t A��$L��uI�|$H�L$HL��H�T$@��A��$�D)��~I��$I��$�跻��A��$��H�A��$x��~6��I��$�Hc�A��$xH�<�H�L:�HD�I��$p������A��$(ADŽ$�E�A��A��E��$���f���L���S����fDIDŽ$@L������A��$����ADŽ$PI�$H��t7A��$L��u+H���H��tI��$`I��$hI��$XI�|$��ADŽ$PL�����A��$��&�ADŽ$A�IDŽ$@��A��$����D�ȃ����M�|$8��L���������!t������!�Z���R�P��-���[u
�xC��|$I��A���}�A�|$@�…�����t
A��+�HIDŽ$@1�L���������I�$H��tL�hXM��t����I�|$H��A��H�=������I�D$ H�������1�L���*�E��$���1ɺ>�?L��詭�����}���ADŽ$����z-�n�����u�>�-�-L���k�������L����A��$������w���z-�R�����u�>�-�-L���������zL�����A��$����'��1ɺ>�?L���ܬ����������1�1Ҿ>L��跬����������f.�1�1Ҿ>L��菬���������f��D$9Bd�����H����L��菞��L�����E��$�~��zO�(����zC�����zT�����zY�
����zP�����zE�������u1�1Ҿ>L��������*ADŽ$PL��ADŽ$�IDŽ$@���A��$����I�D$8H�@ �8[�8�ADŽ$PI�$H��t6A��$Lu+H���H��tI��$`I��$hI��$XI�|$��ADŽ$PL��A����ADŽ$�l�fDI�lj|$@��&������u1�1Ҿ;L���������*�L��������H���H�����D��D�L$I�|$L����D�L$�y�H�������H�@xH�������A��$L���t���I�|$L�����e������B����������1Ҿ�n��x-L���|$I�������A���z�H�@�-�-L��H�A �>�+���I�T$8H�j ��u���|L�����ADŽ$ADŽ$����A��-��M�l$8M�u M���q1Ҿ,L���2����Ņ���I�$H��t)E��$LE��uH���H����I�|$��L����A��$����I�L$8�E�H�Q H�D��u�D�A8H��H�Q H9����:
u�A4�A8��A��$x���/���I��$�Hc�A��$xH�<�H�L:�HD�I��$p���������A��$���tZH�D$0H�����I9���������fDH�A �8�F��H���^���4�ADŽ$���Hc���1�1Ҿ<L���o������9�����f�1�����xD���xA����xT�����xA�����x[����H�P	A�G8	I�W �x	tnADŽ$A��;���H�I�M�u ����(��H���H���R���I�|$��L�����A���ADŽ$����L��D���K�������L���Y������H���#AWAVI��AUATA��UH��S��H��8������A����������4H����E���„�t�����D$,H�D$E1��I�v8����H����H���^H�H��������-H�z �d���H�D$I�F8L�x L+xH�H�x ����A��H�D$I�F8��H�8�tH����2�I�v8H�T$L���D$H�H�x ��D�L$E����Adž�����L����������H��8[]A\A]A^A_Ð���tH����L�>M����I�tI� H��tvI�(to蚺��D��L��H�D$ I�F8H�H H+HH�L$��I�v8I� H�L$H�T$ �D$�^�D�L$E���pI�v8H��t#�L�>M��t�I� ���I��E��uI�E�H=��wsH�D$H��tiM�~8D��I�H�)�xWH��tRA�����rA����������Y���p��	�G���^���UDD��L�����Lc�1�A�����M�~8M��t*I�W I�G(H)�H=���
I+WH�����~
A��6t7A�����tA��L�V������NL�A�������H�J��L��D�L$蟖��L������LcL$롃������L�>M����������fD��L��������fDH�������H�GH���v���H�8H�5[����H�����ZA�ZI�F8D��H�8H�G8)�H9�DB�D9��3���D��H��D)�D�L$ �\�I�v8H�T$L���D$H�H�x �0�D�T$D�L$ E���%���1�L��D�L$�>�A���LcL$�y���A���H��8[]A\A]A^A_�D����H��s��H�5��H�81���L���Ϳ��H��8�Q[]A\A]A^A_�f�L������H��A����E���„����������HcҾ>�3��H�������Lc�1�����HcҾ>�L$����L$H����������u��-����Hc��D$,�|�
�V������D$,�F���f.���f.��|$,��E����I�v8H����H�H���H�x �*��I�N8H�Q H+Q)�A�����Ã��t��t1ҾL������A����u������tI�H��tH�@hH��tI�~��Adž����A�V1����N����.���E��t�A����t����t�1��I�v8H��t�H�H��tGH�x ���H����H��I�F8H�8H�X H+X���I�v8H��H��H�H�x ������E���r����F0H�V H+V)�����I�F8H�5[�H�H�@H�8���H�����I�F8H�5]�H�H�@H�8���H��t+��A������1ҾL���ے��A������I�F8H�5�H�H�@H�8�5��H��u��-A�-�����M����AWAVI��AUATUSH��(H��t-H��H��t%��x!A�F��
w�;��M��H��ƾ#u+��H��([]A\A]A^A_�@��
tM�v(M��t�A�F�����u�M�����@��	�W��
u��ց� �E���H��H���uI���H���KH���H��t�h��I���H���I�EpH��t?H�{(H��t
H�q�0�I�EpH��胾��I�}pH�C(膹��H���:H��H���R���1҉�H��膠��H���.���L�kI�~@1�ǃ�ǃ�{��H�D$H����H�t$L������A�~�D$�������u�K��t���A�}
H�����r��T$H��H����+���H�C8H�P �<<�5���7H�CPH���L9���1ҾUH��苐���C������D�H�t$H�V0H�F0I�v H����H�B8I�H�B(H�R0H��u�L�t$�D$L�����L���n���D$����I���tHǃ�H�߉D$�Q��D$������f.�M�n@M���x���A�E���f.���詺��H�������S1��������
����������z/�-1ҾVH���j����������y���I�?���I��D$�1���� ���L��H������L�t$f�H�D$�x����H�D$L�``M��uE�q�H������3���I�t$�����H���H������I��H��H�����H��t'M�$$M��t.H���I�l$H��u�M�T$��fDL���(����D$�ʐH�D$H�@(H�D$H���Y����g��������H�������
���I�����1ҾUH���=���������AWAVA�YAUATUSH��(��(��M��tI�M���
H��L��L��L�L$A��I��I���^��H����Ը��I��H����I�D$H�D$M��tH�M�,$H�D$M��tM�|$H�=5�����H��H����ǀ�@H����H����&I��$����H���I��$��u��I��$��H�5B��l���I��$��H�5�^
I��$��K���I��$��$H�5�I��$��*���ADŽ$8I��$�H�CP1�1�H���H��H�EPH�CXH�EX裲��H����H��H��H�D$�J��H�T$L��H���J��H�EH��H��I�l$H�l�H�X@�;�H�C`L��H�E`E��$�ADŽ$ADŽ$�ADŽ$�ADŽ$���L�sL��H�C��L�sI�D$8H�P �<<������H�EI9D$Pt1ҾUL���Ջ��A�D$��utE��$��E��DD�H�|$t�|$`t\M��t	H�D$I�$L�����H�EPH�EXH��tH�E`H�����H��(D��[]A\A]A^A_�@E1�H�|$t�H�EL�xH�D$L�8M��t$�L��H���e��I�G(M�0M��u�H�EH�@�Z����z/�1ҾVL�������f�1ҾL����H���1�1�H��记��H��H����H��H��H�T$�R��H�T$L��H���R��I�l$L��ADŽ$ADŽ$�E��$�ADŽ$�ADŽ$�����L������5���1ҾL���Q����V���@M��tH�D$I�$f.�L���h�H�EPH��H�EX耴��A������w���D1ҾUL���щ������L��A��������K���f���H��j��H���ff.����H��tSH�����H��[���s���1��ff.�f����:�0��tÐH���7����%�0��t
H������@�۵���v������H���0H9tU�p��H�8tJ����0������&�����l���������-������0H��隭��f.�1��������USH��H��dH�%(H�D$1��.���H���sH�C8H���f�������H���2���H�H��tH�hXH��t�<�H�{H��Ճ���$H�S8H�{(H�B �������H�R(H)�H��"����<u
�x?�H�=�����H�C H�H��tH�@`H��t��L��uH�{�Ѓ����H�CH��tH�S8H��tH�H��t
�R0��x�PHH���N���D���H�S8E��H�B �&�8<��H�n��H���9���H�H��tH�@hH��tH�{��H�CH���6H�xhH�5���E����
D�SE���H�SH��tF���D����΃����E��t	��	���D��0E��t�����6��1�H�t$dH34%(��H��[]�@H�P(H+P H����!���H��裱������fD������c���H��肱��H�C8H�@ ��K���f�H�J(H)�H������8<tW����������H�R(H)�H���������WH�{藰��H�C�{���3���ǃ�������!����x!�~�����u,H�R(H)�H���H���԰��H�C8H�@ �8<�6���ǃH������H��ǃ�<���H�C8H�@ �8�#ǃ��������@H�r(H)�H���'����L$�PH�|$��T$�P�T$�@�D$�,������H�S8H�B ����@����5���@�xx����xm����xl�����@< ����H�&H�������H�������� ������~H�C8H�ߋ@`�C0�^����f�H��舯��H�S8H�B �����xD�x����xO�n����xC�d����xT�Z����xY�P����xP�F����xE�<���ǃPH��蠦��H�C8H�@ �8[��ǃPH�H��t0H���H��t$��LuH��`H��hH��XH�{�Ѓ����ǃPH������H��ǃ�<�����������H�S8H�B H�R(H)�H�����������fD1ҾH���9�������@��H������
���1ҾH������������I�������ǃH���Q�������������f���AUATI��H��UH��SH�����H����L�(H��耺��I9�tH�t�0H�;�L�#H���d���H��tH�kH��1��!���C��t:M��tH�H�{H��t
��H�CH�����H����[]A\A]�����������D�봽���������AUATUSH��H����H��H��A������H��H��tsE1�H��tL�(H�@H�(H��襎��H���m��Dct'L�cH��tL�+H�����H��L��[]A\A]�DH�{E1��$���H�C��f.�H��E1�[L��]A\A]�ff.�@��H���1�����ff.�f���H��1�1����AUE��ATI���UH��SH��H���3���H��tH������H��tH��H���֡��M��tH�k8H��tH�}tqH���y���SH�k��tH�CE��t7H��H��[]A\A]������u�H��t�H��1��'���H�CE��u�H������H��H��[]A\A]�@L���X���H�E�f���AVI��AUI��ATA��UH��S���L�����H����H��H��tH�8H��t	H��0�H�+H���ތ��M��tL���H��txD���H�����DctKL�cM��tH�C8H�H��t�@0�	��O�A�D$HH��tH�H�����[L��]A\A]A^�@H�{E1�����H�C��f�L�����H���t���@E1����1����D��H��1�1������H���1����ff.�f���AVA��AUM��ATA��UH��SH��蠱��D��H�����H����H��H��tH�8H��t	H���0�H�+H��蘋��M��tL���D���H���M��Dct'L�cH��tH�H������[L��]A\A]A^�H�{E1�����H�C��f.�E1���ff.���E1���@����1�H��1����ff.�����H��1����ff.���AUA��ATI��UH��SH��H��聰��D��H���֨��H����L�(H��蒵��I9�tH���0H�;�L�#H���v���H��tH�kH��1��3���C��t<M��tH�H�{H��t
����H�CH������H����[]A\A]�D����������D�벽����������
�0��uÐH������2�������(��������N�����������芧���Ģ0H���ff.���H����USH��H��H����	�H���8���H���@���H��u�H����C@H�C8ǃxH��������H��pH�{ �CXH�CPǃ(Hǃ ǃ�H��t%H��tH��H����������H�{ H�ۚ0�H�{(H�C H��tH����H���0�H��H�C(H��tH����H���0�H��`HǃH��tH����H�i�0�H��hHǃ`H��tH����H�@�0�HǃhH�{H��t��������H�CH�{pH�C0Hǃ�Cǃ0�ChHǃ@HǃLHǃ�Hǃ�ǃ�ǃ�ǃ�Hǃ�Hǃ�Hǃ�Hǃ��r��H�� H��tH�5_�0���Hǃ H��(H��t1��ܭ��Hǃ(H���H��t�@����\����H��[]�H�{(H�C H���H��H��������uH�{(����H��H�C(H���0���H��H���������H��`HǃH���+���H��H��跞�����H��hHǃ`H���&���H��H��艞��������H��h���DH��H��X[]�Ϊ��fDHǃp����H���k���@H��`���@�H��H�������J���f.���AWAVAUATUSH��(H����H��I��L��A���D$���L$H����H�t$��t	M����E1�D��詙��I��H���mH��蕯��M���L������H��H��襫��H���,L��H�D$�?��H�T$H�BL�:I� H��H�T$袾��H�T$H��H���r���E��~]�|$tVH�s8H��tMH�H��tEH�x �l���H�T$D��I��H�C8H�8L�x L+x�]��H�s8L��L��H�H�x �7���H����H�{(H��t	H���0�H��蝤��H��H�C(衟��H����H��H��E1��j���H��(D��[]A\A]A^A_��HǃH��荪��H��H��tH�@���L�������A���H�|$���$���A���[���@E���u���D��H��E1��Q���b���@H��H�F�H��E1�� ����?���f���1��Յ��D��H��tWAUA��ATI��UH��SH��H���,���H��蔘��H��tH��D��L��H��[E1�]H��A\A]�1����H��1�[]A\A]�1��ff.�f���ATI��UH��S���˨����H���Q���H��t��L��[E1�]1�H��A\���fD[1�]A\�f���AVE��AUI��ATI��U��SH���q�����H���Ǡ��H��t"[D��]L��L��E1�A\H��A]A^�v�fD[1�]A\A]A^�D������AVAUA��ATI��UH��S������1�������I��H��t[H�@���H��H��t>1�L��H������H��tLH��H���i���D��L��H��H��E1�[]A\A]A^���DL�����[1�]A\A]A^�D1��DL�����H���8����fD��H����AWI��AVE��AUM��ATI��UH��SH��H���>���L��1�H��H������I��H��tV�A��H��H��tq1�L��H�����H��toH��H��蜣��H��D��L��L��H��E1�[]A\A]A^A_�
�f.�H��tH���H��1�[]A\A]A^A_�D1��DL�������fDL�����H���H���fD��H��twH��trAUA��ATI��UH��SH��H���W���H��诪��1�H��H���b���H��t-H��H���Ң��H��D��L��H��A�[1�]A\A]�B�f�H��1�[]A\A]�1��ff.�f���H����H����AWA��AVE��AUM��ATI��UH��SH��H��赥��H���
���H��1�D���л��H��H��tP1�H��H�����H��t6H��H������H��D��L��L��H��A�[]A\A]A^A_��fDH���X���H��1�[]A\A]A^A_��1��ff.�f���H��tGAVI��AUE��ATI��UH��H��SH���ث��E��M��L��H��H��[��]A\A]A^�J���f.�1��ff.�f�������H����AVE��AUI��ATI��U��SH��萤��H�������1��o��H��H��tOH�@1�H��H���r��H��t-H��H����D��L��L��H��A�[]A\A]A^�c�H���8���[1�]A\A]A^�D1��D��AWAVAUATUSH��D�|$PH����H����H��H��I��I��M��L�D$�Σ��H���&���H��1�L��L��薸��H��H��tN1�H��H�����H��t\H��H���1���H�t$D��L��H��H��A�[]A\A]A^A_��f.�M��tL��A��H��1�[]A\A]A^A_�@H���H�����fDH��������H���-��P�у��t����w.��H��H��t8��t3�G�ƒ��tn����v.H�G8H��u�H�G(H��t�xt�fDH�����H���@�Gpf���u�H�G0H��tO��H���Z���H�PH��������HD�H��Ð�Wpf���t��H��Ã�u+H�GhH��u��H������H�8���H��t��������H�GH��u��H��t[ATI��USH�H�9�0H��t@H�/�H��H��u�I�<$H��tf.�H�/�H��H��u�H�L��[]A\����ff.�@AVI��AUM��ATI��UH��SH�H��H��tq�:D�D9�}/�?��Hc�H��H��L�!L�,1��;[]A\A]A^�fDC�	H��H���0�B�4�Hc�H���H�EH��t;�;�f.�H�)�0�0�H�EH��t:A�H�����L�,�1�1Ҿ�詗��������h���L�
���fDAWA��AVI��AUI��ATE��USH��H�H����H�CH��taH�f�H�S@H�@ H�;H��tqA�����H�GH�8H�L�pL�h�@ ����D�`$H��[]A\A]A^A_�f�H�9�0�(�H����f�H�@ @H�;H��u�H�H�C�DH���0H����H��H��t7f�H�@H�E�%����H�SH�PH�H�C�I���@L��1�1Ҿ��V���1��7����L�޴1�1Ҿ�H�D$�)���H�D$����ff.�@USH��H��tuH�_`H��tH��H��[]�f�H�)�0H���0�H��H��tOf�H�=T��@@@ �5���H�=O�H�C�%���H�CH��H�]`H��[]�1��@L�<�1�1Ҿ��n����m���f�AUI��ATUH��SH��H���H9�tz�GI�ԍP���w�tf�H�m(H��t_L9�tZ�E�P���vY��tT��u�H�]`H��u��f�M��tL�������uH�H��t�H�{H��u�M��u�1�H��[]A\A]�@�I9�t�H�������[]A\A]�ff.�H����AVAUATI��USH;v@��I��A������ �M�d$(M����M;d$@��A�|$u�I�l$`H��t��#1�1�E��H��L�����H��tiH�mH��t�I�EH��t�H�H��t��D�����uH�H��t�H�CH�}H�pH9�u�1�1�E��H��L���D���H��t�@ �fD[�����]A\A]A^�f�[1�]A\A]A^�1��f�USH��H��H��tH��tH��H��������t
H��H��[]�H��tH��H��H�����[]�%���DH��H��[]�–��f���AWAVAUATUSH��H����H����I���L$H��I���ʘ��L��I��还��H��F�48H��tSA�F;D$}IHc�L��H��Mc�H���U����+:Ic�L��H�|+�A���B�D3H��H��[]A\A]A^A_�f�H���0A�~Hc��H��H��u�L�Y�1�1Ҿ��n����@H���1��ff.����H����H�H��tw�<:tp��tlAT�USH���DH�����H�X��t��:u��t.I���H���q���I�$H��t+H�|�^���H��tBH��[]A\�H��1�[]A\�D1��L���1�1Ҿ�H�D$螑��H�D$뾿L�r�1�1ҾH�D$�x���I�<$H��t�H�Ȇ0�I�$H�D$�{���@��H��t7H��t2�<:t+��t'�f����H����t��:u��t	�H��1��ff.�f���AWAVAUATUSH��dH�%(H�D$1������H����H��A�������< ��H�&H����H��H���< ������߃�A��v<_ufH��H��f��
�ȃ�߃�A<��A�<2�
E������ w*H�&f.�H���,H���
�� v�L�d$H��1�L���ȓ����=��`�� �af��؃�߃�A����HcD$L��1�I��������I��H�H���v������2f��؃�߃�A��v����gHcD$L��1�H�H���B����Á��~�H�5	�0��������uύ����=�Qv�0t��������v�H�5��0�������u�H�5e�0���ֿ����u�H�5��0���Ŀ�����u���E����1�����H�L$dH3%(��H��[]A\A]A^A_Ƀ�߃�A��v<_uH���@���1���t�L�d$H��1�L���h�����=������H�5,�0���=���������������=�Q�������0�������!0���z�����S����H���6H������D�CӃ�2vh��I�����?vmE�������� ����I�&I����HcD$L��1�H�H��袑����=���� v�1����������I�������@I�������@H��������w���I�&I��s1HcD$L��1�H�H���,�����=������� �f���I��rύ�@������b�����(�������������E�����_�����7���fDH���w���E���E������������1����膓��fD��AWAVAUATUSH��dH�%(H�D$1������H����H��A��������� �FH�&H����H���H����� ���у�߃�A��v��_ulH��H�����ʃ�߃�A���&�QӀ�2�E������ w(H�&�H���H����� v�L�d$H��1�L��蘏���Á���i�� ����؃�߃�A���HcD$L��1�I��������I��H�H���F������2f��؃�߃�A��v����oHcD$L��1�H�H�������Á��~�H�5ـ0�������uύ����=�Qv�0t��������v�H�5w~0��踻����u�H�550��覻����u�H�5�0��蔻�����u���E����1�����H�L$dH3%(�H��[]A\A]A^A_ÉЃ�߃�A<v��_uH���:���E�������1���t�L�d$H��1�L���/����Á�������H�5�0������������������=�Q�������0������!0���p�����I���DH����H�����D�CӃ�2vx��I�����?����:��E��������� ��I�&I������HcD$L��1�H�H���]�����=��q����� v�1���������I�������y���f���:�����H�ʃ�߃�A��v	��_�\H��H���	DH����ʃ�߃�A��v�QӀ�2���H��r�E���x����
���@I�����������H���^������I�&I��s1HcD$L��1�H�H���l�����=��>����� ����I��rύ�@�����������(�������������������_�<������fDH�����HcD$L��1�H�H������=�����߃�A���XHcD$L��1�I��������I��H�H��讋�����:f.��؃�߃�A��v�����HcD$L��1�H�H���r����Á��~�H�59}0���J�����uύ����=�Qv�0t��������v�H�5�z0��������u�H�5�{0��������u�H�5+|0�������u����[�����CӃ�2v(��I�����?�A���I���H����2���f.�I���/�����@�������1�����L�d$H��1�L��菊����E������R�����@������������(�������������|�����_�k����n���DH�5|0���"������S��������=�Q�B�����0�6�����!0�������"����Ԍ��@��AVAUATUSH��dH�%(H�D$1������H���MH��A������]< �hH�&H����H��f�H���< �1<_@��<:��@�u
��߃�A<wmH��?H��f��
�ȃ�߃�A<�W�A�<2�BE������ w*H�&f.�H���'H���
�� v�L�d$H��1�L�������=����� ��I�&I��s1HcD$L��1�H�H��譈����=��u�� ��I��rύ�@�����v!��(�����v�����_t	��:�|HcD$L��1�I��?H�H���F������If��؃�߃�A��v#��@�����v��(�����v
����9�HcD$L��1�H�H������Á��~�H�5�y0���Ӵ����uύ����=�Qv�0t��������v�H�5`w0��衴����u�H�5x0��菴����u�H�5�x0���}������u���E����1�����H�L$dH3%(��H��[]A\A]A^�<:��<_���u
��߃�A<wH������@1���t�L�d$H��1�L��������=����؃�߃�A��������d���DH����H�����D�CӃ�2whI�������E���A����� �8���I�&I���$���HcD$L��1�H�H��苆����=����� v�1��������D����L����f.�H��������G���H�����E���6�������H�5�w0���
���������������=�Q�������0�������!0���������j���������1��[���諈��ff.���AVAUATUSH��dH�%(H�D$1������H���mH��A������}< �uH�&H���f.�H���< �QH��r��-<2wzH��?H���LH��?H��f��
�ȃ�߃�A<�W�A�<2�BE���Q�� w*H�&f.�H����H���
�� v�L�d$H��1�L��踄���Á������ �#I�&I��s1HcD$L��1�H�H���|�����=����� ��I��rύ�@�����v@��(�����v5���-�CЃ�	����t �CӃ�2�WH� H���OHcD$L��1�I��?H�H��������If��؃�߃�A��v#��@�����v��(�����v
����a�HcD$L��1�H�H��諃���Á��~�H�5ru0��胰����uύ����=�Qv�0t��������v�H�5s0���Q�����u�H�5�s0���?�����u�H�5dt0���-������u���E���w1�����H�L$dH3%(��H��[]A\A]A^�H�ꐉ���߃�A���������-<2�����L�d$H��1�L���҂����E��tA����fDH����H�����D1����y���L�d$H��1�L��茂���Á�����؃�߃�A���X���������CӃ�2whI�������E�������� ����I�&I�������HcD$L��1�H�H��������=�U�� v�1���������f�����$����f�E���
����4������������������������H�5|s0��荮��������������=�Q�o�����0�c�����������T���H�5
q0���K�����������������1�����H�5�q0���$���������H�5Er0�����������W������ff.�@����v��tÐS���X����[�@��H���C����H���ff.����H��t�G����v�H�wH���H��tGUSH��H��H�-'r0H�H�EH��t��H�EH�{H��t��H�EH��H��[]��f.��ff.�@��AUATUSH��H��t
���I��I��H��H��tH�5�H���������H�wp0�0�H��H���f�@@ �@M��tL�����H�EM��tL���p��H�EH��tXL�c`M����I�|$H�uH��tL�w�����t�(��k���I�܅�uI�$H��tsH�{H�uH��u�H��u�H���a���1�H��H��[]A\A]ÐH��u���f�H�5�vL������������1���DH�k`H��H��[]A\A]�fDI�,$H��H��[]A\A]�fDL��1�1Ҿ��{���r����AUATUSH��H��tyH��I�����I��H��tfH�H��u	�7@H��H�{H9�tH���l�����tH�{L���\�����uH�H��u�I��H��L��1�����I�EH��H��H��[]A\A]�H��1�H��[]A\A]��AWI��AVAUATI��US1�H��hM�l$`H�|$H�l$ H�T$H�$D�D$dH�%(H�D$X1�M��u�wfDL��踭����uM�mM��t\I�uI9�u�������H�<$�@H����21�SL�L$L�ǘH��2��q��XZM�l$`I��M��u��L$����M�l$(M����M;m@tH�|$twA�E��tnM��t.A�?xu(��fD��tS��tNM�m(M��tEM;m@t?A�E��u�M�u`M��t��L���Ь����uM�6M��t�I�vI9�u�I�~����H�t$1�L���q���H����I�L$`H��u�f�H��H�H��u�H�H�L$XdH3%(��H��h[]A\A]A^A_��A��L���H��1��2��2�p������A�m�*���A�l����A��]�������f.�I�D$`�t���fD1��g�����~��@H���GH���>AWI��AVI��AUM��ATI��UD��I��SH��H�H�JH��t	�9x�]I�EH��tH�H���I�t$M���rA���H��E1�L��L���6���I��H����I�EH��tIH�H��u�?�H�H��t09k$}�{ �u�H�CI�|$H�pH9�t	�����t҉k �A��L��L�����L�����H���M�>H��1�[]A\A]A^A_�DH�CH�xH��tC�?t>�T$P��tH�xt/I�t$L�L$H9����w���L�L$����f.�H�H��t�{$�|�{ �t�H�H��u�I�L$I�t$M�������?��ym������yl������y������E�H��I��������;DH��L���5���H��H��t:A�����H��L��L��������H��tCI�1�H��[]A\A]A^A_�L����~��H�������[]A\A]A^A_�H�CL�cI�1��ƃ��H���~�����ff.�@��H��tSfDH��h~��H��H��u�[�fD����AVAUATUSH��t
1�H�X��H��i0I��I��I��H�����H��H����H�xH��H�H��H�@xH)��选����1��H��CM��tL���|x��H�CM��tL���kx��H�ChM��tL���Zx��H�CpH��tH�]XH�vj0H�k@���uH��[]A\A]A^��x��H�8t��x��H��H��[]A\A]A^��L���1�1Ҿ��nt���ff.����H��t+H�GH��t�xu�fD�xtH�@0H��u�H�GP�1������AVI��AUI��ATI��UH��SH��t�>���1�H����H�,h0���H��H����H�xH��H�H��H�@x1�H)�����H��CH��tH���w��H�CH���_M��tL���w��H�ChH���rM��tL����v��H�CpH����M��tNI�FI�^PL�s(L�s@H����A�~
���xtbH�@0H��u�I�F H�C8H�X0H�C0I�^ H��h0���uH��[]A\A]A^���v��H�8t���v��H��H��[]A\A]A^��H�P8H�C0H�S8H���;H�Z0H�X8H�Th0���t��@H�Ah0I�^I�^ ���������DH�X8H�C0H�h0I�^����_����f���fDL�k�1�1Ҿ��6r���5���L�L�1�1Ҿ��r��H�pg0H��1������L��1�1Ҿ��q��H�{H�-?g0H��t�UH��1�U�����L��1�1Ҿ�q��H�{H�-g0H��t�UH�{hH�EH��t��H�EH��1�����fDI�^���ff.�@��UH���H��SH��H����HD�H�ye0�H��H����H�xH��H�Hǀ�H��1�H)�������H��C	H���nt��H�ChH����H� H�[@H���H�uf0H�CH����ǃ����u
H��H��[]��t��H�8t��t��H��H��H��[]ÐL���1�1Ҿ��fp���@L���1�1Ҿ��Fp��H��e0H��1��fD��AWAVAUATUSH��(dH�%(H�D$1�H���eH�F(I��H���E1�H��tE1�xA��E1�L�t$�C�P���v;��t~H�[0H��u�H�L$dH3%(L���H��([]A\A]A^A_��H�sP��uxL��E�����/���H��H��t�H��L��H�T$����H�T$I��H��d0H��냐��t\H�sL���p���H��tH�p�L�����H���DH�sP@L�����I���:�������H���w����L���&L��f�D$膂��H�sH���z����;L��f�T$H�Ǻ�`���I�������E1������3u��H��t{�W��t1���t4�H�wH��tgH�~0t0H��H�@����H��t1H���@H�X�q����F����w�H�~P�q��@H�=
H���q��1��DH�=�
�|q��ff.����AWAVAUATUSH��dH�%(H�D$1�H���%I��H���E1�L�l$�C�P���v:����H�[0H��u�H�L$dH3%(L����H��[]A\A]A^A_�f�H�sP��u8L�����I��H��t�L��L�����L��I��H��b0��@H�sP@L���؞��I��������t4H�sL���@���H��t�H�p�L���
���I��H��u��L���D�L���&L��f�D$�~���H�sH���r����;L��f�T$H�Ǻ�X���I�����E1������3s����AUATUSH��H����H��`0I��I��H���x�H��H����H�xH��H�H��H�@p1�H)���x���H��CH��tRH���H��tF�����L����j��H�CM��tL���xo��H�CPH��a0H�k@���u#H��H��[]A\A]�DL���Ho��H�C�f��o��H�8t��o��H��H��H��[]A\A]�D1��@L�ъ1�1Ҿ��vk���@��H��H��1��?���ff.�@��ATUSH����H�x_0H��I���x�H��H���H�xH��H�H��H�@p1�H)���x���H��CH���hn��L�cHH�CH��`0���uH��[]A\��n��H�8t��n��H��H��[]A\�1���@L��1�1Ҿ��j���@��ATUSH����H��^0H��I���x�H��H��t{H�xH��H�H��H�@p1�H)���x���H�H��_0�CH�k�L�cH��uH��[]A\����m��H�8t���m��H��H��[]A\�1���@L�%�1�1Ҿ��i���ff.����UH���xSH��H��]0�H��H��tmH�xH��H�H��H�@p1�H)���x���H�H�_0�CH�k@���u
H��H��[]��+m��H�8t�� m��H��H��H��[]ÐL�{�1�1Ҿ��i���@��UH���xSH��H�']0�H��H����H�xH��H�H��H�@p1�H)���x���H�H��]0�CH�CH��tH���l��H�CPH�7^0���uH��H��[]���[l��H�8t��Pl��H��H��H��[]ÐL���1�1Ҿ��6h���@��ATUSH����H�X\0I��H���x�H��H����H�xH��H�H��H�@p1�H)���x���H��CH�k@A�<$&t%L���=k��H�CH�b]0���u>H��[]A\�@I�l$H���w��Hc�A�<;t9��H���a��H�CH�$]0���t��Yk��H�8t��Nk��H��H��[]A\Ð�p�H����a��H�C���@1��@L���1�1Ҿ��g���e������AUATUSH��H���H�2[0I��H���x�H��H���	H�xH��H�H��H�@p1�H)���x���H��CH�k@A�<$&tOL���j��H�CH��H���~��H��tH�PPH�CH�C H�SPH�\0���uFH��H��[]A\A]��M�l$L���Sv��Hc�A�<;tA��L���`��H��H�C�fD�j��H�8t��j��H��H��H��[]A\A]�D�p�L���m`��H��H�C�Q����1��s���f�L�h�1�1Ҿ��e���K������SH��H��谏��H��tH�X@[�DAWAVI��AUI��ATI��UH��SH��H�������H��Y0D�D$�`�D�D$H��H����H�{H��1�H�H��H�CXH)���`���H��CL�c(M�|$@L�sHL�{@E����M����I���H���������L���c��H�CH���
H��L�����H�C H�CH������fDA����1�H��H��[]A\A]A^A_�f.�H��X0D�D$�`�D�D$H��H����H�{H��L��E1�H��H�H)�H�CX��`���H��CH�C(L�sHE����L�kH��t=H��L��� ���H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C M��t2I�T$XH��u��f.�H��H�B0H��u�H�Z0H�S8H��u7H�0Y0�������ag��H�8�����Rg��H�������I�|$@H��L����}����u�I�t$@H��H��1���a����L���f��H�C�����H�G@H��tH���H���^�����Z���H�AX0L��1��I���DI�\$X�:���fDA��tBL�e�1�1Ҿ��b���
���A��u�I�D$@H��tH���L���^����u�H��W0L���f.���H��tH��E1�H��1�����1��ff.�f���H��tE1�����1��D��H��tA��l���@1��D��H�%V0ATI���xU��S�H��H����H�xH��H�H��H�@p1�H)���x���H�H��V0�CH�CM��t��L���\��H�CPH�%W0���uH��[]A\���Ke��H�8t��@e��H��H��[]A\�L���1�1Ҿ��&a���@��SH��H������_��H��tH�X@[���UH���xSH��H�'U0�H��H����H�xH��H�H��H�@p1�H)���x���H�H��U0�CH�CH��tH���d��H�CPH�7V0���uH��H��[]���[d��H�8t��Pd��H��H��H��[]ÐL��1�1Ҿ��6`���@��AUI��ATU��SH���xH��H�NT0�I��H����H�xH��H�H��H�@p1�H)���x���H�I�\$@A�D$M��t��L���;Z��I�D$PH�_U0���uH��L��[]A\A]��c��H�8t��xc��L��H��L��[]A\A]�DL�?1�1Ҿ��V_���@��SH��H����}��H��tH�X@[�D��H��t?UH��SH��H���tDH;k@tH��H����u��H�[0H��u�H��[]������H�����G����AVAUATUSL�g@I9�tfM��tM��$�E1�H��tL���H��I����tg��tRI�~H��tH���{��I�VL��L������I�VP1�L��I�F���I�n@I�FP[]A\A]A^����I�F�fDH�_XH��uE�DH�{@H9�t H��tH���H�SL���W��H�k@H�CH�{H���z��H�[0H��t�{Pu�I�~@H���Ho���fDA�F�(������H��t�t	H�G �@1��D��H��tO�O1���
w=�H��%B*t.H�W1�H��t#1ɃzH�R0��H�H��u��f.���1��D��H��tG�O1���
w?�H���B*t/H�GH��t&�xu�@�xtH�@0H��u���1���ff.����H��tG�O1���
w?�H���B*t/H�G H��t&�xu�@�xtH�@8H��u���1���ff.����H��tG�O1���w?�H���t/H�G8H��t&�xu�@�xtH�@8H��u���1���ff.����H��tG�O1���w?�H���At/H�G0H��t&�xu�@�xtH�@0H��u���1���ff.����H���C�G���7USH��H����������H�o@H���H�EPH��t0H�wH�x`��_��H9���H�EPH�sH�xx��_��H9��vH�EXH��t5H�sH�x`�_��H9��7H�EXH�sH�xx�_��H9���DH�K(H�S0H�C8H��t&�{��H9Y��H9Y ��H�C(H��tH�B8H�C8H��tH�P0H�C8H�C0H��[]�@H�G@H��t�H9xP��H9XX�{���H�@X�n���fD��H�O(H�W0H�G8H���f���뀐H9YX�m���H�QX�d���DH�A �V����H�Q�<����H�EXH�s1�H�xx�ń�����H�@P�f���H�EXH�s1�H�x`蝄������H�EPH�s1�H�xx�}����r����H�EPH�s1�H�x`�]����8������H���KAUATUSH��H��H�O0L��������H�{xH��t�d��H���H�CxH��t�~��L�kXH�kPHǃ�I9�tM��tL���2���H�CXL���P��H��tH�{P����H�CPH���tP��H�{H��t�c��H�{`H��t�8g��H�{hH���+M��tJH��L���+T����t7H�{H����H�-�M0H��L���T�����H�{�&f.�H�{hH�-�M0�UH�{H��tM��u��UH�{pH��tM��uC�UH���H��tM��uN�UH��UM��uUH��[]A\A]�fDH�{pH�-UM0H��t�H��L���uS������H���H��t�H��L���VS����tzH��UH��L��[]A\A]��y��f.��;Y��H�8�C����,Y��H���4���f�H�-�L0�"���@H�{pH���3���H��L����R�����s����fDH�������@H�{p��������H���>AWAVAUATUSH��H���G���"L�o@M��tM���H�SE1��f.���tpH�tL0����:�P�����������YL�=�K0H�{H��t(�C��t ��tM��tH��L���Q����uH�{A�H��A�M��tFI�VL��CH��t�H���t�H�����L�s0H�k(���	�M���H���5W��M��u�M���H���I��H�E1�H���H�{XH��t�h���C���P���t	����L�=K0��t	������H�{`H���
����d������DH��I��H�R�1����W��H�8t
�W��H���C������t��wL�=�J0�f.�H�{PH�������H�CXH9������M��tH��L���P����u2H�{PL�=gJ0A��C�P��?���f�H��[]A\A]A^A_�C�P������H��[]A\A]A^A_�Ac�����H����USH��H��H�SJ0H�@�H��t`H�����u[�{P��H�{H��t��^��H�{H��tdH��tH��H����O����uPH�{H�-�I0�UH�EH��H��[]��1�t���U��H�8t
��U��H��H�{@H��t��{Pu��@H�-aI0H��H�EH��[]��f�H���he��H�{H���a����a���fD�ff.�@��H��tSfDH�_0�Q��H��H��u�[�D����H����H�G(H����H��H�PXH9�tY�����H��t%H�B0H9�u�@H�P0H9�tH��H��u����H���H��f�H�W0H�P0H��tH�B8�
Q��1�H���H�J0H�HXH��tH�A8H����P��1�H��ø�����fD��H�����G������������H�^H0ATUS�H�����
H�k@H���%H������XL�%�G0H�{H��t`��uSH�{H��t)�C��t!��tH��tH��H����M����uH�{A�$I�$H��[]A\��H�{L�%�G0H��tA@�c\���C�P�w(H�{XH��t�d��H�{`H��t��l`���|������t�H�{PH���c������Z���H�CXH9��M���H��tH��H���8M�����5���H�{PA�$�(����+S��H�8t
� S��H��H�k@�CH�����������H�{hH����L�%�F0A�$H�{`H��t	H��uEA�$�C�����H�{hH����H��t�H��H���L����t?H�{`H��tvL�%WF0H��H���|L����u�H�{`�f��{H���Y���N��H�{h�j����H�{`H������L�%F0�c����L�%�E0�B���@�C������H����AUATUSH��L�o@M��tM���H�F0H������uH�]H��u�Bf.�L��M��t0�CL�c0�P�v�t�H���<z��H��L����j��M��u�@H�}H���;M����H��L���gK������H�}pH���#H��L��H�E0�@K������H�}p�H�}hH��tM�����H�}HH��t� u��H�}PH��t�Y��H�}XH��t�n��H�}`H��t�ֈ��H�}xH��t�Ȉ��H�H��H��[]A\A]��fDH�}H��D0�H�}pH���t���M���i���H��L���J�����R���H�}hH���_���H��L���rJ�����L���H�}h�A�����kP��H�8�|����\P��H���m���f�H�	D0���@�H�}hH��C0H��u����f.���H����H9����W����H�G(H����UH��SH��H��H�����N������tH��������tH�؃���H���6x��H�s@H����d��H�C(H�S0H�E(H�U0H��tH�j8H�S8H�U8H��tH�j0H��t�}tUH;XtoH;X taH�C8H��H�C0H�C(H��[]��H���w��H��H��[]�fD1��DH;XXu�H�hX�@��H�h �f�H�h�f.���H��t�t	1��fDH�WH�w1��`��f���ATE1�USH��t8H��蘆��I��H���H�EH��H�H��tH���y���H��u�I�����L��[]A\���1�鵲��D��AWAVAUATUSH��dH�%(H��$�1�H���o�H���bL�%cB0��A�$H��H���f��A�$H���t�A��H�D$M���E�ƒ��	uF�;/��L�l$H�qA0L��H��$�dH3%(H����H�Ę[]A\A]A^A_Ã������6�P�������������H�EHL�uH��tEL�HL�|$ M���QH���d�c1�AVL�$��L���C��Y^Ƅ$�M��H�m(E1�L�=FkH���X[��H�H��xL9���E��uTS�M��L�LkAVH�|$H�����1�L���LC��XZH�L$1�L��H��H�x��1U��H�����������H��M��L�k1�SH������L��ATAVH�|$(��B��H�� �@H���Z��H��H�N�lhxH��=0L��H��H����H�D$H��=0L��H�|$�H�T$H��H����H�D$H������f.�E1�L�5.�L�=�y1�����L�l$H�-|?0L��UH��U1����f�H�EHL�uE1�H��tPL�HD�T$M����L�d$ H���d1�AVL�q�L��M���c��A��Ƅ$�_AXD�T$H�E(L�}8E1�H�D$M���oH�\$D���DM�8M��tA�u��t4M�8A��M��u�A��H�\$E���.A��H�l$L�=y����I�wH�}��|����t�I�OHH�EHH9�t�H��t�H��t�H�qH�x�|����u��z���f�H�E8H�M(H���gE1�@�pH�@8�V���A��H��u�E���AA��H��L�5�hL�=px�O����H�E8H�M(H���_E1�@1҃xH�@8��A�H��u�E���:A��H��L�59hL�=x����L��H���L��1��c�gR�����f�A�L�5u��n���fDL�|$ L�M�d1���cL��E1�L��g�@��Ƅ$�H�E(L�u8H�D$M��uoL�u0E1�M��u�~�M�v0M��tt��tpE1�A�~�u�I�vH�}E1��4{����A������f�I�vH�}�{����A��M�v8M��tA�~u���f.�E���u���A��M��H�l$L�=�v�����L�}0E1�M������H�\$H��D��� �E1�M�0M��������A�u܅�tH�\$A��~���I�wH�{�cz����t�I�WHH�CHH9�t�H��t�H��t�H�rH�xE1��8z����A�����DH�E0H��u��f.�H�@0H�����p�V���w�H��A�L�5'fL�=�u����@H�E0H�����PH�@0��tH��u�E1�A������L��e1�1Ҿ���E�������L��e1�1Ҿ��E��H�;0H��1����H��E1�L�5�eL�=Xu�7���L�ye1ɾ�L�l$�jE���B���L�l$L�ReH�T$1�1Ҿ��AE��H�-�:0L��UL�L$L��U����E1�����K��H�\$����ff.�f���H��t'H�GH��t �xu�fD�xtH�@0H��u��1���ff.����H��tH��tz�O��w�H��=ucAUATUH��SH��H��H�G@L�gH��tNL���M��tBM��tmL��L����?����u^L�c�����H��L���C��H�CM��u"�S���H��M��tH�G��H�CH�x90L��H�H��[]A\A]��fD�����H��L���B��H�CH��[]A\A]Ð�[G��H�C��D��H����H�����F����AT��I��UH��H�5�eHc�SH�>��H�u�p���1�[]A\�f�H�uP��p��[1�]A\�H��r��v.��uH��L���s���H�SH��t2�B��t*H�Ӄ�r�w�H�sPH��t�L���p��H�SH��u�H9�t�H�S0H�����BH���fDH�uH�}@�[��H����H�XH���E���H��L�����H�[0H��u��,���@H�]H�������C�P���v��tH�[0H��������C�P���w�H��L�������fDH�]H�������{tH��L���r���H�[0H��������{u�H�sPL���o���ߐH�������H�S0H������H�[(H9�u��|���������t���f�1�Ã��f���H��tGH��tBUSH��H���c��H��H��H����y��H����,9����H����H��	�[]�����D������f.���USH��H��������GH��cH��Hc�H�>��@H�PH��tyH��[]�D��@H�wH�@�SY��H��tX��q��H��H��tKH��1��c��H��H���,y��H����F��H��H���<��H��H��[]���@��U��H��H��u�1�H��H��[]�f.�H�H��[]�!D���H��[]���D��AWAVAUATUSH��H���q�FI�����b�D$
E1�E1��fDM�(M���-A�G��u�I�_`H��t�M��tk@E����I�$H�{H�pH9�t<A�E�M�t$I�l��#fDI9���I�H�{I��H�pH9�t	�s����t�H�H���v���M��u��D$�xH��30Hc�H���I��H��toIc�I��E���o���fDIc�A��I��I�D�H�H��u������D;l$|��d$�D$L��pH��20Hc�H���I��H��u�L�f_1�1Ҿ�E1��?��H��L��[]A\A]A^A_�E1���ff.�@AWAVAUI��ATA��UH��SH��H��L�XM��tNH���!@I�Ht1I�H���]r����t!I�GHH�xH9��H���@r�����M�0M��u�E����M�e@M����I�|$P��I�EHH����H�xH�����A��H�5��H����o��I�uH����o��I��H����H�$H����I�|$P1�H��L���M��I��H����I�|$XH��tH1�H��L���M��I���DI�H���lq����u;�M�0M���$���I�Hu���H�$H��tH��H��20�DE1�H��L��[]A\A]A^A_�M�uH�$H���I���H�5�8H����p����tPI�|$PH�
�fH��L����L��I��H����H�<$tH�o20H�<$�M��t�I�Xu��x����I�}@L���f��I��H�D$H����L�8M��u��fDI��M�}M��t[I�H���Wp����t�I�EI�|$PH��L��H�H�;L��I��H��u+I�|$XH��t�I�EH��L��H�H�L��I��H��t�fDH��10H�|$�H�<$�)����1���I�|$XH�������H�
�eH��L����K��I����H�<$H���z������H�\10H�|$�H�$H���h���H���^���ff.���AUATUSH��H����FI�����H��H��tI��H�59eH���@o������A�EM����M�d$(M����A�D$�P�����������u�I�\$`H��u)�O�H��tH�{tH����n����uH�H��t(H�{H��u�H��u�H�{t�H��H��[]A\A]�DM9��o���I�\$HH���a���H�{H��txH���O���H�{�D���H���dn����u�M�d$(M���8���H��1�H��[]A\A]�M��tI�\$`H��u�H��L��[]A\A]�a���A�}t2M�e@M��u���H������H�{�����<����H�q.0�0�H��H��tFf�H�=�5�@@@ �=��H�=�cH�C�p=��H�CI�E`H�I�]`����L�&Z1�1Ҿ���9�����ff.�f���AVAUATUSH���+�~I���I��H���H��H�55H��� m�����E�uL��D���@H�m(H�����E�P�����������u�H�]`H��tADH�{H��t+L���l����tH�SA��uH��tH��L��董����t~H�H��u�I9�t�H�]HH���z���H�{H���m���L���ml�����]���H�SA��u	H���J���H��L���7������6����@A�}t?I�m@H��u�1�H��[]A\A]A^�f�H��t�H�]`H��u�[H��]A\A]A^�2���H�{,0�0�H��H��tFf�H�=�3�@@@ �;��H�=�aH�C�z;��H�CI�E`H�I�]`�x���L�0X1�1Ҿ���7���Y����AWAVAUATUSH��HdH�%(H�D$81�H���IE1��~H��u%H��H��t�zuH�RI����j��I��H��t+H�L$8dH3%(L���'H��H[]A\A]A^A_�f�L�MM����I��2�1�L��W�2L���P/��L��H��L���=���H��uR�H��L�ZWL��1�R�2��2�/��XZL��H��L����<��H��tFD��A����>���L�MD�jM��u�A��L��VL��1��2��2�.���@H�uL��H����I��I����f�E1�����H�defaultI��H�$������<��D��H���F�~�<H���3�	�)H9~@�AWAVE1�AUE1�ATE1�UH��S1�H��(H�4$H�|$�H�}H��E��u5L�5�)0�PA�H��H�����PA�I��H���9A�
E���dH�uHH;3��A�T$��H���DH�<�H��H9t���A��H9�u�E9����}�UH�EH��t�}tH���G���H�EH��u�fDH9,$t:H�E0H��u�H�E(DH��HE�H;,$tH�E0H���kH�E(H��u�DH��tH�*0H��1�M���H��)0�$L����$H��([]A\A]A^A_�L�H�H�EHE9��=���H�UHH�4$H�|$���H��H������E9�XE�H�D$H��'0H��Mc�N�<�L���H�T$H��H���HH�x'0H�T$L��L���H�T$H��I����Ic�A���}I��H�uHH�4�H�UH�����L�}XM�������@I�H��E��u5L�5�'0�PA�H��H�����PA�I��H���1A�
E����I�wHH93��A�T$��H���DL��H��H9t�t%��H9�u�A9�t(M�0M���d�������M�I�I�GHA9�u�I�WHH�4$H�|$�/���H��H��t�E9�|ZE�H�D$H�C&0H��Mc�I��L��L�T$�L�T$H�T$H��H����H�&0H�T$L��L��H�T$H��I��t@Ic�A��I��I�wHH�4�I�WH�C���1��7���M��1��N���H;$�B������@L��R1�1Ҿ��.2��H��'0H�������H��([]A\A]A^A_�E1�����L�|R1�1Ҿ���1��H��(�����[]A\A]A^A_�L��E1��X���������L�=R1�1Ҿ��1��H�'0L���������z������AUATUSH��H��te�u_H��tZH�_XH��I��H��u�1�H�[0H��t'H�{H���d����t�H��H��[]A\A]�f�M�l$@M��tI�}PH��uD1�H��H��[]A\A]��I�t$H���I��H��H��tH�{Xt�H��H��[]A\A]�I�}XH��t�I�t$H���pI��H��H��u�1��@��H��t�uH��t���f�1��ff.�f�AUATUS1�H��H�����~��H�����z��H��t
���H�BHH��I��H��H�rH�}(H����H�P�H0��I��H�u@H9s@tH����F��H�E(L�c8H�C(M��tbI�T$0H�S0I�\$0H�S0H��tH�Z8H�{8u	H��tH�XXM��tA�}uH��H��[]A\A]�DL���F��H��H��[]A\A]�f�H�k0H�]8�fD1��/��I���\������H�����WH���������F����H9���ATUH��SH��H����tfL�c(H�u@H�k(H9s@tH����E��L9����E�����{��H�}tnH�E H�X0H�C8H��H�] H��[]A\�f.���t{H�} H��t��u�H�CH9G�x���H9��o���H�sP�\[��H���dI��H�E �fDH�]H�] H��H��[]A\�@H�}Pu9�{�b���H��1�[]A\�@H�P�z���H�FH9G�l����H�sPH����Z��H����H��H���1���@��u�H�}X��H�CHH�sH����H�PH���.��H��tVH9�tQ�xtH��H�D$��W��H�D$H���+��H�UXH��u�>fDH��H�B0H��u�H�Z0H��H�S8���@H9�u����fD1��DH�]XH�����@1�H���v-���n������H������~�O��wwAT�UH��H��SH��H����tbH��tdH�GPH�XH9���H�K@H��t(H���H��tH�ƉT$�c(���T$���H�CPH��H���h@��H�CP�f����uH��[]A\��L�g H�@�S,��H��H��t�H��H���;��H9�u�M��t�I;l$0u�H��H��L��[]A\��/��@H�{PH���;��H�CXH�CP�ff.���H��t/H��t*UH��H��SH��H���<��H��H��H��[��]�k[������H�����t}H��tx�~trH9�tmATUH��H��SH����U���C��t[����H�u@H9s@tH���XB��H�U(H�E0H�k8H�C0H�S(H�]0H�C0H��tH�X8H��H��tH;j tu[]A\�1��D�}��H�E0H��t��xu�H�@H9Eu�H�{P�.��H�U0H��H�rP�\��H�}0H��I����*��H�V 0L��H����E��H�E0�H�Z []A\��H��H��[H��]A\�>���fDH�sPH���|W��H���E��H���G���ff.����AWAVAUATUSH��HdH�%(H�D$81�H����I��1�I���h?��H��H����1�H��L��E1��<L��H�D$.H�D$H�D$f��E��t<&tdH���E��u�L9��FH�|$�:H���\������H���%��H�\$8dH3%(H�D$��H��H[]A\A]A^A_�L9�tH��L��H��L)��0����u��E<#�
H�}<;������I��I��A���t<;u���L9���L��H)���#��L��H��I���fA��H��H��t
�x\�H����[����u=1�L���>E��H����H��H�D$��.��H�t$H�FPM���&L����6��I��L��L���  ��H��H����H��tH�}�HM����L��H���6��I��H��0L��I�oI���e���D�E<x��H�U<;���H�1�H�Հ�	v�af��H�H��	wM��H�j�tH��B<;u�H�j��t'L�|$L���-/��L��H��H��D.�{U����� ���I������E1�H�
IL��I�����'�����@I��H�L$�&���I��H�t$�������I��I�oI���y����T#��@H�D$����EL�m<;��1��fD���t�A�EI�U<;t'I�ՍPЀ�	v�P���w!��I�U�t�A�E<;u�I�m���@�P�������t��H�pPH���oT�����Z�������f�L��1��C��H��H��H���>����,��H�EPM��tSH��L���4������H��L��H��L)���-�����I��H�
�GL����&�����H��I���V���H�l$���H�E����H�pPL��H�D$����H�L$Dž�H��H�Eu���fDH��H�p0H�h(H��u�H�E �c���M���+���H�g0L������E1�H�
�FL��L�����%�����H��I������h,�����AUATUSH��H���H��0I��H��I���`�H��H����H�xH��H�H��H�@X1�H)���`���H��CM���~I���H��tr�����H���$��H�CL�k@M��t=L��L����+��H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C H��0���uH��H��[]A\A]�H���H(��H�C�f��(��H�8t��(��H��H��H��[]A\A]�D1��@L�;D1�1Ҿ��v$���@��ATI��UH��SH��H��H��t7H���H��t+������#��H��H����S��H��H��uH��[]A\�fDH����P��H��H��t�H�k@M��t�L��H���*��H�CH��t;H�P0H��u
�H�H��H�J0H�X(H��H��u�H�Z(H��H�S []A\�DH�C H��[]A\��H����ff.���ATI��1�UH��S���H��H��tFH�h@M��t=L��H���?��H�CH��t6H�P0H��u�;H��H�J0H�X(H��H��u�H�Z(H�S H��[]A\�DH�C H��[]A\�H����ff.���H����H����S�GH����t^�ǃ��	u<H����B��H��t?H�S@H�{�@H�X(H�P@tEH�S H�B0H�P8H�C [���uH�{@�D1�[�@H�@H��u�H�sH�B���@H�CH�C [�fD1��D��H����H����S�GH����t^�ǃ��	u<H�����H��t?H�S@H�{�@H�X(H�P@tEH�S H�B0H�P8H�C [���uH�{@�D1�[�@H�@H��u�H�sH�>���@H�CH�C [�fD1��D��AUI��ATI��H��H��UH��SH���.Q��H��H��t^L�`@M��t@L��L���"(��H�CH��tqH�P0H��u�~fDH��H�J0H�X(H��H��u�H�Z(H�S H��H��[]A\A]��H��t�M��t�I��$�H�������u�H�S0H���@H�C H��H��[]A\A]�f�H���ff.���H�����O����U�H��SH��H��H�������t{H�wPH��t7H�GXH9�t.H�G@H��tH���H��t
������uH�sPH��0H���H�{H��t�*��H�CH�C H����H���#��H�CPH�CXH��[]����H�H��t�2*��H�{@H���&��H�CH��t5H�P0H��u�Jf�H��H�J0H�X(H��H��u�H�Z(H�S H��[]�fDH�C �fDH�CP�m���H������AWAVAUATUSH��HH�|$dH�%(H�D$81�H���pHc�1�I��L�<�?4��H��H���S1�H���A��M9���A�E����H�D$L��E1��f�H��I9����E����<&u�I9�tH��L��H��L)���%����uqL�mM9����}#�ZH�}I9�v.�E����I��<;u���A���th<;tdI��M9�u�H�T$I���H�
�?��M��DH�����H�L$8dH3%(H�D$�7H��H[]A\A]A^A_����t�I9���L��H)��x��H�|$H��I���6��H��H��t
�x\�H���~P����u?H�|$1���9��H���HH��H�D$�#��H�t$H�FPM����L���~+��I��H�|$L������H��H���H��tH�}��M���AL��H���>+��I��H��0L��I�nI��I9��L����I9�tH��L��H��L)��2$��������H���O�����qH�|$�����H�|$H�5���
9��H�D$���H�}L9��X����E<#�"���1�1��P�L��	����I���tP�1�M9�v�A�E<;u�H����t'L�l$.L���#��L��H��H��D.��I��������I���c�����E<x��H�}L9�����<;�r���H��I���/���I��H�L$���I��H�t$�p���H�T$E1��H�
�<��������DH�D$���H�pPH���&I�����c����a���f����-���I��I�nI���Q���H�|$1��7��H��H���)���H���I!��H�EPM����H��L���A)������L�mM9�v�E<;uH��I���C���1�1��P�L��	w*���t�I��1�M9�v�A�E<;�x����P�L��	v֍P���w���t���f��P��������t��H�pPH�|$H�D$H�E�����p!��H�L$Dž�H��H�Eu�1���H��H�p0H�h(H��u�H�E ����H�l$�%���M������H��0L������H���L�����U���H�|$1��g6��H�D$H�����H��� ��H�L$H�AP����H�T$E1��H�
�:��������� ��ff.���H�����O��w{�ATA��H��UH��SH����ug�tSH�H��t��#��H�{@D��H������H�CH����H�P0H��u��H��H�J0H�X(H��H��u�H�Z(H�S []A\���H�wPH��t7H�GXH9�t.H�G@H��tH���H��t
�����uH�sPH�m0H���H�{H��t�J#��H�C H�CH��t%D��H���Z��H�CPH�CX[]A\�f�H�CP��fDH�C �N���H���>���ff.���H�����t}H��tx�~trH9�tmATUH��H��SH���B���C��t[����H�u@H9s@tH���/��H�U(H�E8H�k0H�C8H�S(H�]8H�C8H��tH�X0H��H��tH9jtE[]A\�1��D�}tZH�}8H��t��u�H�GH9Eu�H�sP�D��H���2��H�E8�f�H�Z[]A\��H�}8H��H��[]A\��DH�{P���H�uPH���3I��H��H��I���U��H��0L��H���A2��H���T���f���H���+UH��SH��H���GH���������~��H9�������H�G(H���|H�xtuH�@ H��tlH�x0ueH���H���A���{�EtW����H�s@H9u@tH���|-��H�S(H��H�]8H�E0H�U(H�k0H��tH�j H��[]ÐH��H�K0H��u��f���u�H�EH9Cu�H�uPH���%C��H���-1��H����H��1�[]��H��H��H��H��[]��@1��D��USH��H���}H��tx�~trH��H��H���@��H��H���,��H�{H�](H��tX�H��u	�)��{t"H�[0H��u�H���E��H��H��[]��H��H�����H��H��[]�1�H��H��[]�H�kH�k 1�H��H��[]���ATUSH�����H����I��H�����F��t~H�tgH� ��t~L�g0L��I�|$8I�|$0H�u@t'fDH�k(H9s@tH���+��H�u@H�[0H�{0u�H�k(H9s@tH���+��H�] H��[]A\ÐH�uH����1�H��[]A\�fD��x���H�GH9F�j���H�vP�OA��I�\$0L��H��t�M/��I��H�} �C����</��H�] �fD��SH��H��H��tOH��H��t�t	H��[��~u�H�WH9Vu�H�vPH�|$��@��H���2>��H����.��H�D$��H��H��[��AWAVAUATUSH��H��t-�I��H�����GH�c6Hc�H�>��f�E1�H��L��[]A\A]A^A_�H����[]A\A]A^A_��!��H��[]A\A]A^A_�4��DH��H��L��[]A\A]A^A_���H�q0A��I��H���x�H��H���mH�xH��H�H��H�@p1�H)���x���H��CH�sL�m@H;50L�e(�E��H;5�0��H;5�0��H��t/M����I���H����������\��H�E��C���TH�{P����H���„�t������M���;H��0�����H��L���o!��I��H9������E���}����C�ƒ��<���3H�KHH��t3H�QH��L�����H���iH�EH�S�Ѓ����������.L�CM���DI��A���7L��L�ǹL��L�L$L�$���L�$L�L$H��I����I�A I9�tH����I�G8L�x0M�y A�x�JI�@H���=M��I���DH�u�����Cpf�Ep���E�����H��0I�����V�������H�8�G�������H���8���DH�{`H�����2��H�KHH�E`H���������������H�EP�>���f�M��t
L;k@�KH�uL���(��H�EH�E I��M�������U���@�C��H�8�����4��H������f.�H�KHH���)���H�sX��H���M���H���<��H�EX�C�9���M��DI�@0H�������M�@(M�(L9�u��l���f�H���H��H�E�?����M�y�V����L�001�1Ҿ�E1�������H���^*������H�CHH�{@H��H�P�u��H��t7H���H��H�W(H��u�H�PH�p�"��H�EH�X���H�CH�E���H�SHH��L���Z��H�EH�3��������1�1��!������ATUSH����H�OpH�WhH��H�w1��I(��H��H���eH�{`H��t	�_��H�E`H�{HH��t	�-+��H�EHH�{PH��t	�/��H�EPH�{XH��t	�	E��H�EXH�{xH��t	���H�ExH�[H����E1��!�����������tyH�[0H��t^�C��u؋C\��t�����w�H�}xH��t�H�s���H��t�M��t_I�D$0H�@0H�[0L�`8I��H�h(H�E H��u�H��[]A\�f.�1�H���&���@H�S`H�sH���P@���fDH�E�f�H�}`H���y����E���fDH�KhH�SH��H�sp�$���^����1�[H��]A\�ff.�AWAVAUATUSH��H��trH��I��I��E1�E1��@@M����I�]PH��tvH��L���K��M��tVI9�t	I�\$0L�c8H�m0I��H��t$�}t��L��L��H����H��H��u�E1�H��L��[]A\A]A^A_�fDH�C8I���H���(8��H��H��t�L�h@H��L��L�x(I�EP����i���@H�m0�v����AUATUSH��H���5H��I��H���>�~�H�rI�|$@1��T��H��H���L�`(H�CHH����H�PI�|$@L�����I��H�CHM���VH�pI�}�?������L�mHH�{H��t?H�u@H���h���H�E �H�EH��tH�H0H��tH��H�H0H��u�H�E ��toI�|$@tgH�{@H��t^H�xtWH�s(H��tNH����%����tBH�sH�{@���2��H��H��t(I�t$@1�H��H����	��H��0H���fD1�H��H��[]A\A]��H�rH��tW1�� ��H��H��t�H�{H�E(H�EHH��t�H�u@H���s���H�E 1�H�EH���
����f.�H�B(H��twH�x@뚐H�{@H�PH�s(���L��H��u
���f�I��H��H�W(H��u�I9|$@H�PID�H�p����H�EH�u���f�H�{H�EHH���g������fDH�BH��u�1�1��>
��H������fDH�SHI�|$@L���/��H�EH����fD��H��H��1��o���ff.�@��AUATI��USH��H��H��t�uAH��t<1�E1��DH�E0H�h8H�[0H��H��tH��L���8��H��tH��u�I����f�E1�H��L��[]A\A]�ff.�@��H��1�H��H������ff.����1�1�������ATUSH���H��H�hA����
��H��H����CH�{�EH��t
H�f�/�H�EH�{pH��t	�:��H�EpH���H��t�%��H����������CH�EH�CL�ELE����H�{PH�E H�EH��t!��3��H�EPH��tkH��H�����H�EPH�h(H�{`H��t	�)��H�E`H�{H��t5H��H������H�E H�EH��tH�P0H��tH��H�P0H��u�H�E H��[]A\�H���	��1�[H��]A\�f�����1������H���c��H��tH��H������f�1�H���f���H��t7�u1H��t,H��1ҹ�|��H��tH��H���˘��1�H��Ð1��ff.�f���H��t7�u1H��t,H����.��H��tH��H���}���D1�H��Ð1��ff.�f���H��tGUSH��H���t(H�-Y�H��H�5VH���>��H��uH�[(H��u�1�H��[]��1��ff.�f���AUATUSH��H��tm�H��udL�-�DL��H�5�,H���=��H��H��t5H�5�H����9��A�ą�u@H��H�5H���9��H��H�}�/uK�H�[(H��u�H��A�����[D��]A\A]�@H�Q�/H��A��H��D��[]A\A]���H��D��[]A\A]���AWH��AVAUATUSH��H	��BI��H��H��t
�~�-M���DA�}
�YH���)�C���1�L�5��"f�H�[(H�����C������u�L��H�5bH���p<��I��H��t�H����H��H���D;��I��H����H�Q�/H��L���H�B�/L���H�5m%H���5����t4�H�5]%H���5����t�H�5L%H���5�����A���H��H��[]A\A]A^A_��H���H��/H��L��f�1���@H�{xH��[]A\A]A^A_����L�k@M������A�}
������I�]H��t�H�{H��t�H�-���DH�[0H��t�H�{H��t��{u�H���������H�{H�5�Y�x����ttH�{H�5�`�d����u�H��H��H�5�a[]A\A]A^A_����M�������I���H�����H��t;H���9��H��H��H���/H������H�[�K���I���H������H������ff.�@��H��t?�u9H��t4S1�1����H��H��tH���"-��H������1�[ø����[��������f���H��H��tH�vH��tC�u=H��t8SH��1�H�����H��H��tH����,��H���z��1�[ø����[��������f���AVAUATUSH����H�^H����I��I��I��H��H�������H����H��1�L���)��H��H�����xP��H�{H��t�E��H�CH�C L�cHM��t>H�}@L�����H�C H�CH��t!H�P0H�X(H��tH��H�P0H�X(H��u�H�C �{PtXH��[]A\A]A^�@[L��L��L��H��E1�]A\A]A^�ܛ��@1������H�}@H�������CP�E����H�u@H��L��1�����ff.�f���H��t�G����w�UH���
H��SH��H��H��H�@�I4��H��t$H��H��H��H��[H�_]����f�H��[]�f���H��t�G����w�UH��
��SH��H��H��H�@��3��H��t-��t1��u$H�
H��H��H��&H��[]�]���DH��[]ÐH�
S������H����AUATUH��SH��H���O��wS�H���u2��"t?H���H��t	H�D�/�H����H������H���H��[]A\A]��H�{@H�5�
H���3��I��H��t�H�����I��H��t5H��L��H�p\H�����H���/L��H�H��[]A\A]���H��H��L��H��H�4\[]A\A]�I���f���Hǃ��N������AWAVAUATUSH��dH�%(H�D$1�H����H��H�����H��u_H�t$H��I�����I��H��t7�t$H���,���H�{@H��H��I�����I��M��tH���/L��M��u1L��H��1�H�����H�L$dH3%(u-H��[]A\A]A^A_�f�L��L��L��H���O�����D1�������ff.�@��H��t1�����D1��D��H��tO�G�P�1���wDH�WPH��tA�2@��t9@�� w-H�&H��sH�����t< w	H��r�1��D��f.���H�����G������UH��SH��H�XH��H�G�H9�t-H�K@H��t6H���H��t*H�ƉT$�����T$��tH�{PH�����H�CP�H�CPH��H�����H�CPH��H�CX��H����[]���������f.���H��/S� �H��H��tE�@������C�����{��CH���/�H�H��t6�H�CH��[�fDL�)1�1Ҿ��f�����@L�	1�1Ҿ��F���H���/H��1��fD��U�����SH��H9�wtH�U�/H��� �H��H��tk�@�'����EH��u%�EH�EH�EH��H��[]�@H���/�{�}�H�EH��t8���1�H��H��[]�@L�A1�1Ҿ��~����@L�!1�1Ҿ��^���H���/H��1��u���ff.���H��t�tH�H�GH��fD1��D��H�V������H9�w>H��t9UH��� SH��H��H�!�/�H��t"�X�X�@H�(H��[]�1��DL�a1�1Ҿ�H�D$���H�D$��f���H��t�G����v
��t��w�w�ff.���H��tOUSH��H��H�-��/�WH�E��t#H�;H��t��t��H�EH��H��[]��DH�H��u���D����H��tH�H��t�W�G��t��t���H���H��DH�WH��t�H)�H�G��f.���H����1������W9�����AT)�UH��SH���G�WH�?H���tG��uRH�KH��tI�CI��H�3I)�)�CL9�w)H���c ��H�C�SH��Dc�
�)kH�3��[]A\��3 ���CH����[]A\�f�������f.��ff.�@��H�����O1�����D�G�WE��A)�A9����AT��USH��9���A9�wGָ�������G��dH��H���/H�;H���tJ��H����H��C�k���[]A\�D����������E��x�C�4H������H�SH��t�H)�H�I��H���H��t7J�< H�CH�;뛸�����L��1�1Ҿ�����������{���L����ff.����H��tGH��H�>H��t<H��H��t#�V���(������H=���G�H���H��/H���@1��ff.�f���H��tH��1��ff.�f���H��t�G�1��ff.�f���H����AT1�US�WH�������O���9���L������M���k������
��t}��
H�����H�{H����I��I)�I9��PH���/L�H����H�CL�H��"�H��H���/�I��H����L�#�k�[]A\Á�v'9��������������9�w��H���H����+K��cv�H���/H���I��H��tP�SH�3H���H
��H�!�/H�;��CA��o�����E
��E�9�w���9�vz��y�L�\1�1Ҿ��l���[1�]A\�D1��D��
�P���H�A�/H����CI�����f��SH���U��H�C�SH������f����_���������f���H����ATUH��SH��������Ӄ������tSI��tR�}�E)�9�w"��L�m��9�sV�tH���)����t?�}Hc�H}L�����H�E]�]�1�[]A\�H���x���Å�x2t��fDL�.1�1Ҿ��>���������봃��D��H���]AUATI��US��H��H���ƒ������0�H���#1���tu���������}tn�U�E)�9�w#���9����tH���(�������UH�uLc�J�<.���H�}L��L�����H�E]�]�1�H��[]A\A]�DH�EH��t�H�}Hc�H��H)�H9��s���H)�L��H�}�Z��H�U��E�E]�1��H��������-����L��1�1Ҿ�����t���L��1�1Ҿ����f�������N������f���H��t�tH��t������R"��f�������f.���������H��t�t	���@����H��t�t	�|���@����H���+AUATUH��SH�����H��"H����H�����'H����H����H�5��H��L�-��
����H���f�L�����tFL�c<"u�H9�tH��H��H)��[!��L��H���K!��L����fDH��[]A\A]�DH9�tH��H��H)��!��H�5{�H��H��[]A\A]���@H��H�5[��q���H��H���f����@H�5��H���Q���H��H���F��H�5y��D����H��t�GHø�����ff.�f���H��t��x��
�	M�wH�@�GH������/�D����x��
�	M��=��/�fD���/�D��H��H���/� �H��tf�@H���DL��1�1Ҿ�H�D$��H�D$��f.���H��t'SH��H�H��t�V��H�>�/H��[H���D�ff.�@��AWAVAUATUSH��8dH�%(H�D$(1�H�D$ H��tH��H��t	H��H9r@t/�����H�L$(dH3%(�H��8[]A\A]A^A_��H�z(���J���w��H��¸����t�I��L�|$L�t$H���:��H�D$ H�$�C��ti��u4H�KHH��tH�T$ H����E1�M���4L�KH�{tI�H�C0H��uKH�[(H��u�H�|$ H��t	H���/�1�����@M����H�KHH��u�H�CXH��u	H�CH��t�H���c���@H�����1�������D$���g���H9
����H�|�fD��H9��@���H��H9L��u���{Hc�H��H�CHt��9���f�L�k`M���\�����M�mM������H�<$M��L��L��L���>U�����u�H�|$ H���,���H��/�����H�QH�qH���r��H��t�H�KHH�<$I��L��L��H�D$��T��L�L$���������1��D��������AW��AVAUATUSH��xdH�%(H�D$h1��T$H�D$XH�D$`�D$H�D$LH���.H�F@H��H�D$(H����N���
H�D$XI��E1�1�H�D$H�D$P�����H�D$0H�D$LH�D$8��������I�~H��L�L$XM�ȅ��H�u(H���H;v@�M���g�~�xH�|$�W������/H�t$`A�NI�VHL�L$XH����M��tI�H���H��1���A����L��PL�D$H�L$@H�|$8��s��ZY�����H�D$PA�NI�FH���tN����M�FM����A�HM�ƃ�����I�V`��H���I�~HM�������f.�M�FXM��t�A�HM���fDI�VHH�t$`H���.����D$L���"���H9�}��L�D��f�H��H9T������I9�u����DH9P�SH�H������x �u���f�L9�tYH�t$X�@M���������.M�v(L9�t3A�FM�F0��u�H��tH�H������M�����M�v(L9�u�1�H�|$`H��t6�D$L��~%1�@H��H��H��H�<�4�H�|$`9\$L�H���/�H�|$XH��t�QQ��H�\$hdH3%(���nH��x[]A\A]A^A_�@H�FH��tW9X$|RL�N�@H�L�I��H�F9Y$|*H��H�HH��u�H�FH�L�H�F����H�N@9Z |�B ����H�H��u�����H�D$XH�T$PI����u?H�u(H��t6H;v@t0H���s�~��H�|$�T������;H�D$XH�T$PH�|$HH�L$`E1�A�H�|$H�L$ �~fDH���?L�8M����I�NHH��t E��tE1�H9�A��H��tL�(M����H�|$A��H�Ѿ�����=Q��H����L�l$PI�UH�T$PH���aH�D$X�t$��u�I�NHH��t�E��t��M�GH�zI�pH9�t�*��H�T$P��t'M�GH�zI�pH9����������H�T$PM�?M��tA�$�|�A� �t�M�?M��u�H�D$X�DI�EH�zH�pH9�t���H�T$P��t	A�] DM�mM���	���A�}$�|�A�} �u��I�FHH�����E�����E1�H9�A������H�@I�FH����fDM�v(A�N����M�GH�T$PH��H�t$H�T$8H�|$ ��N�����tWH�D$PH�M��tTI�UH�H�T$PH�������A�NE��t?I�VHH��t6L�L$XM�������GH�H��H�I�VH���������}���I�V`�I���M���$���H�|$`�����H���c���L�����H�|$`�����H���H��������������X����AWAVAUI��ATUSH��H�t$L�L$dH�%(H��$�1�H��H�D$x��M������M���A�}�t)H��$�dH3%(�E
H�Ę[]A\A]A^A_�I��I�M@I��M��H����H���������H9�u�I���H�D$8M��t	I�FH�D$xI�1�L��E1�H��$�L�|$@�����H�D$`H�D$xH�D$�D$HH�D$XH�D$0L�T$ L�t$(A��H��H;L$�(�K����H��H��	�]���H���/H�T$P1��`�H�T$PH��I���	H�xH��H�H��H�@XH��H)���`���H�H�|$�zM�g(H���
L�}0I�o8�CH�sH;5�/A�GH�D$ I�G@��H;5}�/��H;5��/��H��t-H�|$8H����������H�CI�Gf.��{��CH�5XHc�H�>��f�H�|$�M���@��������fDH�sPH��t'H�D$8H����H��������%H�CPI�GP�H�|$xI9�uB���A��H�C0H���TI�G(A����H��tL�x L�`(H�[(I��I9���D�CA�@�vA��u�H��t�H�H��t�H�GH��tcD9p$|]H�w�!�H�H�0H��H�GD9q$|1H��H�HH��u�H�GH�H�0H�G�J���f.�H�O@D9r |�B ����H�H��u�����fDI�w����H�1�/�x�I��H����H�xH��H�H��H�@p1�H)���x���H�H�|$�2M�g(H�������M�|$���H�\$XH�SHH����H�|$xD�D$HH��E���H�t$H���H�|$(��H���`�~��H�|$0�M������pH�D$xH�SHH��tH�H����1�H�t$X�{��H��E��PL�D$@H�L$pH�|$0��i��Y^����H��$��D$HI�GHA��O�{�3H�CH���������$���u
�{�����M��E1�H�H@L��H�����@L�|$���fDH�L$�g���H�D$ H�|$H9���H�xP��H�sH�|$ �b���H���)���H�PPI�GI�G I�WP����H�C`A��H���p���D�L$HE���-H�|$�!H�|$(�H�|$x�
H�D$�x�EH�|$0H���L�������H�C`I�`H��$�H���H���/L�|$HH��L�d$PL�d$(H�\$XI��L�l$h�+I�|$��H��$�H�H��$�H�����0A�I��H����f�@@ �@H��$�H�xH��t��I�EH��$�H�xH��t	�f�I�EL�mL��M���j���H�D$xH��$�H��tL�M����H�|$0E��L������H��H���:���L�|$@H�|$xM�����@H��tM��t
I9~���D$�sF���D$H�\$I��	���f�L�t$(L�|$@�����H�|$x�f.�H�H�����x �u�H9Pu�H�@�D$HI�GH�;���L�t$(L�|$@1��o����L�`(H�[(I���%����L���H�H�������{$�|�{ �u�H�CH�zH�pH9�t�J��H��$���t�D�s �L�|$HL�d$PH�\$XL�l$hH�SHH���hH�\$XH�D$xH���$���H�|$(H����H�GH����H�JH��H�R��H�SHH�|$0�����A�����H��H��$��xF��H���#���H�|$xL�t$(��L�|$@H���n�������M�|$X��H�H���c���H�OH��tH�wH�H�WH��C���H����I�G�!���H���	�I�GP���H�CXH��������I�w(H�������H�|$ L������������H�sH�{@�����H��H���q���H�t$ 1�H��H������H���sH�l�/H���E���f�H�sH�|$8��������I�G�t���H�sPH�|$8��������I�GP����I�`H��$��$���H�|$1��{���H��HEt$X���H�xX�K������H�CPI�GPH�CI�GH�C I�G �i���L�J�
1�1Ҿ��O����������L�t$(L�|$@L���
�1�1Ҿ�!��H�|$x��������L�t$(L�|$@L���
��H�\$X�D$H�%�����L�|$@���o���L�t$(L�|$@H�|$x�G���L�|$@H�|$x��H�|$xL�|$@��H���9����A���H���/H��L�t$(L�|$@�H�|$x�����L�|$@��������AWAVAUATUSH��hdH�%(H�D$X1�H����H�͋JH�Ӄ���H����I��I��M��M��t
I9h@��H�C@H��tqM��tdL9��kI9��b���w�H�੾uI��������H�|$XdH3<%(��H��h[]A\A]A^A_�f.�I���M��u�럐H�C(L9�tH��tH������K����H�k@����M����I��$�H;���������d���KL�kM��tKH���H����
�����L������H�CM��tI��$�H��tL���w����uH�<�/L��H�sPM����H����I��$��@H�CHH��tlH�PH��t	�:x�L�HM����
M����A�~��L��H�5��
L�L$�
��L�L$����H���;C��I��H����L�{HL�kM��tKH���H����	�����L������H�CM��tI��$�H��tL�������uH�L�/L��L�k�CPH�CXM����A�U���.A������YfD����H�}PI�EPI�EI�E ��I�uH����H��tkH�PPI�EI�E I�UP�PI��I�m@��rL��w�I�uPH��t>M��t9I��$�H��t,�����t#H���I�uPH���R
D������I�EPI�EH��u��DI�E0H��u�M�m(L9�u�fD1�����f�1��������H�sPH��t�H��t��B����t�H���H�sPH����	������`��H�CP1����DH�D$HH�D$P�D$M��tH���I9�$������D$M����I�G�H�D$HM��t
1�I���H�t$HH�T$PH��H�D$H�t$A�����H�T$(L�t$ I��L��I��D��H9h@�9L�h0M����I�t$@�DH9��I�E0H����I��A�UI�E@��u�H9���M�u@D��������fD���C���A�H�}PH�CPH�CH�C �vH�sH���r�H��tH�PPH�CH�C H�SPE���D���L�kM���7���H���H���������L������H�CM��tI��$�H��tL���l������H�-�/L��1����������E1��>�����PI��M�u@���H�5�
Hc�H�>��L�l$I�UHH����H�|$H��u@H�D$ H����	H����	�x�����H�|$H���@������I�UHH�|$HH��tH�H����M����I�GH����H�JL��H�RL����I�UHH�|$�����A�����H��H�D$P�A=��H���Q	H�D$P�I�EH�t$����M�EM��tzI���H����L�ƺ�����L$<L�D$0�O��H��L�D$0�L$<I�Et.H���H��t"L�ƉL$<L�D$0����L�D$0�L$<����H���/�L$0L���L$0A�}�H��tA�}P��A�EPI�EXI�EH������H�|$HM9��/E�MA�A�vA��uH��tH�H���c��I�E0H�������M�m(A��u�I�EH��t����H�H���l����x �u�H9Pu�H�@�I�EH���I�E`��H������M��tI�L�l$�������H�D$ H�|$HH����H�����x�����H�t$ H�|$�d>�������I�E`H�D$PH����L�l$H�T$PH�l$0L�l$�5A��H�Ѿ����L���-;��H���$H�D$PH�H�T$PH���SH�D$HH��t�H�(H��t��3H�EH�zH�pH9�t�$��H�T$P��t�] �H�mH��t��}$�|�} �u�뿋D$���=���M�EM��ttI���H���	��L�ƉL$<L�D$0����H��L�D$0�L$<I�Et*H���H��tL�ƉL$<L�D$0�q��L�D$0�L$<��uH�-�/�L$0L���L$0I�uPH�������H�������H���H��������L$0�!���L$0�������I���I�uPH������9���L$0I�EP�\���@I�~PI�EPI�EI�E �MI�uL���L$0�U��L$0H���(���H�PPI�EI�E I�UP�����T$������I�uPH�������H����H���H������L$0�X���L$0������I���I�uPH���w���p���L$0I�EP���H�|$H�����H�������M��t
I9���D$�u7���D$���@H�GH��tW;X$RL�G�@H�L�I��H�G9^$|*H��H�pH��u�H�GH�L�H�G�H���H�w@9Z |�B ����H�H��u��$����H�}X��������H�}X�1�������1��#���1�M�����z���M�������I��$�H�������L���
���������H�{����H�C�y���M���w���I��$�H���f���L���������V���H�{���H�C1��U�M���9���I��$�1�H���9�L�����������H�{�m��H�C�
���I�����L��H����S��I��M��������0���H�H�����H�OH��tH�wH�H�WH����zm���zl���z���H���^8��I���f�1�A�}�L����H�|$ HEt$H��PL�D$ A��H�L$8�V��_AX����W���H�|$H���A�}�����I�EXI�EhA�EpH���������I�~X��������H���P��H�CP1���H���=��I�EP���1�L�d$M��H�\$H��H�l$L��H�D$ �+��������M�d$(M����M;d$@��A�D$��u�M�l$`M��t�I�uH����H��uMI�uH9�tH��������tiH�|$ tI�UH��L���7�����z���tHM��L�d$H�\$H�l$��L�{`�"H��tH��t	�����uM�?M��t�I�uI�H9�u�M�mM���c���H�\$ L���)���fDH�������H���H��tL�ƉL$0����L$0����A�}�M����Y���L��H��L$0�����L$0�;���L�l$H�l$0I�UHH����H�|$HL�l$���H�D$P�2���H������H���H������L�ƉL$0����L$0���*���I�}�a���L$0I�E�����o����A�~L�d$H�\$H�l$���H�CHA�L��H��H�HH�P�5Q��I�����I�}����L$0I�E����H�|$H��H�������������H���L$0�����L$0I�EP�@���L�l$��w���H���L$0����L$0I�EP�(������H��H�v� Hc�H��tED�
H��L��Mk�L�D��M��t*DH��I��H��H��I��L�L�D�J�H1�M��u�H��H��H��H��H�H1�H��t7�L�IH��t+fDH��H��I��H��H��H�H�A�Q�H1�H��u�H��H��H��H��H�H1�M��t6A�I�HH��t)DH��I��H��H��I��L�H��Q�H1�H��u�Hc�H��1�H��H���D��ATL�%3�/�USHc߿ ��HN�A�$H��H��t?�XH�[H��H�@�@H��A�$H�EH��t H��1�H���{�����EH��[]A\�H��/H��1�H��[]A\�f���UH��SH������H��H��tH�hH���
�H��H��[]���H���pAWAVI��AUI��ATUSH��H�?H���CA�UA�]��������H�D$H�K�/H�$�,DH�L$�ȃ�A9E�…���H��H�L$����H�D$H�@H��L�<A�G(��t���+f�I�G ��u	H�$L�����M��1�M��tNM�'M��tI� H��tI�wA��I�}u�I�H��tH�$�I�H��tH�$�I�H��t�H�$��I�}�7���H�p�/H�$@H�$�I�}H��t�$�H�$L��H�H��[]A\A]A^A_��f.�H�)�/H�$��f���H��/� ��AWAVAUATUSH��L�$H���9H��H���-H�_I��I��I��H���'H���������M�_M��tL��L���������KM�_M��tL��L��������M�_A�A�wH��M��L���
���H�@H��I�z(��u[1�E1�M����H�jL�bL�jH�$H��B(H�B H��tH�A�GI��wh1�H��[]A\A]A^A_��H�M����H���
E1��fDH�I��H��H����H��H9ju�L9bu�L9juظ����뛐E�gB�,��E�=�?w�M�7M���v���Hc�H�@H�`�/H��H��I�H���gH��1�H������A�oE���AA�D$�L��M��H�@H��M�l0f�A�s(��tNI�SI�KA�wA�M�C���I�H�@�AoH��H��Aocb�Aok j I�H�I��0M9�u�L�%ʺ/f.�L�]M��u�}DH�I�L�I��H��tgI�KI�SA�wA�M�CI��#���H�@I�H��HЋH(��u��AoL���AoKH�AoS P I�H�A�$I��H��u�H��0I9��k���L��A�$H��1�[]A\A]A^A_�I�H������o��H��H���;���M�_M���0����B���H��E1�H9k��H���/�0�H��H�������M�_�U����w�I��H��H���4���H�@H��I�B(����H�H��E1�H��u�^fDH�I��H�;tKH�{H�������t�H�{L�������t�H�{L���������o���H�I��H�;u�f.�H�{H���T������.���H�{L���@���������H�{L���,��������������E1�H��H�T$����H�T$L��H�B����H�T$L��H�B���H�T$H�B�G����I�L���������I��H���������fDI�L��������I��H��������~���fDL9c�X���L9k�N����_����L�%	�/����M�7���H��H���y������I��1�1������I��1��r��f���AWAVAUATUSH��L�$H���>H��H���2L�OH��I��I��M��M���TL��贽������L�]M��tL��L��蘽�����xL�]M��tL��L���|������4L�]�u�}H��M��L������E1�H�@H��HUI�׋R(��uKM����I�_M�gM�oM�w 1�I�A�G(�EM��tM�9H��[]A\A]A^A_�fDI�M��u�I��H�I�OH��tAH9�u�M9gu�M9ou���H�}H�޺�������H��H�������������@H9���H�8�/�0�H��t�M��L�]I���*���D�w�I��H��H��L�L$���L�L$H�@H��HU�B(I�ׅ���H�H��u�NfDM�?I�?t?I�H���+��t�I�L�����t�I�L�����uKM�?I�?u�fDI�H�������5���I�L�������!���I�L�������
���H�$H��t
I�wI� ��M�w 1��q���fDH��L�$�\��L��I�G�P��L��I�G�D��L�$I�G�����H�}L������o���I��H��������{���fDH�}L������G���I��H���k����S���fDM9g�W���M9o�M���H�$H���F���I� H����8������I��I��1�1����ff.�f���M��I��1�����ff.�@��H����H����AUI��I��I��ATH��I��UH��SH��H���w���H�@H��I�C(��tnI�{tOH���
f�H�H��t@H9hu�L9`u�L9hu�H�@ �BH�{L�����tH�{L�����u-H�H��tH�{H������u�H�H��u�1�H��[]A\A]�H�C ��D1��D��1�1������1����D��AWAVAUATUSH��L�|$PH���xH���oLc_HcoD�H���r�L�fH��Hk�H���H��t/f�H��I��I��H��I��L�H�A�l$�H1�H��u�H��H��H��H��H�\:H1�A��H�jH��t+�I��I��H��I��I��M�I��]�L1�H��u�I��H��I��H��I�L1�H��tM�H�iH��t+�I��I��H��I��I��M�I��]�L1�H��u�H��I��H��I��N�T:L1�M��t5A�I�hH��t(@I��I��H��I��I��M�I��]�L1�H��u�I��H��I��H��I�L1�M��tMA�I�iH��t*fDI��I��H��I��I��M�I��]�L1�H��u�H��I��H��I��N�T:L1�M��t5A�I�oH��t(@I��I��H��I��I��M�I��]�L1�H��u�H��1�I��L�L$I��M��H��H�RH��H�A(I�΅�u�W�M�6M��tHI�VH��H���!����t�I�VL��L�������t�I�VH�|$L�������t�I�F �	�1�H��[]A\A]A^A_��A��Hk�H�������H��E1�E1�1�j�I��H���@��H��E1�j�.��H���f���H����H����AWAVAUATUSH��H�H����D�GE����H�T$I��E1�H�4$�f�I��E9f~vI�K�,dH��H�s(��t�A�FL�;A��H�{ H��t+H�$H�KH�SL�CH�t$��A�FD9�tI�H�H9�t3M��t�L��A��M�?H�{ H��u���f.�H��[]A\A]A^A_Ð�K(H���u	I9��]���A��I���{���f��ff.�@��H��(dH�%(H�D$1�H�T$H��H�4$H�5����H�D$dH3%(uH��(��6���fD��H���M���
H�H����D�WE����AWAVI��AUI��ATE1�UH��SH��(L�L$L�D$H�|$�!fDH�D$I��D9`��H�D$H�O�dI��N�<A�G(��tѐI�H��tI�wH������tKM��tI�wL������t6M��tI�wL���r���t!I� H��tI�OI�WM�GH�t$H�D$��I��H��u�H�D$I��D9`�e���H��([]A\A]A^A_��ff.�@��H��(dH�%(H�D$1�L�L$I��L�$L�%�����H�D$dH3%(uH��(�趾��fD��AWAVAUATUSH��H����H����I���I����I��H����I�H��tjA�V��~b1��fDH��A9n~NI�H�\mH��HËC(��t��H�sH�{ L�;A��H�KH�SL��H�sI��L���h���M��u�멐A�FA�D$H��L��[]A\A]A^A_�DE1���ff.���H��t�Gø�����ff.�f���H����H���AWAVI��AUI��ATI��USH��H���w�L�$I��H��H�����L�<@I��L�|$M}A�G(����1���I�L��H����I��I�H���2���t�I�L���"���t�I�L������t�H�$H��tI� H��tI�w��I�}I�G tpI�?H��t3H���/H�}L���A�m1��fD�����H��[]A\A]A^A_�H��to�oL�|$M}H�C�/A�oOAO�oW AW ��I�H��t	H��/�I�H��t	H��/�I�H���_���H��/��Q���A�G(�\���������D��I��1�1�������I��1�����f���1�H9��������B��ff.�ATUSH��tOH�I��H��H�H9�u�<@H�H;]t/H�{L��U��x�H9]tH�{L��U��u
H��[]A\�D1�H��[]A\�ff.�ATUSH��tOH�I��H��H�XH9�u�;H�[H;]t.H�{L��U���H9]tH�{L��U��uH��[]A\�@1�H��[]A\�ff.���AUI���ATI��USH��H�-p�/�UH��H��t]f�H�@��UH�H��t^H�H�@H�@M��tL�kM��H�5����IE�H�sH��H��[]A\A]�fD���H�(�K��H�5t�
H�81��������H�(�+��H�5|�
H�81���H��/H��1��ff.�f���H��t'H���.���H��t	H�@H���1�H���f�1��ff.�f���H��t'H���^���H��t	H�@H���1�H���f�1��ff.�f���H��tgATI��UH��SH�H�H9�u�H�H;]tH�{L��U��x�H��/��H��t6H�SL�`H�
H�H�
H�AH�H�P1�[]A\���f.��[��H�����H�5l�
H�81��Ӹ��ff.���H��toATI��UH��SH�H�XH9�u��H�[H;]tH�{L��U���H�9�/��H��t-H�L�`H�H�H�BH�H�X1�[]A\�fD��f����H��C��H�5��
H�81��Ӹ��ff.���H��tWUSH��H���I���H��1�H��t.H�KH�UH�EH�H�PH��tH���H���/H���H��[]�f.�1��ff.�f���H��tWUSH��H���I���H��1�H��t.H�KH�UH�EH�H�PH��tH���H�;�/H���H��[]�f.�1��ff.�f���ATUSH��t3I��H��1��f���L��H��������u��[]A\��1ۉ�[]A\����H��tgAUATUSH��H�H�H9�t?L�-��/I���H�+I�T$H�CH�(H�EH��tH���H��H��A�UI9,$u�H��[]A\A]���ff.�@��H��t/USH��H������H�-"�/H�;�UH�EH��H��[]��D���������H��tH�H9�����D��H��tH�H��1��ff.�f���H��tH�H�@��1��D��H��t(H�1�H�H9�tf.�H���H9�u��@ø�����f���USH��H���.�����u:H�H�KH�(H�UH�EH�H�PH��tH���H� �/H��H�H��[]��f�H��[]�f���USH��H���λ����u:H�H�KH�hH�UH�EH�H�PH��tH���H���/H��H�H��[]��H��[]�f���H��tGUH��SH��H�g�/H���H��t0H�H�hH�H�H�BH�H�X�H��[]�@1��D����H��k��H�5��
H�81���1���f���H��tGUH��SH��H��H�XH�ۡ/�H��t,H�H�hH�H�H�BH�H�X�H��[]�1��D�S��H�����H�5d�
H�81���1���f���H��tH�G�f�1��ff.�f���H��t;H�7H�H9�t4H���
�H��H�JH�BH�
H�H��H9�u�H�PH�HH��H������H��tOH��tJAUI��ATI��UH��SH��H�H�H9�u
�f�H�H9]tH�{L��A�ԅ�u�H��[]A\A]�fD����H��tOH��tJAUI��ATI��UH��SH��H�H�XH9�u
��H�[H9]tH�{L��A�ԅ�u�H��[]A\A]�D����H��tOH��tJATI��UH��SH�H�H9�u�;H�H;]t/H�sL�������t�L���'���[�]A\�D��f�[1�]A\�f���SH���ӧ��H��[���f.���USH��H��t1H�wH��1��þ��H��H��tH��H��萧����uH��H��[]�f�1�H��H��[]�@��H��tWUSH��H���Y�����t
H��[]�fDH��蠸��H��H��t�H����H��H���ż��H��H��[]�7�����f.�D��1��f�����fD����fD��1��f���LcLcI�I�L9���L9���I��H���1fDA��>tbA��&ttA��
��D�H��I��M9�v2L9�s-E�A��<u�M��I)�I��~I���&lt;H��M9�w�@)�A)Љ1�D��M��I)�I��~��&gt;H���M��I)�I��~��&ampH���@�;�@M��I)�I��~��&#13H���@�;�^���E1�1��f.���H���H�5�
��������H�����f.���H���H�5��
�������H�����f.���1��u��DH��t3USH��H��H�-[�/H��UH�{����H�EH��H��[]��@����H��t��x����fD������f���H��裢��1�H���ff.�����G������H��t��x����fD������f����w������S������������E؉�[�fDUA���SL�P�
H���H��(dH�%(H�D$1�H�l$	H���1����H�=@XH�������t�H�5	�
H���s�����u7H��H��tVH��H���+���H��H�T$dH3%(H��uH��([]�fD�H�5��
H���$�����u�H��H��u��1��@H���/H�8������"���H�5v�
�lj�肪��H��H��u����z�����軵���n���豭�������fD��SH��H����u0�|$�7���H�
9�
�|$�0��uFH��I��1�[�Ǧ���H�
�
���~ۍ�$�����8�H���.H����f���
��������	����J�������}���
���#�"��!�*���2���:���B��s�J���R���Z���b���{���a���x��Z�^��$�D���*�������������%������������&�t���Z��'�@��_�&����������a�� �G��"�-�������������n��������X�]��j�C��o�)��e���b�[��r�A��a�ZH�
)�
����fDH�
9�
�������H�
�
������H�
-�
������H�
�
������H�
	�
���y����H�
��
���a���H�
�
���P���H�
�
���?���H�
�
���.���H�
�
������H�
�
������H�
��
�����H�
��
�����H�
�
������H�
�
������H�
�
�����H�
�
�����H�
��
�����H�
��
����H�
�
��s���H�
^�
��b���H�
@�
��Q���H�
�
��@���H�
��
��/���H�
��
�����H�
��
���
���H�
n�
����H�
8�
����H�
�
�����H�
��
�����H�
�
����H�
-�
����H�
��
����H�
�
�����H�
��
���t���H�
��
���c���H�
��
���R���H�
��
���A���H�
o�
���0���H�
F�
������H�
$�
������H�
�
�����H�
��
�����H�
��
������H�
��
������H�
c�
�����H�
@�
�����H�
��
�����H�
�
�����ff.����SH��tFH��tAH��Hc�H����Π���Å�x��[�@H���
1���
�����[�f��������f���H��tzH��H���/H98t/H�(�/H98t#H���/H98t
������t+1�H���fD�#�����y�H�U�
1��茝����H�I�
1���D$�s����D$뺸������ATUSH��dH�%(H��$1��G����&L�%o�/����A�$H��H���`H�xH�@Hǀ�H��)����1����H�H����A�$H�CH���@H���
jp����P�H�{E1�A��(���ZY����1�1�1��C���H��H�{H�3H�CA�1�L�~�
jH������jjjjjjjh�菗��H�CH��PH��
H�C0���
�C8H��$dH3%(H����H��[]A\Ð1���@H�߉D$H�\$����D$H��H�
��
H���
��A��1�蓜��H�ھ
1ۿ进���DL���
1�1Ҿ�螞���b���f�H��1��v���L�/�
1�1Ҿ��l����0�������f���H���Ú����uH���H�a�
1���7������������H�������xH���f.�H�1�
1���D$����D$H�����H��������uH���H��
1���ǚ�����������H��胲����xH���f.�H���
1���D$艚���D$H���ATUH��SH��H�L�e0dH�%(H��$�1�H���/HuI)�H��H��t6H�]D)�]8H�EL�H�E01�H��$�dH3%(uHH��[]A\�H��I��H�
��
1�H���
��H��覚��H��
��ԙ���������h������H��tgH��tbATUH��H��Hc�SH��Ӻ���I�ą�t��A��[]A\�@H��訚����t�H���
1���a����������f.�������f.���SH���H�=�LH��H�������uH���/H�H��[�f.��H�52�
H��蜔����u8H��H��tOH�5%�
H�����H��u�H��1��H�D$跘��H�D$렺H�5�
H���L�����u�H���f�1��y���f���H��蓾����xH���f.�H���
1���D$�I����D$H�����H��tH��许�����t
1�H��ø�����H���
1���D$�����D$��ff.�@��H��胩����xH���f.�H���
1���D$蹗���D$H�����H��Hc�萫����xH����H�?�
1��H�D$�x���H�D$H���ff.���S1ۅ���[ÐHc�蘜���Å�y�H���
1���/�����[�ff.���H��I��H��H����D��LE��t
�����H�H�������H�����HD�����E�1�A���������uH���H�QH��PAPE1�jjjjP1�jjAQA�h
�l���H��h��1�A�1�1��f�A�1�1������������Ɨ/��tn�
��/��~PHcу�H�5˗/H��H)�H�N�H��H��H�D�HʐH�H�� H�@(H�@0H�@8H9�u��b�/�T�/����F�/��tJ�@�/��~@��HcЉ0�/H��H�B�/H��H�H�H�BH�BH�B�������f�����/��tn�
�/��~PHcу�H�5�/H��H)�H�N�H��H��H�D�HʐH�H�� H�@(H�@0H�@8H9�u����/�t�/����f�/��tJ�`�/��~@��HcЉP�/H��H�b�/H��H�H�H�BH�BH�B�������f���S1�H��dH�%(H��$�1�H��t+H��H���ʛ�����t�D$1�%�=@�Ã�H��$�dH3%(��u	H�Ġ[�謝��ff.��H����SH���H�=BGH��H�������uH�ƈ/H�H��[�D�H�5�
H���\�����uXH��H���̓����t8H�5̺
H��虬��H��u�H��1��H�D$�p���H�D$�f�H��1�[���H�5��
H�������uH���f��H��H�5{�
�̎��H�S��HD��i���D1��D��UH��SH�����H��H��tH��H��[]�@H��1�1��|���H��H��t�H�����H��H��H��/�H��H��[]�SH���H�=�EH�������tj�H�5��
H��������u*H��H��tBH��艒����t6H��H�5��
[饧��D�H�5��
H���܍����u8H��H��u�1�[�H�	�/H�8蹮�������H�56�
[���3����H�5>�
H��茍�����s���H���e���ff.���UH��SH������H��H��tH��H��[]�@H��1�1��<���H��H��tH������H��H�҉/H��H��H��[]�U�SH��H�=�DH��H�������t}�H�5o�
H���ٌ����u-H��H��tLH���D�����t@H��H��H�5=�
[]�{����H�5<�
H��蔌����u�H��H��u��1�H��H��[]�@H���/H�8�a�����芞��H�5޷
�lj����H��H��uą�x����'���H��H��[]�ff.�f���UH��SH�����H��H��tH��H��[]�@H��1�1����H��H��tH������H��H���/H��H��H��[]�S�H�5A�
H��請����uH��H��[����f.�H�ߺH�5!�
�|���H�S��HD�H��[���f�AVI��AUI��ATI��US�����t?��M��tL���w�����u,M��tI���H��t�E���������tM��u/1�H��[]A\A]A^�f�L��L���u���H��H��uM��tL��蠕��H��H��t�H��������u�M��twI���H��tk�E���vk��u�H��H���ý��H��H��tvH�4�/H��H��[]A\A]A^�L��L���%���H��H���C���H�������t��C�������H��耒��H��tH��H��똃������w���H������ff.�f����ڏ/��A�Ǐ/Lc�M��L�ڏ/I��M�I�P�PI�8I�pI�H���/�f.�������f.����z�/��A�g�/Lc�M��L�z�/I��M�I�P�PI�8I�pI�H�?�/�f.�������f.�����/��tÐH��H�
��/H�Ά/H�5w�/H�=Ȇ/�{���H�
d�H���H�5���H�=���Z���H�
��H���H�5e���H�=��9���H�
�/H���/H�5t�/H�=��/����H�
1�/H���/H�5��/H�=܅/����]�/H�������F�/��tÐH��H�
%�/H�=�/H���H�5P����H�=4�/H�
�H��H�5��ʗ����/H���ff.���H���ҋ/��t.H�=�/H�
PH��H�uH�5��y���f�������f���U���@SH��H�(�/�H��H����f�@@ @0�ҧ���8�Hc��ƣ��H�C H��tu1�H��裰�����,���H�CH��tK螧���8�Hc�蒣��H�C(H�CH�CH��C0����H�C8H��H��[]�fDH�C(�fDH���/H��1�H��H��[]�L�z�
1�1Ҿ������@��AWAVA��AUATI��USH���r�/����M��tPHcb�/�Ń�xBH��L�-l�/I�\��H�H��tL��Ѕ�tL��SI��H��u!��H�� ���u�E1�H��L��[]A\A]A^A_�D�����I��H��txHc�H���M�>H��L�H�EI�FH�EI�FH�EH9�tcH�l���H9�u��H�=v=L�������t�L��腗��A�F0�z���@�3������fDHc�L��H��A�T-�R���@�H�==L��������0���L���*��������A�F0H�E�b���D��UH���8SH��H���/�H��H����H�@0f�@@ ����H�C H��t}1�H���:���H�kH��tQ���7���H�C(H��tN�H�����H�CH�CH��C0H��H��[]�f�H�C(��fDH�{ 臇��H� �/H��1�H��H��[]��L��
1�1Ҿ�莋���ff.����UH���8SH��H��/�H��H����H�@0f�@@ �
���H�C H��t}�H���'���H�kH��tN���$���H�C(H��tK�H��讇��H�CH�CH��C0H��H��[]�fDH�C(��fDH�{ �w���H��/H��1�H��H��[]��L��
1�1Ҿ��~����ff.����H��t_SH��H�(H��t
����H�C(H�{H��t�/���H�CH��tH�;��H�{ H��t
���H�C H�t/H��[H�������U��SH��H�����H�8t�����H��H�H��[]��H����H��[]����U��SH��H���;�/��t7H��t<���+���H��tH��/H�
H�H�H�HH�PH��[]�fD諾��H��u�H��1�[]�ff.�f���UH��SH��H���ʅ/��t6H��t;H���)���H��tH�]�H�
��H�H�PH�HH��[]�@����H��u�H��1�[]�ff.�f���H��tH� H��t�ɼ��f�1��ff.�f���H��tH� H��t�	���f�1��ff.�f���1���x6S�������H��tHc�H�
��H�H�c�H�HH�P[�f��ff.�@��ATUSH��tS��xOH����A�����H��H��t:H�(H��y/D��H��H�CH�{ H�C������tH�:}/H��D1�H��[]A\�fD��AUATUSH��H��������H��{/A�ԉ�I���@�H��H����f�Hc�L��@@ @0�!���H�C H��txD�����H�CH��tG�R����8�Hc��F���H�C(�C0����L�+H�CH�CH��H��[]A\A]�f.�H�C(��fDH��1�H��[]A\A]�H�9|/H��1�H��H��[]A\A]�@L��
1�1Ҿ�覆���@��1���x.S��H��苜��H��tHc�H�
�H�@H�H�H[�����H��t/ATI��UH��SH������}��H��tH�(H�XL�`[]A\�fD1��D��H��t/ATI��UH��SH��H������H��tH�(H�XL�`[]A\�D1��D��H��tH��H��H�=z��1�鳀��1��ff.�f���UH��SH���N���H�H��t�A���H�(H��H��[]�@H�9{/�����UH��SH���ޒ��H�H��t�ђ��H�(H��H��[]�@H�!{/�����ATU1�S��xlH�����G4����H�I�ԉ�H��toH�(H��tN��L��������upH�{(�O����H��I���ϧ���Ņ�xXH�{(E���-���I)�Lc8��[]A\���s���H��H�C(�f.�H� ��L��袋����t�fD������1Ҿ��`����C4�����ATUSH�����G4H���������������E�H�{ �S���H���"H�{ �u�^������0H�{ �=���I��H�CH���_��L��H�;�ЉŅ�~m�{0���H�{��H�{(H������L�������uMH�{(�����H��I��脦���Ņ���H�{(E���ޙ��I)�Lc8��[]A\�H����H�Ct��������f�H�	�H9C�l���H�;觍���C0�\����H�{ Hc��<�����[]A\�D�˳��H��H�C(�D����1Ҿ�����������C4�_���L�M�
1�1Ҿ������观���C4�4���1Ҿ�����C4�.���1Ҿ�������h���C4���ff.����H��t7�G4��u0H�t	�Ԃ��@H��H� �c�������H�������������f.���AWAVAUATUSH��H����D�w4I��E������I�Յ�������>A��>DN�I��uI�(��I� D��L��諈������I� ������>H=���1�L���~����y	����wI���I�(諗����Ic�D)�M�gI�M���������~BI�tPI�(������I�?H��A��A�ą���1Ҿ
�E����}��A�G4
H��D��[]A\A]A^A_�I� 跴����I�?H��A��A�ą�x�I� Hc��Y�������A�W0��D)�A�9�DO�E�g0Aޅ������뜐���I�Ic�D)�A�IŅ�������x���DI�(Hc�����f.�I� D��L���A�����u5I�t&I� �}���������fD�˰��I�G(�X���f�D���A���������D1Ҿ�A������|��A�G4����@��AWAVAUATUSH��dH�%(H��$�1�H���oH�_I��H���_I��H���S��A�ׅ�~j������S A�����H�s��A���;S8rH�3H��tH����A�ǃ��ts1�H�{������ul�S ��u�H�{��L��A��褀��H�CH��$�dH3%(D����H��[]A\A]A^A_�@H��H�߉�蓯��A�Dž�y�@H���LH��H��L�
5�
A��PH�
��
��H��H�ȩ
1�A������+|��X�
Z�H���W{��M�L$H�߾�1�L��
H�
��
H��
��{��H�ھ
��{���'����A���������蠄����AWAVAUATUSH��8dH�%(H�D$(1�H���5�G4I�����'I��H���H� H���I���������L��E1��R����Ņ��hE�f4E����H����M��LD�H�D$$H�D$H�D$ H�D$f�I�~ �l$$胛���D$ ��'�FI�~�I�~(�`I�~ �g���H�L$L��H�t$H��A�ׅ��\Hct$ ���OI�~ ����I�~ �M���H=�w
9l$$��1�L���qy����y	����<I�~��I�~(������HcT$$I�NI�)�H���������~[I�~H�L$��I�~(�b���H�L$��I�>H��щ����!1Ҿ
��L$�4y���L$A�F4
A��DH�\$(dH3%(D����H��8[]A\A]A^A_�f.�I�~ �d�B������:�������~�A9��x����fD���I�HcT$$I�)�I�~ ���H=���D��A���I�~ �w���H�L$��I�>H��щ�������I�~ Hc�D$�����L$A�F0����)��9и���O�A�N0�DI�~(Hc�D$�ؓ���L$��f�I�~ �W���H�L$L��H�t$H��A�ׅ�xPHct$ ��tGI�~ ����I�~t'I�~ �>������)����苫��I�F(���f��\$ ���A������u���DI�~ ��������D1Ҿ�A������aw��A�F4�4������ff.�@��H��tO�G4��uHH��tCUH��SH��H��H������H�ƅ�H��[]�f�H��H��H��[]�Ϫ���������f���ATUSH���K�o4���@H�(H��tH�ueL�cM����H�{ �
���H�{ H��葭����H�;H��A�ԉŅ���H�{ Hc��0��������S0)�9����C0�����[]A\�t61�H����u����y�1Ҿ�������*v���C4��[]A\�@H�{(L�cH���X���H�{�M���M��u�S0�S0��[]A\�f.��K���H�{(H���Ϭ����H�;H��A�ԉŅ�y1Ҿ	��u���C4	�@H�{(Hc��T���������됽�����W���f.���ATUSH����H�H��t� ���H�CE1�H��tH�;��A��H�{(�k0H��t
��s��H�C(H�{H��t����H�{ H��t
��s��H�C H�Xm/�S4H��H���u��E��AE��[]A\��н����[��]A\ý������USH��H��H�H�-m/H��t�UH�{H��t���~���H�EH��H��[]���ۙ��H�EH��H��[]��ff.����ATUSH��t{H��k/A��H����H��H��tgH�@f�H���z��H�CH��twA�D$���v1�����H�CH��tMH��[]A\�DD�#D�����H�C���1���@L�ş
1�1Ҿ��v���@H��1�����@L���
1�1Ҿ��v��H��1�����z������1�镧��D��AWAVAUATA��USH��H��(��r/H�t$���5H���$H���tt��I��A�D$��D$M���7I�}H����H�5K]覩��I�}�������D$H����H�5&]聩������L���qu���|$w�|$��Hc<r/A��A����H��L�-@r/I�l��-f�H��UH��H���A��H�� A����TH�EH��t�H��Ѕ�t�H��i/H9Eu�D��H���b���H���D�D$1�1�H����|��L��H���t��H���?����|$w�D$���eHczq/A��A����H��L�-~q/M�t��(�H��A�VH��H��uAA��I�� A�����I�H��t�H��Ѕ�t�H�7i/I9u�D��H��觥��H���f�H��i/H�t$H��H�t$H�|$H�t$�K���H�t$H��H��tIc�H�3H��I�I�EH�CI�EH�CH��(H��[]A\A]A^A_��1���@�������fDH�Ii/H���������� ���D��H�����H��H���	���H�|$讉��H��H��tqH�(H���H�CH����H�C�g���D��H���M��I��H�������H�|$�g���H��H��tL�(H����H�CH�Z��H�CH��h/H������H���=���������ATA��UH��SH��芀��H�8t����D��H��H��H�[]A\��DD��H��H��[]A\���fDAVAUATUSH��dH�%(H��$1�H��
H�D$H�����H��I��H�_����H���IL�k��L���c~���������{8w�H���������H�KH�C0��H�C0H��H��H�C0��u�H�K(��H�C0H��H��H�C0��u�L�k��L�
�
H�}D)�M���$L��H�L$A��L������A�����I��H��t0H��E1��yh����8�����c��L���k��H��f/H�|$�H�����H��$dH3%(D���mH��[]A\A]A^�f�H�3H������H������������H�}H�\$H��L�
d�
M��1�WH�
�
��H��H�#�
A������n��X�
Z�H����m���[����H�{ �Ϥ��H�{ I���3���E1�H�}��M������H�\$�f.�L�l$H��A��L��PH��
L���PL�
ʙ
H���
1��u�(n��L��H�� �
�A������Lm�����H�\$A��1���H�
ћ
H���
H����m���H�ھ
�m��H�}�����A������y����v����H�5^�
������H�5R�
������UH��SH��dH�%(H��$1��7n/����H����H��H��H����i��Ƅ$�H�ڋ
H����������!�%����t������D�H�JHDщ�@�H��H)�H�H9�v%�</u����/tsH���H9�u�/tj�H���%}��H��tFƄ$�H��a/H��H��$dH3<%(u8H��[]������H���$���1���fD���D$��<u��ff.����ATUSH��H��tH�H��t
H�
c/H9HtH��[]A\�H��H�8H��t�� e��=���H�H�8芈��H�5s�
H��I������H����H�H�8�ԓ��I��H��t*H���l��H����H��H��H��荚��H�{P��H�H�8�e��H��H���`���H�{H��t	H�c/�H�{H��tH�	c/�H�CH���q��H�C�#���fDH�SH��t?H�5��
H���0y��H��1��w������H�5��
L���A���H���)����a���1�H�5��
H����x���E1�L��H�Ŗ
H���ӈ���!���L���p��H�CP����ff.�f���H�=ef/�@��H�Uf/�@��ATI��UH��SH��H��t	�����tL��H��H��[]A\�%f/fDH������H��H��t(H��H��L���e/H��H��H��a/�H��[]A\�f�L��
1�1Ҿ�1��Dl����f���AUI��ATI��UH��SH���t��H�����H�5��
H��H���d����tP�H�5��
H���d����t8L��L��H���I��H9�tH�+a/H��H��L��[]A\A]��H�ھ�E1��h��H9�u���@H��uL��L��1�H��[]A\A]�W�H�5�
H���d����t#�H�5�
H���c����tL��L��H���H���E1��'h���\���f���AUI��ATI��USH��H��H��t��4����H��L��L���4��H��H��t4H��H��葖��I9�tH�%`/H�D$H��H�D$H��[]A\A]�M��u3M��H��^H��LD�H�5c_
L���Cv��H��1�[]A\A]�fDH��L��H��[]A\A]�����������4�y����4H��[]A\A]�fDUH��SH������H�誊��H��H�5�
H�8H��H��1�[]����USH������-�j/H��s�����H�5Җ
H�8H��H��1�[]��f.���H����ATUSH��H����H9=+j/���{إZH�k�uh�j/H;C����C�Z���H�S����H���@v��H�=�i/�T���H�C�H�-�i/H)�i/H�=�i/资��[H��]A\�a��f�H���������H�(蛉��H��H�5��
H�81���[]A\������ӈ��L�%li/H�(�d���L��H�5i�
H�81���辂���$���f�諂���.���fD苈��H�(�#���H�5��
H�81����h�����SH�=i/�o���H� i/H�=i/�܃����[����SH�=�h/�?���H��h/H�=�h/謃����[����H��~'H��t*H���2�H�=N�
�Y���f���SH�5�H�=��
��}��H��H��t,H�=�
H���2�����H��[��k��f.�[�ff.���H��tH���2�H�=Ô
���fDSH�5
H�=�
�d}��H��H��t,H�=��
H���2�蓘��H��[�jk��f.�[�ff.���H��t'L��g/H�
�g/H�z�
1���Ƙ��fD�ff.�@���ff.���S�ug/��uq�gg/�{��H�=j�
H�4g/�]��H��tH��H�g/H�5[�
1���H�=Q�
�]��H��tH��H��f/H�5D�
1��Ʉ����[�D�������f���AUI��ATA��UH��SH����f/����H�����H�}(�h���H��H���<H�hH�=�f/H��ZH�L�kD�c �ǎ���]f/H�if/���Lf/H�CH�]f/H�H;Cf/H�Lf/w:H�=+f/�����f/H;CtzH��(H9�e/tH��H��[]A\A]��H��e/���t��H����8����$���H�輅��H�5ݒ
H�81���1��{��H��H��[]A\A]�f��~��H��(H9�e/u��ل��L�-re/L� �j���H��L��H�5ē
H�81�A���~��H��H��[]A\A]�f�蛄��H�(�3���H�5|�
H�81����z������ff.���1�H�5�|
�~���ff.���AUI��ATA��UH��SH���e/����H�����H�}(蘁��H��H���<H�hH�=�d/H��ZH�L�kD�c �����d/H��d/���|d/H�CH��d/H�H;sd/H�|d/w:H�=[d/�6���Hd/H;CtzH��(H9/d/tH��H��[]A\A]��H�)d/����r��H����8����T���H����H�5]�
H�81���1��7y��H��H��[]A\A]�f��+}��H��(H9�c/u��	���L�-�c/L� 蚃��H��L��H�5�
H�81�A����|��H��H��[]A\A]�f��˂��H�(�c���H�5��
H�81����x������ff.���AWAVAUI��ATUH��SH��H�����Ic/�L$H�����
L�s�c/L�{�L9��[�{إZ���C�Z���H�=�b/�C���H�=�b/H�C�H�-�b/H)�b/�}��H����"H�u(L���ޅ��I��H���RH9�b/��H��ZI�l$H�=b/I�$�D$M�t$M�l$A�D$ �Ê��H-tb/H�db/H;-Ub/H�-^b/w$H�==b/I��(�}��H��L��[]A\A]A^A_�f�H�-!b/�����p�����fDL��E1��%�����;���H��a/M�|$H�H�T$���I��L��H�T$H�8H�5��
1����{��������{�����fD���E1�H��x���H�59�
H�81�����v���<���H��L��H���[]A\A]A^A_��|��DL���Y��������1�H�y
�n\��ff.���AVI��AUA��ATI��US�&f��H��H�h�a/����H�{)�}��H��H����H�hH�=�`/H��ZH�L�sD�k ������`/H��`/����`/H�CH��`/H�H;�`/H��`/wBH�={`/H�k(�R{���d`/H;CtFL��H���\��H9-D`/tR[H��]A\A]A^�fDH�A`/���n���5���fD�{y���f�1�[H��]A\A]A^�f��K��L�%�_/H�����L��H�5N�
H�81����6y��[H��]A\A]A^�f.���1�H�5�w
�~q��ff.�����_/��uÐH��H�=�_/��i��H�u_/��_/H���fD��H����H��A��D	�H��A��D�u@H��t;H��S/H�8H��R/H�0H�xT/H�0H��Q/H�H�Q/H�1��fD������f.���H��t
H��S/H�H�H��t
H�nR/H�H�H��t
H��Q/H�H�H��t
H��P/H�H�1���H����M��A��D	�H��A��D	�H��A��D�u>H��t9H�*S/H�8H�R/H�0H��S/H�H�Q/H�H�:P/L�1��@������f���H��t
H��R/H�H�H��t
H��Q/H�H�H��t
H�TS/H�H�H��t
H��P/H�H�M��t
H��O/H�I�1��f.�DH���
�q�@��	wZ�rD�F�A��	vH�BH�1��@��0t9�B��0<	w0��1t;��2��@��4H�B��u͸@��5u"��t�z/ÐH�BH�1��fDH�B��f�H��A��A���A��AA��v"D�@�A��2��I��M���I��A���DH����ƒ�߃�A��v�PӀ�2wI����@8�t?<%u�H����<~t�<%���A�PЀ�	���A�PЀ�	vσ�߃�A<v�H�1��<~�q���<%�D�AE�H�A��	vA���A��AA��wlD�AE�H�A��	�9���A���A��AA��wK�&���D<!t<$t�Pڀ�w�I��s�@8������~�����߃�A<�p����U���D�@�A��v�Ѓ�ÐA���M��������ff.�H����SH��H�?H��t	H�TP/�H�{H�H��t	H�;P/�H�{ H�CH��t	H�!P/�H�{0H�C H��t	H�P/�H�{@H�C0H��t	H��O/�H�{H�C@H��t	H��O/�H�{H�CH��t	H��O/�H�{8H�CH��t	H��O/�H�{PH�C8H��t	H��O/�H�CP[�f��ff.�@H��H��J
E1�1�WA�1�1�P1�jjjjW1�jjjj�i��H��h�DUSH���=)�H�M/H���sHc��H��t'�]H��[]�DH�=��
�|���1����H�=��
H�D$�_���H�D$�����H��M/S�X�H��H��t5H�xH��H�H��H�@P1�H)���X���H�H��[��H�=N�
����f���AWAVAUATUSH��(dH�%(H�D$1�H���kH��N/I���D$P�Q�H��H����M�,$M����A�}tx1�L�t$�A�DD�{�DH��A�|tV9\$�L��H�����H��tH����H��M/H��1�H�|$dH3<%(H����
H��([]A\A]A^A_�E1��D9|$��A�_Mc�B�D=:M�|$�D$M���A�H�|$I��	��H�|$����fDD�sA9��CHcÍr܍{I��H�@��9ve�փ�߃�A@��va�r�@��>����~tO��A���%��A���������7�Hc��SA��
�D=�Hc�D���A�D7�D�@I���E���A��D$���Z���I�|$@��S9���D�kHc��D#H�\$M�t$@I�����W�7�IcōN�A�UI��H�v�N߀�>wzI�����@�0A��A�6�D$@����E�}A9�|�H��H������H���4���A�6H���H�t$H�����H������A�H�����fD@��~t�@����%Ƀ��7��@��Hc�A�E���H�@��
�L҃�T:7�TD���U���f�A��A9���Ic��D����M�|$1ۋD$M�����I�|$���S9��kHc�D�k��Hc��D/�D/M�|$ H�\$M��uT�f.���Ic�A�uI�����H��A��v%�J߀�>��H��@H���fD�A��A�E�u�D$���A9�|�H��H���W���H������A�H���A�|$(��9���I�|$��S9��EHc�D�k�D/�CH�\$H��D/M�|$f�A�����E�uD;t$�
IcōJ�A�uI��H�v'�J߀�>�H������CH������A��롐��~�����ʉ��%�����������7�mf�H�t$H���c���H������H���
���f�A9���Ic�A���D@I�\$H�����;E��t[H�D$I��H�D$�*fDI��A�w�Ic�A��I�G�H)�H�@�4A�?t"D9t$�H�t$H������H���G���H���E�L$(E���P�T$A�F
9�|"H�t$H�����H������E�L$(�T$H��D)�Ic�L���
1�Hc�H�H�������hK��F�,0M�|$0�D$M���I�<$A�H��t	��/���D$H�\$����E�uA9�}OIcōJ�A�uI��H�v!�J߀�>wQH������CH���ED�A��D$A���f�H��H������H���4���A�H�����~t��ʉ��%�����������7�Hc�A�U@��
�D5�Hc�D����D7�D�@H�t$H���[���H������H������A���I�|$P��A�]9���Mc�H�D$B�D=?M�l$PH�D$A�}M��u#�q@I��A�N�J�T=L��L)�A�>tP��;\$|�H�t$H������H���<���H����H�t$H�����H������H���W���1������D$�0���H�t$H���}���H�����H���w���E������A�G��߃�A<����A�:�
���H�5O8誄������A�����փ�߃�A@��������r�H����@H���������~���������%�0��A���<���fDH��H������H���<���A�H���������~������ʉ��%�����������7�Hc�A�U@��
�D5�Hc�D����D7�D���DH�=b
��������I�|$8�^A�U9��xA�]Mc�B�D-?M�|$8L�l$A��D$�������D�sA9�}wHcÍr��KI��H�@��v!�r�@��>wxH�����WH��s������%�0�����HcɃ��Hc�@��
�D
D����˃�D07�D�p���L��H�����H����A�H���i�����~t�����%����7�H�t$H���K���H�������H����H�t$H���-���H�������H�����%�0���I�<$H��te�S9�}xM�|$0M�������A�A�����D�����H�t$H�����H���?���H�����H�t$H����H���!���H���j���M�|$0M���I���A�A���O���H�t$H���z�H�����A��H������A�];\$}~A�Ic�I���TA�EA�W�H��TA�EA�W�A��H��TA��D$����ʉ��%�0�����Hc�A�U@��
�D5�Hc�E����D87�D�h����>T��H�t$H�����H���@���H���d����ʉ��%�0���������ʉ��%�0���������UH��H��SH���Y��H��t&H��H��H���XX��H��B/H��H�H��[]��H��[]�f���H����USH��H��H�-CB/H�?H�EH��t��H�EH�{H��t��H�EH�{ H��t��H�EH�{0H��t��H�EH�{@H��t��H�EH�{H��t��H�EH�{H��t��H�EH�{8H��t��H�EH�{PH��t��H�EH��H��[]��fD����H�����H����/u�H�����/t�����I�������.����/u�"fD����H��I��A�P����/u�x/H�PtH��A�/I��H�B�R�DH���z/t�A�/H�BI���R��A��?/um�.ug�.ua�W��t��/uTH��@H����/���x.u�x.u�H��/�r���jH9�tDH��H���W����u��1���H��/�P������A��H��</uDH���</t���t��1@��ta�@��/tZH���H�����/t��u������H�P@��.t>�p@��.u�x.uD�HA��/t;E��t6fDH��@��u���H���f��y.u�H�qH9�u��q��E�������1�D�t@�4H��@��u�H9�s�y�/H�A�t�DH���8/u
H9�u��1H���H9�t�sr�x�/u�Y�z�/tH��H�P�H9�u��p��U���D���a���H9����������PH�H��/uH�����/t�H������0H������������H���w���f���H����ATUH��SH��H������H��H���QH�H�@�y�H��H�̓�H�������;��~�@��%u�D�CE�H�D��E�X�A����A��	����A��w�D�SA�j�E��A�R�@��	v��v
E�Z�A��w�A��7�fD�kN��I�ĉ�1�E��xCH��u&H��>/A�|$D�d$Hc���t$H��H����H��E���'�����EH��[]A\��S�j�A��@��	vA��A���A��AA����A�x�D��A��W��aA��	DF�@��	wVA��G�D�H����H��D�A�����f�H��=/�~�t$Hc���t$H�������H�=:w
���1��a���D��wA��G�D��A��AA��w�A��G�D��1��ff.�f�H��AUI��ATI��USH��H�.H��,dH�%(H�D$1�H��fD��ƒ�߃�A���l�PӀ�2��H���v<=�^<@��M����I�|$ H��t	H�L</�H��H)�A�D$H�p1�H���~N��I�D$ �;@��I�mH�,$�E<[�N�PЀ�	�pH��(��H��H����߃�A������HӀ�2��H����<=�rM��tXI�|$H��t	H��;/�I�D$I�|$H��t	H��;/�H�4$H9���H)�A�D$H�H���z@��I�D$H�,$�}:�I�m1�H�|$dH3<%(��H��[]A\A]�f�<%uH���s���H��s<f.�H���W����<~t�<%�n����C�PЀ�	vp��߃�A<vfH�,$�E<[�����H�MH�$�U��]t$��t H�EDH�$�H��H����]t��u���]�:���H��H�$���fD�C�PЀ�	�<�����߃�A<�.����w���DH�������fDH��H�$�����߃�A���D���<%u�H����f.�<~t�<%�:����B�HЀ�	v��߃�A<�(����B�HЀ�	v���߃�A<v��
����I�D$�Y���f.�H�k�����I��L������u
H�$�8.��H�,$�E�g����H��1��K��H�,$I�D$�����U��JЀ�	�����H��1Ҿ�����0�(���0������������)�9���H����E�HЀ�	v�M�������A�T$(���H����=��I�D$ ���fDH��H�$�#����'���H�$�8.�����	����
���H�$�8.��������������f�������I���UH��SH��H��H�6dH�%(H�D$1�I��H�4$�'�H���L��H�4$1�����uGH�4$�>/t�H��t4H�}0H��t
H��7/�H�4$H�;H9�tQH)��EHt0��<��H�4$H�E0H�31�H�L$dH3%(u0H��[]��1���I��H�4$H�E0���H�E0��H��f�USH��H�dH�%(H�D$1��H�$�:/t!H�L$dH3%(��H��[]�fDH��I��H��H��H�$1�1�L������tfH��t0H�}0H��t	H��6/�H�;H�4$H9�tlH)��EHtK�;��H�E0H�4$H�31��{���@H��1��L��H�$�����X���H�$�8/t��fD1���H��H�4$H�E0��H�E0��G��f�I�/ATH��UH��SH��H�>��O�I���A�$�Ѓ�߃�A<v�B�<2w(H����I�������%u�I����D��~t݀�%��A�D$D�H�A��	����߃�A<��H��tk�CH�t��[��"��H�S8H��tH��5/H���CHH�}L��H)�����:��H�C8H�{PH��t	H�e5/�H�}L��H)��t:��H�CPL�e[1�]A\�D�B�<�u���H�������f���fDA�D$D�H�A��	������߃�A<�����9���I������B���f.�1��)G��H�C8�[���I��ATI��H��UH��SH�>H��O�H��f���Ѓ�߃�A<v$�B�<2w*H����H����Ѓ�߃�A<w܀�%u�H����f���~tۀ�%u~�CD�H�A��	����߃�A<vzf.�M��tDA�D$H�t��\��!vI�T$@H��tH�	4/H��A�D$HH�}H��H)��ti�9��I�D$@H�]1�[]A\�@�B�<<w�H���G����D�CD�H�A��	�F�����߃�A<�8����k���I�������r���@1���E��I�D$@�f.�ATUSH��0dH�%(H�D$(1�H���H��H������H�\$��߃�A<wrH�h�L�c@A�$�ƒ�߃�A����<9��H��t5H�}H��H��tH��2/�H�D$L��H��H)��7��H�EA�$@<:��H���H��H�\$</�8�ƒ�߃�A��v �PӀ�2�_H��H���KL�T$ 1Ҿ:H�\$ L���r�����H��D$����D$H�L$(dH3%(�FH��0[]A\�DH����I�����DA�D$I�t$H�t$H�t$</�#�ƒ�߃�A��v �PӀ�2�JH��H����H�t$ L�T$ 1��$�H�t$ �>/��H���H�t$ 1�L�������t�����H��1��L��H�\$ �x��������H�\$ �;/t�H��tCH�}0H��tH�A1/�H�\$ H�|$H9���H)�H��EH�\�76��H�\$ H�E0H�\$���?�=��#�d1��������H���r���~����A�|$/�H�t$H���G��������H�t$H�t$���?�9��#�`1����<���H�������f��{/�fH�t$H������������H�\$�>����H���:����r���f�<~�����<%���S�JЀ�	v��߃�A�����S�JЀ�	�z�����߃�A���k�����H���-���H�}0H��tH��//�H�t$ H�|$H9��jH)��EH�E�4��H�t$ H�E0���f�<~����<%��A�D$�PЀ�	v
��߃�A<w{A�D$�PЀ�	�������߃�A<������YfDH�E0�%����P߀���H���0H�}0H��t	H�//�H�E0���@��!<��H���:���H�}0H��t	H��./�H�E0����DH��H�t$H��H�\$�J������H���H�\$����DH��H�t$H��H�\$���������H�D$��q���DH��H��H�t$H�t$����������H�t$����DH��H��H�t$H�t$�J������R���H�D$��u���DH��H��H�\$H�\$H����������H��H��������{����m����1��	@��H�\$ H�E0���I��H��L�d$L�d$L���������H�}��L��H���!�������������@1��?��H�t$ H�E0���H�E0��������������H�������H�����������@���H���;��������E(�����t����+>�������@��USH��H��t1H���Z��H��H��t!H��H���F�����tH���6��f.�1�H��H��[]�@���������ATUSH��tKA��H���XZ��H��H��t8E��uH��H���`:����uH��[]A\�@�HH��f.�H���x6��1�H��[]A\�ff.���AWAVAUATUSH��(dH�%(H�D$1�H���U�?I���9I���F�����9���D$Hc�H�P,/�I��H���BI��A�\$�1�L�l$������D$)���HcՍC�D�EL�<vP�C�<>��H��������CH��r5��L��H�T$D�D$�,��LcD$H�T$H����A�\$���D��I��A�\$����y���Hc�A�/H�L$dH3%(L����H��([]A\A]A^A_�L��L�����H��t@A�\$�I���9���f.���~t��Q���fD�8��I���fDE1��H�=�d
���H�u*/L��E1���g���H�=td
����V������%�E@��H�@��
�~7�V0C׃����s7��
C��S0C�A������X;�����ATUSH�� dH�%(H�D$1�H���{H����W��H��H���g�@HH��H����7�����=H�+H��tCH�5�c
H���F9��I��H���*H��1���e��H�5��
H����e��L��H��H�t)/�H�{H��tAH�5�c
�8��I��H����H��H�5=X
�e��L��H���e��L��H��H�*)/�H�{ H��tPH�5Ic
�8��I��H���wH��H�5�W
�He��L��H���=e��H�5}S
H���.e��L��H��H��(/�H�{H��t=H�5�b
�Z8��I��H���H�{ �H��L����d��L��H��H��(/�D�K(E����H�{0H��t2H�5�b
�8��I��H����H��H���d��L��H��H�C(/�H�{P��H��H�5C��wd��H�sPH���kd��H��H�{H��t.H�5���7��I��H��tkH��H���@d��L��H��H��'/�H�{@H��t=H�5��l7��I��H��t4H��H�5��d��L��H���c��L��H��H��'/�H����1���#�H�=�a
�$��H����1��H�u'/H��1�H�T$dH3%(H���
H�� []A\�fDH�{8H���#���H�5xa
��6��I��H��t�H��H�54��hc��L��H���]c��L��H��H�'/����f�L�d$L���
1���
L���)��H��H�5��
�c��L��H���c��H���-���f�H��H�5�U
��b��H�����f�H��1���0�������H�=|`
1����H���0��H�S&/1�������7��D��AVAUATUSH��to�?I��H��utH��t_�
T��H��H��tRL��H���4�����tH�{@H��tH��%/�H�C@H���]<��H��I���"0���H���0���E1�[L��]A\A]A^Ð�S��H��H��t�H��H���3����u�H�}u}M�����oS��H��H��t�L��H���|3��A�ą����LS��I��H����H�}��H���;��I��H���/��H���z/��L���r/��[L��]A\A]A^�fDH���(3��H��I���M/��[L��]A\A]A^�H���i;��H��I���./������H���Q;��H��I���/��H���/��[L��]A\A]A^�f�H�}0H�;�rH��t
H��!/�I�EH�}PH����H��!/�I�EPH�}@H��t
H��!/�I�E@H�}H��t7L�%�!/A�$I�EH�}0H��tA�$I�E0L���:��I������H�}H��tWL�%H!/A�$H�} I�EH��tA�$I�E �E(A�E(�fDH�}8H���e���H�!/�I�E8�S���f�H�{H���>H�� /�I�EH�}0H����?/�\��3��D�pH�{0H��t��3��A�H�$/Ic��I��I�E0H���D�H�S01�1�H����fDIc����tuA�D$D��H���/tfD���H����t��/u��tID�FE��D9�}�Hc�)�H�AH���H�S0H���<
I�U0@�<
H��H9�u�Ic�H�S0�Hc�I�E0�H�E0H���k�I�U0��tY��u#H�{t�/H�E0�I�U0���t7��H)��@I�U0�:H�E0�OH�H���0��u�I�U0Hc��
I�}0�+�����f�H�}�����H�}�x���H��t
H�F/�I�EH�{H����H�,/�I�EH�{0H��t
H�/�I�E0H�}PH����H��/�I�EPH�}@H���z���H��/�I�E@�h����H��E1���+��H����+������A����H�{H��tJH��/�I�EH�{ H��t
H��/�I�E �C(A�E(���I�U0��H�e/�I�E0����{(��r����H�=^[
�������H�{H��tJH�-/�I�EH�{ H��t
H�/�I�E �C(A�E(����H�}8H��tH��/�I�E8���{(�������H�{PH������H�{8H��u�����H��E1���*�����ff.���AWAVAUATUSH��H�����?��H��H���1N��I��H�����;.��H��H���1.������H�����}����M��I��H�����}.��H��H��1���-����u2I�4$H����I�}H��t
�7������H����-��H��@L����)��L����)��� fDH���-��I�D$0�e���fD1�H��H��[]A\A]A^A_�@H���x-��H��L���)����1���@H���X-��I�E0�U����I�t$I�}�
7�����[���I�t$0I�}0�T]��A�ƅ��1I�}0I�l$0H����H���N�E1�<.u�}/D��u�EH�����.����/�8������K�O�ʸ�fDH�����,���L�D8Tt�|�/�T�@�H��f��|�/H�P��YH�Љ�Lc���u��J�D��0��H����/����Aք�u�E��uX�E����H���8��H��H�5oX
�-��H�Ņ��2���I�D$0�$���@H�=Y���+��H������@H���X8��C�<v�H�D$H�v/ωL$Hc���L$�t$H��I���XA�F�H�T@I��L��L�D�.H���@�.�@�/H9�u�Mc�O�DvLc�M�H����M9�s��~
�}/�%L��H��L���4?��B�D0�L��H�5�W
�,��L��H��H��/��	����H����FLc�H�������O��/t{1�<.�������O</����H��������H�-�V
�/�I�l$0I�}0���C�D0��X���H�=�V
�z*��H���p���f�H�=���d*��H���Z����WH�����H���G*��H���w���H�=�V
1�����*���L���#���1�����Hc�L��H�u�>��B�D0�������USH��H�����?/H����H���$��H��tH���%��H��H��[]�)��fDH�5�F
H���U��H��t�H)؍H���wͅ�~,���߃�A<w�H��H���BH����߃�A<w�H9�u�H�5�U
H����*��H��H�������H���$��H��uAH�/H���d����/�E���1��/��H��4���D1�H��H��[]�@H���(%����fD��USH��xdH�%(H�D$h1�H����H���#��H��H��t-H����$��H���(��H�t$hdH34%(uaH��x[]�fDH���x[��H��H��t@H�T$H��H���H�H��H�\$@�0��H�9/H��H�D$�H�D$��1���W+���H��tKUSH��H��H�-�/H�?H�EH��t��H�EH�{H��t��H�EH�{H��t��H�EH��H��[]���ff.�@���f.���1��f����Pt�D��ff.�����ff.�H��H��H��H����H�wH��G0u@1�H��tUH��H�=~
A�E1�PW1�jjjjP1�jjjj�3��H��`H���H)�H��H����HF�H��u�H��
A�E1�P1�1�jjjjjjjjj�H3��H��PH����1�1��a���ff.�@UH��SH��H���w$��~MH�G(�S 9�|$�H��H�v/Hc�H���H��tPH�C(�S �c$Hc�H�,ȍBH�k�C H����[]�@H�	/�G$� �H�C(H��t"�s$�DH�52h
H�����1��DH�5I

H������C$1��fDH��H����L�WH��G0uF1�H��t[H��QRjjjjQjH��H��A�jE1�1�1�jVL���2��H��`H���DH)�H��H����HF�H��u�H��RH�j�
Rjjjjj�1�E1��z���ff.�H��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jjP1�AQA�APM��jjjRL���^1��H��x�f�L)�H��H����IF���E1�1��f�AWI��AVAUATUH��SH��XdH�%(H�D$H1�H�����H�����E���������
�GL�fhH�~`�D$�������C��I�I��M�ghH�{H��L���m���I�whI�`L���4��H�[L93t�M�ghH��L��H���B���I�whI�`L���b4��I�`1�L���T4���L$I�Gh���S���Y������5f.���uKH��E1�I��jH�
0P
�1�L���9���X1�ZH�L$HdH3%(��H��X[]A\A]A^A_�f�H��H�P
�L���I���1��DL�nhL�d$H�w(�2H�L����&��H��H���F�C���
�������u.I�whI�`E1�H��1���'��I�GhI�`E1�H��H��H����'��L9������H9k��H�~/H�����@D�oL�vhA��tH�~`1�L����2��I�GhI��I�H�{H��L�����H�[L9#t�H��H��L�����I�_hI�`1�H���2��I�GhA���}A����A���X���I�`H��L���z2����{������/���I�whI�`E1�H��1���&��I�Gh����f�H��E1�I��jH�
%N
� ����I�`H��L���2��I�`L��H���2��������I�`H��L����1��I�`L��L����1�����DL��1��1��I�`I��I�Gh���fDI�`H��L���1�������I�whI�`1��y1���#���@I�whI�`1�E1�H���%��I�`L��I�GhH���H1������H�5�b
L���1���1��5�����#��DH��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jjP1�AQA�APM��jjjRL���,��H��x�f�L)�H��H����IF���E1�1��f�H��I��H�D$H��toH�wL��G0uB1�H��PAQAPQH��1�jAQA�jP1�APM��jjjRL���.,��H��x�f�L)�H��H����IF���E1�1��f�H����ATUSH�o(H��H�H���H���H����H��t>H��H���O����t+H�{H����L�%/H��H���,����u)H�{�f�H�{L�%�/A�$H�{H��t	H��u�A�$I�$H��[]A\��f�H��u�H�{H��t*L�%�/��f�L�%�/����L�%�/�ff.�@�������H��t`ATUSH��H��tOH��L�%�`
�L��H���e��H�H��t-H�sH���C��H�;u�[H��H�5�:
]A\�8���[]A\��f.�H��tk���tb����&���߃�A���
��@���������(��������������_����:��	����f����߃�A������_����:����@���������(������������=vz��������
vo������=�vb�������vW�����=vJ����=�v=�����=��v0����=�v#����=
v������
v1��D��f�S��H�5�/����I����u+�����=�Qv��0t�����1�[�����fD�[�f�H��tk���tb����N���߃�A��v|��@�����vq��(�����vf���^�FЃ�	vV�FӃ�vN��:tI��_tD1�������D���߃�A��v&��I�����?��H��������H��H�Ѓ���u
��������=�v捆����=�vٍ������v΍������vÍ����=v�����=�v������=��v�����=�v�����=
v�������
�p���1��f.��NӃ�2�d���H��?H��H�Ѓ��;���@S��H�5&
/���7H����uc�����=�QvV��0tN�������vCH�5�
/���H����u1H�5�/����G����uH�5/����G��[���������[�f���H��t�b,��f��ff.�@��USH���qC��H��t<H�xH�-1/H��H�EH��t��H�EH�{H��t��H�EH��H��[]��DH��[]�f���H�VH9Wt
��@H��H��H��H�8�8��1�H���ff.�@�H��< ufDH���< t���tH�J< t ��BH��H�ʄ�u���@H��H���< t�t�� H���BH���ff.���UH���SH��H�
/�H��H��t}H�}H��t<�/��H�}H�H��t;���H�}H�CH��t:���H�CH��H��[]�fDH�}H�H��u�H�}H�CH��u�H�CH��H��[]�DH�5��	1��2�먃�t��t&��t�H�5{�
���@H�5�����@H�58�
���@AVL�5
5
AUI��H�5'[
ATI��UL��S�\��M�����E���������H�5\Z
L���)��I9���H�] H��u4�f��uL���E���H9k�I9���H�C H��H��tlH�ËE�P���w�;u�u��t�L��L���
������wkI9�t"H�U H��t;u�}tH�5PZ
L���
��H�mI9�tH���'���[]A\A]A^ÐL��H�5�3
�a
��A�u[L��]A\A]A^���D1�H�'D
�1��3�����fDH�u(H��tL����;��H�5�
L���
��H�uL���;����������t&��t	H�k�S���H�5�X
L������H�k�;���H�5�X
L�����H�k�#���ff.�AUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$���B�����u&1�H�L$dH3%(��H��[]A\A]�DH�DH��1�L���S��L���HcD$��H�������uۃ� u`fDL��H��1��#��HcT$HӃ� t��L��������v���@H��1�L������L���HcD$��H�������uۃ� t�1������>������DAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$���2�����uH�L$dH3%(uDH��[]A\A]�H�DH��1�L���K��L���HcD$��H��w�����u�1���������DAVAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L��������HcD$HÁ��?�� w:I�&fDI��s$H��L��1������HcD$HÁ���� v։�L��������u�H��L��1��{����HcD$HÉ�L�������uۃ� u`fDL��H��1��K��HcT$HӃ� t�ti��L���p�����t<@H��1�L�����L���HcD$��H��G�����uۃ� t�1������D1�H�L$dH3%(uH��[]A\A]A^ø�����DAUI��1�ATUSH��H��dH�%(H�D$1�L�d$L�����L��Hcl$��������uH�L$dH3%(uDH��[]A\A]�H�DH��1�L���K��L���HcD$��H��w�����u�1���������D��
wcH�
�V
��Hc�H�>���H��t;H���3���H��t+H������H��tH�����H��tH������1��D��f���H��(dH�%(H�D$1�H��tH�4$H�5�-H�T$H�����H�D$dH3%(uH��(��A���AUATUSH��H���}H�_XH��ttA��I��1�A���fDH�[HH��tC�{Pu����~�E��t�H��L�K�L��jM�D$H�
�>
1��o�H�[HXZH��u�H����[]A\A]��H��1�[��]A\A]��H�5/S�p�H��H��t5H�xH��H�H��H�@h1�H)���p���H�H��[��H�5i�	1�������USH��H��H�-�/H�XH�EH��t��H�EH�{(H��t��H�EH��H��[]��ff.�@��AUI��ATI��U��SH��dH�%(H�D$1�H��tL�������v+��w+M��t~1�H�>
�1�������t�1�H�
>
�1��^�1�H�L$dH3%(H���fH��[]A\A]�f.�1�H�w=
�1���H��/�0�H��H����f�H�C(CC�+�C�f�M��t�H��/�0�H��H�����+f�H�t$L��H�C(�CCC����H��H��tw�T$M��t.L��L���
�������H��L��H�C(�
��H�C����fD��L���>��H��H�C(�2��H�C����f�H�5Y�	1�1������M��t#�����L��L���C
��H�C���f.�L������H�C�������f.�����H��1��#����AWAVAUATUSH��H���UE1�H��tL���L�5?�.H�|$H��0A�H��H����f�@@ �H�s�E�C�EH����M���������L���v	��H�s(H�EH��t�����L���\	��H�E(H�sH���KH�|$�A���H�EH��tH�h L�{M����I��0A�H��H��� f�@@ A�I�w�A�G�CI�]L�k H����M���������L������I�w(H�CH��t�����L�����H�C(I�wH��tCH�|$���H�CH��tH�h M�I��M���X���H��H��[]A\A]A^A_�f.�H�C��f.�I�w(H��t�M��u�H������H�C(�@H������I�w(H�CH���k���H�����H�C(�Z���fDH�E����H�5��	1����a���DH�s(H���s���M���Y���H���j��H�E(�Y����H���X��H�s(H�EH��u��>���fD1��
���f���H��1��A��f���UH���pSH��H��.�H��H����H�xH��H�H��H�@h1�H)���p���H��C�EHH�}�CHH��t;���H�}`H�CH��t:���H�C`H�}P���H�CXH�CPH��H��[]ÐH�}`H�CH��u�H�C`��DH�5��	1��������H���`AUI��ATUSH��H��H��tL���1��
H��H��H�CH��u�H�CH��u�������H�sM����H����L����������L�%��.H�{A�$H�s(H��tL��������usH�{(A�$I�$L�c H��tkM��tfI9\$t~I�D$H���I�\$H���Y���H��L���M���fDL�%9�.I�$H��t	H����I�$H�{(H��t���I�$L�c H��u�H��H��[]A\A]��L�%��.�P���@I�D$�}���H��1�H��7
1�[�]A\A]����f�H��t[USH��H���}0��H�{@H�sP��'��H�{H�-��.H��t�UH�{`H��t�UH�{hH��t�C��H�EH��H��[]��@�ff.�@���f.���H��1��'��f����ff.���H����AWAVAUA��ATI��UH��SHc�A��H���Q��A)�A��1�E����A�$�����������uzI�T$�������1ɉ�H���{���H����
����)ƒ�1�&�D | I�T$���t�z����������H���)���f�H���
��H)�H��v)E����A�D$�������_���>H��[]A\A]A^A_����u�H���C
��H�#PCDATAH�L�f�A��~�HcЀ|�.t�H�� ...�@뫐I�T$�������1ɉ�H���q���H����	����)ƒ�1��D , I�T$����������A�(fD�LA�$���q���I�|$����I�|$(A��H��������A�D
A9���M�t$(M��tH���_	��L��H�|���A�:fD�I�t$H�������H���B2�����DH��� 	���?f�t����H���	���+f�T���f��)f�|�[����1ɉ�H���T����/���������Q������f�H������*f�L�3���f�A��	E9��;���H���{��H��E ...�E��������H�������Q���@���H������C���@ATUSH��H�$H��dH�%(H��$�1�H��H���[��H�C`H����H���6���H�UH�}PH��H�Ch���H�shH�{`�$��H�{`�*��H�EhH���@�����uKH�ChH�{`�D$�f��H�C`�D$H��$�dH3%(��H�Ġ[]A\��L�d$H�UP���L���D$����H��L�EM��jH�
�2
H��H�ߺ�����C@H�{`H�ChXZ����H�C`1��i���H��L�EH��E1�jH�
�2
�H���L��Y1�^�9������ff.���H��tH��t�~t1��f��~Hu*H�FhH��tASH��H��������u!�C@[����f.��[�f�����ff.�AWAVAUATUSH��H�$H��H�$H��HH�L$H��H��dH�<%(H��$8'1�H����H�������H����H�EPH�}hI��A�H�$H�EH�D$H�����0�������H�C H�}h1�1�H�C(�&��H��H���OH��$�M��H�D$M����E�oA��tL�NA����A��uNI�GH��tEH�xt>L��H���+��I�GL�xM����E�oA��u�L���84��A�ƅ���DM�W0M���IHcs ��~N�V�H�K(H��Hc‰�H)։�1҅�tH�T��H�SH��H��H��tL�z0M���aH��H9�uȉ{ 1�1�H���Y���PA�ƃ�A��DH���`���E����A����DD�H�{(H�C H��tH���.�H�C(H��$8'dH3%(D����H��H'[]A\A]A^A_�@A������I�GHI�H��tqH�pH��thL�t$�2L���V��I��H���01�H��H�����L;l$�����M;o�����H�1�.L������A�E1��
���f�H��1�H���C���v���fDH�$H�|$ ����D$ L��$�H�|$����Ƅ$�M�����H�5�C
L���Y�H�-�D
f�L��
H����������!�%����t�A�������D�H�JHDщ�@�H��L)�A)�A��A��1��A�|$wSA�D$HcD�H�>���L����1����u0��H�5�
L����I�|$0t8��H�5��L����M�d$0M���F����@A�???I�|$0uȺ�H�5�
L���l�L�D$M���bH��H�
.
AVL�L$(H�t$��H��E1��g��XZ���I�D$HH��tmH�xH��td�����	A9���L���H����������!�%����t������D�H�WHD�����@�I�D$HH��H�p����:f�I�|$�����	A9��}I�t$��L����I�|$0���������{ �����A�V��A������H��H���2��H�}hA��H���P���A���������f.�A�������Ic̀��.�������H�5�@
L�������H��M��H�
�,
jL�D$(���M���4���H�����H�$H�|$ ����D$ H�|$���Ƅ$��6����.��ff.���AWAVAUATUSH��8H�<$dH�%(H�D$(1�H����H��H����I��A��M�ƃ����m�������M���?L��H�t$ ���L�MPL�E@H��I��LE�M���zH�T$ M��t@M�@PM��t7I�xPL��L�L$���H�T$ L�L$H��I��tD�PHE����E1�@L��L��L�D$L�L$��L�L$L�D$H��H���E�xH���
H�|$ H��tH���.�H�D$ H�$D�cHH�����@0��L�sPM��tI�F H�E@H�k(H�C@H�E H���)H�X0H�C8H�] M��tH�Q�.L��H�L$(dH3%(H����H��8[]A\A]A^A_�fD����M�������H�<$1ɾH��*
�'���1��@H�}@L���1��H�CP�Q���M��tM���L��1����I��H�EPH���JL�E@H�T$ M���X������H�i�.L�L$�pL�D$�L�D$L�L$H��I���"H�xH��L�L$H��L�D$H)�H���pH�@hH����H�A�CL��L�\$�:���L�\$L�D$H��L�L$I�C�&H�T$ L��L��L��L�D$I�S`L�\$���L�\$L�D$����M�CXL�������M���=���H�<$1�H��)
1۾�����E����M������H�<$1�H��)
1۾�������f�H�<$1�H��)
1۾�w�����f�H�] H�]����H�<$1�H��)
1۾�J������DH�XXH�D$1�L��H�@XH�E@L�L$H�@PH�xP����L�D$L����H�T$ I��L�L$����DH��H��E1�M��jH�|$H�
<
���{��Y^M��tH���.L��H�|$ H�������H�s�.1�����f.�H�<$H�5-)
����M��u��f�H�<$H�5��	����M��u��f�H��E1ɺ�M��jH�|$H�
o;
H������XZL�\$L���,�M�������1����@H�<$H�5-�	�h��M��L�\$t:H���.L�$L��L�$H�|$ H�H��t
L�$��H�L�$L��1���8���H�}�.�����fD��H�5�������H�5U��`����H���H����UH��SH��H���FH���
����t	����H�5�:
H���/�H�u`H��tH������H�5%�
H����H�uH�����H�5v�H�����H�uPH��tH���c��H��H��H�5�:
[]���fD��u[H�5:
��H�u`H��tH���V��H�5��
H����H�uH���;��H��H��H�5�9
[]�v�fD��H��1�H�3'
1�[�]�M��DH�5�9
�<�H�u`H��tH������H�52�
H����H�uH�����H��H��H�5n9
[]��ff.���H��H��H���n��ff.���H��H��tH��tH��H�5���H���m�D����UH���SH��H�7�.�H��H��t%f�H��tH���Y���H�CH��H��[]�H�5��	1���������H��t?USH��H��H�?H��t���H�-��.H�{H�EH��t��H�EH��H��[]��@��H���_ATUSH�G@H��H����L����g��H�{`H��t�i!��H�spM����H��tL��������H�-`�.H�sH��tL��������H�shH��tL���f�����H�sXH��tL���M���tqH�EH��[]A\��@����H�{`H��t�� ��H�spH�-��.H�EH��t	H����H�EH�{H��t��H�EH�{XH��t��H�EH�{hH��t����DH�{X�UH�EH��[]A\��@H�{h�U�V���@H�{�U�-���@H�-i�.H�{p�U���D����������USH��H��tIH��H���H��H��t5H�;H��t����H�EH��H��[]�f�H�H��H��[]��1�H��H��[]�ff.����UH���xSH��H���.�H��H����H�xH��H�H��H�@p1�H)���x���H��C�EPH�}`�CP�ET�CT���H�}pH�C`H��t	�s�H�CpH�}H��t	�a�H�CH�}hH��t	�O�H�ChH�}XH��t	�=�H�CXH��H��[]��H�5a�	1���������AWAVAUATUSH��HH��$�H�|$ H�L$L��$�L�D$H�D$dH�%(H�D$81�H���iH�|$�]I��H���QH�~@H��E��1�H��tH���A�F���	�M��tL��D��������H�{@H��t
H9_X��H�CXH�D$(H���GH��.�x�I��H���
H�xH��H�H��H�@p1�H)���x���H�A�GE�wPH�C@I�G@H����H�t$�����H���&�H�t$�����H��I�G�������L��H��I�Gh����$�I�GpA�WTH�T$I�W`M��t�����L��H�����I�GXI�GpI�WhI�wM��H��H�|$(������H�D$0H�kPH���H�t$0L���d��H�T$0H��H��H�D$ID�H��H�D$��I��H����H���.�p�I��H���
H�xH��H�H��H�@h1�H)���p���H�A�EH�|$��H�|$0I�E��H�T$0L��H��I�E`H�t$A�EH���H�|$0H��t	H�S�.�H�D$H��tH��H�=�.�A����I�H�5���q ����u}I�hH��tH�5��X ����udI�mXL�%ҔH��u��H��H�}L���) ����uI�hH����L��� ������H�EHH��u�I�GHL�}H�DI�EXI�GHM�}XH�C I�_(H���CL�x0I�G8L�{ H�T$8dH3%(L����H��H[]A\A]A^A_ÐH�|$ 1ɾH�}
�h��H�|$E1�����f�H�s@H��tH���1��	�H��H�CPH������H�5�
1�����R���fDH�|$��H�|$I�G���L��I�Gh�����$�I�GpA�WTH�T$I�W`M���D���L����I�GXI�Gp�/���fDH�GPH���:���H�xXH���-���H�T$H�t$L������H����������fDL�{ L�{���H��M���H��AUL�|$0H�
�
L�L$L������_AXM��tH�D$ �@@H�{@E1����fDH��1����H�D$(H�CXH�������H�|$ H�5`
E1��P��H�|$����*����H��M��H��jL�D$H�
[
H�|$0���YL��^���E1�����L���S��������H���M��H��jL�t$0H�
V
L�L$L�����XZM�����A�F@����f�H�|$ H�5T�	���H�|$�����i���H�EH�(���I�GHM�}X�2���fDH�5�	1��R������������H�5E����0���H�5���������H����H��t~UH��H�5/
SH��H����H�upH���*��H�5�H���k�H�uhH��tH���
��H�5a�
H���K�H�uH�������}P
���EPH��0
Hc�H�>����H�5�.
H���	�H�u`H���m��D�ET�����V�������MH�5�.
H�����DH�}XtH�5,�H����H�uXH������H��H��H�5x.
[]��f�H�5�
H���q��t���@H�5�	H���Y��\���@H�5�-
H���A��D���@H�5�-
H���)��,���@H�5�-
H��������@H�5�-
H�������@H�5�-
H��������@H�5y-
H���������@H�5t-
���@1�H��
�1�������fD������1�H��
�1��r�����DH�5-
H���Y����@H�5-
H���A��|���ff.����H��H��H������ff.���H��H��tH��tH��H�5���H����D����AWAVAUATUSH��H����H����H��L	���L�vHM��H��I��H��I��M����H�=�.��H��H����H�@f�L���S�H�M��tL���C�H�CH��tH���2�H�CH��L��L��� ����udH��H��[]A\A]A^A_�f.�H�v@H��tH���1����I��H�CHH���U���H�5J
L��1��H����fD1��@L��H�V
�1����H��1��h����w���H�5��	L�������`���ff.����H�5���������H�5����@
����H����H��t~UH��H�5+
SH��H���6��H�uH������H�}t[H�5��	H�����H�uH���8��H�}H�5v�tH������H�uH�����H��H��H�5�*
[]�������H�5Z�	��ff.�@��H��H��H���~�ff.���H��H��tH��tH��H�5���H���-�D����AWAVAUATUSH��H����H�����:��H����L�~xI��I��I��H��M���	H���.�0�H��H���'L�����L�s(H�CH�����E0t
H�E���tSL�kH�CI�}(�F	��H��L��L���C �������A�EPH��H��[]A\A]A^A_�1���@I���I�uH�����������H�CH�C�@L�kI�}(H�C����H��L��L���C �����y�H��1�����z����H���1����I��I�FxH������H�5�
H��1��I����?���@H�5��	H���1����'���@H����H�C�Q����H��I�u(�E1�jM��H�
o(
H���,���XZ�W���D��H�5��������H����H����ATUSL�gxM��tyH��H�v��,	��H��H��t`H���<��H��L����H��t<H9Xu6H�_��H��L���4��H���.H���CP1�[]A\�f.�H���.H��������ރ��f���H��t7SH��H��t&H�xH��t��H��tH�@H��HD�[�fD1�[�@1��ff.�f���H���CAWAVAUI��ATUSH��L�H�^L�6M��t2A�GP���%����H���[]A\A]A^A_��H�t�H�����I��H�D$H���?I�&������C�L��<w)�f�H���]��� �C�<�m�� �d��
u��EI�~8L�����H�����E
I���I��A�$�� w�I��r��w����H���(�I��H�D$H���wI�&�f.������C�L��<w)�f�H���]�����C�<�]�� �T��
u��EI�~8L������H���_�E
I���I��A�$�� w�I��r��w����I�~8L�����H��u/VE�M L��H�
H
ATM�E�1��.��A�F@_AXH�	�.H�|$�����D�EI�~8L���8��H��tbI��]�� �4�������I�~8L�����H��u�M�GI�w(PH�
/
j�M��L���u���A�F@ZY�v����
H��E�M �1�ATM�EH�
}
L���m���A�F@A\X�j���D�EI�~8L�����H��tI��]�� �D�������
H��M�GI�w(M��jH�
�
�L���ջ��A�F@AYAZ����f.�I�~8H�����H������H��M�GI�w(I��jH�
�
�L���v���A�F@A[[���fDH�5�#
L������A�F@�x���@��H��AVA��H��AU��ATA�US�FH���=L���I��H��H��I��M���YH���.�(�H��H���H����H�CM��tA�E0tI�E�����H�CL�cI�|$(���H��L���C ���I��H��t"H��L������uSH��[]A\A]A^��H�5��H�=*���u�I��H���H��H��L���{����y�L���O��1�H�W
�1��c���H�-,�.H�{H�EH��t��H�EH�{H��t��H�EH��1���c���fD1�H��[]A\A]A^�f.�I�|$���H�CH�C���DH���1����I��H���H�������H�5X
L��1��.������f�H�5��	L����������@1�H�G
�1�胸������ff.���H�5��������AUATUSH��(dH�%(H�D$1�H����I��H����L���M����H�v����H��H����H��L�����H��H��tfH��H��H�5���H�$L�d$�5��H���}���u)H���.H��1�H�L$dH3%(u4H��([]A\A]�H�
���1�H��L���,��H�S�.H����������f���H��tH��tH���H��t�Q���1��ff.�f���ATUSH��dH�%(H�D$1�H�$H����H��H����H�_PH��t>H��H������I��H��tKH�$H��H���\��H�<$H�-��.H��H��t�UL��UH�L$dH3%(H��uAH��[]A\�@H�$H��H�����H�<$H��H��t�H�N�.��f.�1���w�����H��tH�PH��t����f�1��ff.�f�AWAVAUATUSH��H��A��H����A���H����L�bM��t;H�BHI��I��H��H���H�~PH��tcL�xM��tZL��L����
��I��H��tH��L��[]A\A]A^A_�DH�{XL�eH��tL��L���
��I��H����L�eH�{P@L�����I��H��u�H�{XL�EH��t/L�����H��tA�EI��낐E1��y����L�EH���E1�H��jH�
,
L��輵��XZ�F���DA�E�4�����AUATUSH��dH�%(H�D$1�H�$H����H�_XH��tII��H��H��I������L��H��H��tLH�$H��H����H�<$L�%R�.H��H��tA�$H��A�$H�L$dH3%(H��u(H��[]A\A]ÐH��1�L����H����fD1����?��ff.�@��AWAVAUATUSH��dH�%(H��$�1�H���lH�jH��H���\H�BHI��I��H��tPL�@M��tG�H�=+�H����€���u,�H�=��	L����€���u���M����I�|$PA�T$���
�M����I�UHM�}L�t$H��t)H�rL�t$H��tL���2L������H�kI��H�CHL�D$PH��t+H�pL�D$PH��tL��H��2L�D$���L�D$H��M��t	H����1�L9�tH9ktH���.H�D$H��H�D$M9�tM9}tH�q�.H�D$L���H�D$H��t
�xP��1�H��$�dH3%(��H�Ę[]A\A]A^A_��I�|$X������
u�H��H�=���P���������H�sH�=a�	�8����t�M���z���I�}H�5wm����������m���fDI�|$PH��L��L�D$���L�D$H����I�|$XH�����H��L�����L�D$�������ff.�f���H����ATI��UH��SH��H��tiH�{PH��tr�{
tNM��tIH�UI�t$�o�H��t�@P[]A\���������fDH�{XH��tH�UI�t$�9�H��u�[1�]A\�DH�Z@H��t�H�{PH��u�H�{Xu���D1��D��H��H��H��tH�XH��tH��H���-�D1��D��H��tH�HH��t���f�1��ff.�f�AWAVAUATUH��SL��H��(H�|$H�T$��t*��
�dA����-H��(D��[]A\A]A^A_�L�����I��H�D$H�����A�I�&������C�M��<w�!@I��A���t�C�<v
�� t��
u�A�L��H���\�H��t�x\t,H��M��jL�D$ H�
	
H�|$H��E1��7���XZ��tA��� v)f�M�����m���H�.�.H�|$��
���f�I��s�I��A��� w���H��M��jH�
�
L�D$ �@L��H����H�����x\uQA����H�~PL�����H��u�H�}XH��t
H������H��u�H��I�ٺjH�
�
L�D$ �H��I�ٺ�jL�D$ H�

H�|$H��E1��3���Y^�7����}Lt$H��I�ٺjH�
�
L�D$ ��E1��
����ELH��H�����H��t��2���fD��H�����OP��
���ATI��H��USH���`tzL�GXM��t#H�WH�v8L���e�����uA�|$@��KPH�k`H��tEf�H�SI�t$8L��L�E�+�����uA�|$@uA�D$@fDH�m�KPH��uă�
u*H�spH�k@H����H��t9H�}P���H��t�xHte[]A\���H�spH�}X��H��u�H�spf�H�{(H��t�twH��I��H�
�
1�jL�C�L��训��Y^�f.�H����1�L��jL�KpH�
�
L�C�|���A�D$@XZ�g���@A�D$@�����%�H���A���H�sp�r���H�KL��[H��
]�A\�t���@�������H��tBH�FPH��t1H��t,ATI��H��UH��SH��H���\��H��t�[]A\�D������f���H�{X�H��tH���"��H����M��t���t�H���E1�I��jH�
�
H��L��耬��X1�Z�f.���H��t�\t�H�WPH��t�SH��H�w@H�������t�C@[�f���H��tqUSH��H��H�PH��tSH�����H��t0�PH���vH��[]�@H�9
��H��[]��H�{XH��t
H����H��u�H�������[]Ã��f���H��tH��1��]���D1��D��H��tH��1��-���D1��D��H��tH��1�����D1��D��H��tH��1�靻��D1��D����fD��H��1��p�����AWAVI��AUATUSH��XdH�%(H�D$H1�M����H����	�M�������H��H���{I�FHI��H��M��H����H�pH����I�~H�T$�2H�T$���I��H���7H�{PH��H������D$H��t0L;|$��M9~��H�d�.H�D$L���H�D$�iH�{XH��tH��L�����D$H��u�L;|$tM;~tH��.L���fDH�{PH����I�vH���G�H��tz�D$�xPt|L�����I��H��tlH�������sL��t`�L$��tXL��L��������uIH��M�N�I��jH�
�
L��L���j���A�E@XZ�fDH�{XH��u/�E1�H�L$HdH3%(L��u1H��X[]A\A]A^A_�I�vH�����D$H���9�����\��ff.����AVAUATUH��SH��PdH�%(H�D$H1�H����H����	�H�������I��H����H�FHH��I��L�FH��tAH�pH��t8L�t$�2L��L�����H��tWL�CL9�tI9�tH��H�w�.�L�CI�}PH��L����H��tE�xPtOL���o��H��tH��H�D$荳��H�D$H�L$HdH3%(u=H��P[]A\A]A^�I�}XH��u�1���@H�sH���D�H��u�1���&��fD��AUATUSH��dH�%(H�D$1�H����H�~PI��H��H���5H���@H�UX�uPH����H���Ĺ��A�ą��iA���}P��H�uXH��tUH�]`H��tLf�H�{�����u6H�H�uXH��u�H���upL�MI��H�

H��L����XZE1�H�L$dH3%(D����H��[]A\A]�A���uЋETH�up����w~H�{P�u�H����1�H��貹���D$A��A����H���uL�EpH�
�
L��H��菫��_AX�����H�~X�U���H�������A��D����H��I��H��jL�EH�

L�������}PAYAZ�E1����fDH����H��L��jL�MpH�
�
L�E�˥��A[X�j���H�CP�D$H��ugH�{XH���W���H�up�i�H��ts1�H��誸����hD$���-���H��H��L��jL�MH�
,
L�Ep�S���Y^����@H�MpH�xXL�L$1�L�¢��1�����D�L$���1��H��A���uH�
�
L�Ep����^��H�upE1��D���f���AWAVAUATUSH��H���eH�NPH���HH�����zHH��I��H�|$A���H�sH���h�H��H��t#H9�tH�x`H�s`H9���������}H�sI�|$X�/�H��H��t&H9�t!H�x`H�s`H9�t	�����t�MH����H��D��[]A\A]A^A_��H�jPH���g����}�]���H�EH���P����8L�ut/M����A�>��I�FH����L���8L�uu�L�hM����A�����I�FH���v�8t6�\@M�vM����A�>��I�FH�����8��H�xL�������t�H�EH�p(I�FH�x(�����t�H�EL�CL�H(M���H��H�
*
AUH�|$��H��E1����AZA[�j���f�D�MHH�sE���v���H��I��E1�H��jH�|$��E1�H�
H

跢��_H�sAX�B���I�~L����������@L�u����H�~X�����DE1��7����H����E1�H��jL�CH�
�	
E1�H�|$�7���XZ������_����I�L$P�r���fDA�����DH��M��H�
�	j����H�EI�~(H�p(�J������B���H�EL�CL�H(M��t.H��H�
^�	AUH�|$��H��E1�蟡��L�u]A]���H��M��H�
��	j�͐��AWAVAUATUSH��XH�<$dH�%(H�D$H1�H����H�~PH��I��H��M��H����M����I�D$H���yH���pH�UH���cI�L$HH����H�qH����H�T$�2H��I������I��H���'H�EHH�UH�{PH���"H�HL��L�D$���L�D$H��I����M9�tPM;D$tIH���.L��M��u8H�UI�D$H�{PfDH�MHH����H�IH�����I��H����A�vPL��H�߉uP葲���D$���M�D$A�~T�rA�FP���5�P����Y��
����	��A�~T�lA�NPH�UM��H��H�<$��#D$��H�~X�u���D1�H�\$HdH3%(��H��X[]A\A]A^A_�H������I��H���)���H�{XL�EM�L$H���@L��L�����I���M�~`M��t#�I�L������5���M�?M��u�H��A�t$L�ML��H�|$M��H�
X�	���^_�D$���@H����H�
H�	L��jH�|$M�L$L�E谞��XZ���f�H�<$H��L��H�����H��A�FP������D$�{���@I�~XL�����������H��A�vXM�L$L��L�EH�
y�	��H�|$�2���AXAY�D$�E����H�{PL��M�~`���H���M��u�DM�?M����I�L���P��t�A�FP���H�<$H��L��H���>���H��A�FP������D$���@I�vXL������z���H��A�vXM�L$L��L�EH�
)�	��H�|$�b���A_X�D$�@���f�H�{XL�EM�L$H��t(H�EHL��L��H�H���I��M������M�L$L�EH��H�
[�	L��jH�|$���Y1�^�H���H�{XL���R��H������H��A�t$L�MM��H�|$H�
��	�L��谜��AZA[�D$����L��L�D$���L�D$H��I�����H�{XH����H�UL������L�D$I��M9�����M9D$��������H��A�t$L�MM��H�|$H�
�	�L������ZYA�FP�D$����@H�{XH��t'H�EHH�UL��H�H�S��L�D$I���}���fDI�D$M9�tI9�tH�ڲ.L���5���H�UH�{P�;������ff.���AWAVAUATUSH��H��XdH�%(H�D$H1�H���"I��H�{PH��H��M��M��H���.H����H�EM����H����I�|$��H���EH�T$�2H��H�$���H���I�T$H�{PH����H�
�dH��H�D$�=��L�D$H��I���L;$tL;EtH�ɱ.L��M����A�vPL��H������D$����M�D$H�EM����H��I��H�
�	j�H��L���N���XZA�~T�AA�FP��
����	�{A�~T�`I�T$A�NPM��H����H��L�����#D$��H�EL;$tI9�tH���.L��H�EH�{PI�T$H����H�
�cH��� ��I��H���	���H�{XM�D$H�uH��t$H�
�cL������I��M������M�D$H�uM���H��I��H�
W�	jH��L���E���Y^1�H�L$HdH3%(�@H��X[]A\A]A^A_�H�{X������H��bH���i��I��H���R���H�{XH�uH���iH��b�@��I���H�����D$�g���I�V`H��t+�H�zL��H�$�����]���H�$H�H��u�M�L$H�EM���
H��M��H�
��	PH��L���K���Y^�D$����@H�*b�!���@H�bH��H�D$���L�D$H��I���G���H�{XH������L��H��a�W��L�D$I��L;$�1���L9E�����"���fDI�~XL���$��������M�D$M�NXH�EM���NH��H�
�	AQI����H��L���v���XZ�D$�G����M�V`H�{PL��L�$輾��L�$H���mM��u�DM�M����I�zL��L�$��L�$��t�A�FP����I�vXL���d��������M�D$M�NXH�EM����H��H�
��	AQI����H��L��趖��A[X�D$�e���fDH�{XH�������I�T$L��H�
}`����L�D$I�����f�H��E1�I��jH�

�	����H��E1�I��jH�
u�	����M�L$H�EM���H��M��H�
�	PL���H�����_AXA�FP�D$���H�5]�	L��虓��1����H�{XL���6���L�$H���z���M�L$H�EM����H��M��H�
	�	P�H��L��舕��AYAZ�D$L�$�4���M�D$���f�H��I��M��jH�
=�	���H��I��H�
��	j���H��I��H�
U�	j�X���H��I��M��jH�
[�	���L�$H��I��M��jH�
��	�R����E���D��AWAVAUATUSH��(dH�%(H�D$1��D$H�����GPH��I��I�ԅ���L�HM����I�H�����BH����1���������u|I�H��ts1�H��H�L$���L�D$��y[I�wH��M��H��H�
��	��1�H�FjI������_AX�1@I�}L��L�D$�g�L�D$���-f.��H�L$L��L��H�������KTI����H���.�CT
���H�CXH���{�KT�SP9�|,�H��H���.Hc�H�4IH���H���cH�CX�SP�cTHc�H�IL�4�L�sHM�.M�fM��tA�}HtH���SPH�|$dH3<%(���/H��([]A\A]A^A_�DH�CXH���n����D���fDI�}hH��t1�1�����SPI�F�D1��@H��L�����I�}hH����HcCPH�SXH��L��H�
b�	E1�H��H�@H�ºH�@jM�D$�{���Y�SP^�1����L�jPM����A�}�H�t$H��H�L$�ư��L�D$H��H����DA�E�������
1ɾH��L�D$H��	�O���L�D$I�wH���H��H�
#�	1�L�Nj�֑��AYAZ��DI�}(�����M�mM��t�A�E��t���1�H���	�1�L�D$�ؐ��L�D$뇐I�wH��E1ɺH�
	�	1�L�Fj�\���A_X�y���@I�}(H��t�T$L��L�D$���L�D$��t]DM�mM���������fDI�EH������8tN�8t�����@I�EH���A����8tf�8�����.���I�}H���4�L�D$��t�����fDH�x(H���{����T$L��L�D$�B�L�D$���]���I�EH�x�H�x(�����H�x�`���H�t$H��H�L$�Ү��L�D$�N���I�wH��E1ɺH�
	�	L�Fj�&���A[A]�B���H�5��	H���΍������H�5S�	H��躍������P���LcsPMk�LsX��ff.�@��H���������D�GPE��~}H�OHH��ttL�M��tlH��E�@HA����1�E��tHA��udI�&�B�H�T�< v9H�qH����E1�H�
:�	L�Fj�?���X1�ZH���fD��I��s�H��H9�u��H����1��DH�qH��E1ɺH�
��	L�Fj�ގ��Y1�^����H�����WP���~USH��H�oHH��teH�MH��H��t�yHtf��H�{XHcʉSPH�IH��H�4L�H�FH�M��tA�xHtg��H�L�H�FHO�H�SHH��[]�@��H�}H��t�1�1��~����tR��SP���t������1��DH�~�D$�k���HcKPH�{X�D$H��H�IH��H�4�l���H�u�D$H��E1ɺ�H�
��	H��L�Fj蟍��XZ�D$����AWAVAUATUSH��xdH�%(H�D$h1��D$,H��tkH�~PI��H��H����H��tR�{���CH�(�	Hc�H�>��f.�H��E1�E1�jH�
�	D�H��L�����XZ1�H�L$hdH3%(���	H��x[]A\A]A^A_��H�~X�p������뽐H��E1�E1�jH�
u�	�H��E1�E1�jH�
=�	�x���H��E1�E1�jH�
V�	�`����H�L$,H��H��L���m��I��H���K���A�D$P����A�EH����������,�����mLH�s�����H��L��L���:�����N��H��E1�E1�jH�
E�	����H�{�5H�{H��H�{P������H��E1�E1�jH�
�	�z���f�H��E1�E1�jH�
r�	�`���I�|$(I�D$ H��tH�n�.�I�D$(�M�mXM��u �9���D����M�mHM������A�ET��u�I�}hH����H�5�T�`����L�s`M��t �I�vI�}�;���u�M�6M��u�L�CM�MhI�EM���JH��H�
�	�PH��L��1�茊��Y^�f���DH��E1�E1�jH�
��	�`����I�}hH���SH�5ET������ ���L�s`M��u�����M�6M������I�vI�}�����t�I�vI�}X�v��������H��M�N��H�
J�	jL�C�F����L�{XA�����M��u)����@H�x�'���������A�M�0M��t@I�uI������t�I�uhH���c���I�GHH��u�H�CHH��u�A���DD��fDI�EM�MhL�CA��������E��tmH��L��H��PH�
�	�ɍ��_AX�����I�}H�5S�����u|I�}h����I�}H�5�R�`������I�}h����H���H��L��PH�
a�	�\���AYAZ���H��E1�E1�jH�
K�	����H�C`H������H�x�V���H�H��u�����H��I���jH�
��	���H�C`H��u�����H�H������H�xu�H�pI�}X��������H��E1ɺ�jH�
�	L�C�Q���I�EPH��t	�8�&L�sM�������H�D$0�H�D$�f.�M�v0M���h���A�~u�I�~I�FHH�|$H����H�pH����H�T$�2�z���H�D$H���f���M�}PM����A����<��tG1�H�F�	�1��r���H�L$H9L$�b���H�D$I9F�S���H��.H�|$��@���I�GH��t��8��8u�M�M��u�H�L$H9L$tH�D$I9FtH�ҝ.H�|$�M�}PM��tO�A���tp��t1�H���	�L���Ņ�����I�GH��t܃8�~�8u�M�M��u�H���H��L��jL�D$H�
s�	1�L�K�(���XZ�q����I�H�t$�����t��Y���f�I�H�t$�b������������DH�xH�t$�B�����q�������DH�xH�t$�"�����������DH��E1ɺjH�
��	L�C����H�{�7���H��E1ɺjL�CH�
��	H��L��1��Q���A_X�����|$,�F���H���=�����H��H��	��H�I0H�������yu�H�AP��� w���H����� w�H��r��u�ASH��E1�H�
��	jL�C�L�����]H�s1�A^����{��H�kH���3����M����A��<� ��H�EH��t8H�xt1H��L����H�EH�hH������M��w}L��H�੘t�H�m0H��u�A�T$ I�|$(��������r�Hc�Hc�H����H)��1҅�tH�T�I�T$H��H��H�������H�j0H��uSH��H9�u��p����.���I�D$ I�|$(H��tH�Ԛ.�I�D$(E1�PH�
v�	�jL�C�0���A�t$ �1���@��AWAVAUATU1�SH��XdH�%(H�D$H1�H����I��H��H������I��H���)H�pH���H�CPH����H�xH�����}���Ņ���I�D$HH��taH�pH��tXL�t$I�|$�2L�����I��H����H�CPL��H�x�-��M9�tM;|$tH�ʙ.�D$L����D$��t0H�CPH�5�	H�x������t@I�|$H�5�������t+�H�L$HdH3%(��ujH��X[]A\A]A^A_�f�H�CPH��M�D$L��H�
��	L��L�Hj����XZ�f�1�H�"�	�
1�L���H����1�L���������B���f���AWAVAUATUSH��H�����B��H�vQH��tpH�~PtY���t;H��I��I���q������}��tNH�mH��tH��L��L�����H�m0!�H��u�H����[]A\A]A^A_�H�~Xu�f�1���@L�uXM��tH�I�v1�L���j��L��H��L��I��L��I������!�M��tH��.L���M�v0M��u�L�u`M���T���f.�H�EHM�NM��1�H��tH�HH��L��L���,���M�6!�M��u�����ff.�f���H��tGUSH��H��H��tA�o0H�ډ��G0H���H�s8H�5)����C@�]����k0�C@H��[]�1��D1�H���	�	�u��H��1�[]�ff.����H����H����AVAUATUH��SL�nXH��L�fPH�VXH�FP�c�����tYH�{xH��t
���H�CxH���H��t����Hǃ�H�����H��H��H�����H��H��A��虿��D!�L�kXL�cP[]A\A]A^�D1��ff.�f���H����H����ATUH��SL�fPH��M����H�s8�G@I�|$XH��tH��H�5$������I�|$`H��tH��H�5{�����L�eXM��t2I�|$XH��tH��H�5����Ԡ��I�|$`H��tH��H�5@��軠���C@[]A\�1��DL�fXM��tH�s8�G@�f�1���ff.����H����AUATI��USH��H��H�FPH���&H�xpH���AH�~X��H�{xH��t
�@���H�CxH���H��t�7��Hǃ�H��L��葳��H��L��A���s�������H���S��H��L��H�����H��L����ؽ��!�D!�H��[]A\A]��H������H��H�CPH����H�xhH���H���H��H�CXH���.�H�CXH���-���H�CPH�HpH����H�k�	�L���|��H��1�[]A\A]�f�H�~X���1�H�8�	�
�R|��1��H���H�xhH�������H�~X�����1�詬��H�CX�l���1��DH�HpH���	�L���|��1����H�Hh�V�����H��A��H����A��H����9���AUA��ATI��UH��SH��H�����t~v4��w!H�H������I�|$D��H��H�������H��[]A\A]���u�~uE1�L�-��	�HcI��D9�~dJ�t�L���_����t�����E1�HcЅ��L@HcI��D9�~<J�t�I�|$�����t��t���Hc���B�H��	H�\��T���f�I�L$�B�H�L��>���@������f���AWA��I��AVAUATUSH��H�|$H��$�H�T$H�߉L$,�H�t$ dH�%(H��$�1�E���D$l�H���H�������I	���H�|$p�H�|$H�|$�H�H�xx��H�D$x�KL�l$M�e(I�D$@I�t$H�xP�q���H��H����H�D$H�@0H�D$XH�D$8H�|$ tH�D$ H�@8H�D$8I�D$I�}@1�1�H���	H�D$@I�D$ H�D$H耘��I��H���H�L$ I�WL�`(H�D$I�O0I�G8H�T$PH����L�x0H�D$ H����L�x8H�}PH�T$l�H��谜���D$l����H�D$1�E1�L�<$H��H�D$0���H��9l$l~}H�H�$L��I�t$@H�|$H�A�n�����t�E��t-H�T$0A�F�L�|$L�,��
�I��M9�tI�7H�;������t�H�H�L$A�FJ��9D$,�Lc��H��9l$l�L�<$D��H�D$H��t	H�L$XH�H0H�D$ H��t	H�L$8H�H8H�D$@L��I�D$H�D$HI�D$ H�D$PI�G�|���H��$�dH3%(����H��[]A\A]A^A_�L�l$I�D$@H�xXH��trI�t$�d���H��H��t`H�D$XH�|$������L�l$ M�e(I�D$@I�t$H�xP�&���H��H��t7H�D$X����M�|$ �@���M�|$�$���������F���L�<$����L�l$ �a���1������a������H���.�@��H�=u�.�@��H�]�.�@��H�=M�.�@��AUATUSH���dH�%(H��$�1�H����I��H��H����A�|$
tH�CHH��tH�xH�5��	����H�$�	H�5��
H���]��H��H��tUH�5��	H�������tH�K�.H����1�H�5��	H���y����ueH��.H��f�1�H��$�dH3%(��H���[]A\A]�f�L�f@M���/���H�CHH���3����>����H�a�	H�5$�	H�����I��H��trH�C�	H��L���@���H��tqH��L�H1���H�߹��L���	�D���H��L��Ƅ$����H�J�.H��L����(���fDH�)�.H�������H�5��	L���[����D���@USH����(��tvH����xn�H�H��tH�@xH��t
H�� H�{�Ћ�(��~6��H��0�HcЉ�(H�<�tH�t9�H�� H�������u�H��[]�ATI��H�=mG
U1�SH���-��H��H�{��H��tL�������t�Hc�H�Z�-[H���D(]A\�ff.�f�SH��tZ��LH����t	���t>���A�1�1�APQR1�jjjAPE1�QH��jjjV1��Q����CH��`[�@APA�1�1�QR1�jjjAPE1�Q1�jjjV1�����H��`[�ff.�UE1�1�H�3�	S�"H��H���A�����H��蠲����>tH�E8H�@ ���u�H��[]�DAUI��ATUSH��xdH�%(H�D$h1�H�G8H�@ ��H҃�߃�A���€�1wH�H��H��!����I��?1�H��f����ڃ�߃�A��v9�HӀ�2viI���H�����H�t$hdH34%(ueH��x[]A\A]���P���w�� �DL��H��譱��H��dt'I�E8H�@ ��f.�I��r����d�1���P���SH�W8H��H�OPH�B H��t�wh��u�8te[�DH���H+BHB@H�FHcB4H�H�F �5��������~F�����t0H�H��H���H�D��H���H�C8H�@ �8u�H��[����Hǃ�H�C8H�@ �t����ATE1�UH�&SH��H�8H�O ��< vD��[]A\�@H��s�t6<
tOH�Q�G8H�W �A��tV1�A�������A�H���f.���覟����~BH�{8H�O �<
u�H�Q�G4�G8H�W �A��u����n���H�{8H�W �듐H��訜��H�{8H�W ��z����AWAVI��AUL�- �-ATA��U1�SH��H�|$I�,L��H��H��H��M�|I�7�ڥ����u6I�wH�|$�ȥ����x&t2H�kL9�r�H��1�[]A\A]A^A_��y�H9�v�I���@H���[]A\A]A^A_�ff.��ATI��USH���m@H��L���5�����tkH�H��tH�@xH��t	H�{H��Ћ�(��~;��H��0�HcЉ�(H�<�tH�t9�H�� H��M��tH�� H��u�[]A\ÐH��[]A\�4���@H��t(��L��uqLJ�LJ����LJLH��H��H��tWH��H�<�	E1�1�VA�1�P1�jjjjV1�jjjj�S���H��`H���f.����u��fDH�M�	E1�1�1�PA�1�1�jjjjjjjjj����H��PH����UH��SH��H���G4��~l��	�}��(��,H��09�|-�H�3�.��,Hc�H���H��H��0H��tu��(Hc�H�,׍PH�� ��(H��[]ÐH�5S�	H���!����t-�C4H�5?�	H��������l����C4
�`����C4�L����1�H���V���1��f�UH��SH��H��������H���9�|5��tq�Hc�H�4�H��H�U�.����H��H���H��tV���Hc�foEH��H��foMJH�M H�J H����P���H��[]�D���
�@1�H�����1���f.���5 u
�
و.��u�@ATUH��H�5 nSH��H��������u!��(����H�5��	H�������t
[]A\�DH�5��	H�������u・(��H�50�	H�������u�H�5�	H���n����u�H�5�	H���[����u��{4	���(���g1�L�%j�	�7�H��0H�5L�	H�<�������W���H��9�(�%H��0L��H�<������t��+���DH�5mH���!���H�H�������H�@pH�����H�{1�H�5�l������@H�5�	H�������tE�{4����H�5��	H������H�H�������H�@pH�������H�{1�[H�5w�	]A\��H�5��	H���9�����u�H�5��	H���&�����u�H�5T�
H��������u�H�5��	H���������k���H�51�	H��������T����L���H�5�	H������H�H������H�@pH�������H�{1�[H�5��	]A\������H����ATI��USH�� H��t7�Q�.H���-H�5�k��u[1�]A\�H��H�3H��t�H���L�����t�H�5��	L������H�5w�	L������H�5h�	L���k���I�$H��tH�@pH��tI�|$1�H�5@�	��[�]A\����H��xL�G I��dH�%(H�D$h1�A�@<_��<:�„�t��߃�A<�|I��?1�H��DA�L�‰σ�߃�A@��v*�y�@��2vAI�:艊��H�t$hdH34%(u5H��x�@�Q���w�� �H��H��du��d�I��r��1������ff.�@H���/ATUSH��H��tH����6 uL�g8I�|$Pt[]A\�fD�<	t	< uDH���< t�<	t�H��聎��H��I�D$P�t���������P���wH�U8H�H��tH�z����H��貸��Dž�H�U8H�H���u���H�x�j���H�x(�_���H�x H���R���H�r H+rHc��5���H�E8�H�8�d���H�u8��H�H�x �B���������[H��E1�]1�H���	�QA\�}�D��H��計��H��t.H��H���x����A���E1�1�H�?�	H��Q�:��#���E1�H��H�H�	H�� ������fDUH��SH��H�5��	H��H��赒��H��tAH��H��t8�P�� w*H�&H��sH�5�9
H������H��H��t���=tH��[]��H��H��H��[]����ff.���~<�< w*H�&H��s��H��H9�t�F< vk1���H�G8H�@ ���ta<<u�H�� H��tQATH�5�gUH��H��S�k�����uH�� H�5��	�T�����t&[�]A\�fDH��H���z���노�H�� H�5L�	������tCH�}H��t:蕠��H��H��t-H�xhH��t$H�5��	�����t�H�{hH�5��	�Ԛ����t�H�}PH��tm�R���H��H��u�e�H�[8H��tT�{t�H���9�����u;H�-��-H�5� L����fDI9�����H�uH��H�{�^�����t�1�[]A\�H�EP�xtH�xPu�H���-H�5� L����L9�����H�3H��H�� ������t�1��@AWAVAUATUSH��L�8M����I�oI�G H)�Å���L��@H�A��E1���I9��6I�A��H��H���DH�<$H�x �T$@�t$�޺��H��I�H�x �?����T$H�$�t$A����Hc�A��E1�A9���H��A�XA9�~{A���TE��t��"tA��'t<E��u�A8�u�@��t@:tu�Hǁ@I�W I+W)�H��[]A\A]A^A_�f�E��t[��E��D9�u�H��E1�A�XA9���LcË��L��@E��tc�����H�������[]A\A]A^A_�fDA��E���5���DD���I�A��D��H��A��H�������E�O0��������H�������[]A\A]A^A_ø�����(���f�USH��H��H�G8H�h +h�f.��DH�H��@1ɺ-�-H��������x!H�S8Hc�H�r �T��>t��!u��|>u�H��[]�SH��tb��LH����t	���tEH��A�E1�1�ǃ�	1�1�QR1�jQH��jjjjjjj	蚔���CH��`[�DH��A�E1�1�Q1�1�R1�jQ1�jjjjjjj	�Y���H��`[�AWI��AVAUATUSH��H�G8H�@ �(@��"t
@��'�L�����I�G8L�` L�pM9���A�$������@8���E1�1��*�L��H��褠��I�G8H�@ ���tE��@8�tm<@��<
��@��t̓�	<v�H���	�	L��A�����f.�@��t+E1�1�H��	L���,���H��1�[]A\A]A^A_ÐL������E��u��I�G8M)�H�xH��[]L�A\A]A^A_�}��E1�1ɾ+H���	�j��@��u�L���˟��1���AUATUH��SH��H��H�8dH�%(H��$�1����H�W D�"��E��x<����u
H9W(�]H��$�dH3%(��H�ĸ[]A\A]�H�Pu!H�H��tH�xuH�G(H���=D�
H���;���ǃ�H�{8H�W D�"E��x u
H9W(��E��p���DA��@���B���"��<���D����<�t}�E��R��%���?	ƒ����Ё�������� ���������������������H�.t	H�߉D$�	�u����D$����@�B������<�uED����<����E������B�R����?%�	�	‰Ё���_���f�H�W D�"H�G(E��L�d$H)�H���~�BH����L��L��s	��P�BP�B�P1��x��H�� H�xs	E1�L��H�߾Q���H�C8H�H��tH�z��H�@ �E��������L��1�L�B�	���x���fD1�H��r	�	H���2���� �����8�����H�5��	H������H�������H�5��	H������H�������H�5��	H�����H���w���H��?H�xH��fD��ƒ�߃�A������-<2��H9��8���H)��z��I��H���$���H�C8H�xPH��t
H��t.�H�C8L�hPL����}��I��H����H�8H�5�i	��������L��H���v������1�H��q	�	H���
����E� �T���f�H���M���H���%���D�����H�{8H�W �B����DE1�L��H�{�	H�߾Q����N���f��
H���s���H�C8����萊��H�{8H�W �B�����ztyA��A����;����B��<��,����E���%���B��%�	��J��?	��B��%�	�=��������������W����<���������H�{8H�W �p����d���@AWI��AVAUATUSH��H�8dH�%(H�D$1�A���L�g��uH�G(H+G H=���A���t^A������H�t$L���R����Ã�>vc���~kH�5�r.�������uj�����=�Qv]��0tU�������vJ�1�H�L$dH3%(��H��[]A\A]A^A_�H��@H��rȉ؃�߃�A����E1�1�L�l$D��>������H�54r.���E�����uQ�����=�QvD��0t<�������v1H�5�o.��������uH�5�p.����������f�I�8H�G A��d�>E���E���VH�W(H)�H����JHcT$Հ8
��G8ALJH�1�A���H�G tL��L������I�8��L9g����L��������H��@H��rx�؃�߃�A���O�����@������@�����(������1�������%����CЃ�	�����CӃ��
�����:������_������������I�G8H�p H��H+PHc�H9���I���H)Ɖ���y������HcT$A��Հ8
����G4�G8����@E1�������ֆ��I�8H�G ���f��D$�C�����覆���	���H�5Zo.���#������+����>���fDE1�1�H�4z	L������2�����@������l�����(������]�������Q�����_�H�����:�?�����蜀��ff.��ATUH��S���H�8H�w ��uH�G(H)�H=�~w��Ѓ�߃�A<v��_����:���t1H��?H�^��Ѓ�߃�A<v'�B�<2vH9_(t$��D[H��]A\���@H��s(H����@[1�]A\þ��g���H�}8H�w �r���H;_(t�I��H���I)�D����w��H�U8H�Z Db8[]A\�ff.�AWAVI��AUATUSH��H�G8H�@ 	�@8	���L�����H��H���L�����o��I�v8H�H�F �����S�"��P�A�H�<�U�3�H�<�B�%�H�<�L��H�<�I�	�H�<�C��H�P�F8H�V �@< ��E1�1�H�'{	L���A�r�L����I�F8H�@ D� A��"t
A��'�L��趔��I�F8H�p H�@H�4$H�D$H9�������	��A8��E1�1�L�-�k.�.L��H���d���I�F8H�@ ����v��A8��Hc�A�|u�H���	�	L��A��`��fDE1�1�L���K�I�F8H�@ �8>unL�����I�H��t"H�H��tA��L��uI�~H��L��H���H��tH�`l.H��M���2H�Kl.L��H�H��[]A\A]A^A_��DE1�1�H���	L���=���
DL���h���I�F8H�@ ���t<>u�<>�W����J�����HE1�1�<�Y�����H�<�S�����H�<�T������H�<�E���H�<�M���H�P�F8H�V �@< �mE1�1�H��x	L���A�T��L��E1���L����H��H�������E1�1�H��	L���FI������q���@H��[]A\A]A^A_ÐE1�1�H���	L���D��������H�&H���\����>���L���1���E��uo��I�F8H�<$H+|$Hx��o��I��H��tOL���D�I�F8H�@ �<"t
1�<'����L�����H������E��t�E1�1�H��	L���,�M��E1�1�H�y�	L���GE1��1���E1�1�H�ʾ	L���+�����E��u�L���w���1��F�����H��	H��������{����AWAVAUATUSH��H��H�8dH�%(H��$1�H�G H��H+WH���~H�O(H)�H��������pD��E����H�t$H����A�ƅ��HE1�L�d$H�l$L�-?�	���A����jA�����=����A�� ��=���A����=��������D��L��	H����H�{8���H�G ��uH�W(H)�H������8
���G8ǃHcT$HЃ��H�G �7H��H���,�A�ƅ��!A��<�/���H�C8H�@ �x/���|$��u\F�t<A�WLc�A����V���H�Ic��DH���H��t|D��H�{L��E1����+�����G4�G8�F���Ic�D��L�����B�8�@���~��H�{8H�G �
���A����A��
��	�A�V�����	����H���E1�H�������H�{L���������������@��߃�A<�����E��t;H�H��t3��L��u)Ic��DH���H����H�t$H�{D����H��$dH3%(��H��[]A\A]A^A_��H�� 蔁��H�S8H�� H�r ��H���j�����b���H�� E1��LH��H�w�	����:�����D$�#����p�����H���H���Q���H�t$H�{D�����>����w��f�AWAVAUATUSH��H��dH�%(H�D$81���uI��H�8H�G �8<t(H�D$8dH3%(��H��H[]A\A]A^A_�D�x!uҀx-ùx-u�A��H��H+WALJ�\$H���~H�W(H)�H����`H���G8H�G H�)f.�d�H��H�����A�����E��E���H�t$(L�����A�ƅ��]A��>�I�G8H�H �9
���@8ALJHct$(H�A���H�H �H�t$,L�������A��-u	��>��I�G8H�H �9
�/�@8ALJHct$,H�A���H�H ��H�t$0L���4�A���A��-����-��E1��u
A��>�BH�t$4�D$dHcD$0H�t$�nf�D��	L��D�D$H���	���D�D$�D$,�D$(�D$0�D$,HcD$4�D$0E����A��-A������-D��E����	�A��>@��@���I�8H�O �9
��G8ALJH�A���H�G tH�t$L���F�A����u}I�8H�G H��H+OH���~H�w(H)�H����A�����uI�8H�G(H+G H=���A�����E��E����H�t$L�����A��A��-����-��A��!u
A��>��T$A�E�-9�|3H��`.҉L$H��D�D$Hc�T$�H���nD�D$�L$H��A��
��A��@�ƃ�		���	Ȅ��G����|$(Ic�H���A��D�6�I����E1��T$A�E9�|+H�j`.�D�D$H��T$Hc�D�D$H����H��D��A����k���A�����=��v�A�� ��=��o���A����=�����S���H���@L��E1�H��-H�sm	���H��a.H�����D�G4�G8�����D��D�D$裖��D�D$A��W���fD�D$4�Q����k����fD���x�������D$(����ok��I�8H�G ����@4�@8���E1�1�H�7�	L���p����EL���]���I�H��tH���H��tA��Lu	I�H���H��`.H���D$A�����H�5��	L���{���D$A������@4�@8����Ic�H����E1�1�H���	L���-Mc��T��B�D-�T���H�R`.H��H�5~�	L������D$A�������iq��Mc�B�D-����ff.�AWAVAUATUSH��8D��dH�%(H�D$(1�E��uI��H�8H�G �8<t&H�D$(dH3%(�H��8[]A\A]A^A_��x?u�A��H��ALJH��H+WH�G �L$�G8H���~H�O(H)�H����i��L����H�D$H���zA����uI�G8H�P �:>�H��_.�d�I��H���:I�G8H�@ �< �1H�L$E1��AL��H�m	����L��E1��z��A���t E��E����H�t$$L���S�A��H�D$$1�1�A�dH�D$@E���A��>�u�ED9�|H��\.E�L��Ic�H���I�Ń���2~'A������(I�8H�G(H+G H=��PA�����A��
��A����	�A�V�����	Є��_D��H���	�	L����I�8H�G �8
�]�G8ALJHcT$$H�A���H�G t H�t$L���E�A�ƅ�����I�8H�G H��H+WH���~H�O(H)�H����nA�����uI�8H�G(H+G H=��[E1�A��������E��E���H�t$L����A��E��������Hc�A�D-A��>�MH�L$E1��/L��H�~	����H��\.L���E1�1�H�1�	L���.����D$A��������|$$Hc�L�uaD�6I�8��H�G �8
������G4�G8���f.�A�����=��v�A�� ��=�v�A����=�����)���D���8�����9����1����f��D$$�k����+f�����fD���r���������r������H�&H����������I�G8H�@ �@8I�H�������A��L�������H���H�������I�L��H�t$�����D1�L���&��H�O[.L���D$A���d���f.��D$$�s���H���@8H�P I�H���T���A��L���E���H���H���5���I�1�H�t$���#���1�L������D$A������k��ff.�AWAVAUATUSH��H��(H�8dH�%(H��$1�H�G H��H+WH���~H�O(H)�H����z1����t�����TH�t$H�����E1�1�L�t$ E1�L�l$D��<���&�~����&���|$���B�D, �MHc��~ Hc�H�;�D tD��LE���"1�H�{8H�G �8
���G8HcT$A��ǃH�H�G A��d�?H��H+WH���~H�O(H)�H����������uH�{8H�G(H+G H=�������������D�|$E1�<���������<��<���ƒ�
@�ƃ�	!���!ʄ������H�߾	H���	�i��H�{8H�G �8
�	����G4�G8������L��H�߉L$����L$Hc���0Hc�HH�����H���H�������H�{��L�������fD���tL��H������������H�{8H�G H��H+WH���~H�w(H)�H����������uH�{8H�G(H+G H=��������������L��H���X�����Hc���L�賌���L���f.�������=��z�������������j����� ������X��������������\���D�|$����fDE1�����H�{8E1�H�G ����;a������fD���m���������f�����Hc�H�;�D t��L����H��$dH3%(�-H��([]A\A]A^A_����Fm���@�����`������fDH���H�������H�{��L�������H�߉L$����H�H���H���o����L$H�{L������]���Dǃ�����M���f����<��������D$����`���|���L�d$ ��H��L���7����t>��HH���t H���H�����H�{��L�������H���H��u�����H���-��H����f�����ff.���AWAVAUATUSH��H��tMI��A�\E1�L�5��-�@t4L�cM9�s)K�<L��H��H��H��L�H�u�Xr����y�I��M9�r�1�H��H��[]A\A]A^A_��AVAUATUSH�W8H��H�B �8<u�x/t*E1�1�H���	H�߾J���1�[]A\A]A^�fDH���B8H�B �g��I��H����H�����H�C8H�@ �8>��H���{���������Hc�(�ƒ���Hc��H)�H��L�,���@H��I9���H��0L��H�4(�P�����t�L�����A��Hc�(�ƒ��OHc��H)�H��L�4���/f�H��0H�<(�@��A9��H��L9��
H��0L��H�4(�ב����t�H�-|�	�hf.�H�H��tH�@xH��t
H�� H�{�Ћ�(��~6��H��0�HcЉ�(H�<�tH�t9�H�� H��H�� L���S�����uoH�� ��T��H���z����x	�p���L�� L��H��H�߾L����Q����H�5><L���������q���[1�]A\A]A^��H�� H��t�L���̐�����tH�� H��t�L��谐����t�H�H��tH�@xH��t	H�{L��Ћ����~(������LH�H��H���H�D��H�����(���5��H��0�HcЉ�(H�<�tH�t9�H�� �H������f�E1�1�H�=�	H�߾I���H�C8H�@ �<>t#��t@H����x��H�C8H�@ ���t<>u�<>���������E1�L��H��	H�߾L�6��1�����H�5��	L���y������x���H�5��	L���b�����������\���DL�� L��LH��H��	�����i���Hǃ�����������H��twATI��UH��SH�rH��H�������t
[1�]A\�H�{H�������u0H�[H��t�H��H��L��蹂����uH�[0H��u��f.�[�]A\�fD��f.���H��tWATI��UH��SH�^H��u
�2f�H�[0H��t'H�uH��L���H�����t�[�]A\�f.�[1�]A\�f���f.���H��tW�?ouR�nuLATH�5]�	UH��SH���-L����
fDH�3H��H���ɍ����uL9�u�[1�]A\�f�1��D[�]A\�ff.���ATH�5�A	I��UH�-��-S1�������t-H�uH��L���U�����t�H�[H�f�-[]H��A\�D[1�]A\Ð��H�]�-�"1��@�����t%�H��9�w�rH�RH��-H���@1��D��AWH��AVAUATUSH��XH�t$H��H�|$H�T$ H�L$dH�%(H�T$H1�H����H������wH���nH���H�D$H�|$L�|$LcH�D$ Lc'N�4M�L9��1H��H�D$0H�D$(�D�MH�]A����A�����A����KA����L��H)�H9���I9�vG�EH�]������t�3D��t$H���C�������uA����?��A	�I9�w�A��wzI�GL9�s^E�H��I��L9��O���E����D+\$+l$ H�D$D�H�D$�(1�H�|$HdH3<%(�MH��X[]A\A]A^A_�DI9�y�E��+l$ D+\$�DD��D�$�V��D�$H����H�pH��H�4$�]��Lc�K�D/I9�v�A�&I�OH�4$L��H��H���n��H��L�L�y�;�6���fDA���wA�������@A���wVA�������L�l$(��L��	�L���N��L���N���H�D$�1������H�D$M��L+\$H+l$ D�H�D$�(��������1�E1�������������\��f.���AWAVAUATUSH��hH�t$H�L$D�D$$dH�%(H�D$X1�H���cH���ZI��H���NI��H���BHcLc)L�I�H�D$L9��2H�D$@H��M��H�D$8D�MH�]A����A���vpA����jA����uL��A��H)�H������EH�U�ƃ�@���u*H�\
@A����?A	�H9�tZH���B�������t�H�D$M)�L)�D� H�D$�(�����H�|$XdH3<%(�yH��h[]A\A]A^A_�f�I9���A��w1D9L$$t*D�ȃ��<tA��&tL;d$��E�$I���t@D��D�L$(��S��D�L$(H����H�pH��H�t$0�TZ��Lc�K�DH9D$��A�$&I�L$H�t$0L��H��L�D$(��k��L�D$(H��L��;L�aL9���H���t����L��A��H)�H��~01����f�A�������L��A��H)�H��~
��}���E)�D)�H�D$D� H�D$�(1����H�|$8��L��	��K��H�t$8������������1�E1�믉�E)�D)���3Z����H��G.ATI����UH��S�H��H���H�xH�@Hǀ�H��)����1����H��C
H�H�CHH��L	�H�[@H�CH�CH�CPH�CXH�C`H�ChH�CpH�CxHǃ�H�ǃ�ǃ��uH�_H.���u+H��[]A\ÐL��H��H�5x1H����W��H�4H.���t��iV��H�8t��^V��H��H��[]A\ÐH�5�	1�������H��H	�t�����H�5�	H�=�	���D��ATUSH��tH�H��tH�G8H��t	H�@ �8&t
1�H��[]A\�H��I���n��H������H��H����H�{8���H�G ��uH�W(H)�H���~_�8;u*M��tI�,$H���!j��H��H��t�H���An����E1�1�H�t�	H�߾诺��M���a���I�,$�X���D���^]��H�C8H�@ �@E1�1�H�J�	H�߾D�g�������f���UH��SH��H����H�G8H����H�P �:&tDE1�1�H���	H��1�������H�h�	H��1۾	���H����[]���z#u��r�H8���@��X��H�r��H�p �H8�R��;�1��2��������\�H���	m��H�E8H�@ ���;���B�<	v΍B�<�k�������\��f�H��E1�1ɾH�,�	1��E���H����[]�@H�r��H�p �H8�B<;�q�P�1ۀ�	v�<��PЀ�	w0�������\P�H���Yl��H�E8H�@ �<;u�H���Bl���&E1�1ɾH�ǰ	H��跸��H�E8H�@ �8;tЁ��~j�����=��������� ��=���������=���n��������J���H��E1�1ɾ	H��	1��H���H����[]�����ƒ�
����#����C��������H����[]���B�<w�����T������\��H���E1�1ɾH��	����E1�1�H�ϯ	H��躷��H�E8H�@ �8;uH���k��1����ff.�AWI���dAVAUATUS��H��HdH�%(H�D$81�H�	D.H�D$0�I��H����I��H�D$,�dH�D$H�D$0H�D$I�G8H�H �8���������u<>������< ��H�&H����M���E�M)�H�I9�~$H��@.�L��Hc��H����Ic�I��L�4A���M�n�5A�����6H�t$L���1�������=��#����?I�����ȀA�N�A�F�L���i��I�G8H�H �8������A�H�|$8dH3<%(L���gH��H[]A\A]A^A_�fD<&�����y#��H�t$L����T��H�|$0I����H���)L��E�L)�H�H9�H�T$~)H��?.�L��Hc��H�T$H����Hc�I��L�4A�uI�F����A�6I���A����1�A�M�������D$,����=���������A��M��@��I�����?�΀A�v���y����@I�N�E�A�&I��H�M)�I9���H�?.�L��Hc��H����Ic�I��L�4������������p�����A��I��D��I�����?�ȀA�F���y��F���@�������A���+���f.�L���h��I�v��wOA�I��M���E�M)�H�I9�������4���I���������?I�����΀��A�v�A�F��������=���=��������A��I�����I�����?�΀A�v���y��k���@A�&L�l$0I�vA�}uA��H��=.�L��Hc��H��tgIc�I��H�I��A�E�H�r�A�}tkI���E�M)�H�I9��H����������A���������?I�����ȀA�N�A�F�����H�5�	L���Է��H��>.L��E1����I������������A�����H�5ғ	L��蓷������O��f�AWAVAUATUSH��H��(H���H�G8H���
�����H�@ �8<����e�����D���L����D$E���yH���!���H�D$H���NL�t$H�5�	L���o|��L��H�߅��D$�=���L��H���B���D��(�D$E����H�|$H�5X�	�)|������H�|$H�5E�	�|�����xH���P���H�{8H�W �<>@�ń���E1�@ ��fD</��D���E��uH�G(H)�H=���H���9���H��H����H�����H�C8H�$H�@ �8=��E����A�F�M����H��M�d��I��M9���I�?H���@{����t�E1�H��H�W[	H�߾*�°��H�$H��tH��H��<.�H���U���H�{8H�W ���t<>����E��D�d$@��A ����L$����M��t9A��~3A�F�I�]��H��I�lfDH�;H��t	H�I<.�H��H9�u�D$H��([]A\A]A^A_�M���_�L$A�F9�|6�H�:.L��Hc�L$H���H���\�L$H���I�ʼn��Ic�H�$A��H��I�l�I�LI�DI�D���f��z>�������E1�1�H��]	H�߾D�g����D</u
�z>�����H���b��H�C8H�P �<>w�H�&@H��s��y���fDH���b��H�����H�C8H�@ �<"��<'�}1�H���[���H�$H������E1�1�H��	H�߾)�Ů��������Q���`����H��9.���I��H���-H���ǃ��D$���H����a���'H������H�$H�C8H�@ �8'��E1�1�H��Z	H�߾(�5�������D��(E���x���1��@H��9�(�`���H��0H�5��	H�<��Qx����t�H�L$E1�� H��H�>�	�ѭ������D$�H�{8H�G(H+G H=��o������nP���`���H���a���p���H�t$H���/���H�H������H�@pH�������H�{@����1�H�t$������H���`���"H�����H�$H�C8H�@ �8"t�E1�1�H��	H�߾(�������H�5�"L���Xw���D$������(����������M����M�eM����M�}H�$�D$�>H�5C�	L���U������H�5ю	L����U����HE,$H�,$I��M�g�M��tCI�/H��t�H�5��	L���U����u�H�5��	H���U����u�I��M�g��D$M��u�H�4$H��t�|$��tH������T$�������H�t$H��衱��H�H���~���H�@pH���l���H�{L��H�t$���Y���H�L$E1�� H��H��	詫������D$����H��H���ڶ������1�H���[���H�$H����������1�H���?���H�$�D$H����������H�L$E1�� H��H�6�	�)��������(�D$�)����D$������H�t$H��覰��H�H�������H�@pD��H���t������E1�1�H���	H�߾D輪��H�C8H�@ �<>t1��u$�+�H���^��H�C8H�@ ���t
<>t	���u��D$�����A���E1�1�H��	H�߾�V����D$��������f�USH��(dH�%(H�D$1�H�G8H�@ �8&���x#H����H�t$��H��H�|$��H��t
�0����H��蟳��H�H��tGH���H��t;�H�5�(	H�{��H�H�|$H����eP��H�{H�t$����H�D$dH3%(��H��([]�D�]����t׃����D$�Hc�H���D����H�H��t�H���H��t�H�t$H�{����f���w@�t$������������������D$H�|$�D���H�����?�Ȁ���y��^�����=�vg=����������T$H�|$��ƃ�H�����?�΀@�7��y��
���f�����?����΀�D$@�t$��������?����Ȁ�T$�D$����f�H���ر��H�H���|���H���H���l���H�{�H�5�&	���U���D��������D$���f���������T$������D��@AVAUATUSH��H��0H�� dH�%(H�D$(1�I���A��D��(H�ŋ��f��������t9H�{8H�G �8<tb��(��~	D9��H�C8H�@ �8�H���&���H��tH�3.H��H�D$(dH3%(�UH��0[]A\A]A^�@�@</���ƒ�߃�A��v<_��<:�����H����)���I��H����H�� H���K���H���������:���L��H��豪�����������H�{8H�G(H+G H=������I�����f���(��~A9��
DH�5�	H���ip����uH�5��	H���Vp����tRH���
��������|���H�{8H�G(H+G H=��H�G(H+G H=��X������vH���I����H�S8L�r A�<<t <&�(���b���H�������fDA�F<!��<?���߃�A<��H�H��t(��L��uH���H��tH�{�H�5��	��H���X���&���H�� H���ao��������H����H��tH��0.H��H�� �?��D��(H�ŋ���_�������~G������C����K2��A�NH�H�ȃ<�D��H��<-uA�~-��������f.�H�������i������H�$H�D$H�D$H�D$H�D$ ���{h��tHcB4L+rLr@L�t$H�D$H���R�L�� �����M����L���1��I��H���0H�K8H�Q �</�d<>�fH���W��M��tA�~�}�Kh�����H��tH��/.H��H�� �=��D��(H���j���@H���H���Y���H���h����tH���?���D��(E���;���������DH�C8H�@ �8>�w���H���_V���j���f.�A�N�<�O�K���A�N�<�C�<���A�N�<�T�-���A�N�<�Y����A�N�<�P����A�N�<�E����H��E1�H�
̄	� H��	�h���H�������q�������d����z>��E1��IH��L��H��H	�*���H�� L���{l�������sh����H�������{���E1�1�H�ǚ	H�߾D���H�C8H�@ �8�����H���8U��H�C8H�@ �8t�H��賣��H�����������L��H���*�������E1�L��H��	H�߾!�{������L��H������^���H���N3����(���=�����H��0�HcЉ�(H�<�tH�t9�H�� H������H�H��tH�@xH��t	H�{L��Ћ�(���m�����H��0�Hcȉ�(H�<�tH�t:�H�� H���2���H�H���A8H�Q H��u����=�����AWAVAUATUSH��H��HdH�%(H�D$81�H����H�G8H��������h�h��tH�P H+PHP@Hc@4H�T$H�D$ H����H�� ����WH���NH����-��I��H���2H�K8H�Q �</�_<>�aH���?S��M��tA�|$�~H�� ��9��H�{8D��(H�D$H���L�g H�$�_���(��~	A9��}H�C8H�@ �8��H���t���H��tH�h+.H��H�{8H�G L9���I��D9�(��A�<$��H�� �K9��D��(H�ŋ���������t�H�{8H�G �8<�V����@</��<_��<:���u��߃�A<�H�4$�5���I��H����H�� H���	���H���!����������L��H��轢��������o����H�{8H�G(H+G H=��P������A���A����H�H��tH�@xH��t	H�{H��Ћ�(��~<��H��0�HcЉ�(H�<�tH�t9�H�� H��fDH�D$8dH3%(��H��H[]A\A]A^A_�DH�C8H�@ �8>u�H���Q���E1�1�H�L�	H�߾臝���D�z>�FE1��IH��H��H�D	�\���H�� H���g�������sh���Z���H�S8H�t$H��H�B H+BHB@H�D$(HcB4H�D$0H�CPH�D$�[���!����H�� H���Qg�����l������@H�������tH���l�����(���j���������f���(A9�|����H�5r�	H����f����uH�5��	H����f����tJH��蒾��������\���H�{8H�G(H+G H=�������?������/����H�C8L�p A�<<t <&���������H���h���fDA�F<!tW<?����߃�A<��H�H��t(��L��uH���H��tH�{�H�5��	��H���O���2���@�K)��A�vH�H��<�DtRH��<-uA�~-���������fDH��� ����H���U������H���@������A�v�<�Ou�A�v�<�Cu�A�v�<�Tu�A�v�<�Yu�A�v�<�P�s���A�v�<�E�d���H��E1�H�
4}	� H�m�	�К��H���x����Q����{����D���fDE1�1�H�|�	H�߾D藚���
DH���M��H�{8H�G ���t<>u�H���
��������H�|$tx�Ch��u1A�<$tH�S&.H�|$��W����H���8�����fDHcG4L+gH�t$Lg@H��H�D$0H�CPL�d$(H�D$�tX��H�C8L�` �f.�A�<$�����H���ݘ������E1�H��H�|	H�߾!覙������H���+����(���E�����H��0�HcЉ�(H�<�tH�t9�H�� H���
����H�|$����b����H�H���A8H�Q H���������^6��ff.���H��t�R�f��ff.�@��USH��H��dH�%(H�D$1��8���e��H����H�{8H����D����C4ǃ�E���ZH�H��tH�hXH��t�`��H�{H���H�{(��H������H�C8H�@ �8�?H�H��tH�@`H��t��L��uH�{��H�C8H�h �}<��@H��谚��H�C8H�@ �8<��H���G�H�C8H�@ �8�.H�H��tH�@hH��tH�{���4�B�S1�������H�L$dH3%(�gH��[]��E<!th<?�p���H���0���H���h��H������H�C8H�h �}<�F�����@�P��!����?�C���H�����H���"������D�}-�.�$���UH��<�D���U�<�O����U�<�C�����U�<�T�����U�<�Y������U�<�P������U�<�E�����H���L��������x-������x-������E����H�{H��������NE��H�������H�kH�
ҍ	H���	H�5�H���$2��H�EP�y���H�G(H+G H=����������8�����DE1�1�H�_x	H�߾������f��}-�����Y����E1�1�H���	H�߾跕�������DH��谔������H�C8H�P H�@(H)�H���'������������u��D$�BH�|$��D$�B�D$�B�D$�J���������H����Y�������v2��fD���X�����AU��ATUSH��H�-�.�UH��H����H�xH��E1�H�Hǀ�H��L��H)�������H�� @��H���H������UI��H����H�xH��H�Hǀ�H��L��H)������H��(�UH�CHH����H�H�C8�PH�C@H�C H�C(�C0����ǃ�UH�C`H����I�
H�CP�PL�cX�UH��0H���Hǃ L��L��(Hǃ�Hǃ�L�+�c��H�[H�CH�C�"R�������%V��H�{p��C4ǃ���HH�.H���H���H��.�ChH���ǃ�Hǃ@Hǃ��Q��H��H��[]A\A]�H�5ou	1��ʗ����H�5�	1�躗��H��1��p^����H�5ό	1�蠗��H�CPHǃ Hǃ(H�CXH�C8H�C@�H�5��	1��Z���H�C8H�C@�H�5i�	1��:���H�CPH�CXH�C8H�C@�[���D��ATUSH��t{��~wA��H����`��H��H��tdD��1�H���H��I��H��tOH���_2��H��H��t/L� I�|$ H��H�@�oE��H��H���D.��H��[]A\�@L���L��H���HU��1�[H��]A\�ff.���AWI��AVAUATUSH��hdH�%(H�D$X1�H���r	L�w8M���e	�Ӊ͋�����I��H����I�H��t�����	fDH�D$V��L�-J�	H�$H�D$ A��1�H�D$fDM���'I�H����H�x �=��I�V H��I+NH)�H��H����D���rH����
����A��������IcD�L�>�������W���I�H���K���H�{�@���H�{ H���3���H�{(�(���L��������H��I��I�G8L�` L+`��I��I�w8H�{ L��A��L���G��E���1M�w8�����H�&H���dH��t>I�ALJ�A�GALJ����H��tH�@hH��tI���f�A��4uVI�H��tM����A����t���u<�_>��H��u2I�_H�
�	H���	H�5�H���9+��H�CPD���pA���H�t$XdH34%(�H��h[]A\A]A^A_�fDE1�1�H���	@�L�����M�w8ALJILJ@M������H����A!�E��������I�H����H�x �;��I�V H��I+NH)�H��H�����< �~���H�������J<<����!�������z-� H���`������f�E1�1�H���	�'����E1�1�H�\�	L������M�w8ALJILJ@���E1�1�H��	�����E1�1�H���	����H��������u1�1Ҿ>L��������
L�����A��(M�w8ILJ@�����A���^���fDE1�1�H���	�G����L�����I�H���\H�x �;:��I�V H��I+NH)�H��H���8����B�:<��<!�������z-��H�����-���DE1�1�H�4�	����E1�1�H�l�	����L���@���I�H����H�x �9��I�V H��I+NH)�H��H����
H���G�B�:<��<!�������z-��	����M�G8H�I�P �J�<�D�eH���k���ALJM��������� w>H�&H��s.L��胎��I�H���gH�x ��8��I�V H��I+NH)�H��I�H��tHH�PXH��H�T$t��S��I�H�T$H���I�H��tH�@`H��tE��LE��uI���I�V �:<M�w8u4�z!u.���I�V H��J�<�Du�J�<�O�rf.�ALJ����E1�1�H���	�����H������<��ALJM�w8�����E1�1�H�d�	�����A��1�f�L$V����H����E����I�F ���<������&����I�H��tO�T$V�� ��H�&H���mA��H���VH���H��tI��H�4$��I�F ALJH��ILJ@I�F �M�w8����H���F���I�F I�� �0�@@�t$H�5�{	�D$�T�����w��u-1ɺ/�<L������������I�V H��|���L��螫���|$<�s����|$/�h���ALJ	ILJ@�M���DL���P���E��(E����L���8���A��(��u-A���t#ALJ����I�H��tH�@hH��tI��АA��4uI�H���������7��H���a���A���P��t��u���u*ALJ�����g����ALJ�A�GI�H��t�H�@hH��t�I���ALJ�����&���fDA�������ALJ����I�H������H�@hH�������I������M�w8I�F A�F8�
���DIcF0�����E1�1�H��	L����ׇ������DIcF0����IcF0H��I+NH)�H������f�IcF0�����H�z L���$����L��I��I�G8H�8L�h L+h�K��I�w8L��L���H�H�x ��>�����@���ALJ�������ALJL���f.����H��<�*���A�h��tI�W8H�B H+BHB@H�D$(HcB4H�D$0L���A��M�� �����M����L�����H����M�G8I�H ���/��H�D$��>�9E1��IL��L��H�8-	�{���I�� L����P������A�wh���s���H�t$L���ی���a���fDI�� H�5.v	�P�����n����|$<���|$!�B���:���I�W8H�H�R �J�<�D�nI�F �x-�*��u1�1Ҿ>L���)������!���L���Y������@��?�������������u1�1Ҿ>L���������L���z���M�w8ALJ�n�fD<?�s������k�����u1�1Ҿ>L��蛔�����cL���+���M�w8ALJ������8M�G8���L���D$V謎��I�H��tH���H��tI��H�4$��ALJILJ@����fD<?u���t���u1�1Ҿ>L���������L���{���M�w8ALJ�o��IcF0�����z/�NALJ	M�w8ILJ@�/���z-�:�����uL���J������2L��躩��M�w8ALJ���fDL��蘍��I�H���H��tI��H�4$��I�F �����J�<�O������J�<�C�����J�<�T�q����J�<�Y�c����J�<�P�U����R�<�E�G�����u1ҹ�>L��褒����xpL�����M�w8ALJ�,�@M�w8I�F �8>��L���w6��M�w8��fD�����1ҹ�>L���<���������@A��4�,���D�J�<�C������J�<�T�|����J�<�Y�n����J�<�P�`����R�<�E�R�������D�z-�+�����uL��蒓�����z���L������M�w8ALJ�6�fD�z-����uL���R������:���L���§��M�w8ALJ��fDH���H�����������|$?uV��tR��u1�1Ҿ>L����������L��蠭��ALJ�����A!����DL���ز�����|$/u��������|$<�����4A���ILJ@�8���I�F(I9F rA�)���f��{���I�F A����0@�t$����@��<�����I;F(����|$&L��u�����y>�=���I�H��A�@8I�H H��tH�@xH��t
I�L����M�G8A��(������I��0�Hc�A��(H�<�tH�t9�I�� H���Q�L����3��H�D$H������x����I�H��tH�@xH��t	I�L����A��(���������I��0�Hc�A��(H�<�tH�t9�I�� H���s���E1�1�H�]/	L���Q����Q��x-������uL���ސ�������L���N���ALJ�~����J�<�O������J�<�C�v����J�<�T�h����J�<�Y�Z����J�<�P�L����R�<�E�>�����u1ҹ�>L���r������j�L��E1�H�
Pa	� H��x	��~��L��蔜������L�����A��(��������X���E1�L��H�
a	L���!H�D$�~��H�D$�����t$���߃�A<w(��u	@�����ALJILJ@�Z�I�H��t(A��LuH���H��tI��H�5�	��L���1����1�1Ҿ<L���l�����������_��J��f.���AWI��AVA��AUE��ATM��USH��H�t$H�$���D�����H����H���[L��H��H����A��tH�}t
ǃ�M���?L�+����I9�tH�{	.H�;�L�-O.�A�UH�H���2�Ao�AoWP�Ao_ X �Aog0`0�Aoo@h@�AowPpP�Ao`x`�AoOpHp�Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao�����Ao����H�D$H��tH�CM���5L���-��H���hA�UI��H���If�H�@@8@(@H@XH�@H�@H�@ H�H�@@H�I�E0A�E8M��tL���H��I�EI�mH�} L���g/��L��H���<��E��~WL�<$M��tNH�s8H��tEH�H��t=H�x �4��L��D��I��H�C8H�8H�h H+h�'?��H�s8H��L��H�H�x �3���ǃ�H��H��[]A\A]A^A_�@L�-).M������Hǃ����1���@L�%!.H��A�$H��1�A�$��H�5Q	H������H��1��>��H��.H���x���fDH���5���e���ff.���AVI��AUATI��UH��SH���s��H����H���B!��H�߉����H��H����H��tJL�h8I�}PH��t
H�c.�L�k8H���u��H��I�EP�i���������H����>����� tmM��tHH�;H��t	H�.�L�#H��L�s�;��H�H�kH�CH���}E��[H��]A\A]A^ÐH���x;��H�k��f�1�[H��]A\A]A^�f�E1�H��H�K&	H�߾ �y���t����H������H��t�H��H������V�����1�1��C@����AVAUATUSH����I��H����G��H��H����H���LF��H��H��tT1�H��H���%��L�5 .H��I��A�M��tZL��H���w��M��tL���Z��H��H=�vOH��[]A\A]A^�����H���t����H�5B[	1�H��1����H���@<��1�H��[]A\A]A^�f�H�1.H�=[	L�(�:��H�H�|A��H��H��t�H�charset=H�}L��H�E�N��H��H���3���H��A��Y������AUI��ATI��UH��SH��H������L��H���&��H��tQH��H��t9L� L�hH��H�(�9��L�#H�kH�CH���pC��H��H��[]A\A]�f�H���h9��H�k��f�1���ff.����1�1��G������.�=�.�ff.�@��H��t_H��tZUSH��H�_H��t;H�;H��H��u�.fDH��H�;H��tH���,����u�H���[]�@H��1�[]��1��D��H��t'H��t"SH��H�6��8����t"�{
[������@��f.��[�f���H����H����AUA��ATI��UH��SH��H�_8H��u~I�\$(H��u�f�H���h������H��H�;H��u�E��t'I�\$0H��u�H���8����ttH��H�;H��u�H��[]A\A]��H�������tH��H�;H��u��u���H���[]A\A]�H���[]A\A]ø�f.���f���H����ATU��S�GH����t:��t
1�[]A\�fDH�G(L�gH�x�_��[��L��]H��A\�N��fDL�g��t0H�G(H�x�3��L��H���7���¸��u�[�]A\�L�����H��H�C(H�x���[H��]H��A\�y*��f���f.���H����USH��H�����H����@H�����H�����H��u�H����C@H�C8ǃxH���"�����H��pH�{ �CXH�CPǃ(Hǃ ǃ�H��t%H��tH��H���f������H�{ H�#.�H�{(H�C H��tH����H�.�H��H�C(H��tH����H��-�H��`HǃH��tH����H���-�H��hHǃ`H��tH����H���-�HǃhH�{H��t�-��H�����H�CH�{pH�C0H��-HǃH���H��-�Cǃ0H���H����ChHǃ@HǃLHǃ�Hǃ�ǃ�ǃ�ǃ�Hǃ��0��H�� H��tH�5��-�;��Hǃ H��(H��t1����Hǃ(H��[]�Hǃp�������H�{(H�C H����H��H���X������H��H�C(H���0���H��H���-����tyH��`HǃH���/���H��H�������uH��`����H��hHǃ`H������H��H������������H��h���fDH�����@H�{(�`���H��H���O����z���f���H���_@��@t#H���@Hǀ���4@HLJ�@�� t.H��� Hǀ�HLJ�Hǀ���4 @�ƀ��LJ�����H�H��-LJHH����������4�ƒ���������t��4-�t��4-�t
��4��� t��4 - �� t��4 - LJ8�LJ��ƀ��4����/���LJH���I���������ff.�AVAUE��ATI���UH��SH���5'���C4H��t>H������H��t1H��H�����L�s8I�~PH��t
H�}�-�L�s8H���	��I�FPM��tH�k8H��tH�}t^H����0��H�kH�CE��u5��8��t#H��tH���H9��uHǃ�H���2��[H��]A\A]A^�@L���	��H�E�f.���H��tgAUA��ATI��UH��SH��H�����H���d��H�߉��*���H��t%H��D��L��H��[E1�]H��A\A]����H��1�[]A\A]�1��ff.�f���ATA��UH��SH�����H��H���/��H��t[D��]E1�1�1�H��A\�T���@[1�]A\�f���AVA��AUE��ATI��UH��SH���
��D��H�����H����H����:��H�;���%	��H��o�oHJ�oP R �oX0Z0�o`@b@�ohPjP�op`r`�oxpzp�o�����o�����o�����o�����o�����o����D��L��H��H��E1�[]A\A]A^�6���fD[1�]A\A]A^�D������AVAUA��ATI��UH��S�����1����:��I��H��t[H�@�N;��H��H��t>1�L��H���y;��H��tLH��H�����D��L��H��H��E1�[]A\A]A^���DL���@'��[1�]A\A]A^�D1��DL��� '��H����7����fD��H����AWI��AVE��AUM��ATI��UH��SH��H������L��1�H��H��� ��I��H��tV�:��H��H��tq1�L��H���:��H��toH��H���,��H��D��L��L��H��E1�[]A\A]A^A_����f.�H��tH���H��1�[]A\A]A^A_�D1��DL���@&����fDL���0&��H����.���fD��H��twH��trAUA��ATI��UH��SH��H����
��H���_���1�H��H������H��t-H��H���b��H��D��L��H��A�[1�]A\A]����f�H��1�[]A\A]�1��ff.�f���H����H����AWA��AVE��AUM��ATI��UH��SH��H���E
��H�����H��1�D���` ��H��H��tP1�H��H���+9��H��t6H��H�����H��D��L��L��H��A�[]A\A]A^A_�F���fDH����$��H��1�[]A\A]A^A_��1��ff.�f���H��tGAVI��AUE��ATI��UH��H��SH���h��E��M��L��H��H��[��]A\A]A^����f.�1��ff.�f�������H����AVE��AUI��ATI��U��SH��� 	��H�������1��6��H��H��tG1�H��H���
8��H��t-H��H�����D��L��L��H��A�[]A\A]A^�+���H����#��[1�]A\A]A^�D1��ff.�f���AWAVAUATUSH��D�|$PH����H����H��H��I��I��M��L�D$�^��H������H��1�L��L���&��H��H��tN1�H��H���A7��H��t\H��H�����H�t$D��L��H��H��A�[]A\A]A^A_�Z���f.�M��tL��A��H��1�[]A\A]A^A_�@H����"����fD��H���AWAVAUATUSH��H�_H��tlH�-J�
�H�[0H��tW�{u�H�{H��t�H����1�����XH�{H�5T	��1������H�{H�5aG	�1����uMH�[0H��u�1�H��[]A\A]A^A_��H�{H��tH�5$G	�1����u�H�[0H��t��{u����H�kXH��t�E1�E1���H�m0H��t�H�EH��t�xu�H�x0u�H�}H�5�H	L�hP�������E��A��M��tH�}H�5�H	������MD�M��t�E��t�H�5I	L���,��H����H��H���������	t	�� �����H����� t�	t����DH�[H�-�R	H��u����H�[0H��������{u�H�{H��t�H���T0����uH�{H�5�E	�@0����t�����H�[H��������u���1��H�5�G	L������������A�A�����H�5�	L���++��H������H�5�E	L���+��H������H�5�	L���*��H��t	H��	���H�5�	L����*��H��u�H�5׌	L����*��H��������ff.�@��AWAVAUATUSH��dH�%(H��$�1��D$ H����I��I��H�5b�
L���%������M��t-H�|$ M��d1�L�Q�	��d��Ƅ$�I�]H����H�-�
�DH�[0H���k�{u�H�{H��t�H���
�����H�{H�5�P	�
�����fH�{H�5D	�|
����u���H��1ۃ}�MDH�}H���;H�5�C	�G
��A�Dž��$H�UXH����D$E1��f�H�R0H����H�BH��t�xu�H�x0u�H�@PH�zH�T$H�5�E	H�D$����H�T$����D�L$A��H�|$t-H�zH�5�E	D�L$H�T$���H�T$D�L$��LDt$M���j���E���a���M���hL��L������H����E1��
�A�����H��$�dH3%(D����H�Ę[]A\A]A^A_�H�kH��u�H�m0H��t�}�����H�m0H��u�M��t�H��t�1�L��H��B	1����H�{H��H��H��� �G"��H��H��D	H�5�D	���H�T$ H�5�D	H������4���H�[H�-�N	H��u�+���H�[0H�������{u�H�{H��t�H���\�����.���H�{H�5�A	�D����u�H��H�[(�%���@M�������D$���������fDH���"��H���0�����H�|$H�5�C	H�T$��
��H�T$������A��D$�2���H�T$ H�5�C	H���	���Z���H���4���������f.���UH��H�=U	SH���-H���H��H�{�H��tH���[
����u�H���[]�H��1�[]�ff.�@H��t{AUATI��H�5w�
UH��SH��H���*��H�CHH��t H�pH��tH���*��H�5٪	H����)��H�sH����)��H�{t
H�{�-����tH��[]A\A]����H�sL��1��z��I��H����H�5�	H���)��H�{Ht(H�} L���\�H��-H�H��L��[]A\A]��H�C(H��t�H�xHu�H�{H�5�T	�0	������A�$L��< wH�&f�H��sH���< v�H�5]�	�C���H�} I��H���o���H�����H���-L���e���f.�H��H��H�5%�	[]A\A]�(��H�{H�5S	������g���H�{H�5uR	������O���H�{H�5�	�g�������H�C(H�5��
H�x�K������������ff.���AWAVE��AUATI��USH��H��(H�t$H�L$���M����H����M�|$(A�D$M��
�H�
��	Hc�H�>��DI��O�I��H���#�xuI�W �B������H�5*�	H���'��I�GHH��t H�pH��tH���'��H�5X�	H���r'��I�wH���f'��H�5Ф	H���W'��A�}��M�o0M����A�E�P���tH��tH�UH��t
�:p��@M9���H��([]A\A]A^A_�M;}(�"I�}�H�L$H�t$E��L��H���s(��M9�t�M�m0M������f�E��tI�H����H�5 �	H���&��I�GHH��t H�pH��tH���w&��H�5N�	H���h&��I�wH���\&��H�5ƣ	H���M&��M9��5���M�o0M���WI��A�GI�o(���	�p���H�5��	H���&�����I;W�T���I�GH���G����8p�>���H�5Z�	H����%���*���H�D$I�}H�$H�5$�	H���%��I�EHH��t H�pH��tH���%��H�5n�	H���%��I�uH���|%��I�u`H��tH���;�I�mXH��tf�H�t$H��H������H�m0H��u�H�|$�yH�D$�xu^I�}��H�D$�x
��H�5��	H���%��I�EHH��t H�pH��tH����$��H�5ĥ	H����$��I�uH����$��H�5<�	H����$��E�����I�U0H������H�D$H�������xu"�B����tM��tI�GH��t	�8p��M9��_����BL��I��DI���a����M9������3���f�I�uPH���c���I�EH;��-t	H;'�-t:M���I�H�5rL	��������I�uP�fDI�uPH������H����#������fDH�5O�H���#��I�uH���#��H�5��
��@I�}����H�5��	H���#��I�uH���#��I�}PtH�5��
H���l#��I�uPH���`#��H�5ʠ	H���Q#���|���@I�}P�m���H��H�5��	�.#��I�uPH���"#��H�5)�H���#���>���fDH�t$L��H������#���I�mPH��tpH�5G�	H����"��H�uH����"��H�}htsH�5�H���"��H�uhH�{ ��H�}pH�5��
tH���"��H�upH�{ �f�H�576	H���w"��I�UH����M9}(������BL��I����H�}pH��t�H�5��	������t�H�5���I�H�5�H	���I�uP���1���H�|$���H��H���.���H��H����!��H���-H������A�EL���v���H�5H�	H����!����I�}�����H�5!�	H���!��I�U�B�?���I�}��H�D$����H�8H�5��
�
������\���H�D$H�5�D	H�8������@�������H�5��	H���B!��E��tQH�D$I�U�x�B�����H��������I;U �����I�MH��������9p�����H�5m�	H���� ��I�U�B���A�E�w������AWI��AVE��AUI��ATI��USH��H������H����H��1��W���uBH��L���w��H��H��t_E��L��L��H��1��"��H��H��[]A\A]A^A_���fDH����H��H��u�I��1Ҿ{�H�
�~	�e��H��1�[]A\A]A^A_��H�=����H��H���^���H�=�~	��H���J���ff.����A�1�����ff.�@��AVAUATUSH���H����H��I��I����H�����H��H����H���-�8�H��H����f�H�h H��@(H�@H�@H�@H��@0����A�1�L��L��H��I��� ��H���-H��H�����H�����D)�Hc�H=���w?��[]A\A]A^�@L�f}	1�1Ҿ���������H���a���������뺐��A�1�� ��ff.�@��H��t/UA��H��1�SH��H���n�F
�����kH��[]�DA��1�1�1�����f.���AWAVA��AUI��ATI��USH��H���m�H����M����M����L���z�H��H����H��E1�������L������H��H��tbH��D��1�L���
��H���"��H�}(H�����0��H�}(A�$I�����D��H���%�H��H�H��[]A\A]A^A_����@H�A�$H��[]A\A]A^A_�f.�H�����I��H���R���I��1Ҿ{�H�
�{	�1��2���@H�=����I��H������H�=h{	��I������@H�} �_��H�} I��A�$�*���ff.�@����
��f���A�1�H�����ff.����AUI��ATUSH��H����H����M����H�����H��H��t}H��E1������u=L��L���
��H��H����H��H��1��1���H��H��[]A\A]����H����I��H��u�I��1Ҿ{�H�
<z	����H�=���l�I��H���{���H�=(z	�T�I���g���@H�������[]A\A]����H����H����AUATUH��SH��H����H�����I��H����H��E1������u9�SHH��L�����H��H��tSH��H��1��.���H��H��[]A\A]�|
��@L����I��H��u�M��1Ҿ{�H�
<y	����H��1�[]A\A]�H�=���\�I��H���o���H�=y	�D�I���[���@������f���H���H����AVAUI��ATA��UH��SH����H����H��E1������uHH��L���]�H��1�L�����H��H��tXD��H��L��H���g	��[H��]A\A]A^�w	���H����I��H��u�I��1Ҿ{�H�
4x	����[1�]A\A]A^�DH�5q�L�����H�=���E�I��H���\���H�=x	�-�I���H���D������f.��������f�H�����A�1�Q1�R1�jjjjjjjjVL���1�1��&���H��hÐH�����A�1�Q1�R1�jjjjjjjjVL���1�1����H��hÐH�7H��t(�Gp��~!��1$�2)‰��H�H�|��D��H�����ff.�@����AUI�&ATL�b(UH��SH��H��H��u*���y|��H�&w	�1�L���4��H��I9�t.���tdL�E��< w�I��sCL�ƿ H���"���I9�u�H�M��H�=�*	H��[]A\A]�Y��f�L������fDH��[]A\A]�D�H���H�=wv	�f������H��tQ��t�@UH��H�cv	�SH��H��H�OH�}�S���K\���wH�5�~	��Hc�H�>��@��u�H���H�=�u	���H�M��H�=Ev	�v��fDH�K`H�}H��tH�Sv	�1�����H�}H�KhH��tH�;v	�1����H�}H�KHH��tH�'v	�1����H�}�{t H�KPH��tH�
v	�1��j��H�}H��H���
[]�s�H�M��H�=7u	����A����H�M��H�=*u	����!����H�M��H�=u	�v�������H�M��H�=u	�V������H�(u	��H����������H��H�Gw	�I��QA�1�1�P1�1�jjjjjjjjR1���H��h�f�H��H�����NH�����
��L��|	��Ic�L�>��fD��������f�H���H�
�t	��H���U���DH���H�
�t	��H���5���DH���H�
�t	��H������DH���H�
�t	��H�����DH���H�
�t	��H������DH���H�
�t	��H�����DH���H�
�t	��H�����DH���H�
�t	��H���u���D��������H��	�H�=vt	�y��f�H���H�
dt	��H���%���DH���H�
\t	��H������DH���H�
Ut	��H�����DH�Ut	���o����������@���H���H�=�r	�����H���H�=�s	����UH��SH��H�������uz�E���H�����}uvH�}�������uVH�MH�;H����H��s	�1��������H�UH���<���H�3H���
[]���f�H��u�H��[]�@H���H����H���H�
}	[]���H�MH��toH��H�߾�[H�}	]���D�����u�H�H����[H�=�r	]����H����H�=	s	�w���$���f�H���H����H���H�
�|	[]����ff.�UH��SH��H���?���������H�{t:H�M��H�=�r	������H�SH�����H�u�
��H�{ht:H�M��H�=F�
������H�ShH�����H�u�
�?�H�{pt:H�M�	�H�=�
�~�����H�SpH���l���H�u�
��H���t=H�M��H�=�q	�:�����H���H���%���H�u�
���CL��u0H�[`H��t�H��H���E���H�H��u�H��[]�fDH�M��H�={q	�����@H���pAUATI��USH��H��tv�FI��H��ww�"H��sl���H��ƒ�v��t5f.���t{��uwH�[(H�����C���H��ƒ�vل�uՃ��	��L;c`�H��[]A\A]�@I�L$H��z	��H����H��L��[]A\A]�$���@H�k`H��u&�{���f�I�t$H�}�"����u�H�mH���Z���I9�u�H��[]A\A]ÐI�L$H��z	��H��u�I���H����I���[H�
cz	]A\A]�A����I���H����I���[H�
�y	]A\A]�����fD�����u�DH����UH��1�SH��H��H�������u]H���H��tAH���)����u5H�CxH��t���u H��H��H�߾�[H�z	]���H��[]�f�H��H�to	��H�������H���H�����H�
7o	�A����ATI��USH�n@H��H�~(H����H����H���H����I�|$x�I��$��`H�C(H��t"H�@@H9C@tH�{H�5��M�����EH�C8H����H9X0t!I��$�I��$���H�
�y	���H�K0H���<H9Y8t%I��$�H�
�y	��I��$��]���H�K0H�C(H9A(t!I��$�I��$���H�
�y	�.����S�Ѓ�t|���+����H�kPH��t)A��$���tH����������Cf.�����H�Ht	Hc�H�>��fDH�K0H���/�����u�fDH�k`H���H��H��L�����H�mH��u�H�SHH��tH��L�������C���O�����H���r����;���DH�sL��[]A\�(����H�kH;-��-t4H;-,�-t+I��$�H����H�5�����H9���[]A\�f.��CH�s(�ƒ���H������H9^��I��$�I��$���H�
�w	�������DI��$����I�l$x�w���fDA��$����U���ADŽ$��D�����SH�s(��H���
�����tAH9^ t
�~����������k���H��t
H9^X�IH�K0H���p���@H�SHH���k��������f�H�KH;
m�-H�nw	������[L��]A\���H�KH�������H�dw	����DI��$�I��$���H�
v	�_����f.�H���H�����H�
Ok	�1�H�C@H���	���@I��$�I��$���H�
1k	���
���f.�H�kH��H�7k	���%����H�K0H���?������fDI��$�I��$���H�
lu	������f�H�SH�H���������I��$���I��$�H�
�u	�X�S���%���H��H��j	��L�����E���f�ATUSH��H�$H��dH�%(H��$�1�H�����H����u^���H���x�}uUH�}ts������H��H�����H��$�dH3%(��H�Ġ[]A\��H��tу}t�H���H�����H�
su	�n��@H���H�����H�
vu	�I������n����}Hw3�EHH��o	H�Hc�H�>��fD��H�=�i	�2���}t5H�UPH��t,I�侈��$L����H�3L��Ƅ$�����H�3�
�����DH��	�H�=,i	�������H�UH����H�3�)�H��*�������������H���H�=�h	�y�����@��H�=�h	�Z���#���D��H�=�h	�:������D��H�=�h	�������P��UH��SH��H�����������H�����}�������uqH�MH�;H����H�nh	�1��1��H�MhH�;H��tH�Wh	�1����H�;H�MpH��tH�Dh	�1�����H�;H���
��H��H��H��[]���f�H��tK�~t�H���H����H���H�
�g	[]���H����H�=�g	����Q���f�H��[]�f������u�H�H����[H�=Zg	]�����H�O(��H�=��	���fDUH��SH��H��tBH����C��t*H�[H��t!��t�EpH��H������H�[0H��u�mpH��[]�����u����H�MH���
[�H�=�f	]�!���ATI��US���H��������M���������t I�|$��L��H��[]A\�e���DH��
�H�=�f	���I�T$���H����H�3�
�7�I�l$H��t��Cpf�H��H������H�m0H��u�kpI�|$�x���H���H�����H�
+f	�
�L��H��[]A\���fDH���/���[]A\�f.������u�H��[�]H�=�e	A\����f�AVAUATUSH��H��t0�NH��H����σ��H�51k	��Hc�H�>��D�����t[]A\A]A^�D�3�H��
�H�=e	[]A\A]A^�b��f�D���E��u�H����H���H�=�f	��fDD���E��u�H�����H���H�=�f	�fDH��H��[]A\A]A^�=�D������
H�����}��H���H�����H�
Fp	[]A\A]A^�q��D���E��uH���<��}��	H�MH�����������	H�}p��H��H��[]A\A]A^���f�D���E���	H�}@���Cp����H�}PtD���E����kp������u�H����H���H�=3d	����DH�}@�M�}�Cp��u�L�e`M��t(�L��H�����M�$$M��u�}���_���L�eXM���r���L��H���E���M�d$0M��u�E������E����)�������������H�����H�MH�;1�H�kc	�����C���D���E������H����H�MH�;1�H�Ic	��V����	����D���E�������H���h�H��	�H�=Wc	�������f.�D���E���P���H���(�H���H�=c	�_������f.�D���E������H�����H���H�=�b	�����R���f.�D���E���H���H�=eb	������f�H��H��[]A\A]A^�m���D����������H���b�H���H�=�a	�������@������R���H���*�H�ۿ-H9EH��w	��H�=}a	�P������t&H�uPH�EXH9��1
H����Z�����:
H�3�
����G����H��H��[]A\A]A^���D������H���H�=�`	�����h���@������H�}@tO�Cp��f�D���E����H��H��^	[��]A\A]A^���@D���E��uH����H���H�=
b	�C������fDH�uH�}@��I��H������D���E������H����D���E�������A�L$\H�;����H�5�e	��Hc�H�>��H����H�=�a	���f.�I�L$H�;�1�H��	����I�L$`H��t-�����u
H���)�I�L$`H�;H��`	�1�����I�L$hH��t-�����u
H�����I�L$hH�;H��`	�1����I�L$xH��t-�����u
H����I�L$xH�;H��`	�1��p���I�|$P��������uH����H���H�=[`	���I�T$P���H����H�3�
�9�����H����H�=q`	�{�������H���!�H�=bj	�]������H����H�=$j	�?������H����H�=�_	�!����l���H�<`	�1�����T���@H����H���H�=�_	����H�UP�"���fDH�}��������[���H���H�=�^	������H�UH����H�3�)�������������}\w3�E\H�Mc	Hc�H�>��H��
�H�=�^	�>���fDH�M`H��t,�����uH�����H�M`H�;H��^	�1����H�MhH��t,�����uH����H�MhH�;H�_^	�1��N���H�MxH��t,�����uH���c�H�MxH�;H�8^	�1�����H�}P�2��������uH���,�H��	�H�=^	�c������H�UPH���Q�H�3�
�������H���H�=o]	�&������H���H�=E]	��������H���H�=@]	������H���H�=�\	�������H���H�=�\	����q���f�H���H�H���H�=	����H�EHH��t$H�P���H��tH���_�H�3�:�������H�UH���@�H�3�
�����f���fDH������H���H�=|[	�����:���f�H������M�`���H��������H�������H���H�����H�
�e	����H�;H�d[	�1�����H�MpH���������$���H�;H�@[	�1��������������}P
H�;w3�EPH�Q`	Hc�H�>��H���
�H�=
[	�&���H�;L�e`M��txA�L�5�Z	I�L$A��t8H��Z	�1��l���M�$$M��t4A����A��H�;I�L$A��u�L��1��8���M�$$M��u�H�3�)�B��H�;�ET���+���d���:H�}Xt/H���"�
��H�UX���H���[��H�3�"����H�;H���
�������H����H�=�Y	� ���H�;���H���	�H�=�		��H�;����H����H�=�		���H�;���H���	�H�=�		��H�;���H����H�=���H�;�t���H����H�==		�{�H�;�S���H����H�=		�Z�H�;�2���H����H�=�	�9�H�;����H����H�=����H�;��H���H�=0Z	��H�;�P�����H�=�W	������H���H�����H�
zc	����1���H���H�����H�
�b	�a����H���H�����H�
�b	�=�����H����H�=QX	�O�H�;����H���	�H�=&X	�.�H�;���H����H�=X	�
�H�;���H��	�H�=W	�����H��
�H�=
W	�����f�H��tKUH��SH��H���j��C���	u'H�[H��t�Epf�H��H�����H�[0H��u�mpH��[]�����t�DH���H�=rS	�G����AUATUH��SH��H����H��L�f(I�&H��u-���yt��H�^R	�1�H���l�H��I9�t*���t\��< w�I��s?H�� H���^��I9�u�H���H�=
	H��[]A\A]��fDH���(���fDH��[]A\A]�DH���-H�(�;���H���H�=�Q	�ff.���H��dH�%(H��$�1�H��tnH�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�f�� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ�����ff.�@��ATUSH��dH�%(H��$�1�H�����D$pH��H��H�D$xH�CH�SlHDŽ$�HDŽ$�HDŽ$�HDŽ$�fD� H��H9�u��D$lH�<$H��tmH��H������H�EPH��t|L�``M��ts��$�����H��H�5���L��蘾��H�EX��$�H��tlH�h`H��tc��tH��H�5q��H���i���H��$�dH3%(��H�İ[]A\�H�$��H�=i_	�<�H�EX��$�H��u���u�H�$��H�=[_	���H�$��H�=MU	����b���H�$��H�=U	��������	��f���USH��dH�%(H��$�1�H��tH�D$xH��H��HDŽ$�H�EH�MlHDŽ$�HDŽ$�HDŽ$�@� H��H9�u��D$lH�<$�T$pH��tf�H��H����H�[0H��u�H��$�dH3%(u
H�ĸ[]��:��f.���H��dH�%(H��$�1�H��tnH�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�f�� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ����ff.�@��H��dH�%(H��$�1�H����H�D$xI��HDŽ$�I�@I�HlHDŽ$�HDŽ$�HDŽ$�D� H��H9�u�H�<$L���D$l�T$p��H��$�dH3%(uH�ĸ�H�Ŭ-H�8�l��������USH��H��dH�%(H��$�1�H����H�D$xH��HDŽ$�H�EH�MlHDŽ$�HDŽ$�HDŽ$�� H��H9�u��D$lH�<$�T$pH��tf�H��H���5�H�[0H��u�H��$�dH3%(uH�ĸ[]�H��-H�8�\�������ff.���H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�HDŽ$�DŽ$�fD� H��H9�u��D$lDŽ$�H�<$H��tH�����H��$�dH3%(uH�ĸ�H��-H�8�X������ff.����H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�HDŽ$�DŽ$�fD� H��H9�u�H�<$H���D$lDŽ$��P���H��$�dH3%(uH�ĸ�H�6�-H�8�]����!������USH��H��dH�%(H��$�1�H�����D$pH��H�D$xH�EH�UlHDŽ$�HDŽ$�HDŽ$�DŽ$�f�� H��H9�u��D$lDŽ$�H�<$H��tLH��H��� �H�[H��tb�D$pf�H��H���u�H�[0H��u�H��$�dH3%(uPH�ĸ[]�H����H�=NO	�����H��-H�8����H�$��H�=0O	������@��H��dH�%(H��$�1�H�����D$pH��H�D$xH�AH�QlHDŽ$�HDŽ$�DŽ$�HDŽ$�fD� H��H9�u�H�<$H���D$lDŽ$��@�����$�H��$�dH3%(uH�ĸ�H��-H�8�V����
���f.���H��t?�w9�GH��Q	Hc�H�>��DH�W1�H��t3DH�R0��H��u��1��DH�PH��t����f����f���H��t7H��t:UH��SH��H��H���{�I�CH��Q	Hc�H�>��D��H����H�=ɣ	�����n�~��fD�{t0H�{XH����a�Z��H�{`H�����n�B��H���
���H�%M	�H��1����{w�CH�FQ	Hc�H�>���H�{H��tH������H��H��
[]����@H�sPH��t�H�������DH�KL�CH���_H��L	�H��1��y���H�{H��t�H�CHH��t�H�HH���z���H��H�_L	�1��;�H�{�[���f��c�F��������p�6�������E�&�������e��������C��������t����y�����a�����i�����-�����Y�����N�����I�����F����9�����T����)�����d���������h����	�����?�v�������-�f��������-�V������L��H�BK	H��1�����C���f�����H�;K	H�/K	HD�����UH�"K	SH��H��H��HD؃�	�<H�eO	��Hc�H�>��f����H�(�S��H��H�55K	H�8H��H��1�[]��f����H�(�#��H��H�5�J	H�8H��H��1�[]��f��[��H�(����H��H�5�J	H�8H��H��1�[]��f��+��H�(����H��H�5qJ	H�8H��H��1�[]��f����H�(���H��H�5QJ	H�8H��H��1�[]��f�����H�(�c��H��H�51J	H�8H��H��1�[]��f�H��[]�f���H��tWH�8�-SH��G��	tL��tH�w@H��H���0��H�޿
[�b���f�H��1�H���S�H�޿
[�E���D��H��H���=�H�޿
[����ff.�@���ff.���H��tgUH��SH��H��ta�B�����	t<H�(��tSH�ZH��u�H�H�}(H���4���H�[0H��u�H��1�[]�f�H�ZH��u���D1��D�#���֐H�������fD��H��tUH��SH��H��H��tvH�z@�M���H��H��t5H�{(H���1�H��	��H���-H��H��1�[]�fDH�K(��H�=�H	�V�H��1�[]�D1��D�{��H��1�[]�f���H��tGH��H��H��tS�BH�(�ƒ��	t1҃�t+�n�1�H������1�H���@1��D�3��1�H���@����Ð��H��tWSH��H�(H��tbH�s�B�~
t��	t@����H�s(�
�%���1�[��
t�6�����@H���X����fD1��DH�����fDH����H�=	�	�/��ff.�f���H����H����ATI��USH�GH��H��t�x
ta1�1�L���ի��H��H��th�{ tW�C H�{���H���-H�;�H�kH��H�k���L��H�C��H�1�[]A\�D1�L�����H��럐H�{�7���랸�����ԃ��f.���H����H�����>��AUATI��UH��SH��H���B��	t~��
tAH�5dF
H������I��H��t:I�t$H��H���Z��L���ұ��1�H��[]A\A]�DH�wH���D�����y��[��H�����H��H�5F	H�81��Ӹ�����H�wH��������}���D������f.���H����USH��H��H�wH��tIH��t<�;t7�F��	tW��
t:����H��m��H�5�N	H�81��Ӹ����H��[]�H�H��u��������H���x�����x1�H��[]�H��� ���y��w��H�(���H��H�56E	H�81���1��ȸ�����@��USH��dH�%(H��$�1�H����H�H����H�D$H�����H�H�D$���H�H�D$ H��t�}u0H�sH�|$�*��H��$�dH3%(uNH�Ę[]�DH��1��ι��H��H��t&H�sH�|$H���5��H��D$�9����D$��������$���@��H���sH���jAWAVL�5h�
AUI��ATI��U1�SH��H���%�����H�C��t^H��tY��H�ËS�Ѓ��	u�I�L$(��H�=LZ	�[���SH�C�у��	u�H��u�H��1�[]A\A]A^A_�@I9�t�H�C0H��u�H�C(�@H�C0H����H�C(H��t�H��t��H��I9�u��E1���~)f�I�L$(��L��A������A9�u�H�CHI�|$(H��t!H�HH��tH�:B	�1����I�|$(H�KH��{	�1��������DI9��������f�������f.���H��tZH��tUUH��SH��H������H��H��t5H��H�A>	H��1�����H�	�-ƃ�0H��1�H��[]ø��������f���AWAVI�ι<AUI��ATI��USH��8dH�%(H��$(1�H��$@H��HDŽ$0/ > HDŽ$8��H���H������MM���DH��M����H�1�-�8�H��H����@ H��L�hL�`0L�p(�C���H�{H�H�{����H�CH����H��$0L��$0H�&H�$�H�CL�
A�H;C��H���
L�HM����H�@HH����H�@H����H����L��AQL��@	I����1��R���ZYƄ$#L��S0I��H���}���	t�� uf�H����� t�	t� wH���0���(L�t$0�L��D)��H����7H����� w�H��r��u�Hc��D0��� t	��	u@H����� t�	t�
w�$E1�H��r-�H��$��$f���A��H����
w�H��s�L��H�=�?	Ic��Ƅ������u�H�=�?	L��������W�H�=�?	L��������9�H�=�?	L��������T�	H�=٤	L����������H�=��L��������,�H�=�?	L����������H�=�?	L����������H�=�?	L�����������$�������L�0�s��H�5�M	H�81�A���3H�(�-H��H��$(dH3%(�qH��8[]A\A]A^A_���D$0����fD���L��1�L�D>	��蠝���K���A�$? > A�D$�5���DH�K(�+�H�=3G	���H�K(�.�H�=IG	�l��H�K(��H�=�=	�R��H�K(�+�H�=EG	�8��H�K(�2�H�=[G	���H�K(�P�H�=yG	���H�K(�O�H�=�G	����H�K(��H�=�=	����H�K(� �H�=�G	���H�K(�#�H�=�G	���H�K(�,�H�=�G	���H�K(�=�H�=H	�h��H�K(�W�H�=+H	�N��H�K(�Q�H�=iH	�4��H�K(�O�H�=�H	���H�K(�Q�H�=�H	���H�K(�?�H�=I	����H�K(�C�H�=AI	����H�K(�0�H�=oI	���H�K(�K�H�=�I	���H�K(��H�=L<	�~��H�K(�>�H�=�I	�d��H�K(�5�H�=�I	�J��H�K(�,�H�=�I	�0��H�K(�A�H�=J	���H�K(�1�H�=1J	���L����������H��$�1�1�H�������H�{����C ����H���-H�;H�H��t��H���-H�H���M���y���L��衚���l���H��$�1�1�H��踿���w���H���-L�0�����H�=s;	L����������H�=Z;	L����������H�=A;	L����������H�=';	L�����������$�H�S��1�1�H��莩������f�H��$�H��H�D$�+��I���3���L�0�+���1�L��H�0L�����L���ë��L��I���X���M����L�����I�����H�H�T$���H�T$1�L��H�0�о��H�sL������H���tzH��-H�8��H�:	�1����L�����L��������H��$�1�1�H��聼�����H�{蓡���	���H�SH��$�1�H���(������H���-H��9	�H�81�����H�H	�1�����r�����$��(H�{(1�����b���L�{M���U���L��$��?L��茖��H���hA�G��t,������I�W���	uaH������I��A�G��u�I�PL�����H����L�����H�{(�H�G1	H��1��G��1�L��1�H�����A�G둃�tH��u�I�G0H����I���`���I�PL�����H��t3I�(�)���H�{(�H��0	H��1�����I�W(1�1�H��菡��A�G�%���H��$�H�T$(1��D$(H�50�	�C���H�{(�t$(�V�������H�=��L���������H�=��
L��������[�H�=8	L�����������$���4���L�0�̾��H�5�F	H�81�A�����H�SH�4$1�H���6������r���H�{(H�$�H��o	�����T���H�sL��$�L��H�V����I��H���2�8	���H�b:	Hc�H�>��I�W(L���
H�P(H�������H��HE�L�x0M��t�����
H�=$7	L��������+�H�=7	L�����������$��M�&���L�0辽��H�5�6	H�81�A���~���L�{L��$�L��M�����
H����������!�%����t�L�D$(L�������D�H�JHDщ�@�L��H��1�L)���������I�H��t��I�GI�G H�t$(L��������H�S1�1�H����������*L������H��������.L�����H���l����[L������Z���I�GH�����8�}H�@H�H�CH��t*�xu$���L�0脼��H�5�5	H�81�A��H�CL�����H�CH�@�(���读��H�H�L$�B���L��H�L$H�54	H�81����腻��L�8����L��H�5�3	H�81�A���I�GH��t��8~�E1�H�@1�1�H��J��I���p���I�GD90��e����-���H�H�L$���L��H�L$H�5F3	H�81����8�������H�H�L$蓻��L��H�L$H�5\3	H�81��������Ӻ��H�H�L$�f���L��H�L$H�53	H�81�������覺��H�H�L$�9���L��H�L$H�5�2	H�81�������y���H�H�L$����L��H�L$H�5�2	H�81������H�K(��H�=��	������H��$�赝��I��H�����8��I���F�H�T$L�@L��H�{L�D$H�D$�ɑ��H�L$L�D$��uXM�����y��M�Ǿ=L���x���H��t`�H�x� H�|$�]���H��u�H�{H�T$L���g�����tJH�{(L�D$L��1�H��A	��T��H�͎-L�������H�K(��H�=�A	���H���-L�������ӟ������L�0趹��H�T$H�5�@	H�81�A���q���H�K(��H�=�2	�S���R���H�sH�CH��$�H�F����H�{(1�I��H���d���L���ܰ�������H�=�2	L���������H�5�4
L��芫��H�53�L���D$�w����T$�D$����������$���H�S1�1�H���������H�{����H��������x�����L�x`M���w���H�{H���j���L�5�1	��ȏ��M�?M���P���H�{I�wI�WH��u�L��裏����H�sH�CL��$�L��H�F���I��H�������8	�����H�g4	Hc�H�>��H�5o1	L���~��������$�H�S�@���H�sL��$�L��H�V�L��I��H��������8	�Z����H�&4	Hc�H�>��I��<���E1��	�߲��I��I�GD90�!���H�@1�1��|$H��J��t�胙����I������E1��I��I�GD90���H�@H�4$1�H��J���ʫ����u�H�{(H�$�H�dh	�m��뺀�$�������|$�!���H�S1�1�H��������H�5G0	L���N���������$�u
H�CH�C��H�CH�sL��$�H��L��H�F1��H��H��H��H��v��H����/uƄ�H�sL������I��H���7����8	����H��2	Hc�H�>��H�5HJ	L��覨����u]��$�H�Su1�1�H��������H�sL��$�L��H�V�k��H�D$H�������8	w_�H��2	Hc�H�>���0���L�8�ȵ��L��H�5r/	H�81�A��������H�H�L$蟵��L��H�L$H�5|-	H�81���H�|$���������մ��H�H�L$�h���L��H�L$H�51-	H�81�����諴��H�H�L$�>���L��H�L$H�5�,	H�81����聴��H�H�L$����L��H�L$H�5�,	H�81����p����T���H�H�L$���L��H�L$H�5,	H�81����C����'���L�8迴��L��H�5J,	H�81�A������H�D$H�x����E1��@E��t#H�K(�	�H�=#.	�D��H�D$H�@H�@1�1�H��J��I���3���H�D$H�@D90����H�{H��$������腳��L�I�G�L�D$�L$�����L$L��H�5|-	H�8L�D$1�A������I���H�H�L$�ܳ��L��H�L$H�5^-	H�81����T����H���GH���>H9��m����GH��;	Hc�H�>���H���H����I��I��H�(H�I(H9�u�M9Z8t?M9Z0�XA�{�I�S0�����H��u��DH�R0H���(I9�u��H�G8H��u�2f�H�P8H���H�Ѓxu�A�H�xP��f��N����I��E1�E1��'f��N��������E1�E1�E1ҺH��˜������-���41�1�E���A��G��u8�~u2H�WPH��y)H�NPH��y H�F@H9G@u�H9����f�H9~8��H9~0�	L�V(M���pI9�����L��1���H��H9������H�A(��H��u�L�_(M���I�����L9��eM��1��fDM��I9���M�H(��M��u�L9��9��fDI�˃�I�K(9�u�9�|	���I����I�z(9�u�����DH�G(A��NA���vGI��1�H��1�H9������A9��M�����D��f��N�������H��E1�1�E1ҺI��H��H��˜�A���H�V8H��u���H�B8H���CH�ƒzu�H�zPH���%���H9��q������]A���SH�G(H��u�EDH�@(H���3H9�u��+������1��A�z���I�SPH������I�BPH������I�r@I9s@����H9���������������DH�@(H�������x����A����fDH�WPH�������H�NPH�������H�F@H9G@������H9��J���|�E1�E1�E1������D������f.�H�R(H��t
�z�H��1�E���)������f.�H��H�v(�	����A��u4H�J(H��t+�����H9�u�f.�H9���H�I(H��u�GH�����H�G(����H�V(�[���H�A8H��u%���f��x�����H�@8H�������L9�u��i���H��1����L��I���
���H9���1�I��1�����L��I���������ff.�@AWAVAUATUSH��H)�H��H����L�b�H��I��I��I9���L�vH�^I��J�D��J�4�H��H�$�������������L9�u���y!H��L9���H�t�H�|�������u�L�c�L)�M9�w�1DJ�D�I��H�$J�D�J�D�H�$M��J�D�I��M9�r�H��H��[]A\A]A^A_�f.�L9�u�fDH��L9�tH�t�H�|��X������t�y�L)��f.�I���N�d?�N�l?�M�4$I�mL��H����������u������m���M�uI�,$�`���@L)��5���M���(�����=���f���H��tH�GH��uH��u	1��fDH�@�ff.���H����H�WH����H��tq�~tH�FH��t�H��t
��t�@H��H�JH9�tX@H�F0H��t%�PH�ƃ�t�t��fDH��t�H�V0H��u:H�v(H9�u���H�BH��t��P���u1��f�H�@�H���@��H��t'H�GH��t H�@H��tH��t�@���t�@���1��ff.�f���H��t'H�GH��t H�H�Q���tH90t
H��t
H�F0�1��DH�A0���H��t>H�OH��t5H��tI�F���u.H�F0H��t�@H91t�H�V0H��uZH�v(H��u�1��fDH�FH��t��fDH�q�F��t��u�H�H��t��xt�H���@H�F(H��u��fDH���@��H����H�OH����H�����F����H�F8H�����xuaH�P8H��uUH�P(H��tiH�H�pH9�t]H;WHt�DH����H��H9���H�B8H�J(H��t�H�P H�OHH��t
�H��H�P H��u��H�6H��t�F��u1��H�qH��t�F��t��t�H�V(H�WH�C���DH���[���H�v(�F���H�GH��H�OH�H������H��t'H�GH��t H�PH��t�zuH��tH�F0�D1��DH;t�H�BX�ff.�AUATI��UH��SH���L�o8��
tu��t`I�\$H�����p=�E����pHcE���u`HcE���t#H��L��H)�H��I�UH�4����H��t��pH��[]A\A]�DHcF������~�t=I�\$H��u�H��L��H)�H��I�UH�4��5���HcE���t��f.�Hc�H��H)�I�MH�у:
u�H�����H9Ju�H�zu��F��t^S��������B�F�F���f�HcE����`���HcE����&�������H�_H��������ރ�
������B�E�E���fD��H��tGH�WH��u>H��t9H�BH��t0�xw*�HH�5�/	Hc�H�>��fDH�H��t�xuf�1��DH�@(�H�@(H��t?�xu�H�@�8 t�SH�5t4	H��H��������uH�C[H�@H�@(�1�[�@H��@��H���SH�WH���FUH��SH��H��H��teH�H9pt+H9�tG�N��w?�H���uh�u�t%H�C(H��[]�f.�H�H��t�xu�f�1�H��[]��H�BH��t�xw�HH�5�.	Hc�H�>��DH�F(H��t��xu�H�x�? t�H�5m3	�������w���1���H�@(�f����H�@(H��tZ�x�L���H�x�? �`���H�53	�ĸ�����L���H�EH�@H�@(����H�H���$���1��'���D1��H���D��H��tH�GH��tH��t���@1��DH�@�H���7S�WH����	�����H�
.	Hc�H�>��DH�SH�����J1�A��q���v!H�rH��tW��tR�N��tJH��q���w�H�rPH��t��>@��t�A�����F����H�r��A�H��u��H9�t%H�r0H��t0�NH���f�H�CH��u8�1�[�@H��t�H�r0H��u�H�R(H9�u�[��H�CPH��t����t��@[����D�3���H��t�PH������1��H�[H��t��S������[���[��ff.���H����H�GH��t.H��tE�N1���w�H���tH�F0H��t�xu
��xtrH�@0H��u���H�@H��tۋH��
w�H���bu��"t
H���b���f�1��DH�@H��t��xu���xtH�@0H��u��������H���USH��H�_H��H��t7H�S�zu7H��H���H��t8������������Hc�H��H��[]�H��1�[]��H��t
H�Dw-�H�]H�sH�;�r���H�uH���H�P{-H���dž�H��t�H�:t�����H��H�|�u��H�
{-�n����H��t
H��v-�H�EHǀ�H��1�[]�f.�1��ff.�f�AWH�B�AVAUATUSH��H�D$H9���I��H�^�f�I�l�M�,�H��L�������tb��y^I�6H��M�$������to��kL��H�������tkI�߅�ydM�l�H��t!H���DI�4�I�t�H��t	H��I9�v�I�,$H��H;\$�v���H��[]A\A]A^A_��M��E1���I��H�$E1�I��K�4��$D��(H�$L)�H��v7M��H��N�< K�4�H��������u�L��L)�H��vL�<$��f.�I��O�$�L9��+����Q���f.�AUI��ATUSH���G��~tL�%u-1�I�EH�,�I�$H�UH��tH�zH��t
��I�$H�UH���I�$H��H����A9]�I�}I�$H��t��I�$H��L��[]A\A]��fDL�%�t-��ff.�@H��t[SH��H�?H��t�J���H�{H��t�<���H�{H��t�.���H�{H��t� ���H�{ H��t����H�;t-H��[H���f��ff.�@��H��t?H�GH��t8H��t�F���	t&H�F0�f�H�@H��t�H��v�1��D�H���Qu
���u��.t�H�@�ff.���H��t7H�GH��t(H�H�Q���tH90tH��t%H�F8H��t�xt�D1��DH�@8�H�A8�ff.�AWHc�AVH��AUH�D�I��ATUSH��(L�xL�d�H�L�AM9�L��IF�H;)�PM�4K�,4M9��L��J��K�t����I���H9�sKH��M����L9���K�t�K�|��L�D$��L�D$���t|��yxI��K�D�I�D�H9�r�H��([]A\A]A^A_ÐL��J��I�t��{���I��M��t�E1��&fDI9�rCM9�v�K��I��I�D�H��M9�s�H9�r�롐M��t�I��K��I�D��9���f�K��K�T�L�D$H��H��H�L$H�T$�M�H�L$L�D$���tN��H�T$yEI��I�T��f.�H��L��I��H��H�D$����I��H��tI�FI�.����I��I�L��A���H�cr-H�L$�H�Z3	H�81��Э������fDH��H��lE1�1�WA�1�1�P1�jjjjW1�jjjj蚋��H��h�DAUATUH��SH���dH�%(H��$�1�H����L���H��I��L���_���H���L��H��k1��y��L���~��H���H�H���H���H��tH���L���H��$�dH3%(uH���[]A\A]�DH���������y���f�H��t�GH�����H������AWA��AVA��AUE��ATA��USH��H�o8�E�u9��$H�}Hc�EH��H)�H�׋T$PH�} D�sD�{D�#D�CD�k�SH��tA�T$�v>A��
t8H�L$XH�KH�L$`H�K �PH�C(�UH��[]A\A]A^A_�f�H�|$X��H�t$X������x��H�|$XH�CH�5o-�HcMH��H��H)�H�MH�|$`H����H�} H�t$`������jx��H�|$`H�C H��n-�HcMH��H��H)�H�MH���C���f�H����?Bu�D�D$H�}�uHc�H��H)�H��H��l-H���D�D$H��H��t-H�E�E���H�|$`H�C�O���H�C �����U������EH�5�&	H���������������ATUH��SH��H�?H��t^�sHcC9�;�������H��k-�sHc�H���H�H��tzHcK�QH���D�PH�ljSH�(1�[]A\�@A�ԅ�t)Hc�H��H�{l-�H�H��tID�c���fD�A���H�=�/	�'���������H�=�/	�����C���H�=�/	������{���@U�0SH��H�-�k-�UH��H��tcf�H�@(�0@@H�
H��UH�CH��tAHcK1�H��H��H)�H���D����C����H��H��[]�H�=l%	�d�����f�H�=r%	�T���H��l-H��1���@��AUATI��U1�SH��H�����_��H�1k-�P�H�CH����f�@@ @0@@H�CHc�C
�JH���L�,�A9,$~UI�D$L�,�C��t�Hc9�~H�C���=��b�4H��i-H�{Hc�H���H��t-H�CHc�c뙐A�$H��H��[]A\A]�f.�H�=t$	�D���H��1�[]A\A]�H�=l$	�+���H��1�[]A\A]�ff.�ATUS1�H��tm�~ugH��H��t_�tYH�
j-H��I���0�H��H��tEf�@@ H�}�@H��t	�y��H�CH�}H��t	�x��H�CL�#H��[]A\�H�=�#	�����f�H����������H����AW1�AVAUATUS��H��H������H�OH�L$ H���rHc9L�~���M���vA����O��u?M�O�B�L�QE1�I�t�K��L��DH;��H��H9�u�I��D9��DH�-�h-H���UH�D$0H����H�D$ Hc8H���UH�D$8H����H�D$ H�|$01�HcH���7���Ic?H���UH�D$H����Ic?H���UI��H���KIcH�|$1�H�����H�D$ �8����H�D$0L�d$81�H�D$fDH��H�D$(H�D$ H�@H�<��1�A�$A�7���}E1��D$�D����I��E97~NH���>C�D�A9$u�H�D$H�8�\H�D$J�4�H���*H�D$H�8�
�����1��L$9�t��L$����H�D$ H��I��H�D$�9��8���1�fDH�-yh-H�E��~+E1�fDH�T$0J�<�H��t��H�EH�T$ I��D9"�A���~$E1�@H�T$J�<�H��t��H�EI��E9'�H�|$0��H�|$�UH�|$8�UL��U��H��H[]A\A]A^A_�D1��D1���H�=!	���H��g-H�|$0�1���fDI�GJ�<���C�D�����I�GJ�<����H��H�D$J�4����f�H�D$ H�T$(H�@H�<蹂��H�T$H����@H�D$ �����@��B���H�=e 	��H�+g-H�|$8�H�|$0�H�|$�1�����H�=6 	����1�����H�=# 	���H��f-H�|$8�H�|$0�1�����H�-�f-1�H�E�|���H�D$ �\$��2���f�H����H����������AWAVAUATUSH��H�oH�����E�����E1�tD�nA��A�A��I��1��f.�E��uTH��9]��H�EH�<��!�D9�u�H�EH�<��_���I��H��twH��L���L�����t0H��e-L���E��u�H���[]A\A]A^A_�1��DH��e-L��H�E��u>���t����1�H��[]A\A]A^A_��H�5!
L���ѣ����u��8�����D���ːAVAUATI��USH��[H���f��H��t1�[H��]A\A]A^�f��(H���f��H��u޾@H���qf��H��H��uɾ:H���\f��H����M��t�A�T$X��t��x:t�M��$H�����|H��c-Hc�H���I��H���1A�t$XH�¸��~E�F�M�D$PH�|1��I��H�JI��H�RI�T�H��H9�u�6H�H��I�H��H�H��L��L��I���Ǒ��L��H��H�:d-�H��t
H��諌����t=H���y������f�M��tMA�T$X�����H��1ɺL���n���H������H��H��t:H�X(L�h M���}���L���#����p���H��1ɺ1��-���E1�H���j���H�53&	L�����@���H�5�	L�����*���f.�H�Ib-S��H��H��t)f�
1�H���#����CH��[��H�=i%	�����f���H��vH���y�f��ff.�@��AWAVAUATUSH��HdH�%(H��$81�H����I��I��H��?�VH�ƹ:H��H��H�D$ H��?H�D$()�H�����H��H��H��H!�H����1��f��Hc�I9�I��H��MF�L9���H�D$0H�\$8I9��fL��H��L���(��L��H)�H9�HG�I��H9���H�\$@H�H�D$HI9���L��H��L������L��H)�H9�HG�I��H9���H�\$PH�A�H�D$XH�D$0H�D$H�D$ H�D$I9���f�D��A��~6A���Ic�H��H��H�|H�t(L�7L9T�
H9��L��H��L���S��L��H)�H9�HG�I��H9���L��I��H��HT$H�H�H�BI9��w���I��vAL��H�\$H�l$ H��H�\�H�t$D��H��L��I����H�CHH��I��u�H�|$(H��t��c���H��$8dH3%(�%H��H[]A\A]A^A_��L��H��L��L������-���f.�H�D$HIc�H9D$8�����H��I��H�L$H��L�l��M�L9�wj�B��D$H9�vn�T$H�L$L��H�t$���I�U IUfAoE(A)E�T$I��I����tUI�M I�u0I�}L�1��t�L�M9]v�L9�v�H9��(����B��D$H�L$H�t$L���o�I�U0IU �DH�T$8H�D$HH�I9���H9���A�����DH��I�<����L���"���@�v�����fDH��I�<���L���%���@H�L$ H�t$0�L�����H�D$HHD$8�:���f.�H��I�<��d�L������@L�|$H��H���L��L����H�D$XH��L��HD$H��fDH�L$H�t$�L��A��S�H�D$HHD$8����o��ff.�@��H��Z-H��$	H�
�$	H�5�$	H�H�f]-H�H�4[-H�0����1�f.����f���f(�fT
%	�f.
�$	v1�f/�$	���D��ff.�@��AUATUHc�SD���H��H����vA���H���DH�{�kH����H����0p��L�kH�{ADž�E���ADž��k��H�sH�I��H�CH)�L��@H�����(L��8H��tyH���H��H���[]A\A]���H��%-H��E1�1�4�H��H�S1�PA�H�jH)�P1�jjR1�jjjAT�Zw��H��`H��[]A\A]�H��%-H��A��4�H���PjRjjVjjjAT1�1�1�1�1��
w��H��`H��[]A\A]�fDH�1%-H��A�E1��4�H�l�PjjjjjjjjAT�DH����H����ymH���J����u}������tc����%����B��?	�=�wx��
�ƒ���!ʍH�����!ʄ�tE��y���1��7D���fD�J����td@���@���1�H���f�1��D���������v܍� �����v΍����������q����������t.��
�B������%�	��B��?	�������<��]����B��<��N�����B�
����%���	��J��?	��B��%�	����f�AWAVAUATUH��SH���4$L�d$L��dH�%(H��$�1��9���A�ǃ� ��=��H��@(H���6D����߃�A���$�$1�L�t$ I��@���D$�A��>�&A����H�5*Z-D���:�����uVA�����=�QvHA��0t?A�������v3H�5�W-D��������u H�5�X-D��������f�Hc|$���2HcÃ�D�| H}L��H���8���A�ǃ�c�L���D�,��P���H��Y-Ic��I��H����Hc�H�t$ H���D{���f�D�>��HcD$HEL��H������A��A����VD����߃�A��v(A��@�����vA��(�����vA������C	D9�|+A��P���H��V-E�L��Ic��H���I�Ƌ|$Hc�L����Z���D��肍����Q���A�������H�5�X-D��蜓��������A�����=�Q�����A��0��A����������D1�H��$�dH3%(��H�Ĩ[]A\A]A^A_�DM��rjD����߃�A���8���A��@������(���A��(���������A�������A�GӃ�2vbA��:u�|$��A������@���X���H�|$ ���|\���I����Hc�D��L��R���Hc|$����fDH��H��������f.�A��@���������A��(����������A��������A��_������$�����A��:��������H�59V-D�������������4���@H�5�V-D�����������A�����=�Q�����A��0�����A������������H�5[T-D��蛑���������H�5U-D��脑�����l���H�5�U-D���m������U���Hc�L��A����DA�GӃ�2v'A��:u
�$�'���A����������H��H���������f.�H��U-L����H���W���1����H��U-H�$L����H���3���H�$�\����H�������H����H������1��6����f��ff.�@H�WH��`H9�r I��H��hI)�L9�wH�H��h1�ÐH��H��h�諕�������H��Ð����镕��DH��tKU��SH��H���GP9G(|�kPH��[]�fD��H�5�
	�}���kPH��[]���ff.�@��AWAVAUATUSH��hdH�%(H��$X1�H����H��H��A�ׅ���H�|$H��fD���B H���B� A9�~��~���PHc�H�H���D�D�i��H�����}	w|�EH�b	Hc�H�>����E�l������������E�ڈ�����d�Ef.5	�3�-H�ٺ�H�=�
	�`���H��$XdH3%(�sH��h[]A\A]A^A_��H�ٺ�H�=�	����L�eE����H��$�1�H��������@ H���@� A9��D-�PHc�H�Ƅ�Ƅ�M����A�$����I�D$H�8��H���gh���M�H��H��J	1�A�o���I�D$H�H�p���VH��$�1�@A9׍J�@ A����� ��@��H��A��u�ҍBH�Hc�Ƅ�Ƅ�H���f�L�f0��H���r���L��M��u����DH�ٺ�H�=[	�׍���r���f�H�ٺ�H�=�	跍���EH�م�����H�=S�蓍���.���fDH�ٺ�H�=�	�o���H�u H�����H�޿
�k�����H�ٺ�H�=�	�7�������f�H�ٺ�H�=�
	����L�eE����H��$�1��fD�����B H���B� A9����PHc�H�Ƅ�Ƅ�M��� A�$H�t
	H��1��1�L��$�����H��$�E�oH�D$�A9,$����H��L���;f����MH��H�aH	1��Ҍ��I�D$H�4�E���H��$�1�fDA9׍J�@ A����� ��@��H��A��u�ҍBH�Hc�Ƅ�Ƅ�H�����F�ƒ��	tED��H�߃�tb�=���H���D���H���e��H�ٺ�H�=�		裋���>���fDH�|$H���[e��H�ٺ�H�=b		�r������w���f��1�H�|$�M����H�ٺ�H�=�	�/��������1�����H�|$H����d��H�ٺ�H�=�	����&�����H�=�	�݊���x���H�ٺ�H�=�	迊���Z���H�ٺ�H�=�	衊���<���H��$�H���\d��H�ٺ�H�=(	�s��������1�����1�1�H��$��t���H��	�H�߸賊������H�ٺ�H�==	��������1�����H��$�H����c��H�ٺ�H�=�	�ۉ���v����_���AWA��AVAUATI��UH��SH��H��dH�%(H��$�1���~lH�|$ H��@���B H���B� A9�~��~���PHc�H�H���D �D �+c��H��t6�����H��	Hc�H�>��f.��1�H�|$ �f�H��
�H�=�	�����H��$�dH3%(��H�Ę[]A\A]A^A_�H���H�=\		辈��fDH��
�Kg��HcC��x&H��A�OL��H��H)�H��I�T$H�����HcC���q���H��A�OL��H��H)�H��I�T$H���{����F���H��	�H�=�	�-����p���H���H�=�	�����R���H�C D�KH�KH����I��H�I	H��H��1��Y�������H�K L�CH����H��	�H��1��-������CH���X������H�=�	�{������H�CD�CH���H�=�	D�sD�kH�D$H�C D�D$H�D$�:���D�D$A��
��H�$	Jc�H�>��H���H�=�(	�����D���H���H�=�	����&���H���H�=y	�ņ������H���H�=W	视�����H���H�=�	艆�������{H������H�=,	�`����C�������H��=��d�����D�CH��E������H�=�	�����`����C���������������:���H���H�=�	�م������@L�kH���H�=�	賅��1�L��H����d�����H���H�=�	舅������H���H�=�	�j������H��
�H�=�	�L���A��w*H�w�H��Jc�H�>���H�=�	����A���t�\A���FA��uH��
�H�=	���H�D$H��tH��H�g�H��1���@���H�|$H�������H���z^�������H�=�	菄���n�����H�=�	�t����S�����H�=c	�Y����8�����H�=]	�>���������H�=%	�#�������H���H�=�	�������H���H�=X	������H��	�H�=0	�Ƀ���x���H���H�=	諃���Z���H��
�H�=�	荃���<���H���H�=�	�o�������H��
�H�=&	�Q�������H��
�H�=�	�3������H��
�H�=�	��������H���H�=�	������H���H�=�	�ق�����H���H�=�	軂���j���fDE������H���H�=�	莂�����H�"	�H��1����n�����H�=	�X������H�=	�G��������H�=.	�,����o���H���H�=�	�����Q���E��H�u	H��1���p����3���L��H�3	H��1���R�������H�=�	�������H���H�=�	裁�����H���H�=�	腁�����H���H�=F	�g������H���H�=/	�I�������V��ff.�@��ATUSH��pdH�%(H�D$h1�H��tzI��H��tr��H���H���~+H��1�H��fD���B H���B� 9�~��~���PHc�H�H�����Z��I�|$(t6H���H�=F	蕀��H�D$hdH3%(uPH��p[]A\�@A�$H��H��	1���ހ��IcT$�KL��H��H��H)�I�T$H���g�����pU����H����SH��H��H��X��t0H��tK��u<�ҸdH�1��W(�W,�W4�W0�W8H��[�fDH��t�F��HǃXH��1�[�H��B-�L$�@�T$��T$�L$H��H��t8f�@@ @0H�ddH�G(H�G0�G8dH��X�W���H�=	��������HǃX�U���������ff.���H��t?�G(��~8;GP~;��H�W01�HcȉG(H����~H�t
�H�H�w H�H��D1��DH����4H�5*��6k��1�H���ff.�@��H���|H��tjUH��SH��H���G(�w,9�|8��?B_�H��@-H�0Hc�H���H��H��tTH�C0�C(�c,�
fDH�W0Hc�H�,ʍPH�k �S(H��[]��G�����ø�����H�5b	�����������H�5�H���������������H��t`H�W1�H��u�Rf.�H�J0H��t5H�ʃzu�H��H��H��H�JPH�JH��u���DH��tH�J0H��u�H�R(H9�u���H������ff.�@��H����H����H9����W�F���
�������
�N����H9~8��H9~0����u	����L�V(M���6L9��eL��1��H��H9��RH�A(��H��u�L�_(M��������L9���M��1��fDM��L9��IM�H(��M��u�I9���9���fDI�˃�I�K(9�u�9�|�f�I����I�z(9�u��}DH�O(��t7�����H9��Q�H�v(�H9�t�W����������H�F(H9���H��H����H���H���I��I��H�(H�I(H9�u�M9Z8t3M9Z0tdA�{t3I�S0�����H��u�t���DH�R0H��t<I9�u��@1��A�zu�I�SPH��y�I�BPH��y�I�r@I9s@u�H9��}�������DH�V8�����H��u����DH�R8H��t�H9�u���H�WPH������H�NPH�������L�^@L9_@���H9�������������QH�����D������H��1����L��I�����H9�u�1�I��1��2���L��I���'���f���H��tHc7H��T������H��tW�uQH�H��tI�xtCUSH��H��H�-3>-H�H�EH��t��H�EH�{H��t��H�EH��H��[]��fD�ff.�@H����UH��SH��H�GH��t]���~:1���R��H�EH��9]~!H�<�H��t�u���Q��H��H�E9]�H��=-H��H�H��H��[]��H�q=-H��H�H��[]���ff.�@��AWAVAUI��ATI��USH�����D$�����D$E1���L�4�fDI�EN��J�,��D$����I�D$�H�H9�u�`L9���I�T$H�H��H9�tE�zu߃}u�H�EH9u�H�uH�zL�D$��z��L�D$��t�I�EH��J��P���I��E9}�b���A�EL��H��[]A\A]A^A_��A�D$��ugH� ;-�P�I�D$H����f�@@ @0@@I�D$Ic$A�D$
�rI��A�4$H�,�E9}�����r���@Ic$9�~I�D$��=��J�4H��9-I�|$Hc�H���H��tI�D$Ic$A�d$�H�=���Q��H��1�[]A\A]A^A_�H�=u��4��1�����ff.�f�AUA��ATI��USH����tG;7}CHcމ�H���D��H��A;,$}&I�D$H�<H��t�u��RO����H��A;,$|�E�,$H��[]A\A]�fDUH��SH��HcH�O��~=1���H���B�9�~'H�<�H��t�u���N��HcUH��H�M�B�9��H�D�H��EH��[]����ATL�%S9-UH���SA�$H��H����f�H��tJ�PA�$f�H��H�C��@@ @0@@�}�C
tHcH�S�H�H�,�H��[]A\�Lc#H�}H��H�CA�T$�N�$����I�$H��[]A\�fDH�=���|���f.�H�=���d��H��9-H��1��@��H��t>H��t9�~�t:��~-H�GH;0��H����H���@H��H9p�t~H9�u�1��fD��~�ATI��UH��S1��fDH��9]~?H�EH�؃xu�I9�t I�$H��t�H;u�H�pI�|$�@w����t�[�]A\�f�[1�]A\�f���f.���H����H������6H���-�z�#�~�AUI��ATI��UH��SH��Hc��~Q1��
DH��9�~@H�EH��H��t�xu�L; u�H�pI�}�v������HcMH��9����E��t19�tlH�E�QL��H��L��U���H�1�H��[]A\A]�@H��6-�P�H�EH��tlf�@@ @0@@H�EHcM�E
똁���R�	H�}H�H�4�H��5-�H��t�eHcMH�E�a���������1��n���H�=X����������X���H�=S�������D���ff.���H���H���Hc��~6H�GH;0��H���Q�H���f�H��H;p���H9�u�ATUH��S�GH��u\H��5-�P�H�EH����f�@@ @0@@H�EHcM�E
�{�QL�$�t#�U1�I�$[]A\�9�t/H�G�{�QL�$�u�H�;�UH�����I�$1�[]A\�f�1�Á���H�4	H�;4-H�Hc�H���H��t�eHcMH�E�~���������H�=�����������x���H�=��������d���f�AWAVAUATUSH��H���3I��1�I����;��I��H���A�L��< ���H�&I�&��t�< wH��rfDH���< w�I��s�H��L��L)��a:��I��H��t)H��L���~;��H��t
�P��tT��tXH�5-L����< v)f�I�߄�u�H��L��[]A\A]A^A_��H��s�H���< w���H�@(H��t�H��L���r���H�&H������H���< ����H��r����E1�눐��H����H����ATUH��S�GH����t)Hc9���H�G�}�JL�$�tZ�1�I�,$[]A\�H�	3-�P�H�CH����f�@@ @0@@HcH�C�}�C
�JL�$�u�H�}�H�����I�$1�[]A\�f.�=��M�H��1-H�Hc�H�4��H��tH�CHc�c�A���������H�=u��6��������7���H�=p�� �����#������AWAVAUATI��USH��H����I��H����A�$A�U�D$������E1�L�4�@I�EJ�,��D$��~xI�D$�H�H9�u�D@L9�t[I�D$H�H��H9�t)�xu�}u�H�MH9u�H�uH�x��p����t�I��E9}�H��L��[]A\A]A^A_�@A�D$��uoH�H1-�P�I�D$H����f�@@ @0@@I�D$Ic$A�D$
�}�rH��t7A�4$I��H�+E9}�����u���Ic$9�t8I�D$�}�rH��u�H�}A�4$H��I�����H�E9}�����2���=��\�4H��/-I�|$Hc�H���H��tI�D$Ic$A�d$�_���H�=m�E1��:������1��7��I��H���<�������H�=R�E1��������f���H����H����D�E����USH��H�WH;2t(A�H��H���H��H9t�t��H9�u�H��[]�1�D�~H��tOA�x��}9�~-A)�Hc�A�H�H��H�H�t�fDH�HH��H�H�H9�u�Hc�H��H��[]�DH���D��D�EH�U�fD�ff.�@��H��tw�9�~qATLc�UH��SJ��H��L�GK�<�H��t�tP�z��}9�~')�I���I�K�L�DH�PH��H�P�H9�u�Hc�I��H��[]A\����t$�D���UL�E�t$�f���H����UH��SH��H�H��tY�E��~71��fDH��9]~$H��H��t�xu�H��H���C��H�}9]�H�\/-�H�H��H��[]��@H�A/-H��H�H��[]���ff.�@��UH���HSH��H��--�H��H��tEf��CDH��C��CCC$C4��4��H�CH��H��[]��H�=���l�����f.�H��tKH��XH��t?UI��SH��H��H�H��t�J��u4H�@ H��t�P����H��H��[]�"@��f�H���@���H����JHc�H�,��E�EH��t-H�}�G��t�~tH�GH�0��
DL���0>��H��H��[]�fDH���L�ljPHc�H�,��E�E��3��H�EH��u�H�1�H����ff.��AWAVI��AUI��ATA��UH��H��SH��(�N_�����������L���'D��W��A�ǃ����L���\Q���…���E��u(�D$M����1�H���v����T$H��I�E��E����D����9E����I�EH�uH�x�=������L�}M����L���*K��H�D$H����L�t$L����9��1�1�L���D$��L������H�D$A�OE1�����I�GH����D9����P����A������I����H��`H��tH��hH9���H��H��hA�O��w��H�ਗ਼t������t$���m���H�|$1�1��5l������I�t	D9��,H�|$��>��f�I�G0H����PI�ǃ�t�t��W����V��H��V��H�5��H�81���H�|$�N��f������H��([]A\A]A^A_�@��tt���m���L�}M��tcA�O��
wZ�H��*tKL���I��H�D$H��t9H�|$�/8��L�|$�D$�t���E��������H�|$�N��fD1�H��([]A\A]A^A_��E���T���I�EH�uH�x��:�����Z���1���f�A�O�����I��L;|$t�fDI�G0H��tC�PI�ǃ�t�t�����f���t�T$��t����u
H�|$�Q=��I�G0H���3���M�(A��M���3���L;|$�(���A�G��	u�����f.�I�WHH��tH�RI�wH�|$�5J�����E��u3I�EL��H�x�9�������H�H�������E��tH�|$��L����)���I�EL��H�x�9�����ff.�@��UH���HSH��H�'(-�H��H��tEf��CDH��CC$�	�CH�k(CC4�)/��H�CH��H��[]�H�=�謷����f.���AUATUSH��H��tmH�GH��t|H��H�8�:��I��H��tQ�;~6�A���A��H��D9#~H�CI�}H�4(�8����y�H��L��[]A\A]��H��E1�[L��]A\A]��H��1�[]A\A]�:�����SH���HH��H��&-�H��t1f��@D@�H�X@@$@4H��[�fDH�=�H�D$菶��H�D$���H��tH��XH��tH�@ H��t�P��uH���9���H����PHc�H���H�p�D��H��tH�`'-� fD����AWAVAUATUH��SH��H�����I��t|H�~tu1��;-��I��H��tc�U��t\H�}tU��~QD�r�1��f�H�CL9�t7�UH��E1�9�~H�EL�,�L��L����[����u�L��L���6����y�@L��H��H��[]A\A]A^A_�ff.���AWAVAUI��ATUH��1�SH���,��I��H��tuH��tp�E��tiH�}tbM��t]A�U��tUI�}tN��~JD�x�1��fDH�SL9�t3�EH��E1�9�~H�EL�$�L��L���[����t�L��L���86����y�H��L��[]A\A]A^A_�f���H���������H��~H��ty���tsH�~tl��~hAUD�h�ATI��UH��S1�H���H�SL9�t7�EH��1�9�~H�EH�4�L���kZ����t�H���[]A\A]��H��1�[]A\A]�1��ff.�f���AVAUATI��USH��t|H��1�I���/+��I��H��tgH��tb���t\H�{tUL��H����Y����tF���~@D�r�1��/�H�CH�4�I9�t#L���4����xH�EL9�t�H��9��1��ސ[L��]A\A]A^�@��UH��SH��H���K3��H��H��H��[]�X��f.���H��t'���t!H�FH��t1���~H�p�X���H���ff.����H��tW���tQH�~tJH��tM���tGH�t@UH��SH��H���2��H���2��1��;~H�CH�pH��H��[]�X��f�H���@1���)�����AVAUATI��USH����H��1�I���)��I��H��tkH��tf���t`H�{tYL��H���fX����tJ��Ń�x9Lc�I���'H�CJ�40I9�t#L���{3����x��I�����t�9��1��ސL����1��[L��]A\A]A^�ff.����UH��SH��H���1��H��H��H��[]�J7��f.���H��t'���t!H�FH��t1���~H�0�7��f.�H���ff.����H��tW���tQH�~tJH��tM���tGH�t@UH��SH��H���'1��H���1���1���~H�CH�0H��H��[]�6��f�H���@1��A(�����H��tqH��tlSH��H�� H�8H��t!H��tH�� [�2T��f�H�� [�G��fDH�L$H�T$H�t$�X��H�t$H�T$H��H��H�C8H�L$u�H�� �����[Ã��f���H��1���2��f���H��tH���H�������H��tgH��tbATI��UH��SH���H��H��tH�����H��t[]A\�fDH�{8H��t[L��H��]A\��&���[1�]A\�f�1��ff.�f���H��tOUH��SH��H��H���H��t1�H�����H��tH��[]��H��H��H��1�[]��8��D1��D��H��tSH��H�81��5��H�C8[�fD����H����H���|SH��H�� H�H��t1H��tH�� L��[�S#��H�� H�
�[�F���H�L$H�T$H�t$�DV��H�t$H�T$H��H��H�CH�L$u�H�� �����[��f.���H��1���X��f���H��tH���H�������H��t'SH��H�H�5(�4��H�C[�f��ff.�@��H����H�����>��ATI��UH��SH���H��H��tHM��t+L���+-��H���H�
�-H��H��[]A\�8��fDH��-H��[]A\�ET��D�
�U��H��H���H��u�[�����]A\Ã��f���H����H����AUATI��H�5�RUH��L��SH���\����ugH�EPH��t<�UX��~51��H�EPH��L�,�H��tH�xL���\����uKH��9]X�H���H��L��[]A\A]�9-��f�H��H�$[]A\A]�fD1��DH�EPJ�(H�@H��[]A\A]�f���H��t'SH�5�-H��H����@2��Hǃ�[��ff.�@��H��H�Q-�H�D$��D$H��t1�@Df���HHH$H4�@H���fDH�=}�H�D$�׫��H�D$��H��t,H��XH��t H�PH��t�J��u?H�@ H��t�P��u�R��f.�H����PHc�H����@�@H����JHc�H����@�@��H��tG��uK�GP9G(|SH�W�Bh��x f�SH��H���*��L���H��[H���`4���
�]��fD�����\��fD���\��ff.���H��tG��uK�GP9G(|SH�W�Bl��x f�SH��H���*�����H��[H����3����\��fD����n\��fD��^\��ff.���S���HH��H�Y-�H��t21҅�f��@D��@��P@@$@4H��[ÐH�=��H�D$���H�D$���H��t,H��XH��t H�PH��t�J��uGH�@ H��t�P��u���(^�����H��PHc�H��1҅���‰P����H��JHc�H����fD��H��t?��uC�GP9G(|#SH��H���Y���H��[H���}2��D��[��fD����[��fD��H��t7��u;�GP9G(|SH��H�1����H��[H��� 2�����Z��fD����Z��ff.���UH���HSH��H��-�H��H��t]f��CDCCC$C4�H��tH���'��H�C H��H��[]ÐH�=�	�'��H�C H��H��[]�fDH�=��������f�H��t;H��XH��t/SH�PH��H��t�J��u+H�@ H��t�P��uKH��[����f�H�������H����JHc�H���H��t0�'��H�C H��[��H����PHc�H���H��u�H�=F�	��ff.����SH���HH��H�h-�H��t1f��@D@@$�H�X @@4H��[�fDH�=��H�D$���H�D$���H��t,H��XH��t H�PH��t�J��u?H�@ H��t�P��uH����;���H����PHc�H���H�p �DH����JHc�H���H�p �D��UH���HSH��H�w-�H��H��t=�CDf�H���CCC$C4�%��H�C H��H��[]�fDH�=��������f�H��t;H��XH��t/SH�PH��t�J��u.H�@ H��t�P��uNH�=��	[�q"���H�=��	�d"��@H���H�={�	�JHc�H�����$��H�C H��[�DH���H�=K�	�PHc�H����$��H�C ������W:�����SH���HH��H�H-�H��t1f��@D@$�H�X(@@@4H��[�fDH�=��H�D$�ߤ��H�D$�����ATUSH��tcH��-H���H�H��H�����o�oKH�oS P �o[0X0H�C@H�E@�;	w�H���Hc�H�>��@1�H��[]A\�fDH�{ �#��H�E H��[]A\��@���L� �@����H�5��H�81�A��H��[]A\�H�s1������EH�EH��[]A\�f�H�C(H�E(H��[]A\�H�=���ԣ���q���ff.�@H��t{H��tFH��Xt<���tUv��t>��u)H�v �����uSH�vH��1��\��H��[H�����H����*����F���fD�v�h����1��ff.�f���H��tgATI��UH��SH���H��H��tH�����H��t[]A\�H�{H��tH��tH��L������H��[]H��A\����[1�]A\�f�1��ff.�f���H��t'H���H��tH���1��1��)=��f�1��ff.�f���H����USH��H����ƒ��u6�CH���tK�	H��t���H�l-H��H�H��[]��fDH�-Q-H�U��t@H��H��[]��DH��t��A��H�'-H��H�H��[]��f���H� H��t���H�U����H���AUATUH��SH��H� �EH����1ۅ��BfDH��9]~/H��H�UH)�H��H�xH��tۃ8u��I5��H��9]�H�} �G?��L�-p-H�}H��tA�UH�}(H��t�5F��H�}I�EH��t��I�EH��H��[]A\A]����~�1�L�-#-��A�UI�|$ H��tA�UH��9]~�H��H�UH)�L�$�I�|$H��t�A�<$u��4���f.��ff.�@H����H����ATUSH��XH��t�>	H��wv�H��Hc�H�>��[H��]A\�44��@H�~H����F�����(��H�EH���c�M(9H��1�H��H���������ubH�{H��t�?��H�-H��[]A\H����H�~ H��t	H��-�H�}H�����E,9G}y�1�H��覢�����t�L�cM���DA�<$��1��DH��A9,$��I�D$H�<�H��t�u��$�����H�}H���k�E49G|�H�} H�����E89G�o�������f.�H�}H����E09G�G����DuI�D$H�8H��t�u�6$��fDf�A�$H�C@L�cCC C0[]A\�@��H���p2���	���H�C�@��������H��H�E H��������V���fDf�H�C@CC C0���=��H�C���fD�ë��H��H�EH���S������fD裫��H��H�EH���3�������fD胫��H��H�EH����������i���H�EH�������������USH��H��tqH�o H��H��tm�E���u*�%C��H�{H�hH�@H�����H��H��[]����H�5��1���6���CH��H��[]��1��@�
��H�5���6���C
�f���USH��H����H�o H��H��ta�}u+�vB��H�{H�h(H�@(H������H��H��[]�@���H�5�1��6���CH��H��[]���
��H�5����5���C
룐�
��1�1�H�5����5���@��H������u.�G(9GP}6H�G H��t
����t3���M��f����M��fD��M��fDUSH��H���rA��H��H��tBH�@H�{H��t9f��*��H��H����$��H�{H��H��[]�����H�{f��{�H��H���$����ff.���H���USH��H����t��t1H��H�߾[]�L��fDH�H�w���H��H���0$���C(9CP}(H�C H��t
����t-H��H�߾[]�L��f�H��H�߾[]�L��DH���`@��H�{H��H�@H��tP���tJH�@H��B��tv��u4H�r�fD����w H�r�> t�2�H��H���#���D�+�H��H���p#��H�{H��H��[]���fD����H���USH��H����t��t1H��H�߾[]��K��fDH�H�w�[��H��H���#���C(9CP}(H�C H��t
����t-H��H�߾[]�K��f�H��H�߾[]�mK��DH���0?��H�{H��H�@H��t@���t:H�@H��B����w(H�BHH��tH�p��H��H���k"���f���H��H���P"��H�{H��H��[]�n���fD����USH��H����t'H���&��t1H��H�߾[]�J��fDH�H�w�;��H��H����!���C(9CP}(H�C H��t
����t-�H��H��[]�bJ��f�H��H�߾[]�MJ��DH���>��H��H�@H���������H�@H�0�F������H�~�? twH�VHH����H�rH����1�1����H�UH�RH�H�zH9����H���N���H�{H�����H��H��� ���)DH��[]�f�H�{��H��H���� ��H�{H��H��[]���f.�H�{���H��H��� ���H���/I���DH��H�{��H��H���q ����z���I���D���+�������tH�=���L��@H�=���<��ff.����SH���D$dH�%(H��$�1��F �����t1��u<H�=������H��$�dH3%(��H�Ġ[�H�=~�������f��D$��<����ui�T$f��f.�zuH�=mp	���롐�D$�������tP��ukH�Infinity�D$8L�D$0H�D$0L��Ƅ$��R���]���DH�=��<���G����H�-Infinit�yL�D$0H�D$0f�|$8��D$�%<����uY�d$f/%��va���f/�vS�D,�f��A*�f.�z?u=E���,�D$00L�D$0I�@��L���fD�D$0NaNL�D$0�4���fD�D$fTb�f/"��H�
�f/��6f��A�f/���H�\$�D$�L����H�߸�����|$ uIf��t$@�t$@����H��f.�H���J�
��u��@�� t�f�H�H�H���	fDH���r�H�J�@��0t�@��.HE�1�D�4@�4H��@��u�H�ڋ
H����������!�%����t�L�D$0�����L��D�H�JHDѹd��@�H��H��H)ڃ���$��I���������\���H�\$H����j�D$�H��A�L�������Y^HcЀ|e����H��DH���:e�������u������#���,���~A�A)��X���A�A)��J���H�\$L�t��1���H���3���L$L�D$0L���������H���H��b"H��H���H��
H��L)Ƅ�u�H��b�{����@������C����H���C��H��tH���f�H�=q�	H��������AWAVAUATUSH��H�����H�|$����H���H��1��	��H�D$H�����]����9��I�Ņ�~zD�s�1��"f.�H�Y-L���H�CL9�tSH��E1�9]~H�EL�$�L���P��L��H��I���R��H��u�L��L��L���/@��H�|$L���B����y�fDH�5�-L�����H�D$H��[]A\A]A^A_�DH�D$��D��H��t'���t!H�tSH���q��H��[����H���ff.����H��t���tH�WH��t��H�:�{��H�=�	�l��@SH�����H�S[H�:�R��f�H��teATUH��S�>	H��wD�H���Hc�H�>��f��,��L� �#-����
H�F�H�5ϿH�81�A��H��H���
�[H��]A\���[H��]A\��H�~���I��H��H�����M��t�[L��H��]A\�U�D�~�:��I�����F���I��뽐��H���������G(9GP��AWAVAUATUSH��H���5��I��H���T������H�{L������H��H��tjH�p H�CH�8���H�{H�����H��H������H�{H��H��[]A\A]A^A_��f���fA��fD��VA��fDH��[]A\A]A^A_Ð1����I��I�EH��tb���~\1�DH�@H�<��s��I��H�CL��H�8�q��L��I��H����	��L��I���.��M��tH�-L��I�EH��9(�H�{L���?�H�{L���3��H��H��H��[]A\A]A^A_����f.���H��H�߾
[]A\A]A^A_�m@��ff.�f���H��tGSH����tG��u*�G(9GP}b�
4��H��thH�{H���<���H��[H���p���[�@��D��H�GH�x�[��H�{H����H��[H���3���[��?��DH�߾
[��?��f���USH��H����uoH��tZH�GH��tQH�xH�������H��H�����f�H�{�*���H��H�����H���,H��H�H��[]��H��[]�f�H��t����G(9GP��H�G H��te�8uHH����2��H�x H�����f�H�{�*��#�H��H���8��H�{H��H��[]�V�fD��&��H�C H��t�8t��H��H��[]�>��DH��H�߾[]�>��DH��f���H��H��H��[]����뮐��H������AUATA��UH��SH��H�G H��t�8t
����H����1��I��H���~�8uyA��DH�E H��t�8t
�H���E��H���1��H��H��te�8u`I�u H�x �S9��I�U H�}H��H�S I�E �+�A��u�H��L��H��[]A\A]����H�}H��L��[]A\A]��f.�H�}H�����H�}L�����H��H��[]A\A]�A=�������.=��ff.���H���������GP��;G(��ATUSH�G H��H��ts�8uVH���0��I��H�C H��t	�8��H���0��H��H��t	�8��H�{H���$�H�{L�����fD�����H�C H��t�8t�H�߾[]A\�g<�����V<��fD��F<��fD���H������]���fDH�x I�t$ ��4��H�{H��t9���H��H���D��H�{H���h�H�{L��[]A\�X��1�����H��H�������ff.����H���������GP��;G(��ATUSH�G H��H��ts�8uVH���>/��I��H�C H��t	�8��H���!/��H��H��t	�8��H�{H����H�{L�����fD��v��H�C H��t�8t�H�߾[]A\�:������:��fD���:��fD���H������]���fDI�|$ ���H�} I�t$ ���f5��H�{��t.1����H��H������H�{H�����H�{L��[]A\�����v��H��H�������f���H���3�����GP��;G(�AUATUSH��H��H�G H��t	�8��H����-��I��H�C H��t	�8��H���-��I���4��H��H��tLI�u I�|$ �2��H��tI�t$ H��H)���
��H���z7��H�{H���~��H��H������H������H�{L�����H�{H��L��[]A\A]���f���F9��fD�H������O���fD��~������f���9��fD�ff.�@��H���C�����GP��;G(�AVAUATUSH�G H��H��t	�8��H���v,��I��H�C H��t	�8��H���Y,��H���13��I��H��tiI�u H�} �<1��H��t0I�} H+E I���G��H�} A��;��Ic�L��Hu D)���7	��L���6��H�{H�����H��H���h��L�����H�{H����H�{L��[]A\A]A^�p����7��fD�H���3���=���fD��������f���7��fD�ff.�@��H���SSH����t��t2�[�k7��H�GH�x���H�{H���_��H��H������C(9CP��H�C H�����8��H�H H������� ��H�&H��@H����H����� v�H�&1��/@H�Q��t
H�q� H��H���0H��@�1H���1���t�� w�H��s�H������u��[�D�H������H�C H��t	�8�?���H�߾[�S6��H�߾[�B6��f�H���V����Ä�t��D���fD��H���C�����GP��;G(�AWAVAUATUH��SH��(H�G H��t	�8��H���)��I��H�E H��t	�8��H���)��I��H�E H��t	�8�~H���f)��H��H�D$�90��I��H����I� �t���L�s �D$�f.�9D$��I����x;A���tuI�|$ L���)����y�L����8
��L��L��I���������yʼn؃�<�u��
fD�y�I��A�F���<�t����H��O��H�5طH�81���L���2��H�}H�����H��H�����L���J���H�}H�t$��H�}L����H�}H��(L��[]A\A]A^A_��fDI� �����H�������H��H�D$�Z��L�D$L���L���8��������&4��fD�H���s���p���fD�H���[���;���fD��F���	�������3��fD�ff.�@��H���;����G(9GP�AVAUATUSH�G H��H�����8��H���E'��L�p I��H�CH�x����I��H����M����A�.@������H�1��H��A�,@����A�L��9�t�1�H�G�,L��H�{L���v�H�{�����H��[]H��A\A]A^�(
�����&��H�C H��t	�8�7���H�߾[]A\A]A^�2�����2��fD��~2��fD��1�M���c����R���L����@��<-��	�@���6���@��H��t�?	���H�-�Hc�H�>��H�=�	�l���@S����H��j����H���H�5�H�81���H�=��	[�3���H��������x*����G���fDH� ����1��ff.�f���ATUH��S�@%��H��t;H��H���`
��I��H9C tH�}H������L��[]A\�H�C ��fD�
��H��E1�H�5������H��t��E
�fD��H����USH��H���?	w<�H��Hc�H�>��f����H�(�3����H�V�H�5߭H�81���H�����H��H�=n�	[]�?����H��H��[]�fDH����H��H���d��H��t�H��H��[]�a�����)��H�����G���H���ŐH�=�	����@��f��u�� �����H���D$�m$���L$f�f.���Eх���H��	ƒ����f���H��tH���	������H����Ð1��ff.�f���H��t�1������D1��D��H��t�?	w�H���Hc�H�>���1��DH� �g#���S���H������H���H�5>�H�81���1�[�@H�������G�@�G���ff.���ATUH��S�"��H��t3�8H��uD�`H�}H���#��D��[]A\�H�����A�����
�}H��E1�H�5����H��t��E
�ff.���AWAVAUATUSH��(dH�%(H�D$1�H����H������GP��;G(�����A��H�C H��t	�8�H���!��I���(���D$%H���D$H��trM�} A���tfI����@H�t$H�t$fD�ƒ�߃�A��v#�H�L��H�����?�C�<~t�����L��H���h���I��A���u�H���4+��H�{H���8��H��H�����H�����H�{L�����H�D$dH3%(��H��([]A\A]A^A_�fD��,����@���,���@�H���3	������<%t]E�����P܀�����	�H���.������P0�T$A�H��H�t$���H0�P7<	��Gº�D$�r�������A�O�ʃ�߃�A��v��0��	w�A�W�у�߃�A��������0��	��������P7<	w�����ff.���H������uf�G(9GP}nAUATUSH��H�����H��H��tl�8t'L�cH�������L������H��L��I���3��L��H��H��H��[]A\A]������+��fD��~+��fD��H��H�߾
[]A\A]�Y+��f���H������u^�G(9GP}fSH�G H��H��t1�8u�H1҅��‰P[�D��V��H�C H��t�8t�H�߾[��*��f.����*��fD���*��fD�ff.�@��H��t7UH��SH���?tH��������
-��H��H�����H��H��[]�D��,��ff.���H��tOSH��H��XH��t��t��H������H����	��H���*�H������H�W�,H��[H���fD����H��,ATI���XUH��S�H��H��t\f�H�@P@L�`L� H�h@ @0@@�{��H�C8H��t?H��tH��HH��t	H�x �-��H��[]A\�DH�5ƦH���w�����H�-��,H�{0�UH��1�U����UH��SH��H�G0H�����W(��~;1�����H��H�E09](~"H�}H�4�H��u�H��H���
��H�E09](�H�-�,H��H�}8H��t"H�G(H��tH������H�}8H�G(�
��H�H��H��[]���H���,�ff.�@��H����H�WH����H�����N����H�F8H��t�xuMH��H�@8H��u>H�F(H��t,H�
H9A��H�rH��t�~t�xt
H�H@H;N@t�DH��H�P H��u��H9�t#H9�u�|@H9�tH�v(H��u��f�H��H�F8�|���@H�r�F��t$���J���H�H��t��xu.1��f.�H�F(H���u����HH��������H���������H��t'H�GH��tSH�0H��H���߷��H��[H������ff.�@��H����H�H������ʃ�߃�A��v	��_��H��USH�XH��f.���ʃ�߃�A��vF�QӀ�2v8�� ��=wFH��D(H��s6H��H)ƅ�t#H��H�����H�]H��[]�H��s�H����H��1�[]�H��1�[]���1����1��UH��SH��H��H���	��H��tH��::tH��[]�@H�EH��8tH��H�H��H��[]�	��ff.�@��H����H�H������ʃ�߃�A��v��_@�ƀ�:��@�tiH��?USH�XH�����ʃ�߃�A��v>�QӀ�2v0��~DH��H��H)�H��P�wBH�����H�]H��[]��H��s�H��묾���ÐH���[]�Љ��H���#%��H��1�[]�1�����H�����< w!H�&f�H���NH���< v�PЀ�	v�PӀ��/U1�SH��<-����PЀ�	�=f��f������	fDH���Y�f��H�_��0�*��G�P��Xр�	v�<.���ƒ�߀�EtH1�1�< w%H�&fDH����H���< v�H���,�H��[]�f��C<-�x<+��H��1��H�1Ҁ�	w�@��?B���TP�H����HЀ�	v��q���DH��������u���tfW���f���$����؅�E��*��?����$H��[]�Y���H���H��<0�9�)���H���<0t�r�HЀ�	v�.D9�}%��0f��H�����Y��*���H��Xـ�	v�f���\$�*��$����\$��$�^؍P��XӀ�	�c���DH����PЀ�	v�ƒ�߀�E�K������fDH�	�,���C�H�����f.�f��<.u>�G��0<	�-���H��f��f���d�������C1�H���3���H��f������1��������������H��tWSH���M�H��H��t-H�����H��,H���D$��D$H��[��H�)�,�H��[��H��,��@AWAVAUATUSH��8H�T$ H�L$H������$����xH�D$H���`��$����OH�D$ L�xL�|$M���8E�E���,H�D$H�hH���HcE���A��H�<�A��H�	�,�H��H����D��A�H�$E1�D	�D$,��%�f.�H�T$H�$H�$9��H�D$H�4$H�@H�<�����D$�����uŋUE1���Q�>fD�B�������u)E����E������ty��tu1��B�f/D$����u~I��D9}��E��u�H�EJ�<�����B��H�=g���m��@H�|$ ����H�|$����H��81�[]A\A]A^A_�E��uS��tO1��B�f/D$����t�H���,�$H��H�|$ ���H�|$����$H��8[]A\A]A^A_�DE��u��t1��\$fB/����%�����D$,������1��d$fB/$�������fDA��m���D1��g������H������u.�G(9GP}6H�G H��t
����t3�����f������fD����fDATUSH��H���p��I��H�@H��t|���~v1�f���H�@�L$H�<�H����	���L$I�D$�X�9(�H�{f(��y���H��H�����H�{H��L��[]A\���f.���f���f���H��t7SH���M�H��H�����H�+�,H���D$��D$H��[�@H�A�,��@��H��t�?	���H�%�Hc�H�>��H�	�,��@S�R��H������BH�
�H�5��H�81���H���,[��H������X����G�f.�H� �����f��ff.���UH��SH�����H��tA�8H��u)�@H�}H���D$�J���D$H��[]�DH��������fD�
��H�56�H���?��f�H��t��E
f��f���H��t7UH��SH���?tH���q����L��H��H���A���H��H��[]��f��'�����H����AUATUSH��H����tj�����G(9GP�����L�cH��H�����8t!H�����L����H��L��I���5��L��H��H��H��[]A\A]���DH�GH�xH��t[����H��H���k��H�{袽��H��H����H���,H��H�H��[]A\A]��fD�H��H��[]A\A]�1���f�H���T���H���m���@�����f�f�L���$���H���:���ff.��AWAVAUATUSH��(H���Q�E1�����*L�~M���A������A���D$I����1ۉD$�l��D$t#�d$�L$�f.���E„����T$�\$�f.���E„�tA����DH��A9��I�GH�<��n��H��H��t�I�|$H�����L��H���>�H�'�,H���L�����L���
��I�|$�HH���L$�5���D$�*�����"���E��EE�H��A9�s���H��(D��[]A\A]A^A_�@E1���A����AUATI��UH��SH��H�������vH����������L�(�����H�8H���H�5:�1�A��E1��fD��������������u��uh���L�(�3���a�@���t/�����H������H�����H���U��I���C���A���-DE1�H�}H������H�}L������H��D��[]A\A]����u�E1�B9FA���@����v+������u�����L�(�h��������fD���w���H�V 1�H��t1��:��E1�A9D$A���V������G����z��L�(������|�����������FD�j��A9�A��E������f�H�R 1�H��t1��:��E1�9CA������fDH�r H�{ ���A������BD�n�2�A9�A��E�����f��K��H�����H���
���@H���Y��A���f����AD$�B�����U����C�P������C�=��AD$������(������AD$���C�����E1�fA.D$�A��DE����f��AD$�
���������C�����tK�C���AD$���tP����tZ�AD$���C���t01�fA.D$��DD��m����AD$E1��c���A���R����R�E1��A���>����CE1��6���A���%���f.���H����H���AUATUSH��H���&	��H��I���	��H��H��t{M��tvI9���A�$�U�Ɖу���t��t*H��L��H��H��[]A\A]���f���t��H��L��I�ԃ�	�'H���Hc�H�>��fD1��DH�{H��t'H���7���
H�����1�H��[]A\A]�DL�������fDI�t$ 1�H���	m��H�{H��D$���H�{L�������D$H��[]A\A]�fD�AD$1�H��H���T����f����L�(����?H���H�5?�H�81�A��1��@1�L��H���sh���u���fDH�U1�H��t	�1�����A9D$�����K���@1��@���f�L���������ff.���AUE1�ATUSH��H��tjH�tcH���;��H��I���0��H��H����M����I9���A�$�U�Ɖу���t,��t7L��H��H��E1������A��H��D��[]A\A]�f���t��H��L��I�ԃ�	�7H���Hc�H�>��fDI�t$ �H���Nk��A��H�{H���,���H�{L��� ���H��D��[]A\A]�f�H�{H��t'H�����H�߾
E1��o��H��D��[]A\A]ÐL���ؿ����fD����L�(�����H�֊H�5_�H�81�A��E1��h����L��H���f��A���P����H�U1�H��t	�1�����E1�A9D$A���#����AD$�H��H�����A������f�E1����M��tKH��tF����u<AWAVA��AUA��ATM��USH��H��A�8	H�$��A�H�R�Hc�H�>��1��DH�4$��H�߾���L��H���w�H��D��D��H��[]A\A]A^A_�K���H�$H��D��D��[L��]A\A]A^A_�X�����E�4$L�(�?���D��H�5��H�81�A��H�{H�4$�0���H�{L���$���H�߾���H��1�[]A\A]A^A_�fDH�$H�hH�����E��~zE1�DH�EJ�<����H��tVH�{H��H�D$�-���H��H����H�T$H�f�,H��H�{L���U���H��H���Z�D��D��H���<�����uI��D9}�1�H�{H�4$�D$�[���H�{L���O����D$H��[]A\A]A^A_�@H�$H�hH��t��U��~�E1��H�EJ�<�����H��tgH�{H��H�D$�m���H��H�����H�T$H���,H���H�����H�{L��船��H��H����D��D��H���o������;���I��D9}�y����&���@��H����H���AWAVA��AUATA��USH��H�����H��I�����H��H����M����A�U��щƃ�������������H��H������H�����H���A���8H����H���]�L���U�D�
H���C��1�H��[]A\A]A^A_�f�1��DH�{H����H��蓻���M��H��D��D��H��H��[]A\A]A^A_�N���fD���/1�E��I��L��@��D����A�U��tOL��H�����H����
��H���o���8I��t'H�{H������H�{L������*���f.��E������t*1�H�{H��D$�к��H�{L���ĺ���D$����AE�����u��E���AEA����E������E������tn��tjA���u
����u���u�A���w���A	��l���1��AEf/E���Y���f�H��L��H��D��[D��]A\A]A^A_��E��u-��t)A���tr��tmA	�����1��AEf/E�����E��uT��tPA��u���������u�A�������A	�����1��EfA/E���������E	������A��t��t�A	������1��EfA/E���t���@��H��tgH�t`SH�G H��H��t;�8u�@fW��@[�f.�����H�C H��t�8t�H�߾[�j��f.��ff.�@��USH��H�������
H��tdH��H���I�H�{H���D$藸��H�C H��t9�8u�D$�X@�@H��[]�f��H�����H�C H��t�8t̾H��H��[]��
��f���USH��H���~����
H��tdH��H����H�{H���D$����H�C H��t9�8u�@�\D$�@H��[]�f��H�����H�C H��t�8t̾H��H��[]�2
��f���USH��H������
H��tdH��H���)�H�{H���D$�w���H�C H��t9�8u�D$�Y@�@H��[]�f��H������H�C H��t�8t̾H��H��[]�	��f���USH��H���^����
H��tdH��H����H�{H���D$���H�C H��t9�8u�@�^D$�@H��[]�f��H���c��H�C H��t�8t̾H��H��[]�	��f���USH��H�������
H��t}H��H���	�H�{H���D$�W���H�k H��tR�}u0�T$f.��zXuVH�'�,��EH��[]���H�����H�k H��t�}t��H��H��[]�i��f��L$�E���EH��[]�@���F����xATf�U��SH��H��H�G �4$���uH�����8��H������H�{�xH���|$�\���H�C H���Y�8��H���������t$I��f/������f/����~
ɍf(��,�f(��=��fT�f(�f.�v+�H,�f��fU��H*�f(����fT��\�f(�fV��d$�5^��\�f/��y�����d����9��)p�I�|$ ��H�{H��H���٬��H��H���.��H��,H��H�{H��L��[]A\�>���fDH��t����f���H��t�8tN����H�C H��t�8t6H��H�߾[]A\�a����H�����H�C H��tԃ8u��E���H������H�{�XH���$袳��H�C ����f��H���c�H�C H��t��8�{����&���@H�{�߭��H��H���$�������u��ڋ�=������~
��5Ջ�DT$f(�fA(�fA(�fT�f.�v-�I,�f��fAU��H*�f(��A��fT��\�f(�fV��d$�\�f/����D$fA(�fA(�fT�f.�v-�I,�f��fAU��H*�f(��A��fT��\�f(�fV�f(��$$�\�f/�r�X��X��f/�����f/�������,������t(1���������X��b�������������������=���~
���5������f���H���������G(9GP��SH�G H��H���}�8u`�H�k��K�f(�fT�f.�v3�H,�f��%�fU��H*�f(����f(�fT��\�fV��H[�����H�C H��t�8t�H�߾[���f�����fD����fD�ff.�@��H���������G(9GP��SH�G H��H���}�8u`�H�{��[�f(�fT�f.�v3�H,�f�f(��%(�fU�f(��H*����fT��X�fV��H[�����H�C H��t�8t�H�߾[����f�����fD����fD�ff.�@��H��������G(9GP��SH�G H��H�����8���@f/��%o�r
f/����k�f(��-G�f(�fT�f.�v3�H,�f���-�fU��H*�f(����fT��\�f(�fV��\�f/�r�X
��H[�D����H�C H��t	�8�P���H�߾[���fD����fD��v��fD���YP��@[�f���1�H��teSH�5z�H��������t�[�f.�H�5�$H�������u�H�5��H�������u�H��H�5V~�{���[������Ð�ff.�@AW�H�&AVAUATUSH��H��8H�/dH�%(H�D$(1��}H��H��H�Ѓ�@�� G„�u
��t�H��H�+��@��9���A�<�O�1@H���@��/�H��E1�E1��	jjj�����H�߉��RO��H�3H�� H�&��H��H��H�Ѓ��� G„��O
���t�H��H�3��H���H���OH�&�H��H��H�Ѓ��� G„�u���t�H��H�+�M�Ҁ�$����(�"�A�<	�M��.����'�-��"�$H�t$ H������I��H���&H��H�&�
H��H��H�Ѓ��� GƄ��*���t�H��H���H��H�t$ H��H�+���H��H����H�C8H�������E1�E1����H���@�����t$(Uj��M��H�� �����H�+�H�&�MH��H��H�Ѓ��� G„��KfD��t�H��H�+��H���H�&H�+�MH��H��H�Ѓ��� G„�u��t�H��H�+��H�߾�V�{����H�+�})�cH���H�&H�+�MH��H��H�Ѓ��� G„��jf.���t�H��H�+��H�5�,D���$�������
A��$���=�Q��
A��0��
A��$�������
�H���N���H�D$(dH3%(�C
H��8[]A\A]A^A_�H�}��"H�;H���P�<��<
@��	�p�@��@��	��f���������<'u�H)����2���H��H��8��H���qH�{H��螢��I��H����H�C8H��E1ɹA������H�ߋpjATj�K��H�� ����!H���,H��H�+�{�MH���H�&H��H��H�Ѓ��� G„�����t�H�+H���M���H�&�H��H��H�Ѓ��� G„���fD��t�H��H�+�M��H��H��<��<
@��	�p�@��@��	��
f���ǘ��{<"u����H�߾�~����{���%���H�3�I�&�L�‰�H��H�҃�< Gׄ�u���t�H��H�3��H�&<[uE�H���HH�3��H��H��H�҃�< Gׄ�u�fD��t�H��H�3���S�������</��H���I�&L�‰�H��H�҃�< Gׄ��Q������t�H�3H���F����E��0<	�)����{������H�U�H��E�HЀ�	�E
H���I���H�+�{�M����~/��H���8!H�3��P����{������f��f���%"��H���Y�f�H�E��0�*�H��M�Q��XЀ�	v׀�.����߀�Eu}H�PH��H��-��H�P�H��H�A�<	��H�B1Ґ��?B���TQ�H��H���q�@��	vޅ�t��f���*�f(��$����$�Y�H�{f(��l���H��H����H�C8H��E1ɹA������H�ߋpjUj�5H��H�� ��������H�{H���l���H�+�{�M�����(��H���H�&H��
H��H��H�Ѓ��� GƄ������t�H��H���H���H�&H�3�H��H��H�Ѓ��� G„�u@��t�H��H�3��H�C8H���
H��A�A�������pjjj�TG��H�� ���H�CH��t��Pt�H���������{�M���H�-$�,L��UH�|$ �U�H�������{���H�|$ A��H�C8A�����E1�H�&�@�����
��)�����	�@����D��H����K����H�C8H��E1�E1��D��H��A���Pjjj�`F��H�H�� �<)��<,�+���H���H��
H��H��H�Ѓ��� GƄ�u���t�H��H���H�C8D�x�V���H��H������C�U���L�%��,H�|$ A�$H��A�$����A�}c���H�5tL��E1���H���A������H�C8D�xH��E1�E��
�t$(�����D��H��AUj�xE��H�� ���uH�-x�,H�|$ �UL��UH�+�M��tH�EH��MH��H�&�H��H��H�Ѓ��� G„������t�H��H�+�M�̀�+uH�PH��H�A�1�<	����f���I���f���/�g����~/A�I�&H�����!��H��L��H�3���H��H�҃�< AGԄ�ufD��t��҄��m����P��Hր��€�5wH��H��H����	ʄ�tH���H�3��{���1���</�)����~/u�H��H�3�L��H��H�Ѓ��� AGĄ�u���t�H��H�3��H�C8H���
H��A�A�������pjjj�C��H�� H���H�3��l���@��.���E��0<	�����H�+�C��M���H��E1�E1��jjj���H��H���������H�UH��@�)�<0���H��H��<0t�y�p�f��@��	v�/f�9�})��0f�H�����Y��*�H���p��X�@��	v�f��f(��$$�*��l$�T$�\$�;���l$H��T$�$$�^���QЀ�	�X������H�PH��
H��H���q�@��	v��c���H�j�,H�|$ ��H��������L�l$ H��L���V��A�ă�>wH��@L�������A����5���D���߃�A��v'A��$@�����vA��$(�����v
A����~I��@A�����D���߃�A��v'A��$@�����vA��$(�����v
A�����HcD$ HL��H���TU��A�ă�>w�I��s�H�3H��H)�舶��H�+I��H�����H��H�5�o���L��H���H�7�,�H����H�5[�,D���k���u�A��$���=�Q�m���A��0�`���A��$������O���H�5�,D���'����8���H�5��,D�������!���H�51�,D�������
����&���@A�D$Ѓ�	��A�D$Ӄ����A��:����A��_����A����������fDH�I�,H�|$ ��H�����������H�3Hc��.��t&��/t!�� vQ��(u~L���v������H��(��ucH��,L��H���M�H�-կ,L��UH�|$ �U�9���H�&H��s"��Hc��.��t���/t��� w�H��H��r�L���J���H�{L��輝�����H��1���D���A��_�x���A��:�n�����f��f���%v���r���H�H�(�,�<*H��/���L���H�+�M��f.�AV�AUATI��USH�H�&�
H��H��H�Ѓ��� GƄ�uf.���t�H��I�$��1�1�A��H�&��-uBH��D���I�$)؉��
H��H��H�Ѓ��� GƄ�u����t�H��I�$��L���:�A�T$����I�$�H�&�
H��H��H�Ѓ��� GƄ�u^���t�H��I�$��A�D$��u=��t9I�D$8�p���3H��E1�A�jjj������L���=��H�� []A\A]A^�I�&��|u�I�D$8H��E1�E1�������	L��D�pj��jj�g=��I�$H�� �
��tH�BI�$�JH��H���L��H��H�Ѓ��� GƄ�uf.���t�I�$H���J���L����I�D$8D��E1�H��E1��L��Pjjj��<��I�$H�� ��
L��H��H�Ѓ��� GƄ�����@��t�H��I�$��H��E1�A�jjj����f.�AU�ATUSH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u���t�H��H���H�&��*����d����m���zo���zd��H�C8H��A�D�`H���
H��H��H�Ѓ��� GƄ�u���t�H��H���H������C��u~H�C8H��D��E1�E��H�ߋPjjj�};��H�H�� ��
H��H��H�Ѓ��� GƄ��+���@��t�H��H���H�C8H��E1�D�`H��G����zitH��[]A\A]Àzvu�H�C8H��A�D�`H�����ff.�AUI��ATUSH�����A�u��uVL���N���A�M��uFI�U�H�&�
H��H��H�Ѓ��� GƄ�u%f.���t�H��I�U��f�H��[]A\A]�H�&�Aը�u�I�E8�h��+��E1����H���H��H��H�Ѓ��� GƄ�uf.���t�I�UH���J���L������A�U���z���L���r���A�E���f���I�E8H����E1�E��L��Pjjj�9��I�UH�� ��
H��H��H�Ѓ��� GƄ��+���fD��t�H��I�U��A�H�BI�E�JH�������AV�AUATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�uf.���t�H��H���H�&��<A�ă��<��H�C8�z=E��A�D�hH�BH��J��H�P�H��H��H�Ѓ��� GƄ�u��t�H�H���J���H������C��uxH�C8H��D��E��E��H�ߋPjjj�i8��H�H�� ��
H��H��H�Ѓ��� GƄ��7�����t�H��H���E1����Y���H�BH��J�I���[]A\A]A^�ff.�@AU�I��ATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�u���t�H��I�U��H�&��=����!��z=�I�E8�hH�BI�E�J��tH�BI�E�JE1�H�P�H��H��H�Ѓ��� GƄ�u���t�I�UH���J���L���6���A�U����L�����A�E����I�E8H����E1�E��L��Pjjj��6��I�UH�� ��
H��H��H�Ѓ��� GƄ�����fD��t�H��I�U��I�E8A��hH�BI�E�J����@H��[]A\A]�DSH���w����S��uH������C��u	H��[�H���[�fDAT�I��USH�H�&�H��H��H�҃��� Gք�ufD��t�H��I�$��H�&��a���xn���xd��I�T$8H����jI�$�H��H��H�҃��� Gք�uD��t�H��I�$��L�����A�L$����L������A�T$��u|L���d���A�D$��ukI�D$8H����E1�E1��L��Pjjj�45��I�$H�� ��H��H��H�҃��� Gք�����f.���t�H��I�$��f�[]A\�ff.�AVAUATUSH�oH��t��p=�����
��pI��A���:���E�NE����L���U���E�FE����I��H�&�H��H��H�҃��� Gք�uuD��t�H��I���E��tII�V8HcJH��H��H)�H�JH���8t&H��E1�E1��j�����L��jj�4��H�� H��t��p
[]A\A]A^�H�&��ou��xru�I�V8�D�jH�PI��
H��H��H�Ѓ��� GƄ�ufD��t�H��I���L������A�~��u�L���;���A�v��u�I�F8H��D��E1�E1��L���Pjjj�L3��I�H�� ��H��H��H�҃��� Gք��E�����t�H��I���[�]A\A]A^����I�&ATA��UH��SH�w8H���^�
L��H��H�Ѓ��� GDŽ�u@��t�H��H�U�Հ�[�)H���I�&H�U�
L��H��H�Ѓ��� GDŽ�uf���t�H��H�U���F����E�����H���e����E����H�E�8]��H�E8�PE����H��E1�E1��j��H��jj�1��H�� H�U�
��tH�BH�E�JH��H���H�&H��H��H�Ѓ��� GƄ�u.���t�H�UH���J���1�H������E���O���[]A\�@[H��]A\�?�H��E1�E1��j��H��jj�P1��H�� �M����AW�AVI��AUATUSH��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��I��ր�.����*uZA�1�A�n���I��H�&�H��A��H��H�փ��� DF�E����D��t�H��I���L������H��H�������a<��H�RW��Hc�H�>��z.�7H���H�&I��
H��H��H�Ѓ��� GƄ�uD@��t�H��I���I�F8H���
L��A�A�
������pjjj��/��H�� H��[]A\A]A^A_�H�ҟ,H�H��H��[]A\A]A^A_��H������!�I�&AC�L��H��H�҃��� Gׄ�u���t�H��I���Ӏ�(����:u	@���q�D$E1�I�V8�H�&D�z�B�����H��H��H�҃��� Gք�����t�H��I���I��8@����H��A�I������*��L���4��H��H���oH�&I�H���H��H�փ����������gA�����������[uD1�L���f���I��8[t�I�F8�PH��E��
D��SL��AUUD�L$,�7.��H�� ����R���H�-3�,L��UH�E�U���H���H�&I��
H��H��H�Ѓ��� GƄ��������t�H��I���H��H�5F�H�߽I�������
I��H�&�H��H��H�҃��� Gք������t�H��I���H�5�[H������������A�
I��H�&�
H��H��H�Ѓ��� GƄ������t�H��I���H�5�[H���d��H�5�[H�߃�E��O��A��H�5�[H��A��
���v�1��A����m���A��b���H�5/�H���	��������A�	�@���H�5#[H������H�5[H�߅��0����A�������A�����H�5�ZH�����H�5�ZH�߅���������A�������A�����H�5gZH���i��H�5aZH�߉��X��H�5R�	H�߅����A��A����}���A��r���H�51ZH��A�����������P���H�5��H��1����������H�5�YH�߽�����������H�5��H�߽����������H�^�,H��H��L���[]A\A]A^A_�����:������z:�����H�$�,H��H��1�I���$����D$������)�aH��E1�I����H�PI��x*��L���/����D$I��H���'I�~H��t3��PuI��I�1�L���K���H���q��H��u
�L���?��I��I�L���#���H�j�,H��I����)�f��"�u��'��H��I�H���
��@�ƀ�
@��	��y�@��@��	������$@���}��'u�H)�H�lj��
���H��I��8tH��I�H���]I��H�&�H��H��H�҃��� Gք�����t�H��I���H���,H��E1�1��L���8��I��"�������������E������������������������������S���E1��A����H���D$E1�I��Y����D$����H��E1��D$I�����1����H��I����H��I�H���2@��
��@��@��	��~�@��@��	��@��ud��t@��"u�����L���G�������L���5���L���E1�� ��1�I��D$�����L�������H��I��e���U�SH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H��ր�/�OH������C��u@H��H�&�
H��H��H�Ѓ��� GƄ�u���t�H��H���H��[]�H�&��/u�z/��H���H��
H��H��H�Ѓ��� GƄ�uFfD��t�H��H���H�C8H���
H��A�A�������pjjj�&��H�� H�����H���
H��H��H�Ѓ��� GƄ��Y�����t�H��H���H���H��
H��H��H�Ѓ��� GƄ��g���f���t�H��H��Ԁz/tJH���H�&H��
H��H��H�Ѓ��� GƄ��x���f.���t�H��H���H���H�&H��
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�C8H���
H��A�A�������pjjj��%��H�� ���ff.���H��t'H��t"S�>	���H��LHc�H�>��D1��DH�~ 1�H��t
�(���������[�fDH�FH��tg�[��������F[�f�1��[�*Glf.F��E��賿��H��K�����6H�nNH�5�SH�81���1�[�D1�[�@��H��t'H��t"�>	w}�H�(LHc�H�>��f.�1��DH�V 1�H��t}1��:���@H�FH��t׋�������@�F�@H�Gf��*@l1�f.F��E��S���H�肿����6H��MH�5SH�81���1�[�@�ff.�@��ATA��UH��SH��H��H�CH��`uM�U��
��v_������uaHcE���t@H��H�K8H)�H��H�QH�,�H�CH��`t��H���s>����y��1��
@1���u
H��[]A\ÐH��H���%�C����H������H��H�����8��E����H��H���Y���H�{H��D$�i����D$H��[]A\�@H�}E��uoH��[]A\���f�HcE����[���H�K8H��H��H)�H��H�QH�4���K��u 1�A�1�H��H����S���@������������H��H��H��[]A\魢��D�E�G���H���X����:���H���WAWAVI��AUATUSH��X�����9��L�Hc�H���L$HH�K81�M��D�L$LI�WI�hM��D�D$(H�I�D$H�T$8I�A�GhI��H�T$@H��H)�H�|$0H���D$,H�T$ �iD�D$�L$H9��h�T$(9��\�t$,�D$9�tI�EH�|$Hc�H�,�H�8�D$,�D$�t$(9������D$A�EI��D�|$D�|$D9��QJ��E�gH�D$I�EJ�,�E�fl�}I�ntH�E@H��tI�H�t$ �H�����S���Y���a�+���I�EH�L$�}H��l���H�������_����D$,A�A�F��
~:�L$,�9�~0��
�
H���,I�~M�Hc�H���H���I�FA�nH�D$8I�GH�D$@I�H�D$0I�GhH��X[]A\A]A^A_�DI�EH�L$�}H������H���u��������~�H��XL��D��1�[]A\A]A^A_�T�����E��M��M��D$L���#���E;&����Ic�H����A��H��E9&�����I�FH�<(H��t�u������DM��D�d$M����H��M��D�d$M���H���fDM��M���v���H�5JNH���6�������AWE��AVE��AUI��ATUH��SH��H��D�d$@���tuH�W8Hc�H��H�RH)�H�ƒ8��H�O��p�����H����A���p�pH�PH��ATD�M�x���H�C�K��pXZ��u	A�U���uH��[]A\A]A^A_�@H��E��E��D��H��H��[]A\A]A^A_����fD����H�(裹��H�5�RH�81��վ
H��H��[]A\A]A^A_�
��f.����f�AWAVI��AUATUSH��H�G D�D$H��t�8t)�L��1����H�Ĩ��[]A\A]A^A_�fD�FL�~H��I��I�͋^�D$@�FL�|$X�D$DH�F H�D$PH�GH�D$�6��H�D$ M��t<H�|$L���o��H�D$pH����D$@��
�,H�
�D��Hc�H�>��H�D$p��DH��O��E1�H��$�H�O�,H�D$f�H�D$ H�@H�D$0H���!H�D$0����HcE�����I�V8H�JH��H)�H�ыH�T$x�D$(����w&HcB���tH��H)�H��H��t	�8��
DŽ$�1��D$lDŽ$�H�D$H"D$1툄$�H�D$H�D$(H�D$8H�@H�D$`A�F�D$h���H�D$0H�T$HH�|$(H�@H��H�T$H�B�DŽ$�E1�L��M��I��I�GH��`��L��L��H�D$��I��H����M��tI�<$H��tH9���@����M��tI�uH��tL9���@���V����wVH�
CC��Hc�H�>������L�L��$�蛶���<0H��DH�5GIH�8L��$�1�A���A�G���+���M������f.�A�~u�H�|$PtI�vH�|$P�S����t���D$l�����D$h�D$h;�$�u�L��H�|$(M��L��I���������MH�|$8H���h	H�t$(H��$���H�D$8D�|$E���[���@H�T$0H�D$HH�D$H9�������.@��M��H�(舵����/H��CH�5IH�81���H�D$ �P��t,H�t$ H�F(H��tI�V �BH�B(H�F(�FH�t$ H�|$�7x��H�|$8�SH�D$(H��tH9D$8tH���R���L�|$H�t$8L���b��L��H���š��H�D$`I���I�GH�������H���,�ILJ�����|$@A�F�	�|$@	�v������I�vH�|$P���������H�|$XI�FH��H�����H�pH�|$p�p�������������T$DA�N���@��������H�ਫ਼#����������|$@	���D$l����D$h�D$h;�$������D$l��$��\���@�|$@A�F�i�|$@	�v���5���H�|$X�q���I�FHH���.��������H����E1�E1�H��$�H��,H�D$���f.�H��J��E1�H��$�H��,H�D$����DH�q��E1�E1�H��$�H��,H�D$���f�H�yJ��E1�H��$�H��,H�D$�}���DH�QJ��E1�H��$�H��,H�D$�U���DH�)J��E1�H��$�H���,H�D$�-���DH�J��E1�H��$�H���,H�D$����DH�����C�E1��H��$�D$DH�}��H�T$����H���,H�D$����H�i��E1�E1�H��$�H�ć,H�D$���f.�H�iI��E1�H��$�H�G�,H�D$�m���DH�AI��E1�H��$�H�/��H�D$�E���DH�I��E1�H��$�H��,H�D$����DH�t$ H�|$1��wt���8���f��L����0�����$������fDH���x������B���A�GM���������H�L$(H�D$xD�	H��tXE���N���D��$�H�P�pE���vH��L����$�PD��$�E���?���AYAZA�v����H�D$(D�E�������H�|$8H���PH�t$(H��$���H�D$8�L$����������L�������������3����DŽ$��D$lDŽ$�H�D$x�r����H�\$H�t$ H���&s��H��1�1��]��L��H���ߜ������f.�;L$D�����m����|$D�b������DH�D$(H��tH�D$8��������1�蘊��H�D$8���fD������I�vH�|$P������	���H�|$XI�FH����H���8���H�x����(������������f�1��)���H�D$(H������1����@�������H�|$PI�~�����H�������H�t$P������|���@�D$l����D$h�D$h;�$��V���L��M��H�|$(I��H�D$L��H�p����������A�F���f�H�|$(L��蓓��������$������M��H�D$8H����H��H�t$(H��$����H�D$8����fD��������B���f.��|$D����D$l���-���H�D$H�|$(L��H�p�C�����x/��$��t�����$��e���H�|$(L���ؒ����y�@��$�M��A�G�=������2���H�t$ H�|$1��p���L������S�DH��A�L����$�PH�L$8���_AX����H�D$(H�D$(H�D$8���H�@H���N����8�E����@f/�H�2����
�Hf/�� ����,�f���*ȉ�$�f.���1��D$lDŽ$��	���fDH�D$H�|$(L��H�p����������$��'���DŽ$�����H�������N���H�D$(H�D$(H�D$8���H�D$ �x��H�D$(��H�D$(H�D$8�����O���H�D$xHc@���t9H���D$lDŽ$�H)�H��H��H�D$x���2����D$lDŽ$�H�D$x��H�t$ H�|$���n��H�D$(H�D$8���f�AWAVAUATUSH��(�odH�%(H�D$1�����H��H�I��I��H��`����p=���PA�<$L�{8��p��A�$H�
�7Hc�H�>��fDIcT$H��H��H)�I�WH�4�L���U���D�KA��E��tif�1�H�L$dH3%(����H��([]A\A]A^A_�f��H���C*����x�H�{��p=��?����UDH�C H��t	�8�DIcT$H��H��H)�I�WH�4�L������kA�Dž��]���H��蕳��H��I��芳��H�{H��H�����8��M����A�>��H��`H�@tPH��tHc0H��H�T$�{)��H�T$����I�vH���sHc6H��H�T$�Q)��H�T$���_H�BI�vH��H�T$���H�T$H��H�BH���[���H�{L���l��E9�~A�D$A�T$A�D$A�T$H�{C�l=��p��@��p�W���D�H��賾���@���fDIcD$����"�K������H�C H�����8��H�xH�����?���n���H�{��p���|���@�S���m���IcD$�����I�H��IcL$H)�H�4׃��t	�>��H�����ŋC����H�{1틇p������I�t$�h��H��H������H�{��p�����f�IcT$�������H��H��H)�I�WH�4��w�s�Ņ��
���H��E1�1�L��L���w�H�{ŋ�p�����IcD$�����D�CE������IcD$���t+H��H��H)�H��I�WH�4���{��������H�{H�w�M������fDH���@���H�{��p�����fDL��H�����H�{��p����p�5���H��H��H)�H��I�WH�4��r���9���H��H��H)�H��I�WH�4�L���'��������1�A�T$���t�H�C H��t��8�BL�`M���j���A�A�L��H�߹���A�$���B���I�D$H�{H�I���p������H���Xi��H�{L���Li���H��迻���L���H�xH�����������������t
詉��H�C H�xH�GH�I����H��H)�H�ǃ8�a���Hc@����T���H��H)�H�׃8
�<���H�x �1����x�'���H�xH������H�5K9觸���Ņ�unA�D$�������Hc�Hk�8Iw����H��������H�B���H�{H��D���Fh��H�{L���:h��H�{��p�������#���Ict$H�T$H��H�D$Hk�8Iw��{��uSH�C H��������8�����H�xH�������H�������?������>��H�C H�@H�@H�I��j���1��c���ff.�AWAVAUATUSH��(�odH�%(H�D$1���usH��H�I��H��`H��uD��p������BA�<$L�s8��p��	A�$H�5�0Hc�H�>��D�H���#�����C1�H�L$dH3%(���H��([]A\A]A^A_ÐIcT$H��H��H)�I�VH�4�� ���D�[��E��u�IcT$H��H��H)�I�VH�4����D�d�k��u�H�����H��I��趬��H�{I��H���J	�8�A	M���8	A�>�.	H��`�2
H�@H���W
Hc0H���"�����_
I�vH���C
I�}H���
L��H��跏��H�{L����e��H�KD�勁p�P���p����DH�{��pH������]����H���������DIcD$���t+H��H��H)�H��I�VH�4������s�Ņ��[���IcD$�����H��H��H)�H��I�VH�4�����K���$���H�Kŋ�p�P��@����IcT$H��H��H)�I�VH�4��P����KA�Ņ�����IcD$���t,H��H��H)�H��I�VH�4������S�������A�A�D$���X	����
�������	@H�KD�틁p�P����IcD$E1��t%H��H��H)�H��I�VH�4����H�{A��I�t$ H���2賲��H����I�t$H�{H������H���H��H��D��貍��H�K��p�P�����IcT$H��H��H)�I�VH�4�� ����ŋC��������H���f���H�C H��t
D�xE����H�K��p�P����fDIcT$H��H��H)�I�VH�4����D�k��E���A����H�����H�C H��t��xt�H���e���IcT$H��I��H��H)�I�VH�4��b���D�[�E�����H��覥��H�C H��tA�U	PH�{L���b��H�K��p�P�����IcT$H��H��H)�I�VH�4���D�S��E���y���IcT$H��H��H)�I�VH�4����D�KA��E���I���E�D$H��E��������D�H�{���X��H��H�����H�K��p�P��8���H���س��H�K��p�P�����fDIcT$H��H��H)�I�VH�4��0���D�{��E�������IcT$H��H��H)�I�VH�4�����D�k�E�������A�D$������������H�����H�K��p�P����f�IcT$H��H��H)�I�VH�4�����{�Ņ�����IcT$H��H��H)�I�VH�4��c����s����A�T$A�t$H���蔠������IcD$���t H��H��H)�H��I�VH�4������ŋC�������H�C H�������8�����H�xH�����?�����H�K��p�P����IcD$����z���H��H��H)�H��I�VH�4����D�C��E������1�1�E1�L��H����H�Kŋ�p�P��'����I�t$�\�����f�IcD$���t H��H��H)�H��I�VH�4�������D�SE�������IcD$���t-H��H��H)�H��I�VH�4����D�KE���l����H�{H�w�uB���3���IcD$����I�~H��IcL$H)�H�4׃��t��P���H�������S������A�T$�����H�K H�����9��H�qH����D��H�߉D$A��	��H�K��p�P��D$��������C(IcT$D�{P�CP����HH��H��H)�I�VH�4������{A�Ņ����C(�SPA�L$�9�����~J��H�S0H�H�<�H�4�����H�D2�H��H��H)�H�T�H��H�x�gH9�u�I�D$(H�{H���ZM�t$0H���I�L$H���A�t$L���H�T$H���H���H�CH�T$H����kH�����u�CP��9C(��D��H���m�������軙��E�$$L�(�O���D��H�5e4H�81�A���C
������E1�����fD1�����f�H�K�ŋ�p�V��D���L���]��H�{L���\���H���k�����I�t$���H������H���F�����������H�(褙��H�5%3H�81����C
�������L�0�}���H�5�2H�81�A���C
D��H���\���k���貘��M�t$ M�d$H�(�@���L��L��H�5{2H�81����C���H��H)�H�׃:����������:���HcB������Hk�8Hǃ?
����H� ����������H�H�������H�5o,�˫�����MA�D$����u���Hc�Hk�8Iv�~���DM�t$ M���L������I��H���9I�t$H�{H���m���H����I�D$(H�{M�t$0�\�����t������H��D���o��H�K��p�P��R���L��蒏��H�K��p�P��8���H���H���IcT$H��I��H��H)�I�VH�4��E�D�s�E��u��H��荝��H�C H�����A�U!P�����H��������H�����H�K��p�P���H�C H���s����8���H������H�C H���P����8�G�������f.�H�BH�������8������2f.@�����H�T$H��H�D$�;��{A�����H�S H�����:���H�zH�����?�����0�����fDH��D��轏��H�K��p�P���I�t$��������H��D����H�K��p�P���H������H�K��p�P��m�耕��M�t$ M�d$H�(����L��L��H�5�/H�81���D��H���������I�}I�vH��tH�����>����6t��I�E�����{��I�vH��H��t�Hc6H���A����y�H�{L���X�������M�d$L�(�z���L��H�5`/H�81�A�վ	H������p�Ict$H�T$H��H�D$Hk�8Iv�S�{���?�H�C H�����8���H�xH�����H����?�����.���v�fDAWAVAUATUSH���o����H��H�I��I��H��`����p=����PA�<$L�{8��p�kA�$H�
�!Hc�H�>��fDIcT$H��H��H)�I�WH�4�L���e����{A�Ņ�tK1�H����[]A\A]A^A_�D�H�������x�H�{��p=��_����UDH�C H��t	�8�dIcT$H��H��H)�I�WH�4�L�������kA�Dž��u���H������H��I�����H�{H��H�����8��M����A�>��H��`H�@tPH��tHc0H��H�T$����H�T$���I�vH���"Hc6H��H�T$���H�T$����H�BI�vH��H�T$�oq��H�T$H��H�BH������H�{L����U��E9�~A�D$A�T$A�D$A�T$H�{C�l=��p��@��p�o���D�H���#����X���fDH���p���H�{��p���IcD$������C������H�C H���?�8�6H�xH���)�?� ��u��H�{��p���d���@I�t$��Q��H��H����~��H�{��p���9���f�IcT$����"���H��H��H)�I�WH�4��7��S�Ņ��r���H��E1�L��1�L���7��H�{ŋ�p������IcD$������s���/���IcD$���t-H��H��H)�H��I�WH�4����K��������f�H�{H�w�S7������fDL��H������H�{��p���I���f�H��H��H)�H��I�WH�4��R����Y���H��H��H)�H��I�WH�4�L���������>���H���S��H�{L���S���H�������D���H�xH�������Hc���������t�s��H�C H�xHcH�WH�D�I��^���H�{H��D���=S��H�{L���1S��H�{��p���_���H�B���fDATUSH��dH�%(H�D$1�H����H�G8H��H����H�0����H�p(H����H�{��t=H���HcP����H��H�@H��H)�1�H�4��+���Yf�H�$H����HcP���<H�KD��pH��H�@H��H)�H�4���H�CD��p1�H�|$dH3<%(�1H��[]A\�H��b,�P�H�C0H����H�
H�C H�C(H�C8�CPH�p(H������HcP����H�KD��p���P������1ҹ��5������[���H�C8����f�H��1��5��H�4$���tH��u(H�C8���H��t�H�{�JQ�����H���{��1��������������r���H��
���H�5S(H�81��Ӹ��������H�5�!H����������s��fDAWAVAUATUSH��H���nI��H���WH��I��A���?v��L�%Ha,�XA�$H��H����H�xH��H�H��H�@P1�H)���X���H��PA�$H�C0H���DH�
L�k8D��H��H�C H�C(�CPH�k�����SA�Ņ�t3E1�M��tsM�&H�C8H��� y��H��D��[]A\A]A^A_�fDH���0���I��H��tH�C(��~������S(L�8�T$譌���T$H�5R'H�81�A����L��H���O���E���l����ҋ��L�8�j���H�5�&H�81�A���N���A������[���H�% E1�1�1�PH�dA�1�j1�A�����jjjjh�7P1�jj�j{��H��P����H��`,H��H��H�5���D��1������%��AVAUATI��UH��S����H��H��tH��[]A\A]A^�D�;t��H��L���r��I��H��t�H����D��p�H���K���D��pA�E����I�E�8��I�]8�;~=HcC��x5H��H)�H��H�SH�4�H����D��pL����D��pI�E8L���%w��L����m��H�CH��[]A\A]A^�D�H��諺���b���fD���7H�5�L�����L����v��H��[]A\A]A^�L���x��~�����H��1�����f���H��1�dH�%(H�D$1�H��H�$�v���H�$H�L$dH3%(uH����8p������1��@�����H����USH��H��H�wH��M���H��H��t%H�{8H��t�W���H�k8H��H��1�[]����H�C1�H��t��p�H��肹��H�CH��t��p�S��u\H��:ulH�S8�:~�HcJ��x�H��t��pH��H�RH��H)�H�4��=�H�CH���m�����p�b���DH��[]�f���H��H�߾[]镞��D��AUATUSH��H����H��H���~q��H��H����o��H��H��tkH��1���s���S��tH����t��H��H��[]A\A]�@H�����H��H�����C(��~����D�k(L� �t���D��H�5#H�81�A���H��1�[H��]A\A]�H�*E1�1�1�PH�iA�1�j1�1�jjjjh�8P1�jj�sw��H��P�X���f.��[���L� ��H�5l"H�81�A���%���ff.�@�������H��tH��tH�H9W@uH�~1��D����H��t?UH��SH��H��H���c�����xH��H��H��[]�ޜ��fDH��1�[]��1��D��鷜�����SH��[,H�5$H���x��H�nX,H��H�5�x��H�PZ,H��H�5�yx��H�JY,H��H�5��cx��H��Y,H��H�5��Mx��H�>X,H��H�5,-	�7x��H�PX,H��H�5E�!x��H��Y,H��H�5v��x��H��X,H��H�59�w��H��X,H��H�5d}��w��H��[,H��H�5e��w��H�2Y,H��H�5V��w��H��H��P��H�5fx�w��H�Y,H��H�5.�w��H�PY,H��H�5&�qw��H�*[,H��H�5 �[w��H��X,H��H�5�Ew��H�N[,H��H�55��/w��H�pX,H��H�5qA�w��H�ZV,H��H�5��w��H�Y,H��H�5���v��H�.Y,H��H�5���v��H��V,H��H�5��v��H�
X,H��H�5��v��H��V,H��H�5A��v��H�.V,H��H�5��v��H�xX,H��H�5��iv��H��[H�
l��H��H�5o��j��ff.���UH���xSH��H�WX,�H��H����H�xH��Hǀp1�H��H)���x���H�H�+1�H�CH�CH�C H�C(�h���H�C@H��H�C8H�CHHǃ�H�C`H�Ch�����1���H��H��[]��H�=�����f�H��H�TE1�1�WA�
1�1�P1�jjjjW1�jjjj�s��H��h�DAVI��AUI��ATU��SH����H��H��sH����H�����j��L�cH�{ADŽ$�
A��$�ADŽ$��;f��H�SH�3I��$H�CH)�L��@H�����(L��8H��te[H���]H���A\A]A^��DH��A�
E1�AUAVjjjjAUjjjU1�1�1�1�1��'r��H��`[]A\A]A^�f.�H��A�
AUAVjVjRAUjjjU뻐ATUH��SH����H��H���]��H��H���Jo��H�3W,H���H���Ab���E����H�U�A����f�</uuH�B1�H��1�H�E�B��HЀ�	v+�bfD��D���)�9�|.�H�U�H���HЀ�	w5��0�����~�D��)�9�}Ҿ��H��</��[]A\�f���t1�H�E H��t�8t�H������H�U��S���H���؊��H�P��~
H��t�:tH����x��1��g��H��H���,n���H�rH�H��t؃zt@H�RH��t�1��H��t�D�BE��A��A��tA��
u��9�t
H�R09�}�H��t�H�H��H����m���V����z1�����1�H���m�����}������g|�����AWAVAUATUH��SH��H��(�3i��H����H����H��H���fg��H��H���rH�x0��H��H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�߀�/�7����I��H����H�;�?(��H��H���_���H��H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H��ք��[H�C H�����8��1�H��H��E1�n����H��E1��ш��H��t"@�8tKA��H����v��H��诈��H��u�E�����C����H���^k��H��(L��[]A\A]A^A_�@H�PH��t��:u�H�RH�uH92u��E1���H���H���I���d����˓��1�H���A�������@H�qR,�P�H�C0H���wH�
H�C H�C(�CP�,���1�H���oH�������C���1���L��E1���u���!�����H���ӓ�����fD�C�?(A�I�&���H��R,L����H��臓���SH�C ��t��l�9���H��t:�8uH�@H��t
�������H������H��tH���>u��H������H��u�H��
L��H��H�Ѓ��� AGĄ�u@��t�H��H���H���h���I��H�������H�;�C�?(�9���H��H�;�l���xH��R,Hc��I��H����H�3���)D���H���@�)H��:t/H�rH�3�R��t ��)tӀ�(����H���P�H��:u��H��8��H�5aL���ʏ����uH�5WL��跏������H�CH�KL�sH��H�L�3H�0H�L$H�T$H�pH�H�ph�fg��H�L$H�T$H�KH�H�Q,L���H�Q,L����1�����^�H����~D�W�A��v
@��^�0���H�VH��V� ���H��H�3��/���H��P,L���L��H��P,��H���S�������H�5.>	L���ώ������H�CL�sH��H�D$H�L�3A�>/H�D$���}���H���JH��H������H�D$H�CH�D$H�����H�=��W���H�P,L����?���H�=��:���H�C �z���H�5�	L���2�����toL�[H�L�sH��L�3L�\$H�D$�t��L�\$H��I���H��
L��H��H�Ѓ��� AGĄ�u=��t�H��H���螏��1�H�������6���L��H�T�lH�������>�����=t,H�D$L�[L��H�H�8O,�H�/O,L���L���y���H��L��H��
H��H�Ѓ��� AGĄ�u)���t���H�D$L��H�CH�D$H�H��N,����H�{L��L�\$L�T$�2Q��H�D$L�\$L�T$H�H��N,L�[L�����H�D$L�[H��T���f.��G@��~A��H�WH1�HcȉG@H����tH�t
�H�
H�w8H�8H�H��tH�?N,� D��H��H��I��H��t�GPH��H�bI1�1�RA�P1�jjjjR1�jjjj�|h��H��h��H��H��t�GPH��A�1�APQH��1�jjjjAPI��1�jjjR1��2h��H��h�ff.�f�H��tKUSH��H��H�H��t�4Y��H�-mM,H�;H�EH��t��H�EH�{H��t��H�EH��H��[]���ff.�@ATI��UH��SH��H�5$H������H��t[]A\�f.�A�$��tH��H�5H���֎��H��u�H��H��[]A\��b��f���H��t7H��t2AUATUSH��L�fH�.M��tH��t�W\�B���wH��[]A\A]Ð��H�O`H�wH��L�OPL�GhH��蝈��I��H��tH�{xH��t��wZ��I�Ex뵐H�sH���o��H��t��K\;H\u'H�{hH��tXH�phH��tO�p�����u��K\f���w�H��v�_���L�CH��H��L��[H�
-]�BA\A]���H�{`H��t	H�p`H��u�H�{PH��t�H�pPH��u��AWAVAUATUSH��H��t}I��H��tuI��H��tmH��H��teI��1�E1��H�E0H�h8H��H�[0H��t*H��L��L��L���CH��t�M��u�H�[0H��I��H��u�H��L��[]A\A]A^A_��E1���ff.�H��t;H��t6H��t1H��t,�A��t$��	t�H����_��f�H�I�'����1��ff.�f���USH��H��tqH��I,H���x�H��H��t`H�xH�@H��H�@p)��Hx1����H�H�+H�C�CH�C�CPH��H��[]��1���@H�FH��1������D��H���ATUSD�O@H��E��~H���x���D�C@E���H�{HL�%�I,H��tA�$�{H�S��~#1�fDH�<�H��t	�*���H�SH��9k�I�$H��t	H���I�$H�S(H��t7�s ��~'1�f�H�<�H��t
��I�$H�S(H��9k �H���I�$H�S0H��t7�K ��~'1�f�H�<�H��t
��I�$H�S0H��9k �H���I�$H�{`H��t��I�$H��[]A\���ff.�@��H��t�wX1�ø�����ff.�AWAVAUATU��SH���H��$�dH�%(H��$�1�H����H��H�����z�vI�����`M���bH��$�L���M���*Icw@��(�B!I�GHH����A�WD9�.�H��H�9F,A�WDHc�H�4��I�GHH����"Icw@L��L�,��V��A�O@I�EI�G8�A�L$|A�G@����A�GI�މD$x����I�GTH�D$M���'���A�~��
I�FHH����H�xH�5��߅����uI�FHH�5�H�x�Dž�����o
I�FHH�5�H�x諅����tA�GT���[I�~H�5�苅������	M�nM����1�L�%%�M�m0M��toA�}u�I�EHH��t�H�xL���C�����uI�EHH�5H�x�+�����t�I�}H�5"�������I�}H�5-���M�m0����M��u����?I�GpH�|$H�X�L���N���I��H����H�|$H��L���.���H��H��tH�5�zH��藄���D$ �����D$ I�?L����T��I��H����H��L����H�D$H�|$��H��E,H�D$H�H��t
H���H�D$H�L���M��t
H�D$L��H�|$��H�|$H��
L���{���H�|$I���N��I��H����H�x@H���hA�GT����M����H�D$�I�E@L����[��L��H���O��H�D$H�|$�H���vI�H��H����w������R�D$ ��tM����A�<$��H��C,�8�I��H���+H�@0f�H��@@ ��R��I�E(A�WI�EI�EM�uI�EI�E ����H�oC,A�G� �I�GH���;A�WIcw9�|.�H��H�kB,A�WHc�H�4��I�GH���Icw�VH��A�WL�,�H�D$��D$ M�eI�EA�E(A�E,�I9�t6I�F0H���[I�F(H��u�L�p0M����H�@(H��tH9�u�HcT$xA�GH��H��H�T$0A��9���A�N�L$lE���
I�WH�L$0H�
H�rH�t$PH����	I�_TH�<�H���2���H�D$HH���H�t$PH��H������H�D$`H��tH�5pwH���w����Å���H�t$PI�?�Q��H�D$@H����H�t$@H�|$H�΃��H�D$8H�|$8��H��B,H�D$(I�G`H�D$pH�D$@I�G`���H�|$8�K��H��H���5H�@@H�D$H��tH�E@I�GH��tAH�\$0H�H��t3H�xH��t*H�D$H��tH��H�D$(�I�GH�H�x�fP��H�D$H���X��H��H���~L��H�����I�/����<#��H��tH���H���K�������A�GE1�~>�I�GH��J��H�0������tI�GJ��H�hH���xI��E9g�H�|$E�gXt
D���A�GX�_U���z|��I��H���I�GhI���I�H��t6H���H��t*I���H��tH���n��I�H���I����p��A�wXL��H�-�_���ol��H�޹L��H�=������HE�1�H����`��H����H��L���RQ��I���A���L���k��A�E���HI�mL���<x��E�gXH���QI�GH�L$0H��H���H�H�h��~����uH�D$(H��H����N��H��Lcd$lL��I��A��A;G|�9A��I��E;o}(I�GH��J� H�0�w~����t�I�GH�L$0H��@,H�EPH����M�/I�MPH���qH�x`H��t.H��$�H�5
�H�L$L��$�L��$��J��H�L$L�eXM��t=I�|$`t5H�yhI�t$hH�L$L��$�L��$���}��H�L$���DH��蠁��I��H���(I�GhA�WI�D$hIcGA�T$A�D$H�<�H�>,�I�D$H����A�GDI�`A�D$DA�G@A�D$@I�GHI�D$H�&M��I�D$`A�GA�D$��~,�H�I�I�t$1��@H��H��H�ƃB,H�PH9�u�A�GXH��A�D$XI�GpI�D$p�}��1�H��L��H������I�D$pA�WI�Gp��~%I�D$��H�L�H�H���j,H�@�H9�u�I�D$HL��I�GHA�D$DA�GDI�D$@I�D$H�v��H�|$��
1�1�H���}��H�D$H���cH�t$H�|$�|��H�D$H����H�T$�
��	���H����L�j��{M����A�E����I�GH�L$0L�D�t$ L��I�UI��H�\$PH�\$0E1�L��H��fDJ��N�4�H�����x���@H�5�	Hc�H�>��DI�~H�5��{����t4I�F(H��t
�x��L��H�
�L��L���P�#�I�VH����A�F������I��I9������
���f�L�D$H�qH�
��MH�����I�UH�EJ�2H�I��E9e����H��D�t$ H�\$PL��I��I��I�H��H���TH���C
H�l$ H�D$E1Ƀ8��L�@M����E�E����E1�D�t$PE1�H��$�M��H��H��$�L��L�\$X�.f����L��H���T��I�E0H��LE�I��D9u~[H�EJ��H��t�H��w�H����u����H��H�T$ H��L��M��u���I��I��I��D9u�f�D�t$PL�\$XM��H��$�H��$�M�K H�|$�^��H�|$�{u��H�D$(H�|$�H��tH��tA�GZu������E;w} I�GH�L$0H�H�xH��t
�x,��H�D$(H��H�D$pI�G`�,f�H�qL�D$H�
`����H�qL�D$H�
p��L�t$8H�5��H�bYL���R����IE�H���wC��H��H����L�@@M����H����P��H��I��H�D$X�D��M����H�D$X�8�XE�O 1�L�d$XE���*f.�H��A9o �I�G0L��H��H�4��Jx����t�I�G(I�?H�4�`��H�D$I�GH�L$0H�|$XH�H�L$H�H H�D$(�H�D$pI�G`H�\$(H�|$8�H�D$`H��tH��H�D$(H�|$H�H�|$@tH�D$(H�|$@�A�GD�t$l�T$|+T$xH�D$0D�D9�������T$McoJ��M��H�L$A9��B�I�GH�L$H�4H�^ H����E����H�nH�����}��H�E(H�F �F4H���2�x�(H��1�H���,f�1ɃxH�@0���H��u���A�GY���N0���-L�u�EM��t!DL��M�n0�<m��L����]��M��M��u�H�UH�uH1�H�}@�i?��I��H���U�@H��H���P��H����f�H�k0H��L����k��H��H��u�A��H�D$E9g����H��$�H���tL���[�H��$�dH3%(�D$�H���[]A\A]A^A_�fDA�GY�����H��t�L�k0H��H���Qk��L��M��u�H���Al��H����\��A��H�D$E9g�%����[����~4��t��.���@H�=���TE��H�D$HH���������I�H�|$HH�����w��H�D$8H�|$8��H�|$@�Y��H�|$HH���tY��H��H��I���w��H�D$8H��6,H�D$(H��tH��M��t
H�D$(L��H�|$8���H�L$0I�GE1�L���EH�H�
'H�p��H�D$`H������H��H�D$(����H�D$L�hI�GH�L$0L�M�������E�eE�������I�H��H�������DH����H�D$ ���DI�GH�L$0H�H��t>H�xH��t5H�5���K��H��H��t!H����?���Ã���IH�D$(H���f�1��p��H�|$X1�H��H��$��U��H��$�H���8H��$�H�(H���H�}H��t��K�����O��I�?1�H�E�\���D$H�D$H��$�H�D$ L��$����H���j������H�} �s��H�} I���6u��H�ÉD$����E1��Gf���
@�ƃ���@��t��	��wp��$�H�|$L����n��D�$��D$D9t$~{Mc�H�T$ 1�O�<,L����B��=�~����������v��� �����v�-=��v�D)��D�D$E����H�} L���W���D$����H�} Hc��tW������H�|$`H�5'��Gr�������H�L$0I�G�AL��L�t$`H�H�
V�M��H�p���H��3,H�|$HH��L���A�G�,���I�FH�����I�����H�L$0I�GH��L��I�7L�$H�M��I�D$ � ����H��$�L��$���j��H�D$H�hPA�G$��u>H�2,A�G$� �I�G(H���,Ic$H���I�G0H���A�G$IcW I�(9�|I�H��0,A�G$H�H�4��I�G(H����Icw$I�0H���I�G0H����I�(IcW H��H���@��IcW H�|$XH�I�G0H���@��H�A�G H��$��%G������H�5+�H���T�����@H�L$0H�\$X�HL��$�I��I�GL��H�H�
T�H�p�3�H��$��i��H����`��H�D$(H��H�D$pI�G`H�D$PH�hH��u�8�H�m0H���#�}u�H�}Ht�H�}H�5$��o����t�H�EHH�5��H�x��o����uH�EHH�5��H�x��o����t��}��H�}�CI�?A�_P�s��I��H����I�GhI�`A�����I�D$h�M?��A�wXL��I�D$`�4��I�GpI�7H��L��I�D$p�0�I�T$pI�WpA;_P|��A��L���Ci��L�t$0I�GH�uI�?J�0�
C��H�C I�GJ�0H�z ���B0A�������I�GH�L$0L�D$8�DL��H�H�
/�H�p������I�}H��t�"<��I�EL����g��E�gXH�D$(H��H�|$��H�D$(H�|$�H�D$pI�G`�3���fDH�z����D$�����%���L�s�.��A�GT��H�.�1�L�����[����T$ �����A�G@�����E1��I��E9o@���I�GHH��J�4���m����t�I��H�
���@L��L����H��H�l$�UL��U�^�fDL���H�
��L��L���O�Z��5�I�/����D$|�D�E1���L$|�L$�����:��I�GH�L$0H�H�@���L�X0M�����A�K�����H�����M��I��H��L��H�T$ H��H��L��L��$���L��$�M���SL��H���G��I��H�[0H��t�K��w�H��u�H��L��M���f�I�GH�L$0H�c4H�5ĕH�H�x�p��I��H����I�GH�L$0H�L�h M��ufH�D$(L�����I�}@L���<��H��H���I�E@H��H����l������L��L���xk��H�D$(H��fDM�m0M��t�A�}u��A�GY�����
���H�=��;��I��H������i�f�I�L��H����.n��H�D$H�|$�=�L����O��L��H�D$(�O��H�t$(H��H�D$0�m��H�|$(H�D$H�-,H�D$tH�|$(�H�D$H�L$0H�H�����H���H�D$H����I�G�V�H���mQ��I�����I���@�H�5͐H����j�����_�I��H�
�L��L���A���H�q,,L��I��H��A�$�]�DH�� I�G@H�+,�I�GHH���Icw@A�WD9������I�GH�L$0H�H�H�@ H�H0�<�H�2H�5t�L����m��H������L��H��H�D$�l��L�L$H����H��L��L�L$H�D$�`i��H�D$H��H�D$(�L�L$H�D$(L������I�t$pH�yp�i�������I�|$`H��$�H�5����>6�����H�@HH����H�xH�59��|i����u I�F(H�5E�H�@HH�x�`i�������I�F(H�5S�H�x�Di����������H�L$0I�GE1�L���GH�H�
H�H�p����H�D$(H�|$X�H�D$pI�G`���L��H���H���c��H�D$(L���H�L����h��H�����H�p1�1�L���C:��H��H�����H�EPH������P�DL���H�
��L��L���N�B����H���@��L��H���Z4��H�D$H�|$�H�����L�D$�EL��L��H�
�����M������$L��L���}g������H�L$0I�G�FL��H�H�
��H�p���H����3��H�D$pI�G`���H�NC1�L���<��E�gX����I�w`H���WP��I��H��t&�/H���*��H�������/���I��I�����H�L$0I�GI��L���EH�H�
�H�p�!�����H�L$0I�GM��L���EH�H�

�H�p����L�L$�>����B4����L��H���L���|��H�D$H����I�GH�L$0I��H�H�pH�
:��EL��������I�GH���;H�L$0L�D$8�EL��H�H�
��H�p�]����H���L��L�����L�����H�D$H����L��E1�H�
��H��K���H����<����H�L$I�GL��E1��IH�H�
+�H�p����H���<���J�H�L$0I�GE1�L���LH�H�
��H�p���H��H�\$(�H�|$�H�D$pI�G`���I�GH�L$0L�D$8H�H�p����H���	<��H��$���^���x���I��H�
5����L�D$8�E1�L��H�
���-������M��H�
-�1�L���@����D$������E1�H�
~�L��L���E�������L�D$�EL��L��H�
d�����H�D$L����L�D$�RL��L��H�
A����M��t
H�D$L��L���0��H�D$H�|$��T�H�L$0I�G�LL��L�t$H�H�
��M��H�p�G��H�|$�M`��H��H�\$(�L���H�D$pI�G`��H�|$�H��H�|$�`���\���H�L$0I�GL���ML�t$H�H�
��M��H�p����H�|$�pH�����6��L�D$�EL��L��H�
J����M������H�D$L������H�L$0I�GI��L���JH�H�
s�H�p�m��H�\$(H��H�|$X�H�D$pI�G`�C�H�r�1�L�������������AUATUSH��H�����H���|H�@H��tsI��A���g��H��H��t`L�`hH�C@H�����2��D��H��H�E`�'��H�s@H��1�H��������x
�EP�������O�H����\��H����[]A\A]�@�������f���H��t4UH��S��H���b��H��tH��H���H��[]�/W��H�������[]��ff.�@��1��%I��D��1��[��D��ATUSH��ts�H��tjH�@H��taA���e��H��H��tQH�{@H���U2��D��H��H�E`�&��H�s@H��1�H��������x
�EP�������O�H����[����[]A\��������f���1��5e��D��H��t>�~H��t5H�v@H��t,H��t'S1�H���U����x�SP��
[�������[��DH����USH��H��H�H�-�",H��t�UH�;H��t�UH�{H��t�UH�{ H��t�UH�{0H��t�UH�{@H��t�UH�{xH��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�UH���H��t�gE��H����U�{(�C,���u�C(����H�EH��H��[]����K;����f��ff.�@1�H����
��e��1҃��u��H���D���;���H�����DAT��UH��SH�� dH�%(H�D$1�f�?
�A�A��ae������z1�1������R�����uI�D$H����
1���(�����s:�������H�L$dH3%(���|H�� []A\������߉‰D$1��R���D$��x�H��D����\���Ń��u�%�����t	��s���H�|$��\$f�T$�`��Q���Ń��twH�k����B���f�|$��H�L$L�D$��߾�D$��<�������D$��uw������f��
A�� d�������f�H��1��
�'�����F9������H�j���H�����H���1��
���w'�����H�[�1��
�_'�����8���$���T$��u���H����V�����0���AWAVAUATUSH��H��dH�%(H�D$1�I��C,�RL�{@M����H�kXH�sPI��H9��5HcS`H��H��L�H9�sS�L)�L�kHL�sX�C`H��Hc�H�,L��M)�M)��H�C@H���mHc�Mc�Mc�H�I�L�H�sPL�kHH�CX�{(1ɺ�E"���ʼnCd���(�����ub�#�����h��~K��l����stBH���1��
�&��H�L$dH3%(���AH��[]A\A]A^A_�D��u��C(�`��L��$�f�D$�N����������#���8�����1��@H)�L��Hc�H��L)���O��Hc�L�{@H��HsXHsHHsPH�sP���DH�a,���H��H�C@H��th�C`�H��I��H�CXH�CHH�CP�K����H�HCP����L���1�1Ҿ�
������(��H�_,L����Cd��������L�m�1�1Ҿ�
�������'���Cd��������^.��ff.�ATUSH��H�$H��H�WXdH�%(H��$1�I��H��L���4f.�H�PH�UX��<
t?<
����H�H��L)�H=�VH��H9UPu�H��������t���tRH�EX�L9�tG�H��,�L��H��$dH3%(u(H��[]A\�f�H��,Ƅ$�L����1����q-���H����H�GHH��tzAUI��ATI��UH��SH���_P)�fDH���h�����~
ËEp��~�9��H�EHI�EA�$�Ep��~9���H����[]��A\A]��1�����H��[��]A\A]�������H�ÐAVf�AUATA��USH��H��dH�%(H��$�1�)D$P)D$pHDŽ$�DŽ$��N������&f�1�H�T$ H��H�L$)D$ H�D$)D$0)D$@�D$(�nY������H�\$H����D��L�l$pL�d$Pf���AD�S���4H�sL���:��L��f�l$R������uQH�[(H���t�{t������t�{
uދS����H�sL���B:��L��f�l$r������t�H�|$�D$��]���D$fDH��$�dH3%(��H�Ġ[]A\A]A^ÐH���9��H��H���H�@H�0H����1�L�l$`fA��L�t$p�af�HcS���cH�|$ ��9���D$ �fD�d$Rf�T$PH�|$P�D$T�������Q���H�CH��H�4(H��tg�{t��}�����tX�{
uRHcS����H�CL��H�4(�!9��foL$`�
L��f�D$pL$xfD�d$r느H�|$H��t�\������������H���1��
� ������������%��H������t#~tH�����t��H���H�'�HE�1��
�> ��������\���@H�-�1��
� ��H�|$�\��������1���f�H���뭃�H���H���HE���{)��ff.�AWAVAUATUSH��dH�%(H�D$1�����I��I����1�I���	�9�~U��Hc�A�<$1�)�L�Hc���*��I�Dž�ۃ��u
����8uLA�$�`��L���$�f�D$�!H��9��H�L$dH3%(��u2H��[]A\A]A^A_�@1�H�*��
�����AD��1���(��@AUATUH����SH��H�,�H��H����H�xH��H�Hǀ�H��1�H)�������H��CP�ChH�;�C(�����Cp����H��tH��,�H�H�{H��tH��,�H�CH�{H��tH��,�H�CH�{ H��tH��,�H�C H����H����W��H��H��tkH�8H��t[H�xtTL�%},A�$L�mH�L��M��tA�}[tSA�$H�CH�}0I�$H��tv��H�}8H�CH��tA�$H�C �E(��uH���@ ��H��H��[]A\A]�f��C���3&����~Hc�A�|�]u�p�I�}��!��H�C뎐L��A�$H�C�H�=P��L�Q�1�1Ҿ�
� ���@��H�=� ,H��t0H��H�U,�H�� ,�� ,H���f��� ,�D��SH��H�=� ,H��tH�,�H�� ,�~ ,H����H�߾�hV��H��H��txH�0H��tH�H�=�������u1H�{H��t(H��,�H�0 ,�C(��t'H��[� ,����f�H�Y����
�
��H��[����[�fDH�1����
[���������,��uH�=�,t��,�D��H��H�=����,P����H��t�8*tDH�=�����H��tH���S ���i,H���@H�=�����H��t���D�xu�����H���DAUATUSH��H��H���$A��1��������H��Lc���H���H��t~H�CPH+CXH�w1�G�W ����uH�������H���H�CXL�kP1�I)�D��)�Hc�HʼnWH�/D�����H����W)Յ��G u��u�Hc�HkXA)�D��H��[]A\A]��H���(��~4H�sXH�CPH)�L9�|�L��H���4��LkXH��D��[]A\A]��H�sXH�CPH)�L9�}�Lc�M����H����@ �y���������|������ff.���H��t�2�f��ff.�@��AWAVAUATUSH��HH�|$0H�t$H�T$H�L$L�D$8L�L$ H������H�\$H���H�H��HE�H�D$�L��H�$H�<$�D$,�YL�<$L���E���H��H���YH��,L���H���H�3H�����H�=9��������L�{M���]
L�5�,L���!��M���Z�5�,L��D�d��������H�|$�C(�GA��$H�D$ H��t
H���I!��E�dH�D$H��tH�8H��t
�-!��E�dH�{ H��t
�!��E�dH�|$�!��H�{I��� ��A�E��{PE�|$/tH�=,E�|$:tE�|$@H�,Mc�L���I��H����	H�=�,H�S���CH�K��P��H��L�q�L��L��R�P1�QL�L$(H���������H�� Lc�O�4L��L�K L��L)�H)�M��t.L��L�M�H�����1�����L��H�I�L��L)�H)ƋCL�K��P��H���L��H�����PL��1��q��H�I�XZL��L��H��L��L)�I��H)�1��I$��L��L��L)�H)�H�D$H��t6L�M��t.L��L���H�����1�����L��H�I�L��L)�H)�H�D$ H��t%H��L��H�(�1���#��L��H�I�L��L)�H)�H�|$L�{(�>D��$��L��1�L���H��������L�c0L��L�c8�C,���L��L�����e����C,t��$�H�t$L���K����C,H���\�I��H����A�>�6�L��H�="�������Ʌ���A�VI�F�r�@��	�wD�4�H���tr���z�@��	v�.�x�4����� ����	��L�=�
,L��A�H����I��H���]���H����u�Ch-,��c�dfDH�������l$,�
H�<$H��t	H�q
,�H��
,H����H��H�$�S�H�<$�����H�|$0���H��H�������f�1�H��HH��[]A\A]A^A_�@H����� t�	t��0��	v����f.���H���LJ���z�@��	v���t	��	����KhL�=�,�sl���f��
H�5��L������A���iA�F
M�f
<	t< uI��A�$< t�<	t�H�{xL�=d,H��tA�H��	,L��L��H�CxA�$<;wH����fDH���<;w�H��s�D)�H���H��t�t$(A��t$(L�����H�{xH�5~bH����vE��H�������PL�`L��;w
H��r�H�����;w�H��s�A��E)�H���H��tA�D��L�����H������f��P�z�@��	vH���z���f.��4�H�x�tr��P�B�<	H���S���H����z�@��	v��;����H�5�L���d��A����H�{x� ���A�FM�f<	t	< uDI��A�$< t�<	t�H�,L��L��H�CxA�$<;�g�H���<;w�H��s�H���D)�H���XL�=�
,�t$(A��t$(L�����H�{xH�5�`H�����C��H���{����PL�`L��;�fDH�����;w�H��s��s����H�CXL��H�CHH�
,��J����L��L�`�H�����1������H�I��O���f��sL��A���2����DDŽ$�����H�q�L��1��o��L�c0L��L�c8�C,����L��L�����;����fDRL���QL�L$H�����L��L��1�����Y^Lc�O�4�%����	H�5�L���d������A�F	M�f	< u�I��A�$< t�<	t�H���L�=�,H��tA�A�<$/�H��,L��H�������fD1�����H��L���RL�L$�8���H������
���H���l�H�<$H���/���H�X,��!����H�������H���1�H�������L�=-,���H������q����H�5�L���U����uA�FM�f< u@I��A�$< t�<	t�H���L�=�,H��tA�H��,L��H�������H�=�2����H�sH����C��L��H����C��H�������H�5��L���
������A�FM�f<	t	< �r����I��A�$< t�<	t��[���L�|$M��tH�{xH����H�T,�I�H�D$8H��tH�$H��tH�����H�<$H��tHH��,����H�.����V���H��1����L���1�1Ҿ�
�P���}���H�D$8H���o���H��c���H�D$H��i����H�5��L���	������A�FI�~< uH���< t�<	t�H�5:�	�����Q���H�,�pǃ��H���H���)���H�@@�p�H��H�@HH�j8H�@P�@H��;��L�=�,����H�5��L�����������I�~�
1���&���Cp������H��H��I��H��tH�M��tI�H��E1�1�1�j���H�����H��AQM��E1����H���fD��H��H��tH�E1�E1�1�1�����ff.���AUATUSH��(dH�%(H�D$1�H�D$H����I��H��I���(��H��H�����H�=��L����À��ۅ�uhH�T$H�t$H��E1��C�HcT$��~H�t$��E1��K��H���A��A��H�����������H�L$dH3%(D��u^H��([]A\A]����AL��1��,5���Å��z���H�����M��tI�}H��tH��,�I�EA���������ff.���ATUSH�� dH�%(H�L$1�H�D$H����H��H����H���H�=r���À��ۅ�uhH�T$H�t$H��E1��#�HcT$��~H�t$��E1��+��H���A��A��H���������a��H�L$dH3%(D��uFH�� []A\�DH�Ǻ��A1��4���Å��z���H��A������t���f�A�����������H��t�Ghø�����ff.�f���H��tH�����1��D��H��t�Gpø�����ff.�f���H��tH�����1��D��H��tH�����1��D��H��tH�����1��DAVAUATUH��SH��H�?H��tH��,�H�H�{H��tH��,�H�CH�{H��tH��,�H�CH����H��� C��H��H����H�8H��t|H�xtuL�%��+A�$H�}H�A�$H�}0H�CH����A�$H�C�E(��t�CL�m M��t3�:L���V��I��H��t>H��L��L)��0��I�~H�C A�$H�C([H��]A\A]A^�@��[]A\A]A^��L��A�$H��H�C []A\A]A^���DH�=%;�f���@ATUH��SH���H����D���A����oLc��A���[D���E9��KA���>E���ZHc������I��H���H�)��}1�Hc�D���������D���A�Ic�D	�D���Ƅ���Lc��Ic�H���H���H9���f.�H��H)�����HЀ�	���N�y�@��	w5�~D�W�A��	w'�������~-�DAЍ��DG�t�����H9�v[H��H9�tO�>
u�H��H9�w�D���A���tA��wA��w	E9����������[��]A\�DH9�w�D����R���E)�J��
�H��Ic��0�������E1�+���H�Dž����)������A�����H�NH���I��I)�D���H9�vU�~
u
�CD@��
t8H���1H9�u�@��
t&1�@��
[��HѺ��Q��H)����]A\������qH�����v��H���1��	�������D�������Dž�����������H��H�=�	,H��tH��+�H��	,H�=y	,H��tH���+�H�`	,H�=Q	,H��tH���+�H�8	,�N	,H���f���AVA��AUE��ATI��H�=	,UH��SH��H��tH�B�+�H��,H�=�,H��tH�"�+�H��,H�=�,H��tH��+�H��,M��tH�!�+L��H��,H��tH�	�+H��H�},H��tH��+H��H�],[]D�5d,A\D�-C,A]A^�fD��ATUSH����H��H����H�?��H���H�����=��H��H����H�0H��tzL�`M��tqH�;������ueH�{L�����A�ą�uR�E(��uFH�{H��tH���+�H�CH�%�+H�}0H�H��t1��H�CH���#��D��[]A\�;Ct�H�����A�������H�=6��H�C�Ɛ��SH��H�=Y,H��tH���+�H�@,�.,H����H�߾��<��H��H��txH�0H��tH�H�=�������u1H�{H��t(H�Y�+�H��,�C(��t'H��[��,�R��f�H������	���H��[�1���[�fDH������	[�a�������,��tÐH��H�=���[,�f���H��t�8*ttH�=��P���H��tkH���S��H�=���7���H��tH��H���+�H�,H�=������H��tH��H�l�+�H��,��,H���@�xu���H�=������H��u��ff.�f���H��+ATUH����S�H��H����H�xH��H�1�H��1�Hǀ�1�H)�������H��CH��H�����ǃ�Hǃ�H������I��H��t$H��H���Q���H�J�+L��H��[]A\�DH��t�H��H���(���H��[]A\�L���1�1Ҿ�	����@��H����USH��H��H�H�-�+H��t�UH�;H��t�UH�{H��t�UH�{ H��t�UH�{(H��t�Uǃ�������u+ǃ�����H�EH��Hǃ�����H��[]�������ΐ�ff.�@��H��t������t
��������Ð��USH��dH�%(H��$�1�H��������H����H�l$ 1��H�D$H�D$H���H�Hc���V�����L�D$H�����������?)ѺH��1�H	T� 1�������t:��t����tMH������H��$�dH34%(u9H�ĸ[]��H�vX1��	�D$�����D$��������d��@��SH���dH�%(H��$�1�H��tq������t/�
��H��1ɺ�$QUITf�D$�D$�	���Å�x$1�H��$�dH3%(��u)H���[�@H�e�1��	�-����ɻ���������ff.�@��AVAUATUSH���dH�%(H��$�1�H���H�H����L�5�,M����D�%�,E��L�k0H�{8�DD�L��H��1�H)�H�C01ҾHǃ�����H��
�9���Ń����M����L������H����	�H���	H�@A�H�{4fD�C0L���t1��ƒ�A�4@�49�r�fA��1Ҿ�fD�c2A��?9������Ń����D��L����1������H���!)������H�=�,L�d$@��L�
�,M����L�d$@���1�L�	���L�����Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��m���Ņ���H���k(����tV������������
��ǃ����������H��$�dH34%(���H���[]A\A]A^ÐL�
��+M�������L��1�L� ������Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��}���Ņ���H���{'��������f���+������L�d$@�����������L�K H�CM���zH����L�羐PL���1����Y^Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)�����Ņ��H���&��������L�K(M�������L��1�L������U���Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)�����Ņ��hH���&��������������+1�������)��H�=��+f�H�D$)D$H�T$H�L$)D$ )D$0�D$H���1��0����u9H�|$H��t/�GH�����u�>fD�E���t-H�m(H��u��5��H�8�1��	��������E=���fA���}
H�u�_���.H�I�}H��H�S0��H�L�I�L�L��H)��H)։�����H�fD�c21Ҿ���4�����H�|$D�e�c4������q����H�u�1��	�=��������	��ǃ������I���D�g�[������+L�K M�������L��1�L�o�����Ƅ$L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)���������H����#�����M���p���L�K(M�������L��1�L�����w�Ƅ$L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��4�����H���4#������������H�c����	�������H�{����?���f���E������S0�����T�fA�T�����f�I��L��L��1�������}�����fo8��D$P)D$@�@���f�L�K���1�L�����L���,�Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)������Ņ��?���H����!�����n����=�+������x���@������������S0����T�fA�T���H�{�����1��?���f�L�
�+M���`���fo���
fA�|$A)$�c���H�I�}H��H�S0��H�L�I�L�L��H)��H)։�����H�fD�c21Ҿ�
��0���������fo���
fA�D$A)$�:�����S0�T�A�T�벐foX��
fA�T$A)$�.�����S0�T�A�T����H���1��	���>���H��1��	������H�Y�1��	���������/��H�d�1��	������H���H��1��	�������E���D��ATI��U��S��*����~RM��tM1��n��H��H��t>H��+L��H�CH��t!�kH���f����xH��[]A\�f.�H���x$��1�H��[]A\�ff.���USH��dH�%(H��$�1�H��������H����1�H����H��I����L�����H��1���Ƅ$�H��
H����������!�%����t�H������D�H�JHDщ�@Nj��H��1�H)�����Ņ�x=H�������tH1�@��H��$�dH3%(��u1H�Ĩ[]��H�E�1��	�
������������ff.����USH��dH�%(H��$�1�H��������H����I��H����H����1�L�i���H�����Ƅ$�H�ڋ
H����������!�%����t���������D�H�JHDщ�@�H��H��1�H)�����Å�x7H�������tB1ۃ���H��$�dH34%(��u,H�Ĩ[]�H��1��	������������t���@��AUATUSH���dH�%(H��$�1�H����H��H�l$@1��H��f�{0
���H��9��,��A��D$���fD�\$@�����D���E���,f�{0
��A�
Ƅ$�DŽ$�PASVfD��$�L��$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)���������������H���O���t(��������&��ǃ�����ǃ�Hc��H�������PЀ�	w��H����PЀ�	v��u�f�{0
�rL�d$ H�5�I�D$I�L$L��PI�D$M�L$PM�D$1����^_����L��H��$�I�t$fD�
H��H���H�H9�u$��D$D��$�f�D$B����T$H����"���������H��$�dH34%(��H���[]A\A]ÐA�
Ƅ$�DŽ$�EPSVfD��$��:���f��
A�
�*��fD�d$@����D$�����L�d$H���L��������1�H��T$f�L$B����������H��L�����������\�����f�{0
�)�����L��$�H��L�ҷ�D$KL��P�D$RP�D$_P�D$fP�D$mPD�L$t1���H��0Ƅ$�L��
H����������!�%����t���������D�H�JHDщ�@�L��H��1�L)��R�������H���R�����M�������~���ǃ�����������4���f.�1�H�T$ H�5�:�-�������D$ �oC8f��D$Hf�D$B�����H�u�.L��$��
L��L��$�H���v�H���1�UM��L�z�����L���n�XZ����H�L�1��	���&���H�����	��������������������O���H�������H���H��1��	�D$���D$�
���H�t��w���H����k����&���fD��AWAVAUATUSH��(dH�%(H��$1�H���R���H����������E1�A�H�l$����L��H��D��ǃ�����H�$H�D$��H�Hc��A�L��$��������L��������2L���?)�H��L��H	T�D����H�Hc��������H��I�����������?)�1�I��L��L	�Đ�����Ņ�xUt<H��������uF1�H��$dH34%(��uRH��([]A\A]A^A_�fD�������ǃ�����뼋����������ǃ�����렽���������AWAVAUATUSH��H�$H��HH�t$(H�T$0dH�%(H��$81�H����I��H��H�����9/tH�w�����]L���<���A�������EI�ٹ�1�L��$0L����L����Ƅ$0L��H����������!�%����t��L������D�H�SHDډ�@�A���H��1�L)�H���:�Ņ��`A�����)L���z����!H�D$`�\$HI�$H�D$H��$�H�D$H�D$PH�D$ H��$��D$H�D$8�(L��������*�����D$H����E1�H�D$PH�|$H�D$XH��D���H�Ic����	���A���H�|$�������2H�ڃ�?)�H��H��H	T�`D���H�Ic�����A���L�D$ 1҉������7����?)�H�t$H��H�L$H	�������Ņ��W����Hct$�A���1ɍFL�H�H)��L��D$H���D�\$E1�L��$oA�Ic�Ƅ0H��$zH�D$IcԹH�=��I�lH�����������0<+�<H��< �#@�1��*f���	
Hcȃ���oH��������� u�Ƅ$yf�H����� t�����J�1���	w6f���H���DB���JЀ�	v� uDH����� t�����1��"D��	
Hc�����<zH�����tp�� u�Hc�ƄzH����� t��tM1ɍy���Hc�H�����t3�� ����
t���fDH���< ���I��r�����E)�H��L��Ic�D�\$�����D����؉�A����0���ALJ�����H��$8dH3<%(���KH��H[]A\A]A^A_�f.��EH�]< u#@H���< t��PЀ�	wDH����PЀ�	v�< v%D)�A܅�����Ic�L��5����I��s�H���< w���DH�w������L������A��������H�LIST -L
�
L��$0H��$0f��$8�B���H���1��	�m�A�������ALJ���������H���1��	�>�A�������ALJ�������������DHc�Ƅ<�DH����� t���1����J�E1ɀ�	w=f���0K��H��Hc�L�J��JЀ�	v���H����� t������1��&D��
Hc�����<kH������������ u�Hc�Ƅk�H����� t��������y�1�@��	w=f���H���TQ���y�@��	v���H����� t���I����N���=����^���1����>D�G�D�D$@��:�@��:�7E1��|$@	v�����NG��H��F�DGЍy�@��	v��D$@H��1��� uH����� t��������1��D$L�)��
t)���
Hcǃ����H������������
u�Hc��D$LƄ<���
uH�����
t�
t�H�|$(����D�\$LH��$�V�L$HH��QRH��$�RL��APPL�D$hH�L$HH�|$`H�D$XL�T$p��H��0D�\$LL�T$@����L��1��~
���$���������|$@	wkE1�����NG��H��F�DGЍy�@��	v�D�D$@��:u5�NH�^�q�@��	�w�4�H���tq���y�@��	v�E1�����H��1����D$@���H���D$@1��r������ATUSH��@dH�%(H��$81�H���EH��I��H���&H���~����������H�勻�1ɺH�TYPE I
H���D$H�$�����������H���������M��M������,H��1�L����,�r��Ƅ$+H��
H����������!�%����t���������D�H�JHDщ�@�H��H��1�H)��/���xd����trH���z����ue���H��$8dH34%(ucH��@[]A\�H�����D�������f�L�K�%���H���1��	�d��@�����ǃ���������@��AWAVAUATUSH��H�$H���H�t$H�T$dH�%(H��$�1�H���tH��H���]H�|$�\H��H���������HE1�H�l$0L�l$ L��$��(fDH���������V����E����H�D$ 1��H��H�D$(��H�Hc���R����M��H�����������?)ѺH��1�H	T�01����A�Dž����l������1ɺL������A�ą�����L��H�|$H�D$��E���T���H�����A���D����e�ǃ�����H��$�dH34%(D��u{H���[]A\A]A^A_�H������A�������DH�@�1��	H�D$�`��H�D$L��H�|$��H�D$�Ћ��A��������ǃ������o������D��USH��H��tf���1��tH��tT��~H��Hc�1ɉ������Ņ�~H����[]�DuH�����H����[]�DH���1��	����ս�����@��SH������H��tV�H�5&H�������u<H���\���H��H��t,H���l����xH�sH���l�����uH���
���1�H��[Ð��H��tPSH��������t��ǃ���������tH�����������ǃ�����H���
��1�[ø����Ð��H����H����H�N`H����H�~p���GL�G ��
��	��H���Hc�H�>��fD�GU1�H��L��SH��H��H���(	��H�EpH�H�PH�CH��u�fDH��H�H��u�H�H��[]�H�XH��[]��@�G���G���G�s���@H�i
L��H�����ff.�H��H�e�E1�1�WA�1�1�P1�jjjjW1�jjjj�z�H��h�DAWAVI��AUATUSH��H�D�/H�t$A��"tA��'tA� �I��H�5�+�2�I��H���B1�A�2H�-�+�If�@��?����D9�|"H�g�+E�L��Ic�H����A�I��A�I��H��A�6Hc�Lc�Hc���|=t�A�� t	D8���A�� u��� w�H�&H��s�C�A��� wH�&L��H��r3H���+L���H��1�[]A\A]A^A_�f�A�A�� t�I�FE8.u�H�L$L�9H��[]A\A]A^A_�DH�=�H�D$�O���H�h�+L���H�D$H��[]A\A]A^A_�A��H�=ߧ����1���H��H�D$PAQAPQH��1�jjP1�AQA�API��1�jjjR1���H��x�ATUSH��dH�%(H��$�1�H��t}H��H��H��������xf1�H��1�����A�ą�xSH�l$0H�/�+H�}
�H��H��taH��D��H����D��H������xHc��+�H�Y�+H��@1�H��$�dH3%(H��u&H�Ġ[]A\�@H�=Ԧ���D���T����M�ff.�f�H���+ATA��U���xS�H��H��taH�xH�@H��H�@p)��Hx1����H��+H�
H�CXD�ch��tH��[]A\��
����H�C`H��[]A\�f�H�=D��T�����f�UI��SH��H��dH�%(H�D$x1�H���ʃ�߃�A��v(�Q@��?wH�������1�H��r��_t	��:��1�I��?H�����A�LH��H��dtm�ʉ�I�,��߃�A��vڍ�@�����vύ�(�����vā����QӃ�2wI��r�fD����H�H�\$xdH3%(H��uH�Ĉ[]�1�������S�
H�5A�H��H���dH�%(H��$�1���	�����Y�S
H�K
�=�w9��t5�p�y��+tY��:td��;t��%����H�����=�v�f���H������H��$�dH3%(�H���[�f���H����� ��뀉�H�����/���4/�h������H�����:���4:�H����@��2t@��3tT��H�����%���!�����Q��BtW��Fti��7tt��3tw��5uω��%D�Q��H�����f��Q��At��Bt1��Fu����?��D���+���:�1�������/멉��;롉��'뙉��#�����@H��t+H������H��t�x
t1�H���H�@0H����1��ff.�f�H��tcAWAVL�5H�AUI��ATI��UL��SH��H��H�4$H�|$H9kHtH�H��u�H��[]A\A]A^A_�@�{wߋCIc�L�>��D��1�H���L��L�����H�S H�5U�H��I����H�S(H�5h�L����H�<$L�����t����1�H��L��L�����H�S H�5�H��I����H�S(H�5��멐H���L��1�L���|��H�S H�5֢I��L����H�S(H�5��n���fDH9\$���H�D$H�X�����1�H��L��L�����I����1�H���L��L�����H�S H�5q�H��I����H�{(t-H���L��L�����H��tH�K(H�-2H��L���B���C8���h���DH�;L��I��L��L�����H�<$L���=������1�H�?�L��L���\��H�S H�57�H��I���f�H�S(H�5���N���fD1�H���L��L�����H�S H�5�H��I���&�H�S(H�5x�����fD1�H�ߠL��L������H�S H�5נH��I�����H�S(H�5ՠ����fDH�ѠL��1�L�����H�S H�5ȠI������f�H�ĠL��1�L���l��H�S H�5g�I�����H��H�5*�L���c����H��H�5�L���H������H��t7H��t2�G��
��w'UH���H��SH��H��Hc�H�>��f.���H��	�H�=q������M��w�H��`���������
���vH��H�޿
[]���H��	�H�=��7���DH���H�=�����z���f�H���H�=������Z���f�H���H�=�������:���f�H�i��H��1��:������DH���H�=ec������f�H��	�H�=&��w������f�H��	�H�=<h�W�����f�H��	�H�=��7�����f�H���H�=ڞ����z���f�H���H�=������Z���f�H�M(H��cH��1���V���k����H�M H��cH��1���6���M�<���fDH�} H���l���M�"���@���+ATUSH��H� ��t+H��tf��L�c H�(��L��H�5<�H�81���H�{ H�-I�+H�EH��t��H�EH�{(H��t��H�EH�{0H��t��H�EH��[]A\��H�{(t��L�c(H�(���H�(��H�5ܝH�81���H�{ ����H��t�<t	�,���@����H��tOUH��SH��H�H��t$D�G<H�H�G���H��H��u��E<H��H��[]����@��H����S�H����t0H���H�&< ��H������u< ��H���$���H����ta1��I�&�2�H�Q��t
H�q� H��H���3H��@�1H���1���t�� w�I��s�H9�E�H�����u��[�@1�H������U������j���1�[�f����1��fDAWE��AVI��AUI��ATI��U���PSH��H��+L�L$�H��H���H�H�@H�@�h��������M��t\L�����H�C M��tXL�����M��H�C(MD�L������H�C0H�D$D�{8H�C<H�CHH��H��[]A\A]A^A_�DH�C M��u�H�C(M��u�H�C0�@L������H��H���c����8uH�C H�H�+H���V���fDH���P��H�C ��f.�H�=%�����`���ff.�@AWAVAUATUH��SH��H��(�t$H�T$L�D$D�L$H����H�����I��H���lH�t$H�����I��H���L��H�}@H���4��L��H��I���f��I��H���z�=k�+~/H�������H�(��M��H��H�T$H�8H�5��1���L�L$`D�D$L��L��|$H������I��H�-�+H�EH��t	H���H�EL���M��tL���UM��tL���UH��(L��[]A\A]A^A_�DL�����I��H���$���H���rH��1�jL�L$H�
͙E1�L�D$ �k�XZ��H��H�
��H��1�jL�L$�rL�D$ �:�H�c�+YL��^E1��e���@H��I��H�
g�1�jL�D$ �rH����AYAZH��H�t$���H��H���K���H��+������H��1�H�
R�H��ATL�L$�sE1�L�D$ ��_AX�����S�H�(���L��H�T$H�5��H�81����^���H���OAWAVAUI��ATA��UH��SH��H��(�H�[0H���FH�CHH��t�H�xH��t�H�5�������t�H�{H�5��������!H�5)�H�����I��H����H�5��H���W����D$���KL�5�+L��A�D�D$H�5~�H��D�D$���H���H�5S'H��I�����D�D$1�M��H��L���H�D$�9���L��H�D$A�H�D$L�T$H��t7H��t(H�uH�hH��u�(�H��H�H��u�H��x�M������L�58�+L��A�H�[0H�������H��([]A\A]A^A_�fDH�{H�5���P�����udH�{H�5���<�������H��E��H��AUL�i�H�
ԕH�f����AXAYD�d$E1�H���%����'����H��E��H��AUL��H�
�H�j��m���AZA[��D�d$E1�L�5Q�+�g���@��H�E����H�{�t$H��H��L�T$�x���L�T$����H�{H�5��N�������H�{H�53��6�������H��E��H��AUH�
�H��L������ZY���H�5��L������D$�������H��E1�M���tjH�
��H��H���:�A^XD�d$�f���H���H��E��AUL��H�
d�H�O��2���^_�v���H�{H�5���k�����t4H��E��	H��AUL�ՓH�
�H�\����A^A_�.���H�{H�5u��#�����t0H��E��
H��AUL�T�H�
$�L�����AZA[���H�{H�5�������t4H��E��H��AUL���H�
�H�ߓ�`���AXAY���H�{H�5������t2H���H��E��AUL��H�
��H�������^_�\���H�{H�5��Q����������P1�H�ےE��AUL����H������ZY����ff.�@H����ATUH��SH��H��H���Q���I��H��t9�8�H��HE����H��tp�xt:H�s�+L��1�H��[]A\�H��H�����H��t�xu���H�9�+H�D$L��H�D$H�@0H��[]A\�D1��DH�	�+H�D$L��H�D$��H����H����ATUH��S�?H��tGD�(�+H��E1�1�1���T���H�KpH��uH�Cp1�[]A\�H��H�H��u�H�1�[]A\�H����I��H��t)1�H��H��H���(L��H�\�+x	�[1�]A\������븃��@AWAVAUATUSH��HH�|$�L$dH�%(H�D$81�H���YH���PH��H��L�l$0H�&�
��I��H�D$(H�$������< wH��s H���< ��<-u
�{-��H�D$(H��L��H�D$0��H��H���MH�|$0H��tZ�< vaH�j�+1�M��tH�Z�+L���H�L$8dH3%(����H��H[]A\A]A^A_�H���^������s���1�M��u��DH��s�f.�H���< vmH�5���9�����tuL�%޸+H�|$0A�$H��L��H�D$0���H��H����H�|$0H��tA�$H�|$(H���dA�$������%���H��r�H�5+�������u�f�H�|$0H�5ߐ�������L�%P�+H�|$0A�A�$H�D$0H��L���M�H��H���l���H�|$0���H��t1H�|$0H��tH�D$A�$H�D$�8�yH��A�$H�D$0�< �H����@H���< ��H�4$H�����H��H�����A�G��|@H�|$(L���c���H��tfH�t$0E1�E1�1�D��H��H�D$��H�t$0I��H�D$L��H�x`�h�L�\$��yM��tA�<t
L����L�\$L��A�$�H�|$0H��tA�$H�|$(H������A�$�����A�
< �O���H���
���A�G�w��7���H�|$0H�5=�������t$L�%��+H�|$0A�A�$H�D$0�V���H�|$0H�5@�����L�%n�+E1�H�|$0A�$H�D$0�;%A��A��H��L�����H��H��������< �W���H���M���f�H���< v%H�4$H���)�H��H������C����H��r����H�����������SH�C��u,�����M���V���������X���D��-tH���ʄ�t��H��-u���H��H���������H�D$0���H�|$0H�5����t7L�%R�+H�|$0A�A�$H�D$0��������M����������H�|$0H�5���a��t$L�%�+H�|$0A�A�$H�D$0���H�|$0H�5q��(��t)L�%ʹ+H�|$0A�A�$H�D$0�b�������H�|$0H�5<�����tL�%��+H�|$0A�$H�D$0�c���H�|$0H�5����u�H�|$0H�5������L�%C�+H�|$0A�$H�4$H��H�D$0�E�H��H���d����D$H�|$(��tY1�H��E1�E1�1ɿ��H�t$(I��H�D$L��H�x`��������M�������A�<�����L���(����L����I��H�������H�|$H�����L��A�$�n���H�|$0H�5)�����tOL�%j�+H�|$0A�$H�4$H��H�D$0�l�H��H�������M��tL��A�$H�|$(�J���I���
���H�|$0H�5ʋ�a�L�%
�+H�|$0��t<A�$H��L����H�|$0H��H��t2A�$H������������M���i�������A�$H�D$0���H��������=���H��H�=R��`���H��t
�y�+����N�+H�K�+H���fD��H��tWUH��SH��H�pH��tD�<H�t��H��H��u�H�}`H��tH�5J����H��+H��H�H��[]���ff.�@��SH��H�|$H��tU�?uP���+��uH�`H�T$H�5���詼��1�H��[Ð�;��H�����H�5<�H�81���H�|$�fD������ʐ��AUI��ATUSH���Z�H����L��1�H���D��H��H��H�������I��H����L���<�I�,$H�} L��I�D$���L��H���|���H��tjHǃ�H��ǃ�ǃ�ǃ8����C��tH�kH���N�H��H��[]A\A]�H�{1��e���H�C��L���@��H��u�H���{���H���o�����k��1�H���t��Z��H�5�1�H��1��������H��1����H�����k���f�H����H�0��AWAVAUATUSH��H��H�=��+���H�{��H�=��+H�k0H��thH�����H��H��tDD���+E�����{��H�kH�=�+�C<����H��1�[]A\A]A^A_�f�D�q�+E���pH�k0D�s8H����H�����I��H����D�<�+E��t*����L�(���A���Z��H��D��H�5:�H�81�A��L���m�I��H���aH�xH�5̅�A����II�EHH���<H�xH���/H�5������H��E1�E��1�1���D�H��H���H�5��L���y��I��H��t)H�5"�H���������A�H�]�+L���I�}1�H��D����L������{H��uH�EH�=�+H�C�E<����+����H�s0H�=�+H����H�=�+�L��1�H��[]A\A]A^A_�H�m�%�����S��L�k0L� ����L��H�5|�H�81�A�����H��H�
U�E1�1�j�uI��L���N��ZYL���4����CH�=F�+������o���f��
��H�/�+H���>�����������L�k0L� �O��L��H�5I�H�81�A���������L�c0H�(���L��H�5˅H�81����i���f�H�5��L������tKA��N���f�D�
��+E���,����+��L� ����H��H�5��H�81�A������@������H��L��1�E1�jM���tH�
�� ��^_���f�AWAVAUATUH��SH���dH�%(H��$�1��G@��2��H�ӍPI���W@H���`I���D$E1�E1�H�D$�5@��	u#I�} �z��I�u H�߉��L���A��DM�mM��tgA�E��������u�I�} �6��;D$~�I�u ��H�߉D$��D�L$��H�D$DEL$ID�M�mD�L$H�D$M��u�DH�|$���5&�+����H�D$H�x0�8���H��tHct$H��H��S��m@H��$�dH3%(�H���[]A\A]A^A_�fD������A������I�u H���������=��+���
�m@H��$�dH3%(��I�}0H���[]A\A]A^A_選���E���WI��E1���M�$$M����A�|$	u�I�|$ ����I�t$ H�߉�����u�E���L�|$ A�F�M�l��I�|$0I�7�;���u�I��M9�u�A��2��I�|$�m�
��+����I�|$1�H����H���Z������DE1�H���"I��E1��@���gM�$$M��tNA�D$�����u�I�|$ ���I�t$ L���������u�1�A�|$8M�$$��A�M��u��E��� H���f�H�H�����{u�{8u�H�{ ���H�s L�����q���u�E����L�l$ A�D$�M�|�DH�{0I�u����u�I��M9�u�A��2�\H�{�f���+���sH�{1�L���H���\����d����I�t$ L�����������=�+�����m@H��$�dH3%(�NI�|$0����H��A�����M���k���I��I��M	�E��u�w�M�$$M��tgA�|$u�I�|$H��teM��tH��L���H��������}@2~�1�����*��L� H�D$L�p ���H�5̀H�8L��1�A���L���f��E@���E@1��a���L���8���I�|$H���j������m@H������1���H��E1�H�
{1�jL�G �v����AX1�AY����I�T$0Ic�A��H�T� �����z��I�T$0L�(H�T$���H�T$H�50�H�81�A��I�|$H�������i����<��M�l$ H�����L��H�5�H�81����L������M�u0M�e H����L��L��H�5ozH�81�������L���3���I�|$������z���f�H�S0Ic�A��H�T� ���H������H�{����������H�S0L�8H�T$�*��H�T$H�5�H�81�A��H�{H���Z�����������ff.�@AWAVI��AUATUH��SH��H��H���Q�I��H��t�8�HE�
H�5_|H���	������
H�5C|L�������u�@H�H��t0�{u�H�{H��tIL��H�����I��H��uH�C�x@2~�@E1�M��tH�	�+L��H��L��[]A\A]A^A_�f�H�����H�{H��t��DH���`���¸+I�Dž�u+L��H��H���EI��M��t�H���+L�����H�������H�(���L��H�5)~H�81���L��L��H����I���fDL������I�Nj?�+��t(M��������L� �]��L��H�5�}H�81�A��H����L��H���W���tI1�H��H���I���<����y��L� ���H��H�5xH�81�A��L��1�H���RI�����L��H�����:��L� ����L��H�5�wH�81�A���p���1�L��H���I������fDH��tH��H	�t���fD1��DAWAVAUATUSH��dH�%(H��$�1�H����I��H�����@2��H��H��E1�E1�H�$E1��4@��u#H�{ 蒽��H�s H����d����A��DH�H��t`�C��
������u�H�{ �P���D9�~�H�s ��H��D$���D�D$��H�$ED�HD�H�H�$H��u�f.�H�<$��G�+���;H�$H�x0�Z���H����H��$�dH3%(��H�ĸIc�H��[H�]A\A]A^A_�K��������A������H�s H���$��������
��+���H��$�dH3%(�AH�{0H�ĸ[]A\A]A^A_魯��H��L�G 1�E1�jH�
Wu�v�=��^_1�H��$�dH3%(��H�ĸ[]A\A]A^A_�DE����E1�L�-&{�M�?M����A�G��	t��u�I� 譻��I�w H��������u�E���H�\$A�D$�L�t�I�0H�3�����u�H��I9�u�A��2��I������+���I�H���(H���_�������f.�E��u���fDM�?M�����A�u�I�H��tH����H��t�����f�L����I�H��t���DH�����������H�H�$L�` �'��H�5;yH�8L��1������I�W0Ic�A��H�T�����L����I����������@�;��L�c H�(����L��H�5�yH�81����������M�w0H����L��L��H�81�������衰���H����ATUSH��H��H��twH���
H�5vH�������u�jf.�H�H��tH�{u�H�{H��tH�����H��t�H��[]A\�H�����H�{H��u�H�H��u��1�H��[]A\�DH���H��I�ċ��+��tVM��t]�1��H�(����L��H�5GxH�81���L��H��1����H�t�+L��H�D$�H�D$H��[]A\�@1��M��u�1��{�������H��l��H��H�5KxH�81���1��V���@��ATI��US� ��H��tK�5e�+�H�����H��H��t@L��H�ǹH����H��A��H�Н+�E��x1H��[]A\Ð1�H��[]A\�fDH���+H��H��[]A\�@H��1�������ff.����ATUSH�����H����H���<-������<<t2��߃�A<vH���fD��߃�A<vjH�����t[<-tW<<u�5u�+����I��H��t D�\�+E1�H��1�1�����I�D$pH�ܜ+H��L��[]A\��<<t��5�+����I��H��t�1�H��H��H���\���y�L��E1�����H���+H���E1��f.���H����H�����L�+ATUH��SH����uV�;u!H�{pH��t81�H���n���H���t([]A\�H�{`H���d��H��t[H��]A\�#���[1�]A\�f��{��L� ���H��H�5vH�81�A����1��D��H����H�������+ATUH��SH����uV�;u!H�{pH��t81�H�����H���t([]A\�H�{`H�����H��t[H��]A\�s���[1�]A\�f�����L� �c��H��H�5puH�81�A����1��D��H��H	��XH���OAUATI��UH��SH��H���֮+��t6H��t	H����H�����N��L�(����H��H�5�uH�81�A�Ճ}u.H�}pH��t^L��H�����H���tMH��[]A\A]�f�H�}`H��t0H��tBH�����H��tH��H��[]A\A]�c���M����H��1�[]A\A]�f.�M��t�L���c��H��u���@���L�(�+��L��H��H�5GtH�81�A�Ճ}�>����g�����[��L�(����L��H�5uH�81�A������@1��DH�}`�|������H����H�����l�+ATUH��SH����uN�;t)H�{`H��t2H�����H��H��t"[]A\�_����H�{pH������H���u1�[]A\�����L� �;��H��H�5vsH�81�A����1��ff.�f���H����H�����?tH�`H��H�5���颣��f�AVAUATUSL�wp1�H���:���H��H����H�
mH�HmH��H�5Lo聼��H��H���F���1�H�5�k1��v���I��H��t`1�H�oH��H���Z���I��H��tdL�``H��H������E1�L��L��L��H�����1�H���U��H��t�1�H��H��莴��[H��]A\A]A^鞣��fD�[]A\A]A^�L���6�����@��H����AWAVAUI��ATI��UH��SH��H���?�xL��H�56w�����
��t@E1�E1�1�L��H�����H�{`I��H����H��L��H��[]A\A]A^A_�\��@L��H�5�o�y�����u�L��H�5�o�a�����u�L��H�5���I������t���L��H�5%��-������X���L��H�5Qo�������<���L��H�5>o������� ���L��H�5+o�����������L��H�5o���������L��H�5o����������H�5�nL��������VD������4fDL�wpM��t�A�F����w�M�~M����H�5��L���7��A����I�^H��u�H�H���LH��H��t�D9Su�H�s H��D�$����D�$��t΋
��+���YH�{(H��t	H�x�+�H�{0H��t	H�f�+�L���|���L��H�C(�p���H�C01��^��2�+��t&D�$轿��H��U���L��H�5�oH�81���D�$E�F8E1�1�L��H��D�����I�FM���$1�H��[]A\A]A^A_�H�5�kL�����A������H�5�kL�����A�������H�5�kL������A��������H�5�kL������A�	�������H�5�pL�����A�
���n���H�5�kL�����A����Q���H�5�kL���k��A����4���H�5�jL���N��A�������H�5�jL���1������A����fDA�FI�v0H�=��+���H�������I�VH�P���f.��
����H��H�C`�%���f.��b�+����E�F8E1�1�L��H��D������H��N���L����M�~�9���躽��H�(�R���L��H�5HhH�81�������5��+������艽��H��!���L��H�5�gH�81��������ÿ�U���D�T$�S���H�H�$���L��H�52mH�$H�81���D�T$�6������H���#H���AVAUATUH��S�?t*H�`H�����������D�[]A\A]A^��L�gpM����A�D$������I�\$H����L�%]g�B���+��t&H�{ tg肼��L�s L�(����L��L��H�81�A���C����H�H��t-H�s H��tH�������u�H�s(H�������u�H�H��u�1�[]A\A]A^Ð����L�s(L�(�f�L���X�I�\$H���V���1���fD�����ø�����������5��+��t"S��7���H��H��tH�x`tH��[������fD�
�V��H�C`���������H��t/�?t-H�`H��tH���K����t7��H������f�H�WpH��t�r�N���w�1�H�z��Ð�H���fD���b�+��tÐAWAVAUATUSH������H�=F�+�a���H�=i�%���H��t
�>�+H�=&�+tH�=�+H��[]A\A]A^A_邽��H�=�j����5p�+�H��H��H��jHD����I��H��t�H�&L�`pI�&�����< vnfDH��DH����� w�I��s��H��)�H��跔��I��H��t�D��+E1�1�1�H������L��H��I�$LE�H�_�+��H��s#f�H���< w�H��r�uL�5�+��1�I��H���`����ff.�����+SH����t6H�=ע+��H�=Ӣ+H��t&H������H�=��+���0�����[�@�#���ÐH���8���H��tH�=��+1�H���+�����[�H�=s�+������������H����AUATI�&UH�&SH��H��������< vl@<:w1�I��H��r%H��fDH�����:w�I��s��H��)�H������I��H��tH���?���H��+L����H���<:t��H��s�f.�H���< �y���H��r��o���H��[]A\A]������b�+��uÐSH�=X�+�s����e�+��uqH�=R�+H��tH�5�����H�=2�+H�/�+H��t�u��H�=�+H��+��+��+�j���H�=�+[����D胷��H�����H�5�gH�81����o���������+SH����tH�=��+H��[�ޞ��fD�c���H�=��+H��[�Þ�����b�+SH����tH�=_�+H��[�n���fD�#���H�=D�+H��[�S�����UH��SH��H����+��tH�=�+H��H��H��[]鮲��fD�ӟ���ې����+SH����tH�=ߟ+H��[鮚��fD裟��H�=ğ+H��[铚����H��t?���+SH����tH�=��+H��[�i��f��[���H�=|�+H��[�K�������R�+ATI��UH��SH����tEH�=>�+�Y���H�=:�+H��t=H��L��H���/���H�=�+��葸����[]A\�f.��{���f�H�5�aH���Q����u
H�=ޞ+�@�5J�+����H��H���+H��tD�*�+E1�1�H��1���V��H�CpH�=��+1������n���ff.�@���b�+SH����t.H�=W�+�r���H�=S�+H�����H�=<�+��起����[Ð������f�����+S��t1H�=
�+�%���H�=�+虘��H�=�+���k�����[��軝����f����J�+�D��US��H���Ɲ+��t.��t=��ty��tT��u�B���H�(�ڴ��H�5�dH�81��Չ��+H��[]������H�(諴��H�5�^H�81�������H�(苴��H�5�^H�81�����ӳ��H�(�k���H�5dH�81����ff.���ATU�-s�+S��t<��+����t*��t5��u&胳��L� ����H�5�^H�81�A��@�2�+��[]A\��S���L� ���H�5|^H�81�A����f.���������+H��=~�+�D��SH���M�+��u�#�<H�t����H��H��u�H��[�@H�|$���H�|$�������+ATUH��SH����tXH��tI��+��uYD�b�+E1�1�1�H�����H��tH��tH���
�H��H�H��u�H�H��[]A\�f��{����f��;���L� �Ӳ��H��H�5�bH�81�A���ff.�@��AUATI��UH��SH��H���?�+��tH��H	�tg�I�+��t2H��tH��usH�����ű��L�(�]���H��H�5NbH�81�A��M��t&H��H��L���H�H�P�H���wH��[]A\A]�H��1�[]A\A]�蛚���w���fD�[���L�(��H��H��H�5�\H�81�A���@�3���L�(�˱��H��H�5�aH�81�A���i���@���R�+ATUH��SH���tHH��t3�U�+��uIH��t$H��H�����H�P�H���w[]A\�f.�[1�]A\�f��ۙ���f�蛰��L� �3���H��H�5n`H�81�A���ff.�@��USH��H�����+�������+��tcH��tNH���+H��tBH�xpH��t H��1�����H�P�H���vmH�n�+H��tH�x`H��H��[]鿸���H��1�[]�����H�(�{���H�5�[H�81��Ճ�+�v��������a���fDH��H�8$��1�H�=��+����Ә+H��H��+[]�ff.���USH��H�����+�������+��tcH��tNH���+H��tBH�xpH��t 1�H������H�P�H���vmH�n�+H��tH�x`H��H��[]����H��1�[]�����H�(�{���H�5�ZH�81��Ճ�+�v��������a���fDH��H�8#��1�H�=��+����ӓ+H��H��+[]�f.�@���ǟ�����H�=t�+tÐH���G���H�`�+H���ff.���SH��H�=A�+H�����#�����+ǃH��`H����܇+��H�o�+H�CH��+H�CH���+H�CH�.�+H�C �̗+��H�+H���H�Ɂ+H���H��PH�4�+H���H��+H����Q�+���5�+��0H�`�+H��8�#�+���C�+���?�+�� �;�+��$H��]H���+��(�ɖ+��,���+��H�Ĉ+H���H���+H���H���+H���H���+H���H���+H��@H���+H��HH���+H���H�j�+HǃXH���1�Hǃ�)�������H�H�=n�+[�ا����+���H�=T�+����ff.�@��H��H�=q+����H�=%�+H��t����H��+H���'������UH��SH��H��H�=�+�Դ��H�-��+H��t H���+H�=ʕ+H��[]�/����H��+��ff.�@��UH��SH��H��H�=��+�t���H�--�+H�=v�+H�/�+H��[]�Ԧ��@��H�u+H�
�+H��H�:��UH��SH��H�=,�+����H���+H�=�+H��+H�-�+��p���H��H��[]�fD��H��+H�
~�+H��H�:Ð��UH��SH��H�=��+觳��H�P�+H�=��+H�z�+H�-s�+�����H��H��[]�fD��UH��SH��H�=l�+�W���H�0�+H��t#H�=T�+H�-�+踥��H��H��[]�fDH��+��ff.�@��UH��SH��H�=�+���H�ȓ+H��t#H�=�+H�-��+�X���H��H��[]�fDH��+��ff.�@��H��������tH�p+H���苔��H��H����H�������tH��|+H����[���H��HX���H��賥����tH��{+H����+���H��H���H��胥����tH��}+H������H��H���U��SH��H�=�+�ر��H�=�+���+�-��+�@���H����[]����H��������tH�hz+H���苓��H��H���U��SH��H�=}�+�h���H�=q�+�;�+�-5�+�У��H����[]����H��裤����tH�z+H�������H��H��(�f���H���s�����tH�`|+H������H��H���f���H���C�����tH��y+H���軒��H��H���U��SH��H�=��+蘰��H�=��+���+�-��+����H����[]����H���ӣ����tH��|+H����K���H��H����H��裣����tH��|+H�������H��H����H���s�����tH��|+H������H��H����H���C�����tH��y+H���軑��H��H����H��������tH�x+H���苑��H��H���U��SH��H�=}�+�h���H�=q�+�3�+�--�+�С��H����[]����H��裢����tH�(x+H�������H��H0���U��SH��H�=
�+���H�=�+��+�-�+�`���H����[]����H���3�����tH��z+H���諐��H��H8���UH��SH��H�=��+臮��H�=��+H�y�+H�-r�+���H��H��[]���H���á����tH��{+H����;���H��H���U��SH��H�=-�+����H�=!�+��~+�-�~+耠��H����[]����H���S�����tH�xz+H����ˏ��H��H���U��SH��H�=��+設��H�=��+���+�-��+����H����[]����H�������tH�y+H����[���H��H ���U��SH��H�=M�+�8���H�=A�+�/�+�-)�+蠟��H����[]����H���s�����tH�@v+H������H��H$���U��SH��H�=ݍ+�Ȭ��H�=э+�Ǎ+�-��+�0���H����[]����H��������tH�0y+H����{���H���fD��H���ӟ����tH�Hx+H����K���H��H(���U��SH��H�==�+�(���H�=1�+��+�-�+萞��H����[]����H���c�����tH��u+H����ۍ��H��H,���U��SH��H�=͌+踫��H�=��+�g�+�-a�+� ���H����[]����H������tH��w+H����k���H��H���U��SH��H�=]�+�H���H�=Q�+�3�+�--�+谝��H����[]����H��胞����tH�8v+H������H��H@���H���S�����tH� w+H����ˌ��H��HH���H���#�����tH��t+H���蛌��H��H����H������tH��s+H����k���H��H����H��H�5!H�=��+赖���p���H���+H���`�����SH��H��X����H��[�y����S�(�q���H��H��t
�}+��uH��[�f.�H��1��6���H��[��H��t'��|+SH����u	H��[� y���[���H��[�y��f��ff.�@��H��t
��|+��u�@�S�����H��t
��|+��u�@�����S�h豝��H��H��t
�S|+��uH��[�f.�H��1��v���H�{81�H�C(����H��[�ff.���H��t7�|+SH����u	H��[�@x���{���H�{8�R���H��[�)x��f��ff.�@��H��t
��{+��u�@ATUSH���\����k(褧��I�ą�t+H9C0t?�C,H�k8�H��H������C(��u�k,L�c0�C(H��[]A\黛�����k(����H��t
�1{+��u�@SH���߶���k(u�C,��uH�C0H��[�q����H�{8�g�����D��H�=�t+tH�=�+閶��fD�ff.�@��H�=�r+tH�=��+����fD�ff.�@���ff.���US1�H���nz+��t&H�5��H�=��+藙���=��+蜆��H��H��tH��H��[]�f.����衐��H��H��t)H������=S�+H��賝��H��H��[]�f�軝��H�(�S���H�5�NH�81��������y+��tH���ɥ��H���@�ff.�@��1��Մ��D��1��%���D���=uy+�t�f�H�=Pq+��H�=�o+��!�H�=�q+��!�H�=�p+��!�H�=�q+��!�H�=s+��!�H�=to+��!�H�='s+��!�H�=�p+��!�H�=�p+��!�H�=�q+��!�H�=�n+��!�H�=�q+��!�H�=�q+�„�tH�=�o+t��x+�D��x+�D��H����x+���t=���t%H�5��H�=��+街���l���H9��+����H���f.��[���5x+����&x+��u�P�+��H���=N�+�a����/�+H���f�H��H��LE1�1�WA�1�1�P1�jjjjW1�jjjj芋��H��h�DH��H�5lE1�1�WA�1�1�P1�jjjjW1�jjjj�J���H��h�DH����AUA��ATUSH����H��H�#q+�H��H�����A����������>����&����"����	����
�#E��uj�&#xAH���B�;H���;tbH��A�L$�H)�Hc�H9�~!H��H�
n+E�Ic�H����Hc�H����<�w���E����A����H���
H���;u��H��[]A\A]��A��u��&gt;H���k���E��tA��u��&ampH���B�;�J���f.�E��u��t;�&quoH��f�J��#���E���s����&#x9H���B�;����@�&lt;H�������
�C����&#xDH���B�;����@H�=f�H�D$���H�D$H��[]A\A]�1��H�=�6����1�����f�H��I��H��t�WHH��H��
A�1�QH��1�P1�jjjjjjjjR1����H��h��H��H��IE1�1�WA�1�1�P1�jjjjW1�jjjj躈��H��h�DH����ATUSH�o0H��H��tgH�}H��tvHcU1�H���o���L�%�m+H�}A�$H�}H��tHcU1�H���H���H�}A�$f�H��EEA�$I�$H��[]A\��L�%�m+H��[]I�$A\��@L�%�m+��H�=(I�<���ff.��H����AWAVI��AUI��ATUSH��H��H�H�kH���H��t�9Ct#HcЃ�L�,�L�t��H��[]A\A]A^A_�D�$H�-k+Mc�I��L���UH����H�CH�{L���UH��H����H�CH�{D�c��DH��tH��H�=gH[]A\A]A^A_�a����L�%ik+��A�$��H�CA�$H�SH�CH��tvH��tqH�zH�H��H��H�BxH)�������H�H�CH�xH�H��H�@xH)����H����H��CH�{�H�k����DH��H�=�G[]A\A]A^A_���fDH�=�G���@H9�t3H��t6�1�H��u�:f.�H����t�:t�1��@��f�1��>����1�������USH��H����L�WH����L�NH�^M����A�H��������M����D�_1���A9�SHc��	H��A9�EM��1�M��tI�pL��� �����t�M��tM�@H��H��L��[]����f�H�=�I1����H����[]�f�L�
1L�˽E1�M���v�����H��t��L�
	��t�M���O���1�H����[]�H�����,�������AVAUATUSH����H��I��H����L�VH�nM����H��H��HD�A�:��E1�L�[M����D�A����Mc��DI��E��xvO��N�4�1�M��tI�qL�������t�1�M��tI�qH������A�ą�t9I�EH����H�SL��[H�9]J�2A\A]A^��DH�=�HE1��!���[D��]A\A]A^�DL��A�L���7���H��tE1�}L��A������@L��L��E1�}A�����fDA����H9�t'H��t%H��t
H�vH�鰀����f.�1�ø��������H9�tgH����H��tIH�GHH�VHH9�tlH��ttH��t2H�xthH�zt$UH��SH��H��H�rH�x�;�����tH��[]ø�f.�1��DH�uH�{H��[]����DH�vH�����������ff.�f�H��t#SH��H�H�5��'�����u1�[��1��DH�{H�5�m����[�������fDUSH��H����H��H����H��H�~ H�}tOH�5yC�ˤ��H�uH�{ 辤��H�{ H�5"认��H�uH�{ H��t2H� �xo��H���[]�@H�52C�|���H�uH�{ H��u�H�5��c���H���[]��H�=�B���H��1�[]�ff.����'������AUATUSH��H����H��H����H��H�~ H�59F���H�EHH��tH�x�(�������H�uH�{ �ã��H�{ H�5�O賣��H�uH�;��r���H��H��t71�H�����L�-)f+H��I��A�UM����H�{ L���j���L��A�UH�{ H�5��S����H��[]A\A]�H�=�A��H��1�[]A\A]��H�EHH�{ H�p����H�{ H�5�#����*���f.�H�=�A�$���1����H��HdH�%(H�D$81�H��tH��t�~t(�S������H�L$8dH3%(uAH��H�fD�oF�oNH��H�v(D$HH�p(H��t
�zuH�R(H�$H����5v��DH��H�-AE1�1�H�1APA�1�W1�R1�jjjjP1�jjjh��?��H��h�f.�H��tlAVL�5�jAUI��ATI��UH��SH�H��H��u-�<fDL��L��H���2o��H��u%H�[(H��tH�EH��tH�S(H��I�<$�Ѕ�t�1�[]A\A]A^�1��ff.��USH��H��t4H��H��1�H��t �H��H���5H�[0H��t��y�H��[]�H�=P@��������ff.�AWAVAUATUSH��hdH�%(H�D$X1�H����H��H����H�GH��H��tiH�V(H���A�ŋC����H�5�E��Hc�H�>��DH�=�@��@1�H�L$XdH3%(��H��h[]A\A]A^A_��F����H�5�E��Hc�H�>��f�A�L�c`M��u�@M�$$M����I�|$�q}����~�I�|$�k��I��H����H�8�O}������L����l���DH�=U@���������4���f�H�=c@�t������������f.�H�=W@�T�����������f.�H�=@�4������������f.�H�sH������H�H�E(H�D$XdH3%(�IH��hH��[]A\A]A^A_���E�������}(H�} ��H�5??����H�} H�s���H�CPH�} H��t	�8���M(���
H�5?�˞��1��&���@E������H�{PH���
������H��H���%H�} H��舞��H�!a+H��1�����DE�������U��������}(H�} ��H�5�>�B���H�{PH��t.���H��H����H�} H������H��`+H���E(H�} ����H�5d>��1��K���f�H��<E1�1�1�RA�1�PH��AP1�jjjjR1�jjjh���z��H��`��������DH�E0f�)D$0)D$@H����
�PH��T$8H�D$0�D$E���}�}8�C�����o
H�5����1���}��H�D$H���iI��E1�DM�|$`M��u�f�M�?M��txI�WH�{@H���8p��L9�u�L�������u�H�EH��tH�}H��L���Ѕ�t�H�}0L�����E��������I���y��M�?���DD�M��u�DM�d$(M���Z���E��tEA��u?f�H�5�t+)�t+)�t+H�}0)st+�~��uH��H�=`t+�+���L�t$H��H�5��L���Aj��L���~��E�����{�0H�5��1��|��I��H����
�E8�������X����L�{XM���sH�D$E1�H�D$�XI�HH��tQ�:�����tHH�|$��
M����	H�|$u+I�H�5���I�����tL�|$M�0M���3E��u�H�EH��tH�}H��L���Ѕ�t�L��L���
~�����H�|$L����}���]���fDH�}0H��L���D$�%�D$�3���@�E,�D$��tH�E(H�} H�5%赚��H�CHH��t.H�x��w����~!H�CHH�} H�p莚��H�} H�5a�~���H�sH�} �q�������@H�E0H���b	�P�P��P�K���L�sXM��t4�H�EH��tH�}H��L���Ѕ�tL��L���}��M�v0M��u�H��H�5��L���)h��1���y��L���|��E���VH�sH��tH���P�������E���QH�E0H������H�T$0H��T$8�P1����@���H�5H�1��!z��H�D$(H���H�E@H���~L�8M���rA��D$E1��@E1�A�H�{@L��H���xl��I��H��t`H������uTH�EH��tH�}H��L���Ѕ�t;H�}0L���/�E���'���
I��%v�����ED$�D$DH�E@N�< I��M����H�5�7L��茙�����T���H�5�L���u������=����A����L�sXM��t4�H�EH��tH�}H��L���Ѕ�tL��L���,{��M�v0M��u�E���zH�s(H��tqH�EH��thH�V(H�}�Ѕ�uZL�s(M��tQ�M�~XM��t6�I�HH��t���tL��L���sk��H���8M�0M��u�M�v(M��u��E1�H��H�5��L����e��L���w��L���+z��H�} H�5��{���H�sH�������H�} H�5��^���H�CHH��t.H�x�t����~!H�CHH�} H�p�7���H�} H�5
�'���H�sH�} ����H�} H�5��
����D$���?����E,�E(�0�����D$E1�L�CH�D$M���qL��L�D$ �k����E��L�D$ thH�EH��tL��L�D$ H�}H���L�D$ ��t,L�UL�MH�}0L��L��L��L�D$ ���L�D$ ���H�}0L��H��L�D$ ��L�D$ I�x�s�����ED$�D$L�cXE���D$ M������fDH�EH��tH�}H��L��Ѕ���L�UL�MI�t$HH�}0L��L���/�I�t$HH�}0H��A����E��u�|$ tI�t$HH�|$(�x��I�D$HH�x��r�����ED$�D$f�M�d$0M��tVI�|$HH��t�����W���I�D$HH��t�H�x�r����u�I�D$HH�x�r�����ED$�D$���D$t�|$ t
�D$D	���D�t$ t�D$�SL�t$(H��H�5��L���c��L���tw�������H�5��輔��1���DH��H�5��L����b��1��t��L���/w�����f.�H�=�3��H�=�6�������H��H�M6A�61�PA�E1�1�j1�1�1�jjjjjjjh��Tq��H��`L���a���fDE���W���H�|$��H�t$L����v��M����L��L����v��H�|$�lH�D$L�x(M���$H�D$H�}�H�p�u���H�D$H����H�D$H�@(L�p(M����H�EH����H�

V+H�L$(�XfDH�|$L���Ӗ��H���+L��L�|$(H�D$ A�H�|$A�H�D$ H�D$M�v(M���wH�EH���jI�V(H�}L���Ѕ��UH��[H�5�L���S`��H��t�H�pH�}�蜇��I��H����H���p�����O���H�A�|�.�A���H�5��L��肑��H����I���!����H�=�1����	����H�5�2�\����R�H�{@1�H���e���D$I��H���
����h���H�57G�$���1���DH�5[4����H�{P����H��H����H�} H�����H�T+H��H�} ���H�|$(L���t�����H�}0H��L���D$����D$���H�5�1藑���P�L��L���wt�����I�H�5���b������M������H�=C0����������f�L�UL�M)9i+L��L��H�5i+)5i+H�}0)
i+�u�������H��H�=�h+������H�=o0�]����I�H�5�u�ȑ�����V���L�|$�v���H�=V0�*�H�=J0�������fDf�H�5Eh+)Nh+)Wh+H�}0),h+�����|���H��H�=h+�`��h���H�|$����L�t$���L�UL�MH�S(H�
��L��L���'�I��H���A���L�|$L�|$�'���@L�UL�MH�S(H�
�tL��L�����H�D$H����������H�=2�4�H�=/������H�IR+H�D$(H�|$H�5�胐�����H�D$H�L$1�H���H�pH�/_��H�|$I��H�D$(M�����L��L���<r��I�G0���E�������L�ML�UH�S(L��L��L�T$H�
�sL�L$��L�L$L�T$H����H�S(L��L��L�T$H�
f�L�L$���L�L$L�T$H����H�S(H�
�L��L����H�D$H���������H�=\.�������H�D$(H�|$E1������H�=1�������L�UL�M�H�|$(L��L�D$ �6q��L�D$ ���H�D$(H�|$�H�=1�d��r���L�t$(L��E1�A�H�|$A�H�=Z1�=��K�����a��H�=�-�'����A�H�=�-������H�=�0E1����
���H�=+0������L�t$(L��E1�A�H�|$A�H�=�0��������H�=	1������H�=�-������H�=0�����H�=�-�~�����H�=g-�j�����H��L���p��L�L$L�T$�@���H��L����o��L�T$H�S(H�
n�L�L$L��L�����L�L$L�T$H��I����������f���AWAVAUATUSH��L�d$PM����H��H����A�̓���I�|$�tD�L$I��M�ƿPH��M+H�4$�H�4$D�L$H��H����f��@L� @@,@<H�(D�HH�pL�xL�` H�H�C(H��M+�f�H����@H�C0D�k8A��tbH�mH��t)f�H��H����H�m0H��t��y��L��踐���Ņ���H����H����[]A\A]A^A_�DL�s@�f.�H�=6,���H��H�
�/��1��>���������H�=,����H�ߺ�H��H�C0H�
�/���H������H��H�
/��1�����������R���H�=�.������G���<���H�=�+��������H���9������H�=k+������������H�=�+���������H����������H��AQE��I�ȉ�H��H�5����g��H���f.���AWAVAUATUSH��M����I�I��1�I��D�D$A��I��L����Q��D�D$H��H����I��L��D��L��L���.d����xmH�{ �m��I��A�Ņ�yH���oy��H��D��[]A\A]A^A_�DH�{ ���D��H���dQ��H��H�E�8y��H�}u�H�=Z.A������/���H�=�*A��������H���y���H�=A���������{���H�=p*A���������d�����AWAVAUA��ATUSH���T$PM����H��I��I��E�Dž�xF1�L���tl��H��H��toI��E��L��D��L��H���c����x,H��H��[]A\A]A^A_�[x��L�L$�~m��L�L$���H�=$*����H���1x�������H��[]A\A]A^A_�H�=�)����������H�=�)��������������ATUSH��tC��x?H�pK+Hc�H��H�{�I��H��t4H��H��H����l��A�L��[]A\�f�E1�[]L��A\�D1�1���{����D��H��t.�?t"H���H���>u�)��xO���1��iO��1��fD��H��to��xkATLc�USH��I�|$H��H��J+�H��tME��t1����t-A�t$��H���@��H����t
H9�u�B� H��[]A\�fD1��1�1�H�D$�{��H�D$����H��t.�?t"H���H���>u�)��U���1��U��1��fD��H9�t7H��t@H��t51��f�H����t��)�t����1��D�ø�����ff.����H9�t/H��t#H��t1��f�H����t�8t�1��@��f���I��H��tdH��t)H��t$��DH�J��t���tH��H��8t�1��1��9:u�1��
DH����t(�LA8t�1���f�H��L��饆��D��f.���H9�t7��~3H��t?H��t1D�J�1���I9�tH����t#��)�t��fD1��D��f�ø�����f���H9�tGH��tPH��tE1�L�
�*�f�H��E��t��I��A�A�	)�t��D��1��D�ø�����ff.����H9�tW��~SH��t_H��tQD�R�L�
^*1��f.�I9�t"H��E��t2��I��A�A�	)�t���1��D��f�ø�����f�����H��t$���t@8�u
��8�tH�����u�1��fDH���@���������u>H��t9���t5��t.�F�H�L�@��tH���H9�u�t��H���K��f�1��H�������S1�H��t�V��H=���F؉�[�f���H��toATUH��SH��t#H��H���`��A��H��E��t���u1fD1�[]A\ÐD��H��H���r�����tfDH�����t�8Eu���fDH����1��D��H����AUI��ATUSH��H��taH��H���6`��A��H��E��tM���tDH�-}(�H�����t-A�U�L8Lu�D��L��H���H����u�H���fD1�H��[]A\A]�1��ff.�f���AWAVAUATUSH��H����������I��H������H���_��A�ƅ�xr����)�A9�fH��B+Hc�Mc�H��I�tH�T$�H�T$H��I��teJ�<8L���f��B�T5Hc�A�H��L��[]A\A]A^A_�f.�I����E1���H��L���[]A\A]A^A_�XI���1�1�I���u���f���AWAVAUI��ATUH��S��H������M����������L��H����H���^��A�Dž�������)�D9�|xHc�Mc�H�D$I�|H��B+�I��H��t_L��H��H��D��e��H�T$L��Hc�K�<4�e��A�H��L��[]A\A]A^A_�H���^���Å��P���fDE1���1�1��t��D��H��H��[]A\A]A^A_�>H��fDH��H��[]A\A]A^A_�"Q��f���H��t'H��t2�>H��t"f.�H���:u�)�� a��H���@1���@H����P�����UH��SH���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��tqH��tlHc�I��I��H�����H��$��H��H��H�D$H�D$ �$�D$0H�D$�o���D�H�L$dH3%(uH���[]����������S��@��H��t7H��t2UI��H��I��SHc�H������H��H���n���D�H��[]ø�����f.���H��t)����y"��@t�� ��t����u�������H��t'UH��SH��H���h��H��H��H�߉�[]�|��1�H�������D��H���������1��@H����H����t-�O��y����uz���O���@���t#��H��H����u�H=����G��fD����u@�у���t�WH���@����u �W����u�WH���u����������1��ff.�@�������H��t"H��t-���~���x(��f�H��t����������t��O����u܉�����t����%����G��?	�Ã�t��O����u�������t'���G������%�	��G��?	�Ã��j�����<��_����G��<��P�����G�����%���	��W��?	��G��%�	����H��u
�f�H���������y�ƒ���t?�ƒ���tM��<�un�G��<�uc�G��<�uX�G��<�uM��fD�G��<�u5��fD�G��<�u�G��<�u��h����1��D��f���H��tgH�����^fDH�ȃ�t5���t.H�Hy��€t�xH��u�ܐ�8t��H���€u��u�H)��H=���G��f�1��ff.�f���H��tO��xKUSH��H���uV��Hc�H�3>+H�}�H��H��tH��H��H���_���(H��H��H��[]�fD1�H���f�����xFH��u�?�H�׃����t=�H�W����t&��y����u@���t�H���J�����t�1���H���@��H����AWAVAUATI��USH��H����I���L���U��E�7A��D��E��tr1��fDA�_H��I��D��E��tSD��L��L���x����tYI�G��yу���t�/���H�����uE��A�ƀu�D��I��H��E��u�H�������[]A\A]A^A_�@H�����F�H��[]A\A]A^A_ø����Ð���������u~H��ty��ti�H�GA�ȅ�tgE1��f�A��D9�tK�H��A�ȅ�tIH��E��y�A��A���t�5DH���x���@���u���u�A��H��D9�u����m��D1��ff.�f���ATUSH����H�/H�����U����1�1�H����%����H��T
��u�H��txH�����wy����H)�H9�rlH��;+H�I��H�{�H��H��tZI�$H�����t"f��H�r<%u�B%H�rH���H��u�H��:+�DI�<$�I�,$H��[]A\�f�1�[H��]A\�H��:+I�<$�I�$1�1���k����fDSI��H��1�1Ҿ��D��H��t�C8��u�C8[ÐSI��H��1�1ҾX���D��H��t�C8��u�C8X[Ð��H��8+S�@�H��H��tuH�@ �@8H�@0�]������HcH=���H�C(HC‰CH�C H=���HC‰C�za��H�{(��CH�2:+�H�H��t0�H�CH��[�L��d1�1Ҿ��D����@H��H�5�d���H�J9+H��1�뼐��USH��H�����H�8+H���@�H��H����H�@ �@8H�@0��`����CH��uAH�C H�C(�CH=���vJ�C���H�H�CH��H��[]�fDH��H�k(H�����v7H�C �C���H=���w4�CH��t�H�
9+H��H�H��tX��H�C �kH=���v͐�C������1��@L��c1�1Ҿ��B���a���f�H��H�5Vc���H��7+H��1��6���ff.���H��t?�t9H�G0H��u0�W8��u+H�H�G(H�G H�H�G�fD1��D��H��twUH���@SH��H��H�O6+�H��t`H�X H�X(H�����v7H�������H�P�@H�(�@8H�@0H��[]�f��X�X���1��DL�Qb1�1Ҿ�H�D$�A��H�D$�f���H��t�Gø�����ff.�f���H��t$�G8��u�O�Q���v�V���v��v��t#������DH�W0�wH��t�r��H��GH�G������ff.����H��tOUSH��H��H�-76+�WH�E��t#H�;H��t��t��H�EH��H��[]��DH�H��u���D����H��tg�G8��u`H�H��tX�OH9O(t�����vw�WH�G ��t?��tr�H�W H�G(����H=���HC��GH�����v/�G����@��H�	�H�H�G(H=���wB�G1҉W�f�H�O(�f.�H�WH��t�H)�H�HG(�H�W �v�����G���1��D��H�����G8�����WH9W(t��������WH9W t�������H����H�W H9�r|H)�ATUH��SH���GH�W H�?H�47��������H�KH����H�C(I��H�3I)�H)�H�C(L9�wgH���1f��H�CH�S H��H�C(H�S L�H�C(�?�1��DH�W(�WH9W �M����T���f�H�W H���N����ѐH�C(H�3H)�H�C(H=�������HC��CH�����w�SH��[]A\�@�C���H��[]A\�f��e��H�H�C �H�C(H�S �fD��H���#Hcƅ��u�DATUS�O8H�������OH9O(t�����wH�O(�KH9K t�����wH�K �S����H�K(H�s H��H)�H9���H��H��H9��RH9���H�,	H��H�����HH���H��0+H�;H�����H���H���@H�����H�����H�k(H��HBʼnCH�C H=���HB�H��H�S�S8��t���������G�[]A\��������f.�1���@H�<0H�odH���H�����HC��E���@H�SH���S���H)�I��H�t=H���H����J�< H�CH�;�;���f�H�D0H=��wSH����wJ����H�����H�;HG�H��/+H����H�5�H���A���1�����f.�H�5�H���!���1���H�5]H������1�����@��H��H��tL�F8��uEH�>H��t=�VH9V(t�����vTH�V D�FL9�t	A�����vH��t%��m���1��DL�F L��H��u�H�E-+�H���l��H�V(�f.���H��t�G8��uH��@1��D��H��tW�G8��uP�WH9W(t�����v/�OH�G �����wH9�uH��H��H�O H�DH�W(��f.�1��ff.�f���H�����G8����H�O(D�GL9�t	A�����vjD�OH�W A�����wL9�uDH)�H9�v\H�H�H�W �H�W(����H�����HCщWH�W H�����GщW�DL�O L����L�G(L����������f���1�H��t,�W8��u%�WH9W(t�����v�OH�G �����wH9�u!���OH�G H�W(�����v���H�O H������f.���H��t?�G8��u8H�G(�OH9�t�����v,�wH�W �����wH9�u8H9�sH��H)��1��D�wH��H�W H�O(�����v����H��H�w H9�s��f��������H��t4�W8��u-�WH9W(t�����v"�OH�W �����wH9�u&1�H�����D�OH�W(H�W �����v���H��1�H�O H������ff.�@��AUATUSH��H����D�g8H��E����H���WH9W(t��������SH9S t��������C������u
H������H�K(H9�������������w����H�U
H���H�����HB�L�����H�{H����M��I)�I9��3H�\++I�t-�H���MH�CL�H��DE1�H��D��[]A\A]��H�W(�SH9S ��������f.��CH�S �������fDH�{ �vQH9���H����H����H����H�H9�w�H���f.�H�E
H���H�����HB�L�M���qH+K H��c��H��,+H��I��H��t`H�3H�S H���`N��H�9,+H�;�H�C A�D��H����H��H9�w�*f.�H�H9��H��y�H�5eWH���p����H��A�[D��]A\A]�@H��)+H��L��I��H��t�L�+����H�����H�k(HC�H�C �kH=���w�CA��P���D�C���A��9���fDH�U
H����6���H���������fDH�5^H�������@H�S L����\��H�CH�S H���Z���H��++H��H�C I����8����H���]���H���S�����AUATUSH��H���iH��H���]D�g8E���PI���OH9O(t��������KH9K t��������{��������������H�{ H�C(Hc�H)�H9�r;H��H��H9���{H�t=u
H������H���M3������H�{ H;H��L����[��H�S H�H�H�S �H�C(����H=���HC‰CH�C H=���G‰CH��D��[]A\A]�DH�K �,����H�O(�����L���0D���…�x*�%���H��D��[]A\A]�H�5�
H������A�������H�5�TH��A����k���H�5/
H��A��������Q���ff.����H��tg�G8��u`�WH9W(t�����v?�WH9W t�����v�t8H��t3������y:��f�H�W ��f.�H�W(�f.�������f.����`�����AVAUATUSH���wD�o8H��E���gH��WH9W(t��������UH9U t��������}�0�"H���W)��H�����'H���A)��H��t|H�5��H��L�5e�S��H����L�������L�c<"u�H9�tH��H��H)��g9��L���H���W9��L����f�H�U �i����H�W(�D����H�5�%H���1S��H��H���f_��H�5i%H���S��[D��]A\A]A^�H9�tH��H��H)���8��H��H�5����R��[D��]A\A]A^�f.�H��H�5���R��H��H���^���A������ff.����H��twSH���@H��H��%+�H��tdD�C�{����H�X0�@8I�����L��H��H�x C�H�����L�@(C։H�P�S�PH�H�H�SH�PH��[�1��DL��Q1�1Ҿ�H�D$��0��H�D$��f���USH��H����WH9W(t��������WH9W t�����vg�G8H������H�o0H����H�G H=���w`H�W(H�����ws�E�U�CH�߉EH�H�EH�CH�EH��%+�H��H��[]�f�H�W �f.�H�W(�o����H�5�	��H�������H�E�@H�5�	���H�C �E����E�t����H��1��v+��H��H��[]�@1��u������USH��H��H��t~�o8��uw�WH9W(t�����vF�WH9W t�����v%H��tH�3H��t�S��u1H���a��H����[]�H�W ��f.�H�W(�f.��;6�������H�߽�����ca��븐��H��tgH��tb�G8��u[�OH9O(t�����v:�WL�G �����wI9�uH�H�V H�VL�H�V(�H�W I�����H�O(�f.�������f.���H�����H��tpH��tk�W8��u<�OH�W(�����wH9�tH�O(H�ʋOH9O t�����wH�O H�FH+H9�w��H��H�5
�0�1�H���f��ff.�@��H����H��tn�G8��ugD�OL9O(t	A�����vDL�G D�WM9�t	A�����vH�?H�L�H�VH�H�V H�~(�DL�W M�����L�O(�f.�H�a�H�F(H�F H�F�����ø����ÐH��tCUSH��H��H�-�"+H� H�EH��t��H�EH�{0H��t��H�EH��H��[]��fD��H��t[�~uU�F�F��~GAU��I��ATL�d@UI��H��S1�H��H�E H�H�8t$H��L9�u�H��[]A\A]����Hc@��x�I�UPL��H�4������ff.�H��1�H��t
�GH�H��H�E1�1�VA�1�R1�jjjP1�V1�jjjj�<��H��hÐH����UH��SH��H���OH��tTHcWLH�GP9�)ɉOHH��H�Y+Hc�H�4��H��thH�CPHcSL�J�U�KLH�,�1�H��[]�f�H��+�GH� �H�CPH��u�H�5H�������CH�����뵸�����H�5�H�����CH�����CH���ff.�f�S�WXH����u=H�n+�GX� �H��H�C`H��tN�C\Hc�H������P�S\[�fD�G\H�`9���H�T+�SXHc�H�4��H��H��t#H�C`�H��H�5\�G����CX�����[�H��H�5?�*����CX�����CX��[��H��H��tOH��G�G�)�H��H�
E1�1�VA�Q1�jP1�jR1�V1�jjjh��!:��H��h�@1�1��f�H����H����AWAVAUATUSH��D�^E��~gIc�H�^ L�@I��J�D�N�T�A�[�H�[H��I)��DH��I9�t/H9u�Y9Xu�D9@u�D9H��H��I9�u�f�H�ˋNE��E��I��H��I������H��+�F���H�E H���D�]IcӋK(H�RH�ЋSL�8�PD�`D�p�@A�C�E�m��uyH�R+�C(� �H�C0H����HcS,�,��C,H��[]A\A]A^A_�DH�F A9�|��H��H�3+�NHc�H�4IH���H����H�E �P����HcS,H�C09���H��H��+�K(Hc�H�4��H����H�C0�o����G�H�5"�����G�H�5(���H�56L������E�9���H�5L������C(����H�5L������U������E���H�5�L���h����S(������C(����@D�GLE���;AWAVAUATI��US1�H��(I�D$PH�,�H��t"�}u�U��t��tH�M H�9t%DH��A9\$L�H��([]A\A]A^A_�fDD�iA��A9�t�E��xϋy��yȋq��y���t�Ic��M,E1�H�t$H��H�t$����DH�U0E1�Jc�H�ЋP���`I��D9x~VH�H K�H��D9ru�H�t$D�JL��I��I�L$PD�BH�D$�B����H�H�1H�����H�D$D9x�DI��D9m,~I�D$P�t���@Ã}uI�D$PH�t$H����E�E����f.�AWLc�AVAUATUSH��H�GPN�,�M����Hc�H�,�H�����E����v~�}�EuA�E�E�L$A��I��1�A�������~IH�U H�[H��HcA��x,H�H��tID�AI�OPE��H��E��yD�D$L��L���u���H��9]��EH��[]A\A]A^A_�fDD9�t�D�IE��y"�I��y�L$��D��L���
�����I�WPE��L��L��H��1������fDUSH��H��H�����O8H����tTHcW<H�G@9�)ɉO8H��H�Y+Hc�H�4��H��t|H�C@HcS<�J�U�K<H�,�1�H��[]�f�H��+�G8� �H�C@H��u�H�5�H�������C8�������G�H�5v���������H�5�H�������C8�����C8���v���fDH��H�����1�H��1�H��H9�r7H��SH�K+H��H��H��H��H��tH��1�H����0��H��H��[�f�1�H���f.�SH���8H��H��+�H��t%H�f�@@@(H��[��H�5��H��H�D$����H�D$��DUH��SH��H��H��tH��A�����H��H��H��E��[1�]� ����k���H��H��H�D$����H�T$H�S(�UA��H��SH��H��H��tH��H��H��H��A�����[1�]�����L$����H��H��H�$���H�$D�L$H�S(�f�UA��H��SH��H��H��tH��H��H��H��A�����[1�]�p����L$���H��H��H�$�X���H�$D�D$H�S(�f�H��+ATI���`U��S�H��H��tIH�xH��H�H��H�@X1�H)���`���H��kH�C�CH��[]A\��H�56�L���y������AUI��ATUH��SH��H���OH��uvH��+�GH�@�H�ChH����HcSLH��L��L�$�%��H�KhI�$HcCLH��H��H�l��H�D�SLH�H�@H��[]A\A]�HcWLH�Gh�r9��ɉOHH��H��+Hc�H���H��t$H�Ch�w���H�5f�1����CH룐H�5N�1���SH������CH���ff.�UH���xSH��H��+�H��H��tMH�xH��H�H��H�@p1�H)���x���H�H��t4H���#��H�H�C�����H�CH�ChH��H��[]�f.�H���ff.������H����Hc�H�>��H����H�=��gQ���H���	�H�=���GQ���H����H�={��'Q���H���
�H�=M��Q���H����H�=���P���H����H�=����P���H����H�=��P���H����H�=���P���H����H�=f��gP���H����H�=9��GP���H����H�=��'P���H����H�=��P���H����H�=����O���H����H�=����O���H����H�=e��O���H���
�H�=7��O���H����H�=��gO���H����H�=��GO���H����H�=���'O���H����H�=}��O���H����H�=Q���N���H����H�= ���N���H����H�=���N���H����H�=��N���H����H�=���gN���H����H�=k��GN���H����H�=C��'N���H����H�=��N���H����H�=���M���H����H�=����M���H����H�=���M���H����H�=X��M���H����H�='��gM���H����H�=���GM���H����H�=��'M���H����H�=���M���H����H�="���L���H����H�=D���L���H���	�H�='��L���H����H�=���L���H����H�=��gL���H����H�=���GL���H���	�H�=���'L���H����H�=^��L���H���	�H�=A���K���H���	�H�=���K���H���	�H�=��K���H����H�=���K���H����H�=���gK���H����H�=p��GK���H����H�=H��'K���H����H�=��K���H����H�=����J����ff.�@���=����U��SH��H��Hco0�������H�z
+�G0�`�H�C8H���'HcS0H��1�H�RH����%���C4H�{8HcЋK(H�RH�,�H�S H�U�SP�U�Q�UH�SHcR(��~H�}H��H����H�s@�:0���C4���C4H��[]�f.��G4H�89���D-�C0H�H�4@H��+H���H�����S0H�C8H�Lm1�H�<�)�Hc�H�RH���.%���C4H�{8�@���f���H�q+H��H�S8H�EHcC4H�@H��H�xH��t_H�CHcP(H���;���fDH�5��1��z��C0�-���fDH�5��1��Z��S0������C0����fDH�5x�1��2����������H���|H���sH���jM���aAWAVAUATUSH��(�*���L�W��M���;M�ZHM���.�����_p�����A�rXM��t����Hc�A�<���A�A�rXE1�1���
��@��t^D�nE��D����D�H�A�D���~1A9B@|+��D��Mc�C�<�tI�B`J�4�Hcǃ�I�4��A�rX�9���A��I��D9����~g��tc1��f�9�~YD�fA��D�����H�A�D���~2A9B@|,��A��H�A�<�uI�B`H�4�Hcǃ�I�4��A�rXA��H��D9��1�H��([]A\A]A^A_�f�M����L�g 1�A�<$��A�����A�\$��~�L�$I��I��1�H�L$E1��t$DI�T$ H�[H��HcH����H�H����H�zH�����p��W4�w��V4��Hc@I�v���+D�\$E����I�����H��tH�v0H��H��t9H~,H�4$D�R(Ic�A��H��E���`H�R H�A�E@A�T$�KD9���9���H�����)����������������I�D$ 1���D9������HcH��xGH�0H��t?L�FM��t6�X������v(D�HE��yI�~H�H��H��t�9��D��H��A9T$��B���DL�gxM���e���������(���f�H���'���H�FH��H�������8����������3��L�L�L$�~4���
H�8H���H�5'�1�L�L$A������f�I�N@���q���@H�8�����3��L�L�L$�4������_P�^����H�$�~(Ic�A��H�˅�tJH�v H�1H�\$�����fD�����L�g M���M������fDA�A�rX����L�븃���AUATI��USH��L�-L+A�T$LH�PI�E��~<1�f�H�,�H��tH�}H��t��I�EH���I�|$PI�EH��A9\$L�H��t��I�EA�T$��t���tIH��L��[]A\A]��I�|$H��t��A�T$I�E��u�I�|$ H��t��A�T$I�E���u�I�|$H��t���I�EH��L��[]A\A]��f.�H����ATL�%^+USH��H�?H��tA�$H�{PH��t&�KL��~1�H�<�H���{�9kLH�{P�A�$H�C@H��t/�S<��~!1�@H�<�H��t	���H�C@H��9k<�H��A�$H�{`I�$H��t��I�$H��[]A\��f.��ff.�@�G4��~Y���G4H�H�@H�G8H��H�H�W �P�WP�P�W(H�WHcR(��~H�pH��t-H�@H��tH���{(����������f�H�1+S�H���H�=��H��B�������[�@��H��8�u#�QH��H�q��u�I��1�A�8���fD��*t��H��H��H�ׄ�t�>*t1��@L�F�f.�H�����t�<|u�~|uH��L���H���|L��������H����AWAVAUATUSH��(L�~HM���I��H�N`H���	�GP�D$�FXH���L�L$H��I�����$�PD�p�L�|$E1ɉT$�T$H��Hc‰T$M��I��H���$H��tL��������u,I�AM9���I��G�T�E��E��~�D9U@|�J�<�L9�u�I�D$E�r�H��L��E�t$PL�|$H��t9H�sPH��t0�L$+L$B�)I�|$H�L$Hc�H��H��ЋCXL�{H���D$D�T$E��Mc�C����tJ������H��([]A\A]A^A_��D�l$��D��1�Mc�C�<���H��([]A\A]A^A_�L��I��$�H��t	H��+�H�����A�$����I��$��D$A�D$pH��(�����[]A\A]A^A_�f��ff.�@H���B�<	wSH��E1�1�A�����(f���0��D���)�9��H��H���r�@��	w=���~�A���A��tÐ������f.�AVAUATI��USD�WLL�GPE��~H1��
@H��A9�~7I�<�H�,�H��t�?u��<�M�D$PE�T$LH��I�(A9�ʐE��A����Mc�1�I���'��}t�EA��I��A�����K�,0H��t�}��t�~�1��H��9]~_H�U H�[H��H�8u�P��x�D9��%�p��y��@�����HD��L���EH�����E�9]�DA��M�D$PI��A����h���E�T$L����E����A�B�L��I�|��H�H��tX�H��~QH�P �A�H�@H�BH���@H��H9�t0H��H�:u�D�jE��y�j��x��B����H��H9�u��H��H9�u�1�DI��H��t�BH��A9��I�8H���-�GA�B�H��M�\���F�F��~gH�N ��1�H�@H�AL���)I��H��t�J��u
�BH��H��I9�t&H��HcQ��x�H�9űY��y�H��I9�u�DH��u�A����I�@DH�0H��t
�~�f���H��I9�u�1��f�H��A9\$L~-I�<�H��t�G��u����M�D$PI��H��A9\$L�[]A\A]A^���@�������E�����������E���[]A\A]A^�AWAVAUATUSH��L�|$PH����~���FHE��E��A�̉�H��H�<$��uqH�
��*�FH� H�L$�H�L$H��H�CP����H��tzHcKLH�sP�(D�`�yD�hD�pL�x�{LH��H��[]A\A]A^A_�fD;FL)�H�{P�FHH�H�4�H�A�*�H����H�CPH�
��*��H��u�H�<$H��H�5��[]A\A]A^A_�!����G�H�5��H��[]A\A]A^A_������G�H�5`����H�<$H�5�������CH�/���@H�<$H�5a�����KH������CH����ff.��USH��H��H�G���L���M����N�E��P�L��Z����S�b��C����I�0H�PH�W�xs�nH�xH�{�H�ʃ�߃�A��v�у�0��	v1���-u:H�pH�s�P�DH��H�s��Ѓ�߃�A��v�BЃ�	v�-t�)������H����H�PH�W�P��n���c�
1�j��e��H���mH�G���H�PH�W�P��u�k��l����t����m��1�d��o��H���iH�G�q�H�PH�W�P��c�{��d����s����e�O��i����f��1�r��ou"H���yH�G�H��1�fH�G�H�s0H��t/�~tQH��[]�f.�H��1�kH�G�����H���n�H�C0H��t�H�hH��[]�f.�H���SH��E1�UE1����XZH��[]ÐH�PH�W�P��d����l�j1�n��o�R���H���qH�G�@���H��1�eH�G�,���@H�PH�W�P��s����l��1�z��p�����H���}H�G����H��1�lH�G����@H��1�gH�G���@H��1�oH�G���@H��1�tH�G���@H��1�{H�G�l���@�G�H�5��H��H��[]����@H�PH�W�P��m���c�%��k��1�~��o����H����H�G����H��1�pH�G���@H��1�sH�G����@H��1�hH�G���@H�PH�W�P��c����f����o�1���n�y���H����H�G�g����H��1�uH�G�L���@H��1�|H�G�4���@H��1�H�G����@�G�H�5u����H��1�H�G��H��1�vH�G����H��1�H�G����H��1�H�G���H��1�wH�G���H��1�H�G���H��1�xH�G�y���H��1�H�G�e���DL�G1�I�PI��H�W�
���qЃ�	w�H��L9�u��@�q���w�D���f��q���w�D���f�H���G�H�5����������H���ff.�@ATUSH�GH�����.����\ulH�PH�WD�`D��A��p��A��P��A�L$������Q�H����H�s0H���.�~��H��H�S[]A\���G�H�5��H��[]A\����fDH�w0H�����~uQH���WE1�E1�j��|���AXH�CAY�.f�H�PH�W�x{��H��H�G��H�C�8}�tH��H�C[]A\��A�L$߀�=wH��7@<H�������Mހ�>wH�$[@H������A��~�����A��u�����C@��4wH�CCH���1�C�H�5�����f��C�H��[H�5��]A\���fDH�PH�W�x{u�H��H�G����H�C0H�������@(����@@��rtr@��tt\@��n�
DD�H���SH��E��jE���#���^H�S_�<������F��H�C0H�C���f�A�	��A�
���C�H�5#�����D�H������H�C0H����@��r����@��t��@��u��H�������(�������H�CH�PH�S�x\��H�PH�S�xu��H���`���-�=�w}��
��H�S0�B,H�S�.���f.�@��nu*�@,
H�S�����@,
H�S���f.�D�`,H�S����@,	H�S������y��k����C�H�5Y�����H�s0@��H���H���*H�CH��t%�~�.���P�SE1�E1�jH���V�ZY������H�����H�C0����ff.��ATL�%[�USH��H�� H�wdH�%(H�D$1�H�l$�f�<\�����@��[���UH��1��;��Hct$A��H�CH�A��-u�x]t�@�<^t<[�@H�s�>-���F��[����H�NH�K�V�Ѓ�\�=��[D�D$���
���H��H��1����D�D$A��E9��@�C�H�5y�H���Q��H�s�H������H�s�<]��<-�„�t��t�S�������H�D$dH3%(�3H�� []A\��H���SH�s0E��j�H����YH�s_��C�H�5�H�����H�s�u�����C�H�5��H�����H�s�U����H�s�K�����C�H�5j�H���j��H�s�%����H�FH�CD�NA�A�<UwW��Ic�L�>��A�	�D$E9������HcD$H��HC�SH�s0j�$���A�
�D$��A�
��C�H�5Z�H������H�s�������USH��H��H�W�o�<^t9<]u"�'<-u�z[tNH���N���H�S�<]t�K��t�H��[]�DH��1�����H�W�G����H�S�k��DH���CH��H�S�q���H�C�k�8]u
H��H�C��C�H��H��H�5��[]���ff.�@AWAVAUATUSH��(H�T$�L$H���I��H�wI��H��������H�~H�M����H�W �:���D$�D$f�����I�U M���XE�u(D�ZA�E,E9��H�B Ic�H�RH�,�Lc}E��xJHcUH�]��W4����V4������I�E@�4�I�EH�@0H��;0|;p��f�I�U D�ZA�E(D�pE�u(E9������E��uVI�E D�@E����A�E���9���H��([]A\A]A^A_�f�H��(H��L��[]A\A]A^A_��;s|
���fD�|$��tI�E H����A�EL����I�UhA�EH��������������IcEPH��H�H�BL�"I�U H�D$M��������|$��v���mE1�I�}@������D$��t�I�E �8�D$�r���I���H��t	H���*�L������I���I�E I�ExI�E�@(�D$���3���Hc�I���I�u@H������D$�����M�����|$����E1�I�EH��tH��tH�L$H��tH�SXH�sI�}��A�E(I�U ��9B~E�MLE����L���%��HcE��xI�U@��HcE=U4wI�U@��I�EHcUH�@H��H��t	�:��H�}A�EI�U A�E(����I�MhH�L$H���$A�]P�KA�MPA;ML�������H�D$�D$�N����I�u H��D�^M���d���E���[���E1�H�V K�vL�<�IcG��x|L9�twI�UI�}@H�R0D��H��D;Z}]I�D�\$H�$H��tLH�pL���0+��H�$D�\$�����D;|"D;Z}I�H��tH�pL���+�����h���I�u @D�^I��H��E9��\�������H���'M�������H�{L9���H���9L���@��S(�����������T���A�E����E�u(�`���E������A�S�H�RL�\�f.�HcPH9�t(��x$I�uI�}@H�v0H�4֋�;�����;V���H��I9�u������WL���~�D$�.�����L$��������������HcE��xI�UI�u@H�R0�L�9�������S��� ����C������I�uA��H�vJ��H�$E9�}E�]LE���KL���W���C�SA�E,��8f�L���8��E�}(M�u H�sL���D)��A�M,�qA�u,���i����C�S9��A�}P�GA�EPH�H��IEhL� H�@H�D$M����9��H�$E�ULE�}(M�u A�E(����I�E E���o���H�T$L��L���/���Z���f.�H�l$Hc��D$H��H�H�]L�eH�\$����H�T$L��L������IcEP�D$H��IEhL� H�@H�D$A�E���fDI���H��t	H���*�L�����I���I�u@I���I�E I�ExI�EHcP(H������I�EHcUH�@H������s(���������������H��([��]A\A]A^A_������������H�A�*�#�H�=��H��0%��A�E����E�u(�\����K(���4����t$���|����#���H�T$L��L���������C���H�T$L��L��������9�������Z���A�}P9��v����I�������������ATUS�������H�5�Hc�H�>����[]A\�-��D1���j��A���߃�A��v/��@�����v$��(�����v�����A������1�E��@�ʼn�[]A\ý������f���f���[]A\��D��[]A\��	��D��[]A\�e�D��[]A\�u&��D��[]A\�E�D��[]A\��D��[]A\��D��� �[���H�&��H��H��H�Ճ��>���D��� wH�&��H��H��H�Ճ���@������f���
��1�
@��!���f.�9���1�9�@��!�����@������؃�߃�A��v��@������A����D����p�ؽ��߃�A���w�����@������h�����(������������1�_A�ă�:��A	�E���!���f���[]A\��D��[]A\���D��L��[]A\���f���[]A\�u��D��[]A\����D��[]A\����D��[]A\����D��[]A\�%��D��[]A\�U��D��[]A\����D��[]A\��D��[]A\��D��[]A\�u��D��[]A\���D������Ņ��8������x���Ņ��'������#��A�����������������1����f���1������@�����@��[]A\���D��[]A\���D��[]A\�
���D��[]A\��D��[]A\���D��[]A\���D��[]A\�M��D��[]A\��!��D��[]A\�]'��D��[]A\�-��D��[]A\�}��D��[]A\��D��[]A\����D��[]A\�&�����F��A�ą����������H�5!�*��A��,��������������=�Q�������0�����������������H�5��*���������z���H�5c�*���������d���H�5��*��E1������A���H����CЃ�	�<����CӃ��0�����:������_����E1��A������H�5U�*���f���Ņ��������=�Q����0t|��!0E1�A������H�5�*��� �������������=�Q�������0�����뱍�(�����������������-���D���p�����f���ff.�f�AUATUSH��H��������������=��v �� ��=�v����A�����=��wGH���A����tz� ���w�������SL1�E1�����E1�H��D��[]A\A]����
�ƒ�����t��F�A�������w�H���A����u�H�=J�A������:�H��D��[]A\A]�@������u�A�H��9kL~�H�CPH��0L�@�H�P�x������D��u������u���fDE1�A��H��A��[]D��A\A]�@E1�A��A������D��v�G�E1�$�����L�C1�1�D������A�ċC(�����E��A��E������fDD�������/������E1�9s,A�����A��������fDAW�AVAUATUH��SH��(���t-�NH��t"9�w?u1��t|���������H��([]A\A]A^A_�fD��H��H���ǍA���vd�w����v�9���A�ȉ���=�w@H�5q�Hc�H�>������?�C(9E(t�1�H��([]A\A]A^A_�fDH��H��H���I���f.��u,��uh1�9s,D�M(��D�S(�&fDL�eL�k���01�D�M(M9�D�S(��1�����E9�����1��������@A�����4���fDH������…��G���D�M(D�S(�@A��y�����1��2����A�@�������A������A��rA�������1����@A��}�t���1�����A��
����A��jA���N���1������A�@��������A�������A��~A���!���1����@A��m����1�����A��i��1��j����A�������1��O���@A�@����<���A��� ���1��-���f.�A��q�����1������A�@������A�@���	����1�����A����Y���1�����@�}LE1�����H��L��I�NjCLL��E1���H�,$L��M����I��D9cL�zH�EPN�,8H�CPJ��A�E��t�L�2�H�A�V��vʍJ���v�9�w��L��M��I�Ń���A�}������t���t�9��C���W����������������cv	��c�K��u��t0��
u��	t&��u��t��u��
t��������������A�A�E��u"����������A�A�E��u�����i����|L���S���|L��I���C��M����H����8��@���D�M(D�S(M9���M���M���
L��L��������z���f.�I��H�,$H��A9oL�:���L���C(9E(�b���1�����DA�A�E������� ����6���A�6A�E����������E�^E;^�����ƃ�L�d$��L�|$A��M��H�\$A��D���/f�u	E����E��t	������A;^A�A�OA�W��M�G�'��y�L�d$L�|$H�\$���E9������1�����A�uA9v�1�A�vA9u�…�����u�����D�����������������H�\$���E9��&���1������d��w|H�5��Hc�H�>���1҃�A�A�E��녃�1�A�A�E�����n�����{�Ӄ�s1�A�A�E�����R�����o뷃�k벃�e1�A�A�E�����1�����d��#�_������@�у���E��������l����L���@AWAVAUA�ATUSH��H��t:�~t4�F��~-��A��H��I��L�d@1�I��H�E H�H�8tH��L9�u�H��D��[]A\A]A^A_�Hc@��x�I�WP�EL��H�4�D���v������DD��f�AWE1�I��AVAUATUSH��(D�Op�GLA������f�I�GPN�$�M����A�|$��E1�I�\$ K�DmL�4�I�>��A�~���M����A�E�1�H�L@H���H��H9���I�\$ H�C���t�H�H��t�A;Fu�I�H9�t8H��tȋp;ru����
��u�H�rH�xE���1�H9�����t��CA9Fu��CA9Fu�H���C����H9�u�I��E9l$�!���A�GLI��D9�������H�D$�D$�I�GPH�|$L�,�M���AA�}�6H�D$E1�I�] K�vL�$�I�<$��A�|$���M����A�F�1�L�T@J���U�I�<$H9�tH��t3�H�$���H�$��tA�D$L�d$�C�D$H��H9�tvI�] H�S���t�H�3H��u�IcD$���t�I�wPL��H�$H�4��	���IcT$L�����D$I�GPH�4�������H�$u�H��L�d$A�D$H9�u��I��E9u���H�D$H��t�@H�D$H�D$A9GL������D$A�GhH��([]A\A]A^A_Ëz,9x,��������H�L$L�D$D�$�)��D�$L�D$H�L$�����D$�ff.��AWAVAUATUSH��H��(H���t�yH��I�����AI������H���A�GI�������L��H���Ѻ������I���A�����L��L��L��E��H��褵��A�GH�k(���#��������E1�H��(D��[]A\A]A^A_�@D�aE���c����y�Y���H���(H��H��L�����H�k(L���N���@H���p���I��H���DH��H���	���H��L��H��諻������fDA�G���&���A�G��uA�GA�����L��L��L��E��H��赴��A�GH�k(���4�����������������H���x�������A�GH���I�w@H9�������A�w��uI�8��H������I�w@H��Hc�H�C`I��H��A�GD����A�G���BH�����I�W0I�w@D��H���L���A�W��� I�GE1�A�GH�k(�F���@A�GL��L��H��E1��W����$���f�A�GA�����L��L��L��E��H���~������f�A�GL��L��H���
��������Gv5�����������H���{���H��H��H������������������A�G1�H��E1�I�w0螹��H�S(I�w@H��莹���[���f�H������H��H����H��H��豰�����@H��H���M���A�G����w.������A�GI�w0H��H���������f���u#A�GI�W0I�w@H��E1�������������H����������k���H��H��tCH��H���������A�GI�W@H��I�w0蘸���H�5<�H��臯���A������G���DI�w8H��H���a�������H��*�`�I��H��t�H�xH��H�H��H�@X1�H)���`���H�A�GA�FA�GA�FA�GA�FA�GA�FIcGL����H�<�H���*�I�FPH���`A�OLE1�����H�H�t$�H�D$H�FH�D$H�N�*�H�t$H��H���WH�D$H�H�D$H�~H�AH��tH�L$�W��H�L$H�AH���FI�FPI�H�$H�
I�<$��A�MI��A�NLE9oL~)I�OPN�$�J�4�J� H�$H���I���L�$$1��I�F1�L��H��A�FI�w0�������X���H��L�k(���H��Hc�H�C`L��I��H��A�GD����A�G���BI�W@�I���H��L��H��D���ض��I�w0H��H���y������H�5�H���e���L��A����������$����G�H�5��A������)�������H�5�H��H�D$� ���I�FPH�L$I����H��H�5��H�L$���H�L$H�yH��t0H���*H�L$H�D$�H�L$H�D$H��I�FP1�I��o���H���*��@ATI��USH��H��H�o(�)��teDH�CH�K0�<|@��<)��@�u1҄�uL��H��H�������xM�CH�k(H�C0��uH������u�H��1�[]A\�L��H��H�߉D$�����D$H��[]A\ÐH�������[]A\�f�AUA��1�ATUSH��H��H�G L�g(�-���H�k(E��t�EH�C�8|t<H�k H��[]A\A]�DH��L�c(H��H��H�CH�C ���H�C�8|u�S��t�E��u�H�k(�fDAUATUSH��H��H�wdH�%(H�D$1�H�G0H�l$1�H���h����|t�P����ƒ�?v]��u��mH�S�<|t$��t <)t<(���H����<.��1�H�|$dH3<%(��H��[]A\A]�DH�O���H���	��f��H��賴��H�C0H���.H�sH��1����H�S0�B,HcD$HCH�C���?����*��������+�)��{����R���fDH���{t1H�S��H�s(1�H������H�k(1�H��H�������CtL�c 1�H�C H��L�k(H�C0���H�C�kt�8)��H��H�C�H���˳��H�C0H��tJH�S(L�h0H�h8H�P@H�CL�c �!���DH�S0���Ƀ��JH��H�C����fD�C�H�5^�H���B���H�C���?����*t������H�S0H��t��DH�S0H��t��B�fD�C�H�5��H������-���D<[�0H���`��H�{0�m���H�C�X���@H��L�cH�CL�������Ņ��JH�S�<,��E1�<}� �C�H�5n�H���j���E��tuH�S0H��� ����B�jD�b�
���D�C�H�5ʯH���*����U����C�H�5��H��E1�����H�C�8}����H��H�C�A���H�BH�C�z}��L�����A�ą�x�H�C�8}�:���H��H�C�C���DH���H��H�S賱��H�C0H���.���H�����H�C�8]uUH��H�C����H��H�S�c����C�H�5*�H��1��8������H��A����H�S����C�H�5ڮH���
����5���� ����AVAUATUSH���[H�H�0L�5��*I��I��H����A�H��H���4H�xH�@Hǀ�H��)����1����H�H�C`H��CPH�}HH�C0H�C8H�H�k��H�C(Hc}(L�kL�c��~vH��A�H�C@H����HcU(1�H��H���x��HcU(H�C@H��H���H�CHH�Ch�Cp����Hǃ�ǃ�H��[]A\A]A^�DH�C@Hǃ��H�_H�������ȐH�EH�H�C �:���1��@H�5��1�芥����H�5��1��r���H�;�*H��1��v���ff.�@��H����ATL�%
�*USH�W8H��I�$H�@H��tCH��t1�s0��~*1�fDH�LmH�|�H��t
��I�$H�S8H��9k0�H���H�{@I�$H��t��I�$H�ShH��t9�KL��~)1�@H��H��H�<
H��t
��I�$H�ShH��9kL�H���I�$H���H��t��I�$H��[]A\��f��ff.�@��1��E��D��AWAVAUATUSH���H�L$dH�%(H��$�1�H���TH�I���F�����I��I��H���#H�����L��H������(H�������H�D$H�*�*�{Hc��I��H����H�D$ H�L$H�D$Hc�L��L��Hc�H��H�L$�v�H�L$L��Hc�A�|I�|�\�A�DI�vH�~HtkH�L$L��L��蛿��L;|$tH�
�*�D$L����D$H��$�dH34%(uoH���[]A\A]A^A_�L�|$ L�|$�Z���f�H�T$�L��L�������f�H�����떸�����A�����������~������f���M��I��H��H��1��i���f���H��t8H��t���tH���H���8����H������������f���H����AWH���	AVAUI���ATUSH��H�=:�H������M���UI�MH��H��1��1��!��H�޿
�4��A�M�1�H���H�����E�UE���D��H���1�H������I�E H�ٺ�H�=ʮL�<��/���M���^E�G(E����A�wH���m���A�wYA�GH�/�Hc�H�>��H�ٺ�H�=������A�G��uA�OE�G�H��H�x�1��-���A�G���������������5H�޿
���H��A9m����A�MH�߭H��1��E1�����H�޿
����E�ME����I�EH�ٺ�H�=4�N�$�����M���fA�$��������A�L$E�D$H��1�H�
��E1��M���A�T$��h�?���xH�=��H��1�����H�EH�����x���D�EH�3�H�߾1����I��E9t$��I�T$ K�vH�پH�=��H�,º	�6���H�����E���J�E��t"H�ك��_��H�=^�����M��xH�]��H��1��\����M��V4����H�ٺ�H�=8����H�EH�������M�H��I��H�2�����E9t$�%����I��E9}�B���A�M(H�u�H��1��1�L�%�����A�M(��~4�I�E0��L��H��H��H��D�HD�1����A9m(�H��[]A\A]A^A_�@�H,H���H��1���g���H�E�W���fDH�ٺ�H�=�����O���f.���H�=��������DH�ٺ�H�=Q��w�������f�H�ٺ�H�=���W����9���f�I�G@I�W0�H�ߋJD�@H�/�1�������fDH�ٺ�H�=1�����A�$���
���H�ٺ�H�=�������@I�OH��H��1���>���A�G������A�O,H�q�H��1����������f�A�OLH��H�V�1��E1���A�L��C���fDA�vH��I��谨��A�NE�FH��H�2��1����E9gL�����I�GP�H�ٺ	H�=�N�4�����A�6��t�H�ٺ	�H�=֩����DH�ٺ�H�=������A�G���fDH�ٺ	�H�=Y����A�G����fDH�ٺ�H�='��w���A�G���fDH�ٺ�H�=���O���A�G�v���fDH�ٺ�H�=Ѩ�'���A�G�N���fDH�ٺ�H�=�����A�G�&���fDH�ٺ�H�=�����A�G���fDH�ٺ�H�=������2���f.�H�ٺ�I��H�=]����E9}�I�������@��H��H�ٺ�[H�=$�]A\A]A^A_�A������AWAVAUATUSH���dH�%(H��$�1�H����H�������H�H��H�|$8H�D$0H�GHc(H��$�DŽ$�H�DŽ$�H�D$PH�D$XH�D$`H�D$hHDŽ$��D$x����H�a�*H���H�D$pH���$HcS(1�H��H�������D$0L�d$,H�l$0����DH�T$PH���Hc�$�H�$��9u	�:�$�rHcD$X�D$,�9�kH�|$p�_9��;H�J H�4@H�<�w��xH�?D�oE���D�_E����D$\����H�@L�4�IcF���3H�L$pH���H�t$8��H�v0H�Ƌ09��k�@9��`A�~�F9��-IcF����H�L$pH���3H�T$8H���%H�z0H���H�4��;T������IcF=U4�IcVH�CI�>H���D$XH�D$Pt�D$,�$��D$0���~���H�D$hH���SH�-��*H�|$pH�Ut0�L$`��~(1�H�[H�|�H��t��H�UH�D$hH��9\$`�H����M�>M����Hc�$�H�$��>��E�GE��u2A���~*A�~�D$\�D$,����H���7������f��D$X�J���D$X9�}.H�J H�H�4@�t��,����D$X���D$0����fD��uH�D$P�p�����H���D$4����D$0�����D$\9�~�H�J H�4@�t�����L��1�����L�������A�Ń�tT���t���E�WE�����H�T$P�D$X�J���.���@�D$X��9B����H���8������A�O����A�G����H�SIcvH�<�A�VH�|$����H�D$pH����H�L$8H����L�I0M����Hc�H�T$PL���D$XA�:�J��A;|������9�����A�:A�GA�O�D$\��9f�L��1����L���������|$\�W�T$\����A�GA�O9�����$��t$,Ɖ�$�Hc�H�$��>��9�|�H�D$P�T$XH���D$X����H�D$H�D$�T$H�D$P���T$H�D$Hc�$�H�$��T$XH�D$P�I���f�IcF=U4�����H�L$pH����H�D$h�D$0����H����H�|$P�AH�|$pH��t	H�@�*��D$0��tf���u1���$��������H��$�dH3%(��H���[]A\A]A^A_�fD����@H�D$p1��y�����f�H���*�#�H�=�H����D$0�����D$X�����H���*H��H�������@E�OE���9����&���fD��$�9������IcF����DA�~��������H�D$hH���b���f���������fD�D$0�����5���H�D$hH���2������D�|$XH�t$P�W;V�[���H�����IcF���?���H�T$pL��A�:�(���fD1�9����@������IcF��xH�T$pH��������,�A���)����$���@��A�OA��@���H�5�1��k�������������l��H�T$P���J�&���ff.����H����ATL�%��*USH��H�?H��tA�$H�{H��t*�s��~1��H�<�H������9kH�{�A�$H�C H��t/�K��~!1�@H�<�H��t	�2���H�C H��9k�H��A�$H�{0I�$H��t��I�$H�{HH��t��I�$H�{PH��t��I�$H�{`H��t)�SX��~1�H�<�H����9kXI�$H�{`��I�$H��[]A\��f��ff.�@��H��t邫��f��ff.�@��S1�褜��H��H��t9H�@ H��茙��H�C(H�CH��t0�H��H��������x�CpH��[�fDH�{�Ϗ��H��1����H��[���H�����G8���t�f.�ATI��USH�����H��H����H�xPH��t*�@L��~1�f�H�<�H���c���9kLH�{P�H��*�A�D$H�߉C<I�D$ H�C@A�D$�CLI�D$�Ch����H�CPA�D$<�Cp����H�C@H��H�CP�D$�����D$A�D$8H��[]A\ø����ø������ff.�f�AWI���hAVAUATUSH��xH�C�*�I��H���H�xH��H�H��H�@`1�H)���h���H�I�A�WpI�A�GLA�FI�GPI�FA�G<A�FI�G@I�F A�G\A�F(I�G`I�F0A�GhA�V<A�F8�������t:E�f(E��u1A�Gl�D$��u%I�F H��tH�H��t�x��f.�I�A�GLI�GPA�G<I�G@A�G\I�G`H��xL��[]A\A]A^A_��L���8���A�F8�a����H�5�L���Y�����Ic~H���H�D$ H���A�n���}I�V1�1�H�t$ �D����H��A9F~H�<�u�����������L$PIc~H���H��H����Ic~H���H�D$H����E�^E����I�F H��x�
�x���L�|$(L�t$I��@H�X�D$E1�D�h���u��I�GM9���I��J�|�H���c���t�H�D$F�|��D;|$��H�D$D9p��H�D$H�@ J��xuI���x�z���H�î*H�|$ I��L�t$�H�|$��D$��L�l��I�<$I���M9�u�H��L��E1�������HcD$H�t$H��B�D��L�d��|���I�$H���x�D$�K����D$�L�t$L�|$(���D$THc�D$P�xHc�艔��I��H����HcD$E�N1�E1�I�~H�D$@E���sH�l$`H�L$ L��I��L�|$XL�L$L�t$8M��F��A����D�|$TN�,�E��A�uIc�A�4�E�EE����L��D�T$M��1�L�\$HI���D9��H��A9]��I�u H�[H�,�HcU���t�H�uH��t�Hc>H�~XE�$�tH��t9C�4'��Hc�I�t����>��u��H��t�H�UE�Mc�H�RXJ���fDHc|$PH�t$@�H�L$0L�L$(D�T$�E���L�L$(H�L$0H���vHcUD�T$�L��M��L�\$HI��H�t$8H�~H�t$8I��D9^����H�l$`L�|$XM��I��I��A�F8H����A�N1�M��M�݅�
�(�I�~H�<�H��菉��A9^�I�~M��M��H�(�*L�\$(L�D$�L�D$L�\$(I�F I�FA�FH��tbA�VE1��~>L�\$H��M��L��I��J�<�H��t	�o���H�C I��D9c�L��L�\$I��M��H��L�\$(H��L�D$�L�D$L�\$(�D$H�|$ M�FHI�F A�FX�D$PA�FM�^PI�n`A�F@�H�|$����L�t$8M��H�l$`L�|$XA�F8H����H�.�*L�L$H��L�D$L��H�|$ �H�|$��t$��t#�D$I���L�l�DI�<$I���M9�u�H���7���D�T$L�t$E�����D$H���*I���L�d�I�}I���M9�u�H�|$�H��H�|$ �L��E1�������D$P���H�k�*�G���H�_�*H�|$ �H�|$����L�\$HH�|$XH�D$hL��H�5�H�L$0M��L�\$(H�D$�L���H�D$8L�L$L�\$(H�L$0H�xH�D$h�Z���H�5ߖL������H��*L��E1���n���H�5��L�����H���*�$���H�5��L���݇��H���*����H���*����D$P���xHc����I��H���
����D$T�V���H�\�*H�|$ I��H�|$��D$��L�l�I�<$I���M9�u����H�$�*���ff.�@��USH���ђ��H����H�@ H��H��赏��H��H�C(H��H�C�R����H�����H�C�8ut�S��uUH�C(H�SH�{PH�C ��tH���n���H���V����C��uH�����H��H�����H��H��[]�f�H��1����H��H��[]�@�C�H�5J�H���R����q���D1�H��H��[]�ff.����H��t	wp���H��tH�G�f�1��ff.�f���H��tH��t�1��f�������f.���H��A��H��A��E���H����AWI���AVM��AUI��ATUH��SH��H��襏��I��H��tEL�pXL���q���L��H��L��I�D$H�������xH��H��t/H��[]A\A]A^A_�L��踞��H��1�[]A\A]A^A_��H�C(��f.�1��ff.�f���AWAVAUATUSH��(H��A��H����A��(H���H�4$�M��M��H��I��H���Ҏ��I��H����L�xXM��tA�<$uFH��莴��I�EH�4$L��L��H���������M��M����H��(L��[]A\A]A^A_�f�L��舶��H��I��H�D$�x���I��D��D�L�L$�D$�xH���*Hc��L�L$H��I��tzMc�H��H��L��L�L$����L�L$HcT$L��C�|K�|����HcD$A�DM�}�:���@L���8����E1��D����L�{(�3����L������������AWAVAUI��ATUSH��dH�%(H��$�1�H����H�������H��H����I��M��L��H�$�>���I��H���rM��H�XXH�$�@(t
A�>��H�����I�GH��L�t$ ��I��1����L���L���}���L��Ƅ$�譲��L��L��L��I�G H�����������ElL��M����H��$�dH34%(H����H��[]A\A]A^A_�@L��H�$脴��H�$H��H�D$H��H�L$�k���I����D�L�$�D$�xH���*Hc��L�$H�L$H��H��t{Mc�H��H��L��L�$����L�$HcT$L��B�|J�|����Lct$B�D3I�_�����L���(����1�����f�H�](�����L�������莴��ff.���AWAVAUATUSH��8H����H��A��D	�H��A��D��FE���=D;L$p�2�D$p���&H�t$�D��M��H�L$I��H������I��H����M��t
A�?�H�|$�ɰ��I�D$H�D$x��H��I�D$X�E�A�D$�D$pA�D$�ځ��Hc�H�C`I��H�ЋT$p�(�PM��tFH�t$L��L��H��A�����M���‚��L��H��跇��L�k(��ujH�t$L��H���O����XDH��D�D$�ۈ��H��H��I���}���D�D$L��L��H�t$A�����H���_���L��H���T���L�s(M��u�E1�H��8L��[]A\A]A^A_�L������H�|$I��H�D$(���H��D���H�L$�D$$�xH��*Hc��H�L$H��I��tIHc�H�t$H��H��H�L$�q��H�L$HcT$(L��A�|I�|�U��HcD$$A�DM�t$�|���L��踘���N�����AWAVAUATUSH��H����H��A��D	�H��A��D��E���E9��E���I���E��E��H�L$H��H�����I��H����H�|$诮��E��E�oH��I�GH�D$PI�GX�AE�A�G����Hc�H�E`I��H��D� D�hH��t<A�����H��L��L��H��赀��L��H��誅��H�](E��ucH��L��H���C����S�H��T$�Ԇ��H��H��H���v~��D�D$H��L��A�����L��H���Z���L��H���O���H�](H��u�fD1�H��H��[]A\A]A^A_�ff.����AWAVAUATI��USH��8D;L$p��E����	�H����	�H�������H��H����I���E��L�D$H�L$����H��H����L�D$H�L$M��t
A�8��H���2���H�EH�D$x�EH��D�uH�EX�D$p�E�K~��H�Hc�H�C`I��H�4�M���A�����L��H��L��H��M���0��H��H���%���L�c(�
�E1�H��8L��[]A\A]A^A_�L��L�D$H�L$�ή��H�L$I��H�D$(H��H�L$贮��I��D��D�L�\$�D$$�xH�О*Hc��L�\$H�L$H��I��L�D$t|Mc�H��H��L�D$L��L�\$�!���L�\$L�D$HcT$(C�|K�|L������HcD$$A�DL�}���@H�߉T$茄��H��H��I���.|��D�D$����@H���8��������AWAVAUATUSH��H��E����E9���	�H����	�H�������H��H����I���E��E��H�L$�s���I��H����H�L$H���:���E�l$H��I�D$H�D$PA�D$I�D$XE�|$�P|��H�Hc�H�E`I��H�4�H��tSH��L��L��H��A������<}��L��H���1���H�](H��H��[]A\A]A^A_�H��1�[]A\A]A^A_��H��T$�D���H��H��H����z��D�D$�ff.�@��USH��H��t!H���	���H��H��H���z��H��H��[]Ð1�H��H��[]�@��USH��H��t!H��tH��H���!���H��tH��H��[]�f�1�H��H��[]�@H�](H��H��[]�f���AUATUSH��H��t]I��H��tUH��H��I��H��toA�W4��t-1�A�����L��L��H���{��H��t2H��H��[]A\A]�@A�V4���H��1�H��[]A\A]�H�](H��H��[]A\A]�fD�L$���H��I��H���y��L�m(�L$�m���@��H��t2ATA��U��SH���Fz����xH�K`Hc�H��D�"�j[]A\ø�������Ð��U��SH��H��H������u$H��H��tH���t���H��tH��H��[]�D1�H��H��[]�@H�](H��H��[]�f���U��SH��H��H������u$H��H��tH��贁��H��tH��H��[]�D1�H��H��[]�@H�](H��H��[]�f���H��t/�G��u(SH�PH��t
�|��H��訖��H��[�O��1��D��H��t�Gh���t�fD����������f.����gvU���<��H�ď���-H���� H�������H���H��HE��������H�������H�����H��������H���H��HE��fDH�Ў����H�i���H�ġ���ts���H�[�H�СHE��H�����tKv"H� ���t=��H�(�H�8�HE�Ã�H��H��HE��f.�H����H�����H�S��������v��v6��t	r=�u`H�G(���w3��sV��t>rG��rBH�GH�D��s(��uH�G0�f���tك�uH�GhÐ��uH�G�fD1��DH�G �H�G@�ff.�AVAUATUSH���H��tzH�G@H���}D�@E��~tH�A��D�N�N�D��f�H��I9�tWH�93u���wA��w/H9Su�H9��u�� fD��uH9S u�H9K(u��D1�H��[]A\A]A^�f�H�_(H��t�I��I�ԉ�I���O�fDH�H��tHH�{H��t�Gu�L��L�������H��t�H���f�H9S�F���H9Kh�<����f.�A�vH��[]A\A]A^�ff.�@H��tCATL�%2�*USH�oH��I�$H��tH�}H��t��I�$H���I�$H��[]A\��������f.�H����ATI��USH���D��u3L9�tn�E8�u'H�UH��t��H�rL��E8����u8H��u3H�[H��t/H�kH��t�E��r�w�H�uL�����H��t�[]A\�[1�]A\ÐH��[]A\�1��DH���H��t4H9�t?�PX��u/��SH��H�ƉPX����H����rX[�D��1��DH���ff.���������H�:�Hc�H�>��H�����H�����H�ۋ��H�T��H�ҋ��H�̋��H�����H�q���H�T���H�7���H�����H�����H�����ATUH�-�*SH��H�H�EH��t��H�EL�c M��tI�<$H��t��H�EL���H�EH��[]A\��D��H��t/USH��H�-��*f.�H��UH��H��u�H��[]�����H�QP����H��tH�GH��tH�H��tH� ���ff.�@��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH�@H��t
H� ���1��D��H��tH�GH��tH���H��t
H� ��@����H��tH�GH��tH�@ H��t
H� ���1��D��H��tH�GH��tH�@(H��t
H� ���1��D��H��tH�GH��tH���H��t
H� ��@1��D��H��tH�GH��tH�@0H��t
H� �������H��tH�GH��tH�@HH��t
H� �������H��tH�GH��tH�@8H��t
H� �������H��tH�GH��tH�@PH��t
H� �������H��tH�GH��tH�@XH��t
H� �������H��tH�GH��tH�@`H��t
H� �������H��tH�GH��tH�@hH��t
H� �������H��tH�GH��tH���H��t
H� ��@����H��tH�GH��tH���H��t
H� ��@����H��tGH��H	�t?H��tH�H��tH�H�O8H��tH��tH�AH�1�H��tHcI4H�
�������f.�SH��H�H��t�^��H���*H��[H���ff.�ATI��USH�_H����H�-u�*H�;H�EH��t��H�EH���I�\$(H��tH�;H�EH��t��H�EH���I�|$0H��tH�5<����ǣ��I�|$8H��tDH��UH��H��u�I�|$H��t�˻��[H�EL��]A\��fDH�-�*�ff.�@UH��SH��H��H�H��tL�wHcW9�$��wH��H���*Hc�H���H�H��tDHcS�J�KH�,�1�H��[]�f.�H�I�*���H�H��t3�CHcS�L���1�1Ҿ��Ә���C���L���1�1Ҿ�識������ATI��USH�H��H��tF�wHcO9�$��wH��H��*Hc�H���H�H��tFHcK�Q�SL�$�1�[]A\�fD���H�z�*O�Hc�H���H�H��t/�kHcK�L�&�1�1Ҿ������C���L��1�1Ҿ��ݗ��������H�GPH���H��tH��H�5B,���D��ATI��UH��SH�?H��H��tH��*�H�EM��tUH�=�����L��H�EH���
��H�5��H�EH�����H��H�EH��t#H������H�E[]A\�f.�H��H��u�H�}H�5�(���[H�E]A\�ff.�@H����H����������������������H�R����vK��w&����������uH�v ����fD���=�t�1����f���wC������H�5��HE����f.���sR��tM1��g����������u�H�vp�v������tK=�u�H�R�3�����v���t��u�H�R����H�R �����H�v(�,����H�RH����������fDH�vh�����H�����@H�v`����H�vH�����������fD1����f�UH��SH��H���>dH�%(H�D$1�H�$�������H��H�;���H�5c�H�H�����H��H��H����H�;H���v��H�59�H�H���d��H�<$H�H��tH��*�H�H�T$dH3%(u*H��[]�D���-H�wH�5�HE��i������ff.�f�AUATUSH��dH�%(H�D$x1�H�D$H���\H��H��A�ԅ��0H�|$H������B H���B� A9�~��~���PHc�H�H���D�D���L�kM����A�}��A�EH���Hc�H�>��fDI�UI�u`H�|$���H��H���H��1��M��H�|$H��tH���*�H�D$��K ��tH����H��1�����K$�����?�#��tH����H��1�����H��
���A�E����wI�}H��t
A�T$H�����H�{H��tD��H���u���H�D$xdH3%(�H�Ĉ[]A\A]�H���H�=l'�����2���f�H���H�=���������f�H���H�=������f�H���H�=��������f�H���H�=e�g���=���f�H���H�=W�G������f��1�H�|$����H���H�=�~�������E���DUSH��H��tEH�_XH��H��u�7�H�[0H��t'H�{Hu�H�{H�������t�H��H��[]�fD1�H��H��[]�@H��t{H��tvATI��UH��SH�wH��H��������tH�{XH��蝕��H��u:H�{`�Ϲ����~*H�{`M��t9L���y���H��tH�@P[H��]A\H�xX�`���1�[]A\�f�1��DH�55~�<����f.�H��t{H��tvATI��UH��SH�wH��H���-����tH�{PH�����H��u:H�{`�/�����~*H�{`M��t9L���ٔ��H��tH�@P[H��]A\H�xP���1�[]A\�f�1��DH�5�}蜔���f.�H��t{H��tvATI��UH��SH�wH��H�������tH�{@H���]���H��u:H�{`菸����~*H�{`M��t9L���9���H��tH�@P[H��]A\H�x@� ���1�[]A\�f�1��DH�5�|����f.�H���YATI��UH��SDH��� ������i���L��H���������W���H��u�D�CY@uH�[pH�������.u�H��u�}D�@Y@uH�@pH��t	���.u�H9�u[�����tx�;u��.tn�L��H���9����������u$H������H��H��tnL������I��H���0���[1�]A\Ð1�H��t����.t�@Y@u�1��i���L�����H��H�����H��H�������t�H��覭��H��H��u�L��薭��[]H��A\�����[�����]A\�1��ff.�AUATUSH��H��dH�%(H�D$1�H�$H�H���;�BH�ՍP���������H�= {I������H�H�EHH�U1�H��tH�pL������H�;H������H�<$H�H��tH���*�H�$H�;H�5�}���H�H���q���H�H�L$dH3%(�2H��[]A\A]��L�e(H�=�z�x���H�I�D$HI�T$H���H�pI��L���3���H�;H���x���H�<$H�H��tH��*�H�$H�;H�52z�L���H�5A~H�H���:���H���f��I����t&����H�=^3���H�� ���f�H����8��H�=�yI��豏��H�I���L��H�PH�p �w�H�;H��輽��H�<$H�H��tH�Y�*�H�$H�H�5Q|H��荽��H����DI��1����fDH�=�2�4���H��~���@蓫��H��+����	H�$yH�5�>H�81���1��L���f.�Hc��H���H�=�xI��H�,��ώ��L��H�H�UH�u ��H�;H�����H�<$H�H��tH�~�*�H�$H�H�5�xH��貼��H�5�|H�H��蠼��H����胑��AWAVAUATUSH��hL��$�L��$�L��$�L��$�dH�%(H�D$X1�H��tf�H����A�׃�t~������L�G$H�w�S H�SH�{(ARI��AVH��1�AUATAQA�jjAVAUATjjUAW�+���H��pH�D$XdH3%(��H��h[]A\A]A^A_�@����H�G�Gl�ShH�D$H�C H�D$H�CH�D$H��PE����H����H����L�T$8H�T$HH�t$PH��XL�L$0D�D$,H�L$ ���D$(H�L$ D�D$,L�L$0L�T$8L�\$P�fD�[���H�����H��vH�5�<H�81����
���@H�GH�D$�;���f�H�w����H�S0H�����D$(L���H���[M��tVE��tQ1�ARAVAUATAQ�D$PA�P1�jAVAUATAPI��H��ASUAWH��$�H��$�H�|$x虘��H��p�i���L�T$8H�T$HH�t$PH��XL�L$0D�D$,L�\$ ��L�\$ 1�D�D$,L�L$0L�T$8M������E��uD�D$HM���X���L�[`�O���fD�D$(��fDH�KPH���O���H�I8H���B���L�Y�D$(���D�����xH���H��t
H�JH���	���H�KPH�������H�I8H������q8L�YD�A4�t$(����1��I����4���@H��H��I��A��H��tF�G$H�w�P H�WH�(AQAPQH��1�jjjAQA�APM��jjjAR�1���H��h�@1�1�1���H�Љ�L��M��L�L$H��tH���fD�{���ff.�AWAVAUATUSH��8�t$dH�%(H�D$(1�H�D$ H����H��A��H��A��8���L�d$ H�EH�D$D����$��L��H���e��������L�l$ A��u)�<$t#L���s���L�l$ ��~H�A�|�0��H�}H����M��t;H�59[�ڷ��L��H�EH���˷��H�EH�|$ H��tH�f{*�H�D$ H���s���H��H����H��迚��A�ƃ�.�C���H�@L��D��H��H���'���H���_���H��H��tw�|$�,�|$�AL�l$ H�}M����H���@���L�����H�|$ H�E�N���M��u�H�|$�8���H�=@,�È��H�|$ H�E�#���DH�}������1�H�T$(dH3%(��H��8[]A\A]A^A_�I���q���H�|$ H����H�;z*�D$H�$�H�}H�$�D$H��t�D$H�$��D$H�$H�|$ �$H��tq��$�y����I�D��8.�:����L�l$ �-���DH��H�D$�ӣ��H�L$I��H�D$ �����H��H�D$���H�L$I��H�D$ �������������fDH�}H��t�H�py*�K���覊��fDH����ATI��UH��SH��H��tH�5��H��膷����urH��t]H�uH���q�����tH�}8L���A���H��u>H�}`�s�����~.H�}`H��tMH������H��tH�@P[L��]A\H�x8����@1�[]A\�f�H��L���ʼn��H��u��y���H�5�p�̇���f.�1��ff.�f�AWAVA��AUI��ATUH��SH��L�~L���H�4$H���)I�E0I�wH�x0H����I�W`��}��H��H����I�}xE���H�$�P$����1���@���)�H�$�H ��Op ���S|��I�}x�D$趥��I�OM�G`M��I�}x1�L��I��E1��{��I�}xL��H���H���H�C�p��~BDH�I�}x1�L��J��I��H�HL�@`I���{��I�}xL��H������H�CD9xË\$I�}xL��L�����Fy��I�}x��H��L���5���H�$1��S ����I���H��[]A\A]A^A_�fDD��1�L���x��M�G`I�OM��I�}xH��H��I��E1��{��H�CD�@E��~�fDH�I�}xH��L��J��I��H�HL�@`I����z��H�CD9x�H�$1��S ���d���I�}xH��L��������K����I�wH�<$�K��L��E1ɺ�I��H�
�H���N���H��1�[]A\A]A^A_�DH�x���H�������I�OM�G`M��1�L���;z��I�}xH��H��茔��H�C�x�������E1�f.�H�I�}x1�L��J��I��H�HL�@`I����y��I�}xH��H���=���H�CD9p��Y���ff.�H��tKATL�%ru*USH��DH�{H�kH��tA�$H�{8H��t艘��H��H��A�$H��u�[]A\�D�ff.�@��L�T$H��t"H�GH��tH�@@H��tH� ��f.�L���Ȯ������tAw�P����w*�GX����Ã�u�Gx���@��f.����GX����ff.�@H��tKUSH��H�-nt*H�H�EH��u� H��H�EH���H��u�H��[]��H��[]����ff.�@���t91��� w,H�&H��sf�H�����t< w	H��r�1��D��f.�H��H�������tiUSH��H�ZH��tB�*�fD��t4H�[H��tKH�C���t(��t#H�s H�{�����uх�tѸH��[]Ð�S 1�������@��1�����H��[]�f��ff.�@H��t#�G ��tH�GH��t�1�����v�fD��f�H�w H�����������AVI��AUATI��UH��S1��
�H��9]~gI�$H�؁8�u�xu�L�hM��t�M9�t2A�EH�u�I�upH��t¨t���H�VL��A�EH���A�uHH��t�[]A\A]A^��[1�]A\A]A^�1��f����tA�WX���@u,1��€u%�������t���u1��������������t�.t�1��������ff.��H�������t��uH��H������H��H�����@1�H���f��AVE1�AUI��ATE1�UH��S����f�I�EJ��C@�t'H�{H��t	H�Qq*�H�{ H��t	H�?q*��C@�tH�{(H��t	H�&q*�H�{0H��t�Ƴ��H�{H�L��I��H��H�ChH)��Kp���H�D9u�r���[�E]A\A]A^�f���H��tGH�GH��t>H���t4S�>���H��֛���+pH��hH�5�.H�81���[�f.��ff.�@��H��tGH�GH��t>H���t4S�ޚ��H��v����#pH�ohH�5".H�81���[�f.��ff.�@��H��tGH�GH��t>H���t4S�~���H������pH�hH�5�-H�81���[�f.��ff.�@S�:���H��Қ���}kH��gH�5~-H�8I��1�[A���������x��0���t9�}뱐�ff.�@��H��tWSH�GH��H��tH���H��tH� ��H��(t&H�C �����x��0���t9�}	[�K���[�fD�ff.�@AWAVAUI��ATI��USH���F@Hdž����H�~H��tL�=�n*A�I�D$I�|$ H��tL�=�n*A�I�D$ A�D$@���I�|$(H��tL�=_n*A�I�D$(I�|$0H��t��I�D$0I�\$hH�������H�k8H��t/�{ �eL�=n*H�}I�H��t��I�H���H�C8H�{@H��tH�58���s���H�C@H�CI���H��tH�CI���L��M��tTH�C(L�sH���s����S0���h���1�fDH�<�H��tL�=pm*A�H�C(H��H��9k0��3���I�D$hI�|$`H��tDH��@��H��H��u�I�D$`I�|$pH��t�pw��I�D$pI�|$xH��tH��l*�I�D$xIDŽ$�H��[]A\A]A^A_�I�D$(�o���f�H�FH�F �3����E�������L�=�l*1�@H�MH�T$H�,�H�}A�H��A�H�T$H�k8H��9U��Y���ff.�@H��H�%k*��H��tf�H���DL�1v1�1Ҿ�H�D$�v��H�D$��f�SH��H��H�?H��t����1�H��[�H�T$�t$����t$H�T$H��H��H�uθ�������AWAVAUATUSH��H����H����H�ij*D��M��I��I��I�����H��H����H�xH�@Hǀ�H��)����1����H��L�shI�G0L�kL�cpH�x ��u>H��HH�ھ
�
���I�0H�ھ
H��(���H��H��[]A\A]A^A_�fDH��@H�ھ�����D1���@A�G$L��b1�1Ҿ��Au���ff.�@UH���HSH��H�[i*�H��H��tQH�@@f�@@ @0����H�CH��tH��H�C(H��tjH�kH��莙��H��H��[]�@L�Qt1�1Ҿ��t����@L�Yt1�1Ҿ��t��H��i*H��1��fDL�Qt1�1Ҿ��Vt��H��1�����y����H�yh*S���H��H��tIH�xH�@Hǀ�H��)����1����H������H���H��t'H��[�f�L��s1�1Ҿ���s����@H�i*H��1���ATI��UH��S�a���H��H��t(H���H���J���M��t�����L��H���Er��H�CPH��[]A\�f�AVI��AUI��ATI��UL��SH���8H��H�yg*�H��tRf�L�h0@H�S0L�pH�z8L�` H�h(tH�J@H�H�B@H��[]A\A]A^�@H�B8��f.�H��t�C$L��`1�1Ҿ�H�D$�r��H�D$H��[]A\A]A^�fDAWAVAUATUSH��H���H���H��f*M��M��I��A��H�����H��H����H�xH�@Hǀ�H��)���������1��H�D�+L�s�T$@L���L�cH��t~�����uDH�E0H�ھH�x H��@�K���H�}0H�ھ
H��(�6���H��H��[]A\A]A^A_�@H���M��L��H��H���H���H���H��t\Dž��H�E0H�ھ
H�x H��H�����D1��@�E$L�1_1�1Ҿ��Jq���o���DH��f*H��1��W���ff.�f�AUATUSH��H����H����H�=e*H��A��I���(�H��H����f�H�h H�ھ
@H�@�@D� I�E0H�@ H�xH�
���A��uH��H��[]A\A]�fDI�}0H�ھ
H��(����H��H��[]A\A]�DH��1�H��[]A\A]��A�E$L��p1�1Ҿ��1p���ff.�@AVAUATUSH��tsH�Ld*A��A��I��H���0�H��H��tYD�h H�ھ
D�`$�H�@L�p(H�@H�@H�E0H�x H��H����H��[]A\A]A^�f�1���@�E$L�q]1�1Ҿ��zo�����AUATUSH��H��tqH��tlH��c*I��A��H���H�H��H��t]f�D�(H�ھ
@@$@@4�@DL�`H�E0H�x H��H�b���H��H��[]A\A]�@H��1�H��[]A\A]ÃE$L��\1�1Ҿ���n���SH���H��H��b*�H��tH�@H�H��[�H��t�C$L��n1�1Ҿ�H�D$�hn��H�D$�ːH����H����AVI��AUI��ATI��US�B,H�Z0�F,H��tJ1��f.�H�EH�H��H��t-L���I���H����H�SH�PH��u�H�I�E0H��H��u�I�}8H��tH�-4c*@H��UH��H��u�I�~8t+L����I�E8H��t2I�V8H�RH�P1�[]A\A]A^�I�E81�[]A\A]A^�D[�����]A\A]A^ø�����@H��a*AVI��AUI��ATA��UH���0S�H��H��tNL�h H�ھ
L�pD�`H�@(��H�@H�E0H�x H��H�[���H��[]A\A]A^��H��t�E$L�hm1�1Ҿ���l��H��[]A\A]A^�f�ATUSH��tgH��`*I��H���H�H��H��tSf��@DH�ھ
@$@@@4�L�`(H�E0H�x H��H���H��[]A\�D1���@�E$L��Y1�1Ҿ��l�����SH��H�?H��tp�S9�~i��tHD�B�A9�t7~5)�Hc΍r�H��H�H���
@H�;H��H�TH�HH�H9�u�D�C1�[�H�	a*�H�1�H�C[�L�=l1�1Ҿ��zk�������[���UH���SH��H��H��_*�H��t]H����@����H�hH�H��tH�H�����@��u�}t
H��[]�fDǃ@H��[]��H��t�Cl�ChH��L��k1�1�[��]�j��SH���(H��H��^*�H��t%f�H�@ H�X@H��[��L��k1�1Ҿ�H�D$�aj��H�D$��f.�H��tkUSH��H��H�~��z��H��H��t1H��H���1�H�/X���H�q_*H��H�H��[]��H��H�ٺ�[H�=X]�A�����ff.�@AWAVAUATUSH��H��dH�%(H�D$1�H����H��H����H�=�W���H�MH��taH�,Y�H��1��K���H���H��tH��W�H��1��)����M��
��H�5r���Hc�H�>��f.�H�ٺ
�H�=NW�g����DH�ٺ�H�=�W�G����H�ٺ	�H�=�W�'����}\w9�E\H�+�Hc�H�>��DH�ٺ�H�=�V����H�޿
�{x��H�M`H��t9H�jW�H��1��<���H�MhH����H�YW�H��1�����L���M����A�T$H�$����H�ٺ�H�=W�[���A�D$����E1�I���rfD��H�=W�*���I�GH�PH�ppL�����H�߾H�P5H��1��}���H�<$H��tH��\*�H�$I��E9l$�4I�$H��N�<�A�=��[=��p�����H�=zV蚘��I�WI�w �o���DH�ٺ�H�=V�o������f.�H�ٺ	�H�=KU�G����Z���f�H�ٺ�H�=�U�'����:���f�H�ٺ
�H�=|U��������f�H�ٺ
�H�=pU������f�H�ٺ�H�=GU�Ǘ������f�H�ٺ�H�=�T觗���b���f�H�ٺ	�H�=�T臗���B���f�H�ٺ
�H�=uT�g����"���f�H�ٺ�H�=`T�G�������f�H�ٺ	�H�=LT�'������f�H�ٺ�H�=6T��������f�H�ٺ�H�=T������f�H�ٺ�H�=T�ǖ�����f�H�T�H��1��*����e���DH�u0H��tH�������}tQH�D$dH3%(��H��[]A\A]A^A_�fD��H�=T�J���I�WI�w����DH�}8H��t��H���r���H���H�=�R�����y���f�H�޿
�t���U����)k��f���������H���cAT�I��UH��H��SH��H�=�*蝕���CX�#H�K1�H��SL�����H��tH��H�gSL��1���ە��L��
��s���CX��H���H��tH�lS�L��1�袕��H�KhH����H�XS�L��1�����H�KpH����H��R�L��1��\���H�KxH��t]H�$S�L��1��=���H���H���U[L��]�H�NR1�A\����H�{8H��t�L���O���H�KxH��u�[]A\ÐL��	�H�=OR�W������f�L��	�H�=AR�7����CX����ux�uL�u(L��
�r��H���H����������fDL���H�=R�ߓ���DL���H�=�Q迓���CX�f.�L��
�H�=�Q藓���CX�g����L���H�=�Q�o����CX�;������[L��]�
A\��q���L��
��q���R���ff.�UH��H��SH���_r��H��H��t/H�}H�޺�����f`��H��H��H��V*�H��H��[]�DH�=i��d��H����ATI��H�5)QUH��S�������t$A�$��!�t
[1�]A\�	�[]A�$A\�DH��H�5�P���[]��A\�����@�����H��tH�G,��u?UH��SH��H�_0H��tEDH�{H���|�����u H�H��u�H��[]�@1��DH��1�[]��H�G8H��t�H��t�H�x�1�����������ATUH��S����I��H����u]H��tH��tzH�wH���������H�{`�����~XH�{`M����L���d��H��t>H�@P[H��]A\H�xp�d������H��{�����H�tMH�5'H�81���1�[]A\�f.�[H��H��]A\����H�{pH���4d��H��u��c���f.�H�5
M�d���k���ff.�@UH����SH��H��S*�H��H��tQH�xH��H�Hǀ�H��1�H)�������H�H���H�{x�Ӄ��H��H��[]�f�H��t�E$L��N1�1Ҿ���^��H��H��[]�UH��H��H��SH����q��H��t7H�}�����H��H���s]��H��H��H��S*�H��H��[]�f.�1�H��H��[]�@AUI��ATI��H��USH��H��H�z@�Qb��H��t\L��H��H���~���H��H��H��S*�H��t"H�޺����L����\��H��H��H�mS*H��H��H��[]A\A]�f.�H�C@L��H�������H����AWAVAUATUSH���L$D�D$D�L$H���\I��H���P�?u1�H��[]A\A]A^A_�f�H��H�5gM���������gI�&A�f�< w!H�&H����A�GI��< v�M���	fDM��A�D$M�t$< w�I��s�M9��e���L��L��L)��qW��H�5�LH��I��菐����t;��������u	�M��tH�R*L���A�D$������M���Q����H�5�LL���A�����t��L$��u�	ȉ�DH�5}LL����������H�5�|L�����������L$�����D�M�������H��Q*L���H���[]A\A]A^A_�f.�����t	��L$D�l$A	ʼn�D	��DE�D$D�+���t	�|$P��*����D$P	�����L$����t��������������D��������`���H�5�KL���)������9����|$P��.�����D$P�����D$P������������DUH��SH��H��(H�V(H��dH�%(H�D$1�H�|$H�D$H�D$���H�CHH�SH����H�pH�|$�B��jH��L�
&\E1�jH�ٺ��P�t$ ����H�|$(H�� H��tH�P*�H�D$H�|$H��t	H��O*�H�D$dH3%(uH��([]�H�|$1������}����`��f.�AWH��1�E��AVAUATUSL��H��HD�L$L��$�H�|$H�|$0dH�%(H�D$81�H�D$(H�D$0�	��H�|$0H��蜋��H�5�KH��H�D$0舋��D�$�H�D$0E���0E��A���=H�=�I�)]��H�D$(E�|$�L�-�N*1�D�|$�M�$�M����A�$<n�<*�>H�=�	I����\��A�<$H���+��$�A�D$���#<*��I��L����@H���:u�D)�9\$�T$��H�=QI�z\���T$H��L���l��H�54IH��茊��I��H�|$(L���|���H��H�D$(M��tL��A�UH�|$(H���[���H�D$(H��tH��A�U9\$��H�CI9���H�����H�=�H��[��H�D$(���f�A�|$oL���a�I��A�$��t<|u�D��)�1���k��A�<$H������H�|$(�h���<*����H�=WH�[��I���#���@H�|$(H�5��藉��H�D$(H�CI9��R���H�|$(H�5%H�t���H�|$(H�D$(�g��H�|$0H���X���H�|$(I��H�D$0H��tA�UL�L$0H�D$(jE1�1ɺOj�jjH�|$0���H�� H�|$0A�UH�D$8dH3%(��H��H[]A\A]A^A_���tL��<|����L��1������H�=+D�Z���T$H�������A�|$t�����A�|$ �����H�|$(H�5GI�l$�r���H�D$(A�D$I���9�����}*�����H��A�U����H�5�H���3���L�-�K*I��H�D$0���1��T����]��ATA��UH��SH��H��1�H�� dH�%(H�D$1�H�|$H�D$H�D$�.��H�|$H�5�W轇��H�D$I��H��tH�SH�s H�|$�N���L�L$H��jH��E1�1�jD��jS����H�|$0H�� H��tH�K*�H�D$H�|$H��t	H��J*�H�D$dH3%(u	H�� []A\��\��f�AVAUM��ATI��UH��H�=�ESL��H��dH�%(H�D$1�L�t$@H�$�X��H��H���Ԇ��H�5~H���ņ��IcL$H��H��H��8H�H��H�t��R���jE�D$H��AVI��1ɺUAU�P����H�|$ H�� H��tH�J*�H�$H��tH�J*H��H�D$dH3%(u
H��[]A\A]A^��[��ff.�f�AWAVAUM��ATA��UH��SH��H��H��(L�D$H�|$L�t$`L�|$hdH�%(H�D$1�H�D$�1��L�D$H�|$L��迅��H�5}H��H�D$諅��H��E1�H��H�D$I��D��jAWAVAU���H�|$0H�� H��t	H� I*�H�D$dH3%(uH��([]A\A]A^A_��:Z��f.�AVI��AUA��ATI��UH��SH��L��H�� dH�%(H�D$1�H�|$H�D$�_��H�|$H�5�C���H��H��H�D$�������H��H�5�C�DŽ��H��H�D$�CX�����@������H���k������H��H�5�{脄��H��E1�L��H�D$I��D��jjjAV����H�|$(H�� H��t	H��G*�H�D$dH3%(��H�� []A\A]A^�fDH��H�5C����H��H��H�D$�������f���H�5�EH��H�D$������H�D$����H�SH���H�\$H���f���H�|$��H���2b��H�|$H��蕃��H�5XEH��H�D$聃��H�|$H��H�D$H������H�G*�H�L$�����H��H�5/B�A���H��H�D$�CX���z���H��H�5B����H��H�D$�n����H�5NBH������H�{H�\$H�D$�T��H�D$�:���@H��H�5�A�т��H��H�D$�!���@H���T��H�D$�����W��f�ATI��UH��SH��H��H�?dH�%(H�D$1�H�$H��tH�F*�H�M���A�<$���������������t|�FH�=B��S��H�5�CH�H������H��L��H��Z���H�;H�����H�5�CH�H���݁��H�<$H�H��tH�zE*�H�$H�����f���ƫ��H���nS��H�5`CH�H��茁��H��L��H��޸��H�;H���s���H�56CH�H���a���H�<$H�H��tH��D*�H�$@H�����}I��uL�e(H�=�<��R��I�L$HH�H����H�qI�T$H��謷��H�;H����H�<$H�H��tH��D*�H�$H�H�5�BH���€��H��}�BH�<$H��tH�UD*�H�$H���#_��H�L$dH3%(�"H��[]A\�fD���gvu�����VH�=�?�R��H�5BH�H���8���H��H�I�T$I�t$p�Ӷ��H�;H������H�<$H�H��ttH��C*�H�$H��^fD��������������A�D$X�����@�4����H�=?�{Q��H�H��I�t$���H�H�5[AH�����H�H�������}�����H�;H�5c?�d��H�MHH�H����H�qH�UH����H�;H���9��H�<$H�H��tH��B*�H�$H�H�5�@H���
��H��M���f������������H���P��H��\���f��������A�D$(H�=�=��t!H�=�=��t��H�=�=H��=HE��pP��H�5�:H�H���~��H�����fD�����z���������"���H�=<>�&P��A�<$H�H������H��H�����@I�t$H���+~��H��R���A�D$X��H�=U���O��H�A�D$X�����@�M���.H�;H�5�<��}��H�A�D$X�C���H�;H�5�?�}��H�H��I�t$�
���f.�L��H��赶���
���H�uH���}��H��c���@H�==�<O��I�|$H��_H�5 ?H���N}��I�t$H��H�螴������f������:H�=�<��N��H�H��I�t$ �e���DA�D$X��H�=5��N��H�H��H�5`<��|��H�A�D$X�A���H�5�>H���|��H�H��I�t$�����H�=T<�dN��H�5V>H�H���|��H��H�I�t$`I�T$����H�;H������f�H�=;;�$N��H��H��g���f�H�=;�N��H��'���H�;H�5;�|��H��@���H�=F;��M��H��H��Y���H�5�;H����{��H��a���H�=�;�M��H��H����H�=1;�M��H��H�����H�;H�5(;�{��H�����H�;H�5�:�{��H����H�=�:�OM��H��H�����H�=6;�8M��H��H��N����HP���ATI��H��UH��SH��1�H��dH�%(H�D$1�H��H�$�z���L�$H��M��H�
�J��H�����H�<$H��t	H��>*�H�D$dH3%(u	H��[]A\��O��ff.��AWM��AVA��1�AUI��ATI��UL��SH��H��dH�%(H�D$1�H��H�$����H��tYH��L�v:UL�L$L��L��D��H���w���XZH�<$H��t	H��=*�H�D$dH3%(uBH��[]A\A]A^A_�@L�$M��tH��L�4JAW��H��L�MJj���N��ff.��AUI��ATA��UH��SH��H��H��H�RHdH�%(H�D$1�H��H�$����A�}�j���H�sHL�$H��I��H�
�ID���=���H�<$H��t	H�=*�H�D$dH3%(uH��[]A\A]��;N��ff.�AWM��AVAUATUSL��H��HH�|$H�|$0H��$��t$H��L��$�H�T$1�L��$�L��$�dH�%(H�D$81�H�D$(H�D$0�-���H�|$0H�5Ռ�x��H��H�|$(1�H�D$0����H�|$0H���x��H�|$(H�?<*H�D$0H��t�H�D$0H�D$(H�5X6H���fx��L��H��H�D$0�Vx��H�5�oH��H�D$0�Bx��E1��H�D$0I��AVAUATUH�L$8�T$4H�|$(舻��H�� H�|$0�H�D$8dH3%(uH��H[]A\A]A^A_���L��f�AWAVAUATM��UH��SH��H��(L�l$`L�t$h�t$L�|$pdH�%(H�D$1�H�D$H��uH��t	�?��H�|$H��H��L�D$�շ��H�|$L�D$L���cw��H�5�nH��H�D$�Ow��H��E1�H��H�D$I���AWAVAUAT�T$$蘺��H�|$0H�� H��t	H��:*�H�D$dH3%(uSH��([]A\A]A^A_�f�H��L�D$胢��H�|$1�H��H���1�H�|$H�5�4�v��L�D$H��H�D$�C����K��f�AVI��H��AUI��ATI��UH��SH����}x����t[1�]A\A]A^�fDH��H�=vC�Yx����u�I�D$0H�@ H�X(H��u�1�H�H��t(�{w�H�sH���&x����u�H�H��u�f.�M��MD�H��t<H��L�GI��jjjL��L��1ɾ����H�� ��[]A\A]A^�@H��E1�L�ZFjjj��f�AUATUH��SH��H���D�K@E��A���H�C8�x\����I�ԃ�tSH��t;�:t6��� H�{(H���3���A����L�����7W��H�C(H��D��[]A\A]�D��uYH��t�������tԅ�t�< w=H�&H��s-L��H��f�H�����)�D�t���t�< wH��r�H��H��E1�1�jL��F1Ҿ3jj���D�mhH�� H��[D��]A\A]��H��E1�L�
F1�j1Ҿ8jj�~���D�mhH�� H��[D��]A\A]��H�CPH������H����������A����A�����������L����<��H�C(H����H@���DH��E1�L��E1�j1Ҿ1H��jj����D�mhH�� �{���fD��P��E1�H�C(H����H@�Y���@H�������������@���L�c(�4����A��L�c(D�K@�����L���Q��H�����D�K@H�{(����L����D��H�C(�$���f�H��H��I���H��tW�G$H�w�Q H�WH�(H��A�j�t$@�t$@�t$@�t$@�t$@jjjjjjjjP1���P��H�Ĉ�@1�1�1��AWH��AVM��AUA��ATM��UH��SH��H��H��8H�D$pL�|$xH�|$H�D$H��$�H�$dH�%(H�D$(1�H�D$蟲��M����H�|$L���)r��H�5kiH��H�D$�r��E1�E1�1�H�D$D��H��H��jjjj�t$ P����H��0H�|$H��t	H��5*�H�D$(dH3%(�8H��8[]A\A]A^A_��CH�|$M������VH�5/D�q��H�D$H��L���J�������H�5T0H���cq��H�D$A�D$X�����@�(����L����������M����L���P��H�|$H�5D1H�D$ �	q��H�|$ H�D$�O��H�|$H����p��H�|$ H�D$H��tH��4*�H�D$H�D$ H�5hH���p��H�D$H��E1Ƀ{�E1�D��H��H���R������DH�5_/H���yp��H�D$A�D$X������H�|$H�5H/�Up��L��H�D$����������H�|$H�5�1H�D$ �&p��A��$�H�D$���H�5O/H���p��I�|$L�d$ H�D$�A��H�D$ L���qN��H�|$H����o��H�5�/H��H�D$�o��H�|$ H�D$H���}���H�V3*��o����L�D$D��H��H���E����������H�5@B�ko��H�D$�1����H�|$H�5��Oo��H��H�D$���f�H�5�-�4o��H��H�D$����H�|$H�5.�o��H�D$����DI�T$I��$�L�d$ L��薥��H�|$ ��H���@��H�D$ �����H�|$H�5�-�n��H�D$�e���DH�5�.�n��H�D$�Z����uC��DAUATA��UH��SH��H��H�5�.H������I�ŸM����L��H��������0I��@�� ��H���21�A�����NЀ�	w`D�JL�BA�I�=�����<���0D���)�9�����	���rH���NЀ�	��A�pH�������NЀ�	v�@�� w&H�&DH����H���2@�� v�jI��E1�L��j1Ҿ�H��jAR����H�� �H��[]A\A]�DH�&L����H���2@�� ����H��r�@��t������>L��A���O���@���w���A���t�A9��h����D��L�¸����*���L��D��I��H�����ff.�AWAVAUA��ATA��UL��SH��H��H�5�,H���G���I�ƸM��tcH���L�����H�55(H��I���in����tU�@A��@t0�jI��E1�L��j1Ҿ�H��jAW���H�� �H��[]A\A]A^A_��A�7@�� ��L����:A�����OЀ�	�2�rL�B�N�=������0��E���A)�D9�����	���rH���NЀ�	��A�xH�������OЀ�	v�A9ʼn�A��A9���A	�@�� ����H�&�H���2@�� �����H��r�@�����E����������f.�H�&L��H��sDH���2@�� �����H��r�@�����������L��@���J���L��A������N���L��I��H������E��A���2���AWM��AVI��AUATM��UH��H��SH��H��(H�t$�dH�%(H�D$1�I�I��CR���������:H��A���A��H���H�t$H���/5��H��������I�$H���'7��H����T$H��I�$�7��I�v(I�~@H���@>��H��t{H�pH����������6��I�H�L$dH3%(D���H��([]A\A]A^A_�D��V��jE1�L��jI��1Ҿ�jH��S����I�$D�m H�� 랐���U��jE1�L��I��H�<<S1�P��H��S���D�m H�� �b���DI�v(I�~@1��q=��H��t\H�pH���H��t�>u/H�D$���t
H���I������H����5��I�$�����������5��H���I���f�H����A����������=���AVM��AUI��ATI��UH��H���SH��H�����H�s0M��[M��L��H��H��]A\A]A^���f.�AUM��ATI��H��UH��H��SL��H���Ϥ��H��t"H��M��H��L��[H��H��]A\A]�l���@I�E1�H�H��[]A\A]�ff.��AWAVI��AUI��ATI��H�ǘUSH���-��H��tCH�5�H��H���i����t�H����[]A\A]A^A_�@H�5��H���ii����t1��ԐH�5� H���Qi����u�H�5�H���>i���Ņ�uӿ�S��L��L��I���У��jE1�M��jH��1Ҿ�jL��S�a�H�� �k����AUI��H��ATI��USH����E��H�5K�H��H����h����t*�H��tH�a**H��H����[]A\A]��H�5�H�߉��h����u�H�5�H���th����u�H�5�H���ah����u����R��jE1�L��jI��1Ҿ�jL��S��H�� �n���ff.�AVAUI��H��ATUH��S�
E���H��H���
c��A�ą�uc�}PuH��tH��)*H��[D��]A\A]A^�H���S��I��H��tH�i)*H��L��H�u@1�H��H���2��H��tK�EP�f�~���R��jSI��H��8PE1�H��1�j��L��A����H�� �c������Q��jI��SH��8��SH��H��H�5r��͡��H��tH��H��[���@1�[�@AWM��AVM��AUI��ATI��UH��SH��(dH�%(H�D$1�H�\$hH�|$H�D$H�D$��H����H�|$L��L���I���jL��E1�SE1�1ɺ�PH�N8H��AU�t$(P�_�H�|$8H��0H��tH�
(*�H�D$H�|$H��t	H��'*�H�D$dH3%(u%H��([]A\A]A^A_�D�|$`�/���H���^�����8��f�H��tkH��tf�GX��u^AT��UH��SH�8H���GX��H�sxH��t5H���H�}@�j���I��H��t*H��H�����H�{8L�����[]A\���jL���1�H��jL�CxH�
�#H���e���H�C8ZYH��u�H�{hu�H�{xu��-��O��H�C8�@H�whH��tH�WpH�}@�r���H��t-H�C8�A���@H�wxH���9���뮐I�D$8H�C8�DH�SHL�ChH��H��H�7L�KpH�
�!Pj����H�sx_AXH�����H�C8�P���ff.�@AUI��ATA��1�UH��SH��H��H�R(dH�%(H�D$1�H��H�$����H��"j1�jH��E1�E1�AUD��H��s�t$ P�)�H�|$0H��0H��t	H��%*�H�D$dH3%(uH��[]A\A]���6��f���	�t"��@tSI��H����~G1�9�|[��1��DL��H�5"�q���H�߾�H�
�5H���
�����[�L��H�5�!�A���H�߾�H�
�5H��������[�AVM��AUM��ATA��H��UH��SH��H��H�Q(dH�%(H�D$1�H��H�$���H��5j1�jH��E1�E1�AVD��H��AU�t$ P���H�|$0H��0H��t	H��$*�H�D$dH3%(u
H��[]A\A]A^��5��ff.�AWAVAUM��ATI��H��UH��SL��H��(L�t$`L�|$hH�<$H�|$�t$L��dH�%(H�D$1�H�D$����H�=l�/2��H��H���T`��H�5�WH���E`��H��H��uM��tL���Ћ��H��jE1�E1�1�AWH��AVAU�t$0SH�|$0�T$<��H�|$@H��0H��tH��#*�H�D$H��tH��#*H��H�D$dH3%(uH��([]A\A]A^A_��4��f�H����H�������tQv5������s��twspH�WH����H�H��HD�H�0H���f���w+��sփ�tF����r~H�W0H��u�H�w0H���D��t�u^H�W@H��u�H�w@H���D��uCH�WH��u�H�wH���f.������wH�W H���e���H�w H���1��DS1�H��E1�jL�~31ɾ�j1����XH��Z[��H�wH���1�H��tI�:t<SI��H��H9�t@�RX��t[����SXH�Sp�����sX[�D����H���Љ��jE1ɾ�jH��L��L���R���X��Z[�f�H���AUI��ATI��UH��SH��I�]H�����;��H9�u �@H�[pH��to�;tjH9����CX%�=�uځKXH�ڃ:��H���H����H�RpH��u�H��L���c����sX��t�H��[]A\A]�DM�mM���W���H��1�[]A\A]�fDjH��L��E1�jL�421ɾ��H���XZ��H��[]A\A]�fD1��{���f�H���j���1��DAWE��AVI��AUE��ATI��H�=UH��S��H���u.���}H���j���H��H���\��H�5"H���\����t,��u6H�5H���h\��E��t6H�5H���T\���%f�H�5H���A\��H�5�H���2\��E��u�H�5�H���\��A�>H�����H��H���\��E��uSH�5�H����[��H��jH��E1�I��j1ɾ�L������XZH��t6H�w*H��H�H��[]A\A]A^A_��H�5uH���[��H���@H��[]A\A]A^A_�f�AUI��ATI��UH��H�=JSH��H���.-��H��H���S[��H�5�RH���D[��H�ËE��t9��tdH��tH��*H��H�H��[]A\A]��fDH��[]A\A]�DjI��E1�1�j��H��AUAT�N���H�� ��jI��E1�1�j���H��AUAT����H�� �q���DE1�1�����fDAWI��AVAUI��ATUSH��H�H��Lc��E1�L��I�������I���1�J�, �����%�O�L���(\����uT���H���9�~,H�ExH�4�M��u�H��u�H�D�H��[]A\A]A^A_�fDI�D$�M9�tvI���f�H�Ex��f.�H��H��t]H���\X��H��H��t<I�������H���&��H�9*H��H�D$�H�D$H��[]A\A]A^A_�H��1�[]A\A]A^A_�H���H�rH��tH�~@H��tL���-��H��t�H�@�+���H�i.H�5L��H�D$�m���H�D$����AWI��AVAUE��ATI��UH��SH��H��(L�D$dH�%(H�D$1�H��tH�(���H���@��A�ƅ�t*H�L$dH3%(D����H��([]A\A]A^A_�@H�t$H��H�D$�jE��H�t$H�$H����M����L�����H��H����H�4$H��L��A��6���H��t<E1�E��t4H����)��H�<$H����)��H��H���H��H�T$1�H����H���A��H��*H�|$�H�<$��"���@H����H�}@H��H���,��H��tH�X�^���f�H�I*H�|$�H�<$�A������1�H��L��胔��H��t�E�������H���-)��1�H���H��1�H�T$H����H���A�����f�H��*H���H�<$��H�},H�5A������c����T�����+��f�USH���>u5�^X�� u*��H��
 �FX��@u(��tPH�����f�1�H����[]�DH�~8u�H��tH�%,H�5F,����������f.�H�vpH�����>�FXt� t4��u�Ã�@t`H�F8�MX@H�E8�f.��MX�v���@�+������t�H�up�FX�H��t�H��+H�5�+���R����?���D���0����MX��&���H���J���H��+H�5}+����������ATUH��SLc�����A9��[H���H���A9���C�4$H�/*���Hc�H���H��H���H�������A9�}*��Ic�D)�H��H�TH��@H�H��H9�u�L�%�*��A�$H��H���#Hc��H���H����J��H��t�H�{��H�{��H�CHǃ�H��)����1����H������CXH��[]A\��L�%	*�PA�$H��H���H��t^f�@@ @0@@Dž�
�*���H�a*H�5Q1����두H��*H�59H��1��h����s����ElL�H*�Eh1�1Ҿ��."���I����ElL��Eh�ԃElL�2*�Eh�ATUH��SH�� H������,Hc�(9�����H�:*��,Hc�H���H��H�� H���8L�%�*�pA�$H��H����H�xH�@H��H�@h)��Hp1����H��Hc�(H�� �H��(H��H��[]A\�fDH�ǍP��(H�{u\�H��[]A\�fDL�%I*�A�$Dž,H��H�� H���B����ElL�H)�Eh�A�H��1�H��H�5����H��[]A\���ElL���Eh1�1Ҿ��{ ���X���fD�ElL��(�Eh��ff.��AW1�M��AVAUATUSH��H��XH�|$H�t$0H�T$dH�4%(H�t$H1�H�:���D$ M��tA�@�{����E1��=��UA���KD9�~RH�Ic�L�$�L�,�A�E=�u�M����D��H��蘳�������L��L������KD9��M���NE�gE���A���9A���/Mc�H�l$@I��I�N�4(����H���I�VH�|��	H��H9�t}H�H�IH;Qu�H�qpI9vu�H�D$@H���_���I�Vj1�jH�|$I��L�&(��l��H�|$PXZH��tH�)*�H�D$@D��L��裲�������A��I��A����h�K�@���A�}�����M�mM����A�EH�I�UPH���pH�D$H�H���'�t$ ��ufH�|$0�{��H�|$�H��H�w@跮��H���nH�t$H�|$H�D$H�H��褯������KH�t$H�L$H��@(�A(H�I�UP�A,;B,�����PH�q0L�Y8I��M����L�J0M���RH���EM�KH�|$H��H�L$L�L$ �(���H�L$L�L$ �����H�q0I��H����H�~H�>u�~fDH�H��&I��H��H��u�M����H�>L9Nu�H��H��H����H�L9Ou�H�H�^*��D$ @M�mpM���A�E���I�U�A�D)�H�
H��t$H������L�d$(L��L�|$8M��I�E�nL�$(H�H����SHcK9�,�H��H��*�SHc�H�4��H�H���UHcK�yA9�}pA�����Hc�E)�H������D�H)�H�4���@H�H�H�LH��H9�u�H�D$(HL�$(�{�D$H��D�A9G�5E���A�����{L�$����D��H��譯���������@�����H�t$HdH34%(��H��X[]A\A]A^A_��H��*���H�H���C�CHcK����fDH�|$L���s���������1��@H��0���H�q0L�J0L�Y8H��I��@��M����@8��9���L�R8M��@��M��L�T$ ��L�T$@8�����M��tI�BI9C����I��H��tU@M���I�zI9yt{L���H9xtpH�H��u�M����H�D$ H�D$�EH�|$H���������������D$ �j���H�B8H�D$H����H�����H�D$L�H����M�M���f����I�H�r*L�L$ H�L$�L�L$ H�L$M��t�H�q0H���������H�|$�$���H�|$H��"H�5�"�����������L�|$8E�v����H�|$ �`���H���(���H�B0H������L�l$ E1�L��L�d$M��H�\$(H��H�l$8H���H��t!H�OH;Hu�G�H;Ht:H�H��u�L�/M����M�,$L�/H�
x*�L��H��tBH�C0��I��H�?��H�B8H�D$H���N���H��������q���H�y0H�����L�d$L�l$ H�\$(H�l$8�L���H�t$I�CH�VH9�@��H��@��@��tH��u>H������@������I�S����L�m0�K���H�y0H���Y���H�B8H�D$ ����H�qH�|$E1�E1�H�
B!�蠐���D$ �3���L�1�1Ҿ��	��������T���L�1�1Ҿ������C�)����t��@H�NpH��t7�VH1���t�@��H��E1��VHH�VP�R��������H�������f�1��ff.�f�AWAVI��AUM��ATUSH��H���t$L��$�H�L$L�D$dH�%(H�D$x1�H�D$ H����D�zH�|$ H��L���*����|$0��H�|$ H�5
�A�,$�H��H�5�H��H�D$ �H����H��H�D$ �Tw��H��H���yH��H�5
H��H�D$ �eH�����H�D$ �T$����+A���H�5r H���2H��H�D$ L��L�l$0L�d$P�C��L��t�L��I����1����L�L$1�L����L��t�c�������L�L$ ������|$���A���fjjAUAT�T$$E1�H�پL�����L�%(*H�� H�|$ A�$H�D$xdH3%(�/H�Ĉ[]A\A]A^A_�DH�5IH���1G��H�D$ �����?��H���H����D�8�%����H�|$ H�5I���F��H�5�H��H�D$ ��F����H��H�D$ �u��H��H���F��H�5WH��H�D$ �F��H�D$ H�5�H��L�|$(1��F��L�t$L�%+
*H�D$ H�D$(H�\$I�MpH���̗��I�]xA��H���1�f.��;�thH�[H��u�uM�mpM��tA�}u�L�t$H�\$jE1�j�UH��L���t$(L�L$@�T$$�\���H�� H���k���H��A�$�_���H�{81�L��D�����������H��taH��H�5o�E��H��H�t$(�E��H�5XH���E��H�|$(H��H��t
A�$H�D$(H�[H���D��������DH�=���H����jAUAT�t$(���f������������k���H�5i�����H�5������H�5����tsH�5����tdH�5���tUH�5.���tF���t.A���$H�5�H���D��H�D$ I��jjjj����H�5)f�H���XD��H�D$ I��jjA�t$�t$(���fDH�|$ H�5��'D��I��H�D$ �r���f.�L��H�5��D��I��H�D$ �L���@L��H�5���C��I��H�D$ �,���@L�t$H�\$M��tH��H�5_L����H��tH��A�$jE1�H�پjL��j�t$(L�L$@�T$$���H�� ���H�5qH���aC��H�D$ I��jjj�t$(���f.�A������[���DI���������AWAVAUATUSH��HH�|$H�t$dH�%(H�D$81��:H�D$0�)L���I��M��L��M�����jX��%�uH�����@Y@��H�@pH���i�����.uރ8A���1�H��tH���%��M�����M����H�D$0L�l$ M��A��H�D$(�|�L�D$(E��H��L��D���:J������tH��$�����j��L��jjA�uL�L$@L�D$PH�T$0H�|$(�D$8���H�� �D$��D�M�mM����I�}�=�r=�v�=��l���E��I��L��D��D���8H�����n���H�|$tH�|$H��H�5A��������H�L$8dH3%(�"H��H[]A\A]A^A_Ã�@��L��$�H�\$��L��DH�{�-���wR1�L��L���k��A�ƅ��Ot8��$���t�jM��M��L��j��j�sH�T$0H�|$(���H�� ��AD�H�H��u�H�\$M��M�~x1�1�M��u�L�M�M��t0A�?�u�I�8H���r����t=����M��M��uЅ�u#����M�vpM��tA�>u�1�f.�M��1�M���M��t,1�DI�V�:���M�6M��u�t����M�pM��tA�?u������DH�|$H���j���H�sH�5��'�������R���1��K�����$����!jE1�M��L��j�0jjH�T$0H�|$(�R���H�� �0��0D��*���f.�H�z@L���$�����H�����xkI�^M�6M�����������L�l$ A�EX@�`���M���M���P���������1��B���A����m���L���T���A���]���H�|$H���^���H��H�5���������F���H�|$H���3���H�H�5a�������������0������$���t2jM��E1�L��j�/jSH�T$0H�|$(����H�� ��������/����� ���UF��ff.�AWAVM��AUATI��UH��SH��H�|$H�t$D�L$dH�%(H�D$x1�H�D$hM���UI�8�D$(H��t� D��I�A�$H��H��HD���A�D$X���0H�D$ ��$���u:D��$�E��uH�D$ A�D$[tH��L���3���A�$H�D$ H��tH�Ń��iM�|$pM��u�jf.�M�pM���SA�?u�H�D$��������DA����D�T$(E����H�L$1�H��L���v#������A�D$[�H�|$ tH�|$ H�N*�H�|$hM����I�>1�H�L$xdH3%(����
H�Ĉ[]A\A]A^A_Ð�@��H�D$p��$�H�D$ ����I�D$8H�L$pH��H�D$8I�&H�L$XH�D$@H�D$H�E< w H�&H�����GH��< v�H���
�L���CL�{< w�I��s�L9���L��H)��w��H�D$@I�ËD$(����jjD�L$,L�D$hH�T$XH�t$ L��L�\$`H�|$�H����D$@A[XL�\$PM��tH��)L��H�t$pH��t)H�|$h��H�|$8�[7��H�D$pH�D$8H�D$pD�T$0E�����C���L�����fDjE1�jD�L$,�[����A��$�.�+���D��$�E���<���H�D$M��H�D$ ������������H�t$hH�t$8�`�����BX�����D$(���fD������L������uL���M���mH�@pH��u�H�|$��H�|$H� H�5���t����H�L$H�T$hH��L��� �����-�����A�D$X@�~�|$�!�!���H�T$H�|$M��H���n���H�|$ tH�O�)H�|$ �H�|$hH��������?�����%�$���$��0���H��L���<���DŽ$�H��H�D$ HE��	���A���������A���H�|$D�L$(H��1�L�D$hH�w(�
��?���D������A�D$[�|H�|$ H���9����=���f�M������1�H���+����'�����&��H��'����`H�|�H�5/�H�81���H�|$ tH�*�)H�|$ �H�|$h�����H�����������L$� � �������H�D$ H���`H��H��)�����SD�T$E��t)��$�����H�T$H�|$M��H��!譲��H�|$ H�|$ �@H���)�!��1���f�H�|$�+���H�|$H��H�5����������D$A���I��L��PjL�L$xH�t$ H�|$�O�AXAY������A�D$X@�dH�D$ H����H��H��)�!�����H��H�D$p�����������!���H�|$H���H�5��N��H�|$H�BH�5���6���H���H�D$D�L$(H��1�H�T$L�D$hH�p@������H�D$ H���e����!���H�D$ H�����H��H�*�)�����H���+$��H��H�t$pH��H�D$0HE��R#��H�T$0L�-��)H��H��A�UH����H�|$H�t$p���H�|$pH���$H�D$0A�UH�D$0H����D�\$(E����H�����H��H���~���H�D$h����H�\$hD�|$(L�d$ L�t$(L�d$M��I��H�\$I�VE��tgjE1�M��jH��H��L���o���ZY��~UM�6M��u�L�d$ D�L$�"E������H�T$H�|$M��H��"�������f.�jE1�E1�j�M��L�d$ L�t$(��A�D$X��u�����$����^%�$��LI�}H���Ć��H�D$ H���2�D$1�L��PjL�L$xL�D$0H�t$ H�|$��^_����������|$�gH�L$ H�T$M��"H�|$�"�5��������D$I��1�L��P�t$HL�L$xH�t$ H�|$�+�AXAY���S������|$������H�|$ H���C����~���f.�H��L�����H�D$ H����H�l$ ���H�|$ tH���)H�|$ �� �5���H�D$H���6���H�hH�5��H���	�������D$1�L��I��PjL�L$xH�t$ H�|$�a�ZY�����������H�D$H����H��H�59�H���������H�|$H������H�[H�5�������H�T$H�|$M��H��!�!�í���f���H��A�U�4���D�\$(E��t�H�����H��1��u���H�D$h�
���H�|$H�GH�5������%���H�|$H������H�qH�5v��������H���P��H���E��������AVI��1�jL�nH��� jjH�|$(�h���H�� H���V���H��A�U�J���H��)H�|$ �"�����H�|$�����H�|$H�OH�5���S���m�������f�H���F@t&jL�F0A�1�j��^_H���f.�jA�E1�1�j�|�ZYH���DAWE��AVI��AUI��H�=��ATU��SH��H��8dH�%(H�D$(1�H�D$ ���H��H����1�E�L�%�1�D$H�D$H�D$ H�D$�DI��H�9�|���H�T$H�y��1��Jx������M��tH�^H�5�L���7��H�;H�5���0��H�9l$��H�5��H���0��H�H�|$ H��tH�H�)�H�D$ H�;H�EH;l$toH��L���t0��H�E���P���I��H�T$��H�x�w�����R���H�t$ H�;�70��H�9l$�o���L��H���0��H��n����H�5^��0��H�H�T$(dH3%(uH��8[]A\A]A^A_�����ff.�f�AWAVAUATUSH��(dH�%(H�D$1�H���7�FH�����H�V@��I��1ۉF�B��~}H�D$L�%]YH�D$@H�L�<�A�������Ic�L�>��}M�w H�EPvH�@PH���H���H��t{H�:L��L����/������H�U@H��9Z�H�](H����1�H�L$dH3%(�YH��([]A\A]A^A_�fD�}M�wH�EPvH�@PH�PXH�@XH��u��I����
H�$�K���H�$H��H�H���`���H�IH�5��L������������o����A�G8�D����}M�w H�EPvH�@PH�PpH�@p����fDA�GH�����}M�wH�EPvH�@PH�PHH�@H����fDA�G[@����}M�wH�EPvH�@PH�P8H�@8���fD�}M�wH�EPvH�@PH�P@H�@@����H�UPM�wH�BPH��P�}�f���H�PPH�@P�Y���f�M���f���H�H�5��L�����H�U@�G����L���x����������H�H���8���H�sH��t�Fu���f�H�|$L��H�D$�jd��A�?H�ƃ�tW�W��I��L���X��H��L��L��jL��
H��jV�����H�|$0H�� H�������H�c�)����@A���-L�
��H��LD���w���AWAVAUATUSH��H��(H����L�~I��M��t"A�?���.H�
V��Hc�H�>��A�H��(D��[]A\A]A^A_�A�GX��Y��I�n$L���H�{x���
D�f �����?~
A���%1���@L����1�)����E����AO�H�{xI�ƃ����M�G`I�OM��H�{x1�L�����}�H�{x��L��H���H���%�H�����1�H�{x�/��H���E�} E����H���H�{xL��A��
������H�{xH������A�U$H�D$����1���@�H�{x��)�A�E ��AOu ����H�{x�D$�`��A�,I���2M�w0M���%DM�FH�{xM��1�H�
N�H����H�{xL��H���H������M�6M��u�D�t$H�{xH��L��D����H�{xD��L��H�T$�-��A�E E1�����H�D$H������H���H�{xH�D$���A�U$H�D$����E�U 1���@H�{x���)�E��AOu ����H�{x�D$�Z��H�{xI���N��H��I�EL�pM���ZE1�H���L��H������H���H�{xL���DD�����M�vM��u�H�{xH�t$H�����D�t$H��L��H�{xD����H�{xD��L��H�T$��,��A���E1�E�M E������H�{xH�T$A�H�t$�N�����f�H�H9F ��F$H���=���?�w��
�~ �#H�{x1�H���
��H�{xH���I��A�E$�P�A�E �p���D$I�EL�xM���K�E1�L��H�����M���AE�M��u�L���D�|$L��H�{xL��D�����H�{xL��D��1���+��E�e H���E��t���If�H�{xH��L��A��;
�����fDI�oA�H�������H���H�{xI�I�H�D$�4��H���H�{xH��I����	���'@H�U L9���L9��jH�mH����H�EL���H��tu�@ZtNjU$�u H�{x�`�H���H��H�߉��\r���f.����7�2Q��H��H��tJE1�H�8H��E1�H�5r��n�����f�H��H�5Q�H���*��f.�E1�����A�H���o���H��H�5������W���f�L�@`H�HPA�jH�{xL��L�����_AX����1�A�} H�{xH������H�{x�@H���I��A�E �p��8��D$I�EH�hH����A�E1�H��H���o���H�m��EE�H��u�H���D�|$L��H�{xD��H���q�H�{xD��1�H���`)��H���A���������f.�I�G8H���
���H�{xL�@M��L��H�
 �H������H������f.�H�{xH�t$H�����D�t$H��L��H�{xD�����H�{xD��L��H�T$��(������H�HL�@`PL��jH�{xE1�L����+��Y^�r���@A���-H�
T�H��HE�����I�oA�H���{���E1�H��H������H�m��EE�H��u��X���f.�I�EE1��L�`M���@���H�D$L��H��H�������H���H�{xH�T$��DD����M�d$M��u�����DA�,��M�w0M���;L�%���H���M�FM��1�H�{xL��H�����H�{xH�T$H���H�����M�6M��u��q���@H��(H��1ɺ����[]A\A]A^A_��n��H�{xH�T$H��A������@���@H���H�{x1�1����A�U H����������H�{xH�t$H��A��������D�{��I��H���I�EH�hH����A�E1�H��H���|���H�m��EE�H��u�H���H�{xL���)��H���H�{x1����E�m H���E����������fDH�{xH�T$H�������n���f�L�;�H�{xM��1�L��H���e�H�{xL��H���H�����H�{x1�H��M��E1�H�
���4�H�{xL��H���H���~�����H���D�|$L��H�{xD��H����H�{xD��1�H���%��H������I�OM�G`M��1�L�����H����s���I�G8H���u���H�{xL�@M��H��H�T$H�
X����H����J���M�gM���!A�E1�L��H�����M�d$��EE�M��u�H���H�{x1����E�] H���E������H�{xH��H��A��x�����L�ΟH�{xM��1�L��H����L�t$H�{xH���H��L���=��H�{x1�H��M��E1�H�
�����H�{xL��H���H������l���I�OM�G`M��1�L����I�OH�{xM��H���M�G`H��H���q�H�������L��A����H��A����f�AVA��AUI��ATI��UH��SH���H��txH�CH���H�CH���H��tH�CH�{8H���H��t����I�|$ ���H�C8H��t[���D�3L�k(L�c0�C �C1�[]A\A]A^��H�A�)�@�H��H��t5f�@@ @0�m���H��H�5�H������������L��1�1Ҿ���������ff.��AWAVAUATUSH��L���L�|$M����E1���H��A���D$E1�D�������������tgI�GH����A�O$IcW 9�.�H��H�y�)A�O$Hc�H�4��I�GH���tIcW �JA�O D�,�A���������M�M��t^M9�tjH���I�8H�P H�p���]����X������]���H���H�5��H�߉D$����D$H��[]A\A]A^A_�f�L���L�d$M9�u��D$H��[]A\A]A^A_�@H�q�)��I�GH����A�G$IcW �%���@�D$��uH����B@�u���B@�D$����f�I�w(H�FH�@L�p8M��u���fDM�6M�����I�w(�L��H���������u�H��[]A\A]A^A_�@H��1�[]A\A]A^A_�L��1�1Ҿ��]���������L�����f.�AWAVAUATUSH��xL���dH�%(H�D$h1�M����H���M��H����H�$L�h8H�D$`H�D$H�D$XH�D$ M���<fDI�OHc�9\��u A�����������A�G ��t#M�M��tjI�8�����xA�G ��u�A9_u�L9��tH��H�5�H���s���I�GH���H���I�WL���I��M��u�fD1�H�t$hdH34%(��H��x[]A\A]A^A_�A�>�&A���-L�t$�H�<$M�o(�$I�G0E�GE+E�@E�ĉD$I�E(H���YE�E0E9���Mc�N��N�$�M���HcD$I�<��RI�EH�|$H�D$`H�p�AT��I�W0H��L���L�JI�UH�JjjPH��1ҾU����H��$�H�� H��t	H���)�A�G �i����M�O(I�QI�I(L�jH������A+QA9Q0��Hc�L�$�I�<$H���KA�}����H�|$L��H�D$`�S��H��H��L��jI��L�l�1�j�Uj�d���H��$�H�� H��t	H���)�I�<$H���E���H���)�I�$�/����A�}�����H�|$L��H�D$`�R��H��H��L��jI��L��1�j�Uj�١��H��$�H�� H������H�M�)�A�G �,���f�A�F\�����I���H�D$H������H�t�H�5Y�H��赾��������e���I�EL�D$(H�@Hcx@H���)H���L�D$(H��I����I�EL��1�L�D$(H�@HcP@H���*�L�D$(I��I�E(N��H�<$��H�$Lcl$K��A�G �c���f�I�G(H�|$H�D$`H�@H�p�Q��I�W0H��L���L�JI�W(H�RH�JjjP�w����H���H�x0����I�EH��E1�1�L���UH��H�Hjjj�S���A�G H�� ��A�G ����A��	��C�Hc�H��A�E0H���)�I�E(H���vIcU01�H��H����I�E(�j���fDH���H�5��H��$�����$����C�H��H�R�)D�D$(A�U0Hc�H�4��I�E(H���)A�u0HcT$(9������fDH��H��9������A�E@�D$��~8H�?��t$H�G�V�H�T���H��H�x���H9�u�I�A8H�D$H���jA�}tH�D$�P���'H�\�)L�L$(��L�L$(H��I���Qf�H�@A�}��H���H������Hc��9�J�H��L�T$0H�#�)���Hc�L�L$(H�4��L�T$0H��H�����Hc��L�L$(�J���L��A�B����H�EpH�|$L��L�L$0L�T$(I�H����@A�BI�$I�BI�$�J��L�T$(L�L$0�����A�}�����H�D$`I�y@�
I�R�L$H��L�L$(H�t$A���H��)��L�L$(H�t$`I��H�D$I�y@L�L$�@��A�E�/�L�L$H����H�I�UL�(H�|$`H����������@H���)L�L$(��L�L$(H��H�$��H�4$H�D$H�H���H�P0H�VH�@0H���H��t{��Hc�9�@�H��H�o�)L�L$��Hc�H�4��H���H���bHc�L�L$H�4$�J��H�4����D�P�
�N���H���)L�L$�@�L�L$H��H����<Dž(Hc��A�}������H���)L�T$0��L�L$(�L�L$(L�T$0H��H����Dž�Hc�����H�D$8H��������H��L�L$0L�@ H�pL�D$(��L�D$(L�L$0H��H��L�T$8��M��t>H��L�ƺ����L�T$8L�L$(H�D$0�l�L�L$(H�L$0H��I��L�T$8��H��8�W���TH�71���H��9�~H;�u�L9D�u�A�B����H��L�T$@�T$8L�L$(L�D$0�G��L�D$0H��8L���G���T$8L�T$@L�L$(A�R���I�y@�����L$I�$H��L�L$(H�t$A�H�D$`���L�L$(H�t$`I�y@L�L$0�@�H�|$`L�L$0H�D$(H��tH���)�L�L$0H�t$(H���]����D$L�t$(L�L$H��L�l$0H��H�l$8H���\$@H��H�D$HcUH�H��L�p�D$��~<E1��f���t1I��L9�tpK�.H�pI�$J�(H�x�P�����uո��������H�mH��u�L�t$(L�L$HL�l$0H�l$8�\$@���DL�L$(��h��L�L$(H�D$I�A8�y�����u�L�l$0H�|$H�D$XH�l$8L�t$(H�D$`L��\$@�LJ���L$I�$E1�H�t$ H��H�D$���H��H��L��jI��L���1�jL�T$0�UAR����H�|$xH�� H�������H�{�)�H�D$X���I�EI�y@L��H�t$`�o���c����L�T$0L�L$(�
��L�L$(L�T$0I�A@����L���1�1Ҿ����������i�L����L�����L�O�1�1Ҿ�L�$L���l��L�$H���)L��I�E(H��������A�}M���3���H���)I��$�L����$���H��L�T$@�T$8L�L$(L�D$0�D��L�D$0H��8L���|D���T$8L�T$@L�L$(���A�R�l���M��M��H�$�)L���I�>�I����L���1�1Ҿ����H���)I�<$�I�$������?�ElL�*��Eh1�1Ҿ��P��H�<$��B���������ElL����Eh������ElM��L�&�M���Eh1�1Ҿ�����)���M��M��A�B��������M��M�׃El�EhL����AWAVI��AUATUSH����(L���dH�%(H��$�1�����A�G@�����$�?I�W8H���������J\�q�����
I���H��t�I��Idž�I�GPH���AH���H��tA�W@�փ�$�� �sA�G@ulI�W8�2���������r\����7�$����A����$�1H���L��L���x���$�$���E�l@A������qA9�0��A������M�ghM��tI��@�nI���������	I�`tIc����~I��@�	L��L���a��A�������I���H��t;Pu�@����H�H��u��I���A���Hc�H��I���H��$�dH3%(�$��H��[]A\A]A^A_ÐA���Adž0�����������$@Adž�����Idž��$딐L������������jf.�L�hhM�����H��$�L�t$M��H�D$8H��$�H�D$@H�D$xH�D$HL�|$X�
M�vM���KA�~ u�I�F8H��t�H��t�I�VH�R�Z@�\$H�\$H���H�^`H��t*H�RHH�RH9Su�}DH9S�nH�H��u��D$`1�H�D$P���s����L$L�t$(H�D$���L$ H�H�L$H��H�D$0H����L�|$(H�|$8HDŽ$�HDŽ$�I�GH�p�B��L�t$0L�d$E1��L$H�t$@H��I�VL�����H��L�a�I��I�GH�HUL��L��U�E���H��$�]A\H��tH���)�HDŽ$�H��$�H��t	H���)�H�D$(H�D$H�L$H�@89H����L�t$(H�D$PH���Z���H�5:��H���;��F���fDA����$�F�A��0��������$�G���@H��(H�� �[���d����L�|$XM��L�t$I�EH�x�?��I�u8H�����^���wH�L$��D��u�@����\;���PH�D$IcUH���H�,�L�}`M��u�&
fDI�H���|I��I;u�I�G I�H�����H�L$ ����H�H�D$PH���
A�G�D$(H��\$@H�D$H�D$0I�EL�l$`H�@�@@�D$���D$8H�D$0H�L$H��L�h�D$ ���tD�t$(E����H�D$0H�\$H��I�GH���A�OIcW9�.�H��H���)A�OHc�H�4��I�GH���9IcW�JA�OH��H�D$H�D$9D$@�_���L�l$`@M�mM���S���L�|$XL�t$����@I���H�j`H�����I���1�E1�E1�L�|$`H�D�L�t$(H�D$PH��`H�D$H�U��uH�E H��t`D�XE��tWH�D$(H�}D��DE����H����DH�H����H9xu�@���tH�\$(;����DH�mH��u�L�|$`L�t$(�/����H��tA�G�D$(����H�I�}@I�G�FA�_A�GH�H�FH������H�5�6������I�E@M�mM�����������j��I�H����I�u8I�Nj^�m���H�h�L$A�H�t$HH�|$H�����H�|$PH�t$x���H�|$xI��H��tH���)�H�D$x1�M����
IcMH�S�|$H��L�z��~CD�t$ E1��D�����I�T$M9���I��J�D�H�pK��H�x�D����u�M�mM��u������t$`����H�S E1�1�D�BE�������H��H��H��H�
J��L�y�L$��~DD�l$ E1�������I�T$M9���I��J��H�pK��H�x�D����u�H�U I��D9r�H���$��������L�t$PL�|$HE1�M��K��|$H�h��D�l$E�����\$8E1��fD����I�UL9���I��J�D�H�pK��H�x�zC�����u�L�t$A�Fh�����$�������@H�|$Ht	H�D$PL�h`M��t%I;}u�w�I9}�fM�mM��u�L$�g���L$H��I���tHcE��t<H�\$(��H����
H�UI�U�UH�EA�U�EA�E�EH�E H��tEM�u M��t0H�g�)I�>H�H��t
�L$��H��L$�L$L����H�E �L$I�E H�E H�|$H�f���H�D$PH�@`H��tI�EH�D$PL�h`�F���fDL�t$����fD���-�9����Á��$�bDŽ$�
I�p����qI�G8�H\�����������������M�mM�������*���DH�C H�����h1������D$`�C�<���D�[H�D$PE����1�I��L�t$L�|$8L�%
�)�4�H�I�L�0H��$�H��t	H��)�H��9k�tH�C�L$L��A�H�|$H��H�P����A�$H��$�L��hI������H��u�I�H��$�L��L������w���fDE1�L��J���|$H�D$HI�GJ��L�htRD�d$E����D�d$81����tVH�CI9�tkH��I�D�H�pH�D�H�x�a@�����u�����I�EH�pH�EH�x�;@������������uI��D9t$(�]�������f.�I� H�l$HH����I�GH�4(��5������s���IcOI�WH��H�L���H�*A�G�����A�E�D$0I�E H�D$ H����H�\$ �C�D$���H�D$ I�EH�D$@�G@�D$���q���H�D$��L�l$XH��H�EH�T$L�4�M��tD�L$E��u,�|$0����H�D$H�D$9E�L�l$X����fD~�H�l$h��L��E1�M��I��H�L$ �|$D�l$8D��N�<��?D�D$E����E1��@����I��L9��{I�GJ�0H�pI�D$J�0H�x�>�����u�L�t$(����fDI�W8��������v�B\����)�I�O(H���L��L���s���$�hL�|$XL�t$�P�f�H�EH�pI�H�x�>�������������&I��D9d$ ����M��L�|$H���fD�sb��I��H�E`H���N���I�u8�^������$���@�D$(���H�H�D$ ���I�pH��$�H��$�H��$�L�D$xH������I�p1�1��M��$�����nA�G@��<�����1�L�|�1�A�G@�OL��S��$�PD��$��r��XZ�$������-�}���I�O(L��L������$�$�����H�9�H�5��L���"����=���D���-��I�O(L��L������$D�$E���B�I�GPH���H��t<�@Xt6A�G@%��$�_I�G8�@\���������A����$����T��H��I�G H���
������H���H�5R-��L����I�GpH���*A�G@����L�|$H���f.�L�t$I�F8D�PE�������DI�GH�H�pI�D$H�H�x�;����������t	��t�l$8��I��9l$�b�����L���M��H�l$hI��9T$��������@M������aI�W8���������M�B\�������$�����A��������I������I�GPI�8H����M��H��H���I�GH��H�x@�<�H��H��H�_�)�H����I�H���(���S�����H�l$hE1��H�L$@D�l$8E��J�,�L$��tFE1���eD��taI��I9�tSH�EJ� H�pI�FJ� H�x�:�����u����@H�EH�H�pI�FH�H�x�9������\�����t
��tD�|$8A��I��D9|$0�[������D$0I��H�l$hA9��BH�D$@Mc�J�<�H�T$XD�\$0L�T$@�rE�k��F��BIc�I��L�L�D9�t	H�I��H�H�D$XH�@ H����L��H�ljL$8�@/��D�l$0�L$8����f�M�������H�ɼ)A�G
�P�I�GH����L�t$L�Q�1�1Ҿ��N���y���f��D$`�6����D$�=���I���M�G0L�P8E�
A����A���-�A����A����A�B\��������I���jA�j1�L���M����D$]A\D�,$E���>�N�����I�O(H���L��L���X���$���H�<�H���)�L$��L$H��I�E���UH�uH�ljL$A�UA�UHcUH������L$�����$�������-�b����A�G@�w��������L�|$(H��H�|$8HDŽ$�HDŽ$�I�GH�p��/��L�t$0L�d$E1��L$H�t$@H��I�VL������L���I��I�GH�HAUU���DD�L$`E���J���A�B\�ƒ�������H�$��uI�z8�H��H�$���I���H����E1�1�jL�n�1�L��jj����H�� A����$���A���-����jA�L��j�"���A�B\�ƒ���t�������H�D$XH�@H�D$@H����L�|$XIcWA�G9�|<��L$8H�|$@A�GH�H�4�H���)�H�D$@I�GH���AIcW�L$8H�t$X�B�FH�D$@L�4�����H���@E1�1�jL�F�1�L��jj���H�� A����$@��I�(H��������u�M�O(AP�B1�I�GPjL���1�jL������~��H�� A����$B�9�I�(H���f�������M�O(AR�A1�I�GPjL���1�jL������R~��H�� A����$A���L��H�y�H�5k��e���H�.�H�5%�L���O����j�L$0�AM��H�L$XH��H�A �L$0�\����&���fDI�GPH���I�GH�x@�(�H����H�|$@����H��)�L$8�P�H�L$XH��H�D$@H�A�L$8tFH�D$X�@HcP�:����C��L���1�1Ҿ�L�t$(���L����$����L�t$(L�3�����H�D$P�D$ �F�H�x�H�5 �L���J����e�L�t$(L������L�t$L�8����H���H�5�L���
����(���������xR��0���t9�}CSH��H����A@� t�� �A@��A�H��H���~�����tH��[����H��H�ŷH�5���D$�~����D$H�{P�ChH��[��f���H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\����@[]A\�����H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\���@[]A\�������0���t���9�|wLJ0����UH��SH��H��H���H�x������u-H���H�5�H���G���H���o���x;H��[]�@H���H��H�x ���t����������fDH��H�F�H�5�����Ch����H�{PH��[]�d�@��H��tgAUI��ATI��UH��SH��H��H�GH��tH���H��tH� ��H��(H��tH��L��L��H��[]A\A]����f�H��[]A\A]�D�ff.�@AWA��AVM��AUI��ATM��UH��SH��H�t$����H�t$H����H��H�pD�x�@XH�hL�` M��t,H�5r�H�����t9H�{ H�5~��y������C\L�s(�K@��uQH��[]A\A]A^A_�f�H�5>�H���A��tmH�{ H�52��-��t��K@�C\L�s(f.��CX1�H��[]A\A]A^A_���C\1�L�s(�K@�CX��fDH�5��H�����t-H�{ H�5������5����C\L�s(�K@�@H��H�5v���H�{ ��t)H�5r��m��������C\L�s(�K@�A����H�5���D�������C\L�s(�K@���������M�������H���H�5ҳL��D$�`����D$����H��AVA��H��AU��ATA�US��H�����9H��I��I��I���������wi�H��c tZH��1�L��H������Ņ���t2�CXjI��L��jL���@j��AT�E1�1ҁ�!���|��H�� [��]A\A]A^ÐH���H�5<�L�����腔�����������H�B�H�5�������a����H���H�5��L������D����f�H��A��H����A�uNH��tIAUI��ATI��UH��H���SH��H���7[��M��tI�$H��L��H��H��[H��]A\A]���������f.�ATUH��SH����H�����9H��M��H��H��u>��*��H��tL��H��H��[H��]A\�G����M��tI�$[]A\�fDM��tI�L�CH��E1ɺ�H�
��H���4���������������M��t�I��ff.�f�AWAVAUATUSH��H���iH���`H�D$I��H�����I�\$XL�-��H��u,�YfDH�xL���T���tH��H���U`��H�[0H��t/H�CHH��u�H�{H�5x��#���t�H�CHH��u�H�[0H��u�L��H��L�-��1��ɇ��M�t$M��u!�(f.�M�v0�M���I�~Ht3I�~H�5������uCI�~HtI�~H�5���������u�L�
�E1�L��L���H���q��두I�FHH�5}�H�x�\���t�M�~XM��u/�\DH�xH�5U��8���tL��H���9_��M�0M��t/I�GHH��u�I�H�5O�����t�I�GHH��u�M�0M��uѿ�g��L��E1�H��H��H���_���M�v0M����H�D$H��[]A\A]A^A_�fDI�FHH�5��H�x���������M�~XM��u(�fDI�L���l�����M�0M��t5I�GHH����H�xH�5[��>���t�L��H���?^��M�0M��u�M�~XM��u�UM�0M��tII�Ht�I�L������t�I�GHH�5ŴH�x�����tȿ�V��1�L��H��H�����M�v0���DI�H�5������<���L��H���]���a���I�GHH�5]�H�x�|�������L��H���y]���5���@H��)��H�D$H��t&H�D$H�L�`���H�D$�`����E$L�<�1�L����S������ff.�AWAVAUATI��USH��(dH�%(H�D$1�H��H�D$H�D$��M�������H��H����I��L��H�5�]�;&��H��H����H�L$L�D$H��L��H���׀������H�L$H��L��H���r�������L��H��H�
���z���@1�L��L�D�H��A���Y|��I�\$XA��H����L�-�� �H�xL�������uhH�[0H��tsH�CHH��u�H�{H�5]�����u�H�{H�5~����u�H�{H�5�����u�H�{H�5٨����u�fDH��H���[��H�[0H��u�L��H���1���D��D��L��H���F��H��H��txH�L$H�T$�H���!I��D��D��L��H�CH������M�l$M��t8I�}HtI�}H�5�����ugL�
y�E1�L��L���H���m��E	�uD1�H�L$dH3%(H��ueH��([]A\A]A^A_�@H��[L��H���Fl����@I�EHH�5��H�x�|���t�L��H�����M�m0H�CM��t��_����A����AWAVA��AUL�-X�ATI��UH��SH��(H�ZXH�4$H��u�gH�xL������u@H�[0H��tKH�CHH��u�H�{H�5C|�����u�H�{H�5�N�����u�fDH��H����Y��H�[0H��u�L�=E�)�(A�H��H���H�@ f�H�5�NL��@�/#��I��H���SH���H����R��H�CH����I�u(I�}@�:��I��H����H�8M��!H�@1��f���H���QH�x�u�4�L$�~L�L$Hc��t$H��A�Ћt$L�L$H��I��HcL$��H��L��L��M�Tf.�H�
H��H��H�yH�x�H�IH�H�I9�u�Hc�I��H�H�;�)L��H�{L��E�����1����H�C M��tH�
�)L���H�{ u@L�KjL�i�j1�L���H���m���XZ�f�H�=�L��H���i��L��H������M�l$M��t8I�}HtI�}H�5�������u~L�
`�E1�L��L���H���j��H��(H��[]A\A]A^A_�E1��!�����1�����H�C �%���H��t�E$L���1�1Ҿ�赲���I�EHH�5m�H�x�L����f���L��H�����H�<$H���x���M�m0M���Z����8���fDH�D$�A��L�L$H��I���Y���H��t�E$1�1�L�u���L�L$����L�L$H�n�)L��E1�E1�H�
l���L��H���\*�����jE1�L��j�E���@AWAVI��AUA��ATI��USH��H��(L�zXL�$dH�%(H�D$1�H�D$M��t|H�-Q�� �H�xH���$���uHM�0M��tSI�GHH��u�I�H�5Sx����u�I�H�5������u�A����@L��H����U��M�0M��u�H�5��L���e��H��H��������H�L$H��H��H������\H�T$M����H��H�T$����>H���5H��)�P�H�T$H��H����H�xH�@�H��H�@H)��HP1����H�H�U H��D�mH�$L�eH�E(H�C0H�x H��@�9��A���GL��H���|��M�l$M���	I�}HtRI�}H�5ƫ������I�}Ht3I�}H�5g�����tI�EHH�5��H�x�{����yL�
��E1�L��L���H���f��H�T$dH3%(H����H��([]A\A]A^A_�D1���@I�H�5�{�����0������I�EHH�5�H�x������=���L��H���'�M�m0H�EM������fDL�
A�1�L��H��L�^�����e���H���H�C0H��
H�x(�68��L��H���K{��H�5${L�����I��H����1�1ҾH���?A��H�EHH������L��L��H�H H��L�@�w��H�EHL��L��H��H�H �vi���:���H�.�L��H���d�����L��1�H��H�����M�m0H�E0M��twI�}HtI�}H�5�������u}L�
C�E1�L��L���H����d���0����C$L���1�1Ҿ��ҭ���*���H�&zL��H���d�����L�
��E1�1�L���H���d����I�EHH�5R�H�x�1����g���E1�L�=���NI�I��M�m0M�������I�}H�����I�}L��������{���I�EHH�5��H�x������_����L��H��H���l���H��t��U@�P���U@M��u�H�E8I���舳���AWAVAUATUH���SH��H�S�H��(H�|$H��H�4$H����M��H��tH�5i�H��I���F�A�Ņ��{H�$E1��@(H��H�5A�����H��H��I���J��H��M��tH�5�H�������t%H�$�@,H��(D��[]A\A]A^A_��H�5_�H���������H�D$�H�&< w H�&H�����CH��< v�I���
�M��A�FM�~< w�H��s�L9��g���L��H��H)�����H�5қH��H���1����uH�5*�H��������}jL�
��E1�L��j1ҾA�jSH�|$(�Kj��H�� H���)H��A�F�����L���&���fDH�5țL���������H�$�@(�l���H�5��H��������4H�D$H���H�$H�@0H��t#H;Pu�w���fDH9P�g���H�H��u�H�|$H�T$��;��H�T$H���JH�PH�$H�H�z0�H�T$H���H�H�D$�
���@��������g���H�\$H���c;��H�$H�B8H����H���H�P����H�5��L�������tH�$�@(�b���jL�
t�E1�H��j1Ҿ�A��jATH�|$(��h��H�D$ H�� �@(�!���H�5c�H���?��1҅����������H�|$H��L��H���(�H�D$�����H��H�������H�����H�B0H�D$����H�D$���H���)H��A������A�������AVH��AUI�պATUH��S�9��H����I�]XI��H����L�%���H�xL���t����uPH�[0H��t[H�CHH��u�H�{H�5�o�N����u�H�{H�5]��:����u�H�{H�5	��&����u�f�H��H���%M��H�[0H��u�L��H����t��L��L��H���c�����uOI�]H��t8H�{HtH�{H�5�������u;L�
M�E1�H��L���H����^��[L��]A\A]A^�f�E1�[]L��A\A]A^ÐH�CHH�5��H�x�|����t�H�޺H����H�[0I�FH��u�[L��]A\A]A^�ff.�@�H�H�G8H��tH��G t���DH�O1�H��tH�yXH��tH�:�Ayu��֐�ff.�@�������xR��0���t9�}CSH��H����A@� t�� �A@��A�H��H����b�����tH��[����H��H��H�5׽�D$�}���D$H�{P�ChH��[�9��f���H��tOATA��UH��SH�GH��H��tH���H��tH� ��H��(H��t[D��H��]A\����@[]A\�����H��H�a�)�H�H��tH�@@f�@@ @0H���D��H��tWATUH��SH�H��t�&��H�}0L�%'�)H��tf�H�A�$H��H��u�H�}8I�$H��t��I�$[H��]A\��D�ff.�@��H��tGSH��H�8H��t�u��H�{@H��t臟��H�{ H��t�)&��H���)H��[H���f��ff.�@AWH��AVAUATUSH��HH�T$H�t$�L$dH�%(H�L$81�H��H��H�D$ ��H�������H��H����L���L�aXH�{�A�NXM����DH�\$H��H���q��H�t$H��H��M�N`M�FhH�
f��m������I�~`H���LD���E����A�FX��H���2I�v������tI���I�~h��������I�VI���H�|$0H�D$(H�D$0�L��I�V`I�vhH�|$(H���7��j�	H��SH�L$ I��L�m�1��t��H�|$8Y^H��tH��)�H�D$(H�|$0H��t	H��)�I�F`I�FhDH�D$H�HH�L$ H����H�yH�~
H�yH�5����������|$�C�|$
��H�L$ H����H�yH��H�yH�5�������H�T$ H���VH�zHt&H�zH�5���z�����?H�T$ H���)H�zHt&H�zH�5���M�����:H�T$ H����H�zH��H�zH�5m��������H�D$ H�5 �H�@HH�x�������H�T$ H�t$H�����I�F8H�D$ H�@0H�D$ �f.�H�xH�������uHM�d$0M���R���I�D$HH��u�I�|$H�5�h�����u�I�|$H�5���r����u�fDL��H���mF����|$���|$
t�|$	��A�>�!H�L$ H��t8�|$
L�
K�t�|$	L�
��tL�
��H�T$E1���H���/X��1�H�L$8dH3%(�XH��H[]A\A]A^A_�f.�A�>�����H�t$H��H���RW���}���DH�L$ H��H��t(H�yH�hH�yH�5���p�����bH�L$ I�~`��H���E1�H�$��DH�yH�5��0������H�T$ H����	H�zHt&H�zH�5��������H�T$ H���}	H�zHt&H�zH�5����������H�T$ H���P	H�zHt&H�zH�5l��������H�T$ H���#	H�zHt&H�zH�5���|������H�T$ H����H�zHt&H�zH�5}��O�����'H�T$ H����H�zHt&H�zH�5ہ�"�����ZH�T$ H����H�zHt&H�zH�5��������]H�T$ H���oH�zHt&H�zH�5����������H�T$ H���BH�zHt&H�zH�5�S�������H�T$ H���H�zHt&H�zH�5|��n������H�T$ H����H�zH��H�zH�5U��=������H�D$ H�5A�H�@HH�x�������L�|$ M�����Q��H��H���%L�x(H�<$H��L���^?��I��H���rI�HI��H�5���������I�HI���H�5q�������<I�HI���H�5A��q�����yI�HI���H�5��N������I�HI���H�5M��+�����#I�HI��hH�56��������I�HI��EH�5���������I�HI��"H�5ĉ�������I�HI���H�5���������I�HI���H�5�Q�|������I�HI���H�5g��Y������I�HI���H�5N��6�����~I�GHH�5;�H�x������b��L��H����h���L�k-�����M�oM��tEI�}HtI�}H�5���������H��M�OL���jL���L��H�����XZM����I�\$H�CL�|$ I��I�O0H�L$ H����H�yH�$���H�T$ �m���f.�H�D$ H�5\�H�@HH�x�7�����I���H�t$ �H���m��L��H���bm��H�D$ H�@0H�D$ �����H�<$H�k�L���e<��H�����H�5ONH�������������C0����f�I�^x�����H�D$ H�5��H�@HH�x������k����R���f.�H�D$ H�5|�H�@HH�x�W�����;����O���f.�H�D$ H�5L�H�@HH�x�'���������L���f.�I�GHH�5�H�x������E���������f�H�D$ H�5�H�@HH�x���������������f.�I�E1�I����H�
�L��H���O��H���'��L�|$ ���DH�D$ H�5��H�@HH�x�_�����C�������f�I�GHH�5]�H�x�<���������������f�H�D$ H�5,�H�@HH�x�����������f.�I�GHH�5��H�x�������k��������f�H�D$ H�5̗H�@HH�x�������������f.�H�D$ H�5��H�@HH�x�w�����[����}���f.�I�GHH�5m�H�x�L������������-���f�H�D$ H�5<�H�@HH�x�����������J���f.�I�GHH�5
�H�x�����������������f�H�D$ H�5ܖH�@HH�x��������������f.�H�D$ H�5��H�@HH�x������k�������f.�I�GHH�5}�H�x�\�����T������=���f�I�EHH�5M�H�x�,�����_���L��H���d��M�m0H�C M���d����9���fDI�GHH�5�H�x�������������������E$L��L��1ɾ�����L�|$ �&����I�GHH�5��H�x������������m���f�M�fxM���(���E1�H��)��I�EM�d$I��M��������H����L�`H�M��u�I�����f�I�GHH�5�H�x������]���������f�I�GHH�5�H�x�������P��������f�I�GHH�5��H�x������C������}���f��|$H���Z�|$
�!���f�E1�M�G��H�
�������E$L���1�1Ҿ��r���H�ˊ)1���#�f�H�t$E1�H�T$ H��I���A��>������H�L$ H�����H�yH���H�yH�5]���������H�D$ H�5��H�@HH�x������b�H�T$ H��H��tH�t$H����H�T$ H�J0I���H�L$ �3��H�L$ H�����H�yH���H�yH�5X��/�����DH�L$ ���DH����H�T$ ��H�D$ H�5�H�@HH�x�������}�I�~`H�T$ �<H��H�T$E1ɾ�L�6�H���J��H�T$ H�J0H�L$ �K�H�T$E1ɾ�H��L�L���J���[���H�D$ H�5��H�@HH�x�i��������H�T$ H�t$H���*SI�F8H�D$ H�@0H�D$ ��H�D$ H�5?�H�@HH�x����������H�D$ H�5�H�@HH�x����������H�D$ H�5�H�@HH�x�����������H�T$ H�t$1�H���>I���H�������H�t$1�H���I�Fp�����l���ff.��AWAVAUATI��USH��xH�t$�L$dH�%(H�L$h1�H��H�D$P��M�������H��H����D�l$E���H��L���M��1�jH�t$ ����H��XZH����M�|$X�E�E\M��t`L�5ِ� �H�xL�������u&M�0M��t7I�GHH��u�I�H�5�X�����u�L��H���6��M�0M��u�fDH���L��H��H����^��H���M�l$H���H�D$M���I�}H�+I�}H�5'��������I�}H�I�}H�5E���������I�}H��I�}H�5n���������I�}H��I�}H�5����A�ƅ��L�
P�E1�L��L���H����G��D�T$E��tD���E��t
A����H�D$H����&jE1�L���L��j1Ҿ	H���ta��AYAZ1�H�L$hdH3%(H���=
H��x[]A\A]A^A_��H�5�L�����H��H������[���H�L$PH��H��H��������u������t-D���E���V���H�|$PH�5���Y���H��H���_���H��M��H��jL���H�L$`H�t$ ���Y^H��H���(���M�|$X�MXL�5`��E�E\M��u�wH�xL���$����uPM�0M��t[I�GHH��u�I�H�5SV�����u�I�H�5�������u�I�H�5��������u�f�L��H����3��M�0M��u�H�5^�L���]���I��H����H���H�<�L���0��H��H�uXA�����H�D$XD��H�ǹhA���0��_AX�����jL�
ѬE1�L��jH���H��j�t$h�M��H�� ���f�I�EHH�5-�H�x���������H�t$L��H��A���M�m0M���Z����8����I�EHH�5݌H�x��������L����.A�NX@����M�}XI�FpM��u*�@H�xH�5���x�����u>M�0M����I�GHH��u�I�H�5�T�N�����u�I�H�5��:�����u�L��H���;2���f�I�EHH�5-�H�x����A�ƅ��b���L����.A�NX�L�t$@�c���M�}XI�FpL�5�M��u,�:f.�H�xL�������u@M�0M���I�GHH��u�I�H�5�S�����u�I�H�5N��v�����u�f�L��H���u1���I�EHH�5m�H�x�L������9���L��H�����M�m0H�E0M������L�
ѪE1�1�L���H��E1��AC���z���@E1��Q���H�D$�@0�t�MX�t�MX� �b����MX�V���fDjL���H��E1�jL��1Ҿ	��\��_AX�.���L��H���UX��H�5Q�L���&���H�D$(H���DH�t$(H�����)��H�T$XH�l$HH��H�T$0H�D$@H�T$`H�D$ H�T$8H�x`�fD< w H�&H�����GH��< v�I���
�I��A�FI�n< w�H�&H��s�H9��WH��H)�茅��L�L$0L�D$8H��I��H�D$H�T$(L��H�p0�Q����ulH�)��I��H���H�|$ H�@H�taH�D$ L�H�L$`H�T$X�H��L�D$ �-��L�D$ H����I�@L�D$ M��tH��)L���A�F����H�����H�D$@L����H��L��H���@�����L��H���V��H�t$L��H��M�N`M�FhH�
e��qS��M�}M����I�Ht7I�H�5��荽�����}I�HtI�H�5���n������-I�~`��L�
�E1�L��L���H���~@��I�~`��M�m0E1��?���M�}M��tcI�Ht7I�H�5��������+I�HtI�H�5�������]L�
��E1�L��L���H���@��H�|$(u�H�D$@H�x8�x���jE1�L�T�L��j1Ҿ�H����Y��A[A^�O�������t���M�}H�l$HM���C����)���I�~8����H�5�L�����H������jE1�L�b�L��j1Ҿ�H���VY��A_X����fDI�GHH�5�H�x�����g���L���H���,��L��H���!Z��M�0M���?���M�~`M�������j1�E1�L��jL�龸H����X��XZM���N����,����I�GHH�5��H�x�l����������L��E1�I��L��I���I�FH�@I��H�m0H���bH�}H�AH�}H�5E~�������)H�EHH�5!�H�x�������
H�t$1�H��H���v�H��t�M��u�H�T$@H�B8�I�GHH�5ޅH�x轺���������L���H�����H�|$@H����X��M�0M�����������fDH�l$HM���B���H�|)L����1����C$L�ޥ1�1Ҿ�H�l$H莆���	���I�GHH�5F�H�x�%����������I�~`tLjL�龸E1�jL��1�H���6W��Y^M�0�V���L��I��L��I������Ō��L��M���
���H�t$1�L��H���H�I�F8�f�AWI��AVAUI��ATUH��SH��H�L$H��$�D�D$8L�L$ dH�%(H��$�1�H�H�L$H��$�H�L$H����fDH�xH��H�xH�53h�-������-I�EH���}H�xH�rH�xH�5*}������ZI�EH�5�H�@HH�x�ݸ�����:H��I�]��M����	�A��H����H�{H�<H�{H�5�g蜸������HDŽ$�I�]HDŽ$�E����H���fH�5�*H����I��H���H�L$L�D$H��H��L���M��L��H��L��H��$��}?�����eL�sXL�%"�M��u�gH�xL������u@M�v0M��tKI�FHH��u�I�~H�5#*�η����u�I�~H�5K躷����u�fDL��L���(��M�v0M��u�H��L���aP��L�cM��t>I�|$HtI�|$H�5��o�������L�
�yE1�L��H�ھ�L���:��A���H��$�H��$���tI���H��t
H�p�>�F�L�����I��H��tQI�G0I�\$(L��
H�x(���H�D$ H��t�H�D$H�8H���~L���i������I�]H�C0I�EH���S���1�H��$�dH3%(��
H�Ĩ[]A\A]A^A_�HDŽ$�HDŽ$�������fD���H��H�D$H�8H���i����������HDŽ$�HDŽ$����T���1�H�C0I�E�M����I�EH�5��H�@HH�x�ص�����<���H�D$I�]H�D$xHDŽ$�HDŽ$�H�H�D$@E�����H�����H�5�'H���-�I��H���iL�D$H�L$H��H��L����J���������H��$�L��H��L���<���D$0������A�G$L�cX�D$`M����	�D$(M����D$dL�t$XD�t$(�D$0�D$<H�D$PH�D$H�2DH�xH�5������tL��L���%��M�d$0M���SI�D$HH��u�I�|$E���{H�5�G�������I�|$H�5�&�f�����u�I�|$H�5l�Q������I�|$H�5�R�8������7H�|$H��L�
�wL��1�L��L�xR���P���N����I�EH�5H�@HH�x������������H9P �����H9H(�����A������BALJ��L�����I��H������H�X(I���L�`���DI�D$HH�5|~H�x�[��������L��1�L�����M�d$0M���������H��H�v%L����5��I�]H�C0I�E�i���DA�G$L�cX�D$(�D$`M������H�D$PH�D$H�D$<�D$0�E0tI���H�D$PH�|$PH�5��覲�����JH�5��H���?�I��H���k����H�L$xL��L��H������������H�|$xH�5�&�M��������D$<����L�cM��t>I�|$HtI�|$H�5+z��������L�
�tE1�L��H�ھ�L���25���|$8�	�|$8
��D�d$(E���H�D$@H�����H����H���H��$�H��$�H�|���H��H9���H��9�u�H9Qu�H9qu�H��$�HDŽ$���jL��1�jI��L�8�H�ھ�)��H��$�AZA[H���n���H��r)��`���H�5-��������K���I�|$H�5@D�����uwI�|$H�5�m�ְ������I�|$H�5�轰�����S���H�|$XL���8��H�5�lH��H�D$h蔰������I����D$dH�D$P����L��L���EH��M�d$0M���������|$0�
�|$<�H���jE1�H��jL�
��1Ҿ�PL��j�p;��H�� A�G$�D$0;D$`�F����D$(���5�D$d���'�������H�bp)�(�I��H���f�A�$�L��
AD$AD$A�D$$I�G0H�x H��H�5��D�L$(I�\$H��$�I�D$H��$�I�D$E�������I�G0L��
H�x(�����g���fDA�G$�/���H�|$XL�����H�5/sH��H�D$h�������m�D$<�H���I�|$H�5kr������$���H�|$H�����H�|$XL���W���D$0H�D$H�����D$<���p���H��L���>��I��H�����I�G0L��
H�x(�-���D$<�L��H��$�H��$�A�D$0�G
��H�������I�D$H�D$HH��tI�D$8�|$0uA�L$ L�SM���I���I�zH�ZI�zH�5vL�T$0����L�T$0���
I�BH�L�D$H�L$L��H��L���BC������H�D$xH��$�H�D$PH��$����H��L���C
��I��H������D$<H�L$PE1�I��H�T$xH��L��A�D$0�s��H�������H��$�H��tH�P0H��$�H�P8H�L$HI�D$H��t�|$0H�HXu�HxL�SM���H���I�zH�I�zH�5uL�T$0���L�T$0���	�T$(I�BH����H��t"I�zH�5�oL�T$(�Ȭ��L�T$(���L�
=oE1�L��H�ھ�L����/������H�|$hH�5�p般�����q�D$<����H�|$XL������D$0H�D$H���H��L�
I�1�H��jL�#���L��jj�J2��H�� ���M���A���I�BHH��tzI�zH�5(oL�T$(���L�T$(��t\I�BHH�5�vH�x�ݫ��L�T$(��t?M�t$I�~0�L��E1�L��H�ھ�L����.��L�T$(M�R0M�����L�
Fo����H�D$H�D$<�D$(����H��$�H��HDŽ$����H��L��1�jI��L�ڙH��j�	j�I1��H��$�H�� H��������_�H�|$hH�5V���������D$<�8���I�BHH�5�uL�T$0H�x�Ъ��L�T$0������L�ֺL������L�T$0D�D$(I�D$M�R0E���v���M���������f�I�D$HH�5�uH�x�k������T���L��1�L��覺��M�d$0M���V����4���A�G$L�d�1�1Ҿ��qv��I�]�l�H��H�2�L���,��I�]�Q�H�|$hH�5f����D$d���+���jL�
�mE1�L��j1Ҿ�L��j��$��5��H�� ��I�BHH�5�tH�x薩��L�T$(������L�
lE1�L��H�ھ�L���,�����ݓ��jE1�L��I��H�c�j1�P��L��j�4��I�]H�� �~�jE1�L�ƖjH��1ɾL���� ��A^I�]X�R�jL�
U�E1�L��j1Ҿ�L��j��$��54��H�� ��jE1�L��j�L��1�H��L��L�T$(�7�L�T$(I�F`����{��@AWAVAUI��ATUSH��(dH�%(H�D$1�H���D$H�D$��M������bI��H���VI��L��H�5U����H��H�����薒��H�L$H��L��H���#������H�\$M��$�H����H�nh)�x�H��H����H�xH�@H��H�@p)��Hx1����H��EH�]A��$�L�uhL�m@�MH����I�D$0H��L�5�rH�x H��@����I�D$0H��
H�x(���I�]XH��u �iDH�xL���,�����u@H�[0H��tKH�CHH��u�H�{H�5/�������u�H�{H�5G:����u�fDH��L������H�[0H��u�L��L���?��I�EH�D$H��tCH�xHt<H�xH�5�n褦����t(H�D$H�5�qH�@HH�x臦�����&�H�MpH�T$L��L��L�L$A������tl�D$����H�L$H��tXH�yHt"H�yH�5�i�'�������H�L$H��t/L�
&�E1�L��L����;)���H��g)H��D1�H�L$dH3%(H���H��([]A\A]A^A_ÃMH�o����M��H��H��L��I��$����I��$�H��t�ADŽ$����f�H���L��L���(���s���H�t$�L��藵��H�E0H�D$H�@0H�D$���H�D$H�5<pH�@HH�x��������H�D$H��tJH��L��L���7��H�T$H�J0H�EPH�L$����A�D$$1�1ҾL�i��q������1����w��f�AWAVAUATI��USH��XdH�%(H�D$H1�H��H�D$8H�D$@��M�������H��H���}H���I��A��H�D$���#H��L���1�M��j�����Y^H��H���9H�CL�cHH�D$@�H���M�|$XH���M���H����D$�D$H�D$ �%@H�xH�5�n踣�����M�0M��t7I�GHH��u�I�H�5�6莣������L��H���K<��M�0M��u�f�D�\$E����D�T$E��uA�E0�t�KX��I�D$H�D$8H���H�xH��H�xH�5'k������H�D$8��H���H��tHH�xHtAH�xH�5Og�������H�D$8H��tH�xHtH�xH�54g躢�������-�(���L�|$8�KXH�CpM����I�HtOI�H�5�^�{������#L�|$8M����I�Ht"I�H�5�e�N������FL�|$8M��tlI�H��I�H�5\e�!������IL�T$8M��t?I�zHt8I�zH�5If�����t$H�D$8H�5mH�@HH�x�ۡ������E1�H���L��H��H�T$8A��������H�L$81�H��tKH�yHt"H�yH�5%e脡������H�L$8H��t"L�
S�E1�L��H����D$�$���D$E��tD���E��t���H�D$H����Kf�H�5=�L�����H��H������{���H�L$@H��H��H���������H1�H�L$HdH3%(H���h	H��X[]A\A]A^A_��L��H�������I�H�5�d萠������E��t�I�H�5��s����������I�H�5�d�[������4I�H�5�c�C�������H�|$ L���
��H��A�����H�sXj�H��E�ȹ�H�D$8���^_��L�T$(�\D�t$�;����D$A�E0��t�KX�@�g����KX�[���DL��H���6����������KX���@H���M��L��jL���H��H�L$P�#���H��XZH�������L�cH��KX�L���f�H����J���@M���)����I�D$�KXH�D$8H�����H����X���f.�H�D$8H�5jH�@HH�x������-���L�|$8�C\M���pH���I�WXH�D$H����H�\$H���(�H�xH�5�i萞����uDH�[0H����H�CHH��u�H�{H�5�1�f�����u�H�{H�5�b�R�����u�fDH��H���M���H�D$8H�5DiH�@HH�x�������<����CX�t���CXL�|$8M����H���I�WXH�D$�@\H���H�\$H���#f�H�xH�5�h�����u*H�[0H����H�CHH��u�H�{H�5�0薝����u�H��H�������DH�@HH�5�hH�x�l�������H�D$8�T���f.�H�D$8H�5\hH�@HH�x�7�����������H�T$8L��H���(H�C8H�D$8H�@0H�D$8�3���H�D$8H�5hH�@HH�x�������������H�D$8H�5�gH�@HH�x跜�����������{���DH�D$8H�5�gH�@HH�x臜��������H�D$8H����H��L��H��裿��H�T$8H�J0H���1�H�L$8����jL���H��E1�jL��1Ҿ	�g9��_AX���L��H���$3�����\����KX�P���H�T$8L��H������H�C8H�D$8H�@0H�D$8�	���H�\$L��H���4��M�WM����I�zH�}I�zH�5�cL�T$蜛��L�T$���eI�zH�PI�zH�5�WL�T$�o���L�T$����I�zH�#I�zH�5�WL�T$�B���L�T$���lL��L�
�E1�L�Ѿ�H��D$�T��L�|$8�D$I�O0H�L$8���H�\$L��H���3��H�8_L��H���1����tH�L$�AX�u���AXM�WM����I�zH�yI�zH�5�bL�T$蘚��L�T$���^I�zH�LI�zH�5�VL�T$�k���L�T$����I�zH�I�zH�5�VL�T$�>���L�T$�������I�BHH�5>eH�x����L�T$�������
L��L��H����L�T$M�R0�M�������L�|$8����H�t$8�H������H�C0H�D$8H�@0H�D$8���I�H�5	^裙��L�������H�|$ ���H��A������j��H�sXE��H��H�D$8����ZY��L�T$(��D�t$���H�hxL��H�������V���1����I�BHH�5:dH�x����L�T$�������L�ֺH���L���H�|$H���?7��L�T$M�R0M���R���L��L�
��E1�1ɾ�H�����L��E1�1�L�
j���H������1�L�|$8���jL�
�jjARE1�L��1Ҿ�H����#��H�� ��I�BHH�5ycH�x�X����	L�T$�����L��L��H���h���L�T$M�R0�6���I�BHH�57cH�x����L�T$���z���L�ֺH���I���H�|$H���<6��L�T$M�R0M���K������D1��k���I�BHH�5�bH�x赗���	L�T$���n������I�BHH�5�bH�x芗��L�T$�������
�-���jL�
�jjAR�����Jj��1��H���AWAVAUI��ATUH��SH��XH�t$D�D$dH�%(H�L$H1�H����H�������I��H����M��tA�EH�5vH�����H�5/	H��H�����I��H��t�D$���D$(H���H��L���u/��L�uH�D$M��t/I�FHH�D$H��t!I�~H�5�^�u���H�D$����	D�T$E���6��̀��H�L$@H��L��H���Y������IL�|$@M��$�M���3H��V)���H��H���qH�{��H�ھH��H�CHǃ�)����1����H�L�{�I�D$0L�k`H�kHH�x H��@�X�I�D$0H�ھ
H�x(�B�L�}XI��$�H�D$ H�D$M���ML�-�`�'fDH�xL���T������M�0M���I�GHH��u�I�H�5Ot�&�����u�I�H�5R������u�I�H�5S(�����u�I�H�5Y3�����u�I�H�5YX�֔����u�I�H�5(Y�”�����n���I�H�53Y誔�����V����|$I��vH�5�R臔�����3���I�H�5�R�o���������I�H�5���W����������L��L���M��M�0M����D�D$E�����KX"H�t$H��L��L�KxL���H�
UR�)��H�MXH��L���*����t�KXH�5�WH�����I��H����H�|$H���J���H��A�����H�sXj�H��E�ȹ��I�����^_��t,jL�
ۂE1�L��j1Ҿ�L��jAW����H�� @H�5�WH�����I��H���
H�|$H������H����j�H�sXA�����H��A� I�����ZY����H��WH��L���!)����t�KXH�5�OH�����I��H��t*H�t$H�KpH��L��L�Ch�*(��H�KpL��H��L�����L�|$H�1H��L�����H�5VH��H����+��I��H��t9H��L�����H����ZL�
�UL��1�L��L��0����.��M����I�FHH��t=I�~H�5�V��������I�FHH��tI�~H�5 U�����I�FH�+E1�L�=zV�@I�~L���̑������I�~H��I�~H�5�R詑������I�~H��I�~H�5+V膑��L����M����M�v0I�UM����I�FHI��H����I�~L���E�������I�~H��I�~H�5QR�"�������I�~H��I�~H�5�U�������I�FHH�5\H�x������{I�~H�����L��M���R���M�v0H���M���O���H�D$H�C0�D$��uQH�D$ H�XH���CA�D$$1�1ҾL�"U��\���H�|$tH�D$ H�@H�|$����1�H�L$HdH3%(H���H��X[]A\A]A^A_��H�
�R�����H��L������@1�H��L�uL��D$�,!���T$H��L���D$,��+���L$,�T$H��L�����H�D$ H����D�L$(E����H�D$8H�D$@M��tA�EH�t$H�L$8L��L��L�D$@��$��H�L$8L��H��L�����H��t L�
tnH��1�L��L������+��L�mXH�DZ�"f.�H�xH����������M�m0M����I�EHH��u�I�}H�5;�����u�I�}H�5�m�Ҏ����u�I�}H�5"辎����u�I�}H�5�L誎����u�I�}H�5�L薎����u�H�
cL���L����)��M��tL�
�PE1�L��H���L������D$D$,����H�L$8H�T$@�L���!�H�������H�\$ H�L$�
I�|$0H�CH��H�KH��(������D$(�;���H�|$�����H�|$����}���D��>x��H�L$@H��L��H���˜�����3���H�5ܰH���D��I��H����I��$�H������H�5�IH��H���f�������M��$�L�l$@M������H��M)���H��H�������H�{��H�ھ
H��H�CHǃ�)����1����H�L�{`�I�D$0L�kH�kHH�x H��H��I�D$0H�ھ
H�x(�o�L�}XI��$�H�D$M���6����@���I�FHH�5�WH�x茌����� ���L���L���Ĝ��M�v0H�D$����fDL��L���e����D���I�FHH�5]WH�x�<������Y������I�FHH�55WH�x�������1�������I�FHH�5
WH�x������ ���L�C`�H�t$L��L���K���H���H���I�FHH�5�VH�x謋��������L�C`��f�I�FHH�5�VH�x�|���L�������L�C`��fDL�
}E1�L��H���L��������fDH�D$�@0��t�KX�@t�KX�������KX ����D�KXH������H�D$�@0�����E1����f�H�D$�@0�t�KX���U����KX�I���H��iH��L���G
���D���H�5�FH��胊����u�jL�
pNE1�L��j1Ҿ�L��jS���H�� �r���jL�
w{E1�L��j1Ҿ�L��jAW���H�� � ���I�FHH�5-UH�x��������H�{h��E1�L�_{L��H���L���
��M�v0M������I�FH����fDH�xH�5�T谉����t�H�{hthE1�L��w�f�A�D$$1�1ҾL�!N��U��H�|$���������H�t$1�L��L����H�C8�a���H�t$1�L��L�����H�C8�F����
\��H�5�L���������I�H�5VM��������I�H�5:G����������@AWAVAUATI��U��H��S��H��H��xH�t$ D�D$dH�%(H�D$h1����H�D$H�����t$�������S	H�
�J�����L��H�������@1�L��L�kmH��A�����A��D��D��L��H���,$��D��D��L��H���K�H�D$H���}H�T$M�|$XE	�D�t$(H�PM����L�-�R�DH�xL���ԇ����uPM�0M��t_I�GHH��u�I�H�5讇����u�I�H�5�E蚇����u�I�H�5�E膇����u�f�L��H�����M�0M��u�@L��H���- ��M�|$M����I�HtI�H�5LO�8������H����H�D$`1�E1��D$,H�D$8H�D$\H�D$0�~�I�H�5L6������I�H�eI�H�5K�͆������I�H�BI�H�5�I誆������I�H�I�H�5�I臆������I�H��I�H�5�I�d�������I�GHH�5iQH�x�H�������I�H��I�H�5�5�%������=I�HtuI�H�5WJ��������I�HtVI�H�5�H�������I�Ht7I�H�5�H�ȅ�����pI�HtI�H�5�H詅������H��tM���#I�nI��M�0M��t(I�H�x���L�
�xE1�L��L���H������L$(�����T$,��tH�{0H�T$�
H��(�����D$��H�D$HED$H�D$H�L$hdH3%(H�D$��H��x[]A\A]A^A_�f�M�t$XL�-�OM��u �ODH�xL���̄����u&M�v0M��t1I�FHH��u�I�~H�5�覄����u�L��H�����M�v0M��u��D$(H�D$�����H�D$I��H�h�����I�GHH�5eOH�x�D�����������O����I�GHH�5=OH�x�����������J����I�GHH�5OH�x����������E����I�GHH�5�NH�x�̃���������H�L$0H�t$ E1�L��H���\�H��H�������|$\�\$,�����I�GHH�5�NH�x�|������4������I�GHH�5uNH�x�T������N���H�t$ L��H���L���H��H�������D����D$,E������H���H���o���H�P�:�b���H�MH���U���H�P H9Q�G���H�p(H9q �9�������gH�H9M �@H�D$`H�|$8�Q���L�juWI��jjjH��1�L���	���H��$�H�� H��t	H�D)�H���1�H�@�������I�GHH�5MMH�x�,������E���H���RH�|$ �FM�oXH�-MM��u0�f.�H�xH��������|M�m0M����I�EHH��u�I�}H�5趁����u�I�}H�5�?袁����u�I�}H�5�?莁����u�I�}H�5�l�z�����u�I�}H�5ID�f�����u�f�L��H���e��t���I�GHH�5]LH�x�<�������o���H�t$ L��H���H���v����I�GHH�5LH�x������S�����DI�GHH�5�KH�x�Ԁ���������L���H������H�L$M�0H�A��t(M���z�����t$(���d���@H�D$�h���M��t�D1�I�H�D$,L�l$\�(L�d$0E1�M��L�l$ �#@H�EH��M�0M���I�H��I�H�5u/��������I�GHH�5KH�x�������E1�L��L��L��H����H��t��|$\A���x ~3H�D$ L��1�E1�jL��q�H��j����H�D$0�@ ZY�x$~5H�D$ E1�L��1�jL��q�H��j���H�D$0�@$AZA[H������H�T$H��H�B����DD�t$,L�d$0L�
�r���f.�H�
�C�L��H������L��H��L�G6�A���*��A�����f�L��H������@1�L��L��cH����������L��H��H�
A�ʼnD$@�����L��H�߉‰D$D���H�t$ L��H�ߺ�W��I��H����L��H��H���͝��M�WM��tII�jHH��t I�zH�5OFL�T$H1��4~��L�T$H��uiL��L�
�@E1�L����H���N��I��L$@�T$D1�L�T$H��	��f���L��H�����H��H���O���L�T$HL�hL�P�-���1��6���I�BHH�5�HH�x�}��L�T$H���v���L�ֺH�����L�T$HH��M�R0M���Q���I���i���H�hǃ�����H�D$`H�|$8���I��APL��ojjj����"P��D�t$,�����AWAVAUATUH��SH��(�L$dH�%(H�D$1�H��H�D$��H������BH��H���6L���L�}XI��L�-�GA�L$XM���[fDH��H���m��M�L$`H��L��M�D$hH�
ƥH���>����uI�|$`�fH�EH�D$H����H�xH�qH�xH�5UD�A|����H�D$�$H�ƒ|$
��H����E1�H�T$L��H��I��$�A�
�L�����t[H�L$H��tQH�yHt"H�yH�5w?��{�����3H�L$H��t(�|$
L�
�otL�
�jE1�H���H������1�H�L$dH3%(�QH��([]A\A]A^A_��H�xL���d{����u@M�0M�������I�GHH��u�I�H�5��:{����u�I�H�5k��&{����u�f�L��H���%��H�@HH�5FH�x�z�����_H�D$���f.��|$
�����H�xHt&H�xH�5�=�z�����TH�D$H������H�xHt&H�xH�5�=�z�����fH�D$H������H�xH�S���H�xH�5�>�`z�����tH�T$�(���fDH�������H�zH�_���H�zH�5k6�$z����u/H�D$H���=����q���DH�A�H��H��������H�D$H�5�DH�@HH�x��y����t�H�D$H����A��H��L��H�����H�T$H�R0I�D$8H�T$�o���H�t$�H���Ӊ��L��H������H�D$H�P0H��H�T$�1���H�D$H�5nDH�@HH�x�Iy���������H�D$H����A���h���H�D$H�5/DH�@HH�x�
y�����y���H�D$H����A���)���H�D$H�5�CH�@HH�x��x��H�T$�������L��H���Ì��I�D$8H�D$H�P0H�T$�u���H�D$H�5�CH�@HH�x�x���������H�D$L���H��t0H��L��H��蛛��H�T$H�J0I��$�H�L$�w���1����1���� K��AWAVAUI��ATUSH��dH�%(H�D$1�H����M������CI��H���7I��L��H�5W荲��H��H���a��Gb��H��H��L��H��1��Ԇ������H�$H����H�(8)M��$��@�H��H���f�H�@4@@�@<H�X �L�h0L�p(A��$�����I�D$0H��L�5DBH�x H��@����I�D$0H��
H�x(���I�]XH��u!�jfDH�xL����v����u@H�[0H��tKH�CHH��u�H�{H�5�U��v����u�H�{H�5
�v����u�fDH��L����H�[0H��u�L��L���Y��I�]H����H�{HtuH�{H�5y>�ev�����=H�{HtVH�{H�5�2�Fv������H�{Ht7H�{H�5[9�'v������H�{HtH�{H�5C9�v�����(L�
)jE1�H��L���L���#���H�L$dH3%(H����H��[]A\A]A^A_�D1���@M��H��H��L��I��$����I��$�H���AADŽ$��5���DH��TL��L�������v���f�H�CHH�5]@H�x�<u��E1��������vf.�H�CHH�5-@H�x�u���������H�޺L���D���H�[0H�EH����������fDH�CHH�5�?H�x��t���������E1��H��L��L�����H�[0H�EH����������H�CHH�5�?H�x�|t��E1�����M����A�D$$1�1ҾL�9��@���b���H��5)H��1��O����G��ff.�f�H��A��H����A�uH��tA��.�fD1��D��H����ATI��USH�0H��t���I�|$xH��t@H�_�Wq��H��H��u�I��$�H���~H�G5)H�}H�H��t��H�H���I��$�H��t@H�/�H��H��u�I��$�H��tfDH�/�H��H��u�I��$�H��t�9��H�L��[]A\��DH��4)���ff.�@AWAVAUE1�ATUSH��H���GH�/��R��D�����������t����L�%U4)L��A�$I��D9k��N�t�M��t�A�>����w���������������I�~0H��t�y���I���H��t�8��I���H��t��v���v���f��������b�����uyL��I���-N��D9k�c����CH��[]A\A]A^A_�D��s#��t�r<��r7L���a������f.�I�~H��������ξ�����f����?袙��I��H�
�e1Ҿ���=������f�I�~H��t肾��I�~0H���%H�W H��tH����H��I�~0L�%�2)A�$I�N8H���s����H�y L�9H��tH�L$�H��H�L$H��A�$L��M��u��<����I�~@H��t����I���H�����������DI�~H��t�ڽ��I�~@H���q�������I�~0H��t貽��L�%+2)M�~pI�$M��tI�?H��t��I�$L����I�$L�������DA���-L��'H��'LD����f�L�%�1)���@��H���CATUH��SH���t'�-\��H���\���_H��)H�5q�H�81���H�}XH��t1��F��H�}@H��t1��E��H�}HH��t1���E��H�}PH��t1���E��H�}8H��t1���E��H�}pH��t1��E��H���H��t1��E��H�}`H��tH�5��E��L���M��tgA�D$1ۅ�~@I�$H�<�H���gA9\$�H��0)I�<$H�H��t��H�L���H�}(H��t����H�}x�\]��H�H��[]A\��H�y0)����ff.�@H���ATUH��SH�_@H�����K��tH�����H�]@H����L�% 0)H�;I�$H��t��I�$H���H�]HH��t/�S��tH���A���H�]HH��tH�;I�$H��t��I�$H���H�}(H��t�H�A�$H��H��u�E<��uH�} H��t�\;���}t&[I�$H��]A\��f�L�%y/)�k���@H�}PH��t��M��[I�$H��]A\��D�ff.�@�������AWM��AVAUA��ATUH��SH��H��(H�D$xH�$D�L$H����H�O0L�qM���A�V������H�5�����D$H��t%I���H�T�@L�0I;^�SH��H9�u�E1�H�x-)� �I��H���Mf�A$AD$H�M0H�A H�P(H��u��H��H�H��u�L�"E�l$A����M��tdE�^8E��t"H��H�J1I�vHD�H���kl������I�~��M�t$H�D$xL�0H��(1�[]A\A]A^A_�f.�E1�E1�H�$H����H���H����H���������7���D$H��H�<$�k��H��I��H�����B��tI��th��tcH�B0H��H����H��H�D$H�L$�%b��H�L$H����R��H�D$H�‹B��u�H�zPH����H�T$����H�T$����1�H�BH��t�p�~���v��u	H�B0H��tH��H��u��Z���L9�tH�B0H��u�H�R(H��u�H��tH��H�L$�a��H�L$H���*R��I�Ht0I�H�5"'��j����tI�GHH�5�5H�x��j�����CH��I��L�b1�j��H��jjH��$���H�� �t$�����E H��([]A\A]A^A_�fDH��L	��D�f��I��H����H���t0H���H��t$H�$�X��L�$H���I����-[��L�$H����1�L�߹H��L�\$�A��L�\$H��H�$�AL���c���D$���f�H��H�T$��8��H�T$H�у��P����I���DL9q �����H��E1�L�@^jjjH��$��t$01�H����H�� �����D$H�+.@H��I��L�j`1�j��H��jjH��$��M�H�� ���@E1�E1�H�
�_1���H���ĭ��������u���f.�H�D$pI�D$H�������M����A�V8���p���I�vH���h�����\���H��I��L��]1�j�
H��jjH��$���H�� �-���L��H���H�{+����I��M���.H�E0H�H�D$H����H��()�X�I��H����H�xH�@H��H�@P)��HX1����H�M�~E�.�^���I�F@H���)�L���I�FHH���H�E0H�PH�����z����H�l_E����A����H�@ �8vH�@PI�FPH�D$H���H���!L���[���H�E0L��H�x�K������u6fD�L$����H�<$�4��H��(�����[]A\A]A^A_��H�$I�^A�F0I�F �D$M�~M�~��tA�F<A��A�F8M����������H�<$�O4��M���N���I�F �A���f�L�`(�����H�D$hI9F�I���H�E0H�@�P���fH���H�L���H��H9��KH�H�zu�H9Zu�H�rH9t$hu�I�T$���fDH�A�P������H���H�t��@H�zH9|$pt%H��H9����H�H�J H��u�H�zu���D�R8E��t�H�rI�T$H���&H�ZI��H�������H��[H�5�*H���	��������(���H�u*L�$�3��L�$H��t	�8��L�$H��H��I��jL�\1ɾ�jjH��$��|�H�� L�$L���^������A�U�����A�L�pH�D$I�FPL�xH�D$H�x`H���L��M����L����c�����r���H��\H�5*H���7��L�������j���H��I��L��Yjjj�'����L����]��M���L���I�^A�F0���fDL�a)1�1Ҿ��0�����������@H�<$�gd��I��H�����H�����D$H�)�4���fDE1�����T$E1�1�L��A�L��L�\$��D��L�\$H��H��H�$�?���H�=�(�3��L�\$H���H��(���H�q%)L����W���H��H�$�c��H�$I�օ��I����rI��L�'Y1�t$x�H��H�T$p�W��AXAY����L��Y���轸��H��H�D$H���H�������i���L�~(1�1Ҿ��v/�����H�5���a������H������I�FPH���$���L�x����H�E0�H�p�-��H��H�D$H�x`H���������fDH��'H�5�'H���
���E���H�Z���H���D$H�V'���f�AWAVAUATUSH��H��D���E��tH�(H��t
�5B��H�C(H���H�C0ǃHǃ�Hǃǃ@H��t�jf��Hǃ�H���H��t%L�%�#)@H�/A�$H��H��u�Hǃ�H���H��tbD���E����L�%[#)1�f�L�,�H��I�}A�$L��A�$9��H����A�$Hǃ�Hǃ�H���H��tQD��E��~$1�fDH�<�H���#���9�H����L�%�")A�$Hǃ�HǃH���H��t�"���Hǃ���(����H���H��tD�����~:H�0H��t2A�1���H���J�4 I��H��tH�߃��a���;��|�H��8H�}H��tL�%"")A�$H�EH�EH����N���]A��H�{`H��H��tL�%�!)A�$H�C`H���H����L�%�!)H�EH�D$�SDL�}8M��t!�} ��I�?I�$H��t��I�$L����H�}@H��tH�5֍���6��H��L��A�$M��tRH�E(L�uH��t��U0I�$��~'E1��J�<�H��t
��I�$H�E(I��D9m0�H����i���f�H�l$H���B���Hǃ�H��[]A\A]A^A_��A�G���7���E1�I�N�<�I��I�A�$L��A�$L�}8E9o��
����H��(H�� �������L�%y )�J���@��H����H����UH��H���	S�H��H�=�#H���5\��H�MH��ttH��H�a�1��\��H�}H��twH����5��H�޿
�:��H�u(H��tH���7���H�}8H��H�5�����*��H�}PH��H��H�5���[]�+X��H�=x#H�ٺ	��[��H�}H��u�H�ٺ�H�=S#�}[���s������H����H�=#�O[��ff.�@��USH��H��tAH��艵��H��H��t �|>�������H��H���H���u(��H�EPH��H��[]��1�H��H��[]�@��ATUSH��t3��~/A��H���$���H��H��tH�hhD�`p�>��H���H��[]A\�1�H��[]A\�fD��USH��H��t1H���ٴ��H��H��tH�hX��=���C`H���H��H��[]�1�H��H��[]�@��H��t'H��tH�GH�H��tH�GH�1�H��t
H�WH�ø�����f.���UH���`SH��H��)�H��H��t]H�xH��H�HǀXH��1�H)���`���H���=��H���H���H�k(H��8H��H��[]�L�^!1�1Ҿ��(����@��H��tGUH��SH��H��H�`H��t	H�;)�H��tH���L+��H�C`H��[]ÐH�C`H��[]Ð�ff.�@��H���SAVAUATUSH��H���H��t�_��H���H��t�fK��H���H����D���E���H�-�)E1�@N�,�I��I�}�UL��UD9��H����UH���H��t4����~'E1��J�<�I��背��D9�H����UH���H��t蟦��Hǃ�H���H��t胦��Hǃ�H���H��t@L�'�UL��M��u�H�� H��t<��(�����,��~!E1�J�<�I���UD9�,H�� �UH���H��t[�����~NL�'M��tFA�E1��f�N�$7I��M��t%L��H��A���d���L��UD9��H����UL��8M��tI�<$H�EH��t��H�EL���H��H��t��G��H�{`H�EH��t��H�EH��[]A\A]A^��fDH�-�)�T���@H�� H��(����H�� ������H�-�)����ff.����H����ATUSH��H�XH��t�S`����H���H��t�,���C8��tH�{0H��t袊��H�C0�C8H���H��t?L�%)H�}I�$H��t��I�$H���H����F��I�$H��[]A\���L�%�)����%��H���H���g����g���fD����AWAVAUATUSH��dH�%(H�D$1�H����I��H�����H��H��H��A�č������wH��Hc�H�>��fDE1�H�t$dH34%(D����H��[]A\A]A^A_��H��<��H�C@H����H��A��E��t�E��t�E1�H���vG���@H�H�5;�W�����X�C4���>t
L�npM���MH����H�=����Y��I��H����H�KH�s(jL��jA�L�C8L�����ZY�����H����L��A���O���DL�8L�w�"���t�!��@��L��L��H���;���������H��tJ�;H��H�
����HD����H��H�S(L�JOjQPL�KL�龵H�����H�� A���^���I�������H��A��H�{8�fL��A��u���H�{H�5��U������H���C4A���J���DA��H�����H��H�S(L���jL�PNH��jjL�K�h��H�� ����H��tH�H�5�H���}���DA��������DH�{H�5
�T�����0�C4���@I�UI���H��H�$�u���H��H�S(L��jL�YMH�پ�jPL�K���H�|$ H�� H�������H�4)����DH��us��L��A������D������@H��tH�#H�5L������x@��L��A�H��A����IH�H�5��H�81���������;�ɀ��H��H�S(1�jL�L��L��jPL�K����H�� ���f�H������H��H�S(L� MjjjL�K���H���x���H��KH�5EH��A����������\&��ff.���������H��t
�Wh1���������H��t'H�wH�WH�OH���H��t�:I��f.��ff.�@��H��t'H�wH�WH�OH���H��t��E��f.��ff.�@��H��t/H�w H�GH�GH�WH���H��t�B��fD��AWAVAUATUSH��dH�%(H��$�1��>�Y�FXH��@���O$L�fp
@H���FX��$��F\M���dA�$��tA�D$Z@�dL���M��u7HDŽ$��^f.��@�uM�}����M��M��tI�}�?�GXu�M�}M��M��u�HDŽ$�L�cpM����A�$��t���A��$�-��SX��t	��������A�D$X���TH��$�L��蔆��jL��K1�jI��H�ھ�H���T�H��$�^AXH���PH��)��E$9�$����E ��H�pH�������?�����H���H��t�H�PL� I�UM������M���H�!)��H��tmI�L$H�HI�I��L�8M�$$M��u����DH����6I�}�GX�w���@1�H��$�dH3%(��H�ĸ[]A\A]A^A_�D�E$L�41�1Ҿ��J��������HDŽ$��;����tf���
L�{xM����I��DA���.��A�FY@��M�vpM��u�H�:H�5�H�������2������@��L�k8M����
A�E��������
A���-��
A�UX�€�;�€��
I���H��u��
@H�H����
H�p�FYu�H��$��E���jL��J1�jI��H�ھ�H����H��$�A\A]H��������E$����H��L���5L���M�������������W�������Xf�H��$�L��调��jL�HjI��1�H�ھ�����M���I�uI�T$H9�t1�H���5����M�mM�$$M��u�L�cx�M�����A�$-���vH��L���H������1�M�d$M��uӅ������L�kxD�u$L�cM��tmH���H���7H�U@H�P(�L��H��H��L���GS������d���M�mM��u�H���H�@(�E$A9�t�U ����8������6���L�cpH���I��$�I��H��u�f.�M��M�.M��u�H�D$E1�H�=�uH�D$ H�D$(H�D$H�D$H�D$hH�D$p@H�r�-���wHc�H�>��fDH�t$H�H��u�H�|$��M����!�H�|$(��H�|$ A��A!�M��A��H����H�D$HH�=uH�D$`H�D$8H�D$XH�D$@H�D$PHDŽ$�H�D$xH�D$0fDH�q��������Hc�H�>��H�t$�6���fDI���(����H�t$h����fDH�t$(����fDH�t$p���fDH�t$���fDI�������H�t$ ����fDH�t$@H�	H���L���H�|$0A��E!�M��tH�L$HL$�J	���j
E���	
E����H�D$H��tH�t$@H����H�D$H��tfH�t$PH��t\H�v8H�x8�� ������n	���~��t9H�D$P�H0��t-H�T$E1ɾ�H��L�.JH�J(jj��XZ�M����H�|$�{
H�D$I�}8H�p8�q ������������H�|$�H�D$I�}8H�p8�A ����������M���H�D$(H��tH�p8I�8� �����������QH�D$8H��t'H�p8I�8��������m���B���[L�l$HM��t7I�u8I�8�������<���tA�E1�L��L�������H����H�D$XH��tH�p8I�8�t������������L�l$`M��t8I�u8I�8�K���������tA�E1�L��L���H���!��H�D$H���"H�L$ H��tH�q8H�x8�������������H�D$HH��t,H�p8H�D$H�x8��������T������/H�D$8H��t$H�p8H�D$H�x8�����������L�l$XM��t>H�D$I�u8H�x8�i���������tH�t$E1��L��A�H���=�L�l$`M��tCH�D$I�u8H�x8�!���������t#H�t$E1��L��A�H����DL�l$ M���M��t4I�w8I�}8��������W���tE1�E1������L��L��H����H�D$`H��t,H�p8H�D$ H�x8�����������o����H�D$8H��t$H�p8H�D$ H�x8�W�����������H�D$XH��t$H�p8H�D$ H�x8�)�����������TL�|$HM��t=L�l$ I�w8I�}8�����������tA�E1�L��L�����H������L�|$(M���2L�l$M��t4I�u8I�8�������2���tE1�E1������L��L��H����H�D$XH��t,H�p8H�D$(H�x8�h�����������}����H�D$8H��t$H�p8H�D$(H�x8�2����������L�|$`M��t<L�l$(I�w8I�}8����������tA�E1�L��L��H�����L�|$HM��t@L�l$(I�w8I�}8�������E���t A�E1�L��L�����H����@H�|$p��H�|$xA��A��E ��H�|$h�J
H��$��;
H��$�H�p8H�D$hH�x8�<���������������H�|$p�{H�D$pH�p8H�D$hH�x8�����������M��$�M��thL�%YDf�M�WA�
�������v>H���H��u�eDH�H���TL�hA�U9�u����	@M�?M��u��KX��@������H���H��t�H�P�:���	H�H��u�H�spH��t?�����-t4�>��
H���fD�����-t�8��
H�@pH��u��NXH�Cx�������1�E1�H������)fD���t����D�H�@H��������uӹA���אH�t$P����fDH�t$0���fDH��$����H�t$X����fDH�t$x����fDH�t$H���fDH�t$8���fDH�t$`���fD������L���M��u ���@��M�mM���(I�}�?�GXtܩ@u�H���(I�}�GX��@jE1�L��j1�H�ھ�H�����Z�E$Y�R�fDH�v8H�x8�c���������������A���H�D$@D�@0E���/���H�T$��H��E1�L��AH�J(jj�#��^_����@H�|$0����L�l$0�c���f���$�H��E1�L��I�M(D��$�L�}@��D��$�jj����_AXD��$���$�D��$��[���H��<H�5�H�����������DH��H�5�AH�����+�DL�cpA�<$�A�D$X�@�`	���CH��$�L���Kv��jL�Z=1�jI��H�ھ�H�����H��$�A[[H����H�`)���f�A�UX��@�^�H��L���'�J�H���/���H�D$pE1�E1�1�H�D$hE1�E1�H�D$H�D$ H�D$(H�D$H�D$���DA��$�.���H��$�L���au��jL��9I��j��fDjE1�L�j�s���DH��$�A�L�-�:H�D$H��$�H�D$��M�M����A�7L���h����u�H�|$H�SHH��HDŽ$�HDŽ$�軺��H�|$1�L��謺��A�?H���l��H�sHjH��jE1�E1���Q1�P��$�AU�	��H��$�H��0H��tH��)�HDŽ$�H��$�H��t	H��)�E1��5���DE������f�A���A����A��H���	���fD��t�KXE����KX ������KX���H�D$0I�}8H�p8�������������]�H�T$0A�E1�1�L��H���b��H�D$0D�X0E���0�I�M(jE1�L��=jL�꾵H���>��AYAZ��DH�D$ D��$��8�j��H�L$(H�Ƌ9�j��L�=H��H��H�I(jI��V������XZD��$���@H�D$D��$�D��$��8�Lj��A�?H���Aj��I�O(jL��VI����L��<H�����Y^D��$�D��$��5����H�sp�KX�^���fDH���(��H���i
I�WH�H�PM����I�I�����fDH�|$@���H�D$@H�D$�j�DM�d$8M���A�$��t���	A��$�-��M9�t1�L��L��H���t#���
L�cx�M��u�/�f�M�d$M�����A�$-���v�H��L���H���A���1���DH�|$P�
�H�D$PH�D$���DH��$�H��H���Eq��jL�$91�I��jH�ھ����H��$�L���q��jL��61�I��jH�ھ�������KXf.�H�sp����L�cpA��$�.L����A�T$X�€����H��$�L���p��jL��51�I��jH�ھ��C���fDA��$�.������H��$�L���Hp��jL��61�I��jH�ھ���A�B4A9E4��A�J0���^���A�B4A9E4�P���I�M(jL��E1�jM�ྵH������XZ�+���������KX��
�CX�����H���D�@Y@��H�@pH����	�����.u��y�f��R4�������������������������H�sp�KX�+���H��$�L���;o��jL�R51�I��jH�ھ����H�D$HE1�H�D$`H�D$8H�D$XH�D$@H�D$PHDŽ$�H�D$xH�D$0�C�H�T$8�����L��H��A�A��q��H�D$8�@0�����I�O(jE1�L��8jL����H���O��A]X�k�H���I�������������.�����KX����H���H��tAH�pH��t0�FYt*H��$��n��jL�&61�I��jH�ھ���H�H��u�H������jE1�L��1�jH�ھ�H�����A^�E$A_�T��L���M���6��8uL���M�����H�@pH��u�L�%�5L��H�5k�H���Y��M�mM��u����H�|$pu
H�t$xD��H�t$pH�t$hH��$�H��HE�H�L$hH�|$h���������H��$�L����l��jL��31�I��jH�ھ���H�T$HH�t$�����A�A�H�����H�D$HD�X0E�����H�T$E1ɾ�H��L��6H�J(jj�^��AYAZ��H��1H�5q�H���_���������L�T$I�M(H��E1�j��L��6L��j���^_L�T$����H�D$xH�p8H�D$pH�x8��������b����������
H�|$htH��$��T�D�����H�T$@H�t$�A�A�H������1�H�T$E1ɹL��A�H���\����H�T$PH�t$�����A�A�H���4���^�H�T$E1ɹ����L��A�H��������H�T$`H�t$ �A�A�H������H�D$`D�@0E���d�H�T$ ��H��E1�L�@5H�J(jj����^_�9�H�T$(E1ɹL��A�H�������f�1��91��H���H����H�MH�UH��H�u�%(��H�UH�u(H����Q9��H����~�L�kxM�����L���H�IH�����9�t�H�ھ�H������E$����E$������� �KX��H�T$XH�t$(�A�A�H�����H�D$X�H0���X�H�T$(E1ɾ�H��L�4H�J(jj���XZ�-�H�T$X�L��H��A�A��Z�����H�T$ H�t$E1�H��A���5���G����KX�2���KX�$�A��$�.L���x����K���H�T$8H�t$�����A�A�H�������P�H�T$xH�t$p��H��A�A����H�D$x�@0�����H�T$pE1ɾ�H��L�
3H�J(jj���A[X���H��$�L���h��jL��01�I��jH�ھ��N�H��$�H�t$h��H��A�A��'��H��$�D�P0E�����H�T$hE1ɾ�H��L�{2H�J(jj���AXAY���H��H�5W,���������R��E$L��2�{�H�T$8H�t$ �����A�A�H������K�H�spH��$�HDŽ$�HDŽ$��g��H��$�L��I���g��H��$�L��I���qg��AVL��.1�ATI��H�ھ�H���1��H��$�AYAZH��tH���(�HDŽ$�H��$�H��tH�g�(�HDŽ$�H��$�H��������H�T$XH�t$ �A�A�H�������H�t$xD��H�t$p���D�u$L�c��H�spH��$�HDŽ$�HDŽ$��f��I�t$H��$�I���nf��I�uH��$�I���Zf��AVL�	/1�I��ATH�ھ����H�T$8H�t$(��H��A�A��������H�T$pH�t$hE1Ƀ�A�H������������H�H-H�5�H���������+�E1�E1�H�
�.1���H���u�������{6���AWAVAUATUSH��XdH�%(H�D$H1��>tQ�FXH��@uDI��H�np�$
@�FX�|$H���x�}D�eXt
A��@��A���D�d$t,1�H�\$HdH3%(��H��X[]A\A]A^A_��D�C\H�spD��H�t$��������t
���-��L�{8�CXM����	A�?��
�C\1Ҩ�M	H�{pH�|$���@H�|$��H�D$�8tH�D$�@Z@��	H�D$L���L����CXM���LH�����uM���L��H��L����������?I����E���_M���d�CX��A�GE�t$��E���L�G�E1�L�l$(M��H��A��H�D$ L��M��I��I�EJ��H���/E����L�RI�H�t$ I�zH�4��
H��H9���H�H�IH;yu�H�IpI9Jpu�@I��E9}�L�l$(M��M�����CX���H�D$H���H��tyL���M����	A�F,;B,����uXI�~0A�F,H��t&L�%H�(�H�/A�$H��H��u�I�F0I�~8H��tH��(�I�F8�L�spM����A��ƒ�t����A���-���CX��
L���M��tA�o�����ƒ���A���-��L9���$A�FY�,�D$A9E$�����A�E ������������H�|$�G\�ƒ���P�SX�����	���f	H�D$H�x8�z������
H����qH�D$H�|$@H�D$@H�PH�����`��jL�.jI��1�L��H�ھ�R��H�|$PA\A^H���\H���(�A�E �fDL��H���]D�eXA���D�d$������"���f�A�D$1� ���A�t$L��L��H���L_��A9l$~UI�$L�4�M��u����I��H���H��u��g�E1�L��H��L���W�������1�����A�G�Dž��E���L�%��(I�?I�$H��t��I�$L����Hǃ�����@H�D$���-�H����CX��	A���j����E�������-�������CX��H����~���f�L���M���YA�o���L��I�?H�D$@D�d$Lc�H�D$I��L�l$J�47H�N����f�D�m�L�AIc��H������cH��H�RL;Bu�H�RpH9Qpu�H�D$@H�|$�(a��H��H��1�jI���L���jjH�|$(����H�|$`H�� H��tH�{�(�H�D$@��L����������DI�?I��D��J�47H�N���>���H�A`H��u�CH�@8H��t/���t(�����-t��u�����-��w����A��y�L�l$L�spA��CX�%�����tA���-��A�FY�M���L��H��1�A���L���L����aAXAY�����A���-���C\�ƒ����A�F\�ƒ���l��uI�~8�%w���������jE1�L��2j1ɾ�H��L�����A�E Y^���tZ�������f.��KX��z���@H����N���jL��)jL�KL��1�H�ھ��Q��_AXfD�KX�������-����H����CXH��t���}\����H���H������f�H���H�5�.L��1��������C\�T���@H�h�H�5�.L���������DM��u"H�T$�|��H�T$H��I��H����1����L����Z��������M������H�rH�E��L�VH�|���H��H9������H�L;Qu�H�IH9Npu�����H�A`H�������G���fDE��uCA��`����M������������A�T$1�1�����������f�H�D$@H�|$�}]��H��H��1�jI���L�+.jjH�|$(�U���H�|$`H�� H��tH���(�H�D$@��L���K��������������D���}\���t�C\L�s8M��tI�FH��t	�8�LH�E8H��tH�HH��t	�9�q����I�WH�BH�CpH�D$�\���@L��H�������i����g�������C\��-����E\�C\H�E8H�C8H���H���H�CpH�D$����A�FY�kH���H��t
I;���&����C\���hH�{8�sA�V\������9�u������jE1�L��-j1�H�ھ�L�����AZA[A�E �K���I�O��r���t���+���A�w ������DH�y������������tKH�sH��L���r���I��H���.���H�KHI�u@�L���Q��I�GH������L�{8�CX�C\���@H�������}\�:��������t��u
���-�
���jL��(jL�K���fDH�D$@H�VH�|$@H����:X��H�KHL�/$jI��j�Q���H�D$@��tYH�D$H�|$@H�PH����W��jL��%jI��L��1�H�ھ�i���A[]H�|$@H�������o���H�D$@H�D$H�|$@H�PH����W��jL�&I��j�H����KXH�����������L���M���$Hǃ�H��I�u@L�KH1�jL����L���5|��AYAZH��H���m����A�>L�ppH�CxH�ExH���H�CxH���Hǃ�H���tA�FZ@��H��L���/������������j���H��L�������������N���H�CpH�D$��@��t�H�Cp�C\H�D$��M�~0H�j0M��A��H����A8�t/I�~8L�B8H����M����8�tH���qI�@H9G�cM����I�~8L�B8M��H����H�GM���(I9@�H�G���H�D$H�|$@H�D$@H�PH�����U��jL�1"I��j���H��H�SHE1�L��*jjjH�پ�L�����A�E H�� �k���H�sH��L����|��I��H�������H�KHI�u@�L����{��I��I�GH�������L�{8H�E8L��H�sH�H$�P �|��I�D$I�GH�@H���S���H�U8H�RL�pH�PH�CpH�D$�
�H��H�SHE1�L��)jjj�1�����I���H���H��tH�xp���jL��#jL�K����D���o�P����d�����A�~\���jE1�L��*j�-���@��u����-��������I������A�~\���H�{8�����jE1�L�(j���H��E1�L��&1�jH�پL��jj�Y���H�� A�E ����H����H����M��M��IE�LD�E1�1��%DD��!�I;At+���OH�mH��� H�EH��u׉�A�����D�������jE1�L��'j��jE1�L�'j����H�D$@�&���L��L����O���H���H��H��E1�L��#jjjH��1ɾL���k���H�CpH�D$(H�� �	�H����G��H��E1�L�c$jjj�L��M������H�������H�NH9MteH���H9HtZH�H��u�f�H�UL��f�H;Pt,H�H��u�L���J{��H�������H�UH�PI�V0H�I�F0H�mH��u��8�H�6H���|����'�M����I�xtL��E���W���I�x��E�����I���L����H�}�4H�mH��u�H�����M��t!L�%��(L��H�/A�$H��H��u�I�F0L���}z��I�F8H�����H�@�{�H���R������f�D��������M��t!L�%V�(L��H�/A�$H��H��u�I�F0I�~8�nI�F8H�@��A�F\���������wI�~8��j�����t�jE1�L��&j��I���H���1�L������A�H�D$8��H�D$@���I���H�|$@�S��H���H�|$8H���R��H��1Ҿ�WI��L��L��%jjU�ա��H�|$XH�� H��tH�P�(�H�D$8H�|$@H��t	H�4�(�A�E ��H���H�53�L���þ���V�M���H����H�����M�����H�}����A�F,�����D���HD	����H�����M��t-L�%��(L��I��H��H�/A�$H��H��u�I�F0H��L��L��H�T$�Qx��I�F8H�����H�T$H�R8H�RH�P�F�A�F,M����L�%6�(L��H�/A�$H��H��u����jE1�L��%j���H�7�H�5�!L��覽���9�I�xt	E����H�����H�������������L���w��I�F8H���}������A�F,M���s�L�%��(L��H�/A�$H��H��u��I�I�vE1�E1��H�
!L���l^���O�jL��jL�K�p�L������A�F,뙐H��t+�>H��uF���t�GX%@u��t��t ��1��DH��H����DH��H�����H��H��H��$H�50��s��������H���f�H9��gAUI��ATA��UH��SH��H���>t
�FZ@���}t
�EZ@�
��A��uH�spH��t�FYtH��[]A\A]�DH9����>u	���-tD��H��L���s�����t~�}ti�EX���H���H��u*�fDD��H��L���:�����tEH�mH����H�U�:t�BZ@u�L��H��������tBH�U�@���.u��CX�t�H��1�[]A\A]�@H��H���U�����������@���������fDL��H���-�����������f�H����[]A\A]�1��ff.�f�AWI��AVM��AUATUSL��H��H��$�H�|$�t$<H��$�H�L$H�D$(dH�%(H��$�1�M����A�@�����D$<L�-;���H�G@LD�H��$�E1�H�D$ H�D$hH�D$PH�D$dH�D$@H�D$xL�l$H�D$HH�N�,�M����A�V����I�}I���H�OH�t���H��H9���L�I�QH;Ju�L�ZpL9_pu�A�}0uA�y0��H�w`H�R`1�L�L$0H�|$�I���L�L$0����H�t$H�|$ H�D$pH�D$xHDŽ$��/M��L�L$0H�|$HH�D$XI�AH�p`�M��H�|$pH�D$0I�EH�p`�L��L��H���q?��L�T$XM��L�
"��AR�t$ H�L$@QL��RH�|$0H���`���H��$�H�� H��tH�8�(�H�D$pH�|$xH��tH��(�H�D$xH��$�H����I��D9c�r���f�M����E�^E����D�T$<L�%^>H�l$@H�=�E��ID�E1�H�D$H��$�H�D$ H�D$xH�D$0@I�N�$�A�|$0uYH���h�S���]M�D$H���I�pH�|���H��H9��3H�H�RH9ru�I�HpH9Jpu�@I��E9n�H�l$@1�H�|$(t5H���9�},���sH�D$�8�9H�\$(1��M(9K(�H��$�dH3%(�"H�Ę[]A\A]A^A_�f�H��tI�EH��H�pp�;����thH�t$H�|$ HDŽ$���J��L��H���a=��jM��L��jL�
� ��RH��t$0H�|$0�Y���H��$�H�� H��t	H�1�(�I��D9c������,���@H�t$H�|$ H�D$xHDŽ$��dJ��H�|$0L��H���TJ��H��L��1�jI����L�� U�t$0H�|$0�+���H��$�H�� H��tH���(�H�D$xH��$�H���W���H���(I���E9n�����E���H�T$PH�t$@L��L�L$0�d7��H�|$h�����|$dL�L$0�	���H�T$HH�t$@L��H�D$x�-7���D$d��tH�D$hH9D$x����H�t$H�|$ HDŽ$��ZI��L��H����;��jM��L��jL�
��RH��t$0�i���H�\$1����-����H�\$(1��M(9K(�������H�D$(H�@8H��tH�U8H��tH�ZH9X�h���H�D$(H�H0H��t/H�u0H���=H�QH��f�H;P�PH�H��u�H�\$H��$�HDŽ$�H���F���;H�����3�j9���t$<H�j�L�
x:L�9���LE�H��1�jQL��P�gH�\$H��$�HDŽ$�H���VF���;H�����b�9���T$<L�
:�L�$��H���LE�H��1�jQPH�L$(H�|$0�Ɩ��H��$�H�� H��t	H�>�(�H�D$�@ �M���H�t$H�|$ HDŽ$��G��L��H���9��jM��L��jL�
��RH��t$0���H�	H�����������H�\$H��$�HDŽ$�H���dE���;I����tT�8��H��D�L$<A�?H�5#9H��E��HE�����7��I��H��1�APL�uQL��V����H�D$H�
����-H���HE��H�D$H������-H���HE����H�E8H������H�@H9A����H�	H��u����A���-L�
��H�z�LE��X���H�D$H�e����-H���HE�������@���t��u���-t����fDH��A��A��A��A��A��H9�uE��tNE��t�FXu<D��E��t�FXu3H�vpH9�t,���t��tȃ��-t��D���-u��Ð1��ff.�f�AWAVAUATUSH��(dH�%(H�D$1�H��t�GXH��A��A��t+H�D$dH3%(�H��([]A\A]A^A_��L���
H��L�o8�GXM����L���y����CX��L9��&I���tL��L���:��I��H���H���L;h8t8A�FX�L��H�����Eʉʃ��E�I�V8�h������H�����E�MA���dA���BA���PA���-�BL�SHM�����CX��L��H�5o�����E�MI��L���L���A���uA���-�_A����A����A�E\���u/I���jL��L��jA�H���`��ZY�����U���E���L���L���M���<����CX�2���A��A�uX��� �WM�E8L�S8M9�����%AEĉ���E�L��M��tJf��zXA��A����t��u��E��t�ρ���D�H�RpH��tI9�u�I�RpH��u�V@H�RpH��tI�:t	���-u;�zX��tA��A���AD���t�ǁ��D�I9�u���t"�t��ud�t��uU@H��t:L�u0I�~0H����I�U`I�u�e��I��H����I�~H����=��A�uX��u
��A�uXM���M����������f�jH��E1�L�ij1ɾ�H��A���ڧ��XZ����I��H�|$L��H�D$H�D$��?��H�|$L��I���?��jL��H��ATI��L�R1ɾ��~���H�|$A_XH��tH���(�H�D$H�|$H��t	H���(�A���l����H������������DA���-��
DA�E\���uLI���H��u�>fDH�@8H��t/���t(�����-t��u�����-��w��L�SHM���f������fDL�u0I�~0��H���(��I��H���H�@L�(�^��I�FH��t6H�E0I�U`L��I�uH�x0���������H��H�5A�H���H���L���P4��A�uX�����L���fDH�@8H�����������~��������-�o�����uԃ�����-��w��T���fDL��H�5ئ�i��E�MI���x���DA�E\�ƒ���������uI�}8��V�����q���I�MHjE1�L��jL���H���N���AXAY���DA���-�G���jL��H��A�jL��L�����^_�R���jE1�L��1�jH�ھ�H����AZA[����H���|���H��H���H�5����H��H�5��H���˪���K���fDA�E\�ƒ�����������f�I�v8H�|$H�$H�D$H�D$�x<��H�|$L��I���h<��H��L��I���Z<��AWH��1�ATI��L�OH�ھ�����H�|$A\A^H��tH�u�(�H�$H�|$H��tH�Z�(�H�D$H�|$H��t	H�>�(�H���A���6����X���L���L������DH����
���I�F0H�E0H�x0����O�����L��1�1ҿ�^��A�uX��������AWAVAUI��ATI��USH��H��(H�n(dH�%(H�D$1�H����H������������@L�|$H��L����H�������I��H����H�����L��H�D$H�!�(�H�t$H���Ҩ��H�|$I��H��tH���(�M����H�{(H�t$L���M��I�EH���eM���A�t$XI�T$8�������"��H��H���������H�D$I�EL��H�PH����o9��H��H��1�jI��L�j1�j�<j躊��H�|$0H�� H��t	H�5�(��ChI�E�*fD����H��1Ҿ I��H���}���Hc��H���H��H���H�L$dH3%(�IH��([]A\A]A^A_�1��@H��� ��H�D$���fD�JX���Eρ������BZ��������@H�T$L��L��H�D$�W8���H����H��H��I��jL��H��1�j�;j蔉��H�|$0H�� H��t	H��(��Ch�	���D����H��I��1�jH��L�A�H��j� j�@���H�� �����H�H�5DH�߉D$�X���Hc��H����D$H��H����������AWAVAUATUSH��XH�O0dH�%(H�D$H1�H�A(H�$H���mD�hE���rH�A I��H��H�D$H����
H�$L�p8M��t{H�l$@L�%7M�nI�N(I�V I�~0A�u�,��H��H���jA�E�����7�����[�FX�@��
@�FXI�up�M�6M��u��H��L�����H�$ILJ�H�@(H��HH��I��H�\$�L$0�����A�H�\$(�D$4H�\�H�D$@H�D$ �K�=�u/H�UH�uI�@��=��H�����A� ���I��L9���I�m�E���M�������=�u��E��u�H�}u�H�} L�eM�w@H�|$M����M����I�v��������I�~`�������H�|$I�~`�(H�t$���H����H�@PL��H�xH�y��H����H�E������P�����������L�eHI�L$H��H�L$���M�w@L��M��tHI�D$ I�vH��H�D$8�2��H�L$����I���H�����H�L$H����H�uHI�ƐM�t$H�FH�����8�]�p@9u@�q���H�D$@H�|$ H�P H�p(�n4��H��L��H��jI��L��1�j�j踅��H�|$`H�� H������H�/�(���������������������H�}p�����!�EX�����@����H�}8�����H�u`H�������H�UhI�@�YG��H�E8H��t������������L�MhL�E`H��L��H�E8H�UHH�
z�jj�—��Y^�S������U���L��H��褘��A� ��<���fDH�$H�@(A�����H�$H�L$H�{0H�K �@H��tH�5*�����H�C0H�$H�x8H��t&H�-�(DH��UH��H��u�H�$H�@8H�t$HdH34%(D���"H��X[]A\A]A^A_���Ex���|�����H�}`�Ex�k���H�u0H����H�U8I�@�	F��H��� ���t������-�H�E`�"���f.�H�mH��u�
���f�H�mH�������L�eM��t�A�<$�u�H�EI�L$ I�T$A�t$I�@�i��H����8trH�E�@L�eM�������A�<$������I�T$ I�t$I�@�:9��H�EH���u���M�L$ M�D$H��L��H�U(jH�
oj蹕��]A\�I����H�PH���3����:�x���H���2&��H��E1�1�jL� H��L��j�j茂��H�� ��H�UhH�u`I�@�D��H�EpH�����E���������u���-���@H�E8H��������8�����L�`M�������A�<$������H�@I�L$ I�T$A�t$I�@�g��H���P
H�@H���6
H�}8�8H�G�@����$�6����9%��H��E1�1�jL��H��L��j�j蓁��H�� ����f.�I�~`H�L$�r�H�L$����H�|$8I�~`H�L$�
H�t$8���H�L$I��M��tI�FPH��H�������I��H�uH���f���u+�F8I�~�uk���F8H��tH�wI�v�����H�IH�5jL���
������D�FHI�~�u ���FHH��t�H�wI�F�y���I�~H�D$@H���N�#��H��I���s1��H��M��1�jI��L��jjL���	�Q���H�|$`H�� H������H�Ȼ(������H���#��A�T$1�L��M�L$ M�D$jH�
;lRH�����AZA[�i���f�H�D$@I�~H�����U#��I�V I�v(H��H�D$�P.��A�}H�������!��I��H��L��jjQ1�H�T$0�.���@A�G$L�d$H�l$@��tYE�o H�$H�@(����D����w.H�QpH��tH��L��蔘��E�o A��������E�O$E��u�I��L9��@I�$�����v���u�H�AH��t�H�pH���$��I��H��t�H�D$@H�Q H��H�q(�a-��L��I���F"��jL��1�jH���L�&�ɕ��H�|$PA^XH��t	H�%�(�I�E�B���fDH�qpH���/����AH�%���H�VH���
G��I��H���
���H�D$@H��H���}-��L��I���!��jL��1�jL��
H����5���H�|$PAZA[H��t	H���(�I�E����H��H�p H�$L�p8M���M�������L���E1�M����H�\$L�l$8�W@���'H�UHjI��L��jM��H�
B�H���g���_AXM���I�I�$I�H���(L��I��M��t6I�FI�@H�XL�h H��L���r?��H��t����u�I�FM��M�6M��u�H�\$L�l$8L�u8M��u ����I�$M�vI��M���l���H�]�(��H���YL�pH�M��u�H����H�uHE1�����L�M8L�E0H��L��H�UhjH�
j�j�n���A^X��fD���-����I�FM��M�6�8���@I�H�������E1��
����.��H�E`��I�~���A���-L�
R�H�y�LD��e���L���+���L�ML�EH�Ujj1�L��H�
h���^_�U�A�W$H�L$��t=�U���H�B�$DH�PH��t�:u
H�RH��tIH�PH�@H��u�H��H9�t[H������w��A�G$L��1�1Ҿ�������H�@H�@�I�~HL�����H������:�H�l$�
�H��H9�t/H�u�>u�FH����u�L���k���A� �u��L���@A�O$H�l$(��t�p���fDH��H9���H�u�>u�F[ u�L��講��A� �u����DH��E1�L��	1�jH��L��jj�z��H�EHH�� H�@���L�N L�FL��H��H�UjH�
�j�+���AXAY��H�5����H�L$I�����H�u �EL�eH�t$H�U(M��jPL�L$ ����A�w$1ۅ������H�l$D�d$0�H��A9�~^H�t��>u�H���H��t�FX�tL��蛓��A� �u���L�MhL�E`H��L��H�UHjH�
�j�j���AYAZ��A�$1ۅ������H�l$D�d$0��H��A9���H�t��>u�FZ@u�L��蛠��A� �u��|�@A�O$����I�G0H�X8H��uG��f.���u'L�BpL�Ip�qP��rPL���@��A^Z�����H�H����H�KH��t�H�S���r�w�H�A��E�G$1�H��E������L�d$D�l$0�H��A9��M�4�A�>u�I�V`H����I�NXH��H��u�H�@8H��t(�8��t!�����-t��u����-��w�I�vhjL��M���jA�躱��_AX��t,�H��E1�I��L��j1ҾL��jj��w��H�� A� ��9�����H�5a��h�����H�E8��H�}8�
��A�T$1�L��M�L$ M�D$jH�
�cRH���G���H�E8XZ���E�O$1�H�-3E������L�l$D�t$0�fDH��A9��KM�d�A�<$u�I�L$8H��t�I�D$H�����8��H�xXt�@ytA�D$ �uI�|$@tqH�P`H��H��u�c�H�v8H��t(�>��t!�����-t��u����-��w�I�t$(jA�M�D$@jL���3���ZY����I�D$H���H��t
�@x�
A� �������H�$E�o$H�@(E�������E�o �w���-�����H��E1�L��1�jL��L��jj��u��H�� ����E�W$H�D$@E1�H�D$(E��t�G���DI��D9t$0��H�D$J�,�}u�L�epM��t�A�\$��~σ��D$I�$Hc�H��H�D$ H�D$ H�4L�F����D�k�I�xIc��f.�H�������H��H�RH;zu�H�RpI9Ppu�H�D$@H�|$(�&��H��H�U@L��jI��L�ܵH��j�j��t��H�|$`H�� H��tH�[�(�H�D$@��L����N�����tVI�$H�l$ D���3���I�@`H��u�9@H�@8H��t$���t�����-t��u�t6��-��wӃ�A��y�A� ���������I�@`H��t��D�\$E�����D$�A�O$�����I�G0H�X8H���8���H�$H�P(H�ЋL$41�H���DH��H9���H�
H�4)�>u�FZ@u�L���Y���A� �H�$���H�P(H���H�D$@H�|$(�$��H��H�U@L��jI��L�<�H��j�j�cs��H�|$`H�� H��tH�ޮ(�H�D$@��L���YM�������������A�$�����H��H��R��~F�B�I��H�l��fDI��I9��1I�<$�?u�GZu�L���l��A� �u���E1��#�x@APE1�L��jjjL��1ҾL���r��H�� �H���E1�VL�cjjj��H���H�55L��譏������jE1�L��j�L��1�L���h���^_��I�|$@�)�������I�D$I��L�HXjj��A�$tH�$E�o H�@(�c��о��H�$�t$0H�P(H�Ѕ��������t$4���H��H�5�L���������A�$L�%ft�9��H��H9��`���L�+A�}u�I���u�A�E\����w�I�Gx���I�GxH����H��虯��I�u8L��I���覼��I���I�x���I�x�
�I���H��tPH��虯����t"I�MHjE1�M��jL��L������AYAZILJ�I�x���I�Gx�)���I�MHjL��E1�jL�D��L���χ��A[A]�����M�mL�0�X��L��H�5�H�81�A���������H��tH�w(H�WH���H��t�~�fD��AUATUSH��H�����B4I��I��H������H�z ��H�0��H���H�z�B��H��H����H�C0H�KL�m@H��H�SH�sH�E0����H�SH�s(H���'���CHL��L��H��EH��	A�ą�u,�E$C$H��EH�CHH�E0���H��D��[]A\A]�f��C ��H��E1�[D��]A\A]�H�԰H�5��蔌��A������H��t�H���H�5��A������n����H��t�H�PH�5x�A������N����y���f�AWAVAUATI��USH��(dH�%(H�D$1�H��H�D$H�D$��M������AH��H���5I�\$XI��A��L�=��H��u�h@H�xL���d���u@H�[0H��tKH�CHH��u�H�{H�5�{�>���u�H�{H�5��*���u�fDH��H���%Y��H�[0H��u�L��H���р��H�5۩L���"��H��H������\��H�L$H��H��H�������t5D�} E����H�L$dH3%(D����H��([]A\A]A^A_�f�I�|$@L���ӷ��I��H���H�|$H����L��H��H�
�(�H���RH���H�޺�����^���H��H�D$H�ߨ(�H�uPH�|$������H�D$E1�E1�1�PD��H��j���ATH�T$(�oy��H�� A�Dž��(���H�T$H����H�z ��H�zH���H���cH��������UH�T$H��t#�z4��uH�z tL��H���J���f.�I�\$A����H�������H�{HtH�{H�5U��A�����L�
���DL�L$A���)H��L��L�s�1�j�	H��jj�l��H�T$0H�� H��t�J4���EI�\$A�	H���L�5ӭDž�H���m��@H�{L��������H�{H�PH�{H�5���y�����H�{H�-H�{H�5��V����H�{H�
H�{H�5���3�����H�{H��H�{H�5=�������H�CHH�5�H�x�������H�{H��H�{L��������=H�{HtuH�{H�5ߧ������H�{HtVH�{H�5)�������H�{Ht7H�{H�5ɨ�x���� H�{HtH�{H�5���Y����1H�[0H���\H�{H�����HDž�L�
�Dž�E1�H��L���H��A���Ag���D���@H�ҥL��H���f�������H�CHH�5�H�x����������+����H�CHH�5ŮH�x����������&����H�CHH�5��H�x�|����#�������L�L$A���IjL�X�L��1�j��H���|���A[[�o���@H�CHH�5=�H�x�����(�������H�CHH�5�H�x������>����H��L��H���i�����@H�CHH�5ݭH�x�����%����H��L��H����=���K���@H�CHH�5��H�x����������L����I�D$@H�|$H������H�����f�H�CHH�5]�H�x�<�������H��L��H���i�������H�CHH�5-�H�x���������H��L��H���f9������H��L��L��1�j��H��jj��g��H�T$0H�� H��t�B4A�����"���I�\$A���=���fDA�	����DH�CHH�5��H�x�t����3���H�[0H���&������f.�H���7D�B4H�rE������A�E0A��A��t^L��H��E1�������jL��L��1�j�	H���3~��A_X�&���HDž�Dž�����fD��L��H��A�E0���A�u0�9���f�H�T$����fDH��L�%�1�L��j��H��jjL�L$(�f��H�� D�} ���A��������DH�D$L��1Ҿ�L�b�H��L�H����t$�\}��AYAZ�fD�r4����������H�y�H�5��H��A������D����'����ʲ��f.�AWAVAUATI��UH��SH��H��hH�W0D�n0dH�%(H�D$X1�H�B H�D$H�F H�D$E����	H�} H�EI�|$ L�c@H���H�j H��tH�5v�H���V������H�} �E4�Q��H��D�{$H��I���w���Ń����H�5)�L������H��H�D$t/����H�t$1�H��H�����Ń���L���LH�5x�L���}��H��tHH���H��H�D$ �DI��I�t$0�H��H�D$�I���Ń������L�D$H�L$ ��
H�5/�L���!��H��tHH���H��H�D$ ��H��I�t$0�H��H�D$�1I���������L�D$H�L$ ��
H�5�L������H��taH���H��H�D$ �H��H��I�t$0�j A��H��A�����H�D$(�NL��Y^����)��L�\$L�T$ �O
H�5��L���P��H��tkH���H��H�D$ �H��H���@I�t$0j�A�������H��A�H�D$(��K����XZ�������L�\$L�T$ �
D;{$u
�f�D;{$t�k ���:M�~M���J�C$1�L�5j�D$H�D$@H�D$ H�D$HH�D$(H�D$PH�D$0�'�I�L���������TI�H�I�H�5��������YI�H��I�H�5w��������I�GHH����I�H�5u��a����I�GH��H�xH�5b��E�����=
I�HtqI�H�5:��&������I�HtRI�H�5�������'I�Ht3I�L����������I�HtI�H�5����������M�0M����I�H����1�H���H�T$PH�L$ H�T$(DH����I�H�5	��w�����?I�H��I�H�5}��T�����\I�H��I�H�5���1������I�HtuI�H�5��������I�HtVI�H�5 ���������	I�Ht7I�H�5%���������	I�HtI�H�5ˢ�������I�W(L��E1���L�
�H����]��M�0M����I�HL�5��u��f�H���'��M�0M��t_I�Ht�I�L���L�����I�GHH�5Q�H�x�0�������L��H���h�I�|$(u�M�0I�D$(M��u�f��C$Hǃ�9D$��k H�C0H�L$H�H H�D$E�l$0I�D$ ��H�L$XdH3%(�c
H��h[]A\A]A^A_�@ǃ��C����ǃ��D;{$�R����f.�I�GHH�5}�H�x�\������������I�GHH�5U�H�x�4�����������I�GHH�5-�H�x���������L��H���D�I�|$(��H���&������I�GHH�5�H�x������������C$I�oXH�D$@H�D$H�D$8H�D$PH��u&�@H�xH�5���x����uTH�m0H��t_H�EHH��u�H�}H�5�k�R����u�H�}H�5a��>����u�H�}H�5��*����u�fDH��H���%I��H�m0H��u�����L�D$ L��H��H��H���x�������V��L�D$(L��H��H��H����L����|	I�oH��t`H�}Ht<H�}H�5�������t(H�EHH�5��H�x�|����tH�m0H��t$�L�
�E1�H��L����H���Z��H�C0H�t$@H�@ H�hH���AH���)�����	H�D$HH��tH���L��H����D��H�D$H�t$0E1�E1�1�t$HH�¾H��UAW�]i��H�� �Ņ�u3H�T$PH���
H�z ���J4����L��H���t���f����uw��������fDI�GHH�5��H�x�t�����/�������I�GHH�5m�H�x�L�����`����C$��D$8L��L��H���J���u�����C$������9D$8�D�������@I�GHH�5
�H�x�����������C$��D$8�fD�����1������D��A��t���F0�t��A�D$0�t��A�D$0�t��A�D$0�t��A�D$0� t�� A�D$0�@t��@A�D$0��t4�A�D$0��������A�D$0�����I�GH����I�GHH�5=�H�x�����������L��L��H���Q0��M�0�m����I�GHH�5��H�x�����������L���L��H���Q��M�0�-����I�GHH�5��H�x��������H�|$ H���L���B��I��H����H����(H�D$0H��(�I��H����f��@L�¾@H�@L�p�H�D$0L�D$0I�@ H�C0H�x H��@�)��L��H����l��M�wM�����I�~HtWI�~H�5�������tCI�FHH�5�H�x�����t+L���H����L�D$0M�v0I�@M�������DL�
�E1�L��L����H���V���m���fDI�GHH�5u�H�x�T�����#���L��A�1�L��H����;��M�0���DI�GHH�55�H�x���������H�5)�L���
��I��H���{��g���H�L$(L��H��H�����������H�|$PH�5IG�������H���H�5��������(H���M��L��H��H�T$PA��x(��H�D$0H���i���M�wX�HxM����f�L�t$0L��L��H��H�
0�M�N0M�F8��g��L��H����j��H�|$ H���L���?��I�FXH��tH�D$0�HxH�5]pL�����H��t-H�T$0�By��L�
N�H����H��L�(p�In��M�WM�������I�zHtKI�zH�5��L�T$8���L�T$8����I�zHt"I�zH�5��L�T$8�g��L�T$8���L�
�E1�L��L����H���}T���7����I�GHH�5=�H�x������)���L��L��H���v(��M�0�r���DI�GHH�5�H�x����������L��L��H���X��M�0�:���DjL�
��1Ҿ�jH��jAPE1��[��H�� ��fDjL�
��1Ҿ�jH��jAPE1���[��H�� �B�fDjL�
G�E1�L��j1Ҿ�H��jAS�[��H�� ��I�D$(�a�fDH�l$@�葺��jE1�L��jI��1Ҿ�jH��U�R[���k H�� ���������E���DH�xH�5���������M�v0M���c���I�FHH��u�I�~H�5�b�����u�I�~H�5�m�����u�I�~H�5���r����u�I�~H�5���^����u�I�~H�5D��J����u�fDL��H���E@���p���jL�
W�E1�L��j1Ҿ�H��jAS�lZ��H�� �}���I�GH�L��H������jE1�L�s�L��j1Ҿ�H���l��AX�k AY����L�L$HM�������jL���H��jL���1��mF��H�T$`^_H���Y�������H��L�
e�1�L��jL�?���H��jj�fT��H�� ���DH�l$H����fDH�|$ H���8��H�L$0H�AX�T���DjI��L�,�L��j1Ҿ�H���(k��AZ�k A[�<���@��N���jE1�L��I��H�Ժj1�P��H��j�Y��H�� ����E1�E1�H�
��L����H���;���u���H���L��H���P���^����C$L�_�1�1Ҿ�葙���;���I�BHH�5I�H�x�(��L�T$8�������H�D$0H�x0��L��E1�L�V�L����H��L�T$0�)P��L�T$0M�R0M�������x���f�I�BHH�5ݗH�x���L�T$8���,���L�ֺH������L�T$8H�L$0M�R0H�A@M�������~����1�L��L��H��L�T$8����H�L$0L�T$8H�A`�l����;���ff.���USH��H��dH�%(H�D$1�H�$���H����H�C H���CH��8��H��H���BH�C0H���}H�(H��H�KX1�H�SPD�KpPH��jL�Chjj�6^��H�� ���������H�$H��tPH��H����������S$����H���Q���H�k0H��t_H��1��~���H�C0�C8�DDL�KPM���H��L��1�H��j��jj�;Q��H�� ��C$��u�H�C@H�t$dH34%(H����H��[]�H�$H��H�@ H�E �C`���H�C0H�k@H�p�������u�f�H��航��H�{0H��t���H�C0�C8H���H�5��H����m��H�C@1��e���fDH����t!��H�C0H��t��C8�b����H��E1�L�2�1�j1Ҿ�H��jj�3P��H�� ������DAWAVI��AUATUSH��dH�%(H��$�1���0���t;����E���E����A�����~WI���Hc�H�\��S@�� t�� �S@����H�K8���-�X�y\��q\H�=l�Hc4�H�>��f�I���I�~(H�S H�s����I���H�CPH�]PH��H�����;���CX�
H�C8H�D$H���7	A��(��tzI�� ��H�)�}\��
H�A�W�H���fDH�(H���}\��
H9�u�H�1�~\��H�A�W�H���H�0H���~\��H9�u�I���L���M���.L�jhM���fDA�<$I����H��t$H�UI9�u�sL;e�fH�mH��u�H�n�H�5~�L���_k��H�h�H�5C�L��A���Ek���CA��(��~aI�� L�A�x\���H����H�4�H���fDH�(H���U\��tIH9�u�u�5DH�)H���U\��t)H9�u�I�F(L��H�5��H�x`�������L��H�](E1�H�L$8H�D$E��H�L$I�������@< w#@H�&H���LH���< v�H��H��H���< w�H�&H��s�H9��I�F(H��H)�H�xx�ܑ��M�eH�D$8I��I�F(H�D$H���Z	M���M����I�0��M��tM��tI���L��L���C4��I��t$E1�E1�1�t$L�ھL��jATL�\$ �X��H�� A�…���H�T$8L�$H����I�G0H�x �'H�B H���~�J4��uwI�G H�t$L��I�GX�
�A�ƒ����A�G$E������t
E�W ��@H�t$8L������E�W E���A�G$AFlI�GXA����<�E����A�U\���C���< w&�H�&H����H���< v�H��H��H���< w�H�&H��s�H9���I�F(H��D�$H)�H�xx����D�$H�D$�E����fDH�P �����������AFl�1�����������L��E�Ճ}\�	E���#���Adž0���E�fhE������E�Vh����f.��9I�����H��E1�L���1�j1Ҿ$L��jj�KJ��H�� Ic��I���E�nhH��H��I���A��0�J@�K@E���If�E�����A����@H����D$4
H��������H�kpH����I���H��H�Q H�q����A�~h������A���A9�0��I���H�]PH��H������H�E8H�D$H����H�D$�@XA�ʼn$A���	I���t0�L��趡��I���ǂ������H�B8H�D$A��(�$H�D$�8�K���-�>D�$$E���
�E1�H��$�dH3%(D���eH�ĸ[]A\A]A^A_ÐH��I���1�1�jE1�L���L��j�1A�1j�^H��Ic��I���H�� H��H��I����J@�K@A��0�g���@H��E1�L��1�j1Ҿ6L��jj�G��E�nhH�� E���
������I���H����H�CI���H�CM���
I�]I�T$0�H��L��A����H�k�CH�E��C ��������N���M�d$I��M�����I���H�D$H�B8����I�D$HH�HH������I���ǀ�H������H�UH��H9�u�H;H��H�H��u����f�H�I�(�H�H��H���Nf�H�@@@@ @0M�������I���H�Xh���f��$�WL��M��jL���1�L��j�-8��^_D�$����f��HA������t9����p�����{(��H�U H�uI�~(���H���TI���H�EPH��8�MH�E8H�EPH�D$H�|$������J@H��E1�L�Ԉ1�j1ҾSL��jA�Sj�E��H�� ���D���G���E�������H�D$D�$H���H�D$E����H�������H�D$�@���������D�l$,1�H��H�D$�$��H��H�D$ �H�D$D�$E1�H�H�(L�kE���w�I��L9d$ �aI�� N�< A�\��u�I�uI��8u�誾����t�I�upI� 虾����t�I�E`A�GXI�_PM�oHI�G8H��H9l$�f���A��(D�l$,�������H�l$H����?�$���4��E1�1�L�$�D�<$�fDH��I9��I�� L�<A�Xu�I�w H����A)����u�H����x(�DI�W I�wI�~(����I�GHH���N
H����x(�$A�GX
�H��I���1�1�jE1�L�M�L��j�8A�8j�C��Ic��I���H�� H��H��I����+���I�GX�H�مH�5�L��A������`������I���I�~(H�S H�s���I���H�CPH�}P��A��0A9���6���H��H�]P��f.�I���H�B8H�D$�����{(�JA��(��t9I�� ~0H�0�~\��	H����H���H�0H���~\�o	H9�u�-I����ɦ��I���H�C8H��H�EP�D���f�A��(��~;I�� H�0�~\��H����H���@H�0H���~\�_H9�u�-�`���H�E8A����r���H��E1�L���1�j1Ҿ2L��jj��A��H�� �{���f�H�UjE1�L���j1ɾWL���_3��AXAY����fD�C0��tP�����H�{8thL���e��H����I�U`�@XH�XPH�P8I�UL�hHH�PI�UpH�P ���L���`e��H����@XH�XPL�hH�v���I�}Xu��g���@I����L�e(�K���jA�L��jL�E0H��1�L���z��Ic��I���AXAYH��I���������CX�p
H��E1�L�Ã1�j1Ҿ7jjL���s@��I�� A��(H�� �����I���H����f.�A���A��0�m���D�J@H��E1�1�jL���1ҾTjL��A�Tj�?��H�� A������fDH�T$8H��L��H�D$8觳������0H�D$8I���H����J@H�D$��I����M@I�� A��(����DH�|$��H�D$�@�����������H��E1�L�z�1�j1Ҿ5L��jA�5j�%?��H�� �,���@A��(�$���F���E1�A���t.Ic��I���L�<�M��tM�M��tI�@�LD��$���;H��$�1�D�l$,H�D$����L���3����Ń���a	A�EX����I���H��t誼��Idž�I�EH�@y��I�EPH��t
�@!��I�M(I�U8I�u����jA�E1�L��j��w��ZY���S����V
A�EX���:A���L���p��������A��(H��9��tI�� L�,�A�EX��t��u�I�}8��I���M������1�������u	M����I�EPH�P8H���H�x@I�U(I�}0H����
�ؓ��I�E0H���w
M���8���M�e(I�}8L������I�U H��H�$LE�L�d$H����I�@L��艶��H���`I�UH�L$H��L��茅��H�$H������H��H�Ux(�����fDI���H��u�����H�mH�������H�}8�:������u����A�M@I�uL��M�E0I�M(I�U8jA�j�v��^_���D���I�}0H���lI�EPH��tIH�P8H��t@H�p@H����I�U`��������A�EX����DA�EX�#���I�EHH���H���@H�@XI�E`��������D��1ۋ$�H��9���I�� H�؋j\��u�I����#L���N+��A��(��DI�uL��L��衡��H���|���H�H�5�~L���X��H�$H��tH��H��v(�DIc��I���H��I���E��(E��tI��(I�� ����H��~H�5}L��A���X����Ic��I���H��I��������I��(I�� �������L�d$E1ɹ1�L�V~��L����x��I�@L��L��虆��A�H�\$ �F@��L��1�L�~�A�Y�x��I�@L��L���U��������A��H��u�I�u I���H�T$H�\$ 藓����f�L��H�5��a���H��H���qH�Cp�
�@H���|�H�E8H�U81�L���z���A���
�A������H�~�H�5"|L���V��H� �H�5�{L��A������V����fDI�EHH�PXH���I�U(I�}0����@A��(�$����f�I���H��H��8�8H�@81�L���ʬ������I���H��H�EP��fD�L���K�A�GX
�k�H�Y�H�5(|L����U���~���D�$Ic��I���D�<$H��I���E��������f.�D�l$,�щ$��~�E1��`L�d$8H�-:��@I���I��D9�~�I�� J���BX��w�H��r�I�����
w�HcD�H�>��H��1�E1�1�jL����VL��jj��7��H�� A��(�H��L�J(1ɾRjL�F�L��j�r`1��7��H�� A��(�^���H��1�E1�1�jL�lz�FL��jj�Z7��H�� A��(�)���Ic��I���L��H�D$8H��I���H�BHH�PH�pp��H��L��1�jI��L�w�1�j�Lj��6��H�|$XH�� H��t@H�jr(�A��(����B\�������H�D$H������KL���q&��A��(�t���DH�@`A�GXI�G8H��u�6�fDH�@8H���#�0��������-�	��uԃ�����-��w����fDH�}0������������CX�r���H����d���H��E1�L�i�1�j1Ҿ9jj�b���DL�d$@H�L$81�H��H�T$4L�L$0M��藐��AT�D$@1�L�nx1ɾOL��PD�L$D�s!��AZE�nhA���I���A[�Q�A�FlL��x1�1�A�Fh���{���-�D�$E���FH�|$���$���H���H�5�xL���QR�����H�yvH�5bwL���6R����H�2wH�5GwL���R���v���L�(艛���8eH�8H�hH�52.1�A�����A�GX�\�跚��L�(�O����Ne��裚��L�(�;����?e�H��E1�L���1�j1Ҿ5L��jj�O4��E�nhH�� E���]����H�H�	�H�5\vL��A���^Q���\�L��H��H�5�w�CQ��H�<$H������H�o(����H�vH�5vA������Q���
�Ic��I���H��I������H���H�5,wL����P���i���H�D$�@���N���H�L$��H�9L�D��H�H�@H�@`H��u�>fDH�@8H��t/�0��t(�����-t��u�����-��w��H��I9�u������JL����"��A��(����A�GX����L�8褙���(dH��fH�5P,H�81�A����H�gvH�5DvL����O�����H�b�H�5)vL����O���f���A�GX衘��L�8�9����:dH�2fH�5�+H�81�A���&���H�j�H�5�uL���O�����	��H���H�5�tL���cO�����H���H�5BtL���$�EO���$A���=�H���H�5�tL���$O���p���H��H�5�tL���	O����H���H�5�tL����N���q���H���H�5FtL����N������H�W�H�5�tL���N���T�H�T�H�5�sL��A���N����H�m�H�5�sL���~N������A�M@A�M�E0L��jj��j��ZY���	���ff.�@��AWAVAUATUSH����0H�D$`D�|$PH�$��������9�|	�����H��L�L$E��H��I����R��I��H���H���/Dž(H�}P貇��M�uA�EI�] A�M@ E���FA�T$�L�t$I�ExH�H��M�d�f�A���A���9�8�4�H�Ǎ	H��i(Hc�A���H���I�ExH��� A������Hc�H�4�H�<�I�H�I�N��9HD�I��H�8A���M9���H���j���H�j(�P�I�ExH����I���H�ƺ��f�L��A�U1�H��L�CH��E�������WH��(H9$uBH���������|H��[]A\A]A^A_�E��~�H�$A�G�L�%6k(H��H�D�(H�$�L�[ L+[A�{M��E��Hc�A�$I��H����E���e���E�^��1��DA�t	���Hc�H��D9��8���L�CHc�A�48D9�}�@��&u�A�|8#u�A�|83u�A�|88u�A�|8;u�A�D	�&���H���H�5VrH���K��H���H�5�H���zK���Eh����H�}PH��[]A\A]A^A_����ElL�y��Eh1�1Ҿ��'t���H�~�H�5��H���K��룃ElL���Eh뿃ElL����Eh�H�n�H�5w�H����J���`���f.���AWAVAUATUSH��(D�|$`�D$hL�T$pH����H��H�WM��E��I��H�t$H��H��t5L���M��t)H��H� H��ARL�T$(P�D$,AWA��L�T$8�D$4H�� H��(H��t9D�|$`H�t$M��E��L�T$pL��H��D$hH��([]A\A]A^A_�����H��([]A\A]A^A_ÐUSH��H��H�W(H�GhLJ�����LJ0����HLJ@H��tH�z`H�5���H����r��1�H��[]�H���LJ�H��tBDž�H�����H�C(H��tsH����+���H�E0H��t^H�S(H��E8�f�H�=�"��H���H��t>H�KH�SH��H�s���H�SH�s H����0���H����r���������H���H���H�5�oH����H�����*���ff.��AWAVAUATUSH��H��������/H�{0H���}L���M����ǃ�����M��E1�L�����0���t;��~.A�w���n�F������F���������I�G0H����I���H���
H���2B���ChH��[]A\A]A^A_�諤��I��H���Z���H��E1�L���1�j1ҾH��jj�*��H�� H����A�����M��tA�D$@� t�� A�D$@I�WPA������H���s,�����I�GH���>���A�w���$���H���L;x��H���x������M9�������H�߉D$�DA���D$���	�������H�{H��H�{PH������������H����K��I��H���H����ǃ(L�xA�GpA�D$I�GI�D$I�GHH��t	H�@I�D$ I�oXA�L$@ ǃ(H��u�DH�m0H��tL�uHM��tM�vH�uH�}@��Ж��H�MM��H��A�T$I��H��������u��D$H�v��T@H�KmH�5\mH���
F��H���"@�����������H�������t4����m����D$H�P�H�5�lH���E��H����?���D$�����0����&���;�������"���M�(A�w�=���������j���H�b�H�5ql�T���H��cH�5^l�A���H�dlH�5Kl�.���H���H�58l����H�f�H�5�k����f.���H��t'H��tH�GH�H��tH�GH�1�H��t
H�WH�ø�����f.���H��t������ t�����t�����f�����f���H��t���ø�����f.���H��t/H��t*�~u$H�(tH�F@H�wpH���H�G0�m���D������f���H��twH��trUH��SH��H��H��H�s0躠��H�CpH��tH���H��H��[]����@H��H��H��E1�jL���1ɾPjj�&���ChH��([]��������f.���H��AV��H��AU��AT�US�H���H�.I��I��I��H������������H�����H�m`(�0�H��H����H�{H��1�H�H��H)���0���H��!�C�ǃ����H�}L��(L�kH�ktH����H�C(H�}tH����H�C0H�}tH���H�C8H�}tH�4��H�C@H�} tH����H�CHH�}(tH����H�CPH�}0tH����H�CXH�}8tH�<��H�C`H�}@tH�z�H�ChH�}HtH����H�CpH�}PtH�6��H�CxH�}XtH�T��H���H�}`tH�o��H���H�}htH����H���H���tH����H���H���tH����H���H���tH���H���H���tH�j�H���H���tH���H���H���tH����H���H���tH���H���H���H�-���H���H��tH;��H�����HE�H���H�a��H���H���H���H����H��H����H��L�sI�H�C I�H�C(L��I�EA��$I�D$H���H��[]A\A]A^��H����>���H�}puH�}x�,���1�H��[]A\A]A^�f�H��](�0�H��H��t�H�{H��H��H�H��H)���0���H�H����!�C�H��H�k���H��H�����H���H���H�����H���H���ǃ����L��(L�kH�CH���L�c M�&���f.���H��tO�?!�C�uGSH���H��(�9��H�CH�SH�H��tH�CH�S H�H��](H��1�[�fD������f���H��tH��PH��X����AWAVAUATUSH��H���EH���<M��I��A��H��H���(���I��H���H�M�7L��H�5���M�oH��ALJ�H�D$�f��D��H��L���ҟ��H����H��L���Nm��L�{PI�WL��H�k8H���gc��I��H��tgI���H��H�k8D�c@H�CH����Ņ�uH�CP�P��u������D�H�CPL��H�CHH�C8����#fDH�CP�����H�CHH�C8H�D$L��I�軓��H����[]A\A]A^A_�f.��������f���H��t2H��t-SH��H��1��ԁ��H��tH��E1�1�1�H��[錚�������[Ã�Ð��H��tH�GP�f�1��f.�H���D�B�A��	wD�AE�H�A��	v�������H��A�T@иD�B�A��w��G�����	ЈG1�H��@H���D�B�A��	wD�AE�H�A��	v�������H��A�T@иD�B�A��w��G����f%�	�1�f�WH��ff.�@H���JЀ�	w�HD�A�A��	v��fD�x:u����D�DQ�A���D�ƒ���W	��	ʈW	�P�JЀ�	w��HD�I�A��	w��������TQЃ�;���O��?����?�	ʉW�x:�w����P�JЀ�	�g����HD�I�A��	�U���������f�ɍTQ��*�H�P�O�x.tdA��t<�Gf/� r-�
*�f/�v�G��f��fHf%�f=�w"H�1�ËG%�=0u
f�f.GztŸ�H�P	�@	�HЀ�	������? �? �^Ӄ�0f�H���*��Y��X��O��HЀ�	v��H���ff.�@H��<+t6v$<-t0<Zud�GH��f%��f�GH�1����uDf�g�1�H���JD�A�A��	w*D�BE�H�A��	w������A�LHЃ����z:t��f�f��A��A��A)�D��D�G��f��fA���D�	E	�fD�GD�JE�Q�A��	w�D�RE�Z�A��	w�G������G�LJ�A��;ND�<-u���fA���f����f��Hf%�f���A	�fD�Gf���wH���O����f.���f.�L�A�D�H�A��	�AUATUS<0u�I��A�<0t��0<	��A�M��E)�DC�I��A�D�S�A��	v�������D�H�E1�O�T@I��E�H�O��A��0Mc�O�YM9�u�A�1�I��E�B�H�\�A��A��0Mc�I�,XA��u�E�A�1�M��M��O�l@I��E�A�H��A��0Mc�I�XM9�u�Mc�O�D
L�H�H�*L�[]A\A]��E1�1�1�1��ڸ�����L�������փ�
��uE1�1�1��A��M��E1��H���A��M��E1�1��`���D�W,����H��x�F,A��������H�~uH�~��@AV����AU����ATUS�O-D�F-�ˉ�)�E����A)�D��D�ȃ������_9�����A��L�o L�f E)���L�wH�WD��A����M��E1�����A�A�E1҃��E�L�I����������L��L��I��H��H��H�I)�L��Ii��I��I��H��H��J�/H�H)�H��Hi��I��L�H��H��I��I��H��I��A��u�M9�w*��L9nr��L9vr��@8ݸDD�[D��]A\A]A^�f�H��}���H� �r���f.��F,A���~���H�~uH�~uH�~ �e���D��ÐH�~�������u�H��DD��H��m���A��uH�~tPA��[]D��A\A]A^�f�H�~ �����L��E��L�vH�VM��A)�A��I��H���I���fDE1�����M��M��I��E�������X���f�D�GH�wA��I��A��A��A��H����I�ףp=
ףH�~�H��H��I��I��H��?I��H�H��H)�H��H��L�I�q=
ףp=
H��I��H��H��H��H�H�M����H��I��H��H��?H�H��H)�H��H��H��H9���Mc�H�T�J��H��@H��H�NI�ףp=
ףH��H��HI�I��H��H��?H��H�H��I��H��I��H)�H��L)�H��H�H��H�H�M��u4H��I��H��H��?L�2I��I)�K��H��H��H9��a����H�ףp=
ףH��H��H��H��?H�H��H)�H��H��H��H9��$���Mc�H���J��H������tf��tRA��&f.�9�x0u:B�B���t<I����t$D�H�A��v<
uր� t׀�w�Ҹ����E�Ð��������@��u�1��f���� w"H�&fDH��sH����� v�L�GH�&�*fDH��s0< uZ�NH���� v9f�I��A�@���tV��t7�� v�L�N9�x:u(�NL�����H��s�H����� w���<v��������@�Ҹ����E��1���t7�� w�H�&H��s�H���H���< w�H��r�u�1���ff.�@��� w"H�&fDH��sH����� v�H�&L�G�:fD@�� w
H����L�N9������NL���I��A�x�@��tV��t�� w�H��s�@�� v
�������ÐH�����NH���� w�f�H��s�H����� w���1���t.�� wH�&H��sH��H���< v�Ҹ����E���H��r�u�1�ø 9�xރ������ø����ø�@�� u��Q���ff.�H�9N(S���0�H��tH�@$f��@,�@@[�ff.����W}���SH���?���H��t!�o�oKH�oS H�@P [�ff.�f���� w&H�&fDH����H����� v�H�&1��&@�� w{H��su��� vYD�����t3��y��w��@�����A���wA���A���tH��H������u��f.�H����� w�H��r��u��f��WH���fD��@���u@�փ��@���t�WH���j��������u�W����u
�WH���B��������Ä�����1��fDM����H����D�I�A��������tL�W8M���gA���t	��!�VA�B,��KATH��UH��SL��H��t�	��+tz��,tu�������H���!��H���� u?�tpE��������H��������H�A���u+@�&I9Ju1�[]A\�fD�HH�A���t�I�RA���tDH9�vҸ(���w��L� �w����H�7�H�5_
H�81�A��D�]L�U81��@�'H9�s��@1�H��t�H���i������R���f�H���r���A��t�H����S��D�]L�U8���U���f.�������f.�H��H��J(�0�H��t9f�H�@$H�@�@,�H�H @H���DL�D1�1Ҿ�H�D$�!V��H�D$��f.������� wHH�&I��I��I��A��u5H��H���PH�p������� ��H9�H��A���	A�H���DH��xH�pu�H9�v<�V��� w3I�&I��s#DH�P�H9�t	�H��� vH9�H����A!�E��uMH)���O��DI��s�H����DH��H���d����PH�p���K���H9�A��H���q���@1��H�G�H��A���fDAUI����ATI��U��SH��H�I(�H��H���H�xH�@Hǀ�H��)����1����H�H�ZS��L�kH����H���H��L�cp�C\��
��,wcH��� 0H��t�KX@H��tc�KX@�:���I��H��t&���!�"���I�D$8H����H�@L�cxL�k�KX�"H��u�H�`H��u��KXH�=b`(H��H��RL���`{�����H��H��[]A\A]�@L�ٲ1�1Ҿ��S����@H��H(L��E1��h���@�G�<v9�G�<v*�G�<	v;@��+tE@��/tO@��=������@D��D@���G��@���G���@���G���>�f.��?�f.����~_(��tÐAT�(US�~��1Ҿ-H�=��H�M_(����H�@p�@\H�&_(����H��H���\H�_(L�%�F(�(H�h8A�$L��RH��H���>f��@$@@�H�E���H��H���H�@�HH�E H�kA�$L�Q�f�H����H�@$�H@@@4�@D�H�X(H�EA�$f�H����H�>^(@ �.H�=�@@0H�@@H�X(H�������H�=�-H��H��](���H��](�H�=îH��](�a���H��](�
H�=�OH��](�B���H��](�H�=��H�x](�#���H��](�H�=�H�a](����H�e](�H�=X�H�2](���H�F](�	H�=?�H�](����H�'](�H�=+�H��\(���H�](�H�=�H��\(���H��\(�H�=��H��\(�i���H��\(�H�=�H�\(�J���H��\(�
H�=έH�H\(�+���H��\(�H�=��H�!\(����H�m\(�H�=pH��[(���H�N\(�H�=~�H��[(����H�/\(�+H�=f�H��[(���H�\(�,H�=Q�H��[(���H��[(�H�=aH�f[(�q���H��[(�H�=/nH�wZ(�R���H��[(�H�=�H��Z(�3����H�=�H��H��Z(����� H�=�H��H��Z(���H��Z(�%H�=�tH��Z(�����#H�=�:H��H��Z(�����'H�=��H��H�]Z(����)H�=��H��H�:Z(���H�FZ(�!H�=�DH�Z(�n����&H�=Z�H��H� Z(�S����$H�=L�H��H��Y(�8����(H�==�H��H��Y(�����*H�=0�H��H��Y(����H��Y(�"H�=BGH�hY(���H�TZ(�H�=��H��Y(�����H�=��H��H�&Y(����H�=%�H��H�Y(���H��X(�H�=�aH��X(�o���H��X(�H�=|�H��X(�P���H��X(�H�=KaH�NX(�1����H�=GbH��H�kX(����H�_X(�H�=�H�DX(���H�@X(�H�=�H�X(����H�9Y(�H�=ےH��W(���H��W(�H�=��H��W(H�P8H��X(���H��W(�H�=��H��W(H�P8H��X(�e���H�vW(��X(H�]W(H�P8[]A\�@L���[1�]1Ҿ�A\�L��f�����X(��uÐUSH��H�sX(H�����[��H�`X(H�X8H�CH�@H�x�[��H�CH�- A(H�x�UH�{�UH��UH�%X(H�=.X(H�5��H�@8�U���X(H��[]�f��������H��t,�?u'���,w���H�7�Hc�H�>��D1��D���1�����Ð��������vځ��1�����Ð���1�����Ð���1�����Ð���nW(S����t��.�H�c�Hc�H�>��D�;p����f�H�W([��H�	W([��H�yV([��H�qV([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H��U([��H�iU([��H��U([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H�yT([��H�qT([��H�iT([��H�	T([��H�T([��H�AT([��H�9T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H��T([��H�aT([��H�IT([��H�IT([��H�QT([��H�YT([��H�aS([��H�QT([��1�[�ff.����H��tH��t
H�w1��������f���H��tH�G�f�1��ff.�f���H��t'�1���.w H��%@H��sH�G�f�1��ff.�f���1�H��t�?t���G�@��1���uEH�>;(S�0H��H��t%f�H�@$@@�@,�H�X[���ff.�@��UH���SH��H����H��t
H�hH��tH�XH��[]�ff.�f���UH��SH���H���V�H��tH�hH�XH��[]�f���H��tAUATUH�-��SH��H��L�%|;(@�;.I�$w.�HcD�H�>��f�H�{H��t��I�$�H�{H��t��I�$L�kH���M��tL���fDH��[]A\A]�D��AWAVAUATUSH��(H���9��P���v��uf�G(�uH��([]A\A]A^A_���H����$�V�H�D$H�����@ �\$�;�@ �2�I��H����H���n�I��H���T�P�Ѓ���u�����A�T$A�t$(f�H�L$���I f����k�<�*�A�T$�\��I f(�fA�d$(�f���uf�����fA�T$H�L$f���-��=�HAH���H*�f(��^1�f(�f(�fT�f.�v3�H,�f���5~fU��H*�f(����fT��\�f(�fV���A�G�$�Y܃���\��X
7�H,�A��A��D	�A�G�q���$�H,�I\$I�_uI�|$��H�����I�_fA�g(�A�T$(f�A�G(�%]�����	�A�G(�AL$ �X��H,��$�H*��^��q���$f��%��H,�f.�zt2f(�����=���^�f(�fT�f.���Y��\��AO A�D$f���-g��5G�����?H��H*�f(��^�f(�f(�fT�f.�v3�H,�f���5��fU��H*�f(����fT��\�f(�fV��Y�A�W��?��\��H,���?��	�A�G�p��A�D$f���-:��H,��%���=�����H��H*�f(��^�f(�f(�fT�f.�v3�H,�f���=U�fU��H*�f(����fT��\�f(�fV��Y�A�W���\��H,����	�A�G�vo��A�wE�D$�H,�@��t
A����fA���tfA��L�ǃ�H�D$L�d$A��H�ףp=
ףHHL�49M���^fDA����A����A��H�ރ����iH��H��H��H��?H�H��H)�H��H��H��H9��=Hc�H�c���L9��7H����H��H��H��H��?H�H��H)�H��H��H��H9���H����E�gI)ƸE��f���%��=�I�I�E��H*�f(��^S�f(�f(�fT�f.�v3�H,�f���-��fU��H*�f(����fT��\�f(�fV���D�����Y��\��X
`��H,���	�A�A���m���H,�H���M����I�G�M����E��A���r����A�GD��L�d$��f%���	�A�fA���tiA�G�uXf�fA.w zLuJ��
tLA�W����t?f���f���A�
�'�E1�H��(L��[]A\A]A^A_�A�L���Iw��H�|$�?w����DI�_E��M�������E�gA��f���%c��5C�A���*�f(��^��f(�f(�fT�f.�v3�H,�f���5��fU��H*�f(����fT��\�f(�fV��\$�$�/l���\$�$��?��H,��Y��\��X
���H,�H��HOиH��HN�H�J�H���H�Ŧ��I�H������h���H��H��H��H��?H�H��H)�H��H��H��H9��"���H�}�������DH��H��H��H��?H�H��H)�H��H��H��H9������Hc�H�:������f�H��@���GH��I��I��?H�H��H��L)�H��H��H��H9�u"H��L)�H��H��H��H)�H��H���
���H���������f.�I�G����H�����M���3���E������H,�f���57�fU��H*�f(����f(�fT��\�fV�����I�G�����L��E1���t���Q���fDD�ǃ�I��f������A����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9�thHc�H�����9������M����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9�t`H�P��<��Z����H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9��a���Hc�H�?����\���H�ףp=
ףH��H��H�H��H��H��?H)�H��H��H��H9��i���H����<�������	����A�	������H�H�����ff.�f�AVAUATUSH��L�\$@D�d$H��.wDH��I��H�5$���Hc�H�>��@��Z��H��{[����H�8H���H�5$�1��ӻ����H����[]A\A]A^�DH����M�����u�A��+u�A�A9E����H�����[]A\A]A^�H����M�����u�A��,t��H��tL�UM��tM�YA���l	A��.�i���H��%@L���U�����������	���:���A����
A����
�����A������A��� w"H�&DH��s
I��A��� v�A�< wH�&H��sI��A�< v�H�&@��t;����� ��I�rI�{9�������A�RA�CI��I����uń��A< wH�&H��sI��A�< v�1ۄ�����D���H���6���M���-���D9�tA�@�v
A������H��H��L��[]A\A]A^����H�����M�����A�������A������H��D���YH�MH���Rc�H�H9������IAH9������A�A(���E(�����UA�9���	�����~H�
��������u����M������p���g�1��-���f�H����M���������A�������M �A\I ���H�EI�Qf(�H���^�H)��H,�f��H*�HMI+I�Y��\�H������H��xf/
�������H�ٻH��������*H��H��H��H��?H��H�H)��vH���6�S\2H9��R���H��H�FH��HI�H��H��H��L��I�I�p�H��������*H��H��H��H��?H�H)�H�RH��H)�H���H4�LD�`L��L9�u	I9������H9��9	H9�����f������fDH�������M�������A��
�����A��������E������
�����f���Z]�$A�������
�b���f���AZI�$�L$�`���L$��f(����`��1ۅ����*���fDH����M���������A�������EA;A�������.�����������H������M������A��t�����A�������I�qH�}L�$�(i��L�$������I�qH�}�i���������1��������L��f�L�$��I��H�����A�\$��H��f����H��]�I��H�����A�UL�$f����H�H9���
��A�Uf�f��f��A�EA�u(�����?��k�<i�Ѝ�A�t$(f����k�<�A�T$�*�A�D$�AXE �����?��k�<i�Ѝ�f����k�<��*��AXL$ �\�f/��Y
��H���T$L�$�v�I��H�����A�Vf����H�H9���L�$�T$�	L��L�$�k��L����k��L����k��L�$�v���fDH����f��f.��F1�f.��Í\�������m�,$�A���f�H������< v��)�����H��s�f.�I��A��� wH��r�DI��A�< �����H��r����D�L$�]���L$���B���H�x'(�$$�f.�����1�f.ȸ��E����f���1҃������H�
s����!�1��������tI�YH9]�������������t�uA�Q����@8������������������t&�uA�Qf��f������@8��k�����������y���������UA�A�������8��9����a����UA�A������?��?8������@����M �AA f/������1�f/������@I�qH�}��>����������������fD�AI�L���DA����1�L��L��A����A���y���1�H��[]A\A]A^�����H��H��?���U����f.���H�g#(�4$�f.��*�$1�f.ȸ��E������fD��P��H��[Q���6�����E1�����H����H�׻����H)��;����A����A���\A�������1�L��L��H��[]A\A]A^�	��f�f�H��L�$��I��H�����A�\$L�$��f��L�σ�H��a�I��H�����A�UL�$f����H�H9�����A�D$f�f��f��A�T$A�t$(�������?i�k�<Ѝ�A�u(f����k�<�A�U�*�A�E�AXD$ �����?��k�<i�Ѝ�f����k�<��*��AXM �\�f/��H�$�L���T$L�$�z�I��H�����A�VL��L�$�T$f����H�H9��N�dL�$�f��L����f��L����f��L�$�z���f.����<$f/������f/�� �f.����������1����L��f��������I��H�����E�eH��f�fA��A��I���H��H�������Uf����H�I9�������E�Uf�f���](�������?k�<i�Ѝ�A�](f����k�<�A�U�*�A�E�XE �����?��k�<i�Ѝ������f����k�<��*��AXM �\�f��f/�w	1�f/���H���e��L���e����1�A�;����������1���� ���H�&H�����H��fDI��A�< v1ۄ����T�H��r���f�f/��c����H���DL��L�$�e��L���d��L�$��L��L�$��d��L����d��L�$�n�L��L���k`��������1�����d��L���d��L���d����L��L��H��[]A\A]A^����L��L������L���id��L���ad��L���Yd��������q���f��L��L�����A�A�����������y�H�&�A@�� w
H����9��$����L�I��A�I��A����H������,�< w�H��s��� ��H��rǃ��� �����A�D$A�T$f�f��A�\$(�������?k�<i�Ѝ�A�^(f����k�<�A�V�*�A�F�AXD$ �����?��k�<i�Ѝ�f����k�<��*��AXN �\�f/��H����b��L���b��L����b���:�A�FA�Vf�L��A�^(f���������?k�<i�Ѝ�A�\$(f����k�<�A�T$�*�A�D$�AXF �����?��k�<i�Ѝ�f����k�<��*��AXL$ �\�f/������Fb��L���9b��L���1b���P��Y����� ��9��r��0�L���b��L���a���*�L�����a��L����a����ff.�@��UH��SH��H���B6(��t&H��t+H�=*6(H��H��H��[]�$��f��O��H��u�H��1�[]�ff.�f���1�H��t%�?u �����t%��t��HD]4(�@��H�a4(�H�i4(����H��tw���tp�P�S��vj<
tfH���fD�J���v��
tH�����u�1�[�@H)�H���=,��H��
fD�q�@��v��
u� H���
��u�[�f�1��1���f���H���C����b< ��H��DI�&SH���(��p�@��v-<
t)�BH�r���sH��< u��BH�r< w�I��sۉ�)˅���H���v+��H����H�&Hc�H�I�����t�� ��H��A��I����u�A�[�f�H�&H���<���H���BH�J��t&D< �(���H��H�������BH�J��u�H9�A��H��H9�s;�A�< w3I�&I��s#H�B�H9�t�z�@�� �H9�H����A!�E����H)�H���!��f�H��H�V���N�� v%f�A� H��I�����H���
�� w�H��r�H�ք������ѐH9�A��H9�s;�F�< w3I�&I��s#@H�B�H9�t
�z�@�� vMH9�H����A!�E��uH)�H��[�� ���1�[�@H���z���H9�H��A��H���1��DI��s�H���DI�����H������H�W�H��A����@AWAVAUATUH��SH��dH�%(H��$�1��?,H��y	�H���H��Hc�H�>��H�H���s	�D��I��H�EH��uf�H�{�(��I��L�e1�M������H��$�dH3%(��H�ĸ[]A\A]A^A_�DH�H��u�H�= ��(��I��H�E�f.��G-<��
�ok 1��ocL�cL�k)l$0D�t$<L�{ )d$ A��@�ƍt0H�	(Hc�H��H�EH����M���C
E����ATM��L��AUH��H�����H��1�����A_XL�e����H��mH�=x��'��H�EH�sH����U��H�5�H�EH����U��H�EH�sH����U��I��H�E���f�D�wE����H�=&��w'��I��H�E�{����GH�\$@�(L�˂��(H�߸���H���3'��I��H�E�7�����GL�OL�d$@��M���	H��L�$�P�#�L��1��#���A[[L����&��I��H�E����L�d$@L�O�1�L���L����_��L���&��I��H�E���H�A(��H�EH�����SH��D�KH��L�q�H������1�f��A����R�����L�e]A]�6���fDH��(��H�EH���eD�KL�
�A��H��H������1���������DH��(��H�EH���D�KL���fA��A���fD�G(��f��U��H��H�����@ D�HL�d$@H���@L���A��L�����A����?P�����AYH��AZ�Y���B����D�W-A����H�C�ok E��D�k,�oc)l$0H�SL�K 1�H�D$�D$<A��)d$ A��A����B�\3���2A��A9��%H�n(Hc�L�L$H�T$H��H�T$L�L$H��I����I��E��t�-L�XE��E9�u�0.I��fA�K�L��H��L)�H)�M����H���H��I��L��t$ �L��1�L�\$H���������XZL�\$C�D-D�l$<A��A	�D�l$<A���*E9���1�A�;tf��PA�<H��u�A9�����D��L�ލPL�\$)�I�<�QG��L�\$H�ھ0L����,������H�H�������/��I��H�EH���n����Y���f�f�H�\$@���ZGL��~������H��~5��f���-��H��f(�H��?H��H1�H)��H*��^
/�f(�f(�fT�f.�v�H,�f�fU��H*�fV��'�f/��-�L,��c K�IH��f(�H��f(�H)�fT�f(��^
Շf(�fD(�fT�f.�v�H,�f��fAU��H*�fV�f/��I�H,�HiЀQH���f���H*��\�f�f/��	f(��^
��f(�fD(�fT�f.�v:�H,�f��fDU��D���H*�fD(��D��fA(�fET��A\�fV�f/��v�H,�Hi�H����f���H*��\�f/���f(�f(��^��f(�fT�f.�v5�H,�f�fU��D��H*�f(����fAT��\�fV�f(�f/����H,�I��I��I)�I����f���I*��\�L�d$@H��x
f/���QL��{RPV�d��dL�����H�� ����G(�Nf��}��H��H����@ L�HL�d$@L��|�@L��2��2����?P�C���P�Cf����P�C��P����H�� H����T���X�����G(��f�����H��H��tuL�H�@L�d$@L�Y{L����f����P�C��P1����YH��^�^T�����f�H�=:���H�E����fD��������fD��������\��L,�I��?����D�GL�d$@�2L��{��2����?P�G���P�Gf����P�G��P�G �L�OL������H�� �'���fD�\��H,�H��?���D�GD�OL�d$@H���G L�zL����A�����?A��P��a��_AX���f�H�=8����I��H�E�����GL�d$@�L��y��f����P�G��PL�O1�L������XZ�M���@H��f���H*��X����f�1�1����H��I��L�yP��@M���(E����H��M��L��xAT����I�D���@�0�@�.��H�����H�=kx���I��H�E��DH��d���H�=Ax�i��I��H�E�m�DQL�?xRPV�`�����\��H,�H��?�|���DL�L$L�ߺ1�L��wH�����L�\$���L�\$����f�1�����DH��f���H*��X��3����t$L��wR���M��L��wE��uL��wH��H�����H��1���H����ATM��L�OwAU�\�H��g��H�E1��v�E��A�WE)�Hc�Ic�I�I�|H����?���.�?��\��H,�H��?���I��f���I*��X�����H��M��L��vAT���������H��A�E1�j�H���AWAVAUATUSH��H����I��H��I��H�����I��H����H��tH�A�L���� �>H�&E1�H�&��tD�� v3�KH�sA��H�� w
�H��r�H����� w���@H��H�sH���K��t��H�� w�f.�H��s�H����C��� v��u�E���}A�?��L��L9�u�fDH9�tH���}t�H9�tK1�L��H��L���;)����t�f�H���}u�H9�u��H9�t�H���}t���H�9(L���H��D��[]A\A]A^A_�H�&H�������fDH����C��� �����H��r����L���Q���H��(L���A������ff.�f�AWI��AVE��AUATI��USH��H��h�5�"(H�$dH�%(H�D$X1����TM����M��H�	�LD�H��tH�E���A��t4A�EӃ�v
A����A��.��H�
\yD��Hc�H�>��A��.�FH�
�yD��Hc�H�>��f�1�A�$< w$H�&H���� I��A�$< v�L��E1�����߃�A�����HЀ�	��< w'H�&DH����H���< v�A�H��tH�n
(H��A��H�t$XdH34%(D���y&H��h[]A\A]A^A_�f.�D�L$�V:��D�L$���@1�H��t0��$�t&�.蝺��I��H�����L�����I�EL�+H��tH��	(H��E1��h����D�L$L��A�����3��D�L$H��E���H���P���A��.��H�
$yD��Hc�H�>��H���eH����"H�$H�p@H���`L��1�A���F�����_��͹��I��H���0	M��tH�	(L��M��tH�	(L����H���oH��(H��A�������x����1�L�d$(A�$< w)H�&H��sI�D$H�D$(��� �1�A������*���I��H����H�T$(�<-�I���0H�<$<	�[L�t$(L���~������FH�D$(��PՁ�t����<Z����!H�<$L��������
H�D$(�8�oA��A9��ZH����#L�;E1�H���o���H��(H���^���fD��!��D�L$H������H��������3���H��H�����A���������D1�E����L���!��H��H��t��H���k������I��I��H���C����?���fD1�H�$H��L��E1�H�=�(�]�����A���*���f�1�L���;��A�ƅ�����H��������s���I��H������A�$< w%H�&@H���� I��A�$< v�H�&L��@I��A�$< w�H��s�D��)����E1�I�EL�+���@1�L���*��A�ƅ��f���H�<$�H�t$(L���v/��H�4$H�T$(I��H�~@���H���@H�@H�|$(H�$H��t	H��(�H���J��z���I��H���1M����$L�hH�$H��tH������I�GL�;����@1�A�$< w$H�&H����I��A�$< v�M�|$E1�<-uI�D$A�M��I��A�<$PA��k���A�|$�_����A������ǵ��H��H���C���A�D$���T#�D$0YMDH�MSf��E1�f�L$41�I��������H��������I��������
L�-u<T�m����A��B�<	��!��01�Hc��(��0Hc�L9���H��I��H�I)�L9���I��H�A�D�Z�A��	v�H�$E1���.�� E��@�����X���O��D:\0u�M�_H�<$L�\$�2��t	E���$���+Ic�L�>��D1�A�$�� �hH�&L��H���3f�H����� ���N�7��-��PH�HH�Ȁ�I���JՁ�����������JЀ�	v�fDH���HH�P�q�@��	v�.u%�JH�p�A�<	�GH��H���
�A�<	v�ȃ��<Eu/�J�Aը����JH���A�<	wH���
�A�<	v� �a���H�&�DH���
�� �@���H��r���2���H������L;=b(�t��2���I��H�������H�PH�5l1�L���+���������L���E������1�A�$< w.H�&H�������f�I��A�$< �o<0��<1�g<t�fA�|$r�{���A�|$u�o���A�|$e�c���M�T$A��A���t>< �@���H�&H���,���@I��A�< ����H��r��
���H������������H���v���D�`H����f�1�H���t�������I��H���O����B���f.�1�H�$H���qH�x@�fL�<$H��L��A�H�=�(L���G������E1�A��	���H�$�@P����1�L���%��A�ƅ���H�<$��H�t$(L����)��L�|$(I��M������H�4$L��H�~@�-��H���rH����H�x���I��H�|$(H��t	H�N(�H�$H�p@H���KE���Z���L��1�A��=�����A���H���S�覰��I��H������M����M�nM��tM�~L�3E1�����f�1�A�<$��H����L����
��I�!TI���L����tC�PߍHހ�]L��@��H�����?�Cу�{<��@�u��t�_H�����u�L���@��L��I��H�C�'�M�����L���	��H���F����软��I��H���!�������@1�L�d$A�$�� w3H�&H����I�D$fDH�D$�I�Ā� �T��-�PE1���+u
M�T$L�T$H�L$(H�T$ H�t$H�|$谦��A�Ņ���H�D$��� ���H�&H��sH��H�D$��� ���H��H��r�����A���������"���� �>��!u	E���vH���#�蟮��H����E��DD��?D1�L�d$A�$�� w3H�&H���yI�D$fDH�D$�I�Ā� �L��-�E1���+u
M�T$L�T$H�L$(H�T$ H�t$H�|$舥��A�Ņ����H�D$��� ���H�&H��s'H���H�D$��� ���H��H��r�����A�����%����#����'����)u)H�D$ HD$(�V�H�D$A����H���=�H������O���H�����H�T$H�PH�T$ H�PH�T$(D�p,H�P D�h-H���1�L����5����A��A��H��t*E��t%����I��H���H�L���X
��I�GL�;H�$H���L�E���C�E1��x�6�xPI���)�L��艰��H��H����I�w@1�L��H���<��H��I��H��'�A�M�����H�$E1��@P���1�L���4��A�ƅ����H���������I��H���w�L���	��I�EL�+��1�L�<$H��L��A�H�=/(L�������W�E1�M���K�A��@�H�$�@P�0��1�L���Q4��L�<$A��M����I�@�������L���V���I��H���=I�@H���~��L��I��H���'�M��tA�\��A���@1�L����3����A��A��H��t*E��t%���I��H���P�L���`��I�GL�;H�$H���T�E���K�E1��x�>�L��螮��H�$H��H�q@H����1�H����	��H��'H��H�$E1��@P��1�L�d$A�$< w)H�&H��sM�T$L�T$A�< �gH�L$(H�T$ H�t$H�|$螡��A�ą����H�D$��� ���H�&H��s%H��fDH�D$��� ���H��H��r�����A�����&���$����(���*uH�D$ HD$(�n�H�|$��_�H������q���H�����H�T$H�PH�T$ H�PH�T$(�@,H�P D�`-H���D1�A�<$@���,L��E1�f�諯����x
��?��A��H���:@��u�D��D�<@D���E1������H���Y��,���H�D$H���*�H���'C�|5Hc��H��H����H�D$H�HA�$��t"��������x�H��I��A�$��u�H�D$�D�xH����DL�l$01�L�l$(A�$����< w"H�&�H���I��A�$< v�<-��
E1�<+����I�A�$�����<0��
fDI��A�$<0t�A�����E1������
D�$H���7��讧��I��H���!�D�$E��A��E��t^H�T$(A����E9��W�z�0��A�H�H��D)�H��H���x�0uH����H�D$()�F�4H9�u�H�T$(E���LA�D$,A�D$-��A	�E�L$,L�#��D�L���#�����k�H���}����1�I��H���J���DH���W���$��I�E������I��H��u�L��� ��H��H����I���E���h�L��1���*�<-t2���D���0<	�9���H�������	�ƒ�߃�A��w�<-u݃����
�1�1���@1�L�l$0L�l$(������L��������c1�H���x���ޥ��I��H���:��=�DH���O���$��A��觥��H��H���{�L�����H�EH�+��I�����I���A���I�����I�����I�����I�����I�����I�����I���q�I�����I���9���I���	���I���	���I������I����I���i�I���9�I����I����I���Y�I����I���i�I�����I�����H�����������I��H��������%�H������$������A��H�I��I��L�_I)�M9���L�H�GHk�<I�A�G�������MS�D$0YMDHL�|$f�T$4��A�H�I��I��L�OI)�M9���L�Li�H�G�H�G�I��H�WI)�L9�aH�H�G눹�QH�H�wH��H��������H)�H9�8H�I�H�GA�u'L�ȹ�QH�H��H�WH��������H)�H9��8�5��A���L9��Hk�H�G����f�H��A������H���v��!��H������E1�I����+����PH������H��H�����E1���f.�H��H�����E1���f.�I��H���z������DH��H���b��n�H�$M��H�p@H�����A��
��8TuPL�$H��L��H�D$(L�������u4蟘����H��	�H���CH��H�T$(H�T$(�
�� v�@L��A��24����D�:@���zE1�f�苨����x��?�����@����A�H���:@��u�D���@A��E����A���?A�����E��A��A���|�@H���:������?w���D�y������U�DH�<$����E1�E1��n�f.�H��tH���'H��A��4�����A����H������+����I��H���k�D��L���x��H����
D���E��t+A�U�H�tH��f��
��`v�� �
H��H9�u�I�FA�~L�3�)�f.�L�d$(A�$�HՍPЁ�t	��	�O���E1�<-uA�D$A�I���PЀ�	�,���I�W��0H��������H9�����I��������L��H�L��M�H)�M�_L9����L��1��/D��0H9�����H��L�Hc�L��H)�M�_I9������L�H����I�G�D�R�A��	v������������E��tH��I�GH���t���H�L$(��PՁ�t����<Z����O���L�t$(H�<$L��讕����H�D$(�\�8�(���A�����H�������-���I��H�������@L�����xa�����xN�����I��������M�T$E1��c�H���O��轞��I��H����L���)��I�G�T�A�$������A���A��xNu��xFu��x�I�H�����L;=y(����I���H���mE����H���'��@���f�M�T$A�L�T$���M�T$A�L�T$��I�G�z-H�$�D���H�BH�D$(�z-��A�������M�gL�t$(H��L��L��H�T$(�ʑ�����r���H�D$(��PՀ�t����<Z����P���L��L��赓�����=���H�D$(�8�/���A����fDM�T$A����D����?�I��A�����1�E1��7�H�D$(I�T$A��H�HH�L$(�J��A�D$I��A�����PЀ�	v�A�����<.�< ���H�&�fDI��A�$< ��H��r�����l�@L������H��H��LE��������E�H�������R���I��H�������<f��A�|$a�
�A�|$l��A�|$s���A�|$e���M�T$E1���@H�D$(H=����H=����H�D$ H=/��m�H=0����H�D$E���/H=�C����B��H�D$(H=3��H=4�[�H�D$ H=`���H=a�>�H�|$����/����f.�E�����H�D$(HD$ HD$���p�H�$L��H�x@�=
��I������8-����H�<$H��H�D$(誎���������H�D$(��PՁ�t����<Z��������H�<$L������H�D$(��8�k���A�	�	��f.�L��E1��.��M�|$E1��t�H�|$(H�<$H�����H���'�M���$��L�����M�����H���'L����H�|$(����H�D$ H��)���H��*����H�|$�������h�A������H�D$(HD$ HD$������H�|$(����H�D$ H���K�H���~��H�D$E����H=���d���"��D������I��f�H���:�����?w���D�y�_����M������H���'L�����H���x�A������E���E1���L��1��]���t����k���I�����A�<$0�������H�D$ HD$(����H�D$A����H=������D�H�D$ HD$(�q��H�|$���b����E��������O��E1�M��tH���'L��E1��T�H��t'�9��H�������H�UOH�5}�H�81���H�$�x�����@P���L����I�F�o�E1�E1�E1�����.����H�p�@��0<	������D�
辗��I��H�����H�PH�5�P��A��+���H�$L��1�H�q@�E��I����E1������x�K��H������L;={�'����K���H���oH���'��@���M�gL�t$(L��L���ي�������L�T$(A�:-�jA��PՀ�t����<Z������L��L�����������H�D$(�8���A�����I��D���2f�H�D$(I�L$��H�xH�|$(�y�@�8����I��A�$�HЀ�	v�	��B��E��A����������L��1��5��H�$1ɾ�L�6O�)��H���'L������H�$��L�"O���H�W�'H�|$�����E���I�L$ I�T$I�t$H�|$(D�$L�l$(�C���D��D�$E�t$-D)��D	�A�D$,��A�D$E��I��A�����H������8-�L�H�<$H��H�D$(芉�����2�I�wH���%�A�O�������@���JH��dH�H��H���4��A�WH�
_W��f��H���;����H�D$(���@�ƀ�Z��@�u��+���P�H�<$L���	�����H�D$(�7�8���A�
�
���L��E1��&�����H=����)��a��H=��C���P������H�H H�PH�pH�|$(D�L$D�$L�l$(�ċ��D�$D�L$E�D$-E�L$,��H=�������A�WM�_D�r�A��	���3���0f��^,�I���*�A�D�r��Y��X�A��	v�M��A�H�$����H=��O����H�$1����I�BH�D$(誇������H�D$(���:�}I�w@���H��dH�H��H����A�GA�WH�5�U��f������H�;������+�Aը�t���€�Z������L��L���:��������H�D$(�8���A���@��1���$���/���
轒��H��t�E���H��'f���Z"�`�Q�H��'��@�<��
�w���H��t�H��'f���Z�X��H�Wf��E1�1�H�L��f��QH�H�OH���H*��X��O E��tH��H�_fW
��H�O�O H����H�;E1��|��L�T$(���H��H�H��H���������A�WH�
UT��f��H���9�������{�H�$�'f���Z*�h�M�E��D��A����G�<��M��A��|��L������I�G���E1�����H��H�H��H����A�GA�WH�5�S��f������H�;�������#��E1��������������I�wH�����A�O����������@����H��dH�H��H������A�WH�
�R��f��H���;��_�A�G���<A�Gwb�����?��;wU�AG f/r�rE�
Sf/�v7A�G(��f��fHf%�f=���A�����E���3���%�=0���f�fA.G ���t����H��H�H��H���+�����A�WH�
_R��f��H���;��+�����D��H��E1�A�j�8��H�����1���D��AVAUATUSH����H��E1�H�-6OE1�;.wM�HcD�H�>��f�H��舏��H�{I��H��t	���I�FM��t.M�uH�[M��H��ti�;.v�H���Q���I��M��u�f�M����H���0���H�{I��H��t	�O��I�FH�{H��t��=��I�F��L��E1�� ��[L��]A\A]A^�f�E1���ff.���H��tWH��tRH��H���?���t1Ƀ�����D��A��t1�A���ƒ�RI��1�H��j���H���D������f.�H����USH��H��D�A�������wI��H�
yNHc�H�>������H��[���H��DH�5�H�81��Ӑ1�H��[]����t�t�H�o8H��t�E������!��������ÐH�w8L���D���t�v��)�H�w8L���$���tǃ��t��,�H�G8H��t��8�W߃�w��@,�u�M��t�A��J�v��u�H�PA����QA�H-�-H9��.����+���f�M���O���M��t'I�@H��tA��J����:�J�w��LE�H�{@L������������/D������H�E���s�0H�������L�������������0���H�w8L��������������j����+�b���H�w8L�����������������?����*�7���D�E,��^���M��t
A���+tQ��,tL��w�ѸH��H�����!�&�tbE���1���;M���LL���������A�HH�UA���t_A������(H9�����������+��H�(������H�GBH�5o�H�81���D�H�k81��fD�&H9��J����G���DH�C8AQM��A��ASH����8H��裩��ZY����P������{��������'H9���������DA�H,�.����H9���������1�M��������I������M�����A������L���m��D�H�k8��������Ã���������H��t'H��t"H���ȉ�H��PI��jD�1ҋ?�ը��H��ø�����f.���H��tH�G8H��tH�@�f�1��ff.�f���H��H��t���E1�H���c���������ff.�f����G������I��H��H��H��uH��t1���H��E1�E1�1�L���@���I��H�ыE1�1�L���+���������f���H�����=�tB=�t=�udH�G8H�p1�H9�rE�@H�G8H�p1�H9�v�'H��u ��DH�G8H�p1�H9�t̸&H��t�H�1��(H��u��@H��1�H��1�����������w������H��tH��t
�}���D������f���H���H����B�����UH��SH��H���H���tD��u/H�H��tf��tQ���H�EH����1�H��[]�fDH��[]���DH�H��t7��tR��tu�H��H�E��f��+��H�E�DH�=�����H�=�����H�EH��u�H�{�D����H�E��DH�{����H�E1��_���@����H�E�D������f���H��t��@1��f.�����1���?���ff.�f������1���O���ff.�f�����1�������f.�����P�1�������f.�����p�1�������f.�����01���_���ff.�f�����!1���o���ff.�f���1����������	1������ff.�f�����%1������ff.�f�����11���/���ff.�f�����11������ff.�f�����%1������ff.�f�����(1�������f.�����@1������ff.�f������1�������f.�����31�������f.�����0�1������ff.�f������1�������f.������1������f.�����.1������ff.�f�����01���?���ff.�f�����N1����Q���f.�����41�������f.�����1���ߦ���f.�����1���_���ff.�f�����1���o���ff.�f������ 1���/���ff.�f����� �1������ff.�f�����$1���?���ff.�f����� 1���/���ff.�f�����1���?���ff.�f�����1�������f.�����1���/���ff.�f�����1���O���ff.�f�����	1������ff.�f�����'1�������f.�����`$1�������f.�����21�������f.�����1������f.����� 1���o���ff.�f�����%1���_���ff.�f�����1���_���ff.�f�����01������ff.�f�����p1�������f.�����1�������f.�����
1������ff.�f�����
1������ff.�f������1�������f.�����011���_���ff.�f�����1�������f.������1����+���f.����� 1������ff.�f�����1���o���ff.�f������1������ff.�f������1������f.�����@01���_���ff.�f�����P1���_���ff.�f������/1������ff.�f�����11������ff.�f�����/1�������f.�����1������ff.�f�����01���_���ff.�f������11������ff.�f�����1������ff.�f������1������ff.�f�����1������ff.�f����ǀ1����������1������ff.�f�����1�������f.�����1�������f.�����!1���O���ff.�f�����1���O���ff.�f�����1������ff.�f�����1������ff.�f������1�������f.�����
1������ff.�f������1�������f.�����"1�������f.�����'1���/���ff.�f�����)1������ff.�f�����&1�������f.�����+1�������f.�����#1�������f.�����1�������f.������1�������f.�����1�������f.�����P!1���?���ff.�f�����1������ff.�f�����1���/���ff.�f�����@$1������ff.�f�����1������ff.�f�����1���/���ff.�f�����1������ff.�f����� ��=�����������	����f������1�������f.�����1���_���ff.�f�����P1���/���ff.�f�����
1������ff.�f�����P�1������ff.�f�����1���O���ff.�f������1������ff.�f�����p 1���/���ff.�f������'1������ff.�f�����)1������ff.�f�����*1�������f.�����1��������f.�����1��������f.�����1���O���ff.�f�����1������ff.�f�����`1������ff.�f�����1������ff.�f�����P1���/���ff.�f������1���_���ff.�f�����1������ff.�f�����1������ff.�f�����1���?���ff.�f�����1������ff.�f�����1�������f.�����1������ff.�f�����1������f.������1������ff.�f�����1�������f.����1���?���ff.�f������1�������f.�����M1���?���ff.�f����G��� ������	����������$���~���t���t1����������f�����x�����v1���t)��#�����v��� 1������f.���f.�������������������ƒ�#��	ƒ�3wH��H���	¸��t�1���J���ff.����1���( �����1���) ���H����AWAVAUATUSH��D�wL�/A��x?I��E1��
@D�}E9�|*C�,>L���Hc�H��L�H�3���t y�D�u�E9�}�H��1�[]A\A]A^A_�@H�CH��[]A\A]A^A_�D1��ff.�f���H�5Ց'�P����H�5��'�@����H�5u�'�0����H�5E�'� ����H�5�'�����H�5�'�����H�5��'�����H�5��'�����H�5U�'�����H�5%�'����H�5��'����H�5ŏ'����H�5��'����H�5e�'����H�55�'�p����H�5�'�`����H�5Վ'�P����H�5��'�@����H�5u�'�0����H�5E�'� ����H�5�'�����H�5�'�����H�5��'�����H�5��'�����H�5U�'��������t4����t,����������������	����f���f.����������vQ��_tL��T tD���0t<��������v1�������v&��?�����e���	����f���f.�������= t���t1���: ���@��f���������������!wH��H���	����f���������� t���t��t
�����
wÐ��f.���/ ����_ ��	Ё�0��	����ff.�f�����p1�������f.������ 1���/���ff.�f���S��H�=b�'���H��t��[�����[�ff.����S��H�="�'���H��t��[�����[�f.�f���USH��H���H��tAH�E8H��t1H����H�CPH��t#H�S8H��tH�R H��t�:/u�z>tfD�EH��[]�f��f�Pr��D��H���H��tH�@@H��t��D�ff.�@��USH��H���H��tYH�CHH��tIH��H���t$8�|$8W�|$8WH���H�EPH�� H��t"H�U8H��tH�R H��t�:/u�z>tD�CH��[]�f.��f�Pr��D��H���H��tH�@PH��t��D�ff.�@��H���H��tH�@XH��t��D�ff.�@��H���H��tH�@`H��t��D�ff.�@��H��tH���H��HH��tH�������H�G0H���pAVAUATUSH�h H����D�g�G����H��H�����A��D�{���H�����Sl��H9�vH�;��H�{0��y����A����H������SlH9�u�D�cDH�����SlH���H9��{�6��slH�{ 1ɺH����Cl��H�C t9�@�������tFH�C �@D�c����1�[]A\A]A^�@�H���
���������b�����{t�H�����H��A��D+kl��slH�{ D��H��P��H��A�������C�ClH�C E���h����P��t�@D�c�������W���@�D�cE���@���H�S H�z������,����A�������{l������H���a��slH)�H=���H���������)Cl������+��H��A��D+sl��slH�{ 1�D��H��h��Dsl�������H�C �r������ff.�@ATUS�GH��H�op��t=��t[]A\�H���H��t�H���H����H9�u�Hǃ���f�H�G H��t����u�H�UHH����H�zH�����o��H�5�zH����H�uH����H�{ H��H��I��H�wH�Ǡ���H�S !��M��tH��'L���C�7���@H�C H��H�p���������������H�MH�pH��H����q��H�S !���C���ff.�@AWI��AVAUATI��USH��H�D$H��tH�G H�D$H��tH���H�D$M����A�G������H�$���	u��A�G���K���BI�WH��t
L9z(�?I�_0M�o(H�8�'������P�M�wX������I�PL9�t�ƒ��tH����f���t8��t3I�H��t*H�D$H��tH��H����u
I�H�i�'�A�G���u{M��tvI�D$ H��tl��<��caH��@��I�w0��<L��@I��H�������H�$H���bM���YH��I�EM��H�$����f�H�ٹ'L��I����I�_0M�o(������I���f�I�wXH����H�n0L���4H��H��u�A�GI�P�P�L9�t��A��H��@��A��t
�ƃ��ur��t	�������I�`H��t�c��A�G���f.��k��H�8t
�`��L���A�G�4���f�I�PL9�t�H��@�ƃ���@��t����t�H�D$H��tH��H�����u
I�PH�ɸ'�A�G�P��\���H�$I�����H��[]A\A]A^A_�H��L��[]A\A]A^A_�C��H��L��[]A\A]A^A_���ff.�f�ATU1�SH��tH�o H��tH���H��t}H���'H��I�������H�sH��tL�����H�{H��tH��tnH��H���/��t[M��t;I�D$ H��t1��H��c&H��P��H�K0H��P��H[]A\�fDH���'H��[]A\H���DH�{H���'�뙐����H�8�X������H���I���f�AVAUATE1�USH��tL�g M��tM��$��F���C���J���QH��H��H�v��tH��tH9^(�CH�CH�T�'����z�CL�kX�H�������H�{PL9�tX���tPH��tKM��tH��L�����u
H�{PH���'��S�ЍJ�D��t��wH�{`��H��t���C��t2��t-H�{H��t$M��tH��L��舼�u
H�{H�I�'��C�����H����H�E H������<��c��H��@��H�K0H��@��<[]A\A]A^��H�sXH����L�v0H���l���L��M��u�SH�{P�ЍJ�L9�����H��A����@��A�������փ�������D��H�8�w�����H���h���f�H�Y�'H��[]A\H�A]A^��f�H�{PL9������H��@�ƃ���@��������Ѓ��������D���f.�[H��]A\A]A^�0��[H��]A\A]A^�P��[]A\A]A^�s����;������fDUH��SH��H�������~bH������9�|-�H��H���'���Hc�H���H���H��tb���Hc�H�,ȍBH������H����[]�@H�!�'LJ�
�P�H���H��t4����v���f����H��3��H�5[\H�81���1�뜐�{��H����H�5'\H�81���1��y���ff.�ATUSH�����H�������H��H���}1�H���k��C��tC��t����wH�sPH���K��H�[0H��u�H�]H�EH���N��H��[]A\�fDH�{�w���H��H��I���	��H�"�'L���1�H��[]A\�ff.�H���GAUATUH��SH��H��H�0�'�����H�{xH��t����H���H�CxH��t���L�kXL�cPHǃ�M9�tM��tL���Z��H�CXL��躴�M��tH�{P�<��H�CPL��蜴�H�sH��tH�����H�{hH�-@�'H��t�UH�{H��t�UH�{pH��t�UH�{`H��t�2��H���H��t�UH���H��t����H�EH��H��[]A\A]������H�8�����H�����f.��ff.�@AVI��AUI��ATU1�S1�H�� dH�%(H�D$1�I���#D�XHc�H�s�'H��H����H���AoI�FHc�M��M��H������H��A$I�D$�B��x&9�P���tH=��~����������H����H�5XYH�81���H��tH�Ѱ'H��1�H�T$dH3%(H��u-H�� []A\A]A^�f.��+��H�����H�5�X����DH��t;SH�Ӊ�H���H��H���H��tH���H���H�L�'H��[H����ff.�@��UH��SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H���f��t	H��|�:u!H�D$dH3%(uTH���[]��H��$�H��H���$H�D$H�D$ �D$0H�D$����H��H�����������UH��H��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$����H��H���H��tAH���1ɺH���H��tH�r�'H��H�D$dH3%(u!H���[]�H��H�5hMH��������w�����UH��SH��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H���f��~	H��|�:u H�D$dH3%(uSH���[]�fDH��$�H��H���$H�D$H�D$ �D$0H�D$����H��H�������耾���UH��H��SH���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$����H��H���H��tAH���1ɺH���H��tH�r�'H��H�D$dH3%(u!H���[]�H��H�5hKH��������w�����SH��H��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H��H������H�D$dH3%(u	H���[�裼���SH��H��H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�!����H��H���1���H�D$dH3%(u	H���[��ӻ���H��HH��tH������H��t#H���H��HH��tH��������SH��@H�S ���tH�CpH��u� H�@(H��tH�x0t�[�f����9BX|�;t�H������x�;u����������[�ff.�ATA��UH��S�GH����t;��t[]A\ÐH���H��t�H���u�D��H�����tԃ���ːH� H��t����u�H�Ǡ���H�S !���C���H����H��H	���H��tH�H��tH�H�G H��t&H�H8H��tH��tH�AH�1�H��tHcI4H�
�f�H�OpH��tgAT1�I��UH��SH��H��tH���{��H�¸����H��~H�U1�H��tI�T$pH�R@H��tH���H��t	H�[]A\Ð[�����]A\�fD������f.�H���wATI��UI	�SH��t	H����M����H��H��H��H��t���HǃH���H��t�����jHǃ�H���ǃH��t���Hǃ�1�M���H���5H���
��H���H��tH��H�V���H�5O���H�����H���o��H��H������H���H�������H���H���H�s H��H�V�ۭ�H��H���H���H��H�5����%��H���tH���H��H�����H�5�����>��H��HtH���H��H�5C����^��ǃ1��C[]A\�fD���uH� �i����������֐������fDH�s L���L��ǃH�V��H��H���$���Hǃ���ǃ�w���H����V��Hǃ��~���H����:��H���Hǃ��S���Hǃ��%������ff.��H����ATI��UI	�SH��t	H���M��t����H� �H��H���H��H��t������uHǃ�H���ǃ�H��t�O��Hǃ�1�M����H����H�����H���H��tH��H����H�5���H�����H��HtH���H��H�5W������H�����H��H���諰�H���H��t/���H���H��u?H������Hǃ�������[]A\�fDL���ǃ�H���tH���H��H����H�5
�������H��HtH���H��H�5�����8��ǃ�1�Hǃ��C[]A\�D���������f���H��t�ø�����ff.���H��t?H�GpH��t6H�t�fDH� t!SH���`�����xH�Cp[�fD1�[�@1��DATUS�GH��H�op��tM��t[]A\�H���H��t�H���u�H�C H��H�p�*������tŃ���@H�G H��t����u�H�UHH��tmH�zH��td���H�5.aH���8��H�uH���,��H�{ H��H��I��H�wH�Ǡ����H�S !��M��tH���'L���C�/���@H�MH�pH��H������H�S !���C�����H�����H��H���'���H�C H���H��H�p���H���������AVAUATUSH���|��H����H�CpL�h@���I��H����H��1�����H�CpH�hH��u/�fDH�3L��譾�L���E��H�����H�m0H��td�L��H��贶�I�����1�H��H���o��E1�1�L��L��H������u�L������H���g��L���_��1�H��[]A\A]A^ÐI�I�L���>��H��[]A\A]A^�f���ATUSH�����H��H��tbH�{p�H�o@tb�H���
��I�����1�H��H������E1�1�L��H��H������t8H�+H�L���>��H�����H��[]A\�fD����I���fDL��1����H�������@��H����H�GpH����SH�_xH��HD؋C��t��t]��t81�[�@����H��c���H��HH�5^H�81���1�[�DH� t��������t�H�{[�5�DH�{PH��t�[���1��ff.�f���AUATUSH��H���L�-��'I��H���PA�UH��H����H�xH��H�HǀHH��1�H)���P���H�H�C�dHǃ�Hǃ�H�k0���H���H���91�H������A�UH�C(H���
�H������H�C(H�5����������H�PpH�S8H�PxH�ppH�5���H�S@H�px�FH�CHH�CPH���H�5���H�SXH����H���H���H���H�S`H���H�C0�H�CpH�x H�Cx�j��H���8H�C0H�x �S��H����H�C0H�x ����H�{(M��1�H�¹���H�H�C H�ShH���kǀ�H���ǀ�ǀ8�Cǀ�H���ǃH���ǃ0Hǃ8H��H��[]A\A]�f.�H���H�5���H�SHH���H���H�SPH�5��H������f�H�{(M��1�1�1��.��H�ChH�C ����D�H��������fDH����T��H��'H���s��H����H�5�EH�81���H��1�H��[]A\A]�D1�������;��H�(����H�5lEH�81���������H�(���H�5LEH�81���H����ɢ�H�-b�'H�{(�UH��1�U���ff.���AT1�UH��S���H��t9H��H��I�����H��H����HH�@ H��tH��[]A\�D1�H��[]A\�fDH����L�c H��I��$tH��t�H���'H��H��[]A\�DH��t�H��軩�I��$�АL���h���fD��H���SH��H�GpH�Gx�H���H��t���Hǃ�H�{ H����H���H��thD���E��~\�����~-fDH�Ǡ1�1�1����H�{ ������H���H��H�ך'�H�{ HLJ�LJ����H�C H�pH��t�����t0H�@H�{01�H��t�C��u[��[��k1�[�H���h�H�C �¸�����ff.����H����USH��H��H���H��t�)��Hǃ�H���H��t�������Hǃ�H��H��t�H��HǃH���H��t�����#Hǃ�H���H��t�׷�Hǃ�H�� H��t����H��8H������,��~*1��H�<�H��t�:��H��8H��9�,�H�-@�'H��U�;uuH�{ H��tH���H9�����C�~H�{(H��t�UH���H��t�Q��H���H��t�UH���H��t���H�EH��H��[]��f�H��蘷��fDH�-��'�j���@������fD����x���fD�{���r���fDHǃ��C�M�����f��ff.�@��H����H�OpH����H�GxH�����yusH�A`1�H��t��~@��H�9�~H��u�H��u\H�AXH��tC9�~H�@0H��u�M@H�@0H��t'��9�u�H��H�pH�y@�����H��tH�����1��DH�x駥��H�=IH��閥�fD��AUATUSH��dH�%(H�D$1�H�$H����I��H����H�GpH��H����H�oxH�����x�~H��L���S��H�5�II��H����H�<$�7����H�CpH�X`H��t#f�H�{H��tL�������H�H��u�H���'L��H�<$H��t��fD1�H�L$dH3%(H����H��[]A\A]�@L�������H�CpH�@`H��u�f�H�H��t�H�xu�H�x�H��H���H�spH�$H�~@迦�H���W���H�PH�{pL������H���?���fDH�{��H���(����H�{pL��蔳�H���.��������H����H����H�GpH����AUATUSH��H�oxH�����x��I��H��H�5�H��I�����txH�5"HL�����H�CpID�H�X`H��u�D@H��uH�H��t3H�{H��u�H��tL���U��t�H�{H��[]A\A]���fDH��1�[]A\A]�H�{pH��L��L��[]A\A]����1��D��H����H�GpH���~SH��H�GpH�Gx�H� H��t$���H�C H�pH��t�����t'H�@�S��t7��H�C0H�C0�S[�H���(�H�C ��f�1��D��蛾�H��3��	H�<H�5�QH�81���1�[�D��H��tGH�GpH��t>H��H�x@H��H���k��H��tH�xH���ɡ�f�1�H���f�1��ff.�f��������H��ttH�OpH��tk�yueH�Q`H�Gx1�H��t��~@��H�9�~H��u�H��tH�Wx��f.�H�QXH��t9�
�ݐ��9�t�H�R0H��u�1��ff.�f���ATUSH�� dH�%(H�D$1�H�D$H��tFH��H��t>H�WpH�������H��t�zt71�H�L$dH3%(��H�� []A\���������f�H�t$H��賻�H�55EI��H����H�|$���H�EptVH�X`H��t&DH�{H��tL���o���H�H��u�H��'L��H�|$H���N����1��G���@H�XXH��t��H�{L�����tH�CHH��tH�xH�t$�����H�[0H��u��fDH������H�EpuPL�`XM������I�|$H�����tI�D$HH����H�x��M�d$0M��u�1����DH�@`H��u���f.�H�H���m���H�xu�H�Ex��Z������H�]xH��'L��H�|$�H���,����D$��D$����f�L�ex��
������ff.�f���H����H�����u4H��t/AU�����ATUSH��H�_pH��t�{t1�H��[]A\A]�@������f�H��I��H�5вH��I�����uDH�[XH��t�H�{H���l��tH�CHH��tH�xL���S��ujH�[0H��u�1��f�H�5�BH��A��+��I�EpLD�H�X`H��u�Z���H��uH�H���F���H�{M��u�H��tH������t�I�]x�� �����������H��tH�WpH��t1��zt�H�J`H��tH�Ox��DH�RXH��t�H�Wx��D��H��tlH�GpH��tc�xu H�WxH��tO�J��t/1���t��1��DH�R0H��t�H�Wx��DH�H��u�H�PX1�H��u����+������D�������H��tH�WpH��t1��zt�H�xt�H�Gx��ff.��������H��tRH�WpH��tIATUSH�oxH��t5�E��t$��t7H�E0H��tH�Gx�[]A\��H�EH��u�[1�]A\���L���H��M��tII�|$PH��tI�D$XH9�tH�ލ'�L���H�}���I�D$PH���H�Cx�[]A\�f�H�uH�z@�s��H�����f.���H��t9H�wH��tH�vpH��t'H���������Ԗ�@H�w H��t	H�vH��u�1��ff.���H��tbH�GpH��tVH�OxH��HD�1��yuE�W����t:H�QXH��t�H�R0��H��u�H�Q`H��tH���H��u��@1�ø�����ff.�@��H���H�WpH��t*H�GxH��HDƒx���@H�
�5Hc�H�>��1��D��f���f.���f.���f.���f.�SH��H������¸��tH�{p耙�������
[���f.��G������������	�f��
�f.���f.���f.�������f.��������H��tH�WpH��t1��zt�H�xu�H�zu�t�H��uߋ�(����Br���ff.���H����H�GpH���SH�_xH��HD؃{���CH�f4Hc�H�>��@H�CHH��t
H�xH����H�{[����H�=k3[�Ә�H�=�=�Ę�H�{t_H�5�HH������H�s[H������H�=
3[铘�H�=3[郘�H�=3[�s��H�=�2[�c��1�[�@1��D�K��H�5bHH���l��H�s[H���_�������H��tWH�WpH��tNH�GxH��HD‹P��t#����wH�x���f.����H�xH��u�H�=�<�×�1��ff.�f���H��tOH�GpH��tHH�OxH��HDȃyw5�AH�3Hc�H�>��f�H�qH��������髒�1��DH��������H�5�1鈒��H�QH���H����H�5�;���H�QHH�AH��t�H�rH��t�H���H�����H��������H�5I1� ��H��������H�571����H��������H�591����H��������H�51�ȑ�������H�5;鯑�ff.�@��H��t/H�GpH��t(H�WxH��HDЋB��t����w;H�B�fD1��DH�BH��u�H��������H�5�:�?��������H��tGH�WpH��t>H�GxH��HD‹P��t3����w#H�PHH��tH�RH��tH��陕�f�1��DH�xt�H�=3:�u��D��H��tGH�wpH��t>H�GxH��HDƋP��t3����w#H�pHH��tH�vH��tH���������p��1��DH�xt�H��������H�5�9�I��f���H��t7H�WpH��t.H�GxH��HD‹P��t#����wH�PHH��t
H�z鱔�1��DH�=�霔�ff.����H��tGH�WpH��t>H�GxH��HD‹P��t3����w#H�PHH��tH�rH��������镏�D1��DH��������H�5���p����H��tH�wpH��t1�釔��1��ff.�f���USH��H��tQH�wpH��tHH��1��N��H��H��t6H��������H�����H��H��H���'�H��H��[]�f�1�H��H��[]�@��H��t2H�pt(H�Wx���H��t�R��1�������D�@1�ø�����ff.�@�������H��tH�GpH��t9H�WxH��HD�1��zt�DH�zX�u�1�H�z`���f�1��ff.�f��������H��t4H�WpH��t)H�GxH��HD‹H1���w�H�ੜ�����1��ff.�f���H��tPH�WpH��tGH�GxH��HD‹H��w4�H��˜u��u6��tH�x�5��DH�PPH��u1��@H������H�P(H�pH��tH�z@����D�1����@��ATUSH����H�_pH��ttH�oxH��HD�1ۋM��w_�H�੘ub�tnH�EH��t
�x��I��H���H��tl臸�I��$�H�����I��$����H��H��trH��[]A\�f.�H�]PH��[]A\�@�t�H�]H��[]A\�D1���@�d薢�H��I��$�H��tb1�H���l���p����I��$�H�I4���d�R��1�I��$�H���0���Y���H�x0����H�XP�B�����H�(藭�H�5X+H�81����"���@��1�H������Ð��H�����"�f���H��tH�pH��t�I��f�1��ff.�f���USH��H��tIH��H�pH��t=���H��H��t0H��������H���4��H��H��H���'�H��H��[]�1�H��H��[]�ff.����H��tH�����������fD1��ff.�f���H������f���H��twH�O H��tn����~3������uU��4��tk���A��41�����u+��t7���1���u ���uǁ��f.�������f.�ǁ�1�����A��41��D�����t>��1�����f���4��tFǁ�����41��G�f�����z�����1�����f�ǁ���41��f.���H��tOH�W H��tF��tI~��tR��u5�B�f���u#������u���1������fD������f����������G�ff.����H��tH�G H��tH�@8H��t�@4Ð1��ff.�f���H��tH�G H��tH�@8H��t�@8Ð1��ff.�f���H��tH�GxH��t�DH�Gp�1��ff.�f���H��tGH�GxH��tF�P��	t
��tf�HrH�P(��@H��t@�zuf�JrH�R(H��u��1��DH�GpH��u��ff.���H����H�wH�GxH���NH�G H����AWAVAUATUSH��H���/����L�opD�g�hXL��H��ue�fD�q�v��	�!�H�JPH9�tH��t
H;H(�������H��胾������H�CpH����H����H�x0��H�S 9jX��A��t�L�pM��t��H��t�A�~�c���I�~0�X����k�����"H�C H�xP���;��{�H�������y���C�����H��[]A\A]A^A_Ð1��t}H�GpA� @�D@�t|�P��vjH�HH��tk����QH��H�Op�Gf�����w(H��u�H�FH�����PH�Gp�G����vظ�f.�I����H�H0H��tH�Op�QH���G�f.�H�H(H��t/�Q�Ѓ��	�.H�OpH�ȃ���G�\���@�G�P�I���f�A����L�pM�����H��w� @H����f�L�sp����C�C@H�PH���L�rL�spM����CE1�E1�ǃ�ǀ�M����I�~0�����ts��(��uiA�F��udI�FHH��tvH�xH�5LC菹���H�� �!H��聜�H�����H�spH�� ��L�spM��t_�A�F���k��������L�spA�F��tlD�KE���|�����C����tH���#��D��,E��~�C�����e�{��H���[]A\A]A^A_��H���H��t
L9p���K��u���,�����1��;��H��[��]A\A]A^A_��H�x0��A�����xuH�x��D�CE����D��@��~
�@r�DL�p0�CL�sp���$�����(������D���E������M�~8M�������A����A�Gr���M9�L��LD��(��L��H������L�sp���@H�PH��tH�RH�SpL�spM���x�������D�G1��fDH�x0��D�sE��t
�x����@��~�@rt	����@L�p(L�spM��tA�F���	���;t&H�{ �1�H�55*����C���T���H�Cpǃ�����M��tJ��@��u@D��(E��u4D���E��u(A�}t!A�EruL���
��L��H�������C1����f.�A�������S���#����x����H������H�Cp����D��E���U���H���H���E����+���������-���H�HH��������������G��D����@���f�A�F�������H��踘�H��������L�sp���9�����(���+���M�����������1��@H��9�,�����H��8H�spH�<��D��u�H���7���]���f�H�S H��������z���S�����M���@f�����������I�GH��t:I��M���M9��vA�G��u�I�GH��t
�x�cM9��QI�G0H��u��D��tCM9��3I�G0H��u�M�(A�G��u܋������L�{pH���:���A�G�@H���H��t�L;xu�������l���H���1�Hcȉ��H����tH�t
�H�
H���L�8H��a���@L�sp����H�P`L�2L�sp������(H�Cp���A���i����x�r���H�x�:�{���\���H���n���H�Cp�K�����(볃��������I�~P�Ǐ�I�vPH�߉��I���d���I�P諏�I�wPH�߉��-��I�GH���N���A��}���H������p���L�{pH���<����D��@E��u*D��(E��u�����uM�~ M��tA�Gr������C���I�w H��u/�M���H��H�t$�#��H�t$H���ּ��I�w H���#����Frt������@r�:�����(���,����CI���~���L�sp�)���H�x�����L��H���(���I�GL�x�L���I�FH��������x���H�x���L��H�����H�CpH�@L�pL�spM�������������������H���1�Hcȉ��H����tH�t
�H�H���H�H�H�Cp�������H�CpH�5Y;H�@HH�x�t����������@r�������H�C H�x�+��DH�� H�ǁ�����u����1��L��蟧�L��H���T���L�sp�7������������H�����W1�����SH�GpH��H��tH�H0��t2H��tH�Kp��C[���G�$��H�CpH�H0H��u�H�@(H��t �x	tX���H��H�Cp�C�n����C�[���H�GH�@H��tH�Gp��G[�f��C1�[�D��H��tDH�t=�t*H�GpH��t)H�P01�H��tH�Wp��G�D1��D����������ff.�f���H��tlH�uXUSH��H�_pH��t�{u�G����t	H���CrtH��[]��@H9]pt"H�����t�H��[]�fD�S���H���ĸ�����D��H���)H��� UH��H��1�SH��H��H���H���:��H��H������0��~\H��8��,9�|-�H��n'��0Hc�H���H��H��tH��8��,Hc�H�,׍P��,H��[]��H�!o'� ǃ0�H��H��8H��t��0�y���衚�H��9��H�5MH�81��Ӹ��������H�(���H�5?H�81��Ջ�0�������0������d������fD��H��t/H�GH��t�DH�G H��t�H�@H��t�LJ��1��D��ATUSH���_H��H��H����D�'E���DH���H��t�3��Hǃ�H���H��t�������Hǃ�ǃ�H���1��H���H����H���tH��H�����H�5����H���N��H��HtH���H��H�5���}�ǃ�Hǃ��CD��[]A\�f.��k���X���fDH���H��t�O��Hǃ�H���H��t�����t&Hǃ�ǃ�E1�[D��]A\�fD����ӐA������s���D��ATUSH����H��H��H���8D�'E����H��H��t���HǃH���H��t������Hǃ�H���ǃH��t蘋�Hǃ�H��蕧�H���H���iH�s H��H�V��s�H��H���H���H��H�5����v�H���tH���H��H�����H�5�����8��H��HtH���H��H�5=���X��ǃ�CD��[]A\��������fDH��H��t���HǃH���H��t����t>Hǃ�H���E1�ǃH��t��m��Hǃ��v���D�~�뻐A������^���H���A������3��H���Hǃ��L~�Hǃ��%���H���A�������Hǃ�����f.���H��1��B��f���1��5��D��H��1����f���1����D�������H��tH�WpH��tH�GxH��HDƒx�������H��t9H�wH��tH�vhH��t'H���������t�@H�w H��t	H�vH��u�1��ff.���H��t)H�GH��t�@L�f.�H�G H��t	H�@H��u��������H��tTH�GPH��tH��H���R��H���DH�W8H�zt
�B4�f�HcG@��~�H�WHH�T����H��u�ø�����ff.�f���H��tFH�wPH��t1���x��H�G8H�@H��tH���+x�HcW@��~�H�GHH�D��H��u1��H�@�����SH�G H��H���H�H����L�Z���L�
����Hǁ�L�q���L���L���L���H�
U���H���H���HǃHH���H��t'H����H�5���H���ڑ�H���H��1��Ix�H���H����H��H�߹��H�5ػ���c��H���H��1�[鑫�H�Ye'H���H��f'H���H��h'H���H�oh'H���Hǃ�HǃHHǃ�H��t1�1�H���&��H���H��1��w�H���H��u	[��H��1�1��L���@��SH�G H��H���H�H����L�����L�
���Hǁ�L��L���L���L���H�
շ��H���H��HHǃ�H���H��t"1�1�H���d��H���H��H�53�����v�H���H����H��1�1����H���H��[H�5������H��c'Hǁ�H���H� e'H���H�Jg'H���H��f'H���Hǃ�HǃHHǃ�H��t1�1�H��裏�H���H��1��v�H���H��u[�@H��1�1��4��H���H��1�[�b��f���H��tU�G��t��t:H�W 1�H��t	���t�D���1������f�����f���1�����ø�����ff.����H��t
H���H�H��t
H���H��ff.�f���AWAVI��AUATUSH��H���eD��H��I��I�́�E��H�GLJ���D�GH��tH�0�CH��t��:��L�s0�CH���H����1��D��H�{(H�����}��H�C(H�52����������H�PpH�S8H�PxH�ppH�5����H�S@H�px��H�CHH�CPH���H�5u���H�SXH�:���H���H���H���H�S`H����H�CpH�CxM����H�C0H�x ���H��� H�{ H���L��|�1���f�H��H�D$tH�{ �y�H�T$H��I���M����L��H�T$葥�H�T$I�FI�H�z L����H�{ L����t��ClL�s M��u1�؎�H��p��H�51
H�81��Ӹ�����^�L�s H���I���H���-H���<H9�t��L�s I���H���H�� I���Adž�Adž8Adž�Adž�H��t��Hǃ A���4ǃH��8ǃ(�r��,Hc�H������$�H��8����,H�<H��H��us���@��t�CH�{ ���_��M��tL���2l�H��tH�{ H���e�M��tH�C H�h8H��tH�}��H�C1�H��[]A\A]A^A_��x�Hc�,H��8H��H���<���DH���H�5ҡ��H�SHH���H���H�5I���H�SPH�������f�ǃH��������H�5�-���k�H�����@H��`'��H��H�C(H���c������DHǃ,1����fDH���H������I�������L����7��H�{ H�������H�@�����f��C�����H�C0H�x �~��H��vyH�C0H�x ��H�{(M��1��H���E}�I��H�C H�H�Ch�����d�р�H��H���H���c������f�L���o�H�E����H�{(M��1�1�1���|�H�ChI��H�C �w����$��I���L�s I�������H���r���H���|���������H���j������f���H��tH� H��t�	��f�H���������USH��H����H�_'H���P�H��H����H�xH��H�HǀHH��1�H)���P���H�H�C0ǃ��H�ChH�CpH�CxH�kH�C��H���H��H��[]�1���@�#��H�(車�H�5TH�81�����ff.���ATA��UH��S���H��H��tE��H��1�1�H���3��H��[]A\�ff.���AVE��AUI��ATI��1�US脞�H��t?L��H��H�����H��H��t9�HE��L��L��1�H���҈�H��[]A\A]A^�fD1�H��[]A\A]A^�f�H��蘍���fD��H��t?AUA��ATI��UH��SH��H���<y�H��E��L��H��H�߉�[]A\A]��f��1��D��AVAUATUS��x`H��1�A��I�����I��H��tHH�@H��H�����H��H��t=�HE��L��H��1�H����H��[]A\A]A^�f.�1�H��[]A\A]A^�f�L��踌���fD��AWAVAUATUSH��H��tlH��1�E��M��H��I���S��I��H��tCH��H��者�H��H��tH�HE��L��H��1�H���a��H��H��[]A\A]A^A_��M��tH��A��1���f�L�������fD��H����H����UH��SH��H��H�0H��t���H�{ H��t�"u�1�H���ǃ�H�C0�H�ChH�CpH�CxH�kH�Ct
H��[]�H�S H��tH���H��tH���H��[]�D��{�H���H��1�[]ø�����ff.�f���H��tXH��tSAUA��ATI��UH��SH��1�H��H�����H��tH��E��L��H��H��[H��]A\A]���H�������[]A\A]Ã��ff.���H��t]H��H��tUAU��I��1�ATH��E��UL��SH��H�����H��tH��E��H��H��L��[H��]A\A]�z��H�������[]A\A]Ã��fD��H��tGH��tBAVI��AUE��ATI��UH��H��SH����u�E��M��L��H��H��[��]A\A]A^��D������f.�����xaH��t\AU��1�E��ATI��UH��SH����H��袜�H��t&E��L��H��H��H�@H��H��[]A\A]駄�H�������[]A\A]Ã����AWAVAUATUSH��D�|$@H��tXH��tSI��H��H��H��1�L��H��H��M��M���
��H��t"H��E��L��L��H��H��[]A\A]A^A_�&��H��tL���H�������[]A\A]A^A_���GP��~y��SH�_XHcЉGPH��H�����H�L�HD�H�H�OH�Ct;H�{H��t	H��Y'�H�{ H�CH��t	H��Y'�H�C �C[�f�H�GH��AVA��AUI��ATUS;wP}kHc�A��H�,�H���I�]XH�Ct;H�{H��t	H�;Y'�H�{ H�CH��t	H�!Y'�H�C �CA��H��(E9eP�E�uPE��I�EH[]A\A]A^����H��t7USH��H��H�-�X'H�?H�EH��t��H�EH��H��[]��f.��ff.�@H����USH��H����Ob�������@uK���uW������H�5UHc�H�>��H�{0���������u�Kb��@�f�KbH��[]��ɀf�KbH��1�[]�H�k0H��twH���_�����uRH�m@H��u���f�{`�t�H�k0���f�C`H��t:H���"�����uH�m@H��u��u�������v���f�Kb�H��1�[]Ð������\���fD��u8H�o0H��t/H��������uBH�m@H��u��Cb�@f%�D�f�CbDH�{P����1�H�{�����fD��u��Cb���f�Cb�̓��f�H��t;�Wb����1���u,�����wUH�
%SH��H��Hc�H�>��������f.���u
�Sb��1�f�SbH��[]��H�0�����t׃�u��Sb��f�SbH���[]��H�o0H��t�H���O�����u�H�m@H��u����H�o0H��t�H���'�����u�H�m@H��u��i���D������g���fD��f.�H��tSSH��H�H��t���H�{H��t����H�{8H��t1��Kj�H�{0H��t1��;j�H��U'H��[H�����H���gAVAUATUS�?H��H�o(t{H��tf�����L�%LU'���"H�{H��tA�$H�{H��tA�$H�{ H��tA�$H�{hH��t��Y�I�$H��[]A\A]A^��DL�%�T'��H�wHH���x���H��t�H�E0H��t�H�}��H�k(�[���fDH�}L�%�T'H��tX�UI�$��~KE1�f.�N�4�M��t+I�~H��t��I�$I�~H��t��I�$L����H�}I�$I��D9m��H�}H��t1���h�H��A�$H�k(H������������1�H���h�����f��ff.�@H����AUATUSH��H��H�L�-�S'H��tA�UH�{H��t�_�H�k H��tIH�}H��t�q_�H�}HH��t+�E@��~ E1�fDJ�<�I������D9e@H�}H�A�UH��A�UI�EH��H��[]A\A]���ff.�@ATI��UH��SH�~H��H��t
H�r聑�tH�}H��t.�?H�CHuH��t 1�[]A\��H��t�H�p�J��t�H�EPH��td���tn��u1H�hPH��t�H��H��L���z�����t<��x�H�m@H��u��fD�;}�H���}�#H�CH�5H�81���[�]A\��H�h0H��t�H��H��L���������B������<���H�m@H��u��DH��H��H��tdH��H�1�H��tF�@ H�H��H�dMA�E1�QP1�jjjjQ1�jjjj�l�H��h�f.�H�p�f.�1�1�1���AVAUATUSH��t3H���H��t'�Gx��~ ���GxH�H�,��EH��[]A\A]A^Ð���L�5QP'I��MލC�H�L�,�L��A�H��H��t(�I�}��XA�H�EH��t'[H��]A\A]A^�H�5�L���������H�5��L�����H��P'H��1�뺐H����UH��SH��H��H��tyH���H����HcWx�O|9�|-�4	H��H��N'Hc�H���H����H���HcSx�c|�J�KxH�,�H��[]�DH�5:�H���)���H���H��uEH�VP'H�}�H�H��H��[]��f�H�(H�GxH�O'�@�H���H��t�HcSx������H�5�H������ff.�@UH��SH��H��H���H��t`Hc�����9�|.�H��H��M'���Hc�H���H���H��tPHc���J���H�,�1�H���H��[]�@H�AN'LJ�
�P�H���H���x���H�5�H����������f.�H��H��H��tdH��H�1�H��tFH��@DH��tUH��H�?JA�E1�QP1�jjjjQ1�jjjj�Zi�H��`H��ÐH�p�f.�1�1�1�H��u�H�RIA�E1�1�P1�jjjjjjjjj�	i�H��PH���H��I��H��tTH��H�1�H��t>�@DL�AQ1�APQ1�jjjAQA�APM��jjjRL���h�H��h��H�p�f�E1�1�1���H����AUD�jATI��U��SH��H���-��C`f���tn9����1�H�[@H��t/��t+��P���t�H�s0��t'��L�����H�[@����H��u�H��[]A\A]�@D��L���m��������fDf�k`H�s0��L���N����������f�S`���|���H�sL�CL��E1�H�
�K���H�������[]A\A]�f�1��ff.�f���H��锏�@��H����M����AWAVM��AUI��ATI��UH��H�5VSH��H��L�D$�]�I��H�����+��H��H����H�5�CL����t\��L�k1�H��L��H��肐�u|H�T$L��H��L����N�H�߉��!��1�������H��[]A\A]A^A_�f�H�51CL���Q��t
���DH�5CL���1��t���l���H��躇�����H�5�BL�����t
���<���f�H�5CL�����t������H�5�BL���É�t�����H�5a8L��襉�t��������H�5�BL��胉�t�����H�5_BL���e��t�����H�5�
L���G��t�����H�5:BL���)��t���d���H�5&BL�����������B������H��t^ATUSH��H��tKH��H�5�SM��H���[�H��t1L��H��H��H��� g�t1҅���څ��E�[]A\����������D��AWAVAUATUH��SH��(dH�%(H�D$1�H��L�l$`H�D$H�D$��M�����u\H��H��tTH�5=SI��M��L����Z�I��H��t7M����L�d$H�T$L��H��L���^f�t:H�|$L9�t�;�������H�L$dH3%(u{H��([]A\A]A^A_�@H�|$H�t$��]�H�|$��L9�t���H�|$����t�1�������H�T$L��H��H����e�u�H�|$�L����p����3Z�SH���@H��H��G'�H��tf�@@ @0H��[�@1�H��H�D$���H�D$��f�ATUH��S���H����L�%aG'H�H�����A�$H���H�����pA�$H��H����H�xH��H�H��H�@h1�H)���p���H�Hc��H����p���H�������f�B`H��H�Z[]A\�f.�;��.����H�H���H�4�H��E'�H��tH���L�%�F'�G���fDH��H�5s��i���1�[]H��A\�ff.�@USH��dH�%(H��$�1�H��H���D$HD�H��HDЃ�'�9����H�=��Hc�H�>��@1�fDH��$�dH3%(�H��[]��H�l$I��L�	�f�1����H����I�|$�nH��Ƅ$��b�H�|$H�D$�ma��x����H�l$I��L�y���H�l$I��L�����H�l$I��L���l���@H�=X��b������H�=(��b�����H�=����a�����H�l$I��L�������@H�l$I��L�����@H�l$I��L������@H�l$I��L�������@H�l$I��L�I����@H�l$H��I��RL���1���H����+H�XZ�|$�����A��L���H��1�������G��j���fDH�l$H��I��RL�L��f.�H�l$I��L�	�����@H�l$I��L�����@H�=���`�����H�l$I��L�I�����@H�l$I��L�	����@H�l$I��L�����@H�l$H��I��RL�$�����H�l$I��L���\���@H�l$H��I��RL�������H�l$I��L����$���@H�=Y���_������H�=��_�����H�l$I��L�:�����@H�=���_�����H�=���t_��o����H�l$I��L������@H�l$I��L�e��|���@H�l$H��I��RL�T������H�l$I��L���D���@H�=����^�����H�=4���^������"T�f�H��t+�����w!UH�!�H��SH��H��Hc�H�>��@��H����H�=���~�H�s0H���H��H��	[�H�=��]�d~�@H���	�H�=T��G~�H�s0H���;H��H��
[�H�=4�]�~�@H����H�=���}�H�s0H����H��H��
[�H�=��]��}�@H���
�H�=���}�H�s0H���H��H��[�H�=��]�}�@H����H�=���o}�H�s0H���cH��H��[�H�=��]�D}�@H���
�H�=���'}�H�KH��tH����H��1��}�H���H�=���|�H�s0H����H��H��
[�H�=��]��|�@H���
�H�=q��|�H�s0H���H��H��[�H�=U�]�||�@H����H�=��_|�H�KH��tH����H��1��|�H���H�=D��'|�H�s0H���H��H��[�H�=��]�{�@H����H�=e���{�H�KH��tH�X��H��1��@|�H���H�=�{�H�s0H���H��H��
[�H�=�]�|{�@H����H�=���_{�H�s0H���SH��H��
[�H�=��]�4{�@H����H�=���{�H�s0H���H��H��[�H�=��]��z�@�si�H��j�H�{�H�5��H�8H��I��1�[]A���H���
�H�=)��z�H�{tRH���H�=��wz�H�KH��tH���H��1���z�H�KH���H��1���z�H�sHH���2H�s0H���&H��H��[�H�=��]�z��H��H����[H�=k�]��y��kh�H��i�H�s�H�5��H�8H��I��1�[]A���H��H����[H�=�]�y�f�H��H���	�[H�=��]�ay�H�v0H��[]�T@H���
�H�=l��7y�H�s0H���+H��H��[�H�=P�]�y�ff.��H��t3UH��SH��H���H��H�����H�[@H��u�H��[]�D��AVAUATUSH����H��H����I��H�I�A�,$�E��w2Hc�H�>��H�
u�@H�i='H����H�81���x�1�[��]A\A]A^�fDM�d$0L���E1�M���gL���L��H���^����Ņ�u)H���M����H���L���Z�M�d$@M��u�L����fDL���H����t���fA�|$`��g������L���I�l$0L���fA�T$`�__�H���H����H�Ǿ�R`�H����&>�H���H��tH��H�����H�m@H��u�H���H���H���h�H�����R��XH����pn�I�D$h�BfDM�d$0M���i���f���������fDH���H���1��{Y�H����v��������H���Hc�H�>��fDH���H���1��3Y�I�t$0H��H���H�����H���E1�H���H�
��H���M�H���H��1�1���X�H������DL���M��t1I�L$H��t'H���L��M��1�M�D$�I>�L���H���A�D$b@t
fA�|$`��vL��H���;L������t���DM�d$0M���_���L��H������Ņ��L���M�d$@M��u��;���fDH���H���1��X�I�l$0I��H���H��H��tH��H�����H�m@H��u�H���H���L��1���W�H���L��1���W�H�����[]A\A]A^�DI�l$0H���*H��H���7���H�m@H��u�I�l$0L���H���/H��H������H�m@H��u��p���L���I�l$0L��H��tH��H�����H�m@H��u�H���H���L��1�� W��"���I���w������L���I�l$0fA�D$`�\�H���H���D���H�Ǿ�]�H�����:�H���H��tH��H���T���H�m@H��u�H���H���H���5e�H����9k�I�D$hH����:��H���1��T�L���L����Z���H�
כ�/���H�
���#���H�
�9����H�
5�����H�
�����H�
���H�
m����H�
�$����H�
8b����H�
�9����H�
����H�
�S���H�
����H�
����H�
�$���H�
��{���H�
k8�o���H�
���c���L���L�����1�����I�|$h�;�I�D$h����L���Y���f�H����USH��H��H��t:I��L�
��A�1��у��tp����wIc�L�>��fDM�@0M��uи����H��[]�H��1�[]��I�h0H��t�H��H���|�����u�H�m@H��u�H��[]��L���h��A�@b@tfA�x`�uA��q���Hǃ�H��H��L��[]������ÐATUSH���H�WpH��I��H��t���~���H�RH�H���6DH�a4'�8�H��H����H�@0f�@@ �oM�CH�{0�oUS�o] �C[ HcU��~=H��tF9�}'HcuH�'3'H���H��H��tI�EH�{0�CHcUH�u0H���W�H��[]A\�fDHc}H��3'�{H���H��H�C0H��u�H�5o�L���q��C��1��@H�5G�L���I���AVAUI��ATI��USH��dH�%(H��$�1�H���?H�^XH���G1��hH��wH��H�[0H��H��u�I�UpH��t���~���H�RH�L�4��7fDH��2'�8�I��H����H�@0f�@@ I�F I�F(M����I�D$M�&I�FA�F��tFI�~0H���A9n��A�n����I�D$XH��tI�V0@H�H�@0H��H��u�A�nH��$�dH3%(L���H�İ[]A\A]A^�f.�I�E0I�^I��f���H�0�gq�H��H����1�����@H��0'Hc�H���H����I�F0A�nA�n���H���Hc�I�N0H��H�,�H�$H�yH���H��H�T�H�T�H)�H)����H�A�n�&���fD���M�A�FH�H�<�H�81'�I�F0H������f�H�5��L����������E1������_C�ff.�@���t91��� w,H�&H��sf�H�����t< w	H��r�1��D��f.�H������B���v_H���#�H9�tjH�P@H��tXH�Ћ�J���v7��t3��
��	w�H�H0H��t�H��DH�B8H�R@H��u�H�ȋ�J���w�1��H9�tH�P@H��u�H�@8H��u��ff.�H��H��tH�W@H�P@��H��tH;~0t-H;~Ht7H;~Pt������H���fDH�W@H�VP��H�W@H�V0��H�W@H�VH��H���'AVA��
AUE1�ATI��UH��SH���+f�{`�t�����H��L��f�s`H�s0���H�[@H��t?��P���t�H�k8��tF��uyH��t�E�P�������vBI��H�[@H��u�[]A\A]A^�����<H��tՋE��w�I��� ��u�L��H��H�����I���l���DH�s0H��t
H��L�����������H�sHH��tH��L�����H�sPH��tH��L������������P�wvH�S0H���H�z@t:�����H����!Є������E�P������������@���H��L	��\H�C@M���iH�B@�H��I�U@f������H�C0H��������8�������@H�sPH���7�������H����!��f���f�H�S0I��H��t�A�L$D��ucL��������uGH�S0H�KHL�B@H��L�C0L��H�H@H�CHM��uNj�P��]���DH�������L�C0L��M��t�I�p@H��u�f.�I��I�p@H��t3A�T$D��u�H���C�����u�H�F@I�@@H�CHH�F@H�sHI�p@H��u͋�\���f.��E[]A\A]A^������I���I����E���H�U0H�[0H�C@������H�����������ff.�@���t#���t��t����t
��u
��u��������f���� v1H�&��taf.��� vS�WH�GH�DŽ�t@��H�&H��s�H��@H����� vDH�&H9�t�D��u<��H��s�H���H����� w�H��r��t��H��r����� v�H��D�H����H��s�f.��PH�H�� vH�����H��sH���݄��i�����AWAVAUATE1�USH��H��t,I��I��H��I��H�k0H�CHM��t)H��t�{tvH��H��u�H��D��[]A\A]A^A_�@H��t݃{u�H�{H�5*��
j�tQH�CHH�5�H�x�i�t9H��A��c`�H���Q��f�H�{H�5���i���H�{H�g����{�]���H�{H�5���i��E���H�CHH�5��H�x�wi��)���H�ShH��tVH�BH�T$H��tHH�@H��t?H�xH�5���?i�H�T$��t&H�z�=i�1�L��L��H�P������DD�H�SL��L��L���~������DD����DH�CHH�5��H�x��h�����H�5�GH���]@�H���n���H��H�D$����H�T$L��H���h�H�T$��uH�7*'H���7���H��A���^�H���O�H�T$��I��H��tI��F�P���v-�P�v%����w&A�uH�~PH��t�����tDH�v0H��u�H���ff.�H�G H��tWH�W(H��u
�L@H���8u�H9�u���8uH��H9�u�H�G 1���H�G 1��f�H�G 1�H�G(�ff.�f��������H��tBSH��H�5H���_g���t��[�f�H��H�5��Ag�1�[�������fD���ff.�f�UH��SH��H���>��H���H���8u�H)؍xHc�H�/)'�H������� v\@H�&H����� �H����t(�� w-H��s'�H����� w�H��r��u��H��[]�H����H�&H��s��H����� w�H��r��y�����Q���H�5��H��H�D$���H�D$�@��AUATM��UH��SH��H�5�H��H���e�tH��L��H��[]A\A]��e�H�5v�H����e���L��H���e�ueH����H��1����I��M����L��1��l���H��H��tDM��t?H��L��1��re���H�''L��H��tH�''H��H����[]A\A]������M��u���@�������f�M��t�L��1���������H����H��t�H��H��&'��������USH��H��H�-�&'H�0H�EH��t��H�EH��H��[]��f�H����AUATI��USH��H��H��tpH�opH��tQHcU�MH�E9�|(D�,	H��H�,$'Ic�H���H��tVH�EHcUD�m�J�ML�$�H��[]A\A]�D�(���H��H�CpH��u�H��L��[]A\A]�0�����H��H��H�5��[]A\A]�_��ff.�@H���GH���>AVI��AUI��ATI��USHc�NH�F9������#1���H��9��H�,�H��t�I9���H�MI9$u�H�}I9|$u͋uA9t$u�A�L$;Mu�H�}(I9|$(u�I�|$ H�u H9�t�3c���A�L$��~BI�t$0H�}0H�H9�����H����H��H��H;T��~H9�u�L��L���%���1�[]A\A]A^�f.��	H��H�s"'Hc�H���H��tKI�EIcUA�]���@������f.��JA�ML�$и[]A\A]A^�I�EIcU����H�51�L�����������n����AWAVAUATUSH��H����A��I��H�|$H��1�E1�E1��3��H���v@��
��	w
H�C0H���I9�trH�C@H����H�ËE��t�A������	u�M����D9�$�H�q!'L��uHc�H���H����I��Ic�A��I�\�I�D�I9�u�H��L��[]A\A]A^A_�f.�I9�t�H�C@H���m���H�[8H��u����H����l����H���� ���M���`����H��!'�X�I��H��tQ�
�b����H��DH�Y8H�I@H��u����H�|$H�5���U��H�n"'L��E1��5���H�|$H�5���0������E1�������H��t'H��H��H�5�+�43�H����H�����fD������f.����Gcu~ATI��UH��SH�F0H��H����H�0u5H�x0H��t\H����0�H��tO�H�C0H�[XH��u�[]A\�fDH�wI��E1�H�
_��[H��]A\���fD��H�sM��[H��E1�]H�
j��MA\����fDI��H�wE1�H�
������UH��H��SH��H��H��f�ObH�E0H�x8�'^�xH��[]�@H�E0H�sH�x8�0�H��tH�PXH�SXH�XXH��[]��L�CE1�H�

�M��tH��H��J1�[]�0��E1�H�
���@AWA��L��AVM��AUM��ATUH��SH��D��H��H�T$L������H��t{I�ċCD��tiH�{H��HDl$1�H��tm�C H�I��1�AVA�1�AUATjjjAVAUjjjAW�:�H� 'L��H�H��x[]A\A]A^A_���D�{D�f�H��[]A\A]A^A_ÐH�s�f.�AWE1�AVE1�AUATI��USH���GP��\�DA�Et<I�}H��t	H��'�I�} I�EH��t	H�g'�I�E A�EI��E9|$P��I�\$XK��L�,�A���I�UA�uI�}M��tbA�G�1�H�L�H����H��(H9�tGI�\$XH�93u�H9Su�H�sH�L$�7]�H�L$��u^H��(I�UA�uI�}H9�u�f�A�D$8uI�MM�M I��L������A������@A�D$PH��[]A\A]A^A_�H�s I�} H�L$�\�����I�UA�uI�}H�L$�@���H���W�G8��LAV��AUI��ATI��U��SH��H����tU�GP���BH�K`H���H�H�IH��H	��
����H��M��M���H��[]A\A]A^�>���fDH�XH���#�ST9SP���H��'D�D$�STHc�H�4�H���H�CXH����HcSPD�D$H��H�D��H�CHH��tH�S`H��t
H�2H9p�SH�{XHcCPH��L�4�A�.E����M�fM�n A�FH�C`H���H�H�@I�VI�F�CPL�sHH��[]A\A]A^�fD��H���1����f.������C8�����H�CH�I���H��H��H�51�[]A\A]A^�\��@H�D�D$�@H�CPH�Y'�D�D$H��H��H�CXt�HcCP�STH�CH9���������f.�L���X*�L��I�F�L*�A�FI�F ��I�FI�F���;(�������AUATI��UH��SH��H��H�vH��tH�z�Z��SH�sI�D$HH���	�>��H���H�x��Y��H�CPH��������6���oH�XPH����D�m8D����E8H���"f.�L��H��H���B������Y���9H�[@H��u�H��t�����E8u
H���=���DD�m81�H��[]A\A]��H���I���H�SH����H��E1�1ɾ�h���H��1�[]A\A]�H������H�SH��u�H�CPH������H���[]A\A]�f�I�L$H�SH��E1��
�D$�����D$H��[]A\A]�@H�X0H����D�m8D����E8H��t*�L��H��H���"�����te��x!H�[@H��u�H���n���D�m8�e���fDH�����D�m8H��[]A\A]�H��u��=���fDE1�H���t���1����DH����������f.�I�T$E1�1ɾH���)���1����f�H�KI�T$E1�H���D$�����D$�X���f.�E1�H�����������EP���%���1�H��蓿������fDI�T$�4����C�H��!D�$&H���H�5��H�81��Ӹ��������ff.�f�SL�O`A��I��I�qH��tH�8��I�AH��uyA�A��~7I�y0H�7H��u^�H��H����H��H�t�H��u��H9�u�1ۉ�[�D�Љ�E��t�I�H�VE1��L��H�H������[û�����ջ����E��t�H�HI�E1��L��H�P����f.�H����H�GhH����D�E���~S�@BL�XA�Z�1�H������D����`E��u[H�HH9�t:H��I��A��H��t��A��H�yu͋I9�|E��tΉ�Ic�H�HH9�u�A9�~���u[�@��IcѾ���fDI�Ӿ[H�G`�e���DAT�I��UH��SH��dH�%(H��$x1�H��$�H���H��EDŽ$�	��tF��	tA�������O�JA�H���A�H�8H�O�H�5��1���1���A�<$��H�EH��H��HD�H�D$@H�EH��t	�8�H�D$xH�T$0L��H���S�����tH�}PH��t�L��������t�f.�A�$��t	��	��I�D$H���H��HD�H�D$@H��H�D$xI�D$H�����8��H�D$xH�T$0H��H��������tI�|$PH������H������f��H��$xdH3%(��H�Ā[]A\��H�}0�G������>���1��f.�H��H�D$H�T$x���fD��?�H��[@�*�t����H�T$�H���fD1��>���h���H�D$�(����1&�H��tsATI��USH��t?H�?H��t6H�6H��t.L��H��u�4@H��H�3H��t$H�}�����u�[]A\�f�[�]A\�fDH��H�}t�I�4$����f�H��t���t��t�fD�Fb u�WD��u�AWAVAUATE1�USH��H�FHH��t�H�@@A��H��u�H�F0H��tf.�H�@@A��H��u�H��'H��Ic��$H��I���Hc$H��H����M�}HM��tAA��.f��L��H����M�@J�D�Ic�I��M��t�UD��t�1���M�u0L�<�M�����E���!A�D$�E1�H�$H�CH�D$f.�J�<�taM��t\H�L$A�G�I��L�$��f�I��M9�t?I�6H��t�J�<��&�����u�I�uE1�E1��H�
<�H��I�����M9�u�I�GL9<$t>I���f��L��H�����M�v@I�I��M���4����ED��t�1���L�%�'H�L$H��H�$I�$L�4�DH�}H��t��I�$H��I9�u�H���fA�Mb H��[]A\A]A^A_�H�G'H���H��H��H�5��[]A\A]A^A_���DAWAVE1�AUATUSH��XH������A��H��I����@A����A��D‰D$ �Ѓ� E��D‰D$A�M�A�����@���oI�}0��A�U`f������ƒ�f����5M�m@A��t$A��t+A����A���A���D�������A��M���x���H��XD��[]A\A]A^A_��������	���A��:���������O���~���������tB����@��������-���I�uE1�E1��BH�
�H���4��1�����@����@����@��t#I�uE1�E1��GH�
u�H�����D����fDI�uE1�E1��4H�
��H������I�}0�s���A�}
I�u�HI�EL���H�ߺMA�H�
��H��LE��|���A�U`f����8��������I�u0A�MH��fA�U`������P�fA�U`����@A����������A��t'��t"A��tE1����&���A�����DA�����DE1����A��G�t6���@@����@����@�� �r@��@�@@����@���E��uI�}����I�u0A�MH�߃�����1��K���@����@����I�u0��A�MH�߃�����Ɖ��>�����f�L��H���%���@���K@����@����I�uHA�M1�H���E������EI�u0A�M1�H���+���������I�uM�EE1ɺ�H�
��H�߉D$诿���D$���fD@���>@���@���R��I�u0A�MH�߃�����C����E1�E1�H�
S�H�ߺM�F�������@���@����@���I�u0A�MH�ߋT$ �^������f�I�}P�i���E1�E1�I�}I�u�CH�
��� H���̾���;����I�uE1�E1��-H�
��H��袾��@�������I�uE1�E1��@H�
��H���z�������DI�uE1�E1��?H�
J�H���R������DI�uE1�E1��>H�
��H���*����k���DI�uE1�E1��6H�
��H�������9���DI�uE1�E1��+H�
:�H���ڽ������DI�uE1�E1��FH�
��H��貽���Q���DI�uE1�E1��3H�
��H��芽������D@����@����I�u0A�MH�ߋT$���L��H�߉D$�I����D$����I�uE1�E1��7H�
��H���"���@������I�uE1�E1�H��H�
���,���I�uE1�E1�H�
���,H���ܼ�������I�uE1�E1��.H�
�H��貼�����DI�uM�EE1ɺ�H�
��H��艼�����@I�uE1�E1��2H�
��H���b�������DI�uE1�E1��9H�
��H���:������DI�uE1�E1��EH�
��H���������DI�E8��H��t	���8E�I�u0�H���3������@���I�u0��H����������I�uE1�E1��CH�
��H��螻���-���I�uE1�E1��0H�
c�H���{�������@��t�I�uE1�E1��AH�
*�H���R���A�M�u���I�uE1�E1��1H�
��H���+������I�uE1�E1��8H�
H�H����������I�uE1�E1��1H�
��H������������I�u0��H���������I�uE1�E1��HH�
��H��覺��A�M����H�
&���H��艺�����A��������I�uE1�E1��/H�
�H���[������I�uE1�E1��5H�
��H���8�������I�uE1�E1��;H�
=�H���������A�Eb ��CD�D$0����L���n����D$��I�E0H��tH�@@�D$H��u�Hc|$H�'�T$H����T$H��H�D$������D$$H�D$I�E0H���H�|$D�t$HL�l$8D�t$$I�ʼnl$@H�l$H�|$(D�d$4�!L�`A����M�m@H�D$(M�����CD���]H��1�L����H�|$(H�H��tH�H��u�E1��H�rL��H�RH���6H��t	�:�1�H���9�uI�$H��t�I���������t�A������c���H�|$H�ًl$LD�l$0H�\$8H�D$D�|$(H��'H�<�D�d$4A��H�|$D�t$HH��H��L�l$@H�2H�;H��t��H��'H�2H��H9\$u�H��H�|$D��D�|$(��|$0tfA�Mb�|$$�7H�D$H��t
1�H����fA�Mb I�u0A�M��H���8���L��1�H�5ۮH���8����H�D$(E1�H��q���H��t	�:��1�H�5dH���G8����D�d$4L�l$8D�t$$�l$@D�t$H�D$������D�d$41�H�D$(H�D$D�t$HH�xL�l$@D�l$0H�|$H�\$8H�ˉl$LH��H�|�t:H��t5H�|$�C�I��L�$�I�6H��tH�|�����DD�I��M9�u�H�CH;\$(�:���H���H�D$fA�MbI�E(����H�2'H�|$����H�5tH���W7������
�X;��D$$H�D$���H�5��H���ǵ���x���f�UH��SH��H��H��H�6H��u/�VfD����w��P���t1����v)H��H�s�H��t)�E��uу>u�1�H������u�H���[]ÐH��1�[]����AWAVAUATUSH��HH�T$dH�%(H�D$81�H�X�~I��I��H��E1�������<H�5�H���YB��y�����H��'L���H�mXH��t0H�}H�5����I��H��u�E���^H�mXA�H��u�I�uL��������I��H���������A�L���DH�E@H��L�{0H�[XH��tLH�C0H��t�H�x@tH�pL��蠺��H��t+H�S0�H�P0H��u�I�G0H��L�{0H�[XH��u�@M�}0E��uWI�|$h�VE�L$`H�\$�� H��L���� A�AA�D$`1���I�|$hL��H����?���H�D$8dH3%(�2H��H[]A\A]A^A_�DH�5d�L����@�te��t81��u���f�I�uL�D$E1�L��H�
:�����S���I�uL�D$E1�L��H�
����訳������I�uL�D$M��L��H�
���Z耳������C���I��H���'���A�E1��N���I�uE1�I�غH�
�L���:�������
��7�I�D$hH�������I�uE1�E1��H�
��L����������DUH��H��SH��H���?�H��tH��H���<H��H��[]�f�L���E1�H��H��H�
���H�D$蚲��H�D$��AWAVAUATUSH��HdH�%(H�D$81�H���9H�D$0I��H��I��H�D$A�F��ta����w-I�~PH��t
�������I�F(H��t�x��@I�n0M��H����L���@5�L��I����%�A�F��u�I�FHH��tH�xH�5���>���I�F(H��t��xu�H�xH�5��l>�uI�F(H�5�H�x�T>��!
I�F(E1ɺL��H�
^�L��L�@�j����M���DL9�tI�F0H���M�v(M��u�M��tL���x4�L��� %�H�D$8dH3%(�oH��H[]A\A]A^A_�1�1�L���a�H�D$H����H�<�&�0H�D$ �I��H���f�L��@@ H�D$I�E�D
�I�EI�GpA�E(I�EM�opH��t1H�|$�]=�H��t"H�55�H��H�D$(�4�H�L$(H����I���H���gA���A���9�|7�H��H���&A���Hc�H�4��I���H���RA���Hcʃ�L�,�M���A���H�t$L�����H���YA�����~7��I����Hc�A���H�<�tH�t9�I���H��H�D$H�H��t
H���H�D$H�L���M�nhI�~H�5��*<��,E1�I�FH��t�P�J���v��u
I�F0H�����I��M������L��M������f�I�nXH��u+��f�I�~H�5��;��L��M����H�EHL�e0H��tH�xH�5���;�t�H�}H�5��{;�u�H�}H�5a��g;��WI�~H�5��O;�u�I�~H�5�f�;;��{���L�EM�N�
L��H�
t�L��L���Q���M���\����I�~H�5����:��H�5ջL���y�H��H����H�5HeL���^�I��H����
L���J�I��H����H�x@�SL��E1�M��H�
��L��趭��H��&H��H�D$�L���]�H�D$L���v���fDH�xH�5t�8:�����I�F(H�5�`M��H�x�:������@H�}H�5d�9���I�~H�5����9�� ���I�~H�5����9��������I�~H�5���9����I�~H�5��9�����I�~H�5ګ�x9������I�~H�5`�`9������I�~H�5��H9����������H�}H�5���(9���H�}H�5���9���H�uI�~@���,�I��H���2����8��	H���&L������I�~H�5���8��HH�53cL���I�I��H���Q	I�~@L�����L��H��I���;�H��H����
H� �&L��H�D$I��M��tL��A�UH�5D�L�����H�D$H����	A���E1��g�I��E9���OI���H��J��H�x�7�t�E1�I��H�
'�1��L������H�|$tH�D$H�|$�L��E1�I��H�
��L�����H�D$H������I�~H�5�`�7����������I�~H�5���`7�uI�~H�5R��L7���H�5aL�����H��H�����I�~I�vH�I�~@1�H�1���I��H���I�~H���p,�I�|$@H���c�L��H���h�H�5�L�����H�r�&H��H�D$�H�5��L���I�H��H����
H��H�5��L���{�H�D$H���B���H�}H�5e��l6������M�NL�E�YL��H�
��L��腩�����H���8�I�~@L���|�L��H��H�D$�8�I��H���M
H���&L��H�D$I��H�D$H��tH��A�UA���E1�������I��E9����I���L��J��H�x�5�t�E1�M��H�
�1��	L���Ȩ��E1�M��H�
C�L���L��諨��H��t
H�D$H��H�D$L���u���M�f(M����A�|$��L�-!��M�d$(M����A�|$��L��L����H��t�H���)���H�5�L��L����M�nH�D$M��tZH�\$L��L�l$f�M��tH�5��H����H���H��L�c0�+�H��H�����L��H��M��u�H�\$H�|$tH��&H�|$�I�N`H�������I�V(H���t���H��`�H��H�H��u�H�
I�F`�S���I�F(H�5�ZH�x�4������2���H��H�$L���X�I��H������I��E1�H�
o�L����L������H�5�L�����H�i�&H��H�D$�H�5��L���@�H��H���	���I�~H�5���3��B���H���H�5b�H���V��'���I�~H�5z�Q3�uI�~H�5P��=3���H�5"�L���&��H���;	I�~H�56�
3���I�~H�5��2������A�GA�����E1�E1�H�
��L���=L���������1�1�H���T��I��H���r	H�1�&�(H�D$ �I��H���f�H�@ H��@L�`�:�H�|$I�EI�GxI�EM�oxt/L���Z2�H��t"H�52�H��H�D$(�1��H�L$(H���	I���H����A���A���9�|7�H��H���&A���Hc�H�4��I���H����A���Hcʃ�L�,�M���A���L��L����H����A�����~7��I����Hc�A���L��tJ�|�I���H��H���d1�H�D$ H���nH�D$ H�xH��L�d$ A�|$�zI�|$H�5U��1��aI�D$HH�5 �H�x�0��DM�fM����H�\$(�I�D$0H����I��I�|$Ht�A�|$u�I�|$H�5�Y�0���I�|$Ht�A�|$u�I�|$H�5���}0��VI�|$Ht�A�|$u�I�|$H�5��T0��t���I�D$HH�5`�H�x�70��W���I�D$H���W����D���@I�D$0H���@���M�d$(M9�u�H�\$(H�D$H�|$H��aH���M�nh��L��E1�E1��H�
T�L�����H�e�&H�����E1�I��H�
6�L���L���΢�����H�5ZL����I��H���E1�E1�H�
�L���L��葢���t�E1�E1�H�
'�L���L���o����R�H�����H���H�8��H�x@t(L�EM��]L��H�
²L��H�D$�%���H�D$H�������L��E1�M��H�
��L�����H�_�&H��H�D$��C�L��H�5��H���~����M�n(M���B���A�}�7���L�%^�� �M�m(M������A�}����L��L�����H��t�H�D$��H�� I���H�D$ �I���H�����H�5١L��肠���;���E1�L��M��H�
�L������H�-y�&L��UM�����L��U���H�� I���H�D$ �I���H���l�H�5I�L��������H�����I��H����H�h@H����E1�M��H�
`�L���L���p���H���&H�D$��I�D$HH�53�H�x�
-������H�5L����H��H����H���O���H�D$ H��H��L��H�P�H������H�D$H���<���I�D$HH�5ŧH�x�,������H�D$ 1�H��L��H�P���������E1�I��H�
9�L���SL��號������L���L	�H��H���;���H�t$H���3�I��H����I�~@H�T$0L���v��H����H�PH�5��L����	�L��L�����H���&L��I��H�D$�H�|$0A�UH�D$H�����L��E1�M��H�
v�L�����H�O�&H��H�D$�H�l$L��UH�|$H��������L��H�5L����L�������I�~H�5�	�K+�����I�~H�5��3+�L9��X���PI�F(H�����H�xH�5�A�o@�+���I�F(H�����H�xH�5���*����A�O@L��L���q�I�F0A�o@H���>I�����ILJ���H����I�~@L�����L��H��H�D$�,�I��H���P�E1�M��H�
�L���L��胝��H���&H�D$���L�EM��^L��H�
ĭL��H�D$�O���H�D$���L�EM��L��H�
o�L���'�����I�n(H�����}��L�-���H�m(H�����}��L��H���@�H��t�L��H��H�5��I���v�H�/�&L���X���L�l$L��E1�M��H�
��L��蓜��L������ILJ���E1�I��H�
��L���)L���Y����<�H�T$H�5��H���������H�<�H�5�L���������L���D���E1�I��H�
3�L����L��������E1�M��H�
)�1��)L���ڛ���
�H��H�5�H���s��X�H�'�&H�D$����X��E1�M��H�
S�L���L��苛��H���&H�D$���L�D$0E1ɺIL��H�
ۮL���[����'���I��I��H�
Q�L����L���9����4���E1�I��H�
��L���L�������]���I�~H�5ܛ��'����A�G@��uT���n�E1�E1�H�
�L���<L���˚���L�H�|$��H�D$H����E1��\�A�O@���E1�E1�H�
p�L���*L��耚����ff.�AWAVAUATI��USH��H��H���H�~H��~��H�~H�5��A����&���H�CHH�5��H�x��&���H�{0tE1�E1�H�
��H�޺L�����L�sM����H��L��蛟��I��H����H�k�H����A��E�E1�A��A��	��I�]@I��H�m0H��t`H��L���E���H��H��tMD�8H��H��L���|H��t�M��u�I�^0I���f�E1�E1�H�
�H�޺L��E1�� ���H��L��[]A\A]A^A_�fDE1�E1�H�
�H�޺L�������f�AWAVI��AUATUSH��H��H��tGH�~HH�~t�~tFI��E1�H�
!�H�޺�L��虘��1�H��H��[]A\A]A^A_�DH�=����H�5MI���!%���H�{HH�{t��{u�H�5��$���H�{HH�{�o����{�e���H�5���$���L��H�{HH�{�?����{�5���H�5��$���H�{HH�{�����{����H�5���r$���H�{HH�{����{����H�5X��E$��H�{HH�{������{�����H�5L��$���H�CHH�5%�H�x�#���A�}L��t!H��L�����H��H���z���L�h8�L�cE1�M��t}H��L��L������H��tM��tMI�G@I��M�d$0M��u�L9��4���I�UPH��u�0H��H�B@H��u�H�j@����H�{����I���I�mP���E1�E1�H�
ޗH�޺�L���c���덐H�CHH�55�H�x�#����A�E���0�����	�'���H��L����H��H���~���L�h8A�F@��������	�E���f�H�CHH�5ŝH�x�"������H����I��H��tH�����1�L����t+H�C(H���L�@M��H��H�
{�L��胕��L�eH�5,�H�����I��H�EA�F@�����H�������H�5��H���"���A�F@�_���A�<$�T���H�}H�5f���!��<���E1�M��H�
K�H�޺aL��������fDH�CHH�5��H�x�!��"���H�sH�EH�EH������1�A�}	L�����-���H�EP���@H�CHH�5e�H�x�<!��0����;����H�CHH�5=�H�x�!�����H�EH�5�H����H�EH��t=A�F@ucH�sH���i����?���H�CHH�5�H�x� ���������E1�E1�H�
1�H�޺!L���ғ��A�F@t�H�EH��t�H�5�H���s �t�L�EE1ɺbH��H�
��L��葓���g���E1�M��H�
��H�޺�L���o������E1�M��H�
u�H�޺bL���M����
����H���DATUSH��H��H�Ht
���H�[(H�����{�|L�%_��H�[(H��tg�{uaL��H���>��H��H��tހ}t8H�5M�H������H��H�D$t:H� �&H��H�D$H��[]A\�DH��&H��@1�H��[]A\�H�����H�H�5�J� �ulH�{H�6����{�,���H�{H�53�������H�CHH�5�H�x��������H�5n�H���d��H��H���"�������1��H�CHH�5řH�x���x����f�H�y�&H����H����AWI��H��AVI��AUI��ATUL��SH��H��H��L�D$�*��H����H���&�8�I��H����H�@0f�H��@@ ����M�|$L��H��I�$H�D$I�D$H�=�&M�t$ M�l$I�D$(I�l$0��xa1�H��[]A\A]A^A_�fD������f.���	�H�(�s
�H��H�5y�H�81��ո�����H�5=�1��݌���������	�H�(�9
�H��H�5o�H�81���I�<$H���&H��t�L��������b������AWAVAUATUSH��H�FD�D$4���^H�G0H���m1�H�@@��H��u�Hc�H��H�f�&H��I��H��H��H�D$H���H�C�&M�~0H�M���%�D$E1�L�t$�[��L��H���@����SDL�uI�D$���h�L��H������I�FM�@A�UH��H���&H�M����A�տ��I��H�EH�����KD1�A�?M�<$��D$���s���I�D$M��1��M��tI�H���GH�D$8H�L$H�HI�F(�D$��t$fA�Nb�|$4���|$4uH�D$8�@H��H[]A\A]A^A_�f��T$ L�t$� ��H�D$8H���uL�|$8�D$ f�I�G��A�GA�AG�F�H�\$�I�GH�D$A�D�l$0A��H��H�D$(@H�D$D�|$$J�l��L�ED9|$ �
���J���D$0H�L$(L��D)�I�D�L�$��-@H�H�}H�p�������H�}H��L9���H�H��t�H�p�^����u�I�vH�|$E1�E1�H�
ԣ��躍����H�5H�H����E���EH�-�&L�d$1�H�UfDI��H��tH�xH��t
��H�UI��H���H�UH��A9��H�|$H��H[]A\A]A^A_��H�5ՎH���~���D�l$ ��I�vH�|$E1�E1�H�
J����������I��H��tH�H��uE1�I�����@H�l$8L���fDH��H�A�����H��tA���to��u�H�pH�PL��H�}H��tvH��t�:u\1��5
�u�H��H�H��u��L$$9L$ �H�D$8H�L$D�l$4�T$H�HI�F(���I����>���H�}L��1�H�54�����f�H��t�:u&1�H�5����H��H�zPDE��m���f�H�5������H��HH��H�5s�[]A\A]A^A_����1����� ��H�D$8H��tKH�\$8f�1�H�C�C�C�D�H�L$H�CH�KI�^(H�D$8�@���H�5��H��裊��H���&H���1����ff.�f��������H��tBSH��H�5��H�������t��[�f�H��H�5SB��1�[���‰��fD���ff.�f�AWH�
�AVAUI��ATUH��SH��H�W`L�b A�}�A�EHc�H�>��@I�u L���D��|I�uH����I�u H����H�����I��M����L��H�����H��H���OM���FH��L�����L�%��&L��A��A�$H��A�$E����f�H�}`跮���E1�H��D��[]A\A]A^A_�I�]0H��t*�H��H�����A�ƅ�u�H�[@H��u�H�U`L�b M��t�A�<$t�D�u81�D����E8f.�L9b(t>I9�t9I�]0H��u��H�[@H����H��H���x�����t�H�E`L�` �UPD�u8���=���1�H��E1��~���.���I�]0D�m8D����E8H����H��H���#���A�ƅ���H�E`H�[@L�` H��u�D�m8A������H���q�������@M�������A�$�������< w+H�&H��sI��f.�A�$< �#E1���A��A���u���f�I�]0H���c���H��H���x�������H�[@H��u��B���f�H�JL��L��H����A�ƅ��&���H�}`�ʬ������DL��M�}0L�j(���H��H����H�&�H��@��t�� �k�HH����u�H�M`H��H�A(�;uH9�u�H9�t	H���:t�H�Q M����H9�t4L��H�����A�ƅ���H�M`M�@H�Q M���MH�A(H9�u�H�A ��f�M�m0M�������E1�1�1ҾH��A������9����'���@M������A�<$�����]8I�u0H��؃��E8�����]8����H�E`L�` �EP���������f�I�]0H������H��H��������u;H�[@H��u����fD��H��#�A#H���H�5ϒH�81���A������q���fDH��H�pH���H��t5�H�� �f���fDH���V���H����@��� �B�����H���8���H��t#E1�H9Q(tE1�1ɾH������A�����f�H�I�&H��H�E`L�` L�h(����I�E(H���EL�P M���8H�xH�E`H��M��M�EHI�MI�U �0A��^_���
���v��������H�U`H�B L��H��� ���I������@I��H����������DD�m8�MP���9������H�=%����H��H���(���E1�1�1ҾH��A�����������M��t:H�-L�&L��UH���d���H��U�Y���f�M���N���L��H���L���H��H���7���H�	�&H���&���H������H��H���&�����I�uH��E1�1ɾH��A���x����f���AWAVAUATUSH��dH�%(H�D$1�H�$H����L�j(I��M����I�EH��I��H�rH����H�RHI��I�}H��t	�:��1�H��ЉÅ��d������trI�VA�H��L��������ó��H�4$H��tI�E0H��tI�}��H�L$dH3%(���DH��[]A\A]A^A_�fDH��H��Љ��y����A�1�H��L���X����fDI�^HH��u;�uDH�SH�K I��I�vI�}L�$��1�H�[@����څ���H��t(��t$�;u7I�E(H��u�H�[@�1�H��u�fD��t���������f.�I�v01�H�������I�D$`L��L�x L�p(H�h H�@(�����I�D$`L�x L�p(����I�vH��E1��1�L���s���H�4$H��tI�E0H��tI�}�л�����������ff.��H�G`�P����AWAVAUATI��UH��SH��H�~�P�/���m1��H��uPH�E`H��9X�PH�P0L�,�L�4�M��t�I�vI�|$�g�t�I�|$I�FHH��t�?u�H��t
H�p�B�t�I�~@I�v���H�U`M�d$0H��H�B L�zH�Z H��L�rH�$1�H�B(M��u�)�M�d$@M��tL��H���K�����t�H�U`H�z H����H�o�&�D$�H�U`�D$H�$L�zH�J ��ulH�J0J�)�jH��[]A\A]A^A_�f�E1��~?f�H�P0J��N�4�M��tL��L��H���{����t@H�E`I��D9hʸ����H��[]A\A]A^A_�fDH���f���H���I����I�~@I�v����H�U`M�d$0I��H�B L�zL�j L��L�rH�$1�M��u�+f.�M�d$@M��tL��H��������t�H�U`H�z H��tHH�C�&�D$�H�U`�D$H�$L�zH�J ���<���H�J0H��jH��[]A\A]A^A_�M��t�L����������f.�AWI��AVAUATUSH��hH����L�g`I��1�M��tI�\$E�W<A�BA�G<A������xH��zHc�H�>��H�=���I��H���tH�5A{L��� {��A�G<D�P�A�����f�E�W<H��hD��[]A\A]A^A_�I�v0L��A�_P�%A�����wA9_P~��L���s����L���;{��I��H��t�I�w`H���^L������L��L��H���@���I�ohA�G8H�$�D$��A�G8A�E�D$L��M��I��H���D�UE���^
1�E1��<�I�V`H����L��L���ئ��I�F`���DD�H��9]~FH�EI�w0L��H��I�FhI�F`�$��t�I�v`H��t�L��H��貥��I�F`9]�E����A�E+D$����
�ED�d$A�ED9���
Ic�H��I�EL��A��H�4H����H��L��H������A�E�D$D9��I�nhH�,$H�����I�w0L���H$A�ą��UA�]I�V`�\$H���hL��L��轥��I�F`���L
A�u)ރ��
H�<$��L���Zy��I�nhH���"���M��f.��D$M�ohA�G8�W
A�_8L��L��A�oP�؃�A�G8����I�v0L��I���#����	I�wh�$H����L��L������D�$A�_8A9oP��D�$��L���q��A�G<D�$D�P�� ���H��I�8�T���H��A�Fb�>	A�GPI�^0E�w8�$D���A�G8H���%1�D�t$�5H���@I�W`H����H��L���w���H�[@M�g`H���,L��L���+���H��L��I���A�Ņ�t�I�w`L���j����L��L���-���A��A�G<D�P��]���I�v0L���q"A��A�G<D�P��A���I�v0L���eA��A�G<D�P��%���A�GPI�n(�D$TH�����E�D$A�G8�D$PA�Fb�Hc\$L�%�&H��H��A�$H�D$H�������H�|$H��1����H��A�$H�D$H�������H�|$H��1��n��M�_`I�8H�|$8I�sL�$�Ğ��I��H�D$HH���wH�D$0�D$I���H��L��DI�}L�`H����A�E��A�T$�r�������2H�$L��|$�H�4$�$�����H��k��)H��uH�5�H�81���A�G<A�����D�P����I�o8H��H�����H��H���w�x��E�OPL9phD�$�_H��L��L���٫��D�$���A�GP�D$����D9�~'�g�����������L���qm��I�GHH�����8
u�H�sH�x ��u�I�GH�H���=�C���E1��H��L���fDH�m0H����	�U�������w�H�uPH���S���H�����C����E1��H��L��� �H�m0H���,
�U����
����w�H�uPH������H�������C���1E1��H��L��� �H�m0H���l	�U���!
����w�H�uPH������H��t@�C����u	H�[0H��u�I�\$E1������D$P���|$A�G8����M��tI�t$I�8���I�D$H�EH�H�2�>�L���A��E��u"M�W`M��tI�rI�8D�$講��D�$I�B�D$PA�G8@A�G<D�P��K����L$���Z1�f.�I�EH�(H��tH�pH��tL���������H��H9�u�I�G`L��H�$1�H�l$(L�l$8L��H�D$ H��L�d$XL�t$8�@H�pL�����H�4$L��H��蝞��I�G`I�G`H�$H��t*H�D$8H�@8�8
��H�xH�5x����H�D$H��H��t	H�L$ H�H0H��9l$�y	H�4$L���͎��I�G`H���	H�L$(H�|$H�QH��H��H��tH�z0H�B0H�|$ H�|$H�1H��L��H�P�A�ą���I�G`H������I�whH���������
�����L�VD�X�E1�A��H�l$@�(E��u�UA���tD9�A��D��I�VM9�tEI��K�,�L��H�u諙��H��uƋUE���*D9��!E���A�I�VM9�u�H�l$@A��H��H�4$L������I�whA����^H�FMc�J��H�H��H�$��~*H�FE1��@H�FJ�4�L��I���Ĝ��I�whD96�L���#r��I�GhE���D���H����H�SE1�1ɾL��蓤��H�$I�G`�D$PA�G8H�D$0H9D$H�rH���iH�t$0H�F8H���W�����H�|$H�@H�P8H��H��tH��H�p0H9�u���'E1ɋD$TA;GP�rH�`�&H�|$D�$�H�|$�A�G<D�$D�P����DI�D$HI�t$H���rH�P����H���4�h�A�Et(I�UHc�H��H�pH����L���	�������9l$��Hc�H��H�D$H�H�H��tPL�b0L� I�t$0H�|$8H��LE�L�d$0莗��I��I�G`M�����L��H�$�GDA��D������DH�L$L�$)L� �f�1�H�5�i���H���6���I�G`L��H�$�|$H�4$����f.�E1����I�n(H�������H��������@�P����"H�s����H��E1�1ɾ&L��聢��A�G<A�����D�P��n�I�w`H��tL���M���M�g`A�_8A9oP�E	A�G<E1�D�P��8�I�oh1�D�]E�����DH�EL��H�4�H��蜊��L��L��H��辚��I�oh9]��t�E1�1�1ҾL���ܡ��A�G8���L���Y���A�G<A�����D�P���HcH�VH�T�H��H�
��H��H�$���I�D$HI�}H�5$�H�P�v��H�������I�}1�H�5��[���T���fDI�vhH���?�D�E��~?E1��H�FL��L��L�$J���ٙ��L�$I�vh���DD�I��D9�L���Tn��I�Fh����M��H��L���2n����DI�v`L��M��詘��I�F`H�<$���H�,$��I�nhH����D�EE��~61��H�EL��L��H���-���I�nh���DD�H��9]�H�$H��tH��L��H���m��I�Fh�{�I�whH���l�>��~-E1�f.�H�FL��H��J��I��蹘��I�whD96�L���Hm��I�Gh�$�H�,$�HcD$I�UL��H�4��K���H�,$I�nhI�F`A�E�D$�N�f�M������D$�J�L���l��H����D�t$E��H���L��L���N���I�ohI�G`E�w8�$A9GP������4$L���d�����A��H�l$@H��A����I��H���MI�G`L��L��L��H�H��A������u��uI�G`H�@DH�!�&D�$L��A�G<D�$D�P���I��H���t�L�����I�W`L��L��H�L�L�j H�j(L�b H�B(��A��I�G`L�h H�h(A����E��u�H��t�H�S0H�P�w���I��H���DI�G`L��L��H�X L�` �<�A��I�G`H�X A����|E���6���H�@�)���A���������I��H�C(E1�1ɾL��H�P�ٝ��M�����H��&L��A�G<A�����D�P���I��H�C(E1�1ɾL��H�P蔝��M��u��z�I��H�C(E1�1ɾL��H�P�m���M��u��S�1��\�����I�GhE�w8E����A�����L��D�,$輛��A�G<D�$D�P���L�d$XH�$E1�1�1ҾL��I�G`L�`����f���I�w`L�d$XH��t�L���˔����f�L�d$XI�w`H����H�$I�G`L�`�D$PA�G8H�D$0H���t���H9D$H�i���H�t$0H�F8H���W���1�H�|$H�:���A�GP�D$A�G8�$�t��A�G8H��L������H����I�O`I�vHI�G`H�L$H��tL������CE1�I�~h�6I�G`L��H��D�L$0H�D$I�GhH�D$ 迅��I�~hD�L$0I�GhH�D$(L�`H��I�G`�A���L��D�L$0H�5"�D$8���M��D�L$0ALJ�I����H�\$0L��M��E���)��t����wL���Y����M�0M���XH�C`L�xA�G��u�I�GHI�wH���GH�PH��L���S��y�D�d$@M��I��E1�I�T$1ɾ&L��H�\$0���D�L$@1�1�L��D�L$0�r���~����L���y��D$8A���I�G`L�`H�D$H�t$(L��I�G`H�D$ I�Gh臒��A�����I�GhH���W����*H�\$E1�L��M��E���H�ChI��D9(��H�@1�H��J��H�C`L�`�̟����u�E��M��I��H�\$E1�I�wh���~<H�\$E1�L��M��E��H�VH��J�4�I�����H�shD9&�E��M��I��H�\$L��D�L$�4g���$I�GhA�����A�G8E����D�L$E�����$L�\$L�shA�G8M�_`M��tH�s0H��D�$迍��D�$I�C�D$A9GP��D�$�t$�#�A�G8�A��{���H�sH�x������I�GH����I�VE1�1ɾL������A�G8����5��������H�=�h�c��I��H����������H�$H��L���Ð��H�$I�G`L�`����H�=�h�&��I��H�����������L��D�$�g]��D�$�w�L���e��D�$H��I�Gh��L��H��L��D�$����I�W`I�whL������I�G`D�$���L���e��I�Gh�v�H�p0H���\���D�$I�D$E���
�I�GHH��u1�,���@���t=���������L���\��I�GHH��������8
u�H�sH�x �^��u�I�GH�H�sH�x�G��u�I�GH��I�VE1�1ɾ L��D�$聗��D�$���I�VE1�1ɾL���$�_���D�$�~���E1�1�1Ҿ!L��D�$�>���D�$�]���I�GhH����M�o`E���wL��L������A������$A�G8H�D$I�G`H��tH�s0H��D�L$�$���H�L$D�L$H�A�$�t�L���T����w�I�GhE1�E�w8��H�CHH����H�PH��蒺�H���rH���D�1�H�5\]H���p��H��u�H�s���H��H�5<]L���������D�d$@M��I��E1�I�D$(1ɾ'L��H�\$0H�P����D�L$@� ���H�C(E1�1ɾH�P�s�H�D$0E1����H��L���p�����I�v0H�������L��D�L$��D�L$������I�`H�S�tE1�1ɾL��蓕��I�GhA��H���6D� E����E1�E���I�GhI��D9(��H�@1�L��J��I�G`�ך����u�I�whE��E1�����H�VH�\$E1�L��M��E��J�4�H�����H�shH�VJ��I��D9&�����H�C(E1�1ɾH�P�P�H�C(E1�1ɾH�P�9�L��L��觌��A�_8A9oP�����L���oY��A�G<A��D�P���H�@L��H�0�A�����E1�1�1Ҿ�f���A������_�I�G`L��H�@��A������o����D$8H�t$(L��A���I�G`L�`H�D$I�G`H�D$ I�Gh���D�L$0�k���I��E��H�\$0���D��L���X����H�SE1�1ɾL���Ɠ��A��������1�H��豷�H������1�H�5D�H��藷��"���E��A�O8L��D�L$�ݙ��I�whD�L$�E��A�Ņ��4����}���E��M��I��H�\$A�O8L��D�L$螙��D�L$E��A������M�o`M�������M�e��H�CHH�5��H��H�P����J���E1�1�H��bL������A�G8����L���_���L���w�����E1�1�H�`dL���詒����L����'���L��L���D$�x�������L��D�L$��_���$D�L$I�GhA�G8���E1�1�1Ҿ
���I�w`L��D�L$�+���D�L$�'���H�D$E1�1ɾL��I�G`����I�GhA��I�G`H���{���1�L��D�L$�މ��D�L$����H�,$�@�ff.�AWI��AVAUATUSH��H�`H�ohH�4$tHH�������H����)H��]H�5�mH�81���I�w`L���d���I�G`I�ohH���m�E���CA�O8I�Gh�ʉL$��A�W8���^�D$1�E1�DH�EH�4$L��H��I�GhI�G`�p�I�w`A��H��tGI�h������L�(�\���)H��\H�5mH�81�A��I�w`L��襈��I�G`M�ohE����M����M���A�UE1���~$I�EL��L��J��I���)���M�ohE9u�L��L���]��I�GhH��9]�����D$A�G8M����H��L���]��M�ghI�`��1�H����[]A\A]A^A_Ð��t\L�����I�G`�f.�M��t�A�E���p���E1�@I�UL��J�4�I��複��M�ohE9u��F���I�w`�M��tcH��L��L���M���I�G`�4����D$I�Gh��t,��E1�L�$�f�H�EL��L��J�0I���	���M9�u�M����@HcT$H�EH�4ЍBI�G`�D$�����H�EH��L��H�I�G`�Z\��I�GhH�4$L���V��I�`��tFI�h��������H�(�E��)H��ZH�5�jH�81���I�w`L��菆��I�G`I�whH���x����>�o���H�FL��H�I�G`��[��I�Gh�O�����D$��w��H�EH��L��H�I�G`�[��I�`����I�h����D���H����*H�ZH�5?jH�81���I�w`L���݅��I�G`�����EI�oh����D$A�G8H��L���![��I�whH��tL���[��I�Gh��������ff.�AWAVAUATUSH��H����I��H��H��E1�E1�A������f�H�m@A�H��t �}	u�H��L�����H�m@��EE�H��u�E��u$�Qf.�H��L���E�����xQH�[@H��t/�;	t�I�|$`u�I�|$hu�E1�1�1ҾL��A������ٌ��H��D��[]A\A]A^A_�����tA������A����E1�����H���AVAUATUH��SH��L���ǁ�H���K�}H��H��r�FA�|$��H�}hH���nH��H�5�������H���2H��H���Z��L��H����u��H���H�uHL�k`H�C`H����H���Z���A�ƅ���H�C`H���bH�ChH�����D�c8���1��H�ChH��9(��H�@1�H��H��H�C`H�@������u�E1�H�sh���~%1��H�FH��H�4�H���D���H�sh9.�H���X��H�ChE���S���D�c8��@�>#t1H��H�yqH�R�&�H�81�����KD��tǃ�����[]A\A]A^Ð�CD%���ǃ�H�����DE1�1�1ҾH��褊���C8u�H���&����@H�ѩ&H��H��p�H�81��@��H�@�H�������u'H�s`H���;���������tnL�k`[]A\A]A^�ǃ�������@I�T$E1�1ɾǃ�����H���������f.������ǃ�����D�c8�C8u�H���T����f��C8��H�߉C8����E��A���(���D����ff.���H��tSH��H��t^�:t9H��H��oH���&�H�81��)��CD��u�CD%[�f�H��H���e�����t扃�[�f��>#t�H��H�yo��H�I�&H��H�?o�H�81�����AUATUH��SH��H��tH��E1�A������H��H�������xAH�[@H��t(H�}`u�H�}hu�E1�1�1ҾH��A�����耈��H��D��[]A\A]�f����tE���fDH��A��[D��]A\A]�E1�1ɾ%A�����H��Y�3���뱐��H����UH��SH��H�H��t�|P��H�}H��t���H�}0H��tDH��8R��H��H��u�H�}8H��t�H��xH��H��u�H�}HH��t?�E@��~1�fDH�<�H���kP��9]@H�}H�H�ۥ&�H�H��H��[]��H���&H��H�H��[]���ff.�@H��tKUSH��H��H�H�-��&H��t�UH�{H��t�1��H�{ H��t�c��H�EH��H��[]��@�ff.�@AVAUATUSH����H����H���&I��H���P�H��H����f�@@ @0@@I�|$HL�kPH�CPtA�|$��H����[��H�EH����L�s0L�0M��t~I�NH��u��H��H�QH��u�H�AH�C0L��H���L�s0H�EH�pL�kPH��t1�H���bV���C@���[H��]A\A]A^�@1�[H��]A\A]A^�f.�H�C0L��H���1H�E�I�|$H�5�Y�W���0���I�D$HH�5c]H�x�:������I�t$H���E!H�EH���O����H��1�����Y����I�F�����H�E1�H��H�p��r��H�EH�pH��t.�>�u)H�~@u� �>�u;H�~@t4H�v0H��u�H�@H�߹������!���[H��]A\A]A^�DH�p��f.�1�H���S������AWAVAUATUSH��(dH�%(H�D$1�H����H�~HI��H��H�~t
�~��I��E1�H�
�nH�޺[L��1��?T��H�L$dH3%(H���H��([]A\A]A^A_ÿ
����I�E8I�D$0H�x8H���/E1�E1�H�
�k�JH��L����S��@1��@H�5������H�{HH�{�O����{�E���H�5]��W����H�{HH�{�"����{����H�5.��*���BH�{HH�{������{���H�5������H�{HH�{�����{�����H�5�R������H�{HH�{������{�����H�5|R�����H�{HH�{�n����{�d���H�5���v���>H�{HH�{�A����{�7���H�5}��I���aH�{HH�{�����{�
���H�5m������H�{HH�{����{����H�5DQ������H�{HH�{������{�����H�5H
�����zH�{HH�{������{�����H�5Ѽ�����H�{HH�{�`����{�V���H�5	��h���	H�{HH�{�3����{�)���H�5�P�;���+	H�{HH�{�����{�����H�5�P����6	H�{HH�{�����{����H�5�P������
H�{HH�{������{�����H�5�T����H�{HH�{�����{�u���H�5�O����?H�{HH�{�R����{�H���H�5���Z����H�CHH�5gXH�x�>����H�kH���YH��L���. H��H���z���H�@0H��t)H�x@t"H��L���V��H��tH�U0�H�P0H�E0H��L����U��H������H�U0�H�P@H�E0���DH�{����H�CHH�5�WH�x�������H��L����H���r����H�CHH�5�WH�x�\������H��L���YU��H��H��������	L�kI�D$XH�E8M����E�t$@H��L��L��D���A�D$@�c���H���ZM�m0M���ME�t$@���H�CHH�5�VH�x���������H��L����T��H��H������H�{������E1�E1�H�
�PH�޺L���N���{���f.�H�CHH�5�VH�x�\���_���H��L���YT��H��H�������H�{��-���E1�E1�H�
^PH�޺UL���ON������f.�H�CHH�5VH�x��������H��L����S��H��H���5���H�s�H��tf�L���AH�E0����H�CHH�5�UH�x������H��L���S��H��H������H�s�H��u�fDL�CE1ɺ�H��H�
�OL���zM���6���DH�CHH�5EUH�x��������H��L���S��H��H���e���H�s�H���,�����H�CHH�5�TH�x���������H��L����R��H��H������H�s�H���B���1�L��� H�E0����H�CHH�5�TH�x�l���P���H��L���iR��H��H�������H�s�H��u����f�H�CHH�5ETH�x����-���H��L���R��H��H���e����H�5�H��舰�H�EH���K	H���Cm��H�}1������u	H�{tE1�E1�H�
)NH�޺OL����K��M�l$0I�}8H�������H�uH���N���w���I�D$0H�uH�x8�D��H���;H�PXH�UXH�hX�K���f.�H�CHH�5USH�x�,���j���H�5�H��赯�I��H����
H���ql��1�L������=H�����H�$H���G	H��L����P��H��H���|	�H�=��&L�hH�$H�EH��肨�H����	H�PH�E(H���:
H�uH�x�҃���L�$L�E�WH��H�
�bL���J��L�{M���J���H�D$L�-�f�I�L���$���
H�<$H�51R�����H��L���	P��I��H��tH�H�5�L���|��I�FH����L���dz�H�|$I�F �	H�D$L�t$L�p@M�0M���l�������H�CHH�5�QH�x�|�����H��L���yO��H��H�������H�5E�H��E1����I��H����H���j��1�L���7����H������I��H���	L�mH�=�&L��L�u�Ԧ�I��H����H�E(H�@H���	H�uI�}��A�ǃ�t%L�EM��WH��H�
?aL����H���H�CH����P����wH�x0��E1�E1�H�
�aH�޺TL���H���\�H�CHH�5mPH�x�D������H��L���AN��H��H�����H�s�H���x������DH�CHH�5PH�x���������H��L����H�����f�H�CHH�5�OH�x��������L�khM����H��L���M��H��H������I�EH�������I�}���I��H���
	H�5UUH��L�=KU���H����H��H��&�A�\$@L��L����A�D$@��I�E A�\$@H��tMH�XH��tDH�CH�{8I�Et5I�T$0H��t+E1�H�z8��H�{8L��H�5Xt���s��A���I�E����H�[(H���v����{�l���L��H���>��H��t�H��H�5�TL��H�$�s��H�$H�(�&H��A�\$@L��L����A�D$@���I�E A�\$@H����H�XH����H�CH�{8I�E�xI�T$0H���jA������H�CHH�5NH�x��������H��L����K��H��H���=�H�{����E1�E1�H�
�_H�޺L����E����f�H�CHH�5�MH�x������I�l$0M�l$8L��H�sI�l$8�H��t
I�l$0M�l$8H�����H�h�I��H�CHH�5UMH�x�,�����I�l$8H����H��L���K��H��H���g��
H�5�H��芩�H�EH���	H���Ef��H�}1������TH�{tE1�E1�H�
yGH�޺(L����D��M�l$8I�}8H����H�uH�����H���G���p�I�D$8H�uH�x8�=��H�������L�EE1�H�
�^�$H��L��1��tD���0��L�$E1ɺ"H��H�
]L���JD��M�0M��u��@M�0M�����I�L������u����fDE1�E1�H�
�FH�޺�L����C����L�uHL�t$���L��L���5�H��t2��J��w(�H��ˆ �~��v��e����I�}0�f�E1�E1�H�
�ZH�޺�L���vC���D�E1�E1�H�
�EH�޺#L���TC���@���I�H�5�B�����M�GE1ɺ�L��H�
\L���C�����E1�E1�H�
{EH�޺&L���B����E1�M��H�
�ZH�޺XL����B�����E1�E1�H�
�DH�޺NL���B�����L�EE1ɺ%H��H�
�\L���B�����L�EE1ɺLH��H�
�YL���mB���h���E1�E1�H�
+YH�޺�L���KB�����
���I�E8I�D$8H�x8H���Z���E1�E1�H�
�Y���H�<$H�5�Z�����f���H�}H�5������ADŽ$��=���H�=�I�W��H�$���H�=�A�B��H�E �j�E1�M��H�
�ZH�޺XL���A���(���H��&H�<$�L���1�H��L���5G��I��H����I�_�E1�H�E0H��u�Z�I�E@I��H�[0H��tfH��L����H��t�M��u�I�F0I����L�$E1ɺ\H��H�
�XL����@��H�E(�Q���E1�E1�H�
�AL���L����@��M�0M��������y��E1�E1�H�
�ZH�޺'L���@���O�L�$E1ɺH��H�
�XL���p@������E1�E1�H�
�BH�޺VL��1��L@����H�= H�˜�I�����E1�M��H�
XH�޺\L��E1��@��H�E(�&���E1�M��H�
XH�޺L��E1���?������H��虩�H�E H���qM�����A��M�M�v�M���m�H�L$H�uI�}I��H�D$H��A�у��L�ML�E �H��H�
YL���e?���!�H�mE1�H����I��H�
	?�U�H�E0H�h8���E1�E1�H�
/VH�޺�L���?���t���轞�H�}H�5(���������Z�H�5�LL��������E1�E1�H�
�UH�޺�L���>������E1�H�
�>H��L��J�>���\�M��$�E1�H��1�H�
�>�L���w>���3�H�D$H���%�H�EH��E1�E1�H�
�WH�޺`L���>>�����
H�$����H�$H�B8I�D$0H�x8���E1�E1�H�
�U1��JL���=������f�AWAVAUI��ATUSH��H���C��H��H�����M�}H�CXH�E8M����H��L��H���¤��H��t
M�0M���PH�CPH�CPE1�L�%>9H�$fDL��H�����H��H��t-H�h8�����wIc�L�>��DH�EHH�B@H�UH@M�0M��u�H�$H�CPH��H��[]A\A]A^A_�DE1�E1�H�
�XL��H����<���f�E1�E1�H�
�WL��H����<��두E1�E1�H�
+XL��H���<���n���fDE1�E1�H�
�WL��H���{<���F���fDM��tA�>tuI�V@I���)���f�H�U0I������@E1�E1�H�
WL��H���#<�����fDE1�E1�H�
�VL��H���;������fDL9u0u�L��H��H�T$�A��H�T$H��H�E0t�L�p0�X���L�u0�O���@AWAVAUATUSH��L�wX�T$H���H��I��1�E1�L�-�w�DH�C@H��M�0M��t2I�HtA�t:L��H����H��t�M��u�M�0H��I��M��u�H��L��[]A\A]A^A_�@I�L������t�I�GHH�5�BH�x���t�L��H�����H��H��tVM��t�|$tH�S@L�r8H���X���I����A�<$u�I9�u�L��H��H�D$�x@��I��H��t�H�T$H�X0�E1��Q����UH��SH��H����H�~HH��t�~t^�H��H�����H�U0H�JH��u�/�H��H�Q@H��u�H�A@H�s0H���21�H��[]�f�H�B��f.�H�~H�5�������H�{Ht��{�y���H�{H�5*9����a���H�CHH�5�AH�x�k���E���H��H���h?��H����H�{��0���E1�E1�H�
IUH�޺H��H�D$�\9��H�D$����H�CHH�5'AH�x����N���H��H���>��H��tWH�{�����E1�E1�H�
�;H�޺H��H�D$��8��H�D$���E1�E1�H�
�;H��Q��8����������E1�E1�H�
k;1��R�8����������f�AWAVAUATI��USH��H����H��1�A������3f�E1�H�
UH��L���V8��D��H�[0H����H�{HL�Ct˃{u�H�5�L�������H�{HL�Ct��{u�H�5�6L������6H�{HL�C�w����{�m���H�5�QL�����u:L�C�Q���E1�E1�H�
�:1��
������7��H����[]A\A]A^A_�f�H�CHH�5e?H�x�<��t�H�ChH����H�x�2��I��H����H�xH�5G;�����I�vH���vL�����H�s���fH�������L��D���i������@H�CHH�5�>H�x�������H�sH���>L���O������t����l���f�H�CHH�5�>H�x�l�������H�5��H����I��H���H���W��1�L���G���H��L���4<��I��H���H�s�
L�pH���I�L$PM�t$P1�L��H�L$�x���H�L$I�G0I�L$PI�T$0H�z0H����L��L���������I�D$0L��H�x0脓�H��u�f.�H��H�PXH��u�L�xX�h���H�sH���[���L���������H����F���E1�E1�H�
?8H�޺RL���|5���$���E1�E1�H�
�8H�޺�L���Z5������E1�M��H�
HQH�޺L���85������E1�E1�H�
W8H�޺�L���5������
H�T$�¹�H�T$E1�E1�H�
QH�B0I�D$0H�x0H��������H��L��D����4���o���E1�E1�H�
�7H�޺L��D���4���J���E1�E1�H�
QH�޺L��D���}4���%���E1�E1�H�
�7H�޺�L��D���X4������H���&L��D�����E1�M��H�
�P�S���ff.�f�AWAVAUATI��USH��H��HdH�%(H�D$81��w9��H��H���RL�k0L�(M��tI�UH���eI�EH�k0L��H������L�uH�k0M���^I�~@��M��E1��D$�����A�M�@M��ttI�wH��t%H�F(H��tH�xH�5<������I�wE1�E1�H�
>PH�ߺS�93��E��t�I�wE1�E1��H�
�PH���3��M�@M��u��|$�I�vH�����8��I��H��t!�T$H�E���A�$I�D$0L�eH�}0H��tH��H�5�|�����H�}8H��tH��H�5_����L�k0H�L$8dH3%(H���?H��H[]A\A]A^A_�H��H�BH��u�H�j���I�GH�5|2H�x(褖�H������H�5#�H��H�D$���L�\$���
�L$���v�D$H�o�&L���k���D�7��I��H������H�EH�{hA�$I�D$0L�e��D�K`L�t$�� L��L��1� A�A�C`1��߂�H�{hL��L����������I�t$E1�M��H�
)AH���Y1�����@E1�E1�H�
NL��H���31��L�uM���x���H�}0H���U����_���@L��H�5Y0L�\$輽�L�\$����|$tP�D$�����
莵�H�ChH������I�t$E1�E1��H�
B@H���0������DI�wE1�E1��PH�
�MH���z0��L�\$�j���I�wM��E1ɺZH�
�MH��L�\$�M0��L�\$�=������ff.�AWI��AVAUATI��USH��8dH�%(H�D$(1���5��I��H����I�|$h��)E�L$`H��� H��L�0� A�AA�D$`1����I�|$hL��H���8���I�_1�L�5�kH��u�!f�H�E@H��H�[0H��t@H�{Ht�{tcH��L�����H��t�L�h8H��u�H�[0I�E0H��H��u�f.�H�L$(dH3%(L����H��8[]A\A]A^A_�f.�H�{L��贻�t�H�CHH�5�6H�x蜻��q���H��L������l���@�
�v��I�D$hH�������H�52L����-����@E1�I��H�
K>L���L���s.������fDE1�E1�H�
�1L���L���K.�����������H��t*@��t
�����@��t
�����1�������ø��������S���&��t	1ۉ�[��
螲�H���&H��tdL�
K/��L�T/��H�
�1��H��1��H�5�Y��H�=0F�ӛ��E1�E1�H�
6T��H��R��H�5X���H�=a5講����[�'�&��i��H����H�5KH�81��ӻ�����Z���f���H���#���&��tH�=Ғ&H�5�"���&���Ē&H������USH��H���}H�6z&H����H��H��tlH�xH��H�Hǀ�H��1�H)������H�H���.��H���蒥�H�H�C�&��H�H�H��H��[]�fD1���@H�501��+�������ATUSH�����~{H��y&A��H����H��H��toH�xH��H�Hǀ�H��1�H)������H�H���D����ޤ�H�H�C�r��H�H�H��[]A\�@1�H��[]A\�fDH�5X/1���*������USH��H���}����H��H��tkH��x&��H��H��teH�xH��H�Hǀ�H��1�H)�������H�H���ǃ���H�H�H��H��[]Ð1�H��H��[]�@1�H�5�.�B*��H����������H���ATL�%:y&USH��H���H��tA�$H���H��t�%��H�{hH��t1�褍�H�{pH��tH�/��$��H��H��u�H�{xH��t�H�/�0��H��H��u�H���H��tA�$H���H��tA�$H���H��t,�����~1�H�<�H���#��9��H����A�$H���H��t
�����uI�$H��[]A\��D���I�$H��[]A\��fD�ff.�@��ATUSH���Г�H���oH���H���1�1����H��H����H���H��H���pv��I��H���4H�����H��H����H��H���e��H��H���9H�{hH��tH��H�5�����q��CD����H�EH��tH�pH��t�>��H���@��H�Cp���L�eHǃ�H�E0H�CxH�CpH�E8���H�Cx�E@H���H�EHHǃ�u�EH��[]A\�DH���H�������E1�1�1����H��H����H�=�y�΄�H�=�yH���軄�H�������1�H����-��H��H����H�EH�PH�V0H�p����H���H���^���E1�E1�H�
F1���H���'���*����H���L�Z+L��H��A�H�
�'��H��LE��v'��H���蚁�H��Hǃ�[]A\��H��1�趤�L��Hǃ��c�����fD1�����H���1��B��Hǃ��}���f�H�EH�p����H������Hǃ��O���@L���E1�1�H��H�
�D�)�&���&���E1�E1�H�
�D1��)H���&���������H��tH�wH�WH�GH����H��t&H��tH�GH�H��tH�GH�1�H��tH�H�ø�����ff.���H��tH�wH�GH�GH��ff.�@��H����H����UH��H���	S�H��H�=�)H���%��H�EH����H���H���(H�sP�H��1��r��H�mH��H�����H�=\)�̯�H�ٺ,�H�=�C賯�E ���w��t"����H�ٺ�H�=�C聯�H�ٺ�H�=���h��H�}H���
��H�=)�D��H�uH���X0��H�ٺ	�H�=�(���H��H�ٺ�[H�=�(]���H�ٺ�H�=�(����a���f�H�޿
�s��H�mH��H�����H����[H�=(]駮����H���#�H�=�B����H�ٺ�H�=�'�_���h���f.���H�=�B�:������DH�ٺ�H�=�'������f���H��t7H��t:H�vH��t	餳�@H����H�=>'�׭����H���#�H�=�A鯭�ff.�@��H���AH���8UH��SH��H��H���H��tRH�EHH�uH���ǃ�H����H�PH���$���������t���H��[]�H�C(H����H�@H����H�@H����H�xhH��thH��H�5������H��tbH��H���� ��H����S���DH�����t���H�UH��E1�1ɾ&�D$�FR���D$H��[]�H���1��S���������I���E1�1�1Ҿ"H���R��������+������ff.��������H��trSH��H���H��tZH��tU���tA< w*H�&H��sf�H�����t < w	H��r�H��H�5r���x�[�fD�����[Ð�H��E1�1ɾ'H��%�VQ�������[�ff.�@��ATU�����SH��tpH���ttH��to�����~u�H���HcЉ��H��H�L�!H���tUH�D�H���H��1�1�L���b��������t>L���ny��[]A\�������[��]A\�@E1��HLJ��E1�1�H�d H�߾������jP������USH��H��tqH���tgH��tbH�r(H��H���:��H��tNH�hH���H�߽����H�C`�CD�;�����t7H�s`H����G��H�C`��H��[]�f.������H����[]�f��{D�����f���UH����SH��H��l&�H��H����H�xH��H�Hǀ�H��1�H)�������H�H�k(�B��H�H�C�֘�H�H�CHH�CPH�H�CXH��t�E�C@H�ChH�CpHǃ��CDH��H��[]ÐH�5+#1��������H���CUSH��H��H�whH��t1��*��H�spH��t6���~)1�f�H�FH�<�H��t	�^F��H�spH��9.�1�����H���H�����Cx��~1�f�H�4�1�H�����9kxH����H�-�l&�UH�{XH��t�UH���H��ts�����~c������fD��H������Hc�H��H�4H�>H�1���tH�t�H���H��t�v�����H���H��UH�EH��H��[]��H�-�k&�Y���@�ff.�@��H��tH�wH�WH�H�G���H��tH�wH�GH�GH��ff.�@��H��t&H��tH�GH�H��tH�GH�1�H��tH�H�ø�����ff.���AWAVAUATUSH��dH�%(H�D$x1�H���I��H���H�G(H��H�s0H����H�h�GDH����1��g6��H�uH��H�C`I��贺��L�K`��M����I�}��I�qH�{8�@��H���������L��H�߽�����+D��H�C`H���J���{@��H��1��H�rH��L���H�H�CH���D$@H�D$H�CH�D$H�H�$�1������H�ChH���+�L�{8E1�A��������L@H�@L��N��I�q��?��H��H��L�θDD�I���iC��H�ChD90�A����L�K`M�����������{@��CD1�@���A�D$�ƒ��t��
u]��u	I�D$hI�D$H��u�C@H�P0H��t-H�Ѓxu�H�PH�@hH��u���I9�tH�P0H��u�H�@(H��u��t\H�L$xdH3%(���H�Ĉ[]A\A]A^A_�@L��H���}B��H�C`�'���H�ChH�����������fD�띐���tE1�1�1Ҿ#H���GJ��L�K`�����M���������H��1��H�rH��L���H�H�CH���D$@H�D$H�CH�D$H�H�$�@�������A�D$�ƒ��t	��
�g�����������D�������E1�1�1Ҿ"�I����.y�f.�@��~.�F�H�t@�H��D�A��A��
A�D����A1�H9�u�A��:D����
D�A��A��A1���~-�A�H�L�H��D�A��A��
A�D����A1�H9�u�C�����1Љ����Hc�H��tx�H�H����
~QHc��T7�H��W	H��WH��WH��WH��WH��WH��WH��WH��WH��fDwH�
w7��Hc�H�>��1��ff.�f�Mc�����I�����
~��Hc��
Hȹ
)�D��~l��H��:��
w`H�5=7Hc�H�>����J	H��JH��JH��JH��JH��JH��JH��JH��JH��H��f����Hk�L���
!��
�i���L��6A��Oc�M�>A��D�FD�I�D)�AH�Hc��
Hȃ�
��1��w	H��wH��wH��wH��wH��wH��wH��wH��wH��7H����f.����������������������������z�����	�k������
�T����
����ff.�AVA��AUI��ATI��USH�H����L�CH�C��L)�H9���1�1���L�CH�CL)�H9���H�CH�H9�HB�H�H��u�H�H��t	H9���H�,�H�Ҹ�HE�B�,�H9�HB�H�;c&H�}0�H��H��t]L�@(H�hH�@ L�@H�D((D��H�CI�$H�I�$H��L��L���4��HkI��H�EH�C�EH�C [L��]A\A]A^�E1�����p������~(�F�H�L@�H��Љ��
‰��1�H9�u�҉��1Љ����f�AWAVAUATUSH��(H���H���H�GH�_H�D$H����I��H�?b&I��H��I��L��I�GH����L��1�H���z�I�oH����L�t$I���D$I��L��M��f.�I�vH��1�I��H��I��I�GL�x����H��a&H�t$� �H����I�WI�~H�t$L�H�xA�~H�pH�2�xH�0�@H�I�� M9���E�FE��t�M�OH����i���A�W0A�vI�~I����x����H�����Z������7����AoI�� �Ao^�XI�WL�H�H�rM9��|���L�5�a&�L�EM��u>��f�I�p1�H��I��H��I�GHЋH��ttH�I�pI�L�M��M����M�(M�WH���u�A�W0A�pI�xI���������H�������1҉�H��I��I�GH��HЋH��u��AoL���AoHHIWH��BH�rA�M��M���k���H�� L9�����H�|$A��D$H��([]A\A]A^A_�@�D$�����K������H��H�ƃ�H��I������fD�c���H��H�ƃ�H�������1�1�����E1�1�����D$L�5~`&�r����D$�����m���H�D$�D$����I�G�W���fD��1��f���S��w&��t���[����H�lw&H��t�H�ǻ袓�1��+��H�=Dw&�>w&�yq�H�=:w&�,w&����[�ff.�@���
w&S��t1H�=w&�E��H�=�v&�)q�H�=�v&��諅��[���K����f�����v&��uÐH��H�=�v&�u���v&H��Ð��USH����v&����H�-^&�@�UH��H������H�@8H�@��@�UH�C H�CH�C(H��t?H�xH�Hǀ�H��H)���1����H��O��C0H��H��[]�f�H��^&H��1�H��H��[]���;���;����ݐ����u&SH����t.H��t2H�=�u&�ݑ�H�=�u&�N��1�[�f.����uɸ����[���UH��SH���^}�H��H��tH��uH��H��[]���E0H�k(H��C0�.��H��H��[]�@��H���cAUATUSH��H���=�t&��u
�g���H�=�t&�#���������H�=�t&舃�H�{(H��t���H�SH����H�{���s����E1�L�%-]&�I��L9kvV�C��tOL��H��HЋH��t�H�8�kH��t�f.�H�/A�$�kH��H��u�H�SI��L9kw��H��A�$H�{ H��t�H�/A�$H��H��u�I�$H��H��[]A\A]��fDH�=�s&H��[]A\A]钂�f�H��[]A\A]�DL�%Y\&���L�%H\&�{�����H���+H���"AWAVA��AUI��ATUSH��8H�t$���9I�E8H���A�����?�I�EA�U0H�D$H=��&E���mH�|$D�����1�A��L��H�t$H��H�T$H�T$IU�J���H�*H����1�E���H�EH��H��H��tHH��L9bu�D9ru�H�JH�t$L��H��H�L$ �v�H�L$ ��t]H�EH��H��H��u��L9e��D9u��H�MH�t$D��H��H�L$ �v�H�L$ ��uv�D��H9����1�H��8H��[]A\A]A^A_�H���(k�A��I�E8H���������fDH�|$D���S�I�ă�H��H�D$H�T$IU�J�����1�1�M�}(M����H�|$�M�G��I����_L��1�M��I��H��IW�B����L�:M���7D��H�D$(�I�H��L��H��tYI��L9Zu�D9ru�H�JH�t$L�\$ H�T$(H��H�L$�u�H�L$L�\$ �����I�H��L��H��u�f�M9_u
E9w�jH�T$D��I�u8I�} ��H��H�������H����H�D$H�JX&� �H�L$H���q���H�HD�pH��@L�`H�EA�EH���F���I�EH=�
�6���H�4@L��H�L$H��d���H�L$����������f�A�W0H�|$D����H��I�Ã�H�����DI���twE����A�W0H�|$D�����1�A��L��I��H���Q����H�D$IEH�HD�pH��@L�`�1����H�D$E1�����L��M���H�����I�OH�t$D��H��H�L$��s�H�L$���p����)���1�H���1�E1����H��1�����I���6���fD��AWAVAUATUSH��H����H����H��I��A�Յ���I�G8H����A�����?��M�wA�W0I�����E���+D��H����1�A��L��I��H��IW�J����D��H�D$�L��L�H�BM���]I9�u�D9ju�H�jH�T$H��L�$H���r�L�$��u��D��H9��V���@1�H��H��[]A\A]A^A_�@H���0g�A��I�G8H���"����fDD��H���]�H��I�ă�H��IW�J���G����I�o(H��t�L�EI����I�����L��1�I��H��H��HME��A��u�W����H��H�)H�AH��t1I9�u�D9iu�L�yL��H��L����q�u�L�������I9��	���D9i�����L�aD��H��L���q�ID����I9��7���D9j�-���H�jH��D��H���[q��������fD�U0D��H���:�I��L���H�������I���t�E��t$�U0D��H���t�A�����@1�E1����1�E1�����@��H����AWAVAUATI��USH��8H����H����I��I��H��H�$�Ne�L��H��H�D$�>e�E�F0�L$L��H�D$�DI�^H�$�t$�D$H��������I��L��1�I�nH��H�T$ H��HՋU����E1�H�}tH�\$�f�H�mI��H�}t1L9eu�9]u�H�UH�4$L���vz�u5H�mI��H�}u�L9euO�D$9EuFH�UH�4$L���Az�t2H�MH��8H��[]A\A]A^A_���+�I���>���1�E1�I�^(H����M�VL�[I�����I�����L��H��1�I��H��HS�BH�Ӆ�tzH�:tfL�d$ D�d$H�l$(H���DH�I��H�;t3H9ku�D9cu�H�SH�4$L���wy���H�I��H�;u�f�H��L�d$ H�l$(H9K�YM�VL��1�I��H�T$ I�^ H����H�KH�C�|$H)�H9���1�1��DH�KH�CH)�H9���H�CH�H9�HB�H�H��u�I�F8H��t	H9��\H��H�Һ�HD‹t$��H9�HB�H�OQ&H�z0H�T$(�H��H���H�T$(H�H(H�@ H�HH�PH�D(H�CI�F H�I�^ D�D$H��L��H�L$L��L�D$(�.t�L�D$(LCI�@D�l$H�4$H�CA�:H�{L���t�LkH�L$I�EH�CA�EH�C H���0H��P&H�$� �H�$H��te�t$H�HH��p�@L�`H�EA�FI���l���I�FH=�
�\���H�4@L��H�$H���H�$�@���f�1��0���f�I����w����L$D�C0L��L�T$ H�$�t$�&�L�T$ H���P���f��L$D�C0L��L�T$ H�$�t$��L�T$ H������fD�D$9C�����H�SH�4$L����v������H�K���f�H�D$ �t$H��IFH�H�pH��@L�`�����H��8L�����[]A\A]A^A_�Y�����1�H���f���H����H��t?��u;H�G H��t@H�P(H9�rH9psH�H��u�H�(H��u�1��D�ø�����ff.����H��tH�W(�GH��t	Bø����Ð��H��tH�G8H�w8�fD1��D��H��tH�W 1�H��t@HBH�H��u��1��D�f.�D��H��tH�GH��t�xL�����1��ff.�f���H��tH�GH��tH�xP�����f�1��ff.�f���H��tH�GH��tH�xX�����f�1��ff.�f����ff.����ff.�SH������LH����uiH����1�H��t�������t]APA�1�QRjjjAPE1�QH��jjjVH���H�����h�H��`ǃ�[�����u�[�DH�����APA�1�1�QR1�jjjAPE1�Q1�jjjV1��dh�H��`[�ff.�H��t��L��uA���H��H��A�H��AP1�PR1�jjjAPE1�P1�jjjV1��h�H��h�f����u��fDH��t��L��uA���H��H��A�H��AP1�PR1�jjjAPE1�P1�jjjV1��g�H��h�f����u��fD��ATUSH��tcH�O8H��H��tGH�IH��t>H��H��H��谍�H��H��H��I���l�H��M��tH��L&L��H��[]A\�H����1���ff.����H��tH��^�fD1��D��H����USH��H�������t0�s��t)H�sH��t=H�~P��H����u�!��H�C(H��tH�sH��tH�~p��H�CHH��tJ�K@��~CH�H��t;H�xPH��t2H�kH��tH�}pt�����u+H��[]Ð��Y�H�Ep������t�H�kH��tՋ����uˉ��H��[]�fDH�FpH�C(�l������H�C(H���E����K���ff.���H����USH��H��H�oPH��t�Oh��uRǃ����������t,�C��t%H�sH��tH�~PtH���H���[�!��H��H��[]�P�@H�G8H���H�P H+PHc@4H�VH�.H�F �}�������USH��8dH�%(H�D$(1�H��t/�OhH��H�oP��tH��unǃ����������u"H���P�H�D$(dH3%(umH��8[]��C��t�H�sH��t�H�~Pt�H���H���Z�!���f.�H�G8H��H�,$H�P H+PHc@4H�T$H�D$ �*|��g�����Z���H��tGUSH��H���>#H�t%�K�H��H�{PH���ac�H��t$H��[]�D��[�H����fD��H��H��[]��n�f.�SH����LJ�H�H��1�H��t�������tcH���H���jH��PA�E1�VjjjjP1�jjjjH����fc�H��`ǃ�ǃ����ǃL[�f�H�����H��jE1�1�PA�1�1�V1�jjjjP1�jjjj�b�H��`[�fD��H���USH��H���W4��t;H�oH����Dž����4���H�����H��[]�H� �T�H��H�CH������41�H�{(������������H��t6��U�H�Ep�C0�EL��8����H�kH��u�H��[]�f�H�Ep��fD1�1����H��H�CH���1���H��H��H�5u[]����f���H�C8H���)���H�xH��������o�H���H�CH���������fDH���H����Uv��G���AWAVAUI��ATUSH��H��8H�t$H�L$dH�%(H�D$(1��G4����H����T�H�D$ I��M�����C4��t	M���H�SPH�sH���M��ǃ�H�L$�g��I��t
ǃ�M��ME�D�{4H�l$ E����H�{PH��trH��H�{H����V�H��H���yH�{PL�XM��tJ@I�Ht2I�wL���=��t"I�GHH�}H9���H�p�����M�0M��u�H�{PH��1�L���U�H��H���cD�SE���4D�K4E���>M���#������M��tH�dE&L���H�|$ H��t	H�NE&�H�D$(dH3%(�yH��8[]A\A]A^A_�f�H�t$H�T$ �h�I��H���U�8�b���H�|$ H�5��;��E1�H�L$����H���#H���g���L��D&H�|$ I�L�T$H��t
��L�T$I�H�D$ L���H�|$�R�I�����@H�����}x��H�{P�8���@M��tH�{L���k�H�EH�E H��tH�h(D�C4E������������s����H�sH����H�~P���KL����������E1�E1�1ɺL��H��蟅��H����H�sPH�{H��H�D$H�T$�%S�L�D$H��I���|L��C&L��L�T$A�L�T$H�SPH�sL��M��H��L�T$�"��L�T$L��!��A�����@��������S������P�������H�EH��������x�����H�x0�����H�|$H�5�L�`P�;�����L���6|��H�sH���H��L���L��C���H��H�5��a���H�|$ H���>����B���fD����Y�������fDH�|$薃�����H�|$�tP�I��I������H�{L���S�H�EH����H�P0H�h(H��tH��H�P0H�h(H��u�H�E ����H�}I��L��*H��H�o��D����CE��u
ǃLH��A&L���N���fDA�<$x���A�|$m���A�|$l����A�|$n����A�|$s�����A�|$������{L��u2���E1�E1�1ɺL��H������H��H���&�}�JH�{P1�H���>_�I��H��t=���t4�{t.H�sH��t%H�~PtH�SPH�L$H���I���?F�!��L��@&L�T$L��A�M��L�T$tL��A�L�T$I9��]���H��A��R���fDH�L$ H��M���H�!��H�{P����}m������}l����}n����}s�����}�����{L��u2���E1�E1�1ɺL��H������H��H���I�}�Z����~H�{PL��H���]�L��?&H�|$ I��L�T$A�M��L�T$�����������{����H�sH������H�~P�����H�SPH�L$M��M��H�����D�L�T$!�����fDH���jH�����x���H�SPM��H��L����~�!�����H�SPH�s��M��L�?&���H�sPH�{H���)d��#���H�sPH�{H���c��i���H�sH���H��L����N��N���E1�L��H��H�߾������E1�L��H�
H�߾��%���������}�����H���VG�I��H��t/H�8t
L���H��_���M��L��H�fVH�߾d�q���M��L��H��H�߾c�U��$���H��H�57��H��=&L��M�������L������H����F�I��H��tlH�8t>L���H�����N�H��H�5��k�H��=&H�|$ �L��M��u��B���H�H��t�H���H��t�H�{H��H�5$T1����H�H���.���H���H������H�{H��H�5�1���������AWAVAUATUSH��dH�%(H�D$x1�H���GI��H���;H�GH��H���+D���H��L�gPE��tH�xX�pH�T$8L��H���8`�H�{1�1�H��H�D$��a�H�D$H���H�{H�GH����M��LD�ǃ����������t"H�C8H��t�@4�����H�L$=��O�f�ApH�t$H���*Y��BM��tA�|$H�t$L�����$v�s4����H�CH�xPH����H�D$8H�t$H��H�$�"y��D$I��H���nH�D$@L�d$ M��I��fDH�CM�wX�xL�6M��uU�L@H�5j���y���H�CI�NhI�VI�vpH�xP�U�L9���H���yM�vHM����I�~Xt�I�~hH��u�I�~H�5
��|y�u����u���DH��t.H�uH�UH��t!H��f�1�H��H����H�u�H�U�H��u勓���t
����H�|$8H��t	H��:&�H�D$xdH3%(��H�Ĉ[]A\A]A^A_�DH�|$8H��t	H�:&�H�5�H���.��@�CT��J���fDH�@PH��t/H�xH�|���H�xP�q���H�xX�f���H�x`�[���E1�1�H�
H�߾^�g�ǃ��0����I�~h��������I�vhI�~�2L���K�I��H���OH���&H�}H���L�}�I��I��H����L����w�t�M9��!���M;n����H�i9&L��M�vHM��������|$u*H�CH�$H�t$H�xX�sv��D$I��H���g���L�d$ H�T$8H����H�uH�EH����H����L�mH���'f�I�uI�EI��H���kH���b�>xu݀~mu׀~luр~nuˀ~su�H��H����H�L$8�I�VXH�$L��H��������H�xX���������������M�������L�d$(��M�vHM����I�~Xt�H�CI�NhI�VI�vpH�xX�cR�L9�u�H�CI�NhI�VI�vpH�xP�ER�H��u�I�~hH�����E�H�5�H���t�I�vH���t�I��M����H���~H�}H���qL�e�I��I�|$�H���VL����u�t�H�s7&L���)���f�H��H�{H�t$�G�H��uM��tH�{H�T$8L����G�H�T$8H���H����H�PH��t�:uH�xt
H�|$H���k:�H���
����C4H�uH�U������H����H����H����u0����1�H�����H�uH�UH��H�������H��������>xuӀ~mù~luǀ~nu��~su���f�H�5�H��L�d$ ���=����H�xX�M����&���H�|$1��TT�H�L$8E1�H��H�R	��H�$�T�H�$H���������f�H�t$��O��t����H�\$H���j�H���[[�H�|$8H���	����
����H���H�sH���-T�~!H�sH���
M��!�����ǃ�t��C��L�d$(M�wX���f�H�CH�$H�t$H�xX�r�I��H���$����D$�c����M�FpL��H��H�jM�u����I�~�'C�I���?���H�5)H��L�d$(��M�wX�<����F�ff.�f�AVAUI��ATA��UH��SH��@H����H�C0��<H��@H�{H��1�H�H��H�CpH)���x���H���8����Mc�C�D5A���\A�U�� wjH�&H��sZA��;T<<uPC�|5!tHA���UA�E< w5H��s/A�L$�L��L�@H9��.�P�� wH��H��r�@H��3&�CH�CD��L����8�H�CPH���z�����t<@H�E8H��t/Hc@4=��������f�Sp��6@tH�Chf.�H��3&���uH��[]A\A]A^����A�H�8t���A�H��H��[]A\A]A^��H�2&�x�H��H���q���H�5�H���_d��D��6uoA�������<"t<'t<<�����C�|5!���H���D��L���'<��CH��H��2&H�CH��uJ�����f�Cp�����H�KXL��L��H���T�B�D3XH��H�>2&�CH�CH�KP������������H�5�H�����H�&2&H��1����f.�AWAVI��1�AUM��ATI��UH��SH��H��XdH�%(H�D$H1�H��tH�wPH��B�H��L��PM���TI�L��I�G0��HH��H)�H��P1���`I���I�GX�H�A�GH�SH�CPI�wHI�W@��8I�G(���pH�PXM�wH��u�{fDH��H�B0H��u�H�}1&L�z0I�W8����e�C����D�[4E����L��H)�A�}�bH��H������I�GI�G H��tI�W@L�x(H�P@D�S4E����D���E����D�CE����H�CH����H�xP���{H���H�$���/I9�v$�}&H�Eu�lf�H���x�&�\I9�u�A�}�H�SPH�sI��L��H�<$��o�!��DH�D$HdH3%(�H��X[]A\A]A^A_�D���uϋS������P��u�I�GH��t��xu�H�x0u�H�hPL9���H�sPH�{L����T���H�sH���L��H����8��`���H�������L��H)��z���@��8H�{P1�L��t]�@?�I��M���)���H�5H���`�����H��u��������������I�GH���3���������<�I���fDL���=�I�GH�CPH�PXH�������L�xXH�/&���������A=�H�8������2=�L����}����H�{H���d2�I�GH�������I�O@H�P0H�H@L�x(H��tH����f.�I�G �y���L��H��H)��Y3�H�SPH�sL��I��H���H�$��m�!��L�$M�����H�-.&L��U����H��L��E1ɹ���H��H)�E1�jH���;�Y���I��^H���k���H��(��H�l$�2L��L��H��H�D$�}?�L�L$H��I����H�SPH�sM��H��ǃ�H�<$L�L$�N��L�L$I��t
ǃ�M9��,I9��#H�-"-&L�L$L��UL�L$M��t	L��UM��H�SPH�sM��L��H�<$L�L$�l�L�L$!������H�-�,&��H�sPH�{L���Q������H�sH���L��H���<��|���A�>i����A�~d����A�~�����H����e�����E1�H��H�2�H�߾�������L��H��H)��R1�H�SPH�sL��H�<$I��H�D$��k�L�L$!�����H�-�+&����5=�D��AWAVAUATUSH��H��$�H�T$H�L$�D$(��$��D$,H��$�H�D$0H���H�GPI��I��D��L��H�D$ ������H�|$�iH�|$�]A��8���.I���H�t$L���jK�M��@H��tI��M���2A��8I�����1�L��1��32�I��M���H��HL��H�5�[]A\A]A^A_��f.�A�����t@A���u6I���I�wH���8I���I�wH���B�A���A!��H��H[]A\A]A^A_�fDH�GH�xX���H�@PH��t,H�xH����H�xP����H�xX����H�x`�����E1�1�H�8�L���
���ALJ����M��@M������I�|$L��I�D$0A��<H��H)�I��@1���xI�$I�D$p���H�I�GA�D$I�D$@A��8����M�t$H��)&D�(E����E���E��tI�G8H��t�@4�����=��O�fA�D$pH�|$ �a�����E�E1�H��H�DH�D$I���H�D$8�@I�H�|$tL9l$uI�D$HE�O4I��E��uME���E��tAA���t9I�wH��t0H�~Pt)H�L$H�|$8I��I��L���!.�A!��f.�H��H;\$t5L�+H�k1�L��H���F�H��t�M���c���I�D$`�\���f�ALJ�����L��L���JE��zH�D$ H��t�xL���H�|$ �Ab�L$,��t�T$(��)�A���E‰D$(H�|$tI�|$H�N�t$(�������D$(H�\$0��H��H�l�(�&H�KL�C H��H��L�����H��(H9�����H�sH�;H��t�H�{u�A��8��t'H��I����G�H���oH�sH�;�fD1�1��W9�I��H��t�H�KL�C H��L��1��:���H�C'&L���w���f�H�t$1�1�L���9�M��@H��M����I�|$L��I�D$0A��<H��H)�I��@1���xI�$I�D$p���H�I�GA�D$I�D$@A��8������H����H��&&I�T$D�(E�������5�H�8���5�L�����DE��8I�E��u H���0���1�1��K�I���.���fD1�L��1��|K�I������@H���?����H�KL�C 1�H��L������4���fDI�L����?�����L���Z�H��HL��[]A\A]A^A_�:K�f.�I�H�T$H�t$ �M6�I�D$HH�������H�|$H�5�Y��c���I�D$HH���j���H�\$1�L��H���vC�H���F���H��E1�H��tmH�����L���n���+���ALJ��h���A�G�[���L���#3�I�D$H������U���I�H�T$L���5�I�D$H�d���1�H�L���L��������f.�H���'H�GPH���AWAVAUATI��U��SH��H��L�h M��t;A9M������H��.�H����H��[]A\A]A^A_����tKH���-�H���aH�SPH�BH�B H�P(H�R@H�P@��������H��[]A\A]A^A_����f�H��#&I9Et`��L��H����H�SH�P@H�{PH���=�H�CPH�x�M�����������H��[]A\A]A^A_�D����t��������I�EPI�MXH9�������N9��CH�5�H����Hc��Lc�J�?H��H�������L��H��H9���Hc��H��L����9�4D�4)H��H�� &Mc�M�L���H���D���Hc��I�EPH�L��L����D���I�EP���Hc��(�9������L��L���{0���H�CPH�x����I�}P�=����������H�59�H��H��[]A\A]A^A_����H�5���6�������f.�H���H���!(�uNI�EP���@H�5|�H������Y���@H�5d���H����/�I�EXI�EP�\���I�}P�/�I�EP�J���ff.�f��������f�������f���H��tH�GH��tvAVAUI��ATI��UH��SH��H���D�I��H��tZ�C4��u<L����U�L���S#�L�sI�FPL��L��H��L����0�I�FPH�CH�xPt'[]A\A]A^�fD��L�s��f.�H��H�5��[]A\A]A^�i��f���H����H��H	���D���E��uD���E�����G����H���H�H����H�@ H����AWAVAUI��ATI��UH��H��SH��H��H��(H���I��H���SI�}L��H��H���D�I�E8E�e@�(E���H�$A�ED�D$I�EHH�D$I�E(I�E(H�D$H��&�I�EHH���-H�I�E8L��L��I�E@��O�I�E8�x0��I�~�1H�H��H��L��I�F4I�E8H�@ I�FHI�FI�F ��Q�A�}@~L���83�A�}@�I�}8��3�H�&I�}H�H�$I�u(E�e@E���I�E8�D$A�EDH�D$I�EHH��tI���H��t
�$�u	I�u(H���H�D$I�E(H��([]A\A]A^A_����H�x ���G�L����W�����H�5x�L���,��H�$E�e@E���I�E8�D$A�EDH�D$I�EHH�D$I�E(�H���E_�I�F���ff.����H����USH��H��H�oPH��}X�H���������u:��P������tFH�����}H��H��t<H��[]��W�fDH�S8H��t��R4���������O�f�Pp�H�SH�zXH��H��[]�Z7�f.�H��[]�f���H�SH�zP��fDH�{�f���H����USH��H��H�oPH��2�H���������u:��P������tFH�����}H��H��t<H��[]��V�fDH�S8H��t��R4���������O�f�Pp�H�SH�zXH��H��[]�z6�f.�H��[]�f���H�SH�zP��fDH�{�f�SH��tzH����L��t	���t\���1�A�1�jE1�QR1�jjjjQH��jjjV1��6���CH��`ǃ���u
ǃL[�fDjA�E1�1�Q1�R1�jjjjQ1�jjjV1��D6�H��`[�ff.���H����H�GH����USH��H��H	���I��H��H��PH����t}��uXH���H�pXH����<�H���������t#�S��tH�sH�~PtH��H���%�!��H��[]��H��H��E1��i[H�Q�]���H���H�pPH���m<��H��H��E1��i[H���]�K�����ǃ��U������H����H�GH����UI�ȉ�H��SH��H����P��tz��uUH���H�pXH���I�H��tu�����t(�S��t!H�sH��tH�~PtH��H���Q!�!��H��[]�@H��H��E1��[H���]���H���H�pPH���=I�H��u�ǃ��|���f��ff.�@��AWAVAUATUSH��(H�4$H�l$`dH�%(H�D$1�H�D$H����H�I����H�5��H��I�׉�E��M���W�t	���6L��H�T$L���<�ADŽ$�I��A��$P���~����I�D$H�pXI��$�H��A��L��H�D$H��UAVAUL�D$0H�T$ �nH�A��$�H�� ����H��tA��$�����H�|$H��t	H��&�M��tH�v&L���H�D$dH3%(��H��([]A\A]A^A_�fDE1�L��H�;�L������H�'&L���H���Q���ADŽ$��U����A��$�E1�1�L��H�����D$�3���D$A��$����f�A�T$������I�t$H�~P����H�|$H����P�A!�$���f�I�D$H�pP����(�ff.�f���H���KAUATI��UH��SH��H����P������t$H��H��E1��[H���]A\A]���H�M��I��H�Ѻ�@�I��H��tAI�}xu+H��t&H�C8H����H�pH����H���W�I�ExH��[]A\A]�@�����t�H�H��t�H���H��t�H�{L��H�5���]f.�H�M��I��H�Ѻ�R�I��H���d��������t�H�H��t�H���H���t���H�{L��H�5]�H��1�[]A\A]�����H���1���@��H���kAUATI��UL��SH��H����P������t$H��H��E1��h[H���]A\A]�;���H��_?�I��H��tGI�}xu+H��t&H�C8H����H�pH����H���9V�I�ExH��[]A\A]�f.������t�H�H��t�H���H��t�H�{H��L��1�[H�5��]A\A]��fDH��'Q�I��H���d��������t���L��t
����u���H��H���E1�1�A�H��1�1�ǃ�kATP1�jjjjATjjjjk�/�H��`�)���fD��H������@��H����UH��SH��H����P��t=H�{H��t�LtH��H��[]��6�Pt/H����6�H��tJH��[]�H����4�H��t�H��[]�@�GLH���6�H�S�BL��@1��DH�{H���GL�}6�H��t$E1�H��H���H�߾gH�D$�)���H�D$H�S�BL�j���@��1��f���H��tH�G8H��tH�@�f�1��ff.�f���H��tH�G8H��t�@4�f.�1��ff.�f���H��tH�G8H��t�@8�f.�1��ff.�f����W���&��w�=|&��������f.���H�������Z����H��&LJ�H�GpH�&H�GxH�R&H�H��&H���H�r&H�GH��&H�GH��&H�GH��&H�G H�.&H�G(H��&H���H�&H�G0H��&H�G@H��&H�GHH��&H�G8H�9&H�GPH��&H�GXH�&H�G`H�&H�GhH��&H��&H���H�&H���H���H���H��&H���H��&H���H�H&H���H��
&H���H���1��f�H��&H�GpH�GxH���H�c&HLJ�H���LJ��������f.�������f.���H��t
�����t�@U��SH��H���5k&�<��uHǃ�H��[]�@H�q&H���H��[]���H���c)�H��H���B<�f���H���6������(H�&&H�GHLJ�H�H�)&H�GH�G(H�&&H�GH�GXH�C
&H�G H�G`H�@&HLJ�H�GhH��&H�G0H�GpH�_
&H�G@H�GxH�&H�GHH���H��&H�G8H���H��&H�GPHLJ�H���H�g
&LJ�H���H��&H���H�&H���H�{&H���H����ff.����H���S�H��H����R����USH���F�H��t<H�8H�-�&H��H�EH��t��H�EH�{H��t��H�EH��H��[]��fDH��[]�f���USH���E�H��t,H�8H�-b&H��H�EH��t��H�EH��H��[]��DH��[]�f���USH��H���G4H�o��t H����H���tUH��[]�fDH���H�}��H�{(H�������H�Ep�C0�ELH�kH��u�H��[]��H�C8H��t�H�xH��t��N�H���H�kH����{���H�C8H�x��H����b����1�1���P�H��H�CH���8���H�H��tH���H��tH�{H�5��1���ǃ�ǃ����ǃLH��[]��H�Ep����H�kH��������!����H� �g�H��H�CH���p�������f�ATUH��SH��P�~&��A��t$1����A9�tH�u(H�}��I��u�A�����D��[]A\����H9�tgH��tZ�H��t8UH��SH��H��H�6H�?�!$�u
H�EH9CtH�������[]����H��1�[]��������f�1��ff.�f���H9�t'H��t%H��t
H�6H�?�#�f���f.�1�ø������H��H���E1�1�VA�1�1�P1�jjjjjjjjW1��%�H��h�D��H��tAH��H�O8H�5l�1�RA�E1�1�V1�jjjjjjjjP1��%�H��h�@H�։��n���ff.�AWAVI��� AUATI��USH��(L�-�	&dH�%(H�D$1�A�UH����I��I�D$� H���Ao$H�D$$�f�I�D$�Ao$H�EE�I��M��H��H�����L���7�S�9�t9�r6H�^
&H�� L���H��A�UI��H��u�H�5���E1����H�L$dH3%(L��uH��([]A\A]A^A_��H��H��A�E1�1�Q1�1�R1�jQ1�jjjjjjj�a$�H��h�ff.����S1ɉ��"D�u��[É�H�a��1�����������ff.���H��1�1����C�uH��É�H�H��1��L����������D��UH���PSH��H�&�H��H����f�H�5.���H�=����@@ @0@@��&�H�CH��t~H�5���H�=������&�H�CH����H�+H�=f�����C0"H�C(H����1��?��C@H�CHH��H��[]�f.�H�5���������DH�5������H�P&H��1���H�5Y�����H�{�&(�H�&H��1��fDH�{�(�H�{�'�H��&H��1�H�5	���?����F���f.���U��1�SH���(�H��t(H��H���M1�H��H��t-H�@H��H��[]�H�5����1�������H�5�������H���_4��ff.�f���U1�SH���D�H��t"H��H����0�H��H��t'H��H��[]�DH�5���1��e�����H�5����O���H����3��D��ATUSH��tCH��H��H�5F���1�H�=�����H�I��H��t8H���H0�H��H��t@H�X8H��[]A\�@H�5a��1�������H�5y��1�������H�5������L���G3��D��AU� I��ATA��USH��dH�%(H��$1�H��H���H�H���#�H����1�1�H�D$`E1�1�H��H��&H�D$pH��&H�D$x��!�H���}ǀ8H�=y&H���D�H��H�CH��tpH��D���-(�H�{H��H��tyD���0�M��tH�CI�E�E@H��$dH3%(H��ujH��[]A\A]ÐH�5���1������H���<�H�5����o����D���H���<�H�5����J������� ���AVAUATUSH��dH�%(H��$1�H����H��1�H��� H��I���A���H�H���"�H�T���1�1�H�D$`H��E1�1�H��&H�D$pH�&H�D$x�V �H��H��t~ǀ8D��H����&�I��H���}H�kD��H��L�kP�@@�.�H��$dH3%(L��ukH��[]A\A]A^�DH�5��E1��4����f�H�5Q��E1������f.�H���8;�H�5�������������ff.�f���H����USH��H��H�?H��t�]0�H�{H��t�O#�H�{H��t�A#�H�{8H��tH�GH��t�S@��t8�:�H�{HH��t���H�-&H�{(H�EH��t��H�EH��H��[]��H����H�{8H�G�f.��ff.�@��AVAUATUSH��H���XH�?�NH�I��H��I���,�H��tH���9�H���DH����H����H���HH�+H�}(H�E��H���	�H�kHH�;H��tH�}p��H�5���z?�Ņ���L�c0H�;�L���|=��t�H�;M���6L���>?��VH�;L����D=��<H�;�H�tfH�54��?��H�;L����
=��H�;�H�GH�0��>���H�;L�����<���H�;�M��t^H�5���>���H�;L����<���H�;L����j>���H�;L����p<�xlH�;�H�5���;>�xW�[]A\A]A^�@H�;H�GH�G(���H�5v!�>�����H�GH�8��H�;H�Ep�Z���[�����]A\A]A^�f���� �H�E(H�+����f.�H����H����������]���H����H���������?���H���� H���������!���fD��USH��H��txH��H��u�H��tH���6�H��tS�xuMH�;H�5!��=�Ņ�x8�C��tH�;H�5p���<�x�H�{��$�H����[]�f.��������H�5r�����������H����H�߽��������fD��H��tVSH��H���H��t=H���=6�H��t0�xu*�@H�;H�S0��j:����[��H��fD�����[Ã��ff.�f���H����H�����>��AUI��ATUSH��H��H��(�H����H���5�I��H�����P����������uiH���
�Ņ�xoH�;H�5���;�x\H�;L����;�xKH�;H�5ո��r;�x6H�;H�S0���{9�xA�D$�H��[]A\A]Ð1��@������吸�����f.���AWAVAUATUSH��8dH�%(H�D$(1�H����I��H�����:��H��H��I��H����H�=@���I��H��tH�5��H���9�H��H���9�I��H�}L�|$L�l$���H�}H�t$H�D$ ��H��H�D$t5L�5�%L��A�H�D$L��H�x���tr������fDM��tSH���%��I��H����L�8L����
�I�FH����H�}�8�H�}L��I�F�8��L�5y�%H��tH���
�H�5��H���8�H��L��H���8�H��H��I���A�L���A��۸����I�H�L$(dH3%(uMH��8[]A\A]A^A_�H��H�~����H���%L�������H�\��H���w�����

�ff.�f���ATI��UH��S��x)L��H������xH����N�x
�[]A\��������f�AWAVAUATE1�USH��H��@H�{�/�usH�{���H���j2�H��H��trH�x�I	�H�}I���=	�H�{I���Q �L��L��H���c0�H�-��%L��A��UL��UE��x8H�{E���t�H��D��[]A\A]A^A_�fDH�{���Z���f�H�{A�������H�C����ATUSH���
H��H���H��t6H���1�I��H��t&�@������t��t[�����]A\��1�H��%��H����H�H�{H���@��C��uH�;H�5���O7�x��[]A\�@H���(���x����H���X������u���H�;H�5���7��^����S�uA�D$�Z���H�;H�5_���6��0������H�5�����������q���H�+��H�����������H����H�����>��AUATI��USH��H��H���H��tsH���+0�I��H��tc�@�����1�uLH���b�������H�;H�5����6����S���A�E�f.�1�H�g�%��I��H����L����I�EH����A�EH�{L����C��uTH�;H�5��5�x-I�uH�;��5�x�H��[]A\A]�f������t���H�������[]A\A]�@H���8���@H���
������@H�;H�5���5�����H����H���@��H�o��H���*�H���%L��������W���@������f.���AWAVAUATUSH��H���
H����:��H��I��H��I��1�H��tH���8�H�5O�H���Y3�H��H���N3�H��H��H���&�L�=�%H��A��A�E����M��toH���%��H��H��tkH�=�����M��tH�5�H����2�L��H����2�H�EL����H�EH��tLH�{���H�{H��H�E��H��D��[]A\A]A^A_�H�R��H�����DA�������H�1��H��A�������H��A��ff.���ATUSH��t?H��H���H��� H���-�I��H����@������ti��t�����[��]A\��1�H���&�����xދsŅ�t�C H�;H�5���2�x�ŋC��uyH�{���[]A\�fD�K�����C 1�H�;H�5��2��q���I�4$H�;��w2��[���H�;H�5֯��^2��B���ŋC��t�H�;H�5���>2���q����H���
�Ņ�� ���H�{��H�C����S ���P���H������C ���C���ff.�@��ATUSH��t;H��H���H��t*H���z+�I��H��t�@����������t�����[��]A\�@1�H�������x�H�;H�5Ѯ��Y1�x���C H�;H�5ɏ�=1�x�I�4$H�;��+1�x�H�;H�5����1�x�ŋC��uYH�{����[]A\�f��k��t��k ��t�H������C ����H��� 	�Ņ��@����)����H�;H�5��0���ff.�f�USH��(dH�%(H�D$1�H���H��t,1҃~�D$f�T$w�FH���H��Hc�H�>��1�H�L$dH3%(��H��([]��G0�D$ 1��F�D$f.�H�;H�t$��/������H�t$�����Ņ�xsH�t$�D$>�F�D�D$ 1��F��� [�F1�f�D$��D$ 1��F
�u���D�D$ 1��F�]�������������.�ff.���AUATUSH��H����H��I��H��t~A�Յ�xwH��N��H��tYH����(�H��H���f����Ņ�xH�C��u)H�;L��D���,�x/�H��[]A\A]�f.��C ���1��@������̐H����H�����������H�5V���t�������ff.�f���UH��H��SH��H����H��H��H��[��]���D��USH��H��H��t>H��H����H��H��t+H��H��� ��H���H���%�H����[]�f��������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�-�H�L$dH3%(uH������ff.���H����H����ATUH��SH��H��'��H��t2H���&�H��t%�@��t]��txI��tpM��u'[1�]A\�@H��H������Å۸����I�[]A\�H��L������I9�t�H��%L����@H�H�sHH��1�H�x ��[1�]A\�@H��1����I��끐������f.���ATI��UH��S���x)L��H������xH������x
�[]A\��������f���UH��SH��H��t<H��H���c�H��H��t"H��H���0�H�߉�H�D�%�H����[]ý������H�5���������|���f.���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��&�H�L$dH3%(uH������ff.���USH��H��H��t>H��H��t6H���.�H��H��t&H��H���[�H���H��%�H����[]�@�������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��tQH��tLH��$�H���$H�D$H�D$ �D$0H�D$�>�H�L$dH3%(uH����fD��������d��@��AWAVAUATUSH��8dH�%(H�D$(1�H��tIH��H��tALc�E��x9A�̅�x2H��H��v��H��t1H���"�H��t$H��H������D$��y�������fD�D$�S����L�L�3M��t�H��t�H�D$!E1�L�4$1�H�D$H�D$$L�-.�E��H�D$fD1��D$#f�D$!A9��H�T$�C1�H�H)ڃ��L�Hc؃�@��A9ĈL���H��@��u��T$!�������0��?A�D�D$$�D$"���@����<@��	�Hc�A�T�T$%�T$#��@��@��	�H�A�D�D$&�����D$'=��u�D$&=�A��G~$H�<$H�W���%�������A�E1�H�T$H�<$���%�������A�A��A9����f.�E���w����D$D�H�L$(dH3%(u4H��8[]A\A]A^A_Ð��?A�D�D$'�^���fD�C �O���������AWAVAUATUSH��H��tIH��tD��x@��x<H��H�A��Lc�H���7��H��tBH��� �H��t5H��H���J���A�ƅ�y&A�����H��D��[]A\A]A^A_��E1��E����H�mL�H��t�H��t�E��t�A�E�E1�L�%��L�l�1���H��Aǃ�L��w$��t�H��A�I9�t&��H�����L��M$��u��S���E���G���E��E�����E �Z���ff.����ATUSH��tCH��H��H��H���r��I��H��t*H��H��H����L���H�P�%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��(�H�T$dH3%(uH��������H��tWH��tR�:tMATM��USH���n'�Ņ�x(L��H����xH�����x�[]A\�@�������f�������f.���AVAUATUSH��tOH��H��L��L��I��I������I��H��t0H��I��L��L��H�����L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����:��f.���ATI��UH��S���t0��M��tL��H�����t�H�����t
�[]A\����������ATUSH��tCH��H��H��H�����I��H��t*H��H��H���|�L���H�`�%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�T$dH3%(uH���������H��tWH��tR�:tMATM��USH�����Ņ�x(L��H�����tH����N���t	�[]A\�f��������f�������f.���AVAUATUSH��tOH��H��L��L��I��I�����I��H��t0H��I��L��L��H������L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$��H�T$dH3%(uH�����J��f.���H����H�����>��AUI��H�5ATUSH��L��H�����:H�{�Q��H��t4H�����I��H��t$�x��@H���Hc�H�>��fD1�H�O�%��I��H����L���t��I�$H���A�D$H�{L�����H�;H�5������I�4$H�;��m�xy�H��[]A\A]�@1�H���~���xZH�;H�5����9�xEA�D$��O���DH���H���L��������DH���X��Ņ�y�f����������fDH�I��H�����������[���H����H������������=���H����H������H�)�%L�����������f.�������f.���USH��H���}H��H����H��t\H����H��tO�@����wTH�;H�5�2��Ņ�x?�C��tH�;H�5w���x%�H�{���H����[]Ð1�H����[]�D�������f���ATI��UH��S���t0��M��tL��H���v���t�H������t
�[]A\����������ATUSH��tCH��H��H��H������I��H��t*H��H��H����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����@����H���!ATUSH��H����H��t6H����I��H��t&A�|$�����waA�D$H��Hc�H�>��1�H��%��H����H�H�{H���@�%��H�;H�5����xV�[]A\�1�H�������x>H�;H�5����x)A�D$���H����H�����������DH������y���H����H���|��������r������ff.���USH��H��tQH��H��E��H��t@H�����H��t3�xu-H�;H�5�����xH�{��H����[]�fD�����H����[]�f���ATI��UH��S�M���t0��M��tL��H���f���t�H������t
�[]A\����������USH��H��H��t>H��H������H��H��t+H��H���0 �H���H���%�H����[]�f��������f���H���H�T$0H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$��H�L$dH3%(uH�����+��ff.���AWAVAUATUSH��H����H�����>��H��H�I��I��I���>��H��tH����H����H�a�%��H��H����L�����H�EH���u�EH�{H�����H�;H�5w��Ņ��H�;L�������M���_M�����KH�;���(H�����g�A��E����H�;H�5���,�D$����L�{0H�;�L���,�D$���xH�;L����A�Ņ��bH�;L������J�SH�;���H�5��D$��L$��� A�Dd$Dd$E�A�A�H�;L�������H�;L��A��l���H�;L���A��q���A�lH����[]A\A]A^A_�H�����?�A�������M��tNjCH�;����H�o����x`H�;H�5H�����xKD�lL�{0�3���DH����D$���L$��H����H������fD������:���fDH�������v���H���H�߽�����������H����H���p��H���%H����������H�ӵ�H�߽�����A�����ff.����H����H�����>��AUI��ATUSH��H��H����H��t%H���{�I��H��t+�@������t��t�����H��[]A\A]�fD1�H���%��I��H����L�����I�$H����A�D$	H�{L�����C��u;H�;H�5I(��x�H�;L������u���H���[]A\A]�fDH���������R�����@H�;H�5����Ņ��1����S��uA�D$�4���f.�H�;H�5�����������H����H���������H����H�����H���%L����������f�������f.���USH��H��tqH��H��U��H��t`H����
�H��tS�@��	��wHH�;H�5_����Ņ�x3�C��tH�;H�5K����x�H�{��H����[]�D�������f���H��tFATI��UH��S�x�Ã��t)L��H���V���tH����G��t
�[]A\����������ff.�f���ATUSH��tCH��H��H��H������I��H��t*H��H��H�����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$�-��H�T$dH3%(uH���������H����H�����>��AUI��ATUSH��H��H��8��H��t%H����I��H��t+�@������t��t�����H��[]A\A]�fD1�H�/�%��I��H����L���T��I�$H����A�D$H�{L������C��u;H�;H�5�$�\�x�H�;L����K��u���H���[]A\A]�fDH��������R�����@H�;H�5Z��	���1����S��uA�D$�4���f.�H�;H�5O������������H���H����������H����H������H�1�%L����������f�������f.���USH��H��tqH��H����H��t`H���
�H��tS�@����wHH�;H�5���)��x3�C��tH�;H�5���
�x�H�{���H����[]�D�������f���H��tFATI��UH��S�����t)L��H������tH������t
�[]A\����������ff.�f���ATUSH��tCH��H��H��H�����I��H��t*H��H��H�����L���H���%���[]A\���������f���H���H�L$8L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�H���$H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�����P����H����H�����:��AVAUA��ATI��USH��H��w��H��t:H����H��H��t*�@������t��t[�����]A\A]A^��E1�H�n�%��H��H����L�����H�EH����A��H�{H�������E���C��tH�������x�A�H�;H�5���
��q���A�H�;E��u#L���k
��V���D�[]A\A]A^��H�5���D
��/���A�H�;�@H�;H�5r��!
�A�ƅ��	����S��u�E����H�;H�5o��������A���H����H��������H���H�����H�P�%H��������A����������f.���USH��H��t0H��H����H��tH���8�H��t�@��tc��t��
t�����H����[]�1�H�;H�5���/�x�ŋC��tH�;H�5����x��H�{����H����[]�H�;H�S0��
�Ņ�y��ff.�@��AUATUSH��H����H��1�L�%��DH�{����H����H���^�H�����@����	��Ic�L�>��@H�;H�5���Y����H�;H�5���@�A�ŋC��tE��xqH�;H�5��D���A��H�{����E��xND��^���fDH������A����H����A����H�����A���H����A��������H����[]A\A]�ff.���ATM��UH��S����t0��M��tL��H���V���t�H���W���t
�[]A\����������AVAUATUSH��tOH��H��L��L��I��I������I��H��t0H��I��L��L��H���<��L����H���%���[]A\A]A^��������f���H���L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$(H�D$H�D$ �D$0H�D$��H�T$dH3%(uH�������f.���H��tN�:tIH��tDATI��UH��S�����t'L��H�������tH�������t�[]A\���������D��AUATUSH��H��tMH����H��L��I���J���I��H��t2H��H��L�������L���H�&�%�H����[]A\A]���������f���H���L�D$@L�L$H��t7)D$P)L$`)T$p)�$�)�$�)�$�)�$�)�$�dH�%(H�D$1�H��$�I���$ H�D$H�D$ �D$0H�D$���H�T$dH3%(uH�������D��AWAVAUATUSH��H����H��H�I��I��I�����H��tH���C�H�����@��
t;��t-H���H�����脾��H����[]A\A]A^A_�M���IM���M���pH�}H�5j���Å��L�}0H�}�L������H�}L��������H�}L����������H�}H�5�����L�u0H�}��L������H�}L����f�xzH�}L����o�xc�M�������H�}H�5���0�xDH�}L�����x2�����M��u1��H�}H�5K���Å��B���D��������H���H����������|���H�59�������誼���a���H�F��H���Ѽ���ff.�@��H��L	�t\��tM��uSAVM��AUM��ATI��UH��S���Ã��t;L��L��L��H���z��x&H��������t�[]A\A]A^�@������f��������f���H�D$I��I	�uM��t2��tM��u)�<��@��tM��uI��M	�u�H������������f���H���CH���:�>�1AWAVI��AUI��ATI��USH��H��H����H����H���-��I��H��t�P���y��������<�C1�tH�����������H�;H�5�����H�;L������|�H�;M����H�5?�����ZL�s0H�;��L������<H�;L������'H�;L������
�H�;M��tfH�5���o���L�k0H�;��L���q���H�;L����<���H�;L����B���H�;�H�5��	����H��[]A\A]A^A_�M��t�H�53����xc�H�;�V����H�;H�5���Ņ�xC�C��uA�G����H�;H�5���xŋCA�G�E���H�������[]A\A]A^A_�@������f.���H��tH�?H��t�J�f.�1�ø��������ATUSH����H��E1�H�-�H�{�9��H��tAH����H��t4�xwߋ@HcT�H�>��H�����xPH�{A����H��u��C��uH�;H�5���x%A�H����D�[]A\�fDH���h��y�[�����]A\�f.�H�����y���f�H���H��y���f�H�������l����H�5������������fD��H��t��x�w1��G �fD������f.���H��tGH��tBUH��SH��H��H�(H��t	H�V�%�H���l��H��H�C(��H����[]���fD������f.���H��t@��'t@��"u@�w01��@������f.���H��tD����w?���t~L�F��x-1��@�B�9���Hc�I�4�f9>w�f9~sJ�J9�~�1�ËF��t>L�F��x�1��@�B�9�ލ�Hc�I�4�9>w�9~s�J�����f.������wD�����߃�A��wÐ��@�����v�(������������	����f.�H�51�%�D��@��1����w�� wH�&��H����f.������w$��
�����ƒ�		Ѓ���	����������=��v#�� ��=�v��1��������@��f.������w1�ÐH�5�%��@�����w��01���	����H�5�%�T��@�����w1��������H�5Y�%�$��@��1����v/�����=�Qv��0t��!01������fD��f���1����w
H��%���8�@ATA��UH��SH�GH��H��t:�w��~3�9�N�H��H�Q�%Hc�H���H��tQH�C��c�)�H��@H�H��%��H�CHc���H��H�D� �H�h1�[]A\Ã��ff.�f�AVE��AUA��ATI��UH��S�GH���wH�9�|$�H���%Hc�H���H��H��t2H�C�C�c�P�SHc�H��H�D�7H�oL�gD�o[]A\A]A^ø�������AVAUATUS�oL�g ��~BE�,$E����D�U�M�L$�I���@M��L�	M�IH��A���xr��L9�u�GA��A��H��9�+��L��H�H�4�H��%�I��H��t^H�C �k�c�Hc�E�4��C�P�H��SE�l��C��[]A\A]A^�fDJ��A�0A�[]A\A]A^�M��1��������DH����H�0�%ATI��UH���@SH��H��t_f�H�(@@ @0L�`H�hH��t/H�;tAH�K1�H����H�y�u�p8H�X0[]A\�fD�@8���[1�]A\Ð1���@1��DATL�%��%��U�SM� A�$H��H��t)f�Hc�H��@A�$H�CH��t�C�kH��[]A\��H�Y�%H��1���H�I�%fv�GG G0� @AUI��ATI��U��SH��H���w$D�G(H�G0D9�|)E�H��H��%Mc�K�4@H���H��t2H�C0�s$�c(Hc���H�H�Љ(L�`L�h1��s$H��[]A\A]ø������H��t;USH��H��H�H�-��%H��t�UH�;H��t�R��H�EH��H��[]���ff.�@AWAVAUATUSH��HH�t$H�T$H����H��H���D$8H	��ƒ���E1�!A��D$ D��A��A���=fD�C(H�3����S��t��j�ҸDD؃��SH��H��t<L�cE���|A�T$��t��{,��Su�|$ vCA�D$@u;���SH�H��uċD$8E�څ���H��HD��[]A\A]A^A_�@H���D�sE���y1�A�D$M��D�T$$D�\$�f�D�KG�L	�Mc�F�,�B9T��eMc�E1�D��I��MHE�9A�y9�����t0��du;D����E���4����A�@D�d$�Ɓ���u�r�s,fD��A9�����H�{ ���b���D�L-Mc�F�,�E��x�B�|�9��Mc�I��MHE�9E��A��9��Z���E��t�A�y9��U���f.���d�L���I�yM�IH����M��A��H�|$A��E8��L���L�\$M���>���E�D8�1���H�t$�L$<L�D$0L�L$(�9��L�L$(L�D$0���L$<��L9L$tx�L$0H�t$L�D$(�O@����A�@�D$�Ɓ������M�������H�|$H��������L$0H��L�D$(L����L�D$(�L$0����S�Q���@�C�C�C,����A�D$�t+A�D$���nI�T$�2���z����DH��"����D�T$$D�\$M��I�D$���S�(@��uϋs(@��uV�P9��|��t���du�������=A�A�D$u��C�C,H�����A����D����@��u����X�����u��N���fDA�@�S�Ɓ��d���@��A�uH�߉L$0L�D$(����L�D$(�L$0�D$A���SA����DD�A�@D�|$�+�����A�uH�߉L$0L�D$(����L$0L�D$(�DA������/���DA�H���������������zd�|�������q���A���w���1�1�H�߉L$(D�\$$D�T$�
���D�T$D�\$$=��L$(�\$8��?�����d�����H�xL�hH��tyM����H�|$��8��t���H�D$H���f����8�[���H�t$�L$(D�\$$D�T$�1��D�T$D�\$$���L$(�,���H�t$L9�u5�
���E1��*���M�������H�t$H��������L$(D�\$$D�T$L������D�T$D�\$$���L$(����������SH�߾�L$(D�\$$��D�T$����D�\$$H�D�T$�L$(A��DE��N���@AW�AVAUATUSH��(L�/H�t$H�&H�<$dH�%(H�L$1�A�MH��H��H�Ѓ��� G„�u@��t�H�$I��L�(��H�l$L��1�H�����A��=�����߃�A���`I��������L��I���:�D����߃�A��v
A�����HcD$H��1�H�H�����A��A���~�H�5]�%D���m��u�A�����=�Qv�A��0t�A�������v�H�5��%D���7��u�H�5��%D���$��u�H�5I�%D������l���f�H�D$H��L)�H�8H���L�����H�$H�H�L$dH3%(��H��([]A\A]A^A_��A�GӃ�2vA��I�����?w�I������I�������@A��@����������A��(����������A����s���A��_�i���1��`���f.�H�5�%���"���B���A�����=�Q�0���A��0�#���A�����������1��
�����L��誸������AW�AVAUATUSH��(L�/H�t$H�&H�<$dH�%(H�L$1�A�MH��H��H�Ѓ��� G„�u@��t�H�$I��L�(��H�l$L��1�H���e��A��=�����߃�A���`I��������L��I���:�D����߃�A��v
A�����HcD$H��1�H�H����A��A���~�H�5��%D������u�A�����=�Qv�A��0t�A�������v�H�5W�%D�����u�H�5�%D�����u�H�5��%D���q���l���f�H�D$H��L)�H�8H���L���a��H�$H�H�L$dH3%(��H��([]A\A]A^A_��A�GӃ�2vA��I�����?w�I������I�������@A��@����������A��(����������A����s���A��_�i���A��:�_���1��V���H�5q�%������B���A�����=�Q�0���A��0�#���A�����������1��
�����L���
����� ��AW�AVAUATUSH��H��H�H�&�
H��H��H�Ѓ��� GƄ�u@��t�H��H���H�kH��H���d���I��H�M���&�8:��H�PH��@< �%H��H������A�<$xI�����C81��Rf�H��9k8�CI��H�C0L��A��I��L�H�x�V��t�H�C Lk0I�uH�xH����������O��H��D9s8�#H�C H�x��M����H�{ H��L����v��t_H����H�C H�x��H���%H���f�H�{ H��L��1�[�]A\A]A^A_��8*tC�CH��[]A\A]A^A_�H�&H������H�C H�xu�H��%L���H�{ 1�1Ҿ����u�H��8t�H��H��H�C H�x��H�ʮ%L���CM���r���H�C H�x�c���H���%L��H�H��[]A\A]A^A_��A�|$m�=���A�|$l�1���A�|$�%���H�C H�xH���������H�5p�賷�H���i����C�n���H��8*t=�CH���{��������H��%L���4���H�����H������H��H�{ 1�H��H�����������H�=��׻�H������H�C H�xuH���%L���CH���������H��I�&�
L��H��H�Ѓ��� GƄ�uD��t�H��H��Հ�.��AWAVAUATUSH��H����@u$H�G �@ ���CH��[]A\A]A^A_�L�gL������H��H����H��
�� wfH�&H�����H��H��H�Ѓ��� GDŽ���f.���t�H��H��
��H��1ɾH�H� 1��G�1���:��H�{ ��*��1�H��� ����9���H�{ �H��H�H��H��[]A\A]A^A_�B�����H��8*�����H��H�{ 1�1�H�H���[]A\A]A^A_��H�JH��J��:����� �� ��L��H���8����}xI�����S8E1����@I��D9c8�M��H�C0H��E��I��L�H�x���t�H�C L{0I�7H�xH���������跴�I��D9s8��H�C H�x��M���H�{ L��L������������H�C H�hM���_H����1�H�x����H�ت%L��H����������DH�&H�����CH�{ H������H���%H��H�H��[]A\A]A^A_���C��E1����CM����H�C H�xuH�G�%L��M���f���H�C �F���H�&H���p����T���H��H�5lhH��H��Q���iH�C H�x�L��H���_���H��H�H�����8:��H�PH��@< ��L��H���)����}xI���!�C8E1���DI��D9c8�
���M��H�C0H��E��I��L�H�x���t�H�C L{0I�7H�xH���W��該�I��D9s8������H�{ ���H��8*���CM�����H�C H�x����H��%L��H��Q����}m�%����}l�����}����H�C H�xH������H�5ɮ���I���Z���@H�5ڕH����������H�C H�x���@ �J����#���H���s��I������H�D�%H������H��H�{ 1�L��H��������	�������H�{ 1�H����������������8*��������H�ާ%H�����H�=�����I�����H���%H��H�C �A����CM���b����N���H���~���H���%L��H����}m�����}l�����}�����H�C H�xH��tU��H�5n�豰�I��H�C H�xt*M������H�{ L��L��������������H��%H����H�=����I���H�����I�����f.���H����AVAUATL�%��%USH���@�H���H�{H��t�e��fv�H��CC C0L��A�$M����H�{8L�kH�CH��t��H�{H��tA�$H�S0H�{H��t�I�$H��u��K$��~�1�f�H�LmL�4�I�~H��t��I�$I�~H��t��I�$H�S0H��9k$��?����[]A\A]A^���ff.�@��������H��tGATL�%��%USH��f�H�{ H�+I�$H��t��I�$H��H���H��u�[]A\���ff.�@��H��t�G��x����fD������f.���H��t�G��x��������f���H��t�G��x���fD������f.���H��tt��G9G,u�G,������t���GHcWA��A��x<C�H�w �OH�9L�~)Ic�H��E��L)�f.��GH9�t
H��9L��H�?H��u�1�ø�����ff.�f��������H��t'f�H�G�@%@uH�?H��u��f���f.���AWAVAUI��ATUH�-Y�SH�&H��HH�t$�T$H�L$(�D$ �D$8H�D$H���&A�E����M��1�<|�FI��A�$��t<|u��'H�T$(H�t$L��M����H�$I��M����L�%'�%�@A�$I��H����f��@ @@0�@(
A�$I�F0H���!H�D$H��tI�FH���L��H�|$H���fH�GI�FL�w�|$I��A�~ ��M�w t8�H��H��H�҃��� Gք���@��t�H��I���H��I��H��H��H�҃��� Gք�uR���t���f.�D��D)�L���b��H�$H����	H�T$(H�t$H��M�l$��I�������/����.���D$����@��H��L��I���I���
H��H��H�Ѓ��� GƄ��@��t�H��I��Ҁ�/���T$��A�V �8.��fDL����A�G����I���
H��H��H�Ѓ��� GƄ�u��t�H��I�����/��	I� 1�1Ҿ����uiI��
��tH�BI��JH��H���H��H��H�Ѓ��� GƄ�u"f.���t�I�H���J������/t���3���A�GL���X�H�|$t
H�|$�v��H�<$H��t	H���%�H�D$H�D$H��H[]A\A]A^A_�1�1ҾL���&�����I��:t.H�BI��zt!H�BI��J��@�5�����/��@L����A�G���T���I���H��H��H�҃��� Gք�u6��t�H��I���������L���@�E�_E������I����/�)1�1Ҁx/I� tn��\�����I��
��tH�BI��JH��H���H��H��H�Ѓ��� GƄ��y���f���t�I�H���J����������ukI��
��t!H�BI��J����H�BI��JH��H���H��H��H�Ѓ��� GƄ�����@��t�I�H���J��ф���E�WE����L���J�D�|$ E����D�L$8I�F0A�v$E���A�~ ���|$8H������u	�8�����������I��H���uI�~H��tH�8���A�V ��t	A�L$�A�~$����E1��D$$1�E1�L�l$0M��E��D�|$ A������Ic�H�RI�U0H�ʃ9H�qH�Q���	HcL�H�>��H��H	����L���������A�}$A��A��E1���D9��D�D$$M��A�L$L�l$0E���?A�V ��u&A�T$������~I�t$���u���9�}]H���H��ID$�M�f8I�F0�Sf.�E��u,E��D�|$$�u���fD�1�1�L��������H���M��L�l$0L����I�F0A�v$��~	�8�
A�V(9�.�H��H���%Hc�H�4RH���H�����I�F0A�v$A�f(D�F�E���Hc�H��H�H�T���L�IL�RH��H��L�Q�L�R(L�J L�I�L�Q�D�RL�J(D�I�D�Q�D�JA��E)�A��E9�|�H���H�<$H��H�@H�@A�v$��/���H�қ%H�<$�A�E���"����T$ ���8���H�D$H���!���H��f�H�{8H��t
����H�C8H�[H��u�����@A��E����A�T$E����������A�T$������H���R���A���L���O�����H���A��A�����E1�A�}$����A���~����A��A9��j���E���a���A�L$@1�1�L��A��dD�\$<����������D�\$<A����-Ic�E1�A�����A�}$H��IT$�
 ����DL�t$���fD�|$8�a�|$8���A�F!�����D$ �}���@�T$��A�V ���/����.�@�x/����x/���1�1ҾL��������4���I��8��1ɾH��H��H�҃��� Gք���fD��t�H��I���Ѓ�t1�N�H��H�IH�|�@H�J H��H�J�H�JH�J��
�J�H9�u��A�v$���fD�T$��A�V ���/�(����x/����I� 1�1Ҿ������n���I��
���JH���H��H��H�Ѓ��� GƄ���@��t�I�H���J����H���I��H��H��H�҃��� Gք�u��t�H��I��ׄ�����/����H���I��H��H��H�҃��� Gք��A���t�H��I���Hc��?����H�D$H�������H���
������������`���9��I���I�T$H�H����
���A�F!������D$ �*���H�ڗ%L���� ���I������H�BI��JH�����L���*�E�gE�����I��8�������@��������������������fDH�x����H�x����1����H��t�H@I�F8I�F0A�v$�D$ �o���fD��/�T����@�< ��1�1ҾL���������:���I����tH�PI��HH��H���H��H��H�҃��� Gք������t�I�H���H���1�1ҾL���^��������������A�T$�4���E1�A�}$���H��������K���H�PI��xtCH�PI��H��t,H�PI��HH���R��������b���A�L$1����H���1���H���'���H������fD��AWAVAUATUSH��8dH�%(H�D$(1�H����H��H���{H�D$I��L�%>}H�D$DH�D$E�G$H��E1�H�D$E9�}/Ic�I�w0H�@H��L�,A�}��A�UIc�L�>��H�|$�H��t	H�:�%�H�L$(dH3%(����H��8[]A\A]A^A_��{�&H�CHH���	H�pH��t I�}H����.����E�G$f�A���C����I�}�MH�����C�ƒ��	������f�H�[(H�����{u�H�sI�}�8u����t�H�CHH����H�pH��t�I�}H��t����t�A�}��H�|$A�v�H������F���@�C�ƒ��	t+��t&H�[(H��tI�}H��� ���H�s�8���H�|$H����D$������E�G$�D$H�H��H�D�0H�X�"���fD�{u�I�}H��tH�s�8u�����t�H�CHI�}H����H�������H�p�w���f.��C�ƒ��t	��
�Z���I�}�O���H�SH��u�A����H�R0H���3����zu�H�rI�}�8u�H�$�E��H�$��t�������{����H�|$H��������M�M������1��t���@�{���������f��{�����H�[(�C���	��������fDL�lA��A�E���������i���I�}�������������@�{���C���H�CHH����H�pH���3���I�}H�����������I�}��������H�ّ%�M�M���*�������DI�}�%����s���H����������f�H�|$H��D��� ��E�G$����I�}��������諢�ff.���AWAVAUATUSH��H����L�g8H��E1�M����L�5�%I��.�I�EH��E H�mI�]�C(H��tjL�e8M���}�0A�H��H��tmf� @@ A�H�C H��tAL�{�CL�c�C,����M��u��E H�mI�݉C(H��u�H��L��[]A\A]A^A_�f�H�y�%H��L��E1�詳����E1���ff.��������H��t$f�H�8tH�H��u��f.�1��ff.�f���H��te1�H�W8H��tZD�BE��~3H�R�uBA�p�H�� H��H��f��
H�� ��uH9�u�H�D9�AL�H��u��������ø�����ff.����H��t'�Na�f�H�W8H��t�R9�}��t��H�H��u�ø�����f.�1��ff.�f��������H��t'f�H�8t)�G %uH�H��u��D��f.�������f.��&#�Gxf����sH�G����+H��H�=yv���H����Hc�H�>��D�AE@��uۺ;H��f�P��D�AD��f��AC��f.��AB��f.��AA�f.��A9�f.��A8�f.��A7�f.��A6�w�����A5�g�����A4�W�����A3�G�����A2�7�����A1�'�����AF������A0�����H�G�������H�G���������1�������H�D8���H�G��������;H��f�P��ff.���AWI��AVI��AUI��ATI��UH��SH��H��LcLc	I�I�L9�swL9�sr�E<<��<>tV<&���P�_���P���������<
�^L��H)�H��~&H���
H�����H���@L��H)�H��|L)�L)�1�A�A�mH��[]A\A]A^A_�fDL��H)�H��~��&lt;H��H���A�����H��H���1����L��H)�H��~��&ampH��H���C�;�
���D�&gt;H��H�����DL��H)�H��
�\���<��\<���L��H)�H���<����u��H������?	Ɓ����������
��!ЍV�����!Є�����E1�H�
nt1�H���y����L)�L)����A�A�m����f.�<���<�w�L��H)�H��������U���uH������?��?	��	�����u����?	Љ��A���fD�����=���6����� ��=��%�������=�����+���L��H)�H�������u��H������?	��u�����?	�����E1�H�
Rs1�H���x��
��������H��H�H�T$肵�H�5+tH�T$H�81�������f.�H����ATUSH���H��萴�H�8踤��聴�H�8t{��tw�<�������C|��~>E1���S���H�0A��A��Hc�H�|<Hc��ҫ�C|���D9����H��D<�U����t�K0[]A\�fDH�{D��H�C<H��H�Cq)��Hy1����H���H����*���H�����H����������H��t;USH��H��H�H�-�%H��t�UH�{(H��t���H�EH��H��[]��f��ff.�@H���%ATI����U��S�H��H����H�xH��H�Hǀ�H��1�H)�������H�M��t,L��袑�H�C H����L���}��Hǃ�H�CH�������C0t���@��D�k0@��u��t�C8H��[]A\�@�C8H��[]A\ÐL��p1�1Ҿ�膒���@M��1Ҿ{�H�
�#�e��H��1�����f�H����AUATI��USH��H�(H��tc��H�aV����A�D$4؅�~EA�t$|I�l$<E1�fDD)�I�|$(H��9�N�A��$�����A�t$|A�D$4A��D9��H��[]A\A]��ff.�@H��tH��t�~t��H�~t�ATI��UH��SH�~H��H�5��$��uxM��tA�|$8��H�bf�H���+��H�{tT�H��H��b���H�sH������H��H�1A���H�sH�} []A\韎��[]A\�H�"9�H�����f.��L���s����s���ff.�ATE1�USH��tH�t
D��[]A\�DH�(u�H��H��H�����H�EH��t�=��H�E(H��t0�H������I��H�
�!1�A���{��6���H�}A�����L��n1�1Ҿ��
���k������H�������H	���UH��SH��H��H��tJH�5;oH���{��t�H��[]�H�5AoH���Y��u�H�5VoH���F��u�f�1�H��t�H�5boH���*��u�H�5�oH�����u�H�5�oH����������f.��ff.�@��ATI��UH��S�}��H��t(H��H��1��K��L��H������H��H��[]A\��[]A\�ff.���ATI��UH��S�-��H��t(H��H��1���L��H���Щ�H��H��[]A\�q��[]A\�ff.���ATI��UH��S�ݹ�H��t(H��H��1�諧�L��H�����H��H��[]A\�!��[]A\�ff.���ATI��UH��S荹�H��t(H��H��1��[��L��H�����H��H��[]A\�Ѩ�[]A\�ff.���H��t/UH��SH��H��H��1�H������H�H��u�H��[]�@����U��H����SH���*���H��H��tH�p ���׺�H�C(H��tH��H��[]�@H�{ �W��H��1������ff.���UH��H����SH������H��H��tH�p 1�H���c��H�C(H��t
H��H��[]�H�{ ��H��1��=�����ff.���UH��H����SH���i���H��H��tH�p H��西�H�C(H��tH��H��[]�f�H�{ 藘�H��1�������ff.���AUI��ATI��D��UH��H��SH�����H��H��tH�H L��L��H���D��H�C(H��tH��H��[]A\A]�DH�{ ���H��1��e�������H��tH�(H��t����f�������f.���USH��H��tH���	��H�߉�����H����[]ý������ff.�@��H��t
H���1�ø��������H��t
H���1�ø��������AWAVAUATUSH��(dH�%(H�D$1�H�����H��H��I��H��I��L�l$fD��tT<
��<
��<	��<"�<<�$<>�D<&�dA�V�����I����u�DL9�tL��H��H)��ݑ�H�D$dH3%(��H��([]A\A]A^A_�f.�L9�tL��H��H)�蝑�H�5iH��艑�I�vA�FI���0����L9�tL��H��H)��]��H�5�h��L9�tL��H��H)��5��H�5�h��L9�tL��H��H)��
��H�5�q�k���@L9�tL��H��H)����H�5\h�C���@L9�tL��H��H)�轐�H�59h����@L9�tL��H��H)�蕐�H�5h��@���y���H��tH�}p�i���L9�tL��H��H)��U��A�<��<���A�v��A�����?	Ɓ��A��
�ƒ�����t�F���wPL���S�L�����H�����Ic�L��I����������=��vʍ� ��=�v�����=��v�E1�H�
�fL��y����A�6L�����L�����H��胏�I�v���<�wBA�V��t�A�v��A�����?	Ɖ����?	�����E1�H�
NfL��x�<��q���A�N���d���A�V���W���A�v��A�����?	�����?	Ɖ����?	�����^��ff.�AUATUSH��H�^H����I��H��L�-�o�Vf.���u>H�}�L��芎�H�{�q��H�sH�}���r��H�}�H�5�e�]��H�[0H��t&�C��u�H�KPI�t$@L��H�}臓�H�[0H��u�H��[]A\A]�H����USH��H�o(H�����8H����H��[�H��裷�H�CHH��t%H�pH��tH���i��H�@:�H���u��H�sH���I��H�8eH���U��H�} H�����H��H��H��[�]�/��������v���f�H��[]�f��ff.�@H���AWAVAUI��ATL�%McU1�SI��H��H��H��H�G8L�(�V�D$����Ic�L�>��H�|$(H�l$8��H�|$0����tH�D$H��tuH�xH��tlH�5��9��uH�D$H�5n�H�x� ����H�|$H�d��2��H�D$H�t$(H�x ���H�|$�H�S�	��H�|$ �mH�|$�aH�|$�H��c�۵�H�L$H�t$ H�y �8���H�|$�H��貵�H�E(H��tH�M@H9H(�mH�}���D$H�EHH���zH�x���|$��H��4�L���Q��H���L���=��H�EHH��t%H�pH��tL�����H��7�L�����H�uL�����H�M4�L������L9����{8��H�E0H����H�m(H�����}u͋C4��~���C4�c����t
�{8��H���L�����H�EHH��t%H�pH��tL���E��H�7�L���Q��H�uL���%��H��3�L���1��L9��@����D$E1��C8L9��6���H��H[]A\A]A^A_�fDH�RG�L�����H�E0H��������PH������D�C|���H�S<L��9C4NC4��詳�����H�{(H��H�������L9�t
�{8�MH��2�L���m��H�EHH��t%H�pH��tL���3��H�
6�L���?��H�uL�����H�E`H����H�}H�5 a���tH�}HuH�}`uH�5�bL���մ�H�UXH���6���H�C(H�l$8H��H�D$0H�D$H�B(H�D$(H�D$H�D$ H�D$�?�H�5I��d����H�}H��H��H�����H�m0H������H�}HH�}u�H�5wH�"����H�l$0��H��H���X����K���L�MPM��tA�����H�&`�L���
������H�diL������H�uL���ų�H��_�L���ѱ����H�uPH������H�EH;v%�.H;�t%�!L���y�����H�}PH��S�L�����u��H�uL���I��H�}Pt �H��UL���N��H�uPL���"��H����L���.���A���H��H���>�1���H��H����!���H�EH���$�������H�}P����H�SL����ذ�H�uPL��謲�H��g�L��踰�����I� H���ǯ����I� H��薶����I� H���5�����H���L��聣����@�H�l$H��H��@H�}(H��H����H�H��u�H��H�l$�������8��������C|9C4H�S<L��NC4������������}�����H�}�|���H�}���a<�j���H�
�\��Hc�H�>��fDH�}H�|H�EH��tH�@PH��t	�8����H�}�A������H�}H��t�{��H�uH�}@辚�H�EH�����H�h(����H�}HH�}�����H�56��
��t
H�l$(���H�}HH�}�����H�5ɕ����L���H�l$ ���H�EHH�5��H�x辱��Z���H�l$�[���H�&.�L���Ȯ�{8H�}�~�WH���C4�������C4���虮�H�u�F���H�|$����H�|$ ����H�|$�H�L\�b��H�L$H�t$H�y ���H��H��L��L��I��M��D�S<]tg��H����u�L��M��I��I��M9�H��H��L�L$����H��L���	���L�L$L��L���¯�H��[�L���έ������]u��{>�H���S��]�y�����H��,�L��蓭�{8��H�5R]L���Z��H�sH���L���E��H�h[�L���Q��{8�����H��@�L���3������H�}H�5�����{���H�E(H�5[H�x�ү��_���H�EH����H�\$H���H�[0H����H�{H�54�蓯�t�H�5[�H��� ��H��t�H�5R�H��H�D$�g��H�T$���H�q%H��뜃}����H�xH�5TZ�2���c������H�f�L���A������H��t,�W�B�����H����H������H�@0H��u�H�]?�L����H�m�U�7���H�=?�L���׫�蒦����?����s4�C|H�S<9ƍ~L����L����襫�����L�k�	L��H�L$H�q�L�D$L�L$�y��L��H��L��H)�L���e��H�vY�L���Q���CL�L$L��L�D$H�L$�����C8I���p���H�}H�\$u�D$���fDH�R*�L�����{8tOH�5�ZL��迬�H�sH��t!L��讬�H��X�L��躪����H�vd�L��衪���H��=�L��苪��F����t��s4�C|H�S<9ƍ~L����L�����]���j���H�D$H�5�)H�x������H�D$H�5�H�x�����H�D$H�5˗H�x�٬����H�D$H�5�H�x輬����H�D$H�5��H�x蟬���H�D$H�5.�H�x肬��b�H�D$H�5�H�x�e���E���H�n%H�\$H�����H�5���6�����t$�������H�VW�L���>���Q�H�}���H�5���������H�5r�ޫ�����H�5���ȫ�u�H�}H�5�:贫�u�H�}H�5��蠫��X��e���H�5��臫��?��L���H�5��n���&��3���H�5M��U���
�����H�5���<������H�}H�5i��$�����H�}H�5������������H�5�����������fDAWI��AVAUATUSH��H��(H���L�npL�gH�o(H�D$H���H�D$�#��C�ƒ��	��I�WH���]H�SpM��A�W0��
t5��@u5��	����0��L�kp1�H��([]A\A]A^A_�f���0ucM���:L��H���p�M��uH�}�A�G0���L��H��H��艘�1�I�tL�kpH��([]A\A]A^A_�D��@u�L���u�M����M���� �A�W0�L$����������A��A��A����A���;L�sM��u<�%D��A�F����vH��9�H��胦�M�v0M����A�G4L��L��E��u���@L�spM��MD�����1�L��H��H��萗�����H���~�I��H�������L�5�`������H�}�D$����H�}(������������@�ƃ���@ �@�t$��H����I9����I9������ILJ����fD�|$���I�o(H���a��H�}�x��H�}(�?p�H�D$H�EH�E(I���H�D$I���1�L�kp���@H�}(����I�(L����������L�kp�����D�H��HH�����H�shH����H�} �q�M��t �
H��H��H赤�H�} L���iq�CL��tr��tMH��F�H��艤�A�W0���H���؋�H�������H�phH�xp�rj�DI�E�����@H�|R�H���<���f.�H�KR�H������z����H�%R�H�����)������������I�(L���Q�������A�W0�у�����ILJ�����ff.�H���AWI��AVAUI��ATUSH��H��(�G8L�g(H�$L�v(�D$A���A�GH�
gPHc�H�>���;H���L���<��I�GHH��t%H�pH��tL�����H��%�L�����I�wL�����{8�H�B"�L�����@M9�u2�fDM�0M���J���A�~I�n(t8M��M9���I��{8u�A�G����v�H��5�L��胢�뱐�C4��~���C4�.����t
�{8��H���L���J��I�FHH��t%H�pH��tL�����H��$�L�����I�vL�����{8tJH�T!�L����L;4$�4����D$H�$M���C8M9��%���H��([]A\A]A^A_�f�1�H������@�C|���H�S<L��9C4NC4��葡��.���@�H�{(H��L���������M9�t
�{8��M9w(�NI��CL��H������_���L��H���T��O���I�wPH���B���H�d%I9G��H���L���������I�oPH��t�E����H��N�L���Ԡ����H�.XL��軠�I�wL��菢�H�^N�L��蛠����M9�t
�{8�"I�PH��B�L���7�h��I�wL���<��I�Pt*�{8��H�nD�L���7��I�wPL�����H�ƶ�L������2���M9��	�{8��I�P�K���H�BL�����I�wPL��贡�H��V�L��������L��H���������M9w(�����I�GH�������M��I������L��H������I�|$ L���}����I�|$ L���z���u���I�|$ L���H���c���L������V����1��I�wL�����{8��1�H���������H�P�L����I�GHH��t%H�pH��tL��辠�H��!�L���ʞ�I�wL��螠�I�o`H��uvI�oXH��t@H��H����H�m0H��u�I�G�S8H���R��tf���OH���L���b��{8��C4��x���C4M��M�����H�{(H��H�����H�mH��u��m���H�@0H��t��H�Q���w��C8L�<$닐I�P��������I��DA�Q<]tK��I����u�L9����H���L��	踝�H��L��荟�H��K�L��虝������]u�A�y>��I��A�Q��]u���1�H���:���.���� ���������C|9C4H�S<L��NC4������7������C0�������H�$K�L������&�������������C|9C4H�S<L��NC4������؜�����莗�0���`����C|9C4H�S<L��NC4�����襜��<���I�A�	L��L�L$H�q�H�D$�~��H�t$H��L��H)��k��H�|J�L���W��L�L$A�AL�L$L���c���H��/�L���,�������H����������H���������1�H����������1�H��������DH����H����AUATUSH��L�g(M���H��H���
H��L��蝛�H�sL���q��H�{h�&H��R�L���r��H�shI�|$ �$h�H��?�L���P��H�spI�|$ �h�H�{`���H�pIL���#��H�sHH��tH�C@H����H9XP��H�[�����L�m4H�E4H��tDH��H���-���H�[0H��u�L�m4H��H�H��L��[]A\A]鲚�f�H��[]A\A]�DH�{P�^���H�{X�S���H�{H�H���H�{xH����1����fDH�{p����H��Q����@I�|$ �֝��.�����ff.�@��H��tH��tH����H��H�H��?�fDH��������H����H������(AWAVAUATUH��SH��H���G0����~A��tH�V@H��t
�z
���@��L�sL�{(��q�L�m@M���[I�EpH�$H�CH���nI�EpM����L����q�H��H��H�5THD�I��U�C0��A�H��L��L��藜�E����1�M��t$H�$I�UpH��[]A\A]A^A_�H��H���5���1�H��[]A\A]A^A_�@���H��1�[]A\A]A^A_�f.�� ��������L��H��L��H�L$�a�H�L$M���?����C0�J���E1�H��L��L�����E���M���H�[(H���?��H�{�Vs�H�{(�c�H�CH�C(�����H�$H�
SM������L�,$L���t���@H�$H��H���K������I�(�����H�{(H��H�L$�4��H�L$��xA��{���H������H�$I�Ep1����f���H��tOH��tJAUATI��UH��SH��H���j��I��H��t2L��H��H��H����r�H��L��[]A\A]��]����H��[]A\A]�D��AWA��AVI��AUI��ATI��USL��H��D�D$dH�%(H��$�1��/o�M��t{M��tvH��H�l$�D�D$H��PH��HD�1��H�1�E��H����L�d$8D�|$D�D$HH�\$(����L���L$@ ��}�H��tH�phH�xp�~\�:L��H����H��$�dH3%(u)H�ĸ[]A\A]A^A_�f.�L��H���5������k�ff.���AWAVE��AUA��ATI��UH��SH��H���:n�H����H����H�1Y%�8�I��H����f�H�X H��@(H�@H�@H�@H��@0�{�H��H�$�ؐ�1�H�߉D$芆�E1�E��D��H��L��L���s��t$H���g��H��Y%L���H����z�+$H�H��[]A\A]A^A_��H��H�����[]A\A]A^A_�f�L�Ʉ1�1Ҿ��d�H������ff.�f���H��tfH��taAVAUE��ATA��UH��SH��詅�I��H��t9H��H��E��D��H���M��L��H���"[�H�����w��[]A\A]A^�fD���������ff.�f���ATI��UH��SH���l�H��tEL��1���I��H��t3H��t�{
t0E1�A�1�H��H��L�����[L��]A\�s��[]A\�1�H��H��H����e���fD��AWAVAUATUSH��H���dH�%(H��$�1�H�D$H���D$HD�H���XH�I��I���H����I��E��H����L���a�H��H���I�]�L�
�H��H����H�T$ 1��H��H�T$�H�1�E��H����H�l$H�D$XL�l$8�L��H�T$L���L$P H�����H���ϙ�H�}(H�����]x�H�}(�I���ߕ�D��H���T\�H��I�$�(��I�<$tIH��$�dH3%(��H���[]A\A]A^A_��H�pH������I��������~��L��@1�1Ҿ��Ra�����H�} �w�H�} I�ʼn�E���f�M��L��{�H�
S��a��>����g�f.���E1�1��b��f���A��1��R��f���E1��D��@��AVAUATUSH��dH�%(H��$�1�H����L�npH��H��A��1�M��tL���_�H��H����H�����I��H����H�\$1��H���H�1�E��H����L�d$8�D$HL�l$(�U��H��H��L$@ ���L���m��H��$�dH3%(uQH�İ[]A\A]A^�f.�H�D$H�4U%E1�H�}p�H�EpH�t$�P���f��������Df�@��1��ex�D��ATUSH��dH�%(H��$�1�H��tdH��I��H��t`H��1��H���H�H��H�T$H�l$(�l��H��L��L$0 ��H��脁�H��$�dH3%(uH�Ġ[]A\ø�������Y��������e�ff.�f���ATUSH��dH�%(H��$�1�H����H��I��H��tz�F���	uoH���1��H���H�1���H����H�T$�D$8H�l$(���H��L��L$0 �0�H��踀�H��$�dH3%(u+H�Ġ[]A\�f�H��舀�����ɸ�������d�D��AVAUATUSH��dH�%(H��$�1�H����I��H��I��A��H����L���T\�H��H�����UH����L��H����s�I��H����H��1��H���H�1�E��H����L�l$(�D$8L�d$���H��H��L$0 �(�L����H��$�dH3%(uLH�Ġ[]A\A]A^�DH�^pI��H���L����UH���`����t�‰EH�Q���fD�������c�ff.����1��e��D����1��S����1�1��C����UH���SH��H��P%�H��H����f�H���Ux�H�CH��tH����_�H�H��H��[]��H��Q%H��1�H��H�4=E1�UA�1�1�P1�1�1�jjjUjjjjh$�k�H��`H��H��[]�H��H��<E1�1�H��LPA�1�R1�1�jjjjP1�jjjj�k�H��`�Q���f���UH��SH��H����H�����u{H��tvH�H���B��H�E���1�H��uH����[]�f�H��H�u<1�E1�SA�1�1�P1�1�jjjSjjjjh$�k�H��`������@H�!<1�E1�1�PA�1�1�j1�jjjjjjjh$��j�H��P������c���D��USH��H��tH�-P%H��H�?�UH��U1�H��[]�H��;E1�1�1�PA�1�1�j1�jjjjjjjh%�]j�H��P������f���SH��teH��H��:}�uH��[��_�DH�H��H�z;1�A�E1�1�1�PR1�jjjP1�jjjjh%��i�H��`�����[�H�%;E1�1�1�PA�1�1�j1�jjjjjjjh%�i�H��P�����[ÐH�GH��t�P��tH�ǃ�u �H�G0H��t&�PH�ǃ�t�t��fD�	t�H�W0H��uH�(H��u�1��DH���ff.��SH���dH�%(H��$�1�H��tNH��tI�G�	uB�u`L�NM��t5H�����1�H��L�`:��$Q�H�5O%H��H�0�d�H��$�dH3%(u8H���[�fD�x�H��3y�yH��9H�5�H�81�����"_�f�AWAVAUATUH��SH��8dH�%(H��$(1�H����H�����u9H��H��t1�GI��I�ωƒ���tN����V��uNA��uH�H��$(dH3%(��H��8[]A\A]A^A_���V��tȨ�01�����D��u�H����}�H��H�D$�x�H�$H����I�FH���<H��L%H�D$A�~�
H�=A9��Z�I��L�l$@AT�1��t$L�L$��L��L�&9���~O�XZ�C�jH�{h1�H����H�SPM��tM�1�A�~H�
��I����H��A�AU�QjjAT�t$0AW�L$HQ1�jjP1��f�H��`H�\$L��H�$H�������H9E�����H�����f��v�H��#w�,H��7H�5�	H�81����d���@H�=!8��Y�I�����@L�hM�������H��K%E1�L�t$ M��L�|$(M��H�D$H�l$�D��t{M�v0M����A�F�P���w�I�vPL��覇�I��M��t�L���e�~�H�A�T��� w�H�&H��s�D���� �%Hc�I�H��� A��I�~H�z���I�~H�5^h�5����A�~�W���I�~H�L���I�~H�5�6����4���I�FHH�5T8H�x���uI�FHH�5d8H�x�ӈ�����H�5��L���<h�H�{ H��H�D$0�t�H�s H��I���y�I�ċ���3��������FI�t$ L���i��I��L����l�L���o�H�D$H�|$0����DH�&H������H������A�T����DM��L�t$ H�l$L�|$(M�������������I�D$H���l�0H��1�L����'�`���fD��~H�5)H��譅�I�T$H��H�RH��H��H�r萅�I�T$�M9
�I������@H�J%L��H�0��^�����H�EH�$����H�sX�t����I�FHH�5�6H�x�,��uI�FHH�5�6H�x�������H�5[sL���}f�I��H���zH�L$H�s L��H�A@H�NH��%��H��H��t�8�w�/k�H�l$H�D$L��H�EHH���H�pH���L��莄�H�5uH�����H�uH���s��I������L�������A�L$H�5��H���L����HE��:�����D�kr�A�$H�(�T$<�r�T$<H�5�3H�81������@�AD$1��1�L��3H�������hJ�Hc��o��AD$�H�
�3H��H�����H�Ǹ�&��L��H��蛃�H��I���PJ��%���H�uL�����I������H�l$����q�H�(�@r�H�513H�81������H�@H���|���D�E���p���H�@H�(�i�H���e����[����X�DAVAUM��ATI��UH��SH��H��H�w H�{ H�H�N�Tu�H��tL�8	H�����H�"8Hc�H�>���GH�|$�{�H�|$��uf�f.Gz]u[�i�{t-E1�E��L��L��H��H���F���H��D��[]A\A]A^�fD�E��f.�H�G H��t��8t�f��h�{A�u��E�f�H�GH���{�������q������D�w�gh�E���[����ff.��H�H�OH����UH��SH��H���f�H�s1�H��H���~�uSH�H��t;H�{H���t�H��u���o�H��ep�H�5.3H�81���H�������[]�H��1�[]���o�H��+p�H�5$3H�81���H�������[]�1��ff.�H��tdUH��SH��H���
DH�H��t@H�s1�1�H����}�t��'o�H��o�H�5�2H�81���H�������[]�DH��1�[]�1��@H��H��I��H��tI�G8H�wxL�WpH���jA�APQH��1�jjjjAPM��jjjRL���^�H��h�DE1�1�1��ff.�@H����H����H����M����AWA��L��AVAUI��ATI��UH��SL��H��H�@L�L$�^m�I��H����H�kB%�0�H��tw�@I�L$ H�XH�\$D�xL�hL�p H�X(H�H��u!I�D$ H��[]A\A]A^A_�f.�H��H�H��u�H�H��[]A\A]A^A_�1��D�E8L��/1�L���H�D$�M�H�D$�E1�I��H�
P1L���H���`���1��ff.��H��t;AUATI��UH�-`SH��H���{t&H�[0H��u�H��[]A\A]�f.���H�{Ht�H�{H��襀����{u�H�{Ht�H�{H�5T.耀�t�H�CHH�5�/H�x�h��uH�CHH�5�/H�x�P���j���H�5�H���_�I��H��tnI�|$@H���k�H��t{H���wg�H��A%L���(���fDH�CHH�5U/H�x�������H�CHH�5a/H�x�������&���E1�E1�H�
0H�޺L������E1�M��H�
0H�޺L��H�D$����H�D$�Y������H���sAWAVAUI��ATUSH��H�H��tA�E���=I�}XH��@%H��t�M�eHM����fDI�l$ M�4$H��tEf.�H�}L�}H��t�H�} H��t�Cf�H�}(H�H��t��H�H��L����M��u�I�|$H��t�I�|$(H��t�:V�I�|$0H��t�I�l$8H��t.@H�}L�}H��t�H�}H��t��e�H��L���M��u�L��M��M���=���I�m@H��t&@H�}L�eH�H��t��H�H��L���M��u�I�}(�l�H�H��L��[]A\A]A^A_����kK����fD�ff.�@��H��tgUSH��H��H�H��t�C��t>H�{@H��t�y�H�{XH�-U?%H��t�UH�{0�l�H�EH��H��[]��D��J�H�{@H��u���ff.�@��USH��H����H��=%H�����H��H����H�xH�@Hǀ�H��)����1����H���
^����H��H�C0H���H�H�Ch1�H�C�ce�H�C@H��tBǀPH��H��[]�fD1���@L�	I1�1Ҿ���H���@L�)-1�1Ҿ��H�H��1���U��f���ATUSH��t{��~wH��<%A��H�����H��H��tkH�xH��H�Hǀ�H��1�H)�������H�H�k D�c(�]�1�H�C0�}d�H�C@H��t<H��[]A\�@1�H��[]A\�fDL�)H1�1Ҿ��G���@L�I,1�1Ҿ���G�H��1���T��f���USH��H��tyH��;%H�����H��H��thH�xH��H�Hǀ�H��1�H)�������H�H�k�1\��CH��H�C0�c�H�C@H��t5H��H��[]�1���@L�QG1�1Ҿ��&G���@L�q+1�1Ҿ��G�H��1��T��f.���AWAVAUATUSH��HH���EI���G8H�H���F�1��D�H�$H���s
A�D$H�<$�Sz�I��H���F
�x�nH�xH�cH�xH�5Q6�z��K�D$I�FHH�5W)H�x��y��WH�o:%�`�I��H����	H�xH��H�H��H�@X1�H)���`���H�I�|$0I�(�j�I�^M�|$HH����H�-�(�H�[0H���s�{u�H�CHH��t�H�xH���Py�uH�CHH�5�(H�x�8y�t��{��f.��CH�{���XH�{H�MH�5��x��2H�CHH�5F(H�x��x�uH�CHH�5V(H�x��x���H�54'H���.X�H�5�H��H���X�I��H��t�8uE1�E1�H�
�&H�޺�L������H��t�}uE1�E1�H�
�&H�޺�L�����H���M����I�|$@L��H���H<�I�|$XH���%A�T$PA�D$T�J9����H�H��I�|$0�����L��H�L$�C�H�L$I�T$XH��I�|$0H�A�D$P�H�H�L������H�L$��B�H�L$I�T$XH�A�D$P��A�D$P�H�H��H�D�A�G8H�(9%L��H��tH�9%H��H�[0H��taH�-�&�	H�[0H��tO�{u�H�CHH��t�H�xH���,w�����H�CHH�5�&H�x�w����H�[0H��u��A�<���H�$�T$I�G��tA�GA�D$8���I�D$XI�GXA�D$PA�GPI�D$X�mI�D$H�$H����A�D$H���v�I��H����x��H�xH��M�D$E1ɺ�L��H�
w'L�����E1�H��HL��[]A\A]A^A_�M�|$ M���p���A�t$(A�1�1�L����k�H�$H���:H�=�:�E�H�$I�|$0�����H�5�:H�����@�I�D$�j���M�D$E1ɺ�L��H�
�&L�����H�<$E1��C��R���I�FHH�5%H�x�{u������M�D$E1ɺ�L��H�
�&L����D�L$E�������@M�����������4�H��4%Hc�H���H����A�T$PI�D$XA�d$T�Hc�H�����H�~5%��A�D$T
�H��I�D$XH����A�D$P�����CH�{L�t$I��M��M��u"H�{HtH�5K#L���t���L�CE1�H�
I'H��L������H�[0H��t`H�-�#��H�[0H��tG�{u�H�CHH��t�H�xH���,t�uH�CHH�5�#H�x�t�t��CL�C�Z���@M��M��L�t$A�<�������M�D$E1ɺ�L��H�
�&L����L$�����H�<$�%A�����L���:��c���H�CHH�5�"H�x�s���H�5�H���R�H��H���	M�gHM����H��3%��H�D$(H���5	H�D$(H�@I�T$@H�hH�H��u�c@H��H�H��u�H�D$(H�H�kL�%Z"H��u�H�m0H����}u�H�EHH��t�H�xL����r�uH�EHH�5A"H�x�r�t��D$H�\$L�t$ I��A�~M�Fu"I�~HtH�5j!L���vr���M�FE1�H�
%L��L������M�v0M��taH��!�fDM�v0M��tIA�~u�I�FHH��t�H�xH���r��t���I�FHH�5�!H�x�q��X���M�v0M��u��t$H�\$L�t$ ��uuE1�E1�H�
!H�޺�L�����VM�D$E1ɺ�L��H�
�"L������T���H�CHH�5!H�x�}q�������H��tH�3%H��A�F<���H�{H�*���H�{H�5��:q�����H�CHH�5� H�x�q�uH�CHH�5� H�x�q�����H���M�H��H��t!I�(�����H���;�H��I�G0H�2%�H�[0H������H�- ��H�[0H��������{u�H�CHH��t�H�xH���p��`���H�CHH�5�H�x�lp�t��C���H�4$E1�E1���H�
z#L��������L��1�1Ҿ��s<����A�D$81�1ҾL�7,��N<�D�D$E�������H�<$�W=����M�D$E1ɺ�1�H�
� L��E1�������E1�E1�H�
� 1���L��E1�����[���I�FHH�5�H�x�o�uI�FHH�5�H�x�lo������H�5�L����N�I��H���0�8�yM�oHM����I�OXI�w0�H���N^�H��H����H��/%�@�H��H����f�H�h(@@L�pL�`H�@0H�H�@8I�EHH��u�UH��H�H��u�H�H�D$(H�CH�@H��u��H��H�PH��u�H�XI�nL�%�H��u�zH�m0H���j�}u�H�EHH��t�H�xL���8n�uH�EHH�5�H�x� n�t�E1�}L�E��E1�H�
q H��L�����A�H�m0H��t]L�%A��H�m0H��tD�}u�H�EHH��t�H�xL���m�u�H�EHH�5-H�x�m��{���H�m0H��u�E�����D$�(���H�}H�b���H�5��L���^m��5�}L�E�=���H�}H�2���H�5JL���.m����}L�E�
���H�}H����H�5-L���l�u:L�E���H�$E1�E1���H�
 L��E1�H����H���5:����H�EHH�5H�x�l�uH�EHH�5%H�x�l�t�H�5�H��A���K�I��H���A�8��H�uL���\�H���TI�M��H��H��I���L����H���A���H��-%L���0���H�EHH�5vH�x�
l�uH�EHH�5�H�x�k������H�5
KH���^K�H�D$0H���gH�D$0�8�)H�5�IH���3K�I��H�����8��I�@H���W�H�����H�D$8�:U�H�L$8H�T$0L��H�HH�K8H�PH�H�C8H�-%��[���H�EHH�5�H�x�8k�uH�EHH�5�H�x� k���H�5bH��A���J�I��H�����8tfH�uL�����H����G�M��H��H��I���L����H���������I�D$@���E1�E1�H�
�1���L������Q�L��E1�E1���H�
�H����H�,%L���o���H�5}IH����I�M�gHH��M������H����������E1�E1�H�
IH���L���c�����A�G81�H�ھL����>6��~���E1�E1�H�
�L����L�����E���E1�E1�H�
L����L����H�S+%L������H�xH�5�%�i����D$�r�H�D$(H�X���I�]H���A�G81�L��L�!��5��E1�M��H�
�L����L���n�����E1�E1�H�
�L����L���L��u���E1�M��H�
H���L���*��S���E1�E1�H�
�H����	���E1�E1�H�
�H���L���������L��E1�E1���H�
\H�����H�%*%H�|$0����E1�E1�H�
MH���L�����������H��tH�whH�GXH�G`H�WP�ff.���H��t7SH��H� H��t��c�H�{H��t�gV�H��)%H��[H�����ff.�@��AUATI���pUS��H��H�1(%�I��H����H�xH�@H��H�@h)��Hp1����H�A�E1�M�e��O�A�]H��I�E H����A�D$P��~UI�D$XH�H��tHH�pH��t?�1��'�I�D$XH�T�H��t H�4H��H��tI�} �+��A9l$P�H��L��[]A\A]�L�i,1�1Ҿ��3���L�`1�1Ҿ��2�L��E1��ZF�����H���+H�GH���H�xH�H���
AWAVI��AUATI��USH���GH���Of�I��H����A�T$I�D$��t
����@H�XHH��u�f.�H�H���|H�{(L����:�u�H�s8I�|$ L��L��H�k �����t �5DL�C(H��L��L��L����H�mH��u�H�s8I�|$ �t���t������H��[]A\A]A^A_�@L�����I��H��ttI�D$�F���H�@@H�D$H��t\H�t$L��L���P��H�D$H�XH��tf�H�{(H���$:�t?H�[H��u�H�����H��H��u�H�D$H�H�D$H��u�A�D$H��[]A\A]A^A_�L�{ H�s8H��L��I�|$ ���M��t!L�D$L��H��L��L�����M�?M��u�H�s8I�|$ �t��p�����P�H��bQ�H�+H�5�H�81���A�D$�����������f�ATA��UH��SH��H�hH��t�{dt	H��%%�H�ChD�cdH��tvA��tlH�{�6�H��I���6�I�|H��$%�H�ChH��tQH�sH���},�L�chL����5�H��Iĸ: fA�$A�D$H�{h[]A\��^�fDH�kh[]A\��H��CdH�Ch[]A\ÐAU1�I��ATA��UH��SH��H����	�D9�s7D��A�}H�t)��@�…�ޅ�u)A�E<H����[]A\A]�DH��1�[��]A\A]��)�8�d����L��H�����������ff.�AUATI����U��SH��L�-U#%A�UH��H����H� H�ChL��H�C�Cp�4�H�xA�UH�CH����L��H���+�����k�1����f`�H�{hH�C8H����C`HD�H�C@H�H�CPH��t�{dt	H��#%�H�Ch�CdH�CHǃ�ǃ(H��H��[]A\A]�fD��1�L��1��T�ʼnC����M���H�-Z#%H�{�UH��1�UH��H��[]A\A]�DH�1#%H��1�H��H��[]A\A]�ff.��SH��H���WH�w dH�%(H�D$1�H���H�L$�D$������t+�D$H���H�C H�Cx1�H�|$dH3<%(uH��[ËT$H�������3�f.���(H�� SH��H��H����GdH�Wx��u:�w<��t��(H�� [�@�;������H�Sx��(H�� [�f��������f�ATUH��S��(H����H�� ����(H�JH�� D�"����H�� ����(H�JH�� ���Iԅ���H�� ����(H�JH�� �H��Iԅ�������(H�� H�PH�� �H��I�1�L�#[]A\�f����I����������(�L������%���I�����H��������������(�J������!�������I�H���b���H���������(�I���������I��H���5�������^�����(���&���������F���@AWE1�AVAUL�oxATA�USH��H��(L���dH�%(H�D$1�H���H��uq�sd�����K<��tBH�!�	H���6��������H�L$dH3%(�H��([]A\A]A^A_�fDH��������FH���H��t��S<��EE��{P��D��L���
&�Ń��.��	�������{Pt	����H���H���1��� ���D��H���H���)‰ЉS8H)�H�s0�+�H����{P��H������C<���u�CP1����@��(H�Cx1�H�� H�� H�����@H���H��8�~&�ō@���9���tk����	D苃(H���H�� H�Cx��@H���H��8H���������H�]�H�����������E���fD��f�H���D��D�s8D��H���H)�H�s0�*�H���������1���DH��	H���������������f�H��H�������������f�H����H��������������H��	H�����������v���H�H�����H�����������X���H�t$H���\������t-H�t$H���J������tH�D$H9��u\��HH;D$u3Hǃ�H�CxHǃ�Hǃ�����W.�H�M�	H������������H��	H����������ff.�@ATUSH��H�� dH�%(H�D$1��GP��t>����������1�H�t$dH34%(��
H�� []A\�f.��G���uH�->%��UH�C �C�<�UH�{ H�C(H����H�����C1�H�{x��H�Cx�CHǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ�Hǃ���4���Hǃ`�CpHǃhHǃpǃ(Hǃ ��u.H�� �p��H��M�QP��i�Cpf�H���H��uI�Cd���4�C<��t�S8���.����CP�����H���������H���H��t�H��vBH�S �:�7zX��H��v,H�@1�H��H�$�"<���H���H�Sx�:�V�S8H�KH�{(H�KHH�{0H����H�H�CP���{����CH�s(H�K8H�ߍ������PH�C(H�C0�O�����CH���H���H�C(H����!�����������������H�|$�/���t9�E����	Љ��	Љ��	Љ��	Љ��	Ѓ�9�����������H�{ 1�1�fD�T��H��H��H	�H��u�H���������H�H��H9�����H�CP�C8���v����CP�b����f�zZ�p�����H��H��H���H�SxH�����Cd���$D�c<E��tKH�C(��H����C8�^����H�sxH�H���:�S8��Hǃ��S8�K���H���]��������H���H��t�H�Sx@�:�u�H��H��H���H�SxH��uK�kd��u	D�[<E��tH��
�	H���������n���H�������t�H���H��t�H�SxH��H�JH���H�Kx�:u�H��uMD�SdE��u	D�K<E��tH�8
�	H������������H������t�H���H��t�H�KxH��H�QH���H�Sx�)@���u�H����D�CdE��uB�{<�����s<���z�K<���7�S<�����C<�����C<����@��tU�CdA�������u�C<����C<����H���A���H����Cd��u
D�[<E���J@��t(H���fDH����D�SdE��u	D�K<E��tj@����H���@H����D�CdE���Y�{<���-���YH�� ��O�1�1�1��"�H�CPH�������H������t�H���H���y���H�SxH��H���H�JH�Kx�:�>����T���f�H�SxH��H���H�JH�Kx�:�@������a���H���H����H��H�CxH���H����H��H�CxH����#���H���Q��������H���H�������H��H�CxA�T$�H���E���w���A���R���H���
����a���H���H���1���@��������{d������s<���&�K<�������H����������H���H���p����3����H������H���t H���H�SxH��H��H���H�SxH����H��H�CxH���H����H��H�CxH���H���jH��H�CxH���H���H��H�CxH���H����H��H�CxH���@���B���H���H������H�P�H�CxH���H�HH�KxD� H����H�B�H�SxH���H�JH�Kx���D�D�b���������f�H�-�%H�{(�UH�{ �U�CH�=�H���`���������H��t�H�-J%H��UH�{ H��t�U��H�-/%��H������H������H�������Cd���������@H��������H��������H���}����Cd�����������H�������H����E���H���,����Cd���Z��������Cd���8����j����H���X����H����@���H���'����Cd���+����1����H��� �����(���H���H���	�������H������H�������H��H�������(���H�����D9�tVH���H������Cd����������H������H�������H�������Cd��������E�����"�H������f.�����������f��������H��t&�Wp��~�WP1���t�������~1������D��ff.���USH�����taH��%����H��H��tIA��H�
�H�ǾH�����1��T��H���?�H��H��H��%�H��H��[]�fD1�H��H��[]�@��AWAVAUATUSH��(dH�%(H�D$1�H�����GdH������A�ԅ������O`I�������o8H�D$E1�H�D$��C<��tH������SP���8�C�D9��*���AD��L���H��H����@�����D�{8�C8D�|$L��M�A�L{A)�t>�k8���z���A9�H�s0L��AF�A��l$A�L��M��1�L{0)k8L{A)�u�D��H�L$dH3%(��H��([]A\A]A^A_ÐL�wX�o8�G`M����f���t)��L9���D)�D��k8HC0HCI)�������u׋S<��tH��������H������t�k8�@H����������������I���DH�L$D��L��H���u����t�D�|$L������1��n���H�R�
�x������ATUSH��ts�GH����u9H�-R%H�{�UH�{hH��t	�{dt�U�{�q'�H��A��UD��[]A\�H�x�5�{pt1H�-
%H�{(�Cp�UH�{ �U�A�	[]D��A\�f�H�� ��0����H��H���xmlCopyEntity:: malloc failed-->ISO-8859-1&#%d;&#x%X;&quot;&#x25;gtaposquot0123456789ABCDEF<!ENTITY  PUBLIC  SYSTEM  NDATA <!ENTITY % &xmlCreateEntity: malloc failedxmlEncodeEntities: malloc failedxmlEncodeEntities: input not UTF-8xmlEncodeEntities: char out of range
xmlEncodeEntities: realloc failedxmlAddEntity: invalid redeclaration of predefined entity '%s'xmlAddDtdEntity: document is NULLxmlAddDtdEntity: document without external subsetxmlAddDocEntity: document is NULLxmlAddDocEntity: document without internal subsetxmlEncodeSpecialChars: malloc failedxmlEncodeSpecialChars: realloc failedxmlDumpEntitiesDecl: internal: unknown type entity type�g�f��f�f�g�(f�UTF-8UTF8UTF-16UTF16ISO-10646-UCS-2UCS2ISO-10646-UCS-4UCS4ISO-LATIN-1ISO LATIN 1ISO-8859-2ISO-LATIN-2ISO LATIN 2ISO-8859-3ISO-8859-4ISO-8859-5ISO-8859-6ISO-8859-7ISO-8859-8ISO-8859-9ISO-2022-JPSHIFT_JISEUC-JPShift-JISEBCDICMAX_ENCODING_HANDLERSUTF-16LEUTF-16BEUS-ASCIIHTMLebcdicEBCDIC-USIBM-037SHIFT-JISShift_JIS0x%02X 0x%02X 0x%02X 0x%02X�����������������P��@��0��Ђ����`��p��� ������(��(��x�������؊�(��(��H��������h��(��Ȋ��0��8��xmlRegisterCharEncodingHandler: Too many handler registered, see %s
xmlRegisterCharEncodingHandler: NULL handler !
xmlNewCharEncodingHandler : no name !
xmlNewCharEncodingHandler : out of memory !
xmlInitCharEncodingHandlers : out of memory !
iconv : problems with filters for '%s'
input conversion failed due to input error, bytes %s
xmlCharEncOutFunc: no output function !
output conversion failed due to conv error, bytes %s
%s:%d: Entity: line %d: element %s: namespace HTML parser memory output I/O XInclude XPath regexp module Schemas validity Schemas parser Relax-NG parser Relax-NG validity Catalog C14N XSLT encoding schematron internal buffer URI warning : error : out of memory error%s:%d: 
Entity: line %d: 
validity error: validity warning: No error message providedMemory allocation failed
(����(��0���������(��(��h�� ����P��(��8������ؠ������(��(��x��`����П�H��Memory allocation failed : %s
encoding unknown
encoding not supported: %s
new input from I/O
new input from entity: %s
Cannot parse entity %s
new fixed input: %.30s
new input from file: %s
Got NULL parser context
failed to allocate buffer
switching encoding: encoder error
static memory buffer doesn't support encoding
Fatal: program compiled against libxml %d using libxml %d
Warning: program compiled against libxml %d using older %d
Parser input data memory error
Char 0x%X out of allowed range
Input is not proper UTF-8, indicate encoding !
Bytes: 0x%02X 0x%02X 0x%02X 0x%02X
Input is not proper UTF-8, indicate encoding !
%sChar 0x0 out of allowed range
Internal error, xmlCopyCharMultiByte 0x%X out of bound
couldn't allocate a new input stream
xmlNewEntityInputStream entity = NULL
Internal entity %s without content !
Internal parameter entity %s without content !
Predefined entity %s without content !
xmlNewStringInputStream string = NULL
failed to load external entity: NULL filename 
failed to load external entity "%s"
cannot initialize parser context
cannot allocate parser context
X��:��������������X��������h��X��X��X��X��X��X��X��X��X��X��X��X��X��R��(��������������Name too long use XML_PARSE_HUGE optionPEReference at end of documentDetected an entity reference loopPEReferences forbidden in internal subsetUnescaped '<' not allowed in attributes valuesUnfinished System or Public ID " or ' expectedSequence ']]>' not allowed in contentSYSTEM or PUBLIC, the URI is missingPUBLIC, the Public Identifier is missingComment must not contain '--' (double-hyphen)'>' required to close NOTATION declaration'(' required to start ATTLIST enumerationNmToken expected in ATTLIST enumeration')' required to finish ATTLIST enumerationMixedContentDecl : '|' or ')*' expectedMixedContentDecl : '#PCDATA' expectedContentDecl : Name or '(' expectedContentDecl : ',' '|' or ')' expectedPEReference: forbidden within markup decl in internal subsetXML conditional section '[' expectedContent error in the external subsetconditional section INCLUDE or IGNORE keyword expectedXML conditional section not closedText declaration '<?xml' requiredparsing XML declaration: '?>' expectedexternal parsed entities cannot be standaloneString not closed expecting " or 'String not started expecting ' or "standalone accepts only 'yes' or 'no'Extra content at the end of the documentextra content at the end of well balanced chunkMalformed declaration expecting versionCharRef: invalid hexadecimal valueCharRef: invalid decimal valuehttp://www.w3.org/XML/1998/namespaceInternal error: xmlParseGetLasts
Excessive depth in document: %d use XML_PARSE_HUGE option
Unfinished entity outside the DTDxmlParseCharRef: character reference out of bounds
xmlParseCharRef: invalid xmlChar value %d
xmlParseStringCharRef: character reference out of bounds
xmlParseStringCharRef: invalid xmlChar value %d
String decoding Entity Reference: %.30s
xmlParseStringEntityRef: no name
Entity reference to unparsed entity %s
Attribute references external entity '%s'
'<' in entity '%s' is not allowed in attributes values
Attempt to reference the parameter entity '%s'
predefined entity has no content
String decoding PE Reference: %.30s
xmlParseStringPEReference: no name
%%%s; is not a parameter entity
xmlLoadEntityContent parameter errorReading %s entity content input
xmlLoadEntityContent input errorxmlLoadEntityContent: invalid char value %d
not validating will not read content for PE entity %s
Name %s is not XML Namespace compliant
unexpected change of input bufferFailed to parse QName '%s:%s:'
EntityValue: '%c' forbidden except for entities references
comment doesn't start and stop in the same entity
Double hyphen within comment: <!--%.50s
xmlParseComment: invalid xmlChar value %d
Comment not terminated 
<!--%.50s
Comment doesn't start and stop in the same entity
XML declaration allowed only at the start of the document
xmlParsePITarget: invalid name prefix 'xml'
colons are forbidden from PI names '%s'
invalid character in attribute value
CData section not finished
%.50s
Document labelled UTF-16 but has UTF-8 content
Missing encoding in text declaration
Internal: %%%s; is not a parameter entity
Space required after 'SYSTEM'
Space required after 'PUBLIC'
Space required after the Public Identifier
PI declaration doesn't start and stop in the same entity
ParsePI: PI %s space expected
Space required after '<!NOTATION'
colons are forbidden from notation names '%s'
Space required after the NOTATION name'
Notation declaration doesn't start and stop in the same entity
Space required after '<!ENTITY'
colons are forbidden from entities names '%s'
Space required after the entity name
SAX compatibility mode documentSpace required before 'NDATA'
xmlParseEntityDecl: entity %s not terminated
Entity declaration doesn't start and stop in the same entity
Space required after '#FIXED'
Attribute default value declaration error
Name expected in NOTATION declaration
standalone: attribute notation value token %s duplicated
standalone: attribute enumeration value token %s duplicated
Space required after 'NOTATION'
Space required after '<!ATTLIST'
ATTLIST: no name for Attribute
Space required after the attribute name
Space required after the attribute type
Space required after the attribute default value
Attribute list declaration doesn't start and stop in the same entity
Element content declaration doesn't start and stop in the same entity
xmlParseElementMixedContentDecl : Name expected
xmlParseElementChildrenContentDecl : '%c' expected
xmlParseElementChildrenContentDecl : depth %d too deep, use XML_PARSE_HUGE
xmlParseElementContentDecl : %s '(' expected
Space required after 'ELEMENT'
xmlParseElementDecl: no name for Element
Space required after the element name
PEReference: forbidden within markup decl in internal subset
xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected
Element declaration doesn't start and stop in the same entity
All markup of the conditional section is not in the same entity
xmlParseDocTypeDecl : no DOCTYPE name !
Specification mandates value for attribute %s
Malformed value for xml:lang : %s
Invalid value "%s" for xml:space : "default" or "preserve" expected
xmlParseStartTag: invalid element name
xmlParseStartTag: problem parsing attributes
Opening and ending tag mismatch: %s line %d and %s
xmlns: '%s' is not a valid URI
xmlns: URI %s is not absolute
xml namespace URI cannot be the default namespace
reuse of the xmlns namespace name is forbidden
xml namespace prefix mapped to wrong URI
xml namespace URI mapped to wrong prefix
redefinition of the xmlns prefix is forbidden
xmlns:%s: Empty XML namespace is not allowed
xmlns:%s: '%s' is not a valid URI
xmlns:%s: URI %s is not absolute
standalone: attribute %s on %s defaulted from external subset
Namespace prefix %s for %s on %s is not defined
Namespaced Attribute %s in '%s' redefined
Namespace prefix %s on %s is not defined
Couldn't find end of Start Tag %s line %d
xmlParseEndTag: '</' not found
xmlParseInternalSubset: error detected in Markup declaration
creating parser: out of memory
cannot allocate parser contextparsing new buffer: out of memory
detected an error in element content
Premature end of data in tag %s line %d
Version mismatch between document and entity
Couldn't find end of Start Tag %s
PP: internal error, state == COMMENT
PP: internal error, state == IGNOREPP: internal error, state == PI
PP: internal error, state == ENTITY_DECL
PP: internal error, state == ENTITY_VALUE
PP: internal error, state == ATTRIBUTE_VALUE
PP: internal error, state == SYSTEM_LITERAL
PP: internal error, state == PUBLIC_LITERAL
Start tag expected, '<' not found
Unregistered error messageCharRef: invalid valueinternal errorPEReference in prologPEReference in epilogPEReference: no namePEReference: expecting ';'EntityValue: " or ' expectedAttValue: " or ' expectedSystemLiteral " or ' expectedxmlParsePI : no target nameInvalid PI nameNOTATION: Name expected hereEntity value requiredFragment not allowedexpected '>'EntityRef: expecting ';'DOCTYPE improperly terminatedEndTag: '</' not foundexpected '='Invalid XML encoding nameDocument is emptychunk is not well balanced%s: %s
Attribute %s redefined
Attribute %s:%s redefined
Pbm popping %d NS
NCName./-Huge input lookupcur index out of boundPCDATA invalid Char value %d
Popping input %d
%s(%d): Pushing input %d : %.30s
Entity '%s' not defined
PEReference: %%%s; not found
NmTokenFailed to parse QName '%s'
Failed to parse QName '%s:'
SystemLiteralPublic IDComment too big foundDouble hyphen within comment
Comment not terminated
xml-stylesheetxmlParseEntityRef: no name
AttValue length too long
AttValue: ' expected
CData section too big foundUnsupported encoding %s
Space needed after '<?xml'
1.0Space needed here
PEReference: no name
PEReference: %s
PI %s too big foundParsePI: PI %s never end ...
oasis-xml-catalogCatalog PI syntax error: %s
Space required after '%%'
xmlParseEntityDecl: no name
Invalid URI: %s
New Doc failedfakeSpace required after 'NDATA'
ATTLIST: no name for Element
externalerror parsing attribute name
xml:langxml:spacepreserveattributes construct error
unparsabledictionary allocation failurehttp://www.w3.org/2000/xmlns/Unexpected change of input
Blank needed after '<?xml'
Unsupported version '%s'
Blank needed here
nonepseudoroot#x%X#%dinvalid entity type found
Entity '%s' failed to parse
nbktext<![CDATA[xmlParseChunk: encoder error

xml-model����������P��x�����`�����������������������������`��P��8�� ������������������������������������������������������p��X�����@�����(���������������������h����������������������������p��X�����@��(�������������ȿ�������h��о����8�� ������������������H�����������������������������������������0������������������u���������������������� ��1�������������������������������������0��A��R��c��������t���������������������������
����/����@��Q��b��s���������������������������������������.����?��P��a��r��������������������S��d����������������������������B��P��0��0�� �����0�� �� �� �� �� �� �� �� �� ��@�� �� ���`��@��
�
�
�(��
�P	��x�@�(���@���	 !"#$%'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\^_`abcdefghijklmnopqrstuvwxyz{|}~realloc ns map itemallocating namespace mapallocating namespace map itemallocating the XML namespacebuilding QNameQName splitbuilding namespacens_%d%.30s_%dbuilding DTDbuilding internal subsetbuilding docbuilding PIbuilding nodebuilding fragmentbuilding textbuilding character referencebuilding referencebuilding attributebuilding commentbuilding CDATAcomment()text()/@getting node pathprocessing-instruction('%s')%s%s%s%s%s[%d]%sgetting namespace listsearching namespace%.20sdefault%d%.20s%dfixing namespacescopying nodehttp://ftp://urn:creating buffergrowing buffer past UINT_MAXgrowing bufferinvalid hexadecimal character value
invalid decimal character value
unterminated entity reference %15s
allocating DOM-wrapper contextxmlDOMWrapCloneNode(): allocating a nodexmlDOMWrapCloneNode(): allocating an attr-nodexmlDOMWrapCloneNode(): allocating namespaceh����x��x����h��x��x��@��h���h��@��h��h��h��h��X��֜�Ĝ��T��T��l��֜�T��T��~��֜�Ĝ�֜�~��֜�֜�֜�֜�����������������������������������������������v��������������������������� ��J	��1��������X�� ��g
����� �� �� �� �� �� �� �� �� �� �� �� ��commenttextnoenctextCannot initialize memory for listCannot initialize memory for sentinelCannot initialize memory for new linkwb%drbfile://localhost/file:///Unknown IO errorunknown address familyalready in useBad file descriptorBad messageResource busyOperation canceledNo child processesResource deadlock avoidedDomain errorFile existsBad addressFile too largeOperation in progressInterrupted function callInvalid argumentInput/output errorIs a directoryToo many open filesToo many linksFilename too longToo many open files in systemNo such deviceNo such file or directoryExec format errorNo locks availableNot enough spaceNo space left on deviceFunction not implementedNot a directoryDirectory not emptyNot supportedNo such device or addressOperation not permittedBroken pipeResult too largeRead-only file systemInvalid seekNo such processOperation timed outImproper linknot a socketalready connectedconnection refusedPermission deniedunreachable networkaddress in usefread()fflush()fclose()creating buffer context1.2.11xmlCreateZMemBuff:  %s %d
%c%c%c%c%c%c%c%c%c%cxzclose()xzread()gzclose()gzread()fwrite()wbgzwrite()file:/creating input buffercreating output buffergrowing input bufferbytes to buffer.  ZLIB errorError sending document to URIxmlIOHTTPWrite:  %s
%s '%s'.
creating HTTP output contextcopying URIContent-Encoding: gziptext/xmldata to URIbytes to URIfailed.  HTTP return code:PUTPOSTfailed to load HTTP resource
+xmlUnknown encoding %sbuilding canonical path
encoder errorflush errorwrite errorno inputbuffer fullloading errorInappropriate message buffer lengthInappropriate I/O control operationResource temporarily unavailableError initializing compression context.  ZLIB error:Allocation failure extending output buffer toxmlZMemBuffExtend:  %s %lu bytes.
Compression error while appendingxmlZMemBuffAppend:  %s %d %s - %dError appending to internal buffer.Error flushing zlib buffers.  Error codexmlZMemBuffGetContent:  %s - %d
Error retrieving content.
Unable toxmlIOHTTPCloseWrite:  %s '%s' %s '%s'.
xmlIOHTTPCloseWrite: HTTP '%s' of %d %s
'%s' %s %d
failed to load HTTP resource "%s"
Attempt to load network entity %sMemory tag error occurs :%p 
	 bye
xmlMallocBreakpoint reached on block %d
trying to free pointer from freed area
Memory list not compiled (MEM_LIST not defined !)
      MEMORY ALLOCATED : %lu, MAX was %lu
xmlMallocLoc : Unsigned overflow
xmlMallocLoc : Out of free space
xmlMallocAtomicLoc : Unsigned overflow
xmlMallocAtomicLoc : Out of free space
xmlReallocLoc : Unsigned overflow
%p : Realloced(%lu -> %lu) Ok
%p : Freed()
xmlMemFree(%p) error
.memorylistXML_MEM_BREAKPOINT%udXML_MEM_TRACE%p%p : Malloc(%lu) Ok
%p : Strdup() Ok
reaching arbitrary MAX_URI_LENGTH limit
saving URI
creating URI structure
:%dunescaping URI value
+-./?;:@;:&=+$,:@&=+$,/?;;/?:@&=+,$resolving URI against base
./building relative URI
/;&=+$,:/?_.#&;=Found NULL content in content model of %s
Found PCDATA in content model of %s
ContentModel broken for element %s
Internal: ELEMENT cur corrupted invalid type
Element %s has too many ID attributes defined : %s
xmlNewElementContent : name == NULL !
xmlNewElementContent : name != NULL !
Internal: ELEMENT content corrupted invalid type
Cannot create automata for element %s
Content model of %s is not determinist: %s
Element %s content does not follow the DTD, expecting %s, got %s
Element content does not follow the DTD, expecting %s, got %s
xmlAddElementDecl: content != NULL for EMPTY
xmlAddElementDecl: content != NULL for ANY
xmlAddElementDecl: content == NULL for MIXED
xmlAddElementDecl: content == NULL for ELEMENT
Internal: ELEMENT decl corrupted invalid type
xmlAddElementDecl: Table creation failed!
Internal: ELEMENT struct corrupted invalid type
Internal: ATTRIBUTE struct corrupted invalid type
Attribute %s of %s: invalid default value
xmlAddAttributeDecl: Table creation failed!
Attribute %s of element %s: already defined
element table allocation failedElement %s has too may ID attributes defined : %s
Internal: ATTRIBUTE struct corrupted invalid def
xmlAddNotationDecl: Table creation failed!
xmlAddNotationDecl: %s already defined
xmlAddID: Table creation failed!
attribute %s line %d references an unknown ID "%s"
IDREF attribute %s references an unknown ID "%s"
IDREFS attribute %s references an unknown ID "%s"
xmlAddRef: Table creation failed!
xmlAddRef: Reference list creation failed!
xmlAddRef: Reference list insertion failed!
No declaration for element %s
ENTITY attribute %s reference an unknown entity "%s"
ENTITY attribute %s reference an entity "%s" of wrong type
ENTITIES attribute %s reference an unknown entity "%s"
ENTITIES attribute %s reference an entity "%s" of wrong type
NOTATION attribute %s reference an unknown notation "%s"
xmlValidateAttributeCallback(%s): internal error
attribute %s: could not find decl for element %s
NOTATION attribute %s declared for EMPTY element %s
standalone: %s on %s value had to be normalized based on external subset declaration
Syntax of default value for attribute %s of %s is not valid
ID attribute %s of %s is not valid must be #IMPLIED or #REQUIRED
Element %s has %d ID attribute defined in the internal subset : %s
Element %s has %d ID attribute defined in the external subset : %s
Element %s has ID attributes defined in the internal and external subset : %s
Default value "%s" for attribute %s of %s is not among the enumerated set
Definition of %s has duplicate references of %s
Definition of %s has duplicate references of %s:%s
Definition of %s has duplicate references to %s
Definition of %s has duplicate references to %s:%s
No declaration for attribute %s of element %s
Syntax of value for attribute %s of %s is not valid
Value for attribute %s of %s is different from default "%s"
Value "%s" for attribute %s of %s is not a declared Notation
Value for attribute %s of %s must be "%s"
Value "%s" for attribute %s of %s is not among the enumerated set
Value "%s" for attribute %s of %s is not among the enumerated notations
No declaration for attribute xmlns:%s of element %s
No declaration for attribute xmlns of element %s
Syntax of value for attribute xmlns:%s of %s is not valid
Syntax of value for attribute xmlns of %s is not valid
Value for attribute xmlns:%s of %s is different from default "%s"
Value for attribute xmlns of %s is different from default "%s"
Value "%s" for attribute xmlns:%s of %s is not a declared Notation
Value "%s" for attribute xmlns of %s is not a declared Notation
Value "%s" for attribute xmlns:%s of %s is not among the enumerated notations
Value "%s" for attribute xmlns of %s is not among the enumerated notations
Value "%s" for attribute xmlns:%s of %s is not among the enumerated set
Value "%s" for attribute xmlns of %s is not among the enumerated set
Value for attribute xmlns:%s of %s must be "%s"
Value for attribute xmlns of %s must be "%s"
Element %s was declared EMPTY this one has content
Element %s was declared #PCDATA but contains non text nodes
Internal: MIXED struct corrupted
Element %s is not declared in %s list of possible children
Element %s content does not follow the DTD, Misplaced %s
Failed to build content model regexp for %s
Element %s content does not follow the DTD, Text not allowed
Element %s content does not follow the DTD, Expecting more child
Attribute element not expected
Text element has no content !
Notation element not expected
Document element not expected
standalone: %s declared in the external subset contains white spaces nodes
Element %s does not carry attribute %s
Element %s does not carry attribute %s:%s
Element %s required attribute %s:%s has no prefix
Element %s required attribute %s:%s has different prefix
Element %s namespace name for default namespace does not match the DTD
Element %s namespace name for %s does not match the DTD
root and DTD name do not match '%s' and '%s'
xmlValidateDocumentFinal: doc == NULL
Could not build URI for external subset "%s"
Could not load the external subset "%s"
realloc failedBuilding content model | #PCDATA ,  ...Redefinition of element %s
<!ELEMENT  EMPTY>
 ANY>
<!ATTLIST  IDREF IDREFS ENTITY ENTITIES NMTOKEN NMTOKENS NOTATION ( #REQUIRED #IMPLIED #FIXED<!NOTATION  >
ID %s already defined
IDREFS splitNOTATION %s is not declared
Validating namespaceText element has children !
Text element has namespace !
Entity element not expected
HTML Document not expected
unknown element type
no root element
no DTD found!
<!dummy?>x���x���`���`���@���`���@���0���P���P���`�������$�����t�������������������������������������������������������� ��8��P��h��������������p���
���	��,
��L
��T	��T	�����T	��T	��\	��\	��\	��t	���	���
���
���
���
���
��T	��T	������http://www.w3.org/1999/xhtml/simpleextendedrolexlink:external-linkset%s:external-linksethttp://www.w3.org/1999/xlink/namespace/Incorrectly opened comment
metatitlenoframesframeset-//W3C//DTD HTML 4.01//EN-//W3C//DTD HTML 4//ENUnfinished SystemLiteral
HTTP-EQUIVCONTENTCHARSET=Unsupported encoding %sBytes: 0x%02X
PubidLiteral " or ' expected
Unfinished PubidLiteral
Element %s embeds close tag
Invalid char in CDATA 0x%X
buffer allocation failed
Comment abruptly endedgrowing buffer failed
Invalid char in comment 0x%X
PI is not started correctlyEnd tag : expected '>'
Unexpected end tag : %s
onclick#%uhtmlParseEntityRef: no name
growing buffer
AttValue: " expected
AttValue: no value found
http-equivContent-TypecontentDOCTYPETag %s invalid
Document is empty
NewParserCtxt: out of memory
charset=abbracronymappletbdobigblockquotebuttoncaptioncentercitecodedfndth2h3h4h5h6iframekbdlabellegendnoscriptobjectpreqsampsmallstrikestrongtdttvarampersand, U+0026 ISOnumsingle quoteless-than sign, U+003C ISOnumnbspiexclcentcent sign, U+00A2 ISOnumpoundpound sign, U+00A3 ISOnumcurrencurrency sign, U+00A4 ISOnumyenbrvbarsectsection sign, U+00A7 ISOnumcopycopyright sign, U+00A9 ISOnumordflaquonotnot sign, U+00AC ISOnumshyregmacrdegdegree sign, U+00B0 ISOnumplusmnsup2sup3micromicro sign, U+00B5 ISOnumparamiddotsup1ordmraquofrac14frac12frac34iquestAgraveAacuteAcircAtildeAumlAringAEligCcedilEgraveEacuteEcircEumlIgraveIacuteIcircIumlETHNtildeOgraveOacuteOcircOtildeOumlOslashUgraveUacuteUcircUumlYacuteTHORNszligagraveaacuteacircatildeaumlaringaeligccedilegraveeacuteecirceumligraveiacuteicirciumlethntildeograveoacuteocircotildeoumldividedivision sign, U+00F7 ISOnumoslashugraveuacuteucircuumlyacutethornyumlOEligoeligScaronscaronYumlfnofsmall tilde, U+02DC ISOdiaAlphaBetaGammaDeltaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiOmegaalphabetagammadeltaepsilonzetathetaiotakappalambdamuxiomicronpirhosigmafsigmatauupsilonphichipsiomegathetasymupsihpivenspen space, U+2002 ISOpubemspem space, U+2003 ISOpubthinspthin space, U+2009 ISOpubzwnjzwjlrmrlmndashen dash, U+2013 ISOpubmdashem dash, U+2014 ISOpublsquorsquosbquoldquordquobdquodaggerdagger, U+2020 ISOpubDaggerdouble dagger, U+2021 ISOpubbullhellippermilprimePrimelsaquorsaquoolinefraslfraction slash, U+2044 NEWeuroeuro sign, U+20AC NEWimageweierprealtradealefsymlarruarrupwards arrow, U+2191 ISOnumdarrharrcrarrlArruArrrArrdArrhArrforallfor all, U+2200 ISOtechpartexistthere exists, U+2203 ISOtechnablaisinelement of, U+2208 ISOtechnotinniprodsumminusminus sign, U+2212 ISOtechlowastradicpropinfininfinity, U+221E ISOtechangle, U+2220 ISOamsoandcapcupunion = cup, U+222A ISOtechintegral, U+222B ISOtechthere4therefore, U+2234 ISOtechsimcongasympnot equal to, U+2260 ISOtechidentical to, U+2261 ISOtechsubset of, U+2282 ISOtechsupsuperset of, U+2283 ISOtechnsubsubesupeoplusotimesperpsdotdot operator, U+22C5 ISOamsblceilrceilright ceiling, U+2309 ISOamsclfloorrfloorright floor, U+230B ISOamscranglozlozenge, U+25CA ISOpubspadesclubsheartsdiamstheadtbodytfoottableondblclickonmousedownonmouseuponmouseoveronmousemoveonmouseoutonkeypressonkeydownonkeyuponloadonunloadonfocusonbluronsubmitonresetonchangeonselectfieldsetdlulcolcolgroupdirhrimglistingmenuxmpoptionoptgroupanchor abbreviated forminformation on author java applet client-side image map area bold text styledocument base uri basefontbase font size i18n bidi over-ride large text stylelong quotation document body forced line break push button table caption citationcomputer code fragmenttable column table column group definition description deleted text instance definitiondirectory listdefinition list definition term embedgeneric embedded object form control group local change to font interactive form window subdivisionheading document head horizontal rule document root element italic text styleinline subwindow embedded image form control inserted textisindexsingle line prompt form field label text fieldset legend list item a media-independent link client-side image map menu list generic metainformation option group selectable choice paragraph paramnamed property value preformatted text short inline quotation strike-through text stylescript statements option selector small text stylestrike-through textstrong emphasisstyle info subscriptsuperscript table body table data celltextareamulti-line text field table footer table header celltable header document title table row underlined text styleunordered list compactbgcolordisabledreadonlytabindexaccesskeyheadersscoperowspancolspancharcharoffvalignnowrapsummaryrulescellspacingcellpaddingdatapagesizemediamultiplelanguagesrcdefereventforvaluetypeselectedstarthspacevspacedeclareclassidcodebasecodetypearchivestandbyusemapschemeactionhreflangrelrevpromptcheckedmaxlengthaltismapacceptframeborderhiddenpalettepluginspacepluginurlunitslongdescmarginwidthmarginheightscrollingversionnoshadeprofilecolsnoresizeenctypeaccept-charsetfacedatetimebackgroundvlinkalinkshapecoordsnohrefcleartargethtmlCheckEncoding: wrong encoding meta
htmlCheckEncoding: unknown encoding %s
htmlCheckEncoding: encoder error
SystemLiteral " or ' expected
Invalid char in SystemLiteral 0x%X
htmlParseDocTypeDecl : no DOCTYPE name !
htmlParseExternalID: SYSTEM, no URI
Invalid char in PubidLiteral 0x%X
htmlParseExternalID: PUBLIC, no Public Identifier
DOCTYPE improperly terminated
Comment incorrectly closed by '--!>'Invalid char in processing instruction 0x%X
htmlParseEndTag: '</' not found
Opening and ending tag mismatch: %s and %s
HTML document creation failed
-//W3C//DTD HTML 4.0 Transitional//ENhttp://www.w3.org/TR/REC-html40/loose.dtdhtmlParseEntityRef: expecting ';'
htmlParseCharRef: context error
htmlParseCharRef: missing semicolon
htmlParseCharRef: value too large
htmlParseCharRef: invalid xmlChar value %d
htmlParseCharRef: invalid value
htmlParseStartTag: context error
htmlParseStartTag: invalid element name
htmlParseStartTag: misplaced <html> tag
htmlParseStartTag: misplaced <head> tag
htmlParseStartTag: misplaced <body> tag
Misplaced DOCTYPE declaration
htmlParseElement: context error
htmlParseDocument: context error
htmlInitParserCtxt: out of memory
htmlParseChunk: context error
HPP: internal error, state == CDATA
HPP: internal error, state == DTD
HPP: internal error, state == COMMENT
HPP: internal error, state == PI
HPP: internal error, state == ENTITY_DECL
HPP: internal error, state == ENTITY_VALUE
HPP: internal error, state == ATTRIBUTE_VALUE
HPP: internal error, state == XML_PARSER_SYSTEM_LITERAL
HPP: internal error, state == XML_PARSER_IGNORE
HPP: internal error, state == XML_PARSER_LITERAL
quotation mark = APL quote, U+0022 ISOnumgreater-than sign, U+003E ISOnumno-break space = non-breaking space, U+00A0 ISOnuminverted exclamation mark, U+00A1 ISOnumyen sign = yuan sign, U+00A5 ISOnumbroken bar = broken vertical bar, U+00A6 ISOnumdiaeresis = spacing diaeresis, U+00A8 ISOdiafeminine ordinal indicator, U+00AA ISOnumleft-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnumsoft hyphen = discretionary hyphen, U+00AD ISOnumregistered sign = registered trade mark sign, U+00AE ISOnummacron = spacing macron = overline = APL overbar, U+00AF ISOdiaplus-minus sign = plus-or-minus sign, U+00B1 ISOnumsuperscript two = superscript digit two = squared, U+00B2 ISOnumsuperscript three = superscript digit three = cubed, U+00B3 ISOnumacute accent = spacing acute, U+00B4 ISOdiapilcrow sign = paragraph sign, U+00B6 ISOnummiddle dot = Georgian comma Greek middle dot, U+00B7 ISOnumcedilla = spacing cedilla, U+00B8 ISOdiasuperscript one = superscript digit one, U+00B9 ISOnummasculine ordinal indicator, U+00BA ISOnumright-pointing double angle quotation mark right pointing guillemet, U+00BB ISOnumvulgar fraction one quarter = fraction one quarter, U+00BC ISOnumvulgar fraction one half = fraction one half, U+00BD ISOnumvulgar fraction three quarters = fraction three quarters, U+00BE ISOnuminverted question mark = turned question mark, U+00BF ISOnumlatin capital letter A with grave = latin capital letter A grave, U+00C0 ISOlat1latin capital letter A with acute, U+00C1 ISOlat1latin capital letter A with circumflex, U+00C2 ISOlat1latin capital letter A with tilde, U+00C3 ISOlat1latin capital letter A with diaeresis, U+00C4 ISOlat1latin capital letter A with ring above = latin capital letter A ring, U+00C5 ISOlat1latin capital letter AE = latin capital ligature AE, U+00C6 ISOlat1latin capital letter C with cedilla, U+00C7 ISOlat1latin capital letter E with grave, U+00C8 ISOlat1latin capital letter E with acute, U+00C9 ISOlat1latin capital letter E with circumflex, U+00CA ISOlat1latin capital letter E with diaeresis, U+00CB ISOlat1latin capital letter I with grave, U+00CC ISOlat1latin capital letter I with acute, U+00CD ISOlat1latin capital letter I with circumflex, U+00CE ISOlat1latin capital letter I with diaeresis, U+00CF ISOlat1latin capital letter ETH, U+00D0 ISOlat1latin capital letter N with tilde, U+00D1 ISOlat1latin capital letter O with grave, U+00D2 ISOlat1latin capital letter O with acute, U+00D3 ISOlat1latin capital letter O with circumflex, U+00D4 ISOlat1latin capital letter O with tilde, U+00D5 ISOlat1latin capital letter O with diaeresis, U+00D6 ISOlat1multiplication sign, U+00D7 ISOnumlatin capital letter O with stroke latin capital letter O slash, U+00D8 ISOlat1latin capital letter U with grave, U+00D9 ISOlat1latin capital letter U with acute, U+00DA ISOlat1latin capital letter U with circumflex, U+00DB ISOlat1latin capital letter U with diaeresis, U+00DC ISOlat1latin capital letter Y with acute, U+00DD ISOlat1latin capital letter THORN, U+00DE ISOlat1latin small letter sharp s = ess-zed, U+00DF ISOlat1latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1latin small letter a with acute, U+00E1 ISOlat1latin small letter a with circumflex, U+00E2 ISOlat1latin small letter a with tilde, U+00E3 ISOlat1latin small letter a with diaeresis, U+00E4 ISOlat1latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1latin small letter ae = latin small ligature ae, U+00E6 ISOlat1latin small letter c with cedilla, U+00E7 ISOlat1latin small letter e with grave, U+00E8 ISOlat1latin small letter e with acute, U+00E9 ISOlat1latin small letter e with circumflex, U+00EA ISOlat1latin small letter e with diaeresis, U+00EB ISOlat1latin small letter i with grave, U+00EC ISOlat1latin small letter i with acute, U+00ED ISOlat1latin small letter i with circumflex, U+00EE ISOlat1latin small letter i with diaeresis, U+00EF ISOlat1latin small letter eth, U+00F0 ISOlat1latin small letter n with tilde, U+00F1 ISOlat1latin small letter o with grave, U+00F2 ISOlat1latin small letter o with acute, U+00F3 ISOlat1latin small letter o with circumflex, U+00F4 ISOlat1latin small letter o with tilde, U+00F5 ISOlat1latin small letter o with diaeresis, U+00F6 ISOlat1latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1latin small letter u with grave, U+00F9 ISOlat1latin small letter u with acute, U+00FA ISOlat1latin small letter u with circumflex, U+00FB ISOlat1latin small letter u with diaeresis, U+00FC ISOlat1latin small letter y with acute, U+00FD ISOlat1latin small letter thorn with, U+00FE ISOlat1latin small letter y with diaeresis, U+00FF ISOlat1latin capital ligature OE, U+0152 ISOlat2latin small ligature oe, U+0153 ISOlat2latin capital letter S with caron, U+0160 ISOlat2latin small letter s with caron, U+0161 ISOlat2latin capital letter Y with diaeresis, U+0178 ISOlat2latin small f with hook = function = florin, U+0192 ISOtechmodifier letter circumflex accent, U+02C6 ISOpubgreek capital letter alpha, U+0391greek capital letter beta, U+0392greek capital letter gamma, U+0393 ISOgrk3greek capital letter delta, U+0394 ISOgrk3greek capital letter epsilon, U+0395greek capital letter zeta, U+0396greek capital letter eta, U+0397greek capital letter theta, U+0398 ISOgrk3greek capital letter iota, U+0399greek capital letter kappa, U+039Agreek capital letter lambda, U+039B ISOgrk3greek capital letter mu, U+039Cgreek capital letter nu, U+039Dgreek capital letter xi, U+039E ISOgrk3greek capital letter omicron, U+039Fgreek capital letter pi, U+03A0 ISOgrk3greek capital letter rho, U+03A1greek capital letter sigma, U+03A3 ISOgrk3greek capital letter tau, U+03A4greek capital letter upsilon, U+03A5 ISOgrk3greek capital letter phi, U+03A6 ISOgrk3greek capital letter chi, U+03A7greek capital letter psi, U+03A8 ISOgrk3greek capital letter omega, U+03A9 ISOgrk3greek small letter alpha, U+03B1 ISOgrk3greek small letter beta, U+03B2 ISOgrk3greek small letter gamma, U+03B3 ISOgrk3greek small letter delta, U+03B4 ISOgrk3greek small letter epsilon, U+03B5 ISOgrk3greek small letter zeta, U+03B6 ISOgrk3greek small letter eta, U+03B7 ISOgrk3greek small letter theta, U+03B8 ISOgrk3greek small letter iota, U+03B9 ISOgrk3greek small letter kappa, U+03BA ISOgrk3greek small letter lambda, U+03BB ISOgrk3greek small letter mu, U+03BC ISOgrk3greek small letter nu, U+03BD ISOgrk3greek small letter xi, U+03BE ISOgrk3greek small letter omicron, U+03BF NEWgreek small letter pi, U+03C0 ISOgrk3greek small letter rho, U+03C1 ISOgrk3greek small letter final sigma, U+03C2 ISOgrk3greek small letter sigma, U+03C3 ISOgrk3greek small letter tau, U+03C4 ISOgrk3greek small letter upsilon, U+03C5 ISOgrk3greek small letter phi, U+03C6 ISOgrk3greek small letter chi, U+03C7 ISOgrk3greek small letter psi, U+03C8 ISOgrk3greek small letter omega, U+03C9 ISOgrk3greek small letter theta symbol, U+03D1 NEWgreek upsilon with hook symbol, U+03D2 NEWgreek pi symbol, U+03D6 ISOgrk3zero width non-joiner, U+200C NEW RFC 2070zero width joiner, U+200D NEW RFC 2070left-to-right mark, U+200E NEW RFC 2070right-to-left mark, U+200F NEW RFC 2070left single quotation mark, U+2018 ISOnumright single quotation mark, U+2019 ISOnumsingle low-9 quotation mark, U+201A NEWleft double quotation mark, U+201C ISOnumright double quotation mark, U+201D ISOnumdouble low-9 quotation mark, U+201E NEWbullet = black small circle, U+2022 ISOpubhorizontal ellipsis = three dot leader, U+2026 ISOpubper mille sign, U+2030 ISOtechprime = minutes = feet, U+2032 ISOtechdouble prime = seconds = inches, U+2033 ISOtechsingle left-pointing angle quotation mark, U+2039 ISO proposedsingle right-pointing angle quotation mark, U+203A ISO proposedoverline = spacing overscore, U+203E NEWblackletter capital I = imaginary part, U+2111 ISOamsoscript capital P = power set = Weierstrass p, U+2118 ISOamsoblackletter capital R = real part symbol, U+211C ISOamsotrade mark sign, U+2122 ISOnumalef symbol = first transfinite cardinal, U+2135 NEWleftwards arrow, U+2190 ISOnumrightwards arrow, U+2192 ISOnumdownwards arrow, U+2193 ISOnumleft right arrow, U+2194 ISOamsadownwards arrow with corner leftwards = carriage return, U+21B5 NEWleftwards double arrow, U+21D0 ISOtechupwards double arrow, U+21D1 ISOamsarightwards double arrow, U+21D2 ISOtechdownwards double arrow, U+21D3 ISOamsaleft right double arrow, U+21D4 ISOamsapartial differential, U+2202 ISOtechempty set = null set = diameter, U+2205 ISOamsonabla = backward difference, U+2207 ISOtechnot an element of, U+2209 ISOtechcontains as member, U+220B ISOtechn-ary product = product sign, U+220F ISOamsbn-ary summation, U+2211 ISOamsbasterisk operator, U+2217 ISOtechsquare root = radical sign, U+221A ISOtechproportional to, U+221D ISOtechlogical and = wedge, U+2227 ISOtechlogical or = vee, U+2228 ISOtechintersection = cap, U+2229 ISOtechtilde operator = varies with = similar to, U+223C ISOtechapproximately equal to, U+2245 ISOtechalmost equal to = asymptotic to, U+2248 ISOamsrless-than or equal to, U+2264 ISOtechgreater-than or equal to, U+2265 ISOtechnot a subset of, U+2284 ISOamsnsubset of or equal to, U+2286 ISOtechsuperset of or equal to, U+2287 ISOtechcircled plus = direct sum, U+2295 ISOamsbcircled times = vector product, U+2297 ISOamsbup tack = orthogonal to = perpendicular, U+22A5 ISOtechleft ceiling = apl upstile, U+2308 ISOamscleft floor = apl downstile, U+230A ISOamscleft-pointing angle bracket = bra, U+2329 ISOtechright-pointing angle bracket = ket, U+232A ISOtechblack spade suit, U+2660 ISOpubblack club suit = shamrock, U+2663 ISOpubblack heart suit = valentine, U+2665 ISOpubblack diamond suit, U+2666 ISOpubshorthand for div align=center generic language/style containertext to be entered by the useralternate content container for non frame-based rendering alternate content container for non script-based rendering sample program output, scripts, etc.generic language/style container teletype or monospaced text styleinstance of a variable or program argument(I���L��0L��L��L���K���M���M��N��xK��K��K���J���J���J��J���I���M��Charset=charset =Charset =CHARSET =text/html; charset=%s@/:=?;#%&,+<>=""<!DOCTYPE about:legacy-compat></unknown encoding %s
asciiallocating HTML output bufferlz��<z��4~���|��L}��l}��lz���}���}��L~��lz��lz��lz��L~��(NULL)#%XEntity is NULL%s : INTERNAL GENERAL, EXTERNAL PARSED, EXTERNAL UNPARSED, INTERNAL PARAMETER, EXTERNAL PARAMETER, Unknown entity type %d
ID "%s"SYSTEM "%s"
 orig "%s"
 content "%s"DOCUMENT == NULL !
Misplaced ELEMENT node
Misplaced ATTRIBUTE node
Misplaced TEXT node
Misplaced CDATA node
Misplaced ENTITYREF node
Misplaced ENTITY node
Misplaced PI node
Misplaced COMMENT node
HTML DOCUMENT
Misplaced DOCTYPE node
Misplaced FRAGMENT node
Misplaced NOTATION node
Unknown node type %d
namespace node is NULL
namespace %s href=default namespace href=name=URL=standalone=true
Name is NULLName is not an NCName '%s'Node has no parent
Node has no doc
String is not UTF-8 %sText node has wrong name '%s'Element declaration is NULL
ELEMDECL(, UNDEFINED, EMPTY, ANY, MIXED DTD node is NULL
Node is not a DTDDTD(%s), PUBLIC %s, SYSTEM %sAttr is NULLATTRIBUTE Attribute has no nameError, ATTRIBUTE found here
TEXT no encTEXT compact
 interned
CDATA_SECTION
ENTITY_REF(%s)
ENTITY
PI %s
COMMENT
Error, DOCUMENT found here
DOCUMENT_TYPE
DOCUMENT_FRAG
NOTATION
ATTRDECL(%s) for %s ENUMERATION NOTATION |%s (%s REQUIRED IMPLIED FIXEDENTITYDECL(, internal
, external parsed
, unparsed
, parameter
, external parameter
, predefined
 ExternalID=%s
 SystemID=%s
 URI=%s
 content=INCLUDE START
INCLUDE END
PBM: doc == NULL !!!
INTERNAL_GENERAL_ENTITY INTERNAL_PARAMETER_ENTITY EXTERNAL_PARAMETER_ENTITY ENTITY_%d ! ...)Entities in internal subset
Entities in external subset
DTD is NULL
    DTD is empty
 %8d %s:default -> %s%s -> %sTrueFalseResult%s: no such node
%s is a Boolean
%s is a number
%s is a string
%s is user-defined
%s is an XSLT value tree
 No base found !!!
Failed to write to %s
Failed to save to %s
%s:%s > exitquitbyehelp	bye          leave shell
	exit         leave shell
	quit         leave shell
relaxng%s validates
%s fails to validate
savewritegrepfreepwddufailed to parse content
setnssetrootnsdefaultnsxpathxpath: expression required
setbasewhereiscdcannot cd to namespace
%s is a %d Node Set
%s is an empty Node Set
 -------
Unknown command %s
����8���X���x�������x�����P�������p�������Ѓ������0���P���������������8�������@���@���X�������������@�������d���D���$���L���L������������������@�������x���@���p���0��������p���x�����������������P��� �������ԛ����������Y���ܜ��M���/����՝���������؟��C���ǡ����������d���"����������������T���4���4���\���\���l���l���\���\���4���l���l���l���4���l���l���l���l���l���l���l�������8���(���������������د��ȯ��x���h���X���H���������������������������̮��<���̮���ݮ��̮��̮��̮��ݮ��ݮ��ݮ��ݮ��ݮ��ݮ��̮��̮��̮��̮�������б�����@���p���б��б��б���������������������p��{��{��{��C�������������u��H��S��S��S����l�����'��z��M�� ��+��+��+�����D��������R��%����������������|�����O��"��������������������Node is not a namespace declarationIncomplete namespace %s href=NULL
Incomplete default namespace href=NULL
Reference to default namespace not in scope
Reference to namespace '%s' not in scope
Reference to default namespace not on ancestor
Reference to namespace '%s' not on ancestor
Name is not from the document dictionary '%s'Node doc differs from parent's one
Attr has no prev and not first of attr list
Node has no prev and not first of parent list
Node prev->next : back link wrong
Node has no next and not last of parent list
Node next->prev : forward link wrong
Comment node has wrong name '%s'CData section has non NULL name '%s'Node is not an element declarationElement declaration has no nameNode is not an attribute declarationNode attribute declaration has no nameNode attribute declaration has no element nameNode is not an entity declarationEntity declaration has no nameEXTERNAL_GENERAL_PARSED_ENTITY EXTERNAL_GENERAL_UNPARSED_ENTITY No entities in internal subset
No entities in external subset
To save to subparts of a document use the 'write' command
	base         display XML base of the node
	setbase URI  change the XML base of the node
	cat [node]   display node or current node
	cd [path]    change directory to path or to root
	dir [path]   dumps information about the node (namespace, attributes, content)
	du [path]    show the structure of the subtree under path or the current node
	help         display this help
	free         display memory usage
	load [name]  load a new document with name
	ls [path]    list contents of path or the current directory
	set xml_fragment replace the current node content with the fragment parsed in context
	xpath expr   evaluate the XPath expression in that context and print the result
	setns nsreg  register a namespace to a prefix in the XPath evaluation context
	             format for nsreg is: prefix=[nsuri] (i.e. prefix= unsets a prefix)
	setrootns    register all namespace found on the root element
	             the default namespace if any uses 'defaultns' prefix
	pwd          display current working directory
	whereis      display absolute path of [path] or current working directory
	save [name]  save this document to name or the original name
	write [name] write the current node to the filename
	validate     check the document for errors
	relaxng rng  validate the document against the Relax-NG schemas
	grep string  search for a string in the subtree
Relax-NG schema %s failed to compile
%s validation generated an internal error
Write command requires a filename argument
setns: prefix=[nsuri] required
Error: unable to register NS with prefix="%s" and href="%s"
���0�����������������������������������������������������d��t��l��t��t��t��t��t��t��d��d��d��t��d��t��t��t��t��T��t��t�����p��`��p��p��p��p��p��p�����������p�����p��p��p��p�����p��p���������������������������������������������������������������@���������������������� ���@������j��L�������0������������.�����x��t���>��� ������q���������Z��x��<������������������������,�������Y��>��#�����t��85��`5��5��5�� 5��5��5��5���5��`5��h9��9��X:��:���9��h9��h9��h9��h9��9���H���H���H���H���H���H���H���H��`H���H���X��(Y��8Y��HY��XY��hY��hY��hY���X��(Y��'Z��XZ���Z���Z��HZ��'Z��'Z��'Z��Z��XZ��`[���[���[���[��h[��`[��`[��`[��x[���[���l��0m��@m��Pm��`m��pm��pm��pm���l��0m���v��Xv��pv��v���u���v���v���v��(v��Xv���x��x��0x��Xx��`w���x���x���x���w��x��(y��y���x��Pz���y��(y��(y��(y��(y��y����������H�����������z�������������������������������X���������������������������l�����������L�������������������l���L������$���,����L���L���L���L������<��4����������T���,���������������������d���4�����<���,�������̼��̾��$��,��,��,��,��,��,��L�������D����,��,��,��,�����L��d��\�����������,��L��\��,��\�����D�����������������d��$�������������l��L�T���������������d�fake node libxsltadding step
allocating component
allocating steps
merging nodeset
merging nodeset hit limit
duplicating namespace
comparing nodesets
allocating namespaces array
xpath.cObject is empty (NULL)
Object is uninitialized
Object is a Node Set :
NodeSet is NULL !
Set contains %d nodes:
Node is NULL !
 /
Value Tree is NULL !
Object is a Boolean : false
Object is a number : NaN
Object is a number : 0
Object is a number : %0g
Object is a string : Object is user defined
Step is NULL
ENDANDOREQUAL =EQUAL !=CMP <CMP >PLUS -PLUS +PLUS unary -PLUS unary - -MULT *MULT divMULT modUNIONROOTSORTCOLLECT  'ancestors'  'ancestors-or-self'  'attributes'  'child'  'descendant'  'descendant-or-self'  'following'  'following-siblings'  'namespace'  'parent'  'preceding'  'preceding-sibling'  'self' 'none' 'type' 'PI' 'all' 'name' 'node' 'comment' 'text' ELEM VARIABLE %s:%sVARIABLE %sFUNCTION %s:%s(%d args)FUNCTION %s(%d args)ARGPREDICATEFILTERUNKNOWN %d
Streaming Expression
creating object cache
pushing value
creating nodeset
growing nodeset
growing nodeset hit limit
creating result value tree
creating node set object
creating float object
creating boolean object
creating string object
creating user object
copying object
truefalse-InfinityNaN%*.*e%0.*fUnimplemented block at %s:%d
creating parser context
processing-instruction::countancestorancestor-or-selfchilddescendantdescendant-or-selffollowingfollowing-siblingparentprecedingpreceding-siblingInternal error at %s:%d
shrinking nodeset
lastcreating evaluation context
NULL context pointer
booleanceilingconcatcontainslocal-namenamespace-urinormalize-spacenumberpositionstring-lengthstarts-withsubstringsubstring-beforesubstring-aftertranslateescape-uricreating context
Number encoding
Unfinished literal
Start of literal
Undefined variable
Invalid predicate
Invalid expression
Missing closing curly brace
Unregistered function
Invalid operand
Invalid type
Invalid number of arguments
Invalid context size
Invalid context position
Memory allocation error
Syntax error
Resource error
Sub resource error
Undefined namespace prefix
Encoding error
Char out of XML range
Stack usage error
Forbidden variable
Operation limit exceeded
Recursion limit exceeded
?? Unknown error ??
Error allocating temporary storage for tim sort: need %lu bytesxmlPointerListCreate: allocating item
xmlPointerListAddSize: re-allocating item
allocating streamable expression
Object is an XSLT value tree :
Object is a number : Infinity
Object is a number : -Infinity
Compiled Expression : %d elements
XPath stack depth limit reached
XPath operation limit exceeded
xmlXPathObjectCopy: unsupported type %d
xmlXPathTranslateFunction: Invalid UTF8 string
xmlXPathCompareNodeSetValue: Can't compare node set and object of type %d
xmlXPathCompOpEvalPredicate: Expected a predicate
xmlXPathCompOpEval: variable %s bound to undefined prefix %s
xmlXPathCompOpEval: parameter error
xmlXPathCompOpEval: function %s bound to undefined prefix %s
xmlXPathCompOpEval: function %s not found
XPath: unknown precompiled operation %d
xmlXPathRunEval: last is less than zero
xmlXPathCompiledEval: No result on the stack.
xmlXPathCompiledEval: %d object(s) left on the stack.
http://www.w3.org/2002/08/xquery-functionsExpected $ for variable reference
Invalid or incomplete context
��������������Ae��A�h㈵��>�?$@0C�?��������warning: ChildSeq not starting by /1
xmlXPtrEval: evaluation failed to return a node set
xmlXPtrEval: object(s) left on the eval stack
allocating evaluation contextallocating bufferxpointerxpath1unsupported scheme '%s'
http://www.w3.org/2003/XIncludehttp://www.w3.org/2001/XIncludemismatch in redefinition of entity %s
%s has multiple fallback children
%s is not the child of an 'include'
Invalid fragment identifier in URI %s use the xpointer attribute
detected a local recursion with no xpointer in %s
could not create XPointer context
XPointer evaluation failed: #%s
XPointer selects an attribute: #%s
XPointer selects a namespace: #%s
XPointer selects unexpected nodes: #%s
trying to build relative URI from %s
trying to rebuild base from %s
fragment identifier forbidden for text: %s
text serialization of document not available
could not load %s, and no fallback was found
XInclude error: would result in multiple root nodes
creating XInclude contextdetected a recursion in %s
adding URLinclude%s has an 'include' child
fallbackparseinvalid value %s for 'parse'
failed build URL
invalid value URI %s
growing XInclude contextprocessing docXPointer is not a range: #%s
encodingencoding %s not supported
%s contains invalid char
processing textfailed to build node
����������������������������������������������������������������socket failed
Connect attempt timed outConnect failedgetsockopt failed
select failed
allocating inputallocating input bufferrecv failed
Authoritative host not foundNo error text defined.getaddrinfo failed
address size mismatch
send failed
allocating contexthttpSyntax Error
no_proxyhttp_proxyHTTP_PROXYGETNot a valid HTTP URIallocating header buffer%s http://%s:%d%s%s http://%s%s%s %s?%s HTTP/1.0
Host: %s
 HTTP/1.0
Host: %s:%d
Accept-Encoding: gzip
Content-Type: %s
Content-Length: %d

HTTP/Content-Type:ContentType:Location:WWW-Authenticate:Proxy-Authenticate:Content-Encoding:Content-Length:error setting non-blocking IO
error connecting to HTTP serverError connecting to remote hostNon-authoritative host not found or server failure.Non-recoverable errors:  FORMERR, REFUSED, or NOTIMP.Valid name, no data record of requested type.Failed to identify host in URIrecv failedftpftp_proxyFTP_PROXYftp_proxy_userftp_proxy_passwordallocating FTP contextsend failedgetaddrinfo failedgethostbyname failedsocket failedFailed to create a connectionUSER %s
PASS %s
SITE %s
USER anonymous@%s
USER %s@%s
CWD %s
DELE %s
Invalid answer to EPSV
%u,%u,%u,%u,%u,%uInvalid answer to PASV
bind failedlisten failedEPRT |2|%s|%s|
PORT %d,%d,%d,%d,%d,%d
LIST -L %s
recvtotalRETR %s
gethostbyname address mismatchFTP server asking for ACCNT on anonymous
Failed to create a data connectionPASS anonymous@
USER anonymous
�Y��hY��hY��hY��hY��hY��hY���Y��Z���Y���`���a���a��b��(b���b��c��Hc���c���c��a��pa���a���d���d���d��e��4e��Te��te���e���e���e��,d���d��urn:oasis:names:tc:entity:xmlns:xml:catalogInvalid value for prefer: '%s'
Converting SGML catalog to XML
File %s is not an XML Catalog
Detected recursion in catalog %s
Found system match %s, using %s
Public URN ID %s expanded to NULL
System URN ID %s expanded to NULL
http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd-//OASIS//DTD Entity Resolution XML Catalog V1.0//ENFailed to add unknown element %s to catalog
Updating element %s to catalog
Removing element %s from catalog
Allowing only global catalogs
Allowing only catalogs from the document
Setting catalog preference to PUBLIC
Setting catalog preference to SYSTEM
Local Resolve: pubID %s sysID %s
Use of deprecated xmlCatalogGetSystem() call
Use of deprecated xmlCatalogGetPublic() call
allocating public IDallocating catalog dataallocating catalogurn:publicid:nextCatalogpublicpreferpublicIdsystemIdrewriteSystemsystemIdStartStringrewritePrefixdelegatePublicpublicIdStartStringdelegateSystemrewriteURIuriStartStringdelegateURIENTITY %%LINKTYPE DELEGATE BASE CATALOG DOCUMENT SGMLDECL Free catalog entry %s
Free catalog entry
allocating catalog entry%s entry lacks '%s'
Found %s: '%s' '%s'
Found %s: '%s'
%s entry '%s' broken ?: %s
PUBLICDELEGATELINKTYPENOTATIONSGMLDECLDOCUMENTBASEOVERRIDEXML_DEBUG_CATALOGFound %s in file hash
%s not found in file hash
Failed to parse catalog %s
%d Parsing catalog %s
%s added to file hash
Using rewriting rule %s
Trying system delegate %s
Found public match %s
Trying public delegate %s
Public URN ID expanded to %s
System URN ID expanded to %s
Found URI match %s
Trying URI delegate %s
URN ID %s expanded to NULL
Resolve sysID %s
Resolve pubID %s
Resolve: pubID %s sysID %s
Resolve URI %s
Adding element %s to catalog
file:///etc/xml/catalogXML_CATALOG_FILESCatalogs cleanup
Disabling catalog usage
Allowing all catalogs
Adding document catalog %s
Local Resolve: pubID %s
Local Resolve: sysID %s
21002xmlGetGlobalState: out of memory
Invalid parameter : %s
Internal error : %s
freeing contextadding namespace to stackadding node to stackwriting namespaces xmlns: xmlns=writing attributesnormalizing attributes axisprocessing nodeNode %s is invalid here : %s
processing node listparsing namespace urisaving namespaces stack#defaultprocessing namespaces axisshifting namespaces stackprocessing attributes axiscreating attributes listprocessing xml:base attributeprocessing childrens listrestoring namespaces stacknormalizing text node
<?normalizing pi node?>

<!--normalizing comment node-->
XML_ATTRIBUTE_NODEXML_NAMESPACE_DECLXML_ENTITY_REF_NODEXML_ENTITY_NODEexecuting c14ncreating contextcreating namespaces stackprocessing docs children listflushing output bufferdumping doc to memorysaving doc to output buffersaving doccreating temporary filenamecanonize document to buffersearching namespaces stack (c14n)searching namespaces stack (exc c14n)Relative namespace UR is invalid here : %s
checking for relative namespacesprocessing namespaces axis (c14n)creating namespaces list (c14n)processing namespaces axis (exc c14n)creating namespaces list (exc c14n)processing xml:base attribute - can't get attr valueprocessing xml:base attribute - can't modify uriprocessing xml:base attribute - can't construct uriprocessing xml:base attribute - can't construct attributeUnknown node type %d found : %s
invalid mode for executing c14nxmlC14NExecute: output buffer encoder != NULL but C14N requires UTF8 output
xmlC14NNewCtx: xmlC14NVisibleNsStackCreate failed
xmlC14NExecute: unable to create C14N context
copying canonicalized document0���ƺ��(���P���P���@���`�������������p�������p�������p���p���p���p�������p���p���ܼ��l���Ժ�����������������U���L������L������L���������������,���������	

 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz{\]^_`abcdefghijklmnopqrstuvwxyz{|}~�����������������������������������������������������������������������������������������������������������������������������growing buffer past SIZE_MAXbuffer error: text too long
Used size too big for xmlBufferAllocated size too big for xmlBufferInput reference outside of the bufferInvalid low surrogate pair code unitWrong escape sequence, misuse of character '\'Expecting the end of a char rangeEnd of range is before start of rangeepsilon transition left at runtime
generate transition: atom == NULLxmlFAParseAtom: maximum nesting depth exceededxmlFAParseCharClass: ']' expectedxmlFAParseRegExp: extra charactersadding stateallocating counterfailed to compile: %s
add state: state is NULLadd state: target is NULLadding transitionatom push: atom is NULLpushing atomallocating stateallocating atompushing input stringepsilon charval ranges subexpr string anychar anyspace notspace notinitname notnamechar notdecimal notrealchar LETTER_UPPERCASE LETTER_LOWERCASE LETTER_TITLECASE LETTER_MODIFIER LETTER_OTHERS MARK MARK_NONSPACING MARK_SPACECOMBINING MARK_ENCLOSING NUMBER NUMBER_DECIMAL NUMBER_LETTER NUMBER_OTHERS PUNCT PUNCT_CONNECTOR PUNCT_DASH PUNCT_OPEN PUNCT_CLOSE PUNCT_INITQUOTE PUNCT_FINQUOTE PUNCT_OTHERS SEPAR SEPAR_SPACE SEPAR_LINE SEPAR_PARA SYMBOL SYMBOL_MATH SYMBOL_CURRENCY SYMBOL_MODIFIER SYMBOL_OTHERS OTHER OTHER_CONTROL OTHER_FORMAT OTHER_PRIVATE OTHER_NA BLOCK saving regexpxmlregexp.cexec save: allocation failedadd range: atom is NULLadd range: atom is not rangesadding rangesallocating rangeIsXXXX expectedUnknown char propertyExpecting hex digitEscaped sequence: expecting \Expecting '{'Expecting '}'Expecting ']'Expecting a char rangeInvalid escape valuecharClassExpr: ']' expectedTODO: XML_REGEXP_STRINGcopying atomxmlFAParseAtom: expecting ')'Improper quantifierUnterminated quantifierinternal: no atom generatedcreating execution context regexp: %d atoms:
%d states: %02d  atom: not once ? * + range onceonly all %d-%d char %c
%d entries
  range: negative %c - %c
start %d end %d
%d counters:
 state: START FINAL %d, %d transitions:
  trans: removed
last not determinist, counted %d, all transition, count based %d, epsilon to %d
char %c atom %d, to %d
 %d: min %d max %d
running regexpcompiling regexpnot %s��������������p��P��0����������������p��P��0��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p��P��0����������������p��P��0����������������p���P���0������������������p���P���0������������������p���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������k*��t'���(��t'��t'��t'��d(��4(��(���(���(��'���'���&��t*��\*��$*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��k*��*��*���)���)���)���)���)���)���)���)��t)���&��T)���*���*���*���*���*���*���*���*��<+��,+��+��+��\+��L+��D)���'���'���'���'���'���'���'��k*��d)���.���-���.���-���.���-���/���-��h/���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-���-��8/���-���-���-���-���-�� /���-���-���-���/���-���-���-��p.���-���-���-���-���-���-���-���.���-���-���-��P/���-���-���-���-���/���-���-���-���-���1���1���1���1���1���1��{1���1���1���1��v1���1���1���1��_1���1���1���1���1���1���1���1��Z1���1���1���1��C1���1���1���1���1��,1��H���M���M���M��dM��<M��M���L���G��

	simple type definitionNot a schema componentcomplex type definitionelement declarationattribute useattribute declarationmodel group definitionattribute group definitionnotation declarationmodel group (sequence)model group (choice)model group (all)particleunique identity-constraintkey identity-constraintkeyref identity-constraintwildcard (any)maxExclusivemaxInclusiveminExclusiveminInclusivewhiteSpaceenumerationmaxLengthminLengthtotalDigitsfractionDigitsInternal Errorallocating new item listgrowing item list{MISSING particle term
ELEM '%s'SEQUENCECHOICEALLUNKNOWN
 min: %d max: unbounded max: %d##Element '', xmlschemas.callocating attributeallocating redefinition infoallocating typeallocating particle componentadding wildcard  Annot: %s
  Annot: empty
Type: NULL
Type: (no name) ns '%s' [basic] [simple] [complex] [sequence] [choice] [all] [ur] [restriction] [extension] [unknown type %d] content: [unknown] [empty] [element] [mixed] [any]   base type: '%s' ns '%s'
  attributes:
  [prohibition]   [reference]   [use]  (global)ns '%s'  props: [fixed] [default] [abstract] [nillable]   value: '%s'
  type: '%s'   substitutionGroup: '%s' unqualifiedallocating schema#allextensionrestrictionsubstitutionunion Expected is one of (  Expected is ( ##other{*}{##other: ).
Element '%s': '%s' is not a valid value of the local the atomic typelist typeunion typeskiplaxstrictinvalid process contentsatomic type 'xs:list type 'xs:union type 'xs:simple type 'xs:simple typecomplex typeattribute use (unknown)attribute decl.element decl.unique 'key 'keyRef 'facet 'model group def., attribute '%s: %s.
'.The value '%s' is not valid. Expected is 'minOccursmaxOccurssubstitutionGroup%s, attribute '%s': %s.
The definition is circular' has to be greater than less than or equal to' of the base typeInternal error: %s, xmlSchemaLookupNamespacexmlSchemaValidateNotationxmlSchemaGetFreshElemInfoallocating an element infoattr info not clearedxmlSchemaGetFreshAttrInfocreating new attribute info'] xmlSchemaFormatFacetEnumSet, 'xmlSchemaValidateFacetsxmlSchemaVCheckCVCSimpleTypecalling xmlValidateQName()xmlSchemaValidateQNamexmlSchemaFormatIDCKeySequence???]xmlSchemaAddComponentsparticle is NULLxmlSchemaBuildAContentModelxmlSchemaIDCAddStateObjectcalling xmlStreamPush()xmlSchemaXPathEvaluatecalling xmlStreamPop()xmlSchemaXPathProcessHistoryallocating a IDC keyxmlSchemaValidatorPopElemMissing child element(s)xmlSchemaCheckCOSValidDefaultcalling xmlNewDocText()calling xmlSchemaVPushText()elem pop mismatchxmlSchemaPushAttributenilschemaLocationnoNamespaceSchemaLocationxmlSchemaPValAttrNodeValueallocating annotationappinfosourcedocumentation(appinfo | documentation)*xs:nonNegativeInteger(annotation?)allocating a namespace arrayA child element is missingselectorfieldprocessContents(strict | skip | lax)##any##targetNamespace##localsimpleTypechoicesequenceallocating facetFacet %s has no value
Unknown facet type %s
fixedallocating a facet linkanyAttributefinalitemType(annotation?, simpleType?)memberTypes(annotation?, simpleType*)(qualified | unqualified)optionalprohibitedattributeGroupallocating attribute groupmixedabstractblocksimpleContentcomplexContentnillablecomplexTypeuniquekeyrefallocating element(0 | 1)adding groupin_memory_bufferallocating schema relationxmlSchemaAddSchemaDocno main schema on constructorxmlSchemaBucketCreateallocating schema bucketSchemas: NULL
Schemas: no name, no target namespaceallocating validation contextpositiveIntegerxmlSchemaCheckFacetvalue was not computedvalidating facet valuereplacecollapsemissing baseTypeallocating a type linkNo base type existentThe variety is absentxmlSchemaCheckCOSSTRestrictsNo facets allowedan error occurredfailed to get primitive typexmlSchemaFixupComplexTypeno base typefailed to expand attributesDuplicate %sxmlSchemaTypeFixupredefinedxmlSchemaElemCheckValConstrxmlSchemaSubstGroupAddreparsing a schema docxmlSchemaParseNewDocno constructorelementFormDefaultattributeFormDefaultfinalDefaultblockDefaultimportredefineNotation has no name
add annotationAn internal error occurredxmlSchemaParsein skip-statexmlSchemaValidateElemno parser context availablexmlSchemaAssembleByLocationassembling schemataxmlSchemaAssembleByXSIxmlSchemaValidateChildElemThis element is not expectedxmlSchemaValidateElemWildcardThe type definition is absentxmlSchemaValidateElemDeclThe element is not 'nillable'xmlSchemaIDCRegisterMatchersallocating an IDC matcherxmlSchemaVAttributesComplexcalling xmlSchemaCopyValue()calling xmlNewProp()p%dcalling attributes validationxmlSchemaValidatorPushElemxmlSchemaCreatePCtxtOnVCtxtxmlSchemaDocWalkxmlSchemaVDocWalkelement position mismatchno instance to validatexmlSchemaVStart[helper component] QName reference[helper component] attribute use prohibitionhttp://www.w3.org/2001/XMLSchemaInternal error: xmlSchemaBuildContentModelForSubstGroup, declaration is marked having a subst. group but none available.
allocating an item list structureallocating schema construction contextallocating list of schema bucketsallocating list of pending global componentsallocating schema parser contextallocating model group componentcreating wildcard namespace constraintallocating QName reference itemInternal error: xmlSchemaItemListRemove, index error.
xmlSchemaAugmentIDC: allocating an augmented IDC definitionallocating a PSVI IDC binding item%sThe attribute '%s' is not allowed.
The attribute '%s' is not allowed.
%s: The attribute '%s' is required but missing.
%s: The content is not valid. Expected is %s.
%s: The content is not valid.
%s: The facet '%s' is not allowed.
References from this schema to components in no namespace are not allowed, since not indicated by an import statementReferences from this schema to components in the namespace '%s' are not allowed, since not indicated by an import statementNeither character nor element content is allowed because the element is 'nilled'Character content is not allowed, because the content type is emptyCharacter content other than whitespace is not allowed because the content type is 'element-only'The character content is not a valid value of The character content is not valid.The value '%s' of simple type 'xs:QName' has no corresponding namespace declaration in scopeDuplicate value '%s' of simple type 'xs:ID'The value '%s' of simple type 'xs:ID' is not a valid 'xs:NCName'%s, attribute '%s': The QName value '%s' does not resolve to a(n) %s.
The value must be greater than or equal to 1The value must not be greater than the value of 'maxOccurs'%s: The attributes '%s' and '%s' are mutually exclusive.
Internal error: xmlSchemaAddAnnotation, The item is not a annotated schema componentThe union type definition is circularno node or node's doc availablea schema is needed on the validation contextlist type has no item-type assignedxmlSchemaFixupSimpleTypeStageOneunion type has no member-types assignedtype has no base-type assignedinconsistent depth encounteredallocating the element info arrayre-allocating the element info arrayelem info has not been clearedallocating attribute info listre-allocating attribute info listunexpected attr prohibition foundxmlSchemaExpandAttributeGroupRefsThe intersection of the wildcard is not expressible.
Skipping pointless attribute use prohibition '%s', since a corresponding attribute use exists already in the type definitionThe value '%s' has a length of '%s'; The value has a length of '%s'; this differs from the allowed length of '%s'.
this exceeds the allowed maximum length of '%s'.
this underruns the allowed minimum length of '%s'.
The value '%s' is not an element of the set {%s}.
compute the canonical lexical representationThe value '%s' is not accepted by the pattern '%s'.
The value '%s' is less than the minimum value allowed ('%s').
The value '%s' is greater than the maximum value allowed ('%s').
The value '%s' must be greater than '%s'.
The value '%s' must be less than '%s'.
The value '%s' has more digits than are allowed ('%s').
The value '%s' has more fractional digits than are allowed ('%s').
The value '%s' is not facet-valid.
The value is not facet-valid.
validating against a atomic type facetvalidating against a list type facetvalidating against an enumeration facetvalidating against a pattern facetcould not get the built-in typeThe QName value '%s' has no corresponding namespace declaration in scopevalidating against a built-in typevalidating facets of atomic simple typevalidating an item of list simple typevalidating facets of list simple typeunion simple type has no member typesvalidating members of union simple typevalidating facets of union simple typefailed to compute a canonical valueUnexpected global component typefailed to create a component hash tableA global %s '%s' does already exist<element> particle has no termfound unexpected term of type '%s' in content modelallocating an IDC state objectfailed to create an XPath validation contextallocating the state object historyre-allocating the state object historyfield resolves to a CT with simple content but the CT is missing the ST definitionThe XPath '%s' of a field of %s does evaluate to a node of non-simple typeWarning: No precomputed value available, the value was either invalid or something strange happenedallocating an array of key-sequencesreallocating an array of key-sequencesThe XPath '%s' of a field of %s evaluates to a node-set with more than one memberallocating an IDC key-sequenceallocating the IDC key storage listre-allocating the IDC key storage listallocating an IDC node-table itemallocating the IDC node table item listre-allocating the IDC node table item listThe state object to be removed is not the first in the listDuplicate key-sequence %s in %sNot all fields of %s evaluate to a nodefailed to create a regex contextcalling xmlSchemaVCheckCVCSimpleType()For a string to be a valid default, the type definition must be a simple type or a complex type with simple content or mixed content and a particle emptiablecalling xmlSchemaCheckCOSValidDefault()The content must not contain element nodes since there is a fixed value constraintThe initial value '%s' does not match the fixed value constraint '%s'The actual value '%s' does not match the fixed value constraint '%s'allocating an array of IDC node-table itemsre-allocating an array of IDC node-table itemsMore than one match found for key-sequence %s of keyref '%s'No match found for key-sequence %s of keyref '%s'allocating IDC list of node-table itemsre-allocating IDC list of node-table itemsxmlSchemaSAXHandleCDataSectionxmlSchemaSAXHandleEndElementNscalling xmlSchemaValidatorPopElem()calling xmlSchemaGetFreshAttrInfo()http://www.w3.org/2001/XMLSchema-instancethe given type is not a built-in typevalidation using the given type is not supported while parsing a schemafailed to validate a schema attribute valueInternal error: xmlSchemaPValAttr, the given type '%s' is not a built-in type.
(xs:nonNegativeInteger | unbounded)allocating a 'selector' of an identity-constraint definitionThe XPath expression of the selector is not validInternal error: xmlSchemaParseIDCSelectorAndField, validating the XPath expression of a IDC selector.
The XPath expression '%s' could not be compiledallocating an identity-constraint definition(annotation?, (selector, field+))((##any | ##other) | List of (xs:anyURI | (##targetNamespace | ##local)))This is a redefinition, but the QName value '%s' of the 'base' attribute does not match the type's designation '%s'The attribute 'base' and the <simpleType> child are mutually exclusiveEither the attribute 'base' or a <simpleType> child must be presentFacet %s has unexpected child content
annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?))(annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*))Redefinition of built-in simple types is not supported(#all | List of (list | union | restriction)(annotation?, (restriction | list | union))The attribute 'itemType' and the <simpleType> child are mutually exclusiveEither the attribute 'itemType' or the <simpleType> child must be presentxmlSchemaParseUnion, allocating a type linkEither the attribute 'memberTypes' or at least one <simpleType> child must be presentThis is a redefinition, thus the <simpleType> must have a <restriction> child(optional | prohibited | required)The value of the attribute 'use' must be 'optional' if the attribute 'default' is presentThe target namespace must not match '%s'The value of the attribute must not match 'xmlns'Skipping attribute use prohibition, since it is pointless inside an <attributeGroup>Skipping attribute use prohibition, since it is pointless when extending a typeSkipping duplicate attribute use prohibition '%s'allocating attribute use prohibitionThe attribute 'type' and the <simpleType> child are mutually exclusiveThe redefining attribute group definition '%s' must not contain more than one reference to the redefined definition(annotation?, ((attribute | attributeGroup)*, anyAttribute?))(#all | List of (extension | restriction))(#all | List of (extension | restriction)) (annotation?, (restriction | extension))(annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))This is a redefinition, thus the <complexType> must have a <restriction> or <extension> grand-childOnly the attributes 'minOccurs', 'maxOccurs' and 'id' are allowed in addition to 'ref'(#all | List of (extension | restriction | substitution))The attribute 'type' and the <complexType> child are mutually exclusive(annotation?, ((simpleType | complexType)?, (unique | key | keyref)*))Invalid value for minOccurs (must be 0 or 1)Invalid value for maxOccurs (must be 0 or 1)The redefining model group definition '%s' must not contain more than one reference to the redefined definitionThe redefining model group definition '%s' must not contain a reference to the redefined definition with a maxOccurs/minOccurs other than 1(annotation?, (annotation?, element*)(annotation?, (element | group | choice | sequence | any)*)(annotation?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))(annotation?, (all | choice | sequence)?)Internal error: xmlSchemaComponentListFree, unexpected component type '%s'
The schema must not import/include/redefine itselfThe schema document '%s' cannot be imported, since it was already included or redefinedThe schema document '%s' cannot be included or redefined, since it was already importedSkipping import of schema located at '%s' for the namespace '%s', since this namespace was already imported with the schema located at '%s'trying to load a schema doc, but a doc is already assigned to the schema bucketxmlSchemaGetDoc, allocating a parser contextFailed to parse the XML resource '%s'No information for parsing was provided with the given schema parser context.
The document '%s' has no document elementThe XML document '%s' is not a schema documentfirst bucket but it's an include or redefinemain bucket but it's not the first onefailed to add the schema bucket to the hasha type user derived type has no base typeInternal error: xmlSchemaCheckFacet, failed to validate the value '%s' of the facet '%s' against the base typeThe value '%s' of the facet does not validate against the base type '%s'The value '%s' of the facet 'pattern' is not a valid regular expressionThe value '%s' of the facet '%s' is not a valid '%s'The value '%s' of the facet 'whitespace' is not validxmlSchemaFixupSimpleTypeStageTwoThe base type '%s' is not a simple typeA type, derived by list or union, must have the simple ur-type definition as base type, not '%s'The 'final' of its base type '%s' must not contain 'restriction'given type is not a user-derived simpleTypeThe base type '%s' is not an atomic simple type%s: The facet '%s' is not allowed on types derived from the type %s.
failed to evaluate the item typeThe item type '%s' does not have a variety of atomic or unionThe item type is a union type, but the member type '%s' of this item type is not atomicThe final of its item type '%s' must not contain 'list'The base type '%s' must be a list typeThe 'final' of the base type '%s' must not contain 'restriction'failed to eval the item type of a base typeThe item type '%s' is not validly derived from the item type '%s' of the base type '%s'The member type '%s' is neither an atomic, nor a list typeThe 'final' of member type '%s' contains 'union'The base type '%s' is not a union typedifferent number of member types in baseThe member type %s is not validly derived from its corresponding member type %s of the base type %sInternal error: xmlSchemaCreateVCtxtOnPCtxt, failed to create a temp. validation context.
It is an error for both 'length' and either of 'minLength' or 'maxLength' to be specified on the same type definitionIt is an error for both '%s' and '%s' to be specified on the same type definitionThe base type's facet is 'fixed', thus the value must not differThe 'whitespace' value has to be equal to or stronger than the 'whitespace' value of the base typederiving facets, creating a facet linkxmlSchemaDeriveAndValidateFacetsIf using <complexContent>, the base type is expected to be a complex type. The base type '%s' is a simple typeIf using <simpleContent> and <restriction>, the base type must be a complex type. The base type '%s' is a simple typeInternal error: xmlSchemaCheckSRCCT, '%s', base type has no content typeA <simpleType> is expected among the children of <restriction>, if <simpleContent> is used and the base type '%s' is a complex typeIf <simpleContent> and <restriction> is used, the base type must be a simple type or a complex type with mixed content and particle emptiable. The base type '%s' is none of thoseIf <simpleContent> and <extension> is used, the base type must be a simple type. The base type '%s' is a complex typeInternal error: xmlSchemaTypeFixup, complex type '%s': the <simpleContent><restriction> is missing a <simpleType> child, but was not caught by xmlSchemaCheckSRCCT()Internal error: xmlSchemaTypeFixup, complex type '%s': the <extension>ed base type is a complex type with no simple content typeInternal error: xmlSchemaTypeFixup, complex type '%s' with <simpleContent>: unhandled derivation caseThe type has an 'all' model group in its {content type} and thus cannot be derived from a non-empty type, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsA type cannot be derived by extension from a type which has an 'all' model group in its {content type}, since this would produce a 'sequence' model group containing the 'all' model group; 'all' model groups are not allowed to appear inside other model groupsxmlSchemaFixupTypeAttributeUsesThe union of the wildcard is not expressible.
If the base type is a simple type, the derivation method must be 'extension'There must not exist more than one attribute declaration of type 'xs:ID' (or derived from 'xs:ID'). The %s violates this constraintThe 'final' of the base type definition contains 'extension'The content type must specify a particleThe content type of both, the type and its base type, must either 'mixed' or 'element-only'The content type must be the simple base typeThe base type must be a complex typeThe 'final' of the base type definition contains 'restriction'The {content type} %s is not validly derived from the base type's {content type} %sThe content type of the base type must be either a simple type or 'mixed' and an emptiable particleThe content type of the base type must be either empty or 'mixed' (or 'elements-only') and an emptiable particleIf the content type is 'mixed', then the content type of the base type must also be 'mixed'The type is not a valid restriction of its base typethis function needs a parser contextThe 'optional' attribute use is inconsistent with the corresponding 'required' attribute use of the %s %sThe attribute declaration's %s is not validly derived from the corresponding %s of the attribute declaration in the %s %sThe effective value constraint of the attribute use is inconsistent with its correspondent in the %s %sNeither a matching attribute use, nor a matching wildcard exists in the %s %sA matching attribute use for the 'required' %s of the %s %s is missingThe %s has an attribute wildcard, but the %s %s '%s' does not have oneThe attribute wildcard is not a valid subset of the wildcard in the %s %s '%s'The {process contents} of the attribute wildcard is weaker than the one in the %s %s '%s'Only global element declarations can have a substitution group affiliationThe element declaration '%s' defines a circular substitution group to element declaration '%s'The type definition '%s' was either rejected by the substitution group affiliation '%s', or not validly derived from its type definition '%s'The type definition (or type definition's content type) is or is derived from ID; value constraints are not allowed in conjunction with such a type definitionFor a string to be a valid default, the type definition must be a simple type or a complex type with mixed content and a particle emptiablexmlSchemaParseCheckCOSValidDefaultfailed to validate the value constraint of an element declarationallocating a substitution group containerfailed to add a new substitution containercalling xmlSchemaQNameExpand() to validate the attribute 'xsi:type'xmlSchemaValidateElementByDeclarationThe QName value '%s' of the xsi:type attribute does not resolve to a type definitionThe type definition '%s', specified by xsi:type, is blocked or not validly derived from the type definition of the element declarationThe %s '%s' to be redefined could not be found in the redefined schemaUnexpected redefined component typexmlSchemaResolveRedefReferencesThe referenced %s was already redefined. Multiple redefinition of the same component is not supportedThe particle's {max occurs} must be 1, since the reference resolves to an 'all' model groupA model group definition is referenced, but it contains an 'all' model group, which cannot be contained by model groupsThe keyref references a keyrefThe cardinality of the keyref differs from the cardinality of the referenced key/unique '%s'Circular reference to the model group definition '%s' definedCircular reference to the attribute group '%s' definedxmlSchemaCheckAttrPropsCorrectThe value of the value constraint is not validThe attribute declaration has a 'fixed' value constraint , thus the attribute use must also have a 'fixed' value constraintxmlSchemaCheckAttrUsePropsCorrectThe 'fixed' value constraint of the attribute use must match the attribute declaration's value constraint '%s'Cannot create automata for complex type %s
Failed to compile the content modelThe content model is not deterministValue constraints are not allowed if the type definition is or is derived from xs:IDparsing a schema doc, but there's no doccould not build an URI from the schemaLocationxmlSchemaParseIncludeOrRedefineThe schema document '%s' cannot redefine itself.The schema document '%s' cannot include itself.Failed to load the document '%s' for inclusionFailed to load the document '%s' for redefinitionThe target namespace of the included/redefined schema '%s' has to be absent, since the including/redefining schema has no target namespaceThe target namespace '%s' of the included/redefined schema '%s' differs from '%s' of the including/redefining schema(annotation | (simpleType | complexType | group | attributeGroup))*(#all | List of (extension | restriction | list | union))The value of the attribute 'namespace' must not match the target namespace '%s' of the importing schemaThe attribute 'namespace' must be existent if the importing schema has no target namespaceFailed to locate a schema at location '%s'. Skipping the import((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*)Failed to locate the main schema resource at '%s'Failed to locate the main schema resourceThe value must consist of tuples: the target namespace name and the document's URIThe document at location '%s' could not be acquiredNeither character nor element content is allowed, because the element was 'nilled'calling xmlSchemaProcessXSIType() to process the attribute 'xsi:nil'Element content is not allowed, because the content type is emptytype has elem content but no content modelvalidating elem, but elem content is already invalidcalling xmlRegExecPushString2()Element content is not allowed, because the content type is a simple type definitionElement content is not allowed, because the type definition is simplecalling xmlSchemaStreamValidateChildElement()the child element was valid but neither the declaration nor the type was setNo matching global declaration available for the validation rootNo matching global element declaration available, but demanded by the strict wildcardcalling xmlSchemaValidateElemWildcard()The element declaration is abstractcalling xmlSchemaVCheckCVCSimpleType() to validate the attribute 'xsi:nil'The element cannot be 'nilled' because there is a fixed value constraint defined for itcalling xmlSchemaProcessXSIType() to process the attribute 'xsi:type'The chain of IDC matchers is expected to be emptycalling xmlSchemaValidateElemDecl()The type definition is abstractcalling xmlSchemaXPathEvaluate()default/fixed value on an attribute use was not precomputedcould not compute a ns prefix for a default/fixed attributecalling xmlSchemaStreamValidateSimpleTypeValue()The attribute '%s' is required but missingThe value '%s' does not match the fixed value constraint '%s'No matching global attribute declaration available, but demanded by the strict wildcardCould not find an augmented IDC item for an IDC definitioncalling xmlSchemaGetFreshElemInfo()calling xmlSchemaValidatorPushElem()xmlSchemaSAXHandleStartElementNsallocating namespace bindings for SAX validationre-allocating namespace bindings for SAX validationallocating string for decoded attributecalling xmlSchemaValidatorPushAttribute()calling xmlSchemaValidateElem()failed to create a temp. parser contextThe document has no document elementthere is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation.0��@��P��`��p������������������ ��������`�����������������������������������h��d?��d>��d?��d?���>���>���>���>��?��d?��d?��$?��D?���;���=��>���=���=���=��<���;��d=����������������������������������������l���L���������L���������������̦��̦��̦��������������������������ج������������������������������������������������������������������(�������`����������������������Ћ������Њ��Њ��Њ����������Ȋ�����@���0��� ���������������Г����������0��0������������$��(&���$���$���%���$��u%��>%���$���$��%��

�	xmlschemastypes.canyTypeallocating wildcard componentanySimpleTypedecimaldateTimegYeargYearMonthgMonthgMonthDaygDaydurationfloatdoubleanyURIhexBinarybase64BinaryintegernonPositiveIntegernegativeIntegershortbyteunsignedLongunsignedIntunsignedShortunsignedBytenormalizedStringtoken0.0-%lu%lu%lu-%lu%lu-%lu-P%luY%luM%luDT%luH%luM%.14gS%04ld---%02u--%02u-%02u-%04ld-%02u%02u:%02u:%02.14gZ%02u:%02u:%02.14g%04ld-%02u-%02uZ%04ld-%02u-%02u%01.14e%f%lfallocating hexbin dataallocating base64 datacould not initialize basic typescould not create an attribute wildcard on anyType%04ld-%02u-%02uT%02u:%02u:%02.14gZ%04ld-%02u-%02uT%02u:%02u:%02.14g�T�� U���T��U���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T���T�� U���T���T���T���T���T���T�� U�� U���T���T���T���T���T���T���T���T���T���T���T���T���T�� U�� U���W���W��|W��lW��\W��LW��<W��,W��W��W���V���V���V���V���V���V���V���V��|V��lV��\V��LV��<V��,V��V��V���U���U���U���U���U���U���U���U��|U��lU��\U��LU��<U��,U��U��U���T���T���T���T���T���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X���X��c���c���c���d��e��e��e��e��e��e��e��e���e��Tg��Tg���g���c���c���c���b���c��4h���c���c���c���b���c���b��4h���c���d���d���d���d���d���d���d���d���d���d���d���d���d��,c��lc��c���c�����w��(}���{��{���z���z�� z���y���y��x�������}��X}��@y��y���w���w���w�����w���x���w���w���w�����w�����w���w��x��x��x��x��x��x��x��x��x��x��x��x��x���w���w��T�������d���T���������������������������4�������|���t���ԛ��l�������Ԋ��|���,���\���T���|���Ԗ������������̒��̒��̒��̒��̒������������������Ԇ��<���������������������`���H���H���H���H���H���H���H���H���x���(���(��������������������������p��������������������H���H������������������8���H���8���H���8���H���8���H����������������d���[���-���%������������������������������
���
����������S���5�����������ݛ��՛��͛��ś��������������������������������������������������������������������������}���u���u���̜��L���F����������d�������������������������������������������������������x�����@���������x�����x���@������������������������������������������������x���������4���\������<���<���������������̱��̱��̱��;Yx����/N>\{����2Q<[y����1O;Zx����0NN@(@8@�@��@���C �@  ���� 
 ( ) / / _ _ 007?����&�*�d�j�l��������������V������������������	�	pp����446688������@@��!!!!!	!!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!J!J!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!####"#(#+#{#}#�#�#�#$&$@$J$�$�$%�%�%�%�%�%&&&n&p&}&�&�&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'g'�'�'�'�'�'�'(�(+
+�.�.�.�./�/�/�/0000 0 06070>0?0�1�1�1�122*2C2P2P2`2}222�2�2�2�23�3�M�M��Ƥ���������������������������5�5�O�O�o�o�������������++<>||~~����������D D R R z | � � @!D!K!K!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�!�"## #!#|#|#�#�#�%�%�%�%�%�%o&o&�'�'�'�')�)�)�)�)�)�)�*)�)�b�b�d�f�����\�\�^�^�����^^``����������������tu���������������0�0>�>�@�@���$$���	�	�
�
��??��� � ����i�i�������7?����&�*�d�j�l��������������V���������������5�5�O�O�o�o�������������$$++<>^^``||~~������������������������tu�����������	�	�	�	�
�
pp��??446688��������@@��������������D D R R z | � � � � !!!!!	!!!!!!#!%!%!'!'!)!)!.!.!2!2!:!;!@!D!J!K!�!(#+#�#�#�#$&$@$J$�$�$%&&}&�&�&�&�&'''	'''')'K'M'M'O'R'V'V'X'^'a'g'�'�'�'�'�'�'�'�'�'�)�)�)�)�)�)
+�.�.�.�./�/�/�/0000 0 06070>0?0�0�0�1�1�1�122*2C2P2P2`2}222�2�2�2�23�3�M�M��Ƥ)�)�����b�b�d�f�i�i�������>�>�@�@�\�\�^�^��������(([[{{::<<��    E E } } � � )#)#�#�#h'h'j'j'l'l'n'n'p'p'r'r't't'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)00
0
00000000000000000>�>�5�5�7�7�9�9�;�;�=�=�?�?�A�A�C�C�G�G�Y�Y�[�[�]�]���;�;�[�[�_�_�b�b���!#%'**,,./:;?@\\������~~��Z_����������
jm��
d	e	p	p	�
�
OOZ[��JO��ahmn��56����
DE    ' 0 8 ; > A C G Q S S W W �#�#00=0=00�0�E�F�I�L�P�R�T�W�_�a�h�h�j�k�����
�
�������� �<�<�a�a�d�d�))]]}};;==��F F ~ ~ � � *#*#�#�#i'i'k'k'm'm'o'o'q'q's's'u'u'�'�'�'�'�'�'�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)	0	000
0
000000000000000?�?�6�6�8�8�:�:�<�<�>�>�@�@�B�B�D�D�H�H�Z�Z�\�\�^�^�	�	�=�=�]�]�`�`�c�c�--��  000000�0�01�2�X�X�c�c�
�
���!#%*,/:;?@[]__{{}}����������~~��Z_����������
jm��
d	e	p	p	�
�
OOZ[:=��JO��ahmn����56����
DE ' 0 C E Q S T W W } ~ � � )#*#�#�#h'u'�'�'�)�)�)�)�)�)0000000000=0=0�0�0�0�0>�?�0�R�T�a�c�c�h�h�j�k����
������ �;�=�?�?�[�[�]�]�_�e�3 #�������	�	��*3r|��p p t y � � S!_!`$�$�$�$v'�'�1�1 2)2Q2_2�2�2�2�2������09`i��f	o	�	�	f
o
�
�
fo��fo��f
o
PY�� )@Iiq��FO��3 #JJ������09������`i��f	o	�	�	�	�	f
o
�
�
fo��fo��f
o
PY�� 3@Ii|������FOp p t y � � S!�!`$�$�$�$v'�'00!0)080:0�1�1 2)2Q2_2�2�2�2�2��g�i�{������������W]o��������������KXpp��������0J��		<	<	A	H	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	

<
<
A
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
�
�
<<??ACMMVV������>@FHJMUV��������A
C
M
M
�
�
�
�
�
�
114:GN��������557799q~����������-0226799XY24RSrs��������
�� "'(229;� � � � � � *0/0�0�0���� �#�e�f�m�r�		>	@	I	L	�	�	�	�	�	�	�	�	�	�	

>
@
�
�
�
�
�
�
�
�
>>@@GHKLWW����������AD������������

>
@
F
H
J
L
W
W
�
�
�
�
�
�
�
�
>?,,1188VW������#&)+0138e�i�m�r�{������������W]o����������������KXpp��������0J��		<	<	>	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	�	�	�	�	

<
<
>
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
�
�
<<>CGHKMVW����������>DFHJMUV������������

>
C
F
H
J
M
W
W
�
�
�
�
�
�
�
�
�
�
�
�
114:GN��������557799>?q���������,269VY24RSrs����
�� +0;� � *0/0�0�0���� �#�'��4�M�h����������������������������������
�
����8�9�;�>�@�D�F�F�J�P�l������������!�<�U�p������������4�V�n�����AZ����

  ""$$&&((**,,..0022446699;;==??AACCEEGGJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxy{{}}������������������������������������������������������������������������������������������

  ""$$&&((**,,..0022��������������������������������������������/``bbddffhhjjllnnpprrttvvxxzz||~~��������������������������������������������������������������������������������������������������������������

1V��

  ""$$&&((**,,..0022446688::<<>>@@BBDDFFHHJJLLNNPPRRTTVVXXZZ\\^^``bbddffhhjjllnnpprrttvvxxzz||~~����������������������������������������������������������������������������������������������������������������(/8?HMYY[[]]__ho����������!!!!!
!!!!!!!$!$!&!&!(!(!*!-!0!1!3!3!>!?!E!E!!�:���������������������
&(:<=?MP]��0I��P�
578<<??֦֦����������!:AJnoq���������/MO����	9	=	=	P	P	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02359==\]_aqq����������������������(*359`a����������������




(
*
9
`
a
�
�
�
�
�
�
�
�
�
�
023@E��������������������������������@GIj��!#')*PU��Y_���FHHJMPVXXZ]`������������������������ FHZ��lov���� 1@Q`lnp���� BDw��Pmpt5!8!00<0<0A0�0�0�0�0�0�0�01,111�1�1�1�1�144�M�MNN����������ף��-�0�j����(�*�6�8�<�>�>�@�A�C�D�F����=�P�������p�t�v���f�o�q�����������������������zzYY@@��FF����CC,a001050;0;0�0�0�0�0p�p�����(O�3�N�T�V�g�������������������������7�R�k������������"�;�V�o������������������6�N�P�U�p���������������az����������		

!!##%%''))++--//11335578::<<>>@@BBDDFFHIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwzz||~�������������������������������������������������������������������������������������������		

!!##%%''))++--//1136P���������������������������������������0_aacceeggiikkmmooqqssuuwwyy{{}}��������������������������������������������������������������������������������������������������������������		

a�+bk		

!!##%%''))++--//1133557799;;==??AACCEEGGIIKKMMOOQQSSUUWWYY[[]]__aacceeggiikkmmooqqssuuwwyy{{}}���������������������������������������������������������������������������������������������������������������� '07@EPW`gp}��������������������������q q   
!
!!!!!/!/!4!4!9!9!=!=!F!I!����A�Z�
&(:<=?MP]��0I���
578<<??�T�V�����������������������������������
�
�����9�;�>�@�D�F�F�J�P�R�������������������4�6�N�P�n�p���������������֦֦��AZaz�����������6P�������zz���������������������1VYYa�����!:@Jnoq�����������/MO����	9	=	=	P	P	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02359==\]_aqq����������������������(*359`a����������������




(
*
9
`
a
�
�
�
�
�
�
�
�
�
�
023@F����������������������������������@GIj��!#')*PU����Y_���FHHJMPVXXZ]`������������������������ FHZ��lov���� 1@Q`lnp������ w��Pmptk��� EHMPWYY[[]]_}��������������������q q   !!!!
!!!!!!$!$!&!&!(!(!*!-!/!1!3!9!=!?!E!I!001050;0<0A0�0�0�0�0�0�0�01,111�1�1�1�1�144�M�MNN����������ף��-�0�j��������(�*�6�8�<�>�>�@�A�C�D�F����=�P�������p�t�v���!�:�A�Z�f�����������s�z� ������  * . ` c j o ��������s�z� ���������������  * . ` c j o ��ۀ���������������CcCfCoCsLlLmLoLtLuMcMeMnNdNlNoPcPdPePfPoPsScSkSmSoZlZpZsAegeanNumbersAlphabeticPresentationFormsArabicArabicPresentationForms-AArabicPresentationForms-BArmenianBasicLatinBengaliBlockElementsBopomofoBopomofoExtendedBoxDrawingBraillePatternsBuhidByzantineMusicalSymbolsCJKCompatibilityCJKCompatibilityFormsCJKCompatibilityIdeographsCJKRadicalsSupplementCJKSymbolsandPunctuationCJKUnifiedIdeographsCherokeeCombiningDiacriticalMarksCombiningHalfMarksCombiningMarksforSymbolsControlPicturesCurrencySymbolsCypriotSyllabaryCyrillicCyrillicSupplementDeseretDevanagariDingbatsEnclosedAlphanumericsEnclosedCJKLettersandMonthsEthiopicGeneralPunctuationGeometricShapesGeorgianGothicGreekGreekExtendedGreekandCopticGujaratiGurmukhiHalfwidthandFullwidthFormsHangulCompatibilityJamoHangulJamoHangulSyllablesHanunooHebrewHighPrivateUseSurrogatesHighSurrogatesHiraganaIPAExtensionsKanbunKangxiRadicalsKannadaKatakanaKatakanaPhoneticExtensionsKhmerKhmerSymbolsLaoLatin-1SupplementLatinExtended-ALatinExtended-BLatinExtendedAdditionalLetterlikeSymbolsLimbuLinearBIdeogramsLinearBSyllabaryLowSurrogatesMalayalamMathematicalOperatorsMiscellaneousSymbolsMiscellaneousSymbolsandArrowsMiscellaneousTechnicalMongolianMyanmarNumberFormsOghamOldItalicOpticalCharacterRecognitionOriyaOsmanyaPrivateUsePrivateUseAreaRunicShavianSinhalaSmallFormVariantsSpacingModifierLettersSpecialsSuperscriptsandSubscriptsSupplementalArrows-ASupplementalArrows-BSupplementaryPrivateUseArea-ASupplementaryPrivateUseArea-BSyriacTagalogTagbanwaTagsTaiLeTaiXuanJingSymbolsTamilTeluguThaanaThaiTibetanUgariticVariationSelectorsVariationSelectorsSupplementYiRadicalsYiSyllablesYijingHexagramSymbolsCJKCompatibilityIdeographsSupplementCJKUnifiedIdeographsExtensionACJKUnifiedIdeographsExtensionBCombiningDiacriticalMarksforSymbolsIdeographicDescriptionCharactersMathematicalAlphanumericSymbolsMiscellaneousMathematicalSymbols-AMiscellaneousMathematicalSymbols-BSupplementalMathematicalOperatorsUnifiedCanadianAboriginalSyllabicsxmlMalloc failed !
xmlRealloc failed !
vsnprintf failed !
xmlreader.c#text#cdata-section#comment#document#document-fragmentxmlNewTextReader : malloc failed
xmlTextReaderSetup : malloc failed
D�����l��������t���������������$��4������d��d��d��l��d��d��P���������� �����������@��������0�����������P��P��P�������T��T��|���������������������������������������4����������������x����������������� ��� ��� ����������������������������� ���6���������6��������������������� ��� ��� ��� ����������� ���x���P���P���P���0��8�� �������������������P��p��X��@�� ��P����P�����P�����P�����������p��X��8��������������p��X��@��(�������������`��H��(����������������������x��0�����0�����h�� ��������H����X�����@��`����������������������������������������������@����������p������u��E��������������������������u��i��]��Q�������������P��h��h��h��h��h��h��h��h��h��h��x��x��x��x��x��x��x��x��x��h��x��(|��P~���|���z��P~���|��P~��Pz���|��P~�� ~���}��P~���}���}��;{��{���{�� ~��s��������������������������������[���<���W���s���s���s����������ʅ������W�������s���4��������|�����������������������������������������������������\��relaxng.callocating states
storing states
validating
allocating define
failed to validate type %s
ID %s redefined
failed to compare type %s
Internal error: no state
Internal error: no define
Internal error: %s
Extra data in list: %s
Expecting element %s, got %s
Error validating datatype %s
Error validating value %s
Error validating list
No top grammar defined
Extra data in the document
Unknown error !
Unknown error code %d
<empty/>
<notAllowed/>
<text/>
<element>
<name ns="%s">%s</name>
</element>
<list>
</list>
<oneOrMore>
</oneOrMore>
<zeroOrMore>
</zeroOrMore>
<choice>
</choice>
<group>
</group>
<interleave>
</interleave>
<optional>
</optional>
<attribute>
</attribute>
<define name="%s"</define>
<ref</ref>
<parentRef</parentRef>
<externalRef></externalRef>
interleavenotAllowedexceptdatatypedefexternalRefzeroOrMoreoneOrMoreadding states
getting element list
Error refs definitions '%s'
Error refs definitions
pushing error
building group
nullbuilding choice
combineinterleave%dxmlRelaxNGParse: %s is empty
datatypeLibraryUnknown attribute %s on %s
adding document
allocating include
Failed to load include %s
nsNameanyNameExpecting an except node
except has no content
nothingname '%s' is not an NCName
http://www.w3.org/2000/xmlnsnsName has no ns attribute
Element choice is empty
:/#?adding types library
in interleave computation
open-name-classnonameNULL definition listempty: had a child node
text: had a child node
Element %s is empty
ref has no name
ref is not empty
data has no type
param has no name
parentRef has no name
parentRef is not empty
Mixed is empty
start has no children
element empty is not empty
start more than one children
grammar has no children
define has no name
define has no children
Include node has no data
Include document is empty
create interleaves
Element interleave is empty
building parser
schemasRelaxNG: no document
RelaxNG has no top grammar
<grammar combine="choice" combine="interleave"<start>
</start>
</grammar>
 TODO building context
Detected a cycle in %s references
Type %s doesn't allow value '%s'
Internal: interleave block has no data
Invalid sequence in interleave
Extra element %s in interleave
Expecting a namespace for element %s
Element %s has wrong namespace: expecting %s
Did not expect element %s there
Did not expect text in element %s content
Expecting no namespace for element %s
Expecting element %s to be empty
Expecting an element %s, got nothing
Expecting an element got text
Element %s failed to validate attributes
Element %s failed to validate content
Element %s has extra content: %s
Invalid attribute %s for element %s
Datatype element %s contains no data
Datatype element %s has child elements
Value element %s has child elements
List element %s has child elements
RNG internal error trying to compile %s
http://relaxng.org/ns/structure/1.0Internal error: no grammar in CheckReference %s
Internal error: reference has content in CheckReference %s
Reference %s has no matching definition
Attributes conflicts in group
Found forbidden pattern data/except//ref
Internal found no define for parent refs
Internal found no define for ref %s
Found forbidden pattern data/except//element(ref)
Found forbidden pattern list//element(ref)
Found forbidden pattern attribute//element(ref)
Element %s attributes have a content type error
Element %s has a content type error
Found forbidden pattern attribute//attribute
Found forbidden pattern list//attribute
Found forbidden pattern oneOrMore//group//attribute
Found forbidden pattern oneOrMore//interleave//attribute
Found forbidden pattern data/except//attribute
Found forbidden pattern start//attribute
Found anyName attribute without oneOrMore ancestor
Found nsName attribute without oneOrMore ancestor
Found forbidden pattern data/except//oneOrMore
Found forbidden pattern start//oneOrMore
Found forbidden pattern list//list
Found forbidden pattern data/except//list
Found forbidden pattern start//list
Found forbidden pattern data/except//group
Found forbidden pattern start//group
Found forbidden pattern list//interleave
Found forbidden pattern data/except//interleave
Found forbidden pattern start//interleave
Found forbidden pattern start//data
Found forbidden pattern start//value
Found forbidden pattern list//text
Found forbidden pattern data/except//text
Found forbidden pattern start//text
Found forbidden pattern data/except//empty
Found forbidden pattern start//empty
Defines for %s use both 'choice' and 'interleave'
Defines for %s use unknown combine value '%s''
Some defines for %s needs the combine attribute
Failed to create interleaves hash table
Failed to add %s to hash table
element %s doesn't allow foreign elements
Attribute %s is not allowed on %s
Attribute %s contains invalid URI %s
Attribute %s URI %s is not absolute
Attribute %s URI %s has a fragment ID
Incorrect URI for externalRef %s
Fragment forbidden in URI for externalRef %s
Detected an externalRef recursion for %s
xmlRelaxNG: could not load %s
xmlRelaxNG: allocate memory for doc %s
Failed to load externalRef %s
xmlRelaxNGParse: include has no href attribute
Failed to compute URL for include %s
Detected an Include recursion for %s
xmlRelaxNG: included document is empty %s
xmlRelaxNG: included document %s root is not a grammar
xmlRelaxNG: include %s has a start but not the included grammar
xmlRelaxNG: include %s has define without name
xmlRelaxNG: include %s has a define %s but not the included grammar
Failed to create a name %s element
xmlRelaxNGParse: no namespace for prefix %s
Found nsName/except//nsName forbidden construct
Found anyName/except//anyName forbidden construct
Found nsName/except//anyName forbidden construct
xmlRelaxNGParse: externalRef has no href attribute
Failed to compute URL for externalRef %s
exceptNameClass allows only a single except node
Element %s name '%s' is not an NCName
Attribute with namespace '%s' is not allowed
Attribute with QName 'xmlns' is not allowed
expecting name, anyName, nsName or choice : got %s
Relax-NG types library '%s' already registered
Relax-NG types library failed to register '%s'
Element or text conflicts in interleave
Attributes conflicts in interleave
callback on %s missing context
callback on %s missing define
callback on %s define is not element
xmlRelaxNGParseattribute: attribute has no children
attribute has invalid content
RNG Internal error, noop found in attribute
attribute has multiple children
ref name '%s' is not an NCName
Could not create references hash
data type '%s' is not an NCName
Use of unregistered type library '%s'
Internal error with type library '%s': no 'have'
Error type '%s' is not exported by type library '%s'
http://www.w3.org/2001/XMLSchema-datatypesType library '%s' does not allow type parameters
Element data has unexpected content %s
value type '%s' is not an NCName
Expecting a single text value for <value>content
Element <value> has no content
Value '%s' is not acceptable for type '%s'
xmlRelaxNGParse: notAllowed element is not empty
Use of parentRef without a parent grammar
parentRef name '%s' is not an NCName
Internal error parentRef definitions '%s'
Unexpected node %s is not a pattern
xmlRelaxNGParseElement: element has no children
xmlRelaxNGParseElement: element has no content
RNG Internal error, start found in element
RNG Internal error, param found in element
RNG Internal error, except found in element
RNG Internal error, noop found in element
element notAllowed is not empty
define name '%s' is not an NCName
Could not create definition hash
Internal error on define aggregation of %s
Include document root is not a grammar
grammar has unexpected child %s
Element <grammar> has no <start>
Internal error: start element not found
<start> use both 'choice' and 'interleave'
<start> uses unknown combine value '%s''
Some <start> element miss the combine attribute
Failed to allocate sh table for Relax-NG types
xmlRelaxNGParse: could not load %s
xmlRelaxNGParse: could not parse schemas
xmlRelaxNGParse: nothing to parse
RelaxNG empty or failed to compile
 xmlns="http://relaxng.org/ns/structure/1.0" <!-- invalid combine value --> <!-- grammar had no start -->������r��k��d��]��V��O��H��A��:�������������������������������y��������������������������������xmlSAX2StartDocumentxmlSAX2StartElementxmlns: %s not a valid URI
xmlns:%s: %s not a valid URI
Attribute %s in %s redefined
xml:idxmlSAX2CharactersxmlSAX2TextNodexmlSAX2AttributeNsxmlSAX2StartElementNsxmlSAX2InternalSubsetxmlSAX2ExternalSubsetinvalid namespace declaration '%s'
Avoid attribute ending with ':' like '%s'
Empty namespace name for prefix %s
Namespace prefix %s of attribute %s is not defined
xml:id : attribute value %s is not an NCName
Validation failed: no DTD found !Namespace prefix %s is not defined
Namespace prefix %s was not found
Namespace default prefix was not found
xmlSAX2Characters: xmlStrdup returned NULLxmlSAX2Characters: huge text nodexmlSAX2Characters overflow preventedSAX.xmlSAX2NotationDecl(%s) externalID or PublicID missing
SAX.xmlSAX2NotationDecl(%s) called while not in subset
SAX.xmlSAX2ElementDecl(%s) called while not in subset
xml:id : attribute type should be ID
SAX.xmlSAX2AttributeDecl(%s) called while not in subset
Entity(%s) already defined in the internal subset
Entity(%s) already defined in the external subset
SAX.xmlSAX2UnparsedEntityDecl(%s) called while not in subset
SAX.xmlSAX2EntityDecl(%s) called while not in subset
Entity(%s) document marked standalone but requires external subset
SAX.startDocument(): out of memory
xmlTextWriterVSprintf : out of memory!
xmlTextWriterWriteDocCallback : XML error %d !
xmlTextWriterCloseDocCallback : XML error %d !
xmlNewTextWriter : out of memory!
xmlNewTextWriterFilename : cannot open uri
xmlNewTextWriterFilename : out of memory!
xmlNewTextWriterMemory : out of memory!
xmlNewTextWriterPushParser : invalid context!
xmlNewTextWriterPushParser : error at xmlOutputBufferCreateIO!
xmlNewTextWriterPushParser : error at xmlNewTextWriter!
xmlNewTextWriterDoc : error at xmlCreatePushParserCtxt!
xmlNewTextWriterDoc : error at xmlNewDoc!
xmlNewTextWriterDoc : error at xmlNewTextWriterPushParser!
xmlNewTextWriterTree : invalid document tree!
xmlTextWriterStartDocument : invalid writer!
xmlTextWriterStartDocument : not allowed in this context!
xmlTextWriterStartDocument : unsupported encoding
xmlTextWriterEndComment : invalid writer!
xmlTextWriterEndComment : not allowed in this context!
xmlTextWriterStartAttributeNS : out of memory!
xmlTextWriterStartComment : invalid writer!
xmlTextWriterStartElement : out of memory!
xmlTextWriterStartElementNS : out of memory!
xmlTextWriterWriteRawLen : invalid writer!
xmlTextWriterWriteRawLen : invalid content!
xmlTextWriterWriteVFormatComment : invalid writer!
xmlTextWriterStartPI : target name [Xx][Mm][Ll] is reserved for xml standardization!
xmlTextWriterStartPI : nested PI!
xmlTextWriterStartPI : out of memory!
xmlTextWriterStartCDATA : CDATA not allowed in this context!
xmlTextWriterStartCDATA : out of memory!
xmlTextWriterStartDTD : DTD allowed only in prolog!
xmlTextWriterStartDTD : out of memory!
xmlTextWriterStartDTD : system identifier needed!
xmlTextWriterStartDTDElement : out of memory!
xmlTextWriterStartDTDAttlist : out of memory!
xmlTextWriterWriteDTDExternalEntityContents: xmlTextWriterPtr invalid!
xmlTextWriterWriteDTDExternalEntityContents: you must call xmlTextWriterStartDTDEntity before the call to this function!
xmlTextWriterWriteDTDExternalEntityContents: notation not allowed with parameter entities!
xmlTextWriterWriteDTDExternalEntityContents: system identifier needed!
xmlTextWriterEndDocument : invalid writer!
<?xml version= encoding= standalone=
        [ SYSTEMP-���-��P-��P-���-��P-��P-���-��P-��.��P-�� .��P-��p-��P-��p-��x=���=��P>��x=��0>��0>��`>��x=��(A��xA���A��(A��(A��(A���A���Q���Q��DR��DR��4R��4R��$R��$R��$R��R���Z���[���[���[���[���[���[��l[��l[��l[��l[��l[��l[��l[��l[��l[��[��0123456789ABCDEFABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/00!0)0N��������@@FF��001050�0�0�0�0`i��f	o	�	�	f
o
�
�
fo��fo��f
o
PY�� )E`a��������������KRpp����������		<	<	>	L	M	M	Q	T	b	c	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	

<
<
>
>
?
?
@
B
G
H
K
M
p
q
�
�
�
�
�
�
�
�
�
�
<<>CGHKMVW����������>DFHJMUV����������

>
C
F
H
J
M
W
W
114:GN��������557799>>??q�������������� � � � *0/0�0�0�0�0�����14>AHJ~�������P�������������������������OQ\^�������������1VYYa�����!:AJq�����������	9	=	=	X	a	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	





(
*
0
2
3
5
6
8
9
Y
\
^
^
r
t
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
(*02369==\]_a��������������������(*359`a��������������




(
*
9
`
a
.0023@E��������������������������������@GIi����		<<>>@@LLNNPPTUYY_acceeggiimnrsuu����������������������� EHMPWYY[[]]_}��������������������&!&!*!+!.!.!�!�!A0�0�0�01,1����}���{���z���z��`}���}��}��P}���{�����܅���������̄��T�������\���ą������x���h���X���H���8���(���������������؉��ȉ����������������������E�������U����������������o��������������o���_�������բ������
���Ī������̝��̝������̝��y���8���̝��̝��"������̝��̝��ʩ�������������ͱ������-������f�����A������Q������A���s���������������u���string is not in UTF-8
invalid character value
creating saving contextcreating encoding buffer&#10;&#13;&#9;&lt;&gt;&amp; id=" xml:lang=" lang="http://www.w3.org/1999/xhtml" /><![CDATA[]]>"1.0" standalone="no" standalone="yes" [
creating outputxmlEscapeEntities : char out of range
-//W3C//DTD XHTML 1.0 Strict//EN-//W3C//DTD XHTML 1.0 Frameset//EN-//W3C//DTD XHTML 1.0 Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd xmlns="http://www.w3.org/1999/xhtml"<meta http-equiv="Content-Type" content="text/html; charset=creating modulefailed to open %s
null parameter
failed to find symbol: %s
null module pointer
failed to close: %s
schematron.cPattern: %s
value-ofEmpty node set
%0gUnsupported XPATH Type: %d
node failed assertnode failed report%s line %ld: %s
allocating schema testns element has no urins element has no prefixallocating parser namespacesallocating schema patternrule has no context attributeallocating schema rulelet has no name attributelet has no value attributeassert has no test attributePattern has no rule elementhttp://purl.oclc.org/dsdl/schematronhttp://www.ascc.net/xml/schematronEvaluation of compiled expression failed
Registering a let variable failed
Unregistering a let variable failed
Failed to compile test expression %svalue-of has no select attributeFailed to compile select expression %sallocating schema parser XPath contextxmlSchematronParse: could not load '%s'.
xmlSchematronParse: could not parse.
The XML document '%s' is not a XML schematron documentrule has an empty context attributeFailed to compile context expression %srule has no assert nor report elementlet has an empty name attributelet has an empty value attributeFailed to compile let expression %sassert has an empty test attributeExpecting an assert or a report element instead of %sExpecting a rule element instead of %sExpecting a pattern element instead of %sThe schematron document '%s' has no patternThe schema has no document element.
�����������X��h��h��h�������out of memoryunexpected end of filecompressed data errorcompression errorlzma errorincorrect data checkincorrect length checktrailing garbage�7zXZunknown compression methodunknown header flags set<fd:%d>internal error: inflate stream corruptrequested length does not fit in int;�M�	��MH��MxQ�xL�Q��Q�,��Q�`�Q��R��M�S�NHU�hNhW�N�W��N�^�O�_�xOx`�Ohc� Pd�LP�d�xP�d�PXe��P�e��Pf�Qf�(Q(f�<Q�g�Q�g�Qh�Qh��Qj�R(j�$RHj�8R�j�hR�l��Rn�S�o�xS�q��St�DTHv�T�x�U�x�<Uxy�tUHz�U�z�U�z��UX{��U�|�U�}�(Vx~�\V���V����V���0W���DW��XW���xW���W���WH��X���`X(���Xh��Yx��Yx��Y����Y(��4Zؚ�Z���Z��8[H��[����[����[��D\X��d\���\ت�\h��\���$]h��t]8���]��^H��d^x��^8��^x��^����^ط��^��8_8��_��`���`���`���<a���ta����a8��Lb���lb���b���bx���bh��4cH��c����c����c���d��dd��xd8��d���dh���d(��De���ex���e��f8��Dfh��Xf���f��fX��f����f(���f���(gx��lg���g���g���gX��h���,h��lh���h8���hh��di��ih��j8��j��j��,kX��k��kx��k��k��lh�l��l��dm���mH�$n�	�@nX�dnh
�nX��n��n��(o�HoH�\o��oh�p��pX�0p��dpX�p���pX��p�qx�`q#�q�#��q$�q�$�,r%�@r�%�r8'��r�+�s(,�psx/��s�A�<t�F�txO��thP�uhT�`u�V��ux[�v�_�`vhc�v�g�Dw�s�w�t��w(x�x(��XxX��lx��xX��y8��y��yX���y��z���XzȞ�z����z��{8��`{���{ش��{���4|���l|���|��|���H}���}H��}X��}x��}���8~���T~��~����~h��$���p�������h��T�8��(�Ԁ��������(�8�H�H	��x�\�
�|�h�Ȃ���X�0�h�t����ԃ(����$���8���8�̄x!���*�x�8-�ȅ�-�5�H�X5�h��5��8�89��H9��9� �xT��[��`��d�̈�d���d���e�(�Xk�T�l��l�܉�l��m���m�T��n��n��n�o�Њ�o���o�$�p�8�8p�L�q�hq�8u�xw�H��w�\��w�Hx���x�4�hy�Xz���z�h��{�؎|���|�p��}�؏�~��(�8���t����H����D���h��ؑX��$�X��p����Ȋ�Вx������`�h��������ؓȚ��(������x�H��Ĕ���$����(��ԕH��$����8�H��x��������,���x�8��ȗX��ܗ(������T����x��Ę�������P���l�H��x��̙�����������0����L�x��X��Ԛx���ȸ�����l���x��غ�8�����Л����(������x�������<���X����|�(��̝(�� �h��l�������������T����h����̟����(��8������ܠ���(�������ء���8���Т���0�(��D�8��h�����L����x���̤����8��h�������X�����<���8��̦�����`�X���H�D�X�����<���P�X
�H�ԩ�
���
�$�h�\���p�������Ъ��h����0��\�����8���\�8���Ь���x�@���������$���P�x�p�h�����H����8��L�����ԯX ��x ��� ���"�`��#��$�ذ(%��8%��X%��x%�(��&��&�'�'�H'�Ա�'���'��X*�X��0�8<���L�x��L��M�8N�سhN���O�\��O�p�U�ش(U��8U��xX�L��X�`��X�t��Y��Y�̵�Y��x\�,��\�H��\�d��]�^�ԶH_�$��_�@�x`��`�8b�Hb��Xb� �xb�4��b�l�Xc�8d��xd���d� �he�X�f��f��f��Hg� ��g�`�h�(h�Hh�hh�Ⱥ�h�ܺi��hi�D��i�x�hj��j��j�Ի8k���k�L�l�(l�xl�ܼ�l���l�,�m�@�m�T�(m�h�(n�|�Xn��n��n��n���n��o��(o�,�Ho�@�Xo�T�xo�p��p��p�Xv�Ծ�v�Hw��Hy�xy��y�Ŀ�y��(z���z�4�h{�h�(|�h|��|���|��H}���}�(�X~�d�h~�x��~�H���(���������� ���T����H���8�������(����H�X��������������X�����������D����(����8���������P�X���Ȏ�������(����x�����(����H��������ȑ������8��D�x��p�X���X������������@�����h����ȝ� �8��h����H����8���H������h�ؤ������ȧ� �ا�4���`�����Ȫ��ت��h�������<�x�����������(��H�X��d������������ذ�������x���(��l�H����������L�(��`��������������X���������(����@���T����h��������X��������X��P�����h���8����(������<����h�����8���������(��(�x��P����d������������������(����8������@�X��l�h���x�����������x��$�8��P����x�������`������������0����D������������������X�(���<�x�t�����������H�P����H�������	���	�X�
�t�X
��h���x�����8��L���x�H����������� ���4�8������8��(���"���"���"�$�H$��h$���$���$���H%���&�H��&�\�8'��(���h.�H�x.�\��.�p�1��(1��X1����2� ��2�4��2�H��3�|��3���3���5���5���6�D��6�h��:���<�\��<�p��=���=���>���?��H@�`�A���C���XD�,��D�@��D�T�G����H�0�xI�t��I��8J���XJ���xJ���J���J�$��J�8��J�L��L��(N����P�t�hT��XZ���a���f�d�g��Xh���hr�@�t��Xu����u�(��v�h�xw��Hy���z�\��}���}���~���~���(~����@����h�����������,����h���������8���؅�P����������H������\�x���H������x��,�X��p�8�������H��������@����������8��������X�� ����p����(���H���ؼ�X�H��Ƚ��(���x�� �X��p���X���������<�h��X������,�X��X�h������������,����@����|�h�����H��P��������������X	��@h	��T�	��h�	���H
���H��0�������8���(�����d����������L����X��(�������8��$����������@( ��t("����)��8�*����*����+����+��H,��0�-����-���.���/��	0��`	(1���	81���	x1��
�1��H
2��\
�2���
�4���
5��0X7��D�8���H:����;��`�<����A����C��$
HE��p
hE���
�E���
(G��HV����V����W��H�X��dHZ���[����[����\��x]��,X^��H(_��dh`���Ha����a���xd����d��f����f����f���8g����g��@Hh��h�h����i����j��Hk��D(l��p�m���(n���x���X���l�����؋��������،����������؎��0(���D�����h����ؒ�������x���8H���Lx����ؗ���x�����4h���Hș��\ț�������؜������0��|؟������������4H���dX��������@����|������������خ����$(���8ذ��h���8ط���(����8���������8���<������������X����8���L���`���t����������<��t����x���H�� ���d 8��� ���!���L!����!����!H��"���L"h��x"x���"�� #(�L#���#H��#���#���#x�<$(��$���$x�%��8%��L%X�x%��%8��%x��%��&h�T&x�h&��|&��&x��&��'H�P'X�d'x�x'���'h��'H�P(��l(���(x�(��(x��(��(h�)��()(�D)��|)h�)���)X����)���*x���0*����D*����h*����*�����*���,+X���@+����+H����+H���,,����d,�����,����,���$-���x-����-����-����-	��4.8	��T.H
���.�
���.�
���.���,/h
���/�� 0h���0����0��81����1����18��$2���`2���2���<3H��X3����3����3����3���38��4X��(4���D4x��p4�!���4x"��5#��85h#��d5�#���5x$���58%���5h&���5�&��6x'��\6�'���6�(���6�+��87�+��L78,��x7�.���7�/�� 80��D8�0��`8X1���8�1���8�2��89h4���9H8���98:��8:(<���:�>��P;�A���;xB��<C��@<�C��t<(D���<�D���<�E��=XI��l=HJ���=8K���=xL���=�L��>^��?x`��x?b���?�c��@�d��\@�f���@�f���@h��A�i��lA�k���A�t��dBHw���Bx���B�x��C�z��pC�}���C�~��pD�����D����,EX���xE8����Eh����Eh���lF�����Fȭ���F���G(���G8���`Gh����G�����G��H����0Hx���LHH���xH�����H����PIx����I�����I�����Iؾ���I(���0Jx���lJؿ���J8����JX���0K����|KH���K����K���K8��L���L���L��M�M�(M��XM��lM��M��MX��Mx�N��dN��Nx��N��4O�����O�����O���O���Ph���P���pP���P���Q���8Q���TQ��hQH	���QH
���Qh
���Q�
��R�
��R�
��(R�
��<R��PRX���R���R���Sx��DSh��tSH���S���S���S���,T���@T���lT����T!���T�!�� U�"��LU�#��xU()���U�*��HV�3���Vh5���V�7��DW8��|Wx8���W�8���W�9���W(:��(X�;���X<���X=��Y�=��TY�>���YX@���Y�@���YD��(ZxF��dZ8G���ZXG���Z�G���Z�H���ZJ��H[hL���[HQ���\R���\�R��<]hZ���]�Z���][���]�[���]�\��,^�`���^Hg��<_�i���_�i���_�m��,`�n���`�o���`�p��aHq��Pa�q���axs��b(t��\bHu���bxz��Dc�{���c|���cx|���c�}��<d�~��`dx���d8����dx����d����e����,e8���Le����pex����eȂ���e����e(����e��fh���Df����Xf؄��|f�����f�����f(���4g(���xg(����g8����gh����gx���h����$h���PhX���xhx����hȌ���h���h8����h����i����Hi(���hiX����i�����i�����i�����i(���jh���8j����Xjȏ��xj�����j8����jh����j����kȐ�� k����@k(���`kh����k�����kؑ���k����kH���lx���8l����`l���l(����lX����l�����lȓ��m���8m8���Xmh���xm�����mؔ���m����mH���n����0n����Pn��pn����nH����nx����n�����nؖ��o���(o8���<oX���Po����po����o�����oؘ���o����o8���pH��� p����Xp(���pp8����pH����p8����p�����p؛���p���qX���PqX����q�����q�� r����hrH����r����sȢ��Hs(����sh����s����sh���t8���LtH���`t�����t����th���u��HuH���tu����Hv���v����v8����v��`w����w����wX���w���x���x8��(x���<x(��Px���dx��xxX���x����x����xX���x���0y����y��zX�� zH��Lz���xz����z���z����z���z����zH��{���4{��H{����{����{���|���|���8|���X|(���|x���|(���|H���|����|��,}���@}h���}����}(���}H���}���~h��~���(~���<~X��P~���d~8��~�����,8�|��������(����4�X�H���t�8�������h�0�(�X��������h�d����x�܂���8����H���t�H��������Ѓ����h���8�8���L��������܄���(�X��X����t������h	����	���
��l�����8��H����`����܇X��(�(��\�h$��܈�*�����,�� ��3����(4��ЋX7����>��h�8?�����?���(D��0��E��p��F�����F�����H����H���I��,��P�����X���Z��0�(Z��D��Z��d��[�����c����d��4�e��H�(e��\�Xe��p�(f��ܐ�g��(��i��x��k��đhm���xo��\��p�����p���Hq��4�r����Hr��ȓ�r���s��H�Hs��d�xs��x��t�����u�����v���w���(w��0��w��x�(x����y����hy��ԕ�y����y����y��(�z��<�Hz��P�xz��d��z��x��z����{����8{����h{��Ȗ�{��ܖ�{����{���(|���X|��,��|��@��|��T��|��h�H}��|�x}����8~��ȗ������$����8�����p�x�����X���������h���$����l�������H���������D�Ȍ�������H�x��������������������,���������Ĝ(���؜�������$�8���8���|�(�����Ț���8�����x����8���X�����t�������X���������Ȟ����ܞ(��������L����h�X�����x���؟h��������$�H���P���������������T�8��������H����H���l������������8������P�X���t�ح����(�����8������l�H���������ܤ8����8���d�ظ����8���̥ع���h���l�X�����H����8��P�8����������T����������x��$���`�x�������������H������h����Ы�������x����� ���l�h�ȭ8��(�h�X���X����<�X������������t�����X�԰��H������� ���4�X��h����(�����X�X���������(���8���8��Եx�����������<������)�� �*��`�h,�����:��Ĺ�T����XU����U�� �V��\��V����hW���hY��X�xZ�����Z����[���h_��d�b�����e����j��`��n��оp��0�xp��D�q��t�xq�����q��ȿ(r�����r�������������Ȣ������������������L�8����(��4�8����h����X����H������P����������������������(�H�x���������������,����h������d����x�X������������������@��1��4�X2��L��3����h<����=����XE��`��H�����`��\�(a��p�xb�����k��x�����X����x���4������������8�����������(�����H��������������(����x�x����������������H����h���0�ȱ��D�8���X���l�(�����������(���<�Ⱥ��P�H���d�X���x�����������������8�����h��������$�����@����T�8��������������8����������L���`�8��t�x��������������8����h������H�x������`�H�������(������8���p�X�����H�����-��(�.��D�(.��X�(/�����/����x3����3�� ��3��4�4��H�(4��\�x4��p�5����(5����H5����h6�����6����6����6��(��6��<�7��P�(7��d�H7��x�h7����x7�����7�����7�����7�����7����8���88���X8��,�x8��@��8��T��8��h��8��|��8����9����89����X9����x9�����9�����9����9����9��0�:��D�8:��X�X:��l�x:�����:�����:�����:�����:����;����8;����X;���x;�� ��;��4��;��H��;��\��;��p�<����8<����X<����x<�����<�����<�����<�����<���=��$�8=��8�X=��L�x=��`��=��t��=�����=�����=����>����8>����X>����x>����>����>��(��>��<��>��P�?��d�(?��x�H?����h?�����?�����?�����?�����?����@���(@���H@��,�h@��@��@��T��@��h��@��|��@����A����(A����HA����hA�����A�����A����A����A��0�B��D�(B��X�XB��l�xB�����B�����B�����B�����B����C����8C����XC���xC�� ��C��4��C��H��C��\��C��p�D����8D����XD����xD�����D�����D�����D�����D���E��$�8E��8�XE��L�xE��`��E��t��E�����E�����E����F����8F����XF�����F����F���8G��(�HG��<�XG��P��G����H����H����(H����8H���HH���XH��0�hH��D�xH��X��H��l��H�����H�����H�����H�����H�����H�����H����I���I�� �(I��4�8I��H�HI��\�XI��p�hI����xI�����I�����I����HJ����xJ�����J����K���8K��$�XK��8��K��X��K��x�(L����XL�����L����M���HM���xM��0��M��D�8P����xQ�����T��4��U��p�HX����HY��$�Z��\�h[�����\����\����]��0��^��\��_�����`�����a���xb�����b���Hc��0��c��\��d����8g���i���8i��(��i��L��j��x��k����l���8m��$��p��t��q�����r����t����u��4�Xw��p�Xx���(y����y�� �z��4�h|��h��}�����}���X~����~���x��<����P�H���d�x�����؁��������x����؄���H���(�����<�8���P�����d����x�8����������������X����������H�������XȊ��l؊�������x������������������x�������,؍��@���Tx���hX���t8�������������X���0����D����X����h����x�������������ȡ�����(X���<Ȣ��T(���h�����8���������ئ�������(����<����hح���X�������� 8���pد�������(���T����������h���<����������(����x���$	���p	(����	�����	��� 
����\
Ⱥ���
H����
���((���p����������D����(����h��
���@
���
h���
����
(��X���H���h��H��`��������H������X�����p����������X����8�08�\x�����x�@��������\x��H�0��|�H���������������L���(�����4�������($���%��LX+����,���8.��Lh3����3���H:��Px<���(?��$�\��p(a���b��(e��p�e����f���hg�� �g��L�i����������H���������x��� h���\ X���� ����� X���� ����� H���$!����`!�����!���!���"8���$"x���8"����L"�����"h����"Ȝ���"x���#X���L#�����#ȟ���#(����#H����#x���$���� $(���p$�����$H����$����$(����$h���%����L%Ȭ��`%H����%�����%ȭ���%�����%����&H���@&Ȱ���&(���$'ط��p'ؼ���'8����'X���(x���$(����8(��L(���`(H���t(X����(h����(H���)����L)����)�����)�����)���*���D*X��p*����*���$+��p+����+8��,���\,��,X�<-���-��.��.h�x.���.��(/��x/h��/x�40h�t0�����0���@1�����1����42����H2���\2���p28����2h����28����2�����2�����2���3(���(3����\3����3X���3���4(��@4h��T4����4���4��5H��H5���d5����58���5����5(��6���46(��p6�	���6H
���6
��<7�
��h7H���7H���7H��8���H8x���8����8���(9��t9����9����9(��:��T:8��|:����:X���:8��;���<;���h;����; ���;� ���;8#��<x$��d<�$���<�%���<�%���<h&�� ='��<=h'��h=�'���=x(���=�(���=X)��$>*��@>,���>�,���>�,���>X-��?.��0?H/��d?�/���?0���?h0���?(1��@x4��X@86���@�6���@(7��A�7��<A88��XA�9���A�:���A�:��BH;��<B�;��XB�=���B�>���B�?��$C@��PC�@���C8A���C�A���CB��D�B��8D�D���DhE���D�E���DH��PEHH��dEXI���E�I���E�I���EJ���E�J��FK�� FHK��4F�K��HF�K��\FL��pF8L���FxL���F�L���F8M���F�M�� G�N��pGHO���G�O���G�O���GXP��0H�P��\H�V���H�Y���H(\��@I�_���I8f���JHg���JXg���J�g��K�g��Kh��0K8h��DK�h��XKi��lKw���K�{��L�|��TL�|��hLx}��|L�}���L~���L����L؂��M��<M8���hMX����M�����M���� N����LNx���|NȈ���N����Nh���$O����\O�����OX����O�����O���P����HP����\P�����P����P8����P�����P����4Q����pQx����Qؤ��<R�����Rh����R����S�����Sh���Tx���PT�����T8����T����4U�����Uȶ���Uض���U���U���V���Vȸ��LV�����VȺ���Vغ���V���V����W�����Wؼ���WH���HX�����Xh����X(����XH���Yx���Y8��Z���DZ���ZX���Z���D[x���[����[���\���<\���h\��\H��\���\��$]��]���]x�(^���^x��^���^h��^8�H_����|_�����_���_h����_����$`zRx�$P}�@CFJw�?:*3$"Dh��0C(\��E�I�D �
DAIH�d�B�E�E �E(�D0�I8�DP�
8D0A(B BBBEL���K�A�A ��
�A�B�E�
�A�B�Fp���H ���$��L8��B�B�B �B(�A0�A8�D�F
8A0A(B BBBBX�d�
L�B�I �A(�J0�(K� A�B�B�Q0����D(G� A�B�B�$���N�p
J^
J[E�|���B�B�B �B(�A0�A8�D`m
8A0A(B BBBK�hGpKxI�B�B�B�B�B�B�B�B�I`(�@�E�}
FI
G^
J^(���E�}
FI
G^
J^�(�<X�UC�4L�kJ�D�G r
D�A�LFAAH��8��#0L��sE�D�D h
AAIiDA������L���F�B�A �A(�D0�
(D ABBG�
(D ABBA�T�P� L�D4H��O�A�D l��H ��c
K�A�I�
M�K�L|�����,��E�D�s
DHL
DA`���n�E�A �D(��
 CDBDM KBBA����O(����M����F(����H8��Aj�B�A �D(��
 FBDFF
 ADBFO����\����n�E�A �D(��
 CDBEG
 KBBJE����O(����W����P�x�I�B�B �A(�D0�W
(H DBBGM
(A BBBAt8$�t�B�H �D(�D0�

(A DBDJk�����O0�����L(C GBBA�����F0�����D���1I�B�A �D(��
 HDBAd
 ABBAt��!�bt�B�H �D(�D0�+
(A DBDD������O0�����D(A EJEH�����F0�����4p�#�3DL C(D0B8B@BHAPDXB`BhApK4��#�wI�H�H �t
ABHR
ABC(��#��A�A�GP�
AAH�$�B �$�\R\8$%�\R\Pl%�,d�&�V�G�H �kAMB���0�x'��F�A�A �D��
 AABF,�(�A�D�G��
AADL��+�F�B�B �B(�A0�A8�J�L
8A0A(B BBBBPH	�-�O�B�B �B(�A0�A8�DP�
8C0A(B BBBKG�������	P.��	\.�3�	�/�E�u
F<�	(0��E�A�G w
AAJF
DAEdHH8$
�0�tF�E�A �D(�J��
(A ABBE`
2�6T�
HYH�
,3�F�B�B �B(�D0�A8�D�L
8A0A(B BBBEp�
�5�-H A
Gu
KK
Ek
EK
EK
EK
EJ
FK
EK
Eu
KK
EK
EK
EK
Ex0@L7�<F�D�A �D0�
 AABFtX8�`�T8�F�B�B �B(�A0�A8�D�p
8A0A(B BBBD	�]�E�J�S�`��9�F�B�B �B(�A0�A8�D�H
8A0A(B BBBDQ�]�E�J�S�LP�;�F�B�D �A(�D��
(A ABBIu�]�E�J�S�`��<�F�B�B �B(�A0�A8�G�3�]�E�J�V�N
8A0A(B BBBF`
8@�F�B�B �B(�A0�A8�G���]�E�J�V�G
8A0A(B BBBG8h
�B��F�A�A ��
ABBC
CBHT�
�C�^F�B�B �B(�A0�A8�H��Q
G��
8A0A(B BBBD<�
�D�HB�B�A �A(�D�t
(A ABBD <�F��E�J��
AAL`�G�B�B�B �B(�A0�A8�G��
8A0A(B BBBH��M�1E�T
GP0��M�FE�D�G Y
AAESAA$N�'E�D�G TAA8,N�K�A�A �f
�N�D�KZ�I�B�$hdN�.E�A�G WDAL�lN��F�B�B �B(�A0�D8�G�$
8A0A(B BBBJL��P��F�B�B �B(�A0�D8�G�$
8A0A(B BBBJL0lS�F�B�B �B(�A0�D8�J�
8A0A(B BBBJL��U�UF�B�B �B(�A0�D8�G��
8A0A(B BBBD��W�'HP
HF��W�Y��J��X�1HP
HI,�X�#@�X�,LT�X�6X�B�B �B(�A0�D8�GP�8A0A(B BBBJ������H��Y�F�E�B �B(�A0�A8�G��
8A0A(B BBBA���a�HQI A(B0B8B@BHBPBXB`BhBpVD
AD
B A(B0B8B@BHBPBXB`BhApHOH B(B0B8B@BHBPBXB`IDl|�a�A�_[ A(D0B8B@BHAPDXB`BhBpVO
JDL E(D0B8B@BHAPDXB`BhBpIAH� b�gB�B�B �B(�A0�A8�D@U
8D0A(B BBBHl8Dd�A�_Z A(D0A8E@BHBPBXB`BhBpVO
JDL E(D0A8D@BHBPBXB`BhBpIA4��d��F�A�A �]
ABH�ABd�<e��uLM I(D0B8B@BHAPDXB`BhBpIDWOL B(B0B8B@BHBPBXB`IDlH�e�E�mA A(D0B8B@BHDPEXB`BhApXO
EBK A(D0B8B@BHDPDXB`BhApKA��e�Q�X
G^�df�
8�`f�F�B�A �A(�D0�
(D ABBB0(�f�m�D�J CAAH��H ��@\�g��E�A�G��
AAHs�R�L�J�K�H�,k��F�A�A �G��
 AABF��Y�E�J�K�P��n�F�B�A �A(�G�d
(A ABBE]�R�L�J�K�@�p���[X�q�/`l�q�#O�D�D �F0E
 AABJZ
 CABH�
 AABJ����F0�����s���s� (��s�J�A�G `D�A�($t�E�I�D i
DAH\P|t�F�B�A �A(�D0J
(D ABBGO
(D ABBHD
(F ABBIL��t�F�B�D �A(�D0m
(D ABBI�
(D ABBK,,v�F�D�A �C
ABGL0�v�F�B�D �D(�D0�
(D ABBAm
(D ABBJ,��w�O�A�A ���A�B���y�!(�z�'E�A�D �
AAF��|L�M
Gl�1J�Y�,��!J�P�H��4\0��[O�D�K c
AAEDCAH��@�X���X�D�A ��ABH���H �����A�B�$���#E�C�D RCA$��#E�C�D RCA$(��#E�C�D RCA0P��DE�A�F V
CAJOCA�8��h<����OH�D�D �X
CBCH���S ���8�����B�A�A �{
ABFA
ABAHH��7B�E�E �E(�D0�D8�G@�
8C0A(B BBBCl`<��%
w�MM H(B0B8B@BHAPDXB`BhApOaE�Z�PM H(B0B8B@BHBPBXB`BhApH�4����ZYM F(D0B8B@BHAPDXB`BhApKx$��A�_L B(A0A8D@BHBPHXD`EhBpBxA�KK
DDF B(A0A8D@BHBPHXD`DhBpBxA�KAp�H���A�AI A(B0B8B@BHDPEXB`BhApWK
DBK A(D0B8B@BHDPDXB`BhApKA
Gl�����Z�PG I(D0B8B@AHCPDXB`BhBpIaF�P�DM J(D0B8B@BHAPDXB`BhBpI,h��J��
DF
�J`�H�`�Ԑ�PB�B�B �B(�A0�A8�DP�
8A0A(B BBBEs
8A0A(B BBBK,����B�A�A ��
ABJ, ��@���(T(��A�C�G k
AAAl����A�_L I(D0A8E@BHBPBXB`BhApXO
GDL C(D0A8D@BHBPBXB`BhApKAl�ܘ�A�_L I(D0B8B@BHAPEXB`BhApXO
GDL C(D0B8B@BHAPDXB`BhApKAl`��A�_\ C(D0B8B@BHBPBXB`BhApXO
GDM K(D0B8B@BHBPBXB`BhApKAx�l��A�_L B(A0A8D@BHEPBXG`EhBpBxA�XO
KDF B(A0A8D@BHEPBXG`DhBpBxA�KA@L ���L�A�D �G0S
 AABAp���H0���� ��di�]� � p��Q�u
JF � ��Y�g
PFJ�L� ؞��B�B�B �B(�D0�A8�G�M
8A0A(B BBBED!x��+A�X
GF,d!���*A�r
Er
NP
HF
G�!���SA�o
HZ�!Ȣ�)<�!��Y\N F(A0A8D@BHBPBXD`DhBpBxB�Ih"��DND B(B0B8B@BHAPGXB`BhBpOD
GBL C(D0B8B@BHAPDXB`BhApKDt"X���"d���0�" ��O�D�G GAAE��F ��L�"|��bB�E�E �D(�D0��
(A BBBF�(A BBB #���C4#ا�J��C�(P#l��A�n
AQ
OF
JXL|#��WB�B�B �B(�A0�D8�G��
8A0A(B BBBJH�#��B�E�B �B(�A0�A8�D`�
8A0A(B BBBD4$T��N�D�G Y
AADp��C ��P$ܱ�C0d$��J�D�G cAAA��F ���$���S<�$в��S�A�A �[ABE���P ���wAB\�$`��IO�B�B �A(�D0�G@�
0A(A BBBDT
0A(A BBBDu�����8L%P��fF�B�A �D(�D0z
(C ABBEP�%���sP�E�E �E(�G0�D8�K@IHHPU8A0A(B BBBK������|�%���EK�B�B �B(�A0�A8�G@�
8A0A(B BBBEV
8A0A(B BBBH�������H@������H\&���RF�B�B �B(�A0�A8�G��
8A0A(B BBBEL�&���F�B�B �B(�A0�A8�G�
8A0A(B BBBDH�&T��F�B�B �B(�A0�D8�D`�
8A0A(B BBBA4D'����A�D�G �
AAGk
FAFL|'P��F�B�B �B(�A0�A8�J��
8A0A(B BBBB`�'��_B�B�B �D(�A0�O
(D BBBDs
(L BBBCS
(D BBBCL0(���F�B�E �B(�A0�A8�D�R
8A0A(B BBBGH�(\��qF�E�B �B(�A0�A8�D`�
8A0A(B BBBDH�(���pF�E�B �B(�A0�A8�DP�
8D0A(B BBBI�)���F�E�B �B(�A0�C8�DPJ
8D0A(B BBBE}
8A0A(B BBBA_
8A0A(B BBBA�
8F0A(B BBBBH�)���F�E�B �B(�A0�A8�D�{
8A0A(B BBBA8�)��DF�A�D �~
ABDS
ABJ88*��GF�A�A �>
ABG�
ABHLt*�B�B�B �B(�A0�A8�G�
8A0A(B BBBH�*��#H�*��F�E�B �B(�A0�A8�D�{
8A0A(B BBBFH$+H�LF�B�B �J(�A0�A8�D@�
8D0A(B BBBAxp+L��F�B�B �E(�A0�A8�DP�
8A0A(B BBBJ�
8A0A(B BBBAP
8C0A(B BBBA(�+���E�A�G I
DAA4,T�Cd�A�A ��ABJ���P ���0P,l�F�A�A �D0u
 AABK<�,� �lF�B�B �A(�D0��
(A BBBJ0�,("�9F�D�D �G0�
 AABHH�,4$��F�E�B �B(�A0�A8�Dpu
8A0A(B BBBD8D-�+�RF�B�A �A(�G@u
(A ABBDH�-�-�/F�B�B �B(�A0�A8�G`G
8A0A(B BBBJ8�-�5�F�G�D �z
ABB�
ABDH.T7��F�B�B �B(�D0�A8�D@�
8D0A(B BBBFHT.�8��F�B�B �B(�D0�A8�D@�
8D0A(B BBBA4�.|:��E�D�G0p
AAFD
CAH,�.$;��E�G E
DK_
CF\/�=�3F�E�B �B(�A0�A8�D�u
8A0A(B BBBD+�G�P�A�Hh/�D��F�B�B �B(�D0�A8�G@
8D0A(B BBBFH�/XH�GB�E�E �B(�A0�A8�DP�
8D0A(B BBBD0\O�E]Y0�O�8,0�O�F�B�A �A(�G0|
(C ABBK8h0tP�zF�B�A �A(�G@�
(A ABBH�0�S��E�~
EH�0|T�!B�B�B �E(�A0�C8�DP�
8A0A(B BBBI01`Y�~F�A�A �G0
 AABJL@1�Z��F�B�D �A(�G0�
(D ABBC�
(D ABBJH�1<\�RF�B�B �B(�A0�A8�Gpr
8A0A(B BBBG@�1Pa�B�B�B �A(�D0�G@j
0A(A BBBD$ 2�d�RT�K �AD�A �tH2f�vB�B�B �E(�A0�A8�G�$	
8A0A(B BBBF��I�N�A�R��
�H�E�A�ED�2y��B�B�B �A(�A0�G�U
0A(A BBBD43�}��A�A�G k
AAJD
IHK(@3L�A�A�DPQ
AAGl3��	�3��`�3h��B�B�B �B(�A0�A8�G@Y
8K0A(B BBBJD
8D0A(B BBBG0�3���F�D�D �G0�
 AABGD,4���E�A�G /
CAHa
CAC^
CAFPt48��'E�A�G �
DAKd
AAB{
DAHD
FAE�4��E�D
GH�4���AF�E�E �B(�D0�A8�D`c
8D0A(B BBBE45���!J�SC�HP5���F�B�B �B(�A0�A8�D@�
8D0A(B BBBD@�5 ��F�B�B �A(�A0�D@�
0A(A BBBEH�5��F�E�B �B(�A0�A8�D@�
8D0A(B BBBG,60��@6<��8T68��F�D�C �J
ABFr
ABK�6���X�6���P�E�D �D(�D0I(A� A�B�B�P0����R(D� A�B�B�47���F�A�A �h
ABEVABH87d��5B�E�B �B(�D0�D8�GP�
8D0A(B BBBF\�7X��i	F�B�B �A(�A0�D`�
0A(A BBBHAhCpPhA`hCpNhB`L�7h��BB�E�B �A(�A0��
(D BBBK�
(A BBBH048h��tE�A�G c
AAFuAAHh8���LB�E�E �B(�D0�D8�Dp�
8A0A(B BBBG�8���JMeA P�8��&HDB W(�8���E�A�D0l
AAH, 9ܱ�F�A�G �Y
ABFP9L��$d9H��~E�M
Fb
Fi`�9���B�B�B �B(�A0�A8�G�
8A0A(B BBBF��Y�K�F�K���9��� O�B�E �B(�D0�D8�Fp
8A0A(B BBBB�
8A0A(B BBBFg
8F0A(B BBBJ�������Pp������`�:t��hO�B�E �B(�A0�A8�D`{
8A0A(B BBBEX������P`������H�:���wF�B�H �B(�A0�A8�D`�
8D0A(B BBBE8;���HB IT;���#J�L� p;���TS
Ia
O(�;X���E�A�G0�
AAE8�;���F�B�G �D(�D0}
(C ABBDH�;���F�B�A �A(�D0c
(D ABBFd(D DBBH<���\<��Lp<����B�E�F �D(�G0[
(D ABBDr
(D ABBE<�<|��F�E�E �D(�D0��
(D BBBE=<��=8��(=4��<<=@���F�E�E �D(�D0�z
(D BBBD|=����=����=���8�=����F�E�D �D(�G0�
(C ABBF�=x��UT@>��D >����N�A�G |
AAD�
H�A�Kx��A ��Hh>4��7F�B�B �B(�A0�A8�D`h
8D0A(B BBBI�>(��P�>$��cK�E�D �D(�G0V
(J� D�E�B�FD(C ABBD����4?@��GF�D�D �\
DGKACBHT?X��[F�E�E �D(�C0�X
(D KEBKA(C BBB`�?l��N�B�E �D(�D0�Z
�(A� B�B�B�JI(C BBBF�����H0�����x@����O�E�E �E(�D0�D8�G@K
8P�0A�(B� B�B�B�ON8C0A(B BBBF������H@������P�@<��P�E�D �D(�G0n
(P� C�B�B�GD(C ABBD����l�@x���X�E�E �E(�D0�D8�G@C
8S�0A�(B� B�B�B�KL8C0A(B BBBH������<DA���SK�E�E �D(�G0�X�(C� B�B�B�T�A���W�E�E �D(�C0�Y
�(A� B�B�B�HI(C BBBF�����d�AP���F�B�B �B(�A0�A8�DP|
8J0A(B BBBOO
8C0A(B BBBE,DB���
Vm
Ev
BQ
APH,tB���aG�D�A �H�A�B�8�B����B�E�E �D(�D0�v
(A BBBGH�B���qB�E�E �E(�D0�A8�DPb
8A0A(B BBBJ4,C���A�A�D R
DACZ
AADHdCH��B�E�A �D(�D0}
(A ABBEN(F ABBP�C���K�B�B �D(�A0��
(F BBBCA(C BBBA�����<Dh��^A�A�G ^
DADI
LAJDDAHDD����F�B�B �B(�A0�A8�DPw
8D0A(B BBBJH�D,��f�F�A �D0J
 AABAD CABF���C0����D���CH�D��F�B�B �B(�A0�A8�DP

8A0A(B BBBAH<E��F�B�B �B(�A0�A8�DP
8A0A(B BBBA@�ET��%F�B�B �A(�A0�D@�
0A(A BBBA@�E@�F�B�B �A(�A0�D@�
0A(A BBBAF��Q�J,F��HKDF��(XF��QJ�A�G mD�A�\�F�F�B�A �A(�D0�
(D ABBBx
(D ABBGH
(D ABBGH�F(�B�B�A �A(�D0q
(D ABBDD(F ABB\0G|�<B�E�B �B(�D0�A8�F�v�M�Z�A�
8A0A(B BBBH��G\
�aT�E�E �E(�D0�G8�DP�
8C0A(B BBBF�
8A0A(B BBBAL
8F0A(B BBBAO������DP������$H8�)J�WG�L@HL�F�B�B �A(�A0��
(A BBBAY
(A BBBH�H
�8L�HH
�F�E�E �D(�D0�
(A BBBAY
(A BBBH4�H��*E�K�D �
DADY
DABH,I��F�B�B �B(�A0�A8�D`t
8A0A(B BBBHxI�lWmKH�I��]F�B�B �B(�A0�A8�DPa
8A0A(B BBBCL�I��F�B�A �A(�D0�
(D ABBFi
(D ABBF4Jh�8HJt��F�A�A �y
ABDY
ABD8�J��F�A�A �m
ABHY
ABD4�J��E�I�D U
DADY
DAB4�J��E�I�D q
DAHY
DAB80K��F�A�A ��
ABEK
ABBLlK��_F�B�A �A(�D0�
(D ABBII
(D ABBF�K��E�UH�K��&B�B�E �E(�D0�D8�DP�
8D0A(B BBBK$L��#8L��LL��8`L���M�I�C �l
ABHY
ABD�LP�E�W4�LT��E�I�D q
DAHY
DABL�L���F�E�A �C(�L0p
(D ABBDY
(D ABBF@M|�E�U(\M��IJ�D�G iAAH��L�M��)[�B�B �A(�A0�p(A BBBH�����H0������M���M��[N��TN(�T(Nt�T<N��T4PN �(Z�A�G �
AAEp��H ��X�N"�YO�B�A �A(�G0Y
(A ABBGH
(D� A�B�B�Ox����|�N$�_O�B�B �B(�A0�A8�G@
8A0A(B BBBBK������A@������D8A�0A�(B� B�B�B�@dO�%��N�A�G h
D�A�EB
A�A�D`���O�&�)J�XF� �O�&�^|
Aa
DcL�OD'�`t�A�A �y
�A�B�B����H ���H���X ���P8PT)�O�B�A �A(�D0(
(D� A�B�B�H�����A0����H�P+�6p�D�G �
AAHOAAG��H ��P��H ���P�+�'(�P,�PF�D�A �AABQ4,��,Q0,�F�B�B �B(�A0�A8�G��
8A0A(B BBBAS�N�U�A�v�Q�W�A�n�M�Q�B�N���I�e�B��QL3�4`�Qx3��g�B�A �D(�G0S����H0����b
(A� A�B�B�HX
(A ABBB<8R4��d�F�O �Z
ABJJ
CBAp���(xR�5�VO�A�G jCAK��T�R�5��E�A�D {
AAIK
DAHX
DAKH
AAFDAAH�R�6�F�B�B �B(�A0�A8�DPl
8D0A(B BBBAHHS�7�B�B�B �E(�D0�D8�GP]
8D0A(B BBBD\�S�:�F�B�A �A(�D0�
(D ABBFR
(F ABBAS
(D ABBEL�Sh<��F�B�B �A(�A0�:
(A BBBCO
(D BBBE\DT>�B�B�B �B(�A0�A8�D�e
8A0A(B BBBCT�M�U�A���TH?�v�B�E �E(�D0�D8�F`J
8A0A(B BBBD_
8A0A(B BBBAf
8F0A(B BBBAK������F`������\<U@C��F�B�A �A(�D0
(D ABBJ^
(D ABBI`
(D ABBA�U�C�#L�U�C�B�B�A �A(�F0�
(D ABBFL
(D ABBC`V�D�/y�A�D �G0\
 AABKT
 DABEU
 CABE����H0���PdVhF�[�F�G �G0a���H0���K
 AABIu
 G�A�B�I(�V4G�9O�G�G IG�C�P�VHG�De�A�G �_ABA���H ���m
ABHG
�D�B�KH8WDH��F�B�B �B(�A0�A8�D��
8A0A(B BBBDL�W�L�LF�B�A �A(�D0�
(D ABBAi
(D ABBFD�W�M��F�D�D �x
ABG_
ABFL
ABI8X`N�F�F�D �W
ABFL
ABA$XX�N�W�M
DS
EaG�$�X<O�W�M
DS
EaG�L�X�O��F�E�J �D(�D0Z
(D ABBH|
(D ABBC<�XTP�MZ�I�J �AAH��H ��O
AAGL8YdQ�F�B�B �B(�A0�A8�D�;
8A0A(B BBBI@�Y�V�E\�G�D �eABA���H ���{
ABJP�Y�W�7e�A�G �_ABA���H ���}
ABHK
�A�B�J@ Z�X�;N�D�G �
AABD
CAHDJ�A�HdZ�Y�E�A�D a
DAHO
DADF
DAANDA8�Z�Y�
F�A�A ��
ABBV
ABG$�Z�Z�iE�G W
AD|D�[[��B�B�B �B(�A0�A8�DPy
8D0A(B BBBDD
8C0A(B BBBHD
8A0A(B BBBJD
8G0A(B BBBL�[T_�4�[P_�F�A�A �
ABKkDBH�[�`��B�B�B �B(�A0�A8�D@~
8D0A(B BBBG8@\la�zB�B�A �A(�D0D
(D ABBI|\�c�4�\�c�qF�B�D �A(�G0S(D ABB�\d��\d�
4�\d�7F�A�A �
ABAKDB(]e�
<]e�'HQ
GF\] e�CXX
HF|]Pe�CXV
JF(�]�e�SJ�A�G tAAH��X�]�e��F�B�A �A(�D0v
(G DBBEV
(D ABBIF(D ABB|$^(f�F�E�B �B(�A0�A8�D@
8D0A(B BBBHh
8A0A(B BBBF�
8K0A(B BBBH �^Hh�NU�d
AFH� �^th�^a�h
AFH�L�^�h�CF�B�B �A(�A0��
(A BBBEA
(P BBBI4<_�i�gY�K�J R
J�H�NDAA4t_�i�yY�J�J b
N�A�JD
AABl�_0j�O�B�A �D(�G0M
(A ABBHQ
(A� A�B�B�ID(Q� A�B�B�V0����H`�j��F�B�B �B(�A0�A8�DP�
8A0A(B BBBCh`�k�|`�k�f(�`�k�]�D�K0iDAF���`pl�L�M
G4�`m��E�F�D O
DAEf
DAEa�m�+0(a�m�~X�I�G0bAAD��H0��\a n�"0pa<n�YJ�A�G j
D�A�GP���ahn�V8�a�n�f�C�D �d
ABDRABC���H�aHo�u�C�A �N
ABF`���H ���i���F ���@bp�SXd
DP`b\p�tbhp�@�btp�O�C�A ��
ABA�CBF���H ���0�b@r��O�A�D �x
ABAG���@c�r�nO�B�D �A(�F0�
(A ABBF�����Dct�&Xc4t�	lc0t��c<t�X�cHt�9O�B�A �D(�D0�
(A ABBF^
(D� A�B�B�IH�����c,u�d8u�(dTu�,dPu�+@dlu�VH b
F\d�u�1J�\�Hxd�u�oF�B�B �B(�A0�A8�DpL
8A0A(B BBBH\�d�w�F�E�B �B(�A0�A8�D�(�O�U�A��
8A0A(B BBBE\$e8~�@F�B�B �E(�A0�A8�G�m
8A0A(B BBBA!�D�U�A�\�e��XF�B�B �B(�A0�A8�D��
8A0A(B BBBKb�A�S�B��e��
�e��4f��F�M�A �]
ABDRAB$DfX��0E�D�D ]DAXlf`��~O�B�E �E(�A0�A8�DP9
8A�0A�(B� B�B�B�LM�������f���
d�f���F�B�B �B(�A0�A8�DP�
8A0A(B BBBH�
8C0A(B BBBDDg8��Xg4��Hlg0��?F�B�B �B(�A0�A8�DP�
8A0A(B BBBG�g$���g0��@�g<���X�K�G �D(�G0�
(A ABBAK����$hأ�
8hԣ�HLhУ�F�B�B �B(�A0�A8�DP�
8A0A(B BBBH�hD��HJ I�hH��HE IP�hL��X�B�B �B(�A0�A8�DP�
8A0A(B BBBB`������$i��JH0|
AL@i<��!q�B�E �E(�D0�D8�D`�8A0A(B BBBD�������i��JH0|
AH�iP���F�B�B �B(�A0�A8�D@�
8D0A(B BBBF�i��Tj��X�B�E �E(�D0�A8�GP�
8A0A(B BBBA�������dj8��xj4���j0��4�j<��bB�A�A �K
ABFFAB4�jt��bB�A�A �L
ABEFAB8k����F�J�D �A(�D0_
(D ABBGLkP��3MR
AFlkp��3MR
AF4�k���K�D�D �VABD���P ���4�k��K�D�D �[ABG���H ���(�k���cJ�A�G AAAK��((lĬ�cJ�A�G AAAK��4Tl��IF�A�A �m
ABHEAB<�l ��qK�B�A �A(�D0N(A ABBI����(�l`��9J�A�G ZD�A��lt��m��� m���4m���70Hmĭ�WE�A�G }
AADDAA0|m��WE�A�G ~
AACDAA0�m��wJ�D�D wAAE��H ��0�mh��wJ�D�D {AAA��H ��n���,n���M8@n���YP�E�D �D(�D0j(A ABBG����8|n ��YP�E�D �D(�D0k(A ABBF����<�nD��gP�D�D �rFBF���H ���ACB�nt��E�L0ox��LE�A�D n
DACFDA8Ho���aJ�A�G M
AAGgD�A��oȯ��oį�
�o���
�o����o����o���&HZp���&HZp԰�(,pа�9F�A�G _D�A�Xp��lp��HK�p���	�p���p��	�p���E�T(�p��A�N�S@}
AAGq��
 q��E�G b
FL @q|��WE�f
EV
Jdq���M t
G{l�q(��B�A�A �G���H�X�A�W�\�N�B�B�B�B�B�B�E�M�q
 AABB�q���0HM
Ar̹�@H M
K_0r��0HM
ALr��@H M
K_0lr ��B�A�D �G�d
 AABA0�r���vP�A�J �]
ABEp��� �r���E�V Y
AK�r���@H M
K_s���AM PG 4s��@H M
K_Ts��BH P
Hats8��5E�I
Bd8�sX���}A B(E0B8B@BHAPDXB`BhKpI�s��	�s��}�sT��^t���} t��^ 4tX��tE�I�_
AA0Xt���J�V Y
AFd
CIH�0�t���]E�D�D Q
DAEoDA(�t����A�U
Jd
D^
J0�t`��]E�D�D Q
DAEoDA< u����A�F�Q |
KAHn
DAE}DA0`u<��]E�D�D Q
DAEoDA�uh��WA�`
ObL�u���SB�E�E �D(�A0�N
(A BBBJu
(A BBBDv���Vv��V,vP���T�Dv��eTP\v`��GH\
\4xv���E�H�D �
DAGb
DAAH�v\��kF�B�E �B(�D0�A8�D@j
8D0A(B BBBA4�v���E�I�D �
DAJk
DAH44wX��E�I�D �
DAGk
DAHlw0��iJ�V�0�w���@E�C�G \
AACDFA0�w���cE�C�G x
AAGNCA0�w���cE�D�G y
AAENCA$x��#8x$��#Lx@��AK�kJ�(hxt��jF�A�A �^AB\�x���F�B�A �A(�D0�
(D ABBKT
(F ABBAR
(D ABBE�xx��9K�iD�,y���;K�D�D �[ABG���,@y���;K�D�D �\ABF���py���#(�y���9E�D�D Y
DAE(�y���9E�D�D Y
DAE,�y���F�A�C �s
ABH8z����F�A�A ��
ABAW
ABFHzt��FdSH`z���LF�B�B �B(�A0�A8�D@
8D0A(B BBBDX�z���F�B�B �B(�A0�A8�G��
8A0A(B BBBEg�K�d�F�H{��F�B�B �B(�A0�A8�Dp�
8A0A(B BBBK4T{x��^V�D�J P
AAJDG�A�D�{���fF�A�A ��
ABAp
ABEj
ABK8�{���F�A�A ��
ABDH
CBA0|<��TA�A�G o
DACMDA,D|h���F�A�A �_
ABFt|(��H�|$��8F�B�B �B(�D0�A8�G`+
8D0A(B BBBH4�|��JF�D�D �`
ABGJABh}0���B�B�B �A(�A0�G�f
0A(A BBBCj�M�b�F�Z�G�P�S�L�x}����}���(�}���4E�D�G��
AAH(�}���F�A�A �a
ABD�}$��~ ��4 ~��F�D�D �[
ABLr
ABCLX~t��F�E�D �D(�D0g
(D ABBIq
(A ABBBp�~D���F�E�D �A(�G@W
(A ABBDi
(C ABBGD
(G ABBH[(A ABB$���0A�D�D ^FA$D���6E�A�D cFADl���@O�A�A �{
�D�B�Ng�A�B�N �������(E�b����(E�b���y�x
�OA�p��ri�x
�OA,����1@����T����E�u
F`t�h��F�E�D �D(�D0�
(D ABBHE
(D ABBJD
(D ABBC؀���`����F�E�D �D(�D0�
(D ABBHE
(D ABBJD
(D ABBCdP���
F�B�B �E(�A0�D8�DP
8D0A(B BBBC�
8I0A(B BBBJ�����\́���VF�E�E �D(�A0��
(D BBBGs
(D BBBCk(D BBB,����@����:TeX����fl�P��O�����n�����a��@�������rԂ(��J��J�4���;DM K(D0B8B@BHAPDXB`BhBpI((�$��hA�A�D0j
AAFT�h��^L�{
IHp����F�B�B �B(�A0�A8�D`�
8A0A(B BBBA0����GE�G�D i
AAEDAA(���N�A�G �D�A������80�l���O�A�D �G0�
 AABD����8l� ��L�E�D �A(�D@�
(A ABBC(��t��A�D�G0�
AAH(Ԅ(�A�A�D0y
AAG,��L�K�D ��
CBF,0�l�VL�N�D ��
ABE0`���B�A�A �DP6
 AABF$����LE�A�D |DA�� 
�	4Ѕ
�bF�A�A �p
ABE^ABH�T
�F�B�B �B(�A0�A8�D`
8A0A(B BBBD0T���F�A�A �D@�
 AABGp�����F�B�B �A(�A0�x
(D BBBB�
(D BBBGT
(D BBBAt
(D BBBCH���F�B�B �B(�A0�A8�DP�
8D0A(B BBBE4H�D�
E�A�D n
DAK�
DAE(���E�A�D�M
AAG(����QF�A�G {D�A�؇�����������d(���DgQ A(D0B8B@BHAPDXB`BhBpID
AmF B(B0B8B@BHBPBXB`ID
H(��L�A�D�G K
CAEX����DaA A(B0B8B@BHAPBXN`IhApLD
F`
A H(B0B8B@BHBPED�4�D`A B(B0A8G@BHAPDXH`EhBpBxA�LJh`�|�B�E�B �B(�A0�D8�D��H�W�C�X
8A0A(B BBBC�
�H�TD̉ #�D`A B(B0A8G@BHAPDXH`EhBpBxA�LJD�h#�D`A B(B0A8G@BHHPAXD`EhBpBxA�LJ<\��#��K�A�A ��
�A�B�Dp���H �����`$�	8��\$�fG�A�A �}
�K�B�MAABA��� ��$�A�r
MF ��%��i�g
PF4��'�0H��'�WE�A�D z
DAGDAA|�(�1_Q��((�b4���(�E�I�D J
DAGm
DAF��(�<L�()��B�I�L �D(�D0��
(A BBBBT
(D BBBJ8D��*�B�G�A �A(�G@J
(A ABBF8���+�B�G�A �A(�G@D
(A ABBD@���+�[B�B�G �A(�A0�G@2
0A(A BBBA8�-�B�G�A �A(�G@D
(A ABBD<�p-�nP��-�OH0A
ATl�.�B�B�A �A(�D0F8N@X8A0I
(C ABBHD(C CBBčH.�`L�{
I$��.�AE�A�G mDA8��.�F�E�D �C(�D@�
(A ABBKD��0�HX��0�wF�B�B �B(�A0�A8�DPv
8D0A(B BBBK���2�(���2��E�I�D �
DABP�X3�nO�E�A �A(�G0
(D� A�B�B�Bb(L� F�B�B�(8�t4�aF�A�G GD�A�d��4�x��4����4�d���4�LO�B�B �E(�D0�D8�J@�
8A0A(B BBBH�������H@������T��7�rB�A�A �G� L�'�
 AABHd�'I�'k�'A�'[�'L�'U�'C�'$`��8�up�WI�P�FJ�p��9��B�B�B �B(�A0�A8�G� L�@L�O
8A0A(B BBBE��OI�O[�OA�O=
�OL�OJh���>�jF�B�B �B(�A0�A8�Dp�
8A0A(B BBBGdxK�WxAp}xM�UxAph��C�|��C�X���C�W�D�G 
K�A�KAK�A�S ��D
L�F�J|K�A���D���D�)(��D�XE�I�D m
DAD(@�E�IJ�A�G kD�A�Dl�@E�iK�A�A ��
�A�B�Fo
�A�B�Fx�����hF�	<ȒdF�dE�A�D n
DACK
DAHFDA(��F��E�I�D �
DAH|4�HG�HF�B�B �B(�A0�A8�D��
8A0A(B BBBB$�M�Z�B�g�M�W�D�m�M�Z�A���M�ȓM�8ܓM�tS�K�G k��H ��~
K�A�N�TO�,�`O�)H@�|O�TF�B�B �B(�A0�A8�D@�
8D0A(B BBBK���P����P�0���P�S�K�G YK�A�N ���Q���Q�)T�,Q��F�B�B �B(�A0�A8�D@�
8D0A(B BBBD�HNPSHA@h��R�0|��R�X�A�A �h
ABKS��� ��<S�CJ�g
GCE��ԕhS��O�B�B �E(�A0�A8�DPj
8F0A(B BBBI�XP`YXBPeXI`YXAPNXM`]XAP|XM`^XBPI������PP������YXM`^XAPLx��V�I�I�E �D(�A0��
(A BBBH�
(A BBBKȖdX�8ܖ`X��F�B�A �A(�DP�
(A ABBA�Y�#0,�0Y��F�A�A �D0�
 AABE`��Y�#Tt��Y�=B�B�B �B(�A0�A8�D@g
8D0A(B BBBF�HMPPHA@8̗�Z�F�B�A �A(�D@�
(A ABBBL�t[�F�B�B �B(�A0�A8�G��
8A0A(B BBBI<X��]�O�D�D �s
ABS]
CBF`�����$^�+��@^�#|��\^�JB�B�B �B(�A0�D8�G`k
8D0A(B BBBA�hJp]hA`Q
hJpRS
hJpNDhJp]hA`O
hJpNX@�,`�`�G�A ��ABA���H ���k(N0R(A P(L0^(A y�H�G�@���a�^�G�D �VABF���P ���i(M0S(C ��a�7Z�\@�� b�~J�A�G g
AAEN
AAHZFAA��@�\b�T�hb�h�tb�|��b����b�
���b�\���b�F�B�E �B(�A0�A8�D�q�N�[�A�r
8A0A(B BBBD@�Dd�*F�B�B �A(�D0�D��
0A(A BBBD�\�0e��F�B�A �A(�D@�HCP_HA@^
(A ABBDKHCP\HB@pHMPYHB@XHMPVHA@THMPUHA@x
HFPP��|g�oF�B�B �B(�A0�A8�DP�
8D0A(B BBBH�XI`WXBP\XK`ZXFPTXM`YXAPy
XL`EnXI`ZXBPIXL`�l�`j��F�B�B �B(�A0�A8�D��
8A0A(B BBBDp�E�a�A�U�Q�T�A�V�D�d�B���D�d�A�M�Q�K�C�^�E�b�B�p�E�a�A�0��o�F�B�B �B(�A0�A8�G��L�Q�A���L�Q�A�]
8A0A(B BBBD��K�Q�A���I�T�A���I�U�A�G
�H�TD
�H�TV�K�Q�B�Y�K�R�B�h
�H�LD
�L�ED
�L�ED
�H�LH
�H�L�@�,u�F�B�B �B(�A0�A8�D`�hZpIhB`�
8A0A(B BBBFdhgpKhD`�hWpGhB`ZhWpGhA`hUpGhB`4�y�xU FCDOXPHU FCH�tz�9Z�A�D0rAAE��H0��p��H0��|8X@F8A0TT�h{�
F�B�B �B(�A0�A8�D�b�H�]�A�\
8A0A(B BBBH\
�H�LD
�H�LD
�H�T�
�H�Tj
�H�ND
�H�L��M�N�A�N
�H�Tf
�R�P��L�M�B�R�L�N�B�L
�H�Tt
�J�LB
�J�P��M�X�A��
�J�PO�J�Z�A�n�O�R�H�
�N�I\�� ��F�B�B �B(�A0�C8�D�
8A0A(B BBBCH�]�F�A�H�`��CF�B�B �B(�A0�A8�D@n
8C0A(B BBBD8X�d��tJ�A�G {AAA��H ��WCA<�����X�B�B �A(�D0��(A BBBF�����4ԡ(���X�A�D ��ABD���H ���`�Ї��O�B�D �A(�G0�
(A ABBIn
(C ABBJP����H0����Tp�<��>o�E�D �D(�G0s
(A ABBD@����H0����p����PȢ$��_F�H�B �B(�A0�A8�G��
8A0A(B BBBA�0��0�,��D�(��X�$��<l� ���F�B�A �A(�G��
(A ABBJ$�����A�A�D �AA(ԣ(��SB�K�C �wIBl�\��A�mA A(D0B8B@BHDPEXB`BhApRA
EBK A(D0B8B@BHDPDXB`BhApKA$p����KA�M�L nAA8�����B�E�A �A(�D��
(A ABBH Ԥ���A�a
Fb
F(�����B�D�K �W
ABE\$�ȑ�B�B�E �I(�G0�C8�DPK
8C0A(B BBBIT8F0A(B BBB4����B�D�A ��
ABBDABd������qLM I(D0B8B@BHAPDXB`BhBpID[OL B(B0B8B@BHBPBXB`ID($����A�D�G p
AAB(P����A�D�G �
AAFH|�0��oZ�A�K �q
ABF\
�H�B�B��H�B�8ȦT��P�D�A �e
CBAhFBH����ؖ�D��
E@ ����K�A�A �a
ABG��G�P�R ���0d���A�D�Q O
AAIDHA@��D���a�H�G �aFBG���V ����
ABA|ܧ���B�B�B �B(�A0�A8�DP�
8A0A(B BBBCJ
8F0A(B BBBGM
8F0A(B BBBA$\�@��mA�A�G aAAl�����A�_Z A(D0A8E@BHBPBXB`BhBpPA
FDL E(D0A8D@BHBPBXB`BhBpIA`����YB�E�B �B(�A0�A8�D@�
8C0A(B BBBB^
8A0A(E BBBEPX����<B�B�A �D(�J�f
(A ABBA��U�E�J�K�H������B�E�B �B(�A0�A8�DP�
8A0A(B BBBD@��$���B�A�D �r
DBIQ
CBAABd<�Ц�hB�B�E �B(�A0�A8�DP
8A0A(B BBBG
8A0A(B BBBBL��ت�B�B�B �B(�A0�A8�J��
8A0A(B BBBHH�(��5B�B�B �B(�A0�A8�D�B
8A0A(B BBBFH@���UB�B�B �B(�A0�A8�DpD
8A0A(B BBBDL��0��=B�B�B �B(�A0�A8�J��
8A0A(B BBBDܫ ��D���xF�B�B �B(�A0�A8�D@X8D0A(B BBBL8�T��B�B�B �A(�A0�r
(A BBBG�
(C BBBH8��$��K�D�D �T
CBDAFBG���8Ĭx��fK�D�D �j
FBKACBJ���<����rV�H�D �oCBJ���H ���AFB4@����_F�K�H �r
AFFACBx���KL��P���F�E�B �B(�A0�A8�D�s
8A0A(B BBBFLܭ���F�B�B �B(�A0�A8�D�1
8A0A(B BBBC8,�P��@M�I�D ��
ABB{
ABBh�T��+(|�p��F�A�A �i
ABDP��T���E�D�D V
CAI�
CAE�
CAHd
CAHL������B�J�B �B(�A0�A8�F�g
8A0A(B BBBGHL�p��WB�B�B �B(�A0�A8�G`i
8A0A(B BBBD(�����A�A�D@�
AAF@��	B�B�B �A(�A0�G`�
0A(A BBBEL����F�B�B �B(�A0�A8�G��
8A0A(B BBBFX���(l���E�A�G0E
AAD�����	8������F�G�A �A(�D0�
(D ABBD4�D��F�A�A �h
ABESDBL ����F�E�B �B(�A0�A8�D�b
8A0A(B BBBGHp���5F�E�E �E(�D0�A8�DP�
8D0A(B BBBEL����=F�E�B �D(�D0��
(D BBBBS
(D BBBC���
L ���(F�B�B �A(�A0�y
(A BBBDv
(A BBBC8p���F�E�D �D(�G0J
(D ABBC��	�
��	�4Բ	�kO�A�D x
FAEDCAH�� �P	�GO�TM�P�Fh0�|	�X�E�D �D(�D0h
(A ABBId
(F ABBAD(F ABBA����P0����P��
��O�A�C �S
ABGR
�F�E�Kl
FBDY�D�E�4��
�N�A�G l
AADX��H ��(��
�r<<�`��B�B�E �F(�D0��
(D BBBEP|��sK�E�D �D(�G0`
(J� D�E�B�LD(C ABBD����4д<�GF�D�D �Y
DLIACBH�T�F�E�E �D(�D0��
(A BBBKA(C BBB`T�(�N�B�E �D(�D0�Z
�(A� B�B�B�JI(C BBBF�����H0�����x�����O�E�E �E(�D0�D8�G@K
8P�0A�(B� B�B�B�ON8C0A(B BBBF������H@������P4���P�E�D �D(�G0n
(P� C�B�B�GD(C ABBD����l��4��X�E�E �E(�D0�D8�G@C
8S�0A�(B� B�B�B�KL8C0A(B BBBH������<����SK�E�E �D(�G0�X�(C� B�B�B�T8���W�E�E �D(�C0�Q
�(A� B�B�B�HI(C BBBF�����`����F�B�B �B(�A0�A8�DP|
8J0A(B BBBOO
8C0A(B BBBEd���O�B�B �B(�A0�A8�D@{
8A0A(B BBBHs������C@������L\����F�B�B �B(�A0�A8�G�*
8A0A(B BBBA0����QE�K�K b
FADDCAt����G�B�K �D(�G0R(A ABBI����H0����J
(D� A�B�B�E�
(K� A�B�B�EHX�4�iF�B�E �B(�D0�A8�G`
8A0A(B BBBA`��X"��F�E�E �E(�D0�A8�G@G
8D0A(B BBBKt
8C0A(B BBBH��"�<�#�F�B�B �A(�A0��
(A BBBE\��#�(p��#�FJ�I�G VAAF��`��$�F�B�E �E(�D0�A8�G@�
8A0A(B BBBIS
8A0A(B BBBK�<%��8%�H(�D%�F�E�A �A(�G0_
(D ABBLd(F ABBTt��%�X�B�A �D(�G0P
(D� A�B�B�It
(C ABBDp����\̻�&�X�B�E �D(�D0�S
�(D� B�B�B�Lq
(C BBBF@�����,�`'�4D�X'�?DP C(D0B8B@BHBPBXB`BhApT4|�`'�?DP C(D0B8B@BHBPBXB`BhApT��h'�A\ȼ�'��J�L�E �D(�G0v
(A� A�B�B�NT(A ABBF����A0����8(�4(��Y�P�G p��` ���
I�A�H4d��)�>DN K(F0B8B@BHBPBXB`BhApK���)�9`��,�eA�D�G o
FANI
AAEK
TAHM
IHJQ
KHLkTA(�-�|A�D�G K
AAG�@�l.�zK�B�D �A(�D0
(A ABBE^
(D� A�B�B�Ix
(A ABBBa
(M� H�B�B�FK(M� H�B�B�<̾`/��Z�F�J z
L�H�HD
AAJ`��H��/�B�D�A ��
ABMB
ABK.
DBL4X��4�PB�A�A �G� L�'u
 AABHH���6�IA�D�G �
GAGV
TAEd
AAJQKHܿ�7�0��7�A�D�D C
AABWFML$�(8�7B�D�A �|
ABJ�
ABKJ
ABKSFI�t�9�B�B�B �A(�A0�C
(A BBBFZ
(A BBBGg
(A BBBJ{
(A BBBFK
(A BBBNg
(A BBBJ�
(A BBBJk
(F BBBI(8�tG�yF�D�G {AAB��Ld��G�F�B�A �D(�D0�
(A ABBKT
(A ABBF��xH�K��
A4�I�F�A�A �G�
 AABA(��J��E�A�G��
AAA4�HK�K��
AP��K�K��
A(l��L��E�A�J��
AAA��DM��K��
A��N��K��
A(���N�<E�A�J��
AAA���O��K��
A��P�g8,��P�O�D�J c��h ���
I�A�Ih�tS�l|��S�gE�H�G J
FAK^
FAK^
FAK^
FAK^
FAK^
FAKDAA(���T�Q�h
�GV�R�T���T�4,��T�J�D�D G
CACP��H ��Dd�8U�J�D�G @
CAG^CAF��H ��ICA$���U�oMk
HKMK
E$���U�J�t
B`�H�0��PV�X�D�A �j
ABFb���@0��V��a�B�D �D(�G0B
(A ABBFP����8t�xW�N�A�G D
AADb
AADn��(���W��E�A�G��
AAFT���X�X�B�I �E(�D0�C8�G@i
8C0A(B BBBE�������,4��Y�gO�D�G 
AAAG��\d�(Z�OF�B�J �E(�D0�A8�G�&�O�
W�A�n
8A0A(B BBBH��p�H���u�B�B�B �B(�A0�A8�J@�
8D0A(B BBBK$��v�%8�w�L��w�3`��w�=t�x����x����y�B8���y�B�B�D �D(�D0t
(A ABBF ��0{�y�[
LCE�@��{�k[�D�G }
AAKV
AAH���C ��T��|�-8h�}�bJ��
EX
HU
KX�C�U
CD��8~��@���~�#N�A�D G
AADD
CAH�CAK��H����VB�F�B �B(�A0�A8�DH�
8A0A(B BBBH8H���B�E�A �A(�D0j
(D ABBH��X��aF�S������r����UH��d��B�E�F �J(�A0�A8�D`�
8A0A(B BBBB4���;DM K(D0B8B@BHAPDXB`BhBpI8L� ���B�B�A �D(�G��
(A ABBF����� H������B�E�E �E(�D0�A8�DP�
8A0A(B BBBJ,��d���B�A�D �a
ABE(�$��A�F�D l
DADXD����"F�B�D �C(�G0�
(D ABBKP
(C ABBAP(C ABB,��|��B�A�A �x
ABA`��܈�b�D�B �B(�A0�A8�F��8A0A(B BBBF������H�������t4����?b�B�B �B(�A0�A8�D@�8F0A(B BBBD������H@������f
8A0A(B BBBH8��P��B�B�B �D(�A0�X
(D BBBC����NH�p
H�H��!L�d��qF�B�B �B(�A0�A8�G�9
8A0A(B BBBHh����8|���������1�����F�B�A �D(�N0�
(H ABBIK8H@NHKPDXD`BhApDxB�B�B�I0D
(A ABBDK8I@HHBPAXB`BhApBxB�B�B�S0D
(A ABBGK8L@HHBPBXB`BhBpBxB�B�B� �����WiPfRL��(��aB�B�B �B(�A0�D8�G��
8A0A(B BBBF��H��OtZ����4 �|��QF�C�G O
AAG]AAI��LX����F�B�B �B(�A0�A8�G�
8A0A(B BBBHH����B�E�B �B(�D0�D8�J��
8A0A(B BBBA0��H��F�A�A �D��
 AABE,(���N�G s
AGY
CD�X���qT\0p�L��S�D�G [AAA��S ����ج�q��D����� ��(��,��a^�A�G mD�A�4�p��J�D�D \
D�A�EQA�A�`D�ذ��F�B�B �E(�D0�A8�DP�
8A0A(B BBBI�
8C0A(B BBBA4��d��jB�E�D �A(�D0S(A ABB$�����hA�D�D \AA8����F�H�I �j
ABDf
ABG8D�����V�D�D �G
FBCACBJ���L��,��w�E�D �D(�D0�
(A ABBEv����F0����P��l��WU�A�D �b
ABAjABC���C ���t���F ���H$�x��OB�B�B �B(�A0�A8�D@�
8D0A(B BBBHDp�|��(X�A�D �o
ABAb
ABKx���F ���H��d��F�B�B �B(�D0�A8�DP�
8D0A(B BBBE8�(���c�A�D n
AAAW
AAFX��<@�̺�Q�D�D �L0S AABD���H0���4��,��N�D�D W
D�A�FQA�A�(�����vE�I�D I
DAH<����R�D�G gD�A�W ��T
DAGd$����!B�B�E �E(�D0�G8�D`
8A0A(B BBBE~
8A0A(B BBBH(�����vE�I�D M
DADX����F�B�A �A(�D0`
(D ABBID
(D DBBHD(C ABB �(��hE�L w
AG8�t��KL����D`����F�B�B �B(�A0�D8�D@�8D0A(B BBBD��4��F�B�B �E(�A0�F8�D@�8D0A(B BBBL�����z�F�D �D(�F0o
(F ABBHD(C ABBD����8@����F�B�B �D(�A0��(D BBB$|�`��&E�D�G IGA��h��4(�����oi�D�G `D�A�8�����F�B�B �D(�A0��(D BBB$ �L��&E�D�G IGAH�T��4(\����oi�D�G `D�A�4�����~O�G0R
A�GD
A�KsFA���������D����sP�D�D �^
ABGJ
�G�B�MACBJ���40�L��[J�D�G `
AAIDI�A�h�t��)J�WG�4�����W�G0R
H�HD
H�LsFA����������������1J�\J�H���a�D�D �q
�A�B�KK
�A�B�JZFBA���lL�����X�B�K �G(�D0Y
(D� A�B�B�ND(H ABBG����H0����P(A ABB�����1J�bD�����pH I
G��h��|����re�S�$�8��re�S� @����hE�K }
ABd����zx�T��ZV�U������RV�R�4�����E�I�D G
DABT
DAG$��4��R�g�W�h
H ����hE�L w
AG4���{(H�t��nE�I�D B
DAG$t����R�h�V�j
F��@��	 ��<��hE�L w
AG\�����F�A�A �n
ABGQ
ABDd
ABAZ
ABCL
ABA4�8��v�R�DP����sK�D�D �^
ABD]
�A�E�EACBJ��������3H����N�A�G x
A�A�HT
D�A�G[A�A�S ��D�����!O�B�A �D(�D0�
(D� A�B�B�E`����T@�l��T�A�A �k
�D�B�Ii
�A�B�L0ABE���P ���4����E�A�D }
DADc
DAH4�����E�A�D |
DAEc
DAH0����a�A�G zD�A�P ��P<����)N�A�G M
I�A�Kw
I�A�GD
I�A�J�D�A�P�����N�A�G M
I�A�Kw
I�A�GD
I�A�JpD�A�X��h���E�A�G V
IAK|
DAGD
IAJ�
AAJ\
DAO@����	T����$4h����
E�G�R
AA��L�f�A������0HN
JKH�����F�B�B �B(�A0�A8�DP�
8A0A(B BBBF����4W�L�(����Ny�M�PD�����G�A�D �X�D�B�F ���A
DBI]
�G�B�J���t��d�B�B �B(�A0�A8�G@b8D�0A�(B� B�B�B�n@������D
8A0A(B BBBB�8G�0A�(B� B�B�B�W@������D8I�0A�(B� B�B�B�4T�x��J�n
�HF�R�]
�KF
�JI�d�����_E�A�G \
AAED
AAJ`
DAKa
DAJD
IAJP
GAHd�����2X�B�D �D(�D0�
(G� A�B�B�EH
(D� A�B�B�O\(I� A�B�B�D\����dg�A�A ���A�B�t ���X
�A�B�MD�����gg�A�A ���A�B�t ���`
�A�B�EL����Ag�B�A �A(�G0�(D� A�B�B�^0����p����P<���Qg�B�B �A(�A0���(A� B�B�B�U0�����p�����8����jN�R
�H�
Fh
�HI
�GP�A�t��@��Qg�B�B �B(�A0�D8�D`b
8D�0A�(B� B�B�B�K@������P`������@������`D�(��|d�B�B �A(�A0��
�(A� E�B�B�Me�(A� B�B�B�t0�������D��y�o�(�����zF�A�D �n
ABDH��<���N�A�G M
H�A�LD
DAG]
D�A�F`��<����P����>H mh���#MN������(��A�jE�(�����rF�A�D �f
ABDH����2F�B�B �B(�A0�A8�D`-
8A0A(B BBBGX(����\�B�A �A(�G0}(G� A�B�B�p0����D(I� A�B�B���X��[�_
Fa�(�����EJ�D�D cDAF�������YJ�C�,��@��M�I�D �]
ABF(����E�D�D �
DAIH�T��)\�p��1S�R�Lx�����}�A�H W
AAAL��A ��D
CAADC�A�0����QA�D�G ]
AAEWDAP��@���F�A�H 
AAHL��L ��D
F�A�EQCAA��PP����J�C�D0�
AAJ�
AAL���L0��\��E0����x��	(��t��lJ�D q
AHOAH�d�����B�B�B �B(�A0�A8�Dp�
8C0A(B BBBDH
8A0A(B BBBF<L���b�A�A �G0o D�A�B�W0��� �����LJ�D lAE������y�oH�(��`��E�D�D0s
AAF(����IJ�D�D aDAH��|$���4O�B�A �A(�G0[
(D� A�B�B�JB
(A� A�B�B�HI
(D� A�B�B�FX����H0����H�����xB�B�B �B(�A0�A8�D`H
8D0A(B BBBE8�����B�B�D �D(�G0
(D ABBHt,�����Z�B�A �A(�G@E
(J� A�B�B�Gp����H@����d
(A ABBFC
(A ABBG\������F�E�A �A(�D0s
(D ABBCd
(D ABBCe
(D ABBB������V�B�E �E(�D0�A8�GPb������HP������e
8J�0A�(B� B�B�B�HH
8G�0D�(B� B�B�B�MM
8C0A(B BBBG�
8A0A(B BBBE���`��<Z�B�E �B(�D0�A8�GP�8A0A(B BBBC������HP������h
8D�0A�(B� B�B�B�K<
8J�0D�(B� B�B�B�EX���qQ�d
Ka�0x�d���E�A�G0N
AACdDA0������E�A�G0N
AACdDA0�����E�A�G0N
AACdDA0�x���E�A�G0N
AACdDA<H�����E�A�G0a
AAHe
DANYAAL��d���R�E�C �G0U D�A�B�k0���f
 I�A�B�F ������c�q
Da� ������c�q
Da�( �|
��7c��
Fe�s�N L����qL�Y
KvJ��p����B�Q�B �B(�A0�A8�GpnxM�B�B�VpPx`�A�B�Ipi
8A0A(B BBBA�x[�B�B�IpJx[�A�B�Ip�x^�B�B�Ip�xZ�B�B�Lp�xO�M�B�Ip�x^�B�B�IpM
xM�B�B�Etl���fB�G�B �D(�A0�8K@BHBPV0A
(A BBBAX8Y@DHBPM0h8P@BHBPM0x8K@BHBPH��� ���B�G�A �A(�G0�8V@BHBPL0T
(A ABBAH0�<"���B�E�A �A(�D0g
(A ABBA�8U@BHBPM0H|��#��QB�G�B �A(�A0��8V@BHBPL0K(A BBBD���$���B�J�A �A(�D0�8U@BHBPM0\(A ABB��%��*A�b
EA80��%��UB�I�A ��(U0B8B@M }ABhl�'���B�B�B �A(�A0��8M@JHBPI0M
(A BBBA}8V@BHBPL0s(F BBBT���(���L�D�D ��(M0G8B@I r
ABEA
IBED(M0G8B@I �0��)��	B�G�E �B(�A0�A8�DP'X^`BhBpIPD
8A0A(B BBBAN
8D0A(B BBBBYXL`EhApNP�
8I0A(B BBBEH��l2��eA�F�G �
AAAY(^0B8B@I 
(^0B8B@I <��4���O�a�H�Y
GL
LD
DL
Tj
FC\� 5�����jE�`x��5���F�D�D �G0�
 AABB_
 AABEM
 AABGd
 GABJt� 7��K�B�E �B(�A0�A8�D��
8A0A(B BBBFp8I�0A�(B� B�B�B�N��������T��9��'B�E�E �E(�A0�D8�G@GH[PXHA@Q
8A0A(B BBBED
8P0A(B BBBKd
8D0A(B BBBOl�`:���
B�B�E �B(�A0�A8�G�i
8C0A(B BBBG&�K�R�B�W�Q�K�B�HL��G��B�B�B �B(�A0�A8�D`�
8A0A(B BBBJH���N���B�B�B �B(�A0�A8�D`�
8A0A(B BBBBH��]���B�B�B �B(�A0�A8�DP�
8C0A(B BBBF00�lb��*B�A�A �D0�
 AABDpd�hd���B�B�B �B(�A0�A8�DP�
8D0A(B BBBG�XQ`JhBpBxB�E�A�D�B�IP`��e��MF�B�B �D(�D0�Q
(A BBBF�
(A BBBF}
(A BBBD<��f��P��f��HH z
Al�g��H��g��N�A�G k
F�A�H�AAJ��H ��DI�A�l��g��!F�B�A �A(�D0D
(D ABBED
(C DBBAO8Q@FHBPBXB`EhApDxB�I0<��h��)4P��h��KJ�D�J M
G�A�KDCAH�����h��	���h��uE�V(��$k���E�I�D �
DAH4��k��;DM K(D0B8B@BHAPDXB`BhBpI���k��B�E�E �A(�C0��
(H IBBGD8K@BHBPBXB`BhBpBxB�B�A�S0A
(A BBBKD8H@BHBPAXB`AhBpBxB�B�A�,��Pl���B�A�D ��
ABC��m��	H��m���F�B�B �B(�A0�D8�G`n
8D0A(B BBBEL��t��I8`��t��IDSL G(D0B8B@BHAPDXB`BhBpI8���t��CDMJ A(G0B8B@BHBPGXB`BhApK(�u��QF�A�G zD�A�4�8u��^B�D�D �X
ABKfAB\<�`u�� P�B�A �A(�D0`(A ABBB����H0�����
(G� H�G�B�EH�� v���B�B�B �B(�A0�A8�D@l
8D0A(B BBBI�tv��C(���v���E�A�D h
DAI,(�$w��!O�A�A ��A�B�X�$x��Ll�0x���#B�B�B �B(�A0�C8�G�
8A0A(B BBBG$zRx��������,��
8��d����F�B�A �A(�D0�
(C ABBE44�؛��AJ�D�F N
I�A�EDFAA��l������,�����F�A�A �q
ABD�H��� �D���Ka�V
IFA�0��p���J�A�G �
D�A�JP��0L���;F\
FP0Pl���B�K�D �D@�
 AABHH�X���rB�B�B �B(�A0�A8�GP
8A0A(B BBBF4������B�A�A �G� I� �
 AABCL4����T�E�D �D(�D0@
(D ADBHK(A CBBA����DX����UB�F�B �D(�A0�J�]
0A(A BBBBH������B�B�B �B(�A0�A8�DP�
8A0A(B BBBE8�0����B�B�A �I(�D0R
(D ABBC(ԧ��KTb(@����E��
MZ
FA
GRl�����tG
EP�D���UO�B�A �A(�G0�
(A ABBIo
(D ABBHq�����P�����\����F�B�B �B(�A0�A8�D���N�F�C�U�^�P�T�A�`
8D0A(B BBBE��H�_�A��
�H�J�h���=HbI I�����HB O�����"8�����%F�B�A �A(�DP�
(A ABBD0�����F�A�A �D@�
 AABFDh���Xt���l�������������������`�����LB�B�B �A(�D0��
(D BBBEA
(A BBBHO
(A BBBJ8 �����B�A�D ��
CBF�
WBF\ ���wHn8t�����F�E�E �K(�D0��(A IIB,�,����F�A�A ��
ABD(����E��
MZ
FA
GR�����T�
E8(T����M�A�I ��
ABFT
ABA0d����N�A�G w
A�A�IH�������(�����E�A�G��
AAI �t����E�G�n
AET���k
F�B�B �A(�A0�G�C
0A(A BBBB��N�T�A�4T��rF�D�C �E
ABKNAB(�`��$E�A�G��
AAI(�d��E�A�G��
AAD|�X��JF�B�A �A(�G���K�M�A��
(A ABBB��P�F�F�F�F�Q��H�]�A�Ld(���F�B�B �B(�A0�A8�G�*
8A0A(B BBBGl�h���F�B�B �B(�A0�A8�G� L�%j
8A0A(B BBBKK�%H�%A�%I�%E�%A�%_�%4$	����F�A�A �G�L
 AABAP\	p��F�B�B �B(�A0�A8�G� L�"�
8A0A(B BBBD4�	<�|E�A�D t
CAFN
CAF�	��oE�i
��_J�NA�4$
�`�I�J w
AADHAAA��4\
��;DM K(D0B8B@BHAPDXB`BhBpIx�
���B�B�E �B(�A0�A8�DP
8C0A(B BBBC`
8A0A(B BBBFf
8A0A(B BBBA<,�=DF B(B0A8G@BHAPDXH`GhBpBxA�K0P,��B�A�A �G��
 AABE8����I�D�H �L
ABDR
ABC(�<��A�D�J��
AAD ���A�V��
AC��3IV
AH`0��mG�B�I �E(�D0�D8�GP[
8A0A(B BBBEX������HP������8���lZ�K�G T��H ��V
I�A�H,���H�A�A �n
ABE
��(
��YJ�D�D xD�A�$@
���J��
E]
CG�Hh
��QB�E�E �E(�D0�H8�DP�
8D0A(B BBBFx�
��`B�B�B �B(�A0�D8�G`
8D0A(B BBBFXhLpZhA`MhNp\hD`RhNpThB`lhNpXhB`�0���K�B�B �E(�D0�D8�G`\
8A0A(B BBBGphMp\hB`ahMp\hB`a������H`������fhMp[hA`hhMpThA`NhMp[hA`]hMp\hB`]hMpXhB`]hMp\hB`]hMp[hA`^hNpUhA`H���K�A�D �J0~
 AABD~ AABF���H0���H\ ����T�A�D �s
ABAQ
ABDq
CBAI���H������B�B�B �B(�A0�A8�D��
8A0A(B BBBA����:Du(���aJ�D�D JA�A� 8D���oE�D t
AB8\����WF�E�A �A(�D0�
(D ABBA�������V�B�B �B(�A0�A8�G@l
8C0A(B BBBC�
8A0A(B BBBD|HNPQHA@������F@������DHJPUHA@t0���qB�B�B �B(�A0�D8�G�K
8A0A(B BBBG`
8A0A(B BBBF4�N�P�D�H���JB�B�E �B(�A0�D8�J@�
8D0A(B BBBC�
���
���B�B�B �B(�A0�A8�G�,
8G0D(B BBBH\
8A0A(B BBBED�K�R�A�c
8A0A(B BBBFX�t
��<K�A�A �G0T
 AABDf
 AABF_ AABE���C0���D�X���F�D�A �P
ABBF
ABGP
ABE,<���F�A�A ��
ABHLl����^�A�D �f
ABDR
�D�B�HA
CBJh���L�����^�A�D �f
ABDR
�D�B�HA
CBJh���tP��y[�B�D �D(�G0d
(A ABBJ_
(D� A�B�B�HM
(C ABBKx����H0����@�X���^�A�D �f
�A�B�LU
ABHh���\����r�B�B �A(�A0���(D� B�B�B�L0�����A
(A BBBA�(���(O�B�B �E(�D0�D8�GPH
8G�0A�(B� B�B�B�IR
8A0A(B BBBD�������DP������`�,��@X�B�B �A(�D0�`
(A BBBH�
(A BBBBp�����F0�������PO�]D�P�48��j`PpIPT���rR�B�B �B(�A0�A8�D@A
8A�0A�(B� B�B�B�E �����K�x
Em
A<� ���O�B�K �K(�G0�(A ABBA��������Q�}
�J,p��=K�R
KPL���=K�R
KP(l���?E�D�G U
GAK����=K�R
KP ����IP�R
�NP�(����L�D�D �~
ABK���GK�s
B$��GK�m
H@<��(T8���E�A�F B
AAH,����vF�A�G �C
ABD��� �(��IE�D i
AE,�T���L�A�D �Y
ABCL����F�B�D �D(�G0o
(A ABBDD
(C ABBD4h����L�A�D �q
ABKA
CBJ@�����E�A�G Z
DALD
CAH`HAD�� ���E�A�G Z
DALD
CAH`HA,`!��	@\!��%TPXt!��E��
Mxd#��9Hl(��#��QE�D�G j
AAL$��#��<E�D�G eAA��#��$��#��JE�D�D wDA $��$4$��JE�D�D wDA(\@$��QE�D�D o
DAG(�t$��QE�D�D o
DAG��$��0HT
DI��$��0HT
DI��$��0HT
DI�$��0HT
DI$4�$��9E�C�D hCA\%��0HT
DI$|%��9E�C�D hCA�(%��.HT
DI�8%��.HT
DI�H%��0HT
DI$X%��9E�C�D hCA,p%��0HT
DIL�%��0HT
DIl�%��0HT
DI��%��0HT
DI��%��0HT
DI$��%��9E�C�D hCA��%��0HT
DI$�%��9E�C�D hCA<&��0HT
DI$\&��=E�D�D jDA�(&��0HT
DI$�8&��9E�C�D hCA�P&��0HT
DI$�`&��9E�C�D hCAx&��0HT
DI$4�&��9E�C�D hCA\�&��0HT
DI$|�&��9E�C�D hCA��&��*HT
DI��&��0HT
DI$��&��9E�C�D hCA '��0HT
DI$, '��9E�C�D hCAT ('��0HT
DI$t 8'��9E�C�D hCA� P'��0HT
DI� `'��0HT
DI� p'��0HT
DI� �'��0HT
DI!�'��0Hc4!�'��E�SP!�'��?E�`
KN p!�'��1P�K
�EI��!�'���!�'���!(��RE�`
Ka �!@(��AP�K
�ER�,"l(���Z�A�A �Q
�A�B�H0"�(��KY�a
�FP"�(��!d")��!x"$)��4�" )���E�A�F t
DAKq
DAJ�"�)��!RI�"�)���"�)��#�)���#�*��]H}
K4#�*��>dY4L#�*��;DM K(D0B8B@BHAPDXB`BhBpI4�#�*��;DM K(D0B8B@BHAPDXB`BhBpIX�#+���K�E�A �A(�L@�
(A ABBH�(A ABBA����C@����8$�,��HDOP F(D0B8B@BHBPBXB`BhApK4T$�,��;DM K(D0B8B@BHAPDXB`BhBpID�$�,���K�A�A �n
�A�B�BK
�A�F�FP�����$8-���K�B�E �E(�A0�A8�G@r
8A0A(B BBBDY
8H�0A�(B� B�B�B�F�8H�0A�(B� B�B�B�\%P.��X@p%�.��A�A�D �
GAGR
CAJB
CAAL�%x/��`B�B�B �A(�A0��
(D FBBGP
(D BBBF&�0��98&�0���}�D�G UAAA��X ��LA�A� T&(1��JF�ZH�H�Q<x&T1���A�A�D f
FAEi
FAHPCA�&�1��	L�&�1��@F�B�A �A(�D0�
(A ABBDP
(C ABBH'�2���HPA
G88'D3��FDTI C(D0B8B@BHAPDXB`BhEpI<t'X3��tG�I�E �D(�D0�L(A BBBA�����(�'�3��RA�A�D v
AAA��'�3��^B�B�B �B(�A0�A8�D��
8A0A(B BBBD;
8D0A(B BBBHW�I�H�D�B�B�B�A�D�B�B�E�I�C	�J�C�M�H�B�B�B�B�B�B�E�I�H�(XG��@F�B�B �B(�A0�A8�DP
8C0A(B BBBF)LI��&HB [H)`I��F�B�B �B(�A0�A8�DPs
8D0A(B BBBF`h)4J���F�B�B �E(�A0�A8�DPN
8D0A(B BBBHp
8A0A(B BBBA4�)�J��kF�A�A �{
ABJD
AEF*�J��:<*K���O�D�A �L0M AABG���C0���X*dK��:l*�K��T�*�K��>�*L����*�L��W�*�L��d�*,M��w�*�M��<�*�M��X+N��E�X0(+N��{K�A�D �k
ABBx���<\+`N���O�E�A �A(�D0l(A ABBD����`�+�N���F�B�B �B(�A0�A8�DP�
8D0A(B BBBKT
8F0A(B BBBMt,LO��F�B�B �E(�A0�D8�FP�
8D0A(B BBBDs
8A0A(B BBBKD8D0A(B BBBx,�O��H(�,0P���E�D�G��
AAH(�,�P��FO�J�V NAAA���,Q��8(�,DQ��;J�D�G II�A�$-XQ���8-R��L- S���`-�S��s(t-8T��^N�A�G vDAG���-lT��\d�-�T���O�B�B �B(�D0�A8�D@�
8F0A(B BBBEN8A0A(B BBBA������.@U���80.�U���F�A�A ��
ABCC
DBAl.�V��/A�m�.�V��/A�m�.�V���L��
A(�.hW��RE�A�D �
DAG�.�X��K4/�X���J�I�G0J
AAJP��H0��</PY��P/\Y��d0d/�Y��YJ�A�G j
D�A�GP���/�Y���H�/�Z��jY�A�D �r���p ���p
ABEK
ABJ4�/�[��,b�A�A �ABI���P ���00�]���D0H^��X0T^��cl0�^����0L_��`�0�_���0�_��~�0`��qL�0l`��`F�B�A �A(�D0
(D ABBH<
(G DBBEL 1|c���F�B�A �A(�D0
(D ABBFx
(D ABBAp1�d��v�1he��	L�1de���F�B�B �A(�A0�
(D BBBDc
(D BBBK$�1�f���J�L eAD�H �42<g��E�A�D �
DACn
DAE(H2$h���E�A�G N
CAAt2�h��v�2i���dR�2|i���(�2j��IF�A�G mD�A�D�2,j���[�H�F �H(�F0Z(A ABBI����H0����8(3tj��ODUM I(D0B8B@AHCPDXB`BhBpI4d3�j���J�D�G O
AAJ{��F ��$�30k���A�@
GN
Aa<�3�k��^DXM G(D0A8D@AHCPDXB`BhEpIEd4�k��\T�B�B �B(�A0�A8�D@
8A0A(B BBBFr������f@������`l4�m��vO�B�B �B(�D0�A8�F`
8A0A(B BBBG�������A`������H�4�n��B�E�B �B(�A0�A8�DP�
8A0A(B BBBG(5�o���A�A�G [
AAJH5�p��V^�oC� d5�p��[A�L i
AI(�5q��PA�D�G0I
SCE(�58q��WA�G�G0I
PCE(�5lq��WA�G�G0I
PCE,6�q��yI�I�C �H
ABH8<6�q��B�E�A �D(�G0s
(A ABBD(x6�r���A�I�D b
DAK�6(s���4�6�y���R�D�G �
AAK`��H ��T�6�{���f�B�B �B(�A0�A8�D`Q
8A0A(B BBBC�������HH7����B�B�D �A(�D0u
(D ABBEK(D ABB,�7h����K�H�A ���A�B��7�����x�c�7|����|�7�����P�B�B �B(�A0�A8�D`*
8A0A(B BBBH]
8A0A(B BBBA~8F0A(B BBBC������t8X���fL�8����0B�B�B �D(�A0��
(A BBBH`(A BBBx�8�����B�B�B �B(�A0�A8�DP�
8A0A(B BBBGI
8H0A(B BBBFR
8A0A(B BBBL\T9�����A�A�G �
AAKs
AAKD(J0I(A D
AAB*
DAI�9��qT\x�9P���B�A�A �y
ABHR
ABKW(K0L(F y
ABH�
HBKU(K0N(E �(K0I(A HH:��B�H�A �G@:
 AABHDHLPNHE@�
HMPE0�:(����A�A�G 
AAF`KA|�:�9B�B�B �B(�A0�A8�D`5
8A0A(B BBBCD
8G0A(B BBBE
8A0D(B BBBI�H;����3B�A�A �g
ABJd
ABAc
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJF
ABGC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJk
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABJC
ABE`(=���B�B�A �A(�D0�
(D ABBHB
(D ABBE^
(E AEBE`�=�����B�G�B �B(�A0�D8�D`y
8A0A(B BBBGg
8A0A(B BBBGH�=�����B�B�B �H(�A0�A8�D@C
8D0A(B BBBDH<>P���$B�H�B �B(�A0�A8�D`�
8A0A(B BBBAH�>4���,B�B�B �B(�A0�A8�G`�
8D0A(B BBBEL�>����B�D�A �G0h
 CABDZ
 AABBD FAB8$?x����B�G�A �A(�G0r
(A ABBF8`?̲��`B�B�A �A(�G@�
(A ABBF<�?��F�B�B �A(�A0�
(A BBBF,�?p����O�H�A ���A�B�@0���L @,����F�B�B �B(�A0�A8�G�%
8A0A(B BBBDp@�����@����G��@Ժ���O�J�B �J(�A0�A8�N@�
8A0A(B BBBE�������H@������D8N�0H�(B� B�B�B�LA��$F�B�B �B(�A0�A8�G�*
8A0A(B BBBG,lA���O�H�A ���A�B��A����A���pE�L
GW<�A,���b�D�A �D0� AABA���F0���LB���aB�J�B �B(�A0�A8�D�
8D0A(B BBBH<`B����E�A�D �
DACN
DAEfDA�B���
�B����B���&h�B����f�J�E �E(�A0�D8�G@
8A0A(B BBBAL
8C0A(B BBBHP������HHCD��}F�B�B �B(�A0�A8�D`�
8D0A(B BBBCL�Cx��F�B�B �E(�A0�A8�G�	
8A0A(B BBBEH�CH��-F�B�B �B(�A0�A8�Dpm
8D0A(B BBBDH0D,��dF�B�B �B(�A0�A8�DPD8D0A(B BBBH|DP��
F�B�B �B(�D0�A8�Dp�
8D0A(B BBBD`�D��1F�B�B �B(�A0�A8�GP�
8D0A(B BBBDD
8C0A(B BBBH0,E���<E�A�D _
DABFDA<`E���NE�A�D ^
DACF
DAEHDA\�E���F�B�A �A(�D@D
(D ABBET
(F ABBAH
(D ABBG0Fl��?K�D�C �^
ABAG���<4Fx��^E�C�G f
DAFF
DAEHDA<tF���^E�C�G f
DAFF
DAEHDA�F���;Q�[��F���#�F���x�Fd��LG��!B�B�B �A(�A0��
(A BBBCy(A BBB(\G��IG�H�A �l�A�B��G��D�G���K�D�A �q
ABDA
CBBDABA����GH�T]�]F�H���(Hh�KB�A�H �{AB(@H��9J�A�D cAAD��lH��	�H��!�H��+�H��+�H��+�H�)�H(�+�HD�+I`�+ I|�)4I��)HI��)\I��)pI��)�I�)�I$�)�I@�)�I\�)�Ix�V�I��"A�\,J���B�D�A ��
HBH(4Jh��A�D�G G
AAK,`J��B�D�A �G
ABG�J��)4�J���B�D�D �h
ABKYEB�J@��(�J���A�D�G0�
AAF<K���B�B�A �A(�G��
(A ABBD0\K�\A�A�D ~
DAGFDAD�K<��L�D�D �M
�D�B�ICABJ���H ���D�K���L�D�D �M
�D�B�ICABJ���H ���D L���L�D�D �M
�D�B�ICABJ���H ���DhLD�eK�D�D ��
CBB[
AEGAFBA���8�Ll�
B�B�A �A(�G@�
(A ABBH��L@�LB�B�B �B(�A0�A8�D�k�E�G�B�B�H�B�B�B�B�B�B�A�B�I�X
8A0A(B BBBE#�B�B�B�B�K�D�B�B�B�B�H�A�B�^�<�M��`DcB A(G0B8B@BHHPEXB`BhBpIE�M��%HN����B�B�B �B(�A0�A8�Dp�
8A0A(B BBBD@TN�����K�D�D �j
�D�B�MC
ABJp���d�NT����B�B�E �E(�A0�D8�DPP
8A0A(B BBBG�
8C0A(B BBBF,O��QG�H�A �wABF���0O���8DOH���Q4XO����QF�A�D j
AAIDA�A��O����F@�O�����X�A�D O
AABP��H ��LAAJ���Od���=P�O�����L�E�B �D(�D0�e
(A BBBIA(C BBBA�����PP���d dP8���7DV
FG
IF8�PT����D�E�E �D(�D0��(H BBB�P���Q]�hK��P���Q]�hK��P`���Q]�hK�Q����-A�i4Q����! HQ���aJ�F
�HAG�HlQ ����B�B�B �E(�D0�A8�DP�
8A0A(B BBBA�Qd��ND ^
F �Q���IA�G S
ADH�Q���B�B�B �B(�A0�A8�D@�
8D0A(B BBBG(DR����A�I�D X
DAEpR\���H�U
C(�R���GB�D�D �yABT�R����B�E�E �D(�D0�L@C
0A(A BBBEA0A(A BBBHSX��sB�B�B �B(�A0�A8�D@�
8D0A(B BBBE\`S����B�B�A �A(�D0v
(D ABBGY
(D ABBFD
(F ABBI<�S,���B�B�B �A(�A0�n
(A BBBCLT����B�B�A �A(�D0h
(D ABBED
(F ABBA PT���_A�L a
AA`tT8���T�E�E �D(�A0��
(A BBBDK
(A BBBFA(F BBBA�����H�T����I�E�E �D(�I0�I
(A BBBHg(A BBB,$U8���B�A�A �c
ABF$TU����A�^
A[
A`<|U 	���E�I�G J
AAGN
AAHTLK �U�	��fA�L i
AI4�U�	��qF�A�G {
A�A�EDN�H�HV$
��GB�B�B �B(�A0�A8�GP�
8A0A(B BBBGdV(��	\xV$���O�I�L �
�D�P�H[
ABB���H ���A
�D�G�L(�Vt��YA�G�D q
DAF@W���\B�K�D �V
CBDC
AFFPAD<HW����R�D�D oAAE��H ��D
CAHD�W���B�A�D �_
DBLj
ABKA
GBF0�W����A�I�D S
DAJgDA0X8��\A�J�D q
DAKFDA88Xd���B�E�G �A(�G0V
(D ABBK`tX����B�B�B �B(�A0�A8�DPn
8A0A(B BBBJf
8F0A(B BBBK8�X����A�D�G@THOPNXD`N@~
AAA`Y����B�J�B �B(�A0�A8�G���L�G�B�N�a
8A0A(B BBBD@xY4���B�D�D �L@fHJPJXA`N@~
 AABAP�Y����B�B�E �D(�K0�G@aHJPLXF`N@{
0A(A BBBAXZ����B�B�B �E(�D0�D8�J`shBpBxB�N`b
8A0A(B BBBAPlZ���B�E�E �D(�D0�JP�XB`BhBpNPf
0A(A BBBG0�Z\��HB�D�D �G0
 AABG0�Zx%���B�G�D �I0d
 AABAd([�%���B�E�G �E(�D0�D8�GPiXH`WXAPf
8A0A(B BBBEM
XI`JD
XI`B8�[L&���B�E�D �D(�J@p
(A ABBA\�[�&��WB�E�B �B(�A0�A8�G���B�B�A�W�[
8A0A(B BBBAX,\�'��7B�B�B �B(�D0�D8�G`�hBpBxB�R`b
8A0A(B BBBCh�\�(���B�H�E �D(�D0�Q
(C BBBGh8L@BHBPV0F
(A BBBED8L@BHBP��\)���B�B�A �D(�D0t
(D ABBFb8J@PHBPM0D
(A DBBHD8N@IHBPM0D
(A DBBId8N@LHBPM0L�](+��pDdH D(D0D8D@DHBPBXB`BhBpBxB�B�A�NEd�]H+��B�E�E �E(�D0�D8�Jp�xB�B�B�D�A�Ipk
8A0A(B BBBDH<^/���B�B�D �D(�Q0�8K@LHBPI0I
(A ABBFX�^t0��B�B�B �E(�D0�D8�Q@NHKPLXB`I@I
8A0A(B BBBIh�^82��	B�E�E �B(�D0�G8�G`�
8A0A(B BBBFLhHpLxD�Q`OhQpCxI�M`8P_�3��FB�E�E �D(�K0�S(M BBBH�_�3��dB�E�G �G(�G0N
(J GBBIU(A ABBX�_4���B�B�E �E(�K0�A8�D@i
8C0A(B BBBEZHHPLXD`I@H4`�4���B�H�D �A(�D0u
(C ABBHG8H@LHDPI0P�`5���B�B�H �A(�D0�t
(D BBBAN8A@KHJPW0Q8D@�`�5��,A�^
IC`�`�5���B�E�E �E(�D0�D8�D`LhGpKxL�D�A�N`~
8A0A(B BBBFLXad6��QT�D�D �PABA���H ���B(N0X(A �(B0J(B L�at7���B�E�F �D(�G@mHDPKXI`DhApN@b
(A ABBA(�a�7���O�QH�H�l
DlT$b(8���B�E�E �G(�D0�G@mHDPKXH`DhApN@b
0A(A BBBA`|b�8��B�B�B �E(�G0�D8�G`xhJpExB�D�A�W`|
8A0A(B BBBA$�b,9�� ��JP HDAH�4c$:���M�W
DZF�P�JJ SFAp@c|:��+K�E�D �D(�D0�
(A ABBFQ
(C ABBGB8K@T8A0I
(A ABBGX����h�c8;��GB�E�E �E(�K0�D8�F@�HKPPHA@V
8A0A(B BBBC\8A0A(B BBBh d<���B�E�D �K(�G0E
(A ABBHD
(A ABBFB8J@OHBPI0L8J@OHBPI0�d�<��
x�d�<���B�E�B �E(�A0�A8�DP�
8A0A(B BBBGr
8A0A(B BBBDD
8C0A(B BBBAHe�=��B�E�B �E(�D0�D8�G`T
8A0A(B BBBE(hed?��@A�A�D @
CAF,�ex@���B�A�D �
ABID�eHB���B�A�D ��
ABG^
ABGd
ABI\f�C��|B�G�B �B(�A0�A8�G�A�D�_�A�B
8A0A(B BBBIlf�K��C_Y��fL��
B�B�E �E(�A0�A8�J�z�B�B�B�b�d
8A0A(B BBBF1�E�F�J�R��
�B�B�D�N�
�B�B�B�Eb
�B�E�D�K��M�E�D�R�^
�B�B�D�O�`g<Q���B�B�B �B(�A0�A8�D��G�B�D�a��
8A0A(B BBBAW�K�D�C�S�'�K�G�B�S��K�G�A�S�$zRx��������,���	�@h\U��7B�B�E �B(�D0�D8�G��
8A0A(B BBBB��B�l�A�s
�E�QS�B�V�B���H�O�A�O
�H�Bh�B�Z�A�L�D�V�B���B�U�A��G�Q�B�N�4$i�`��KDHN FAD
KBM FADH\i�`���B�E�E �L(�A0�C8�Gp�
8A0A(B BBBA\�iDb��IB�B�B �B(�A0�A8�D`�
8A0A(B BBBG�hHpLxA�S`�j4e��'B�B�B �B(�A0�A8�G`A
8D0A(B BBBA�hHpPhB`^hEpPhA`5
8K0A(B BBBH<�j�p��B�E�E �D(�D0�u
(A BBBH��j�q��FB�B�B �B(�A0�A8�DP
8A0A(B BBBCY
8A0A(B BBBE�
8A0A(B BBBED
8C0A(B BBBA�dkhs��yB�B�B �B(�A0�A8�D�
8A0A(B BBBD��U�B�A�[���H�N�G�Q�]�H�N�G�Q�
�Y�B�A�MZ�Z�B�B�M� �H�N�L�N��0l����B�B�E �B(�A0�A8�G�
8A0A(B BBBB��S�Y�B�5�H�N�A���H�O�B�#
�A�JG�L�N�B�I�c
�K�E��L�N�B�I�m�M�K�I�I�m�M�K�I�I�, m�����^�D uAH�H �iA�8Pml���YK�D�D �k
�G�B�IAABD���8�m����YK�D�D �k
�G�B�IAABD���@�m�����d�D�G z
AAE`��P ��eA�A�Pn@���qK�E�D �D(�G0k
(J� A�B�B�GD(A ABBF����``nl����B�E�E �E(�D0�D8�DPv
8A0A(B BBBCM
8A0A(B BBBIH�n���E�I�E �D(�A0�_8H@HHEPX0A
(C BBBB8o̝��fY�E�D �K(�G0R(J� D�B�B�4Lo����B�A�D �w
DBLN
ABGH�o�����B�B�B �B(�A0�A8�DP�
8A0A(B BBBGH�o�����B�B�B �B(�D0�A8�D`(
8A0A(B BBBE`pP����B�B�E �I(�D0�D8�D`�hIpShA`n
8D0A(B BBBAhLpH�p�����B�B�E �E(�D0�A8�G`.
8A0A(B BBBFl�p`����B�B�B �B(�A0�H8�N`�
8D0A(B BBBI�hOpOxA�N`ZhOpOxB�S`\<q����qB�E�J �A(�D0��
(D BBBCD
(A EBBBv(D BBB�q��Q,�q,����^�D uAH�H �iA�8�q����YK�D�D �k
�G�B�IAABD���r����;Hr,4r��aK�A�D �C�D�B�dr(���QJ�x�p�rl���TB�E�B �B(�A0�A8�D�:�I�\�A��
8A0A(B BBBK��N�S�A���rX���B�B�B �B(�D0�A8�D�T�N�S�A���O�Q�B�]
8A0A(B BBBIw�M�W�A���_�L�B�J�O�M�D�I�q�O�P�B���O�Q�B�P�O�Q�A�^�N�Q�A���M�R�A���s��B�E�B �E(�A0�D8�G�
8A0A(B BBBA�G�a�B���H�O�E�I���N�Q�B�I���G�O�G�Q�C�O�L�G�I�T�R�C�J�M�G�L�T�E�G�O�L�G�I�G
�L�BH�t@��B�B�B �E(�A0�A8�D`�
8A0A(B BBBA�8u��]
B�B�B �B(�D0�A8�D�`�N�K�A�b
8A0A(B BBBI��L�[�A�n�M�X�A�)�O�P�B���M�Z�A���I�B�B�Y�
�I�B�B�E�vd�|B�B�B �E(�A0�D8�D���L�Y�A�F�O�L�B�I�p�L�\�A��
8A0A(B BBBI��O�L�A�I�J�O�L�B�I���v4����B�B�B �B(�D0�F8�I��
8A0A(B BBBCW�E�B�B�^���Q�R�A�U�Q�S�B�
�I�B�B�EHTwH	���B�B�B �B(�A0�D8�D`�
8A0A(B BBBHH�w�
��B�B�B �E(�A0�A8�DPW
8A0A(B BBBF�w���+4x����O�D�A ��
�A�B�GP���H8x����B�B�B �E(�A0�A8�GP
8A0A(B BBBF4�x(��QO�A�D �'
�A�B�BP���8�xP��K�A�D ��
�H�B�K_�H�B��x4��	�y0���
B�E�B �E(�A0�D8�G`
8C0A(B BBBKqhNpJxB�Q`S
8A0A(B BBBG�hLpBxB�Z`\hNpJxB�Q`yhNpJxB�Q`>
8F0A(B BBBH�hHpPxB�Q`�
hLpBxB�FhPpThB`Hz<!���B�B�B �B(�A0�A8�GP,
8A0A(B BBBI0Lz�$��!W�L�S n
K�A�HH��0�z�%��\E�A�D y
DAHFDA4�z�%��JF�A�A �t
ABAFAB0�z�%��LE�A�D p
DAAFDA {&��6(4{8&���E�I�D e
DAD4`{�&��QJ�D�G g
AABLAAB��T�{�&��tO�B�B �A(�A0�
�(A� B�B�B�Hp�����H0�����4�{�(���O�A�A ��
�A�B�Ip����(|�)���F�B�B �B(�A0�A8�DPt
8A0A(B BBBH�XE`SXAP�XM`AhApXP�XN`LhBpMP�XI`QhApRP�XH`QhApMP[
XM`BhBpI�|�-���|�-��1�|�-��1}�-��9L }.��8"B�B�B �B(�A0�A8�G�=�K�\�B��
8A0A(B BBBF5�K�]�B�k�I�U���B�F�A��L�S�D�a�B�F�A�S�B�F�B���K�]�A��
�L�KB
�L�J��E�L�C�G�B�Q���L�R�B�@�D�K�A��D�X�A�k
�N�UR
�N�Mb
�N�Sj
�N�Pn�H�Q�A��
�N�M��L�R�A�g
�N�MX�N�R�E��
�N�MR�B�G�B�v�Q�F�A�B�B�F�A�(�B�F�A���B�G�A�W
�N�MV�B�G�B���K�]�B��
�N�M$zRx��������,W��	���M���B�B�B �B(�A0�A8�D��
8A0A(B BBBHp�I�\�B��G�Q�B�S���I�N�B�R�L�W�A�w�I�W�B���G�Q�B�S�f�L�T�B��
�I�Ok
�E�Hi�I�W�A�x
�L�B{�L�V�B�i
�L�ED�P�B�B�X��
�P�B�B�Ea
�I�Nk
�L�Ix
�L�ED�N�M�B�I�z
�L�EB
�L�Ej�L�B�B�_�Q
�L�B�B�B�
�L�Ek�O�B�A�N�?
�L�E�
�I�I���b��wW_`��c��sK�E�D �D(�G0}
(A ABBF�
(C ABBED(F ABBA������ d���B�E�E �B(�A0�A8�J���D�F�D�Y��
8A0A(B BBBJA�H�M�G�V�]�G�P�D�V��
�H�M�G�E�
�D�A�D�B\�D�A�A�[�C
�H�M�G�Ev
�D�H�D�J��k����$�Hl��PB�B�B �B(�A0�A8�D`
8A0A(B BBBIZhHpOhA`�hOpVhA`|hHp]hA`hLpRhB`ZhNpLhA`GhNpRhB`�hGp^hB`|̃�s��/B�B�B �E(�D0�A8�G`.hGpNxG�N`v
8A0A(B BBBAzhHpNxG�N`ihGpOxG�I`xL��v��oB�B�B �B(�A0�A8�D��H�N�G�N���B�F�A��
8A0A(B BBBI)�I�F�B�h�G�O�G�I���G�O�G�I� �G�H�B�V�v�H�J�B�Z
�I�B�A�P��G�[�A�q�G�[�B�k�H�S�B���I�G�A���B�R�A�>�N�M�B�M�a�I�G�B�w
�A�Jm�I�G�B���H�J�A���L�L�B�N�K�L�B�I�P�H�Q�A���M�I�A�n�N�M�B�I���I�O�G�N�P�I�O�G�N���L�B�B�V�I
�I�B�B�B]�L�S�A�e
�B�B�H�R�B�g�H�V�B�Ȇ����)L܆����GB�B�A �A(�D0�
(D ABBCL
(D DBBA�,�����	B�B�B �B(�D0�A8�D`2
8A0A(B BBBC�hHpFxB�N`�hNpJxB�N`�hNpOhA`MhNpJxB�N`�hNpOhA`dhNpJxB�N`hDpGhB`D�����B�B�B �B(�D0�D8�G���L�_�A�I�L�a�A��
8A0A(B BBBE��L�L�B�I��P�E�B�L�M�P�E�B�L�M�O�L�B�I�i�H�L�D�L���O�L�B�I�c�O�Q�E�X�M�T�A�Z�N�Q�B�I�|�O�Q�E�U�R�C�J�I�X,�P���;E�A�G0k8E@FHBPI0{8N@GHBPI0q
AAD�8N@LHBPI0��4���B�B�E �B(�A0�A8�G���L�M�B�N���N�L�B�I��
8A0A(B BBBBD�M�O�M�W�p�N�L�B�M�s�N�F�A���N�L�H�I���M�O�M�W���N�L�B�I�M�L�Q�B���K�a�B�g�N�I�B�Z�D�G�P�K�I���N�L�H�I���N�F�A���H�F�A�s�I�Q�B�I�M�M�L�C�K�P�I�Q�B�I�F�G�N�G�N��
�N�I�B�Jc�X�L�T�
�N�L�B�M�"�B�F�A�d��<��fF�B�B �B(�A0�A8�DP�
8A0A(B BBBA�
8A0A(B BBBEl�D���F�B�B �B(�A0�A8�D`DhIpFxF�P`o
8A0A(B BBBLD8A0A(B BBB(x����$A�A�G I
AADX������B�B�B �B(�A0�A8�GP�
8A0A(B BBBAUXN`LhBpIP���6�8��7(�d��<�p��>@P�����O�D�J ]
D�A�ID(K0P8B@LAAI��L������I�H�E �C(�A0��
(A BBBIf
(A BBBC����^R�G�����H����gF�B�B �B(�A0�A8�DP7
8C0A(B BBBK `���?O�`
�EFA���(����0��\��|��aĎ����؎t��6D����kW�B�A �A(��
 ABBIK����F(����p4�����B�F�H �A(�A0�1(D BBBC�����P0�����|(A EBBJ�����P0�������������p��wЏ�������B���5H�l�8�	(�4�3A�qD�X�*4X�t��W�D�D �
ABG��������vD F
F��P�8��\�|B�J�D �C(�D0#
(D ABBE����v8���R�F�A ��
ABEH�C�N�$L����Q�A�D ~AAt�(��,����$K�}
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HH
HC����̒�����3������QS�uH�$$�8�3E�I�G [AA$L�P�.E�D�L VAA<t�X�K�B�A �H(�G0_(A ABBF����`����s
B�B�B �B(�A0�A8�D`d
8A0A(B BBBL
8D0A(B BBBD�����aB�B�B �A(�A0�D@\
0C(A BBBFm
0H(A BBBD�
0G(A BBBL�
0A(A BBBL�
0A(A BBBN�
0A(A BBBE0̔���SE�D�G Z
GANNCA����H$�����T�o
EuC�C�<<�P���s��C����
�MC
EX�H�P�\|����
B�B�B �B(�A0�D8�G��
8A0A(B BBBF��L�[�A���H�[�A�z�i�O�B���j�L�E���N�\�A�!�H�A�A�`�X�J�L�H�N�]�H�H�D���J�L�H�Z�t�l�K�B�U�H�O�A�u
�K�IV
�L�Fi
�H�A�A�M|
�H�Ev
�L�Ei
�L�Eܖ���HK IH������B�B�B �B(�A0�A8�D@r
8D0A(B BBBALD�h���,B�E�E �B(�D0�A8�G�a
8A0A(B BBBK���H��HK I���H��<ė�H���F�B�B �A(�A0��
(D BBBJ��I��fRuJ ID$��I���J�A�G T
AAH�(H0P(A ���D ��l�pM��6RHE P���M��#���M��#���M��	Ș�M��NܘN�����N��	��N��<��N��c�D�G y
AAGD
A�A�J���X�tO��l��O�����O�����O�����O�����O���O����O�����O��
��O�� ��O��4��O��H��O��\�P��p�P����P����$P����0P����<P��ԚHP���TP����`P���lP��$�xP��8��P��L��P��`��P��t��P�����P�����P�����P��ě�P��؛�P����P����P���Q��(�Q��<� Q��P�,Q��d�8Q��x�DQ����PQ����\Q����hQ��ȜtQ��ܜ�Q����Q����Q����Q��,��Q��@��Q��T��Q��h��Q��|��Q�����Q�����Q����R��̝R���R���(R���4R���@R��0�LR��D�XR��X�dR��l�pR����|R�����R�����R�����R��О�R����R�����R����R�� ��R��4��R��H��R��\��R��p��R����S����S���� S����,S��ԟ8S���DS����PS���\S��$�hS��8�tS��L��S��`��S��t��S�����S�����S�����S��Ġ�S��'ؠ�S����S����S���T��(�T��<� T��P�,T��d�8T��x�DT����PT����\T����hT��ȡtT��ܡ�T����T����T����T��,��T��@��T��T��T��h��T��|��T�����T�����T����U��̢U���U���(U���4U���@U��0�LU��D�XU��X�dU��.l��U��F���U��T��V����V��d��V���K�B�B �B(�A0�A8�D@P
8C0A(B BBBEH8A0A(B BBBF������$�8V��8�4V��L�0V��`�,V��t�(V����$V���� V����V��ĤV��ؤV���V���V���V��(�V��<�V��P��U��d��U��x��U�����U�����U�����U��ȥ�U��ܥ�U����U����U����U��F,�V��f@�lV��.T��V��.h��V��c|�W����W����W��$E�V
BFĦ(W��$E�V
BF(�8W��kE�A�D Q
AAC�|W��!8$��W���E�A�D Y(G0E8E@M r
AAK`��W��!t�X��!��$X��!��@X��)D��\X���O�B�B �A(�A0�
(A BBBEU�����(���Z��1B�A�A �U
ABDx$��[��#B�E�B �B(�D0�A8�DP�
8A0A(B BBBAD
8D0A(B BBBED8D0A(B BBB8��l^���B�A�C ��
ABGK
ABJ�ܨ _���B�B�B �D(�A0�n
(A BBBH�
(A BEBKA
(D BBBEA
(D BBBEA
(A BBBH(d�Ha���A�D�G c
CAE4��b���B�A�A �r
ABGnABDȩ�b��QK�B�A �D(�G0�
(D� A�B�B�Ih����@��c��B�E�E �A(�C0�FP�
0A(A BBBKT��d��AF�r�(p��d���E�D�J��
AAH(���e��	E�G�G��
AAD(Ȫtf���E�D�J��
AAG(�8g��	E�G�G��
AAD  �h���E�M��
AA D��h���E�M��
AAh�ti��I|��i��uA�u
Jt(��j��}B�D�D �Q
ABB8ȫdj���k�F�D �F
ABBAFBG���4�k���K�D�D ��
ABG����@<�`m���K�D�D �3
ABGw
ABFJ������n�� ��o��Kh�Q
GCE�(��4o��OB�A�A �U
ABDH�Xp���F�B�B �A(�A0��
(A BBBBV(A BBB,0�q���F�A�A �v
ABG,`��q���[�`
Ej
FV
�JJ�L��r���F�B�A �A(�D0.
(D ABBK�
(F ABBF@�Lu���F�C�D �z
ABFF
ABGo
ABF$$��u��$N��
DL
DN�0L��v��N�A�G q
D�A�Dp�����x����[[K8��\y���F�B�A �A(�D@�
(A ABBE`ܮ�z���e�B�A �A(�D0�
(A� A�B�B�KD
(C ABBDH(G� A�B�B�(@�|{���[�a
DP�P�jl� |��SV\
NF��`|���0���|��CF�A�A �D@W
 AABIDԯ�~��[�G�A �A(�D0U(A ABBE����H0��������K0����{D�x���5LX������Y�A�A �i
ABIJCBA���H ���R
ABC��4���E��p���qа܁��&��kD���RT�<���)[�H
�MH
�Hg
�IH
�HH
�HH
�HH
�HCE�H�Y�X����cl�p���Q������m�����k��t���w����Tб,���p�����#0������lE�A�D G
DAJFDA,���A@����ST�h���Ch������D|�0���lF�A�A ��
ABKH
ABEO
ABFIJX���زT����P���#0�l���dE�A�D E
DADFDA4�����#H�Ċ��\�����6p���t��X���#��t���#������#������b�Գ����q�B�B �B(�A0�A8�GP$8A0A(B BBBB������P�������
8F0A(B BBBH|
8A0C(B BBBH�������PP������`������hP������������� zRx�P������(,O�
,�ܗ���]�k
HOA�H�^
JJ�����S@$�ؘ��{Q�A�D g
A�A�IWAAG��H ��E��0h����:W�I�G w
AAH����� ���;8��L���{F�A�A ��
ABK[
DBG,�����6F�A�A �5
ABH�����0�����D�����X�����l�����-������E����8�����cVL��l���X Զ����|E��
F�
H$������E��
O�
EY �|���d4�ء��#HH���F�B�E �B(�A0�A8�DPU
8A0A(B BBBD��X���((��t����E�A�D �
DAA(Է(���5F�D�D �cABL�<���zF�E�E �F(�A0�{
(A BBBGF
(A BBBC8P�l���KK�E�D �D(�G0I(O� A�B�B�L�������F�B�B �A(�A0�R
(A BBBKF
(A BBBCHܸ�����F�B�B �B(�A0�A8�D@Q
8D0A(B BBBH@(�����W�D�G h
AAD`
AAFPCAA��Pl�����eP�E�D �D(�L0N
(M� D�B�B�ED(F ABBA����P��̩��jS�I�G �D(�G0N
(M� D�B�B�ED(F ABBA����<���VP�E�E �D(�G0�X�(C� B�B�B�PT����mO�I�D �D(�I0b
(D� A�B�B�ED(F ABBA����`��$����F�B�B �B(�A0�A8�D@z
8P0A(B BBBEN8F0A(B BBB�P����K�kJ�8(����B�E�E �A(�A0��(A BBB(d�(���AJ�A�G ]D�A�H��L����J�A�G h
AADK
CAAz
CAB���Dܻ����d�H�G M��P ��U
AAIa
FAH`��$�h���YF�J�H@�����qK�B�B �A(�A0�i
�(A� B�B�B�G������8�����K�B�A �A(�G0|(D� A�B�B�8ȼT���B�D�D �s
ABH�
FBH<�(���xDaQ A(D0B8B@BHAPDXB`BhBpIKLD�h����B�B�B �A(�A0�o
(A BBBBJ
(D BBBDD����J�D�G [
AAFo
D�A�Dx��H ��(ܽ�����A�D�G e
AAEd�D����DfQ A(D0B8B@BHAPDXB`BhBpID
BnD B(B0B8B@BHBPBXB`ID<p�����iD_D A(D0B8B@BHHPEXB`BhApLHL������K�F�D �C(�G0^
(A ABBEc(F ABBJ�����|���`�x���8X�B�E �E(�D0�K8�GP�
8A0A(B BBBJ�������DP������0x�T���kK�A�A �L
ABDG���H������=F�B�B �B(�A0�D8�D`�
8A0A(B BBBE ������NA�L e
AE4�����!B�A�D ��
ABKZAElT������A�A�G�u
AAHy�D�a�A�B
�D�S�
�D�Sa
�D�S�
�D�S4�Ȼ���P�K�G N��H ��i
I�M�Ii
I�M�Ii
I�M�Ii
I�M�Ii
I�M�Ia
I�M�Ii
I�M�Ia
I�M�Ia
I�M�Ii
I�M�Ii
I�M�Ig
F�A�J�
I�M�LD
N�H�Fg
F�A�JD
N�H�ND
N�H�FH
A�A�FiI�M�(��p���9F�D�G _AAF��P(�����B�B�B �A(�A0�`
(C BBBG+
(A BBBFL|�P���J�A�G H
AADD
CAHe
AAInG�A�,�����9B�A�A ��
ABGD�����aB�B�E �D(�A0�G�8
0A(A BBBKD���FX�T���l����iX��<��1K�H�E �D(�D0�p
(A BBBIH
(A BBBA@������� ��.��<��
H�8�� B�B�B �B(�D0�A8�DPu
8D0A(B BBBEP���Ud�X��s x����SO�^
CRN�(�����A�D�G0�
AAAL�����8F�B�D �D(�Q0M
(G ABBF�
(C ABBD$����.A�A�G ^DAh@�����K�B�D �A(�G0S
(A ABBFZ(D� A�B�B�M0����D(K� A�B�B�`��0���T�E�E �D(�A0��
(A BBBKp�����P0�����Q
(A BBBAH�l���B�B�B �B(�A0�A8�DP�
8D0A(B BBBK\����6MYPt�����L�D�D �B
ABGW�D�B�S ���H
�G�N�K@��t���E�G�J [
AAEf
AAHW
KAE������B�H�E �E(�A0�D8�JP~XJ`BhBpBxB�B�B�B�B�B�B�V8A0A(B BBBIPL
8A0A(B BBBBH����pB�E�E �B(�D0�A8�DP
8A0A(B BBBA���4��]V�E�E �D(�C0�G@|
0L�(A� B�B�B�K�0A(A BBBG�����H@�����u
0K�(A� B�B�B�I�p���#B�B�D �D(�G@�
(A ABBHl
(C ABBDc
(F ABBJe
(A ABBEi
(A ABBA ������A�i
Fg
A$�d���c�xE�H�Z�4@���/B�I�D �G��
 AABI<x��~G�D�A �~
ABCA
FBGX���d��D�Kg�B�B �B(�D0�A8�DP�
8A0A(B BBBAP8K�0A�(B� B�B�B�H �,�>
B�B�E �B(�A0�A8�D��
8D0A(B BBBH0l� �yA�D�K W
FABDCAL��l�F�B�B �B(�A0�A8�D��
8A0A(B BBBF(���]A�G�G0\
AACL�P�B�B�B �B(�A0�A8�D�j
8A0A(B BBBAHl� ���B�B�B �B(�D0�A8�G@@
8D0A(B BBBGH��d���B�B�E �B(�A0�A8�G@y
8D0A(B BBBFP����nK�A�A �G0�
 AABFV
 AABA����C0���\X����i[�H�E �E(�A0�D8�JP�8A0A(B BBBG������PP������������#F�B�B �B(�A0�A8�D�q
8A0A(B BBBC�
8A0A(B BBBB_
8K0A(B BBBE <����SO�^
CRN�X`����}B�I�B �E(�A0�D8�D@�
8D0A(B BBBD;HQPDHA@H�����$B�B�B �B(�A0�A8�DP�
8A0A(B BBBG��� ���Q�B�B �B(�D0�D8�DP0
8A0A(B BBBCO
8A0A(B BBBG�
8A0A(B BBBAR������H���"���B�E�B �B(�A0�A8�D��
8D0A(B BBBAH��p@��2B�E�B �B(�A0�A8�DP�
8C0A(B BBBBH(�dD���B�B�B �B(�A0�A8�D@�
8D0A(B BBBHdt�E��O�B�B �A(�D0��
(A BBBBP�����`0�����u
(A BBBD$���G���J�|
JV
JX�L�8H���B�B�A �D(�D0W
(D ABBCT
(D DBBA4T��H���N�D�D �
D�A�EQA�A�(��@I��QF�A�G wD�A�`��tI��/B�B�B �A(�A0��
(D BBBEC
(D BBBK�
(D BBBFH�@K���B�B�B �B(�A0�A8�D`n
8A0A(B BBBAHh��a��<B�B�B �E(�A0�A8�GP�
8D0A(B BBBFH���c��)B�B�B �B(�A0�A8�DPp
8D0A(B BBBE(�|d���A�D�D0b
AACH,�0f��sB�B�B �B(�D0�A8�DP�
8C0A(B BBBCLx�dj���B�B�B �B(�D0�A8�G��
8A0A(B BBBDH��n���B�E�B �B(�D0�A8�Dp
8A0A(B BBBK��o��9 (��o���E�O
Do
KL�pp��9Hp(d��p���E�A�D z
DAG8��q���F�A�A ��
ABEF
ABG4���q���E�A�D 
DABF
DAE8�r��!O�H�A ��
�A�B�GM�A�B�8@�s��)F�A�A �'
ABF
ABH|�v����v��5��8v��!@��Tv��NW�L�S 
N�H�EAK�H�t ����`x��a<��x��RW�D�G0[
AAA�
AADv��(P��y���O�b
GFB�A�_8|�`z���F�A�F �x
ABHF
CBE4��{���E�A�D i
AAKI
CAC(��l{���E�I�D �
DAB0�|��QN�A�G "
D�A�CP��P�<}��d�H}��!x�d}��5L���}��bF�B�B �B(�A0�A8�G�D
8A0A(B BBBE���������,����������<�T���B�E�E �D(�A0��
(D BBBAX�4���>Hl�`���JB�B�B �B(�A0�A8�D`�
8A0A(B BBBE��d�����`���qE�R
IP������GK�m
H��/TZ4 �����E�A�D �
DACR
DAIX�����PK�j
KO0x���LE�D�D V
DAHVDAx�����}O�B�A �A(�G0

(D� A�B�B�HK
(A� A�B�B�GD
(A ABBFP����A0����d(����ZX�B�E �E(�A0�A8�Dp8
8D0A(B BBBA�������Fp������H�������F�B�B �B(�A0�A8�DP�
8D0A(B BBBEt��`����O�B�B �B(�D0�A8�Dp

8D0A(B BBBH�
8I�0A�(B� B�B�B�EM������T���Th�4���|�@�����L���1��x���#������#������#��̕����ȕ��p�ĕ���A�tI A(B0B8B@BHDPEXB`BhApWK
IJ
FRK A(D0B8B@BHDPDXB`BhApKA8|�0���ZYNC A(D0B8B@BHDPDXB`BhApK8��T���ZYNC A(D0B8B@BHDPDXB`BhApK,��x���tF�A�A �Q
ABD$�Ȗ��@8�Ԗ��"N�A�G �
AABw
AAGX��H ��0|������N�A�G T
D�A�Ip��(��<����E�A�DPX
AAD@����fJ�A�G f
AAFP��H ��DD�A�l �����A�|D J(B0B8B@BHAPDXB`BhBpP_
CYF K(D0B8B@BHAPDXB`BhBpIAH��|���pN�A�G |
AADl
AAJmK�A�O ��H�������	B�B�B �E(�A0�A8�Gp�
8A0A(B BBBJL(����SF�B�B �B(�A0�A8�G�{
8A0A(B BBBFLx�$����B�B�E �D(�D0�`
(A BBBHY
(A BBBH\������B�B�G �E(�D0�D8�G��
8A0A(B BBBF�]�I�K�|(�T���6F�B�B �B(�A0�A8�D��
8K0A(B BBBOO
8A0A(B BBBG�
8D0A(B BBBO������#X�B�B �B(�D0�C8�G@r
8A0A(B BBBHB
8A0A(B BBBD`8A0A(B BBBF������H@������C
8D�0A�(B� B�B�B�HX�����l�����`�������T�B�E �D(�D0�W(A BBBG�����H0�����[�(A� B�B�B�\����tf�B�B �E(�D0�G8�J`i8A0A(B BBBI������H`������LD�����N�A�G M
A�A�Ko
A�A�ODAAJ��H ��L�������N�A�G M
A�A�Ko
A�A�ODAAJ��H ��l��(����A�mD A(D0B8B@BHAPEXB`BhApXY
GBL C(D0B8B@BHAPDXB`BhApKAHT�x���[�A�G r
AAID
L�H�H\L�H�P ��<��<���[�I�G ^
AAED
L�H�Hp��X�����3F�B�B �B(�A0�A8�D`�hOpBxB�[`Y
8A0A(B BBBGl<����lO�B�D �D(�G0X
(L� H�B�B�HU
(A ABBE�(C� A�B�B�Q0�����������O�B�D �D(�G0X
(L� H�B�B�HG
(A ABBKf
(F� H�B�B�Hz8e@AHDPBXB`BhBpBxB�B�B�I0K����H0����LP�����N�D�G0]
D�A�EZ
AADQ
AAE`��H0����\����X��#��t��#�����#�����&�����0����]Y�C�G ^
AAERAAL����HNd����Dx����HI0�����WE�A�D y
DAHDAA0��$��GE�A�D j
DAGDAA@��@��~E�A�G b
AAG}
AAI�
AAH(@�|��HB�A�D �}AB<l����sY�D�G ]FAH��H ��DCAH�������94����;DM K(D0B8B@BHBPBXB`BhApK4����RKN L(D0B8B@BHBPBXB`BhApKH0�<���B�B�J �B(�D0�A8�D`�
8A0A(B BBBA4|����4DL E(D0A8D@BHBPBXB`BhBpI�����2E�P
A����;HV
A(��@��fE�I�D �
DAK(����sE�E�D i
DAD(D����kE�C�D a
DAF,p����F�A�A �@
ABE8�����`F�J�I �A(�G��
(A ABBB@�����SF�B�B �A(�A0�G��
0A(A BBBF0 �����N�A�G s
D�A�B`��PT�X���F�B�B �A(�A0��
(A BBBEI
(F BBBC(������E�A�D g
CAK ��h��cJ�B
LFA�@������a�E�A �A(�G0�
(A ABBBP����H<�p���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBA(��$��GF�D�D �k
ABDH��H���B�B�B �B(�D0�A8�G@�
8D0A(B BBBG8����OF�A�A �@
FBHP
ABET<�����a�B�D �A(�G0�
(A ABBCP
(F ABBE�����H��x��RF�B�B �B(�A0�A8�D@�
8D0A(B BBBA8������F�A�A �J
CBIF
ABG8����3F�A�A �F
CBE{
ABJ(X����BA�A�D@d
AAD8����F�B�A �A(�D0a
(A ABBK$����+E�G�G IGC(����WE�A�G u
CAJ����K��
AH0����X�A�D �y
CBEX
ABAz
CBEP���(|� �GF�D�D �k
ABD(��D�fE�D�D u
CAA�����K��
A(��,�WE�A�G z
CAE�`��K��
GH8��IF�B�B �B(�A0�A8�Dp
8A0A(B BBBBH���4F�B�B �B(�A0�A8�D@X
8D0A(B BBBI(���WF�A�A �}
ABH��@��K��
A0���fU�D�A �n
ABEP���<L��gF�B�B �A(�A0�I
(A BBBD��@��K��
A(����OF�D�D �s
ABD(����WF�A�A �}
ABH�,��K��
A0���fU�D�A �p
ABCP���<P���gF�B�B �A(�A0�I
(A BBBD��,��K��
A@�����a�L�A �A(�J0�
(A ABBE�����4��|��E�A�D p
CABF
CAF((���OF�D�D �s
ABD(T��WF�A�A �}
ABH��<��K��
A0����2O�A�A ��
ABD����0����nE�A�D K
CAGICA(��OF�D�D �s
ABD(0�<�WE�A�G u
CAJ\�p�K��
AHx��DF�B�B �B(�A0�A8�DP�
8C0A(B BBBDT���a�E�A �A(�G0|
(A ABBGy
(C ABBG�����(������E�A�D l
CAF0H���SK�D�D �n
ABDG���(|����WF�A�A �}
ABH��D����K��
AT������a�E�A �A(�G0|
(A ABBGy
(C ABBG�����(�@����E�A�D l
CAF0H�����SK�D�D �n
ABDG���(|����WF�A�A �}
ABH������K��
AT�������a�B�E �D(�A0�w
(F BBBH�
(A BBBH������4� ����E�A�D ~
CAD@
CAD8T�����"F�B�A �A(�D0(C ABB(������OF�D�D �s
ABD<������gF�B�B �A(�A0�I
(A BBBD����K��
A0�����[U�D�D �n
ABBG���8L�����gF�B�A �A(�D0B
(C ABBH�����K��
AH��x���!F�B�B �B(�A0�A8�D@^
8C0A(B BBBDH�\��wW�E�E �D(�D0�s(A BBBE�����H0�����<����NhP����Va�B�E �E(�D0�A8�G@|
8A0A(B BBBA|8F0A(B BBBE�����������)8����
F�A�A ��
ABGM
FBK����&( ����VO�D�G hDAI��L���&d����x����\�����&����f��h���t��,����,����>����,�����B�D�D ��
ABA<L�P��xB�E�E �D(�D0�U
(A BBBAL������B�B�B �A(�A0��
(A BBBGP
(A BBBA<�0���R�D�I �O
ABGQ
CBBH���,����pB�K�F �A
ABIL����8`����}B�E�D �C(�G0Z
(A ABBA(�� ��AF�A�G hD�A�H�D��<B�B�B �B(�A0�A8�D��
8D0A(B BBBEH�8���B�G�B �B(�A0�A8�D`�
8A0A(B BBBHH`�����B�G�B �B(�A0�A8�D`�
8A0A(B BBBH|�����]B�G�B �B(�A0�A8�G@b
8F0F(B BBBEP
8A0A(B BBBA�
8A0A(B BBBB�,�����H�B�B �B(�A0�A8�G@^
8A0A(B BBBAp������Y@������C
8D�0A�(B� B�B�B�Ef
8F�0A�(B� B�B�B�Ec
8A�0A�(B� B�B�B�B<����O�B�B �H(�A0��(A BBBH�����0�|��	,D�x��QK�H�A �pABI���t����&����������&�������h��6L����
F�B�B �E(�A0�H8�N�h
8A0A(B BBBAH(�T+���F�B�B �B(�A0�A8�Dp�
8A0A(B BBBDHt��/��F�B�B �B(�A0�A8�D@�
8D0A(B BBBC��\0��3��0��t��0��C��01��F�h1���H(�3��F�E�E �E(�D0�D8�GP�
8A0A(B BBBG0t��5��	K�A�A ��
ABGX���(���6��AF�A�G iD�A�8��6��I�I�C ��
ABEK
ABB<�7���K�B�D �A(�D0p(A ABBD����8P8���a�D�D ��
�A�B�LA
ABD(��8���B�D�A �P
ABF,�T9���V�D�G a
AADx��4��9��EF�D�D �i
ABFAAB4 :��EF�D�D �i
ABFAAB4X$:��EF�D�D �i
ABFAAB4�<:��EF�D�D �i
ABFAAB(�T:��9J�D�G \AAE��(�h:��UE�H�D e
DAE( �:��UE�I�D h
DAA(L�:��UE�I�D f
DAC8x;��mF�E�G �G(�D0l
(D ABBF�8;��&(�T;��1E�A�D [
CAA�h;��t;��H�;���F�B�B �B(�A0�A8�D`�
8A0A(B BBBK4h�>���B�B�A �A(�D0�(A ABB8�l?���J�A�D �
K�F�L\AAJ��d� @���K�B�B �E(�H0�C8�M��
8A0A(B BBBG�������A�������`D�N��UB�E�B �B(�A0�A8�G`x
8A0A(B BBBJX
8A0A(B BBBF`��R���K�E�B �E(�A0�A8�G`�
8A0A(B BBBCx������A`������XZ���T�B�A �A(�D0
(D� A�B�B�GD
(A ABBFp����hd[��0RI��|[��WZ�B�B �B(�A0�D8�GP�
8A0A(B BBBAQ
8A0A(B BBBEI
8C0A(B BBBK������HP������TD]��kP�B�D �D(�G0b(D� A�B�B�T0����D(A ABBHp\]��F�E�E �E(�D0�A8�J��
8A0A(B BBBK`� ^��3F�B�E �E(�D0�D8�GP�
8A0A(B BBBHD
8H0A(B BBBC@ �^��sP�B�E �D(�D0�{
(A BBBGG�����8d8_��zF�D�D �D
DBHA
ABDL�|_���F�B�B �B(�A0�A8�J�5
8A0A(B BBBI�,a��(a��$a��@, a��F�B�B �A(�A0�G��
0A(A BBBKp�a��0��a���F�A�A �G�w
 AABA0�tb���F�A�A �G��
 AABJ@�c��$F�B�B �A(�A0�G��
0A(A BBBF0	�c��D	�c��
X	�c��
�l	�c���E�I�D A
DAHR(K0K8H@BHBPAXB`BhBpBxE�I G
AADD(T0I8F@BHBPBXA`DhBpBxB�I p�	hd���E�D�D u
CAJD(M0K8F@BHBPAXB`BhBpBxE�I Z(L0D8B@BHBPBXB`BhEpI Hh
�d��nE�A�D a
AAAO(L0D8B@BHBPBXB`BhEpI l�
�d���E�Y
JGW A(D0B8B@AHDPBXB`BhEpIF
AOL D(B0B8B@BHBPBXE`IF$8e��d 8�e���A�G��
AG�\0f��B�B�B �B(�A0�D8�G�z
8A0A(B BBBHy�K�	_�A�~�H�	F�	B�	B�	B�	D�	B�	E�	D�	B�	A�	K�@��l��$B�B�E �D(�D0�G@�
0D(A BBBG@4�m���Q�D�G Q
FADD
CAH_FAA��4x$n��lF�D�G B
FAFDCAA��<�\n��aD`H A(G0B8B@BHBPEXB`BhApLFt��n��4f�H�B �E(�D0�D8�GPg
8A0A(B BBBKR8A0A(B BBBD������HP������Dh
To���G�B�D �H(�G@S(A ABBK����H@����X�
�p���O�B�B �E(�A0�A8�D@<
8D�0A�(B� B�B�B�IP������0�q��qJ�A�G B
D�A�GP��(@r���E�A�D �
DAG8l�r���F�A�A �x
ABEF
ABG(��s���E�A�D u
DADL�Ht��YF�B�B �B(�A0�A8�D�U
8D0A(B BBBD$X���"8t���AJ�j�8T����(F�B�I �A(�F0�
(D ABBAp�����>p�B�E �B(�D0�A8�DP�
8A0A(B BBBE�
8A0A(B BBBA�������@h����B�D�D ��
ABKE
ABHSABHH��B�G�D �D(�G0z
(C ABBFD
(C CBBAX�H���tB�B�I �C(�D0�
(D ABBGy
(D ABBFR(D ABB �l���vA�G Z
AA ȋ��gN�m
E]
C,8���|B�A�D ��
ABJHhd����B�E�B �F(�G0�A8�G`i
8A0A(B BBBG0���VB�A�A �G@F
 AABK��������50<���|E�A�D Z
DAGFDAHD����/F�B�B �B(�A0�A8�D`2
8A0A(B BBBB8�l����F�A�A �D
ABAw
AECGNU�`� �����5������ �4�@�N�a�t���������ž؞���%�9���H�Z�x�������Ɵן���,�أ:�T�l�x���������Р8�b�p�|�������ޠ���"�6�������������̝������p������������t�m���)��#v�����6����������)���3.��������������
�������"�)���,���/�"�a�&�3�'�aL�<��Y�>�a@��w�h��|�����������������������������������(�����3�X��8����>�B��Z����^���b�X��g�k������������������`����������������������0����h��������������8����x�������������X�����������
����8����������"���)�H��0����6����;����B�(��I�`��O����T����X���_�8��f�p��m����s����z�����P���x�������������8����p������������������H������������������0����h�������������8����h�����������������8���h�������������"�0��)�`��0����6����=����B�I��f�0��m����t����{����������P�����������R����S���`��@�a��x�x������������ ��������X�����������������������0����X�����������
�������0���P���p�� ����(����+���/���5�@��9�h��A����E���I���M� ��S�P��Y����^����d���j���r�8����`��w����}��������������@��U�h����������������������0����`����������������������8����`��������������� ���� ���	 �#� =��
 B�@� F�h� J��� N�T� k�q� ���� ��� ��� ��@� ��p� ����  ����! ����" ���& ����0 ��0�2 �P�3 �x�9 ���: ��> �(D  �&�� A�F�!\�X!b��!i��"!n�5!t�0�!|�h�!�����!����!����!����!����!��8�!��`�!����!����!���"����"��"����"?�("�X"��	"9��"?��"B��"G�"K�Q�"l�("s�P"y��"~��� "!���'"���("B��)"���*"����+"�e��4"����<"�E"�XH"��`"� $�a"�A�d"�e"Ra��"��^��"x�|��"���"��(�"��P�"��x�"����"����"����#��	#����
#�@#��)# �p*#/���%4�8�`&O��c&V�e&\�0f&c�`�)�)������t�i��o��u��{��j��p��uX�d�����������������������������
���uXj����$��{��)�������t��-��������������0�̝��̝��̝)�̝��������3���7���o���u���i����t3�3�3�7�3�o�3�u�3�i�3��t7�7�7�o�7�u�7�i�7��t�t��@��t@�-�@���@���@�0�-���-�����t��-�������)����������6$��6���6��6���6{���$��������������{���$��������������{���$��������������{���$��������������{���$��������������{�j��j���j���j���j�̝j���j���j���j�p�j���j���j���j���j��tj���j�@�j��)j�-�j���j�#vj�$�j���j���j���j��6j���j���j���j���j���j�D�j�)�j���j�G�j���j��j�K�j�)�j�S�j�4�j���j�
�j��j�j��j��j���j��j�"�j���j�x�j�{�j�,�j���j�0�j�/�j�X�D���)���)���)�)�)�����$���ysp�ys��K��tK�-�K���K�$�K���K��K�{�K�0�S��tS�-�S���S���S�0�4���4�0�\�c�\�\�����������p�����������3���7����t��@����)��-�������$������������6����������������������j���D������K���S���4�������
���{���o���)���u������������t��0���X�
��t
�-�
���
�$�
���
��
�{�
�0������������)����������p�����o�o�o�u�)�o�)�)�)�u�)���)��tu�o���o���)���u��������ti�o�i�u���p������to��tu��t�t,���������)�����0���0���0�S�0�4�0�
�X��tX�-�X���X�$�X���X��X�{�X�0��l�46�16�16��t�46�36��� 46�36����06�36�����-6`-6����-6�16�16̝��46�36�����16`16�����,6���46@36`	6���46�36��'�@56 ,6p�7�*6�)`)6 )6��F�36P16��Y�@56`(6��f�46�36���@56�36��u�46�36��~�46�363����'67����'63��'6�t��@56�36�m��@56'6����46�36@����6�`&6�)�@56�36@6-��@&6�t�360&6���46�36#v��46�36"�(�6$�A� $6�36��U�46�#6��k��!6$�!6�16p6����� 6��}� 6��  6�6��46�36@6����46�36@6����46�36@6����46�36@6����46�36@6����46�36@6j����6�6D����36@6uX��6�26 6)���46�36����@56�6G����6@6p16!<��6@63.�@56'6 �(��6���46�36��<�466��S�46`6@6�d�@56�36yso��6�16)����6�36�6S����6`&6����`6@6��� 6p��36��0	@56�)�36�(�6�)6�64�j��	6��36�6c����6\�6 &6\���`
`6����46�36@6���� 6�6
��@6�366��46 ,67�46�36�p	46�36��Q�`
6�606�d��66�u�46�36���	46�36���46�36"���46�36����`
�
606����46�36x���46�36{�� �6�t
6�6o����6�t�6)���@56�
6�6����`
�	6�16u�	��6�t�6���@56�
6�6i�)��6�t�6��7�`
�26�tG��	6)��6�	6,��	46�36��R�46�360�h��	6��36p	6/��	46�36@�5jx������)��@D"���� �@�������������������d����������������@D"���� �@����������������������K��������������������4�@��@D"���� �@����������������������������t��3�7�i�u�o��t�����@D"���� �@���������������������4����������� �@�����@D"���� �@�������������������d������������c�\�(���1�5�;�A�#v"��������/�������,�)�̝��������)��������4��@w�E�5j�@D"���� �@�����������������������O�w��@D"���� �@���������������������\�5jx�X�����^�e��@D"���� �@�������������������l�t�|���5j������@�4���d����6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������p��6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�������5j+� �@��d������6����������0�4�@�S�
���-��)���������� �D�{�$������d��6����������0�4�@�S�
���-��)���������� �D�{�$������@D"���� �@�������������������������5j��������@D"���� �@����������������������@D"���� �@�������������������A��������@D"���� �@����@D"���� �@�������������������5jd�w����������1��������������������@D"������������|���@���^�d��	��1�5j�e�4��@D"���� �@�������������������%�d�@�4������@D"����%�d�1���.�:�G���@�4�j�p���Q���Y��4��� ���������ys� �@�a��������@D"�����i������@D"����%�d�1���.�:�n�G��@D"���� �@�������������������oaw���d��
���6����������0�4�@�S�,�)�̝������#v"��������/��������G���"����������)����x�������!<�������
����)�������� �D�{�$����@D"���� �@�������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�����������x����t�@D"���� �@�������������������x��@D"���� �@�����������������������3��@D"���� �@���������������������4����������@D"���� �@�������������������d�w�5j���������������ys�����@D"���� �@������������������������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<�������3.�m�@D"���� �@����������������������@����������������������@D"����|�����d�@�4���^�e��6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������,�)�̝������#v"��������/��������G���"����������)����x�������!<�������������1������i����@D"���� �@���������������������5jd��������������������� �@��@D"�����@D"���� �@��@D"���� �@�������������������,�)�̝������#v"��������/��������G���"����������)����x�������!<��������6����������0�4�@�S�
���-��)���������� �D�{�$���,�)�̝������#v"��������/��������G���"����������)����x�������!<���������x�l�5��������n�Y�����O����.�./85/'/:/N/k/�/�/�/�/�/�/00%090U0e0`5|0�0�0�0�0�<6$�>6�	��g
@���0
@����
`��@���A`�H��p�?����T����@�0�����*@��l@��7���q ������
 ���`�`���2�	��
�@P
 P`P_�P(R R�@R.e�����G������N�������e����(���

Ya*FMg������������%�@Vo���0�����
 (3<Rnw����������-5<UdmX{����������06GXf�p������������ �(3BHPXj�������
"'-@FMTYaj}����(�2�?�I�f��,
 ah�5p�5���o`X�(5
e�0I6�d�X��G	���oy���o,���o���o(���o�o�j���o*�F6-- -0-@-P-`-p-�-�-�-�-�-�-�-�-.. .0.@.P.`.p.�.�.�.�.�.�.�.�.// /0/@/P/`/p/�/�/�/�/�/�/�/�/00 000@0P0`0p0�0�0�0�0�0�0�0�011 101@1P1`1p1�1�1�1�1�1�1�1�122 202@2P2`2p2�2�2�2�2�2�2�2�233 303@3P3`3p3�3�3�3�3�3�3�3�344 404@4P4`4p4�4�4�4�4�4�4�4�455 505@5P5`5p5�5�5�5�5�5�5�5�566 606@6P6`6p6�6�6�6�6�6�6�6�677 707@7P7`7p7�7�7�7�7�7�7�7�788 808@8P8`8p8�8�8�8�8�8�8�8�899 909@9P9`9p9�9�9�9�9�9�9�9�9:: :0:@:P:`:p:�:�:�:�:�:�:�:�:;; ;0;@;P;`;p;�;�;�;�;�;�;�;�;<< <0<@<P<`<p<�<�<�<�<�<�<�<�<== =0=@=P=`=p=�=�=�=�=�=�=�=�=>> >0>@>P>`>p>�>�>�>�>�>�>�>�>?? ?0?@?P?`?p?�?�?�?�?�?�?�?�?@@ @0@@@P@`@p@�@�@�@�@�@�@�@�@AA A0A@APA`ApA�A�A�A�A�A�A�A�ABB B0B@BPB`BpB�B�B�B�B�B�B�B�BCC C0C@CPC`CpC�C�C�C�C�C�C�C�CDD D0D@DPD`DpD�D�D�D�D�D�D�D�DEE E0E@EPE`EpE�E�E�E�E�E�E�E�EFF F0F@FPF`FpF�F�F�F�F�F�F�F�FGG G0G@GPG`GpG�G�G�G�G�G�G�G�GHH H0H@HPH`HpH�H�H�H�H�H�H�H�HII I0I@IPI`IpI�I�I�I�I�I�I�I�IJJ J0J@JPJ`JpJ�J�J�J�J�J�J�J�JKK K0K@KPK`KpK�K�K�K�K�K�K�K�KLL L0L@LPL`LpL�L�L�L�L�L�L�L�LMM M0M@MPM`MpM�M�M�M�M�M�M�M�MNN N0N@NPN`NpN�N�N�N�N�N�N�N�NOO O0O@OPO`OpO�O�O�O�O�O�O�O�OPP P0P@PPP`PpP�P�P�P�P�P�P�P�PQQ Q0Q@QPQ`QpQ�Q�Q�Q�Q�Q�Q�Q�QRR R0R@RPR`RpR�R�R�R�R�R�R�R�RSS S0S@SPS`SpS�S�S�S�S�S�S�S�STT T0T@TPT`TpT�T�T�T�T�T�T�T�TUU U0U@UPU`UpU�U�U�U�U�U�U�U�UVV V0V@VPV`VpV�V�V�V�V�V�V�V�VWW W0W@WPW`WpW�W�W�W�W�W�W�W�WXX X0X@XPX`XpX�X�X�X�X�X�X�X�XYY Y0Y@YPY`YpY�Y�Y�Y�Y�Y�Y�Y�YZZ Z0Z@ZPZ`ZpZ�Z�Z�Z�Z�Z�Z�Z�Z[[ [0[@[P[`[p[�[�[�[�[�[�[�[�[\\ \0\@\P\`\p\�\�\�\�\�\�\�\�\]] ]0]@]P]`]p]�]�]�]�]�]�]�]�]^^ ^0^@^P^`^p^�^�^�^�^�^�^�^�^__ _0_@_P_`_p_�_�_�_�_�_�_�_�_`` `0`@`P```p`�`�`�`�`�`�`�`�`aa a0a@aPa`apa�a�a�a�a�a�a�a�abb b0b@bPb`bpb�b�b�b�b�b�b�b�bcc c0c@cPc`cpc�c�c�c�c�c�c�c�cdd d0d@dPd`dpd�d�d�d�d�d�d�d�dee e0e@ePe`epe�e�e�e�e�e�e�e�eff f0f@fPf`fpf�f�f�f�f�f�f�f�fgg g0g@gPg`gpg�g�g�g�g�g�g�g�ghh h0h@hPh`hph�h�h�h�h�h�h�h�hii i0i@iPi`ipi�i�i�i�i�i�i�i�ijj j0j@jPj`jpj�j�j�j�j�j�j�j�jkk k0k@kPk`kpk�k�k�k�k�k�k�k�kll l0l@lPl`lpl�l�l�l�l�l�l�l�lmm m0m@mPm`mpm�m�m�m�m�m�m�m�mnn n0n@nPn`npn�n�n�n�n�n�n�n�noo o0o@oPo`opo�o�o�o�o�o�o�o�opp p�a
m
m�a�
�
��a�a�a�)�)���)�)pu1��N�NMJ�
����GA$3a1�,-aGA$3p1113`��HGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3p11130�aGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFYp��IGA+GLIBCXX_ASSERTIONS
GA*FORTIFY0��HGA+GLIBCXX_ASSERTIONSlibxml2.so.2.10.2-2.10.2-5.el8.x86_64.debugW��7zXZ�ִF!t/��lLd]?�E�h=��ڊ�2N��)A�Lq�<��9����*�~p�n.�#�B��]�1/���+���pa� ]������Y��5�����zw��Ӷ��Z@/K�=�ٛ�XӾ-p�J9�^�q(�y�r'{�}<qi`1��:bo�B���<K�kZQ��ˍ`������c�O,i�ޏ�7�G�����^\�as@'~E	}Y�**#��"�FxͲ�����.y�Eb<�Ui(�D�λ�>� �΂�@�Ϡ���ߖ�I���j׸X��#�xަ��ί
�bs����9����F���>���G�jI�-j�Y'�!Ч����rUkcr-�=�^���.Ǩ�|`h�E9�gP�"��Ei���	0?��}侠���u�������`�i¡R��(��q��>b��j�j�����N��ˡ����V�����H���ڈ`~}A
t"�˞Mo�����.��6�|}��FΝ�fH��_u~�t����a��R�ey�VQW���)�D���S�����&��Ԛ������AJ���={N��*)V���Զ�/(�B�z�[9�&DT�/�z���ͩ̓����=�P�"+�M���I	CB�G����<
����R����CuK*��r���a�r-�s���S��D׃�e{�'�"Ŷ�h���f`̪�.
?�vV��ˎPk����~�u!�R���%�#����C3!���l�523���e�I���-?Q��7�Jc}@��vP]{�i�'�_�C�lX#)�񹔽$��E�~m�`�d�k�` �k4�{�
��t�#�6���$�|
�5�V$�x3"�S1m�H�ߙ�\(�n��ˣĉ.EA�G��M���.Tm��I�K���2F[N~�hGK��T3���,]i���=��Gu�R�!�+s�L��$�"��T��"z�c��Z�83@�R�$�=x��/�|�9�=-����!l�.�۽΀���<��3�{(�`��x�2#e8��!WAv�q�j��U�D�[�R�߰�WP9�����0���[�}�[=R�m�.�`�����ء]��6Ԃ�8�
��qN�$ׇ"ע��N�o'����8\��'	��I�l3���_�z��"v����2;6��.�"����'���~u�ϲ7����Bᝮ�ݝ��t��Z/R���U���gGI��~�X�V���PbR�Las���3c�_��r�׈�p��O(ʇ��M*�g������Б�@0�����&�!����{c�!y�	�K�.0�{�#�2������›Ꝛ�fmG�]��8D}DmNU��]�} R�Ǜ�$x���jH~\u ?�A�& *��(?�R��u[�Qe��� ��sv[��u0;�m�Į�;
�
Ԓ _�X�m��<��C��ðƿ
���[��^ƀ���6����܉���n�[n��'�jhW?������눶9r(��a�����)��G.�:��ദ�۽ޚ�>%<l����L)ډݿ&OCՅ#�}X��I�ldeN"�{ �X�**!z���U��e੶D�Ȼp9�n��'+̚�jh���=��_�1��W��}B�j��?�v�O�n�@����Kt��5,{��)��j�����k�{
���FC����a �j��r����cW"��D�o	C2�gQ�q�`lތ��K~��\����?g�g;�۟�hY5ʩ�
�"�8 ��K.f�`h;����)hb�4�Y�~��OI��;�.qԼz��`��l���kg���4|C	�*��G���H�t�w*?�TR��G����'e��M	f��fZ�K��{0c�ͺ�w�2%�"Ц�j2��ˀņϣ$�U2l�AZ`X߄�m�tߣ*���Z�9j��޸�Hj�
�d[�W�����|?c
�����N��e�Q+Ӥ���!��z{D��±
�A���$RTzoW��Ј�º�*F���x\���Q�\�����U�X�����r���1��=����[�P��_𲄛�[�P��;���#5z���eW�
eQ�� Q��6�l�5�J��i>��j�8�eM�;�38�B�	�.�o�ϭ4t�h�����5�Uc'U^���@�
��h���!p)��K8ٴd�r�1NB{Xfqa5�`��9{����C��s�A��J�#�$1-��N�4�:�g|�?�?��^���m�\��q3��#~d�(�F�G�RZ�ʄ���1ؐ!���7�Q��P�f����t���j�����\_�[��6�M���c- ʔ�2���]�Xق5O¨C��"�L�L��r���s��h/�l�}��E W�l����$i���r���1����D���ޤ�5qI��

vs�
�u��x7�c�u&�^͐��2��,���t� F�>�������f�>.� �yCf�JODʼnH���ji��U���+�]�7i@u�ӧ�,u ��³��{3g��m�:�e,TӔ5FNX{R��dy��Z�vls��6��Q����RUӹ���f�J�'X���,]���F�c% �r��%�dvk[�yd,����J��^�
��6�f�Ni�M?�G�p)E��L�o������`��Җ�b��0��'03�4q��O�MP��&{�uZU�`~��j�O��o�T/�<����
sH1��+�}���?�L�ǬO
��P��9;�.���N�e��x�U2�Q��)��m�$(�*�A�Ma����	�ߨ�	)fy��^� ��K�
/V�q���F��^�gQ����� c)��tf%�}bA���U7��������3x�Ԥ{��zn����2��`qW����0^��&U*��zm�MM��~��b8���^"�3�݆�#.�%�|�;e��o�2wb�����ˈ3�˸s�0@���&�}�~	Z��Te��'��"I�Q�I�!4wL���j��'_��x{v��2{�؏��ܕk}���nً��e���� ����-ё7~���d4x0[D�h͛aʫ�9rvC�&�µ�����P3�o�x���P�0�k��G�>�e�]�/o��\p��Q֩�3�� 5�j����4=0�cqZB!�*��+]�7���d�s��*��H�Au��f�=�b��燭�龮1��+W�.K�E%��7��.��}2�a�Tg��|��~�i�p� y˘u�Ȯi�ˏ����N���}�X���']��\2�2��c�i�����p^����X�������Q���,1�h�h���5���z�!�4�~4[���`B�ы�n���j�.�^�!eɆ6��Qʿ��~G�E��K����8�o���H�)����/�,{s7����U����
����z��i���t�P�
����p��Ŀ�5#\�vX�G��n��Z�	�0�X<�P�9��v�|3z�|x�uÈJ�B��q�i����{7W7�����e��!K�ڈ$�"��3@�l/Ϣ׬�X��x��qx�*̴�eR(�V��_l�0��X�$B[�f����xA���ĆQ},�1Ո��T(�Cԧ#��r���Ƽm��Vpˢ�(���o`V*��n4ʰ��8�|���`@vYvRѬ��S���s:���t���Z���5�}g��NB@�+�@
��l��^q:��j����k����:>K��}OH��aR#�0[sK�}�$��!���"��S�S]���yd�)V(�d�5qe�
 B(�^a��
h�͡Q�|�	��9^_p��].?��%�	V������
���DL�b3�ts��{A��y����De=�mcΣ��4�7�8#���~SmQ挺�S�dWlNP
��@F��3T����d}�IS�ƒ�n�~]ʑ�Q0�V�pQ�f~IsG6
˫j;��R��)o��je.ljx�/n�D������#6�z�Īy����]}r�<��f��t
��s�'>>��h@f-U{������)��?nŌ׌�A��~-�=��	��i�*$P0250�_�zG�N~����O��MFk��I�c��;8]�ĺ��N�Ө��@O���89�d�FvE�q���U+��3�B�U��y6�4D��|~|��s�W���(�!b��h���h��*��X�*;�p���a�Ň�]z�ak�Г�
j���(v-�P�@�*2�Xtb�o�N��C�!܎[4�%�*|�#�r<1����P
6M�n:�pZ�dM��[����Ƞ�Ds��#=W�{�)�t��Xz)�G^�C�c��Ce�r:��*'˖p>B�~�ӽ���q��a�k�>�����
o�g��_�?��d)�xa)����B���@<(S	&��an.����~�BÏ-���RHX�nI�۬i���[N�c��V�rJ"��|�2Q�����7��2v ���H�ܚ/��=ǿ[[�y2��9�1�?)
��:�C�!�´l��hs*�ɘϵ�}�GZ�l@@gU�/js��vp�J �o�?�n3Ő1.fb}�f�C�g�=�(��\W�a
3znC�
���*��Į5��6���_p=�}uA�ŷ�&�'�0Qq9.ͣs�|��I�� ��9�
�^�%2��S�™�0$���bÔM�/K�vy1)���=���!}h
ﻤf����kmzO$ij��E�B��/���$/��vOi����8�n����&8@A�Zs�l_�
�@	���?���?�D�a��E�۫A'�������n�7�y�ۺhz<f�`-%�ݮPJ�m[�Z�M��:+�(�7c�;�&m��*��p)�^�U6����}K�&_0+He��T'�����W�������J���&��ܾ^~I�u��Tјנ(����B���
�+Ol�u1,DB�E�9FVQF�Ő�۱��%��BF��f����I
��Dst�nV�T'
N�Hg����-JNWa��M��<�GFP0����g��V�g&����Ũ)b�j���O+���.�,�b6]A|�F?J�Y����%d���
,����<!�L�F٥^�^��>�U��Ԭ,.͢Rv9��:�G�����p�E������\��-�V���)��6��h��v����G��HH1;���m��py]ɰ޿O�Llb�J����	u��~�7\EG�Al�Y�1��مx0S\%p@�����|x}3�'1��)my�0v�n֓ڧt���R_o�S�<��{3��sx>OI�
��?���(C7:����R��/�6��!�L��`�p�����C����LR��9m/WOH��|�1�#ڳ�.�+6\�Vk�C����'��[۰]��dP�Iy�}���(Y��}Ν�
N,���L���-xo���CU�?)��p�u~�U��DNrUF�T�$Y\�
go�\��ej֪o���Y�K�[���Gbl�1h�u��Z�6S��~
�x��TG�mS��Y�z��ꪄ�Xx�o�S
Sy8R1�-� �d�s�Y��\�r���x��nRg���I�*#T��-�R"��ߜ�I��b��R��d�`'ɞ<@n��?hT	�Ⱥ^:4�[x�Uc��Rm*���#�;T�暗.&~eM��������-;Œ[+Fmy
eR[���8K4���:�7B�����]IX��+�����g��Z�
w�%3_�o r�?%�^��J��v��)����8˛�W��T����8$4J�W�$�KoŦ�p{���Iy���\��,N*�=_�*�?yb�Y��+aQZ$E.
E���7bi�
�&�%�%ka�O,�.^O��g�����7!�vS�F��!
�;���y&=nW�-��a(�� ��4<�1���|�4u8j�{�%�;�)Q|�(Z}�z�ĥcMi[��X�.W�i�y_�%��u����0��4�)��?���D��9zL��O͈�9��#d��v	i��߷�pcC��pm�Ww׃��<�A
��?�D�X��9���!�Hu��n1U�ŐŽ�u��&�y��L�́:�|[���fx��R�?n�dW����cQeSt�g��6�ѐ������.���wI��"6ѣ}n[��D2j��gBÞ��t**
�P�I�Vn�7�;��[{�7��K�e��[V��Ut%<
����^]]��Y4dO���z&�/	��K0�֎N滒����6S��1@��&ғ�L���2�(b�$@�T�M����hM����h�ZWJ����<6.fM������"��dPsu�#a0OB��U���d(̪ި`�t�5�Z���=��[���;�[�v �S�� �*�{���/s�L?�b.�	�?��ȫ���g�C�uJ��ߖN!�RX��~�"~�k����=��{�3ؖ˶n
#�2*�s3P6�5�K������̅l9�q&�����qH���x��(ҽ���~�]�]�w��=/j�c���d��Tӏ�33*�q`|�Qq<�r7� ��6=��)��)��;��9t��%��&��x��9�[c��H,rL�2��_i��Nz�H�_��E�
����U3�|t��7�y^W#p_	���ײ�]�᯽�ۍE�����|�KU��>z_�0�8�c�&U����g����j��JM���kW�B��:ߺm�s��b�O3�;�hI��N��.7���V����g�o�ϐ(�㷿��2k�~�[ၤ��}3�u�P�I3��:��Û�W�!�D6�Y��g���!����[��T�;��+�n���@ޘm���-�e��-%X��FpIv��I4��II;֐olMQ���l�d�$��!�P8��6_���Sxa��<t��_Qf,f0.پ��
t��?�PV��*�ħF�I�|��@�'�j�
9o�V"�#x�[�>�D���nD����jAZ0�������դ ��bYȩ���z��,)È��8�4�s�
�>*�A��!ȟ���}'ga�Q���ᙵe�2B��\�%�rU�z�A*���/ę;���'�\{��|����=�2��yaa]����q!8"�DJܼ���0�$$j+rΚ�IO��pL�6��J��g�b�_b�Ђsa%�����x`}��5�aH���1���i'Q�L�1�gD�]���u),#Ul���JEa��go�=��7�
�ppi�k�/*��<�ͲG���]еpVd}6��li��9�$��aF���.��1�� POy0=�M��$�EK{�%��&�N�����k��ع5��`�aL_�СT+Y��B+{�R�r��F��+d��\�	0f�L�c��r�٧�m!�� ��X��˷T��5`~q4đd���}��62��7�Mm��C(79�.���*�<���	�[�!�/��E�Xk�)�4�0��=��FA��[�&���M���}��
�UR�IK�ҿ�zpS�
͙�
��%4��P��L�OR�]En ������
��G�3Ma���z���7޲���[L���,g1Y1����[=�a�v������3
���c%N1��i��+���ER@E
_�6��6@V,nf4�]��W�Fs�9��Q�%8_�w�5�~s����Ő�=3J/�Q���VBXi4S�-J���n��P��X��A�'#�6=�ѼHqI�v�XD�	�3���~:��{H)ZY��.����a�q��o�0�|�F9��F�u_ژ)^
V�v[o��̽k��q��
}��8�I����^��xa�H��qǺ̳��,�2�cqdE䒿�{ۨ��{����w ���0�S��	�y�%�w���q*ߡ\�c�i�Q�H�p18����j'8��w�9P��49�e�9,9p�����n����#��ʑ
��L{��R��>� RA�%W�����q'(^6(s�g2�%�S�)� �)�I�i���`�;u�4u7	�R�c�v�u�m����~��ܚ#�
i��?>��Me�tX��;k��A5���ZY�7_^_r8H����dp�D�0��D�]��$1c�R�d���#���ҵ2��[i�丬�tTP:X�r&������hs%��˾Ǎu�B�#��	N�~Ԯu�E8��V>1�e���(�"�����υ��
G%�%�<g(�x�e3S���=�j�.6�gWw�3�ݼA����!�!�^)�̹����(FH���hd�4�u��ʽ#l�@6]�(�S��LFFO&��ƪ��F�S����M��&}����ڰ���t�>��Θ����]�8����$\��{�!���`��-;�8��i������.7K��S
��F[�/���?�2#@UeY�u�H������ ,��Υ)��c�1��pޣ<�xMUr�Ǡ�G�D�Š��4Q4Py1^�$Y0�ތ0���g8K
�϶
�y�.=��³>E�D�=�_(&��B�u�]�E�&������1���'��s���,/�SUh�����e�Sm���<����
l�kx�F��L���x!�~9��h���w�w�y�9���GY��Y�hI����.
1�`nhWF?�Py�R��j��w�Oڪ��z���r�%�J͇N�k���U� y�8E}��]�P�,*�?b� xǦ�?>��B��B�jr0��S�-�Jl&��V�s�t0���͈MY��bɁ��v?u���֙��	_Q6f>�^�_
��&;0�*�ag9�cx����73�I�Mw[b�U"�a2�b6Mn�`��Azt�Q���#D�L�a��y�+b��M|^��zp�P:�[�	Qg���\d�K
ˠ"��J�l˘}��	����ʺ&��L�oRBe�?�!>Q�=�`��;�4�6�d+6ɘ��^��Yw���!#\�^�RM&2�qv��y[+]�����8�w�QnW�!`.O�&1L��ʫ��S��9����q�?��&��߉�0E���vKL;|U�ٲ��}���_�j���,-�D�~�J��M)�j���pG�O�F�ô5�\}���|��Di�ݘ��a���n�|�]�;�c/�w?�Χx[T�:����yBgf��܎�|�7�o���@��:F8����sJuEX�vk�j�z	zR�m�P�ev<���OH_�K�����?�Ņ�ӻ�#e�� �E�^�[:q�����#}�����1Md�^K��,q�7̗к��~'����0���xc�{-��"��V��O��췮8N6i`�0OI>��vi#���(��BhX��Է����kƄmg�o������(����TܡB������!�EM��aDI�"z�U4%ɶmK=�8�t	�bz�Zw>��q:άuߤ�O���ԗ��N�9ۤ-M�S
�v�!�aa�r(,u�))��&� kP�=#pn�h�WS�����a|��L��Q�iW�E�NO��{bE�8Fɑj5�p�+�����-�{�D_<��x0�g�6�x��bIe�‘����eA�>�-j|�l!�$>o���G!���b�&��|=�FMId�,�>w�eV�1QT��~�A�S��\VZ�]v�Ԡv\�`�Vh��s��~m`�}��Ƨ+�}���E�5<P�`�=�8s�Aslw�.cf�T��e��w�Vc	��
L��d	�������,�<
�MyJO��>]���4�rPYPf'���~�i��؜�g�渋�^��+�i/�͘����Mn�+oy�&�m�"�V�����:P%"�����T����wN=���98���5a4}�C�u�r,(�'(�:�l��ʁ��I"�'ȝ.mj��&Ś�
Knjl ��W>`0�pX5�/WX����@�Ot���.2�ψ�L�qZ�g"��*���ra\%�V'Z�׻Η
4�Z
W6�v�J[z�b�I���:�&_�X+T����y�&�S0�by?&`���Sy�Z��yک�aB8��Z�-6)wNSCd:0�8��	&k�]���c�?=�oZRj G���a���8]�Vu�Y���&ͲD��W����o�τCQ��2ս>����6~�
꽗�Hj��ĵ=�D��	#�ە{����=��7���_N��2:�vTg1��R����UN�E3��Ԉ��L0�C��q�����K�=5�*�e��Y�>�*m�v�ѿ����ѥw������i{�!S��x��n@M�ʫ�:�
��Y��Ƅ)��O���Ș�����n�T���{l}mǙ&�H`-���v�T��y��y
GV	�Gw���s�SMܙ�"�Ьĸ̝+u>����iV|>�>�����T(�{aX�$��<�Yus���+��Y��C`a6�'�������fd��{V�=���Oq�q�ϊ���w�|������*O��H^�%9�u�A�{`�����'w'�D���0KN_GX]/N����L�3(B�C���=�/U-=���\ EP4<P��<�NHa� 㿷�p��0��@,㖖���~�����N���?��S>q������Œ�2�_�
`�J�e����=�	��]Ga�e�l!"vR
�$E
b_��Y­��֍m
͟��I�.n~���ۘqi.̽=�S�a�B�C��گH�m�M;�U�'p���?�=X�q�72o����+$��]��H��|�
*��>ϰ'�Jx4e|;c/X����sJ$�_<6�sV)J|�Kn9��j6�k�]��bg;�����!.�yu�@|Y�l�8�+��k2Hx�4#2e0��]�y��0R�j�U?�������>
���a})�_0�c!�DF���evql���jea���3�Bd�'�W"��]�[���_�bRr�
eB�2���1�-ɳ�Mw���v��9c�4�������vE)-�ybh�$���)���>+���x���u�a�8�o�?�B*؆f�>�N��k�x�W�{�+{)!�D�!�ـ#�2��Fl^փ��y=6o����D�D�{�Ͽ+!`!�<��N+pw���,�G�G�Y�>*؁y,��ݢ�<�D�t��r�K,�/v��F��r/��p��GJM�g)�I2�F@W
�8�c�>%|����ڟ�#R-v
d�S�D�W9��������G�p��$�vi��
C�H��˶�$�-S}�����W�<B��&��%a�-�DyX�����O��V�FX�eT9&=�3�V��?>]N�ynZ�P�$B�G�b�ʽCE�$�4���qf��s�R�i��L�O�%8���G�	�'�f�e�#�[��g~��SU0����ϽP��P�[ !���[����D��{^�Ì�}����;C�y�0=W�{{�t��
��y����x'��r�e���x##��ļ�r.�/V�̭Gq��v�Xj��[}%���lx�m�����6|T��-���=	FHu�uCV_4n��`�Q<�
"'k|S�5�؟95�%O��hN�@�\�&ݘ��Ν�acqU���y��Q}f1:�r��S��&���3�gF3���:
�fG��Ħ;���!�E`��р�ͮ���Jm��:B��Fq�w�7�֊N++&r�뺰�
�t�C��^P���Q���ѓ/.n$�|��$Djh�ɜk�lK�&��
��W��5�]�S�m�8��l�4�%_�T�O�O��Ԃ�D�d���=i�	���R��g6�t���%���V���ZcO�>`���ƈ�$8P��a��g[���ޯȳ��!����im׾�	.O��^�Z�>_,�IP�G)d0�`"����%�K1M ��ɛ�gS�T�,�II����>�y#[/�}�F���SU�l�f����A��d�ݪڂh�VN�{�>rK��wˈx�'xUT:
~�<�@�A��r�"T
�vОj���f�}��+��I(42X�Zʜ�'D͓O�d�/���;zL��8��^��w�u�z��
U�"p�inDEs�)��:��
"�2.�z�`n����Wˆ\]@�Z*L: 4��d����F�N[�r5>�}������:c#���^.�5"8�l��b�~'�f���И<�yI����`EWbe5˄�(��
Ĉ�in纪.�1�ϭ.���$v5���U���o�e��y��d�����j���Tn�i�+�r@�����U�
��b�$���3-�fi��HFj���5�4P��c腓���[�
���P��:�:_����ݰ�}�J�!a����2��k--��=T��L��;F�@A�8�L��GX�=}0;*��O�vߟ��"-���TiFV�L�(C�Z����
����O6���~��θ$�K��M���ti��}a8���3�=�JW���[j?���cc��ZDB�Xm(���?1�^欢W#����4<R8���]��\iB���V\ب�o�_nͬ2l��`��O��*��'�UFQ�cX����a��q�����O�L¼ݎ��,���h�e��‘�q����Y�M��`5�f���]���İ~dp>���1�&駱�z��HWU���:�	\�h�d�aݭ���-�	�1�+
��!��)�r�:�2��k�w����6�(������p��HrQ{��p����m�G�}�LfBn+�V륎T�'�ϊ�F��9��8%�f�xSz���"r�AQ��4B��f>]$Kx���,��	9%#��U	+Z+�|�'�)�U��X��{
���e���w��kɼK/V�99nڡ��:jq��1$x��]�
/9ܚ�']k!j�=҉�R�'m����V{�~1�2X�ؔ:�e�I�c��|��y�4�-�<}���BT�Y�[
���T���^;]3��8˓���*f9����"�����^��f��C0��Ӊ��S��#�Nxc}��:}� �ZB=E�x@���"��8��ހ6���!6P<1��y�L �te�c�1���E_-^���Nˮ
�����K�6�,�9G���V��ʖJ%���@��<@s�gi��}�8��aEr_\���@xt߲NN4G�O4Ng�>�5�B��g̫����E�a�Ȧ�T�f4�}��[�D�LC�
c�j{�,2 =)��p	y~q/h"��y2&V/H$2�c�@���C��|6n9��{(E����J�F���N8B�+^@u+���R�_~��� 6�0Daڗ;̝!7��[��n���"K9��޷Z�/��{�ֹ�p�"�8��]��d@����)�h1�ڽJΖy�S���;sBSq�u
m_B{f��dt��;�H�m�!�\���̣~g��m�-�!�M{��q9�s��E�/�KZM��U���4�o�RS�H@@�M��J���MD�T��Ʊ���;���;�c�پ�&;�O�e�����B�����nA�sOb�;��tZıT6o�;��Ω�Ǒz�p(J�G��]4*m�"��QfWr`M�2/x+'xx�^f��^#%�c0|<��=��[�<>��O���]d<����.h�O^�,<��@o�"�`��G]aeݧ�ԕl%���!�nd�/�n�~�(0�:L����JcpX�q`�y�����2����
�-��k�e,����z�{T�3�K:�h�p$�}�O�0�m�Te����W0�@���˟�̐w~��/�&��]�<r<�݂���ke�$$2�)@��灁���)`K@�hҭD��ΉE��,]�Gһ��iT.�o�s�g�z����M,.���Pa��Y�S��g��wM$��	��n7�ْ�?�"�$1?����}ğ	y8%}˪��U�'C�����es�y�ԫPҹ[�����R	��{�_)6Z�C����?�@{�ٔT��2���}�c�6���UwK��|繝/��<0t���"ζ)��Bȫmr=���P*����W�Yh.�mɍ-�&�dm��K9u����x䨏FV��ك�~�46'pC39��-
�m�t1w�-�[D;zҲ��\<o,4���}����!���ÿl��6SI/�K��o��xr���H}vޖ�b$Ņ)A���nd�op��H� :^)�=��s��6"���{02Y�,@����j��IYW\K�	���G����:��d
�?��}��{�Ǥ�2U�4D[a��U�42ِ�fH�7tg�TM�[ +���"+�c�p�{,���M��ϡ�����hh�N	��k$��S�p S�Ar���F	B1��uzP�J��g�Qx����n�I�R��(�El�l�*�[U�G��ȓp�
��5��2A_���n�^nZ�f��<h�ߑ3�NzVJ��H���\7�0�����
8�$ۃ��؟O�m�џ��1�5�����hِY��uƯ������CG�ŦQ��u&t��£�g��;�:��!v|�9��,�r;~���c�bUk���
�_١?-R��M�@1�3�1*mCL5��C��,uiK�t�=17�!
P�ѫ,z	#d�R��DM$���/�D���Cm8ɸ����J�M��v���`�ˑd�g��3��me%���)�O�x?M�~���(X�W������r��̠�P��6�����5�C�(�]C�"�V���&��,�E��#�!���+!z��^��&/t����(c�g��`�K<�?�`�K(�|<�gqR��&mw�}1��l�
������?j���Ӝ�^<�I�p��V} �dL
�;y
�F���c�=J��xQ!��(��J|���u�b�յaoS�y��8�K���
F���
<z���WB~�C7r<Y�8���t }볯�#9�$�!j"�%��&���%O䭿��٧Z�Ѱd�
�Ug��*���|G����c��5�Wa}��7�E���"��f��;#��m�5���61��F��Ǯ�&�G61�ߥ�(`,�ያ�J����+�l�b��޸8��f�!F����b_A��YI��ڝx`P��8p��>��6@ѧv*���j��
��I�1�B\�h���.�3�0a��_]N������}���L��$�'D�أ�}R�
K]�W�Ο�-ǧ���w�Y+�O��MlLП�;aH��;u��1+f9�L�V�Y��;{׵����2;g�ʷfĞqN���y�%��r*t���-�Z]y�����9 ��?N:b�*��)�_]����8H��et|�����.��n�-Y��~��S��p��wl���ˠ��.,׍��:;�W���&�����u8O��l^�v8E�	S�2;Uz��'�˨3�f��.x�������25l�����N�@ԿMCU�|����O��|�qm���I�|�Y�$X�ւ�#W��Y��%m:y�^ʋ�t"q�ͷ���$ؙw�)w[�R.%a_F[Ed�̮v^�%��l!��Vof8�a��^X�$��c&��r���lw+�]����+r��tF��޳_f���%�/���9X
E��l|!Å}�"��iG�]�Go�/���g�]"�����5`v!	-O�qX!��'���=[�%���녡�/X��D��W!���,���:�ES��#ǎ�+�j���}JA]�����N�[�jt���jPy*d&�,��t�ԏn�[K���'��?�z6#&�r�0�x���t��FƼY�W^L��)@�����	p+~Պ�_o�w9���QU�9j��>�-���:E.O�&R'�+�FР@ѡ	�e�"qU BU���=d�47Я�[Օ�2nۻN��� �k~�� ��՟4�:
�9�>�o���J?��+J,��bJs�g/�#m�����TW}a���^*|,"!�(:6��Zu!�>���0kg�J4�؍zҨ�Ѭ�E�^�0�Gf�Rep����)�ˀd�8%_xjg{�'��e"�? �َ��Ɩ�+?�{:;�~�q�z����؞�[IU�т�C�@z�cݗɏ���[R��oC�iYJ�Q�Lýp*�A�^�8��Fiؔ(�g�sS"���H��� ��be��� �߄�KŖ+s7Y��s�k�̬��z�y��*ا��{@N�X�@xY�:��7����+��K�z�i�*�G=Ɲ6P��\���	�l09(%���ؑ�]S���1�B�����/�c@Q�K����"�k>�B^�,��~�0D<
Q�+�O5�BŹ���i��=B�L+�L��0���a����x���8ʧR��U�!�C�-����cp'�C�K41�G^�۽bg�Q?6|e���Z��XJ�0!�m��h7�E�{|�"&$Um�GQ+Kh]ݻ Y:��=<\
�G5�]�a�k�Ώy#�(�'_6R���)��B9>��Z�2�zV!KS��ȼ���G���EC2�rB7���H������8�.�8M��6��\!F�Ϣ�����›Rqx|۫�3RF"��]oG�X��B���t��Hc��`ģ�;����ܚ���O^ަ�Y����u��8Y$
ɁM��1ڃ�hE�;�bT���D�}N$�M�ug9t�2�:����.����3��_?�gӽ*��A��Y=<��"4iƢ5�.
��NF(�Yb\R�"$�� b߄8����{�n���$ڤդ��	��� �S{7�
$�#��~r��Ȏj�t�|��?5���y�`�k$}9דŃ�A?Yx��GK^��F��>ğ�Q�t+j�G�>#�<��/��U^�;��HF��a	}׌�a�x��]�yՊ��L��I8�د���E_96�m�߆i���V�wK4n�F�&!�R ��^.��m�59p�K>��-�a;c����
�Gn2,</�edNt*�dESdWG�hfȈq$YN���5SY?���5��LY9z�S���0묻;�7e��/�\��/ ��ʔY/�d��6v�W��u�ۥ�sZn�X�
?�դD�Ua{f��yN����t��S{�g�Ss�)��8��7� Hd6�p����<��o�8�[@�%`ФI�O�"vCR$�[G��I�t�ɓhD��i:�h(�q�@Y�a�����$��
�F�
��ȞU#g����Dt􃼊��>BE�s~}0|޸N��P�O�s���glM��<T?�9�й�>_��">J�^š����c�kW�d{�A����`�+�ut�x�^��Q<�dt��T|ʼny|�oŀI�i¤u��@�!��ߜ!q�.�'(���

U������Sq_��
dd�G#�i��1.[2��;N����"�Ӿ&��z�)�'L���.��I�շu	Ztݥ�/�>�v��Yǵ��<�d�<<�8&�hF��x��
�
G%K��d�e�MY���F���l�x
��}�`��?��t?�b�i-��E�<|��#�~u8�۔��kzy��%Y��X�.�����G;�e9�e�7K�P�l8=���T�)�h��(#��m���)��vj0
�I��@���R�b��30`@ߴ��ԎQɸ�|�M���z/2`K�,&u���7�`�s�C� �Ob�a��j�� }�g�у�~#	�e�
{�f��o�-4���&v�������i�b��%}<YD���dE�	$���[+��G�d�T��\E��BE��xJ�{�ӄ�`�f.�t[��;��/�#��e���L0�I[e���e�[�H.P7'p����=�[X�_���J�s�g�gm'�_4%&@�X@?�����?�
�r�9��A�8�i��t�%�hÙ_^�����cTSa�5�K;�`�Kg�Vd4�ߓb@��⼵8̑w>RZ�m���8+�C_@�(L��D��~�^|�[BD��x�~%�j�TiE������ė�„�Ȟ���m؞w֐{@�v�6?y:����Ǻ�p�諒�5Ψ�8�����n��v���`n���c/-��"5�m�������G�i�񸣅?x���-us�L�;��i��4.yN14X��.r���m�"�i�UL�..~�^S�åyДܜ�9Q΃�h�,xt���! ��o1�3&�~���"o�.��p3���1ͱ�؜��c�>h��/W��.�Vh, I�ŭ��/HX��B ��C�L=4 �~�y���������ߞ�f��j	�9,��bu0f��Z��,v�%Sx�g}�!C�@N;�F�2L�\vi�?��M<�|<�;N��)"u�J�Y�,V1�Ἣ3�L"��z����
����@�l+E�Xc{�h%�ē�!"�uK��%NweBͲ�V�Ӏ�~�c�őS}�ø�{{
���
� mG5r3f�\G��+�H�X�B�~����>���T]�(���̈́l�"�e}*<����򕄲a~��O�\���;����W[f��sſ.�hT������i	~RS��5'��_�R������C#��m���?�2��F�08�N�󈹛����MQ����A]뵴�,91M�C���-�"��=>Y�����߽"�Z3E�V�D:X�%�4������$��2F��(�Y��j��U~�sh�[�}��VEi�����F���g�ߜW8~uH}���75��qTx��f����0;
#��H�+�8z���|�����vs�gz� Y���rs�>ϖX�'��z�����[��N���e`j���y"#�~>���x�I��)w}�.�W��6#��C�-ׯ�`��%ź��ç��]-)�]��н������T�D��<z�m��>z>Г:�*�x�ז���ځ�;͠�qn���-O�3�Yq�e4�1�.�C����&�i�Yx1��!�wF�K�uԔ���	�)sV�E�մ̬��-+�{w+K�'k��r��Æ�r.ͽB�r}�\�T(lH���r�E_�I �[����w����Г�N�.v�d,�4���0�jWY�2�K�!85�ʠ%�Sk��x`?�Ehz��iaE3�[�/����X^	��f�Q'M³mg����݆�Є��U�RT������a��!ڦ�6������ic�2�5nz乽֘���n�X&�v[7�!�Qg�i���N�G%�&m-Z�ȊCB?k,.H��jgy�J�e����6�N5b��tM��9�bH�ԥ@�:L��u������מ1�Q��L���\�UC\2��Z���u����/ZS>;n��#(�D���Ut�Ң�fo��q令ϓ��e����}.�^�G�
\OAE�M��Y^���$Ȟ0�A�D���5@
����i��}��g�YZ.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_d.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.note.gnu.property.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.gnu.build.attributes.gnu_debuglink.gnu_debugdata88$���o``�2((5(50�0X�X�e�8���o�j�jDE���oyy ,T���o((0cX�X��GmB���dw�,�,r�,�,@C}0p0p0C�`�`���
� a a
�@a@a� ��a�a�M�������P�P� �h�5h��p�5p����5��`� ��F6�FP�0I60I�&�p6p� ��u6�u� ��v�ul$z0(Tz�L��7PKi�Z�m��==!usr/lib64/pkgconfig/libxml-2.0.pcnu�[���prefix=/opt/alt/libxml2/usr
exec_prefix=/opt/alt/libxml2/usr
libdir=/opt/alt/libxml2/usr/lib64
includedir=/opt/alt/libxml2/usr/include
modules=1

Name: libXML
Version: 2.10.2
Description: libXML library version2.
Requires:
Libs: -L${libdir} -lxml2
Libs.private: -lz  -llzma     -lm  
Cflags: -I${includedir}/libxml2 
PKi�ZTsZ���,usr/lib64/cmake/libxml2/libxml2-config.cmakenu�[���# libxml2-config.cmake
# --------------------
#
# Libxml2 cmake module.
# This module sets the following variables:
#
# ::
#
#   LIBXML2_INCLUDE_DIR        - Directory where LibXml2 headers are located.
#   LIBXML2_INCLUDE_DIRS       - list of the include directories needed to use LibXml2.
#   LIBXML2_LIBRARY            - path to the LibXml2 library.
#   LIBXML2_LIBRARIES          - xml2 libraries to link against.
#   LIBXML2_DEFINITIONS        - the compiler switches required for using LibXml2.
#   LIBXML2_VERSION_MAJOR      - The major version of libxml2.
#   LIBXML2_VERSION_MINOR      - The minor version of libxml2.
#   LIBXML2_VERSION_PATCH      - The patch version of libxml2.
#   LIBXML2_VERSION_STRING     - version number as a string (ex: "2.3.4")
#   LIBXML2_MODULES            - whether libxml2 has dso support
#   LIBXML2_XMLLINT_EXECUTABLE - path to the XML checking tool xmllint coming with LibXml2
#
# The following targets are defined:
#
#   LibXml2::LibXml2          - the LibXml2 library
#   LibXml2::xmllint          - the xmllint command-line executable

get_filename_component(_libxml2_rootdir ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE)

set(LIBXML2_VERSION_MAJOR  2)
set(LIBXML2_VERSION_MINOR  10)
set(LIBXML2_VERSION_MICRO  2)
set(LIBXML2_VERSION_STRING "2.10.2")
set(LIBXML2_DEFINITIONS    "")
set(LIBXML2_INSTALL_PREFIX ${_libxml2_rootdir})
set(LIBXML2_INCLUDE_DIR    ${_libxml2_rootdir}/include/libxml2)
set(LIBXML2_LIBRARY_DIR    ${_libxml2_rootdir}/lib)

find_library(LIBXML2_LIBRARY NAMES xml2 HINTS ${LIBXML2_LIBRARY_DIR} NO_DEFAULT_PATH)
find_program(LIBXML2_XMLCATALOG_EXECUTABLE NAMES xmlcatalog HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH)
find_program(LIBXML2_XMLLINT_EXECUTABLE NAMES xmllint HINTS ${_libxml2_rootdir}/bin NO_DEFAULT_PATH)

set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
unset(LIBXML2_INTERFACE_LINK_LIBRARIES)

include(CMakeFindDependencyMacro)

set(LIBXML2_WITH_ICONV 1)
set(LIBXML2_WITH_THREADS 1)
set(LIBXML2_WITH_ICU 0)
set(LIBXML2_WITH_LZMA 1)
set(LIBXML2_WITH_ZLIB 1)

if(LIBXML2_WITH_ICONV)
  find_dependency(Iconv)
  list(APPEND LIBXML2_LIBRARIES    ${Iconv_LIBRARIES})
  list(APPEND LIBXML2_INCLUDE_DIRS ${Iconv_INCLUDE_DIRS})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "Iconv::Iconv")
endif()

if(LIBXML2_WITH_THREADS)
  find_dependency(Threads)
  list(APPEND LIBXML2_LIBRARIES    ${CMAKE_THREAD_LIBS_INIT})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Threads::Threads>")
endif()

if(LIBXML2_WITH_ICU)
  find_dependency(ICU COMPONENTS data i18n uc)
  list(APPEND LIBXML2_LIBRARIES    ${ICU_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ICU::data>;\$<LINK_ONLY:ICU::i18n>;\$<LINK_ONLY:ICU::uc>")
endif()

if(LIBXML2_WITH_LZMA)
  find_dependency(LibLZMA)
  list(APPEND LIBXML2_LIBRARIES    ${LIBLZMA_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:LibLZMA::LibLZMA>")
endif()

if(LIBXML2_WITH_ZLIB)
  find_dependency(ZLIB)
  list(APPEND LIBXML2_LIBRARIES    ${ZLIB_LIBRARIES})
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ZLIB::ZLIB>")
endif()

if(UNIX)
  list(APPEND LIBXML2_LIBRARIES    m)
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:m>")
endif()

if(WIN32)
  list(APPEND LIBXML2_LIBRARIES    ws2_32)
  list(APPEND LIBXML2_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:ws2_32>")
endif()

# whether libxml2 has dso support
set(LIBXML2_MODULES 1)

mark_as_advanced(LIBXML2_LIBRARY LIBXML2_XMLCATALOG_EXECUTABLE LIBXML2_XMLLINT_EXECUTABLE)

if(NOT TARGET LibXml2::LibXml2 AND DEFINED LIBXML2_LIBRARY AND DEFINED LIBXML2_INCLUDE_DIRS)
  add_library(LibXml2::LibXml2 UNKNOWN IMPORTED)
  set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION "${LIBXML2_LIBRARY}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXML2_DEFINITIONS}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXML2_INCLUDE_DIRS}")
  set_target_properties(LibXml2::LibXml2 PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXML2_INTERFACE_LINK_LIBRARIES}")
endif()

if(NOT TARGET LibXml2::xmlcatalog AND DEFINED LIBXML2_XMLCATALOG_EXECUTABLE)
  add_executable(LibXml2::xmlcatalog IMPORTED)
  set_target_properties(LibXml2::xmlcatalog PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLCATALOG_EXECUTABLE}")
endif()

if(NOT TARGET LibXml2::xmllint AND DEFINED LIBXML2_XMLLINT_EXECUTABLE)
  add_executable(LibXml2::xmllint IMPORTED)
  set_target_properties(LibXml2::xmllint PROPERTIES IMPORTED_LOCATION "${LIBXML2_XMLLINT_EXECUTABLE}")
endif()
PKi�Z�t���� usr/share/man/man1/xml2-config.1nu�[���.TH xml2-config 1 "3 April 2022" Version 1.2.0
.SH NAME
xml2-config - script to get information about the installed version of libxml2
.SH SYNOPSIS
.B xml2-config
[\-\-prefix\fI[=DIR]\fP] [\-\-libs] [\-\-cflags] [\-\-version] [\-\-help]
.SH DESCRIPTION
\fIxml2-config\fP is a tool that is used to determine the compile and
linker flags that should be used to compile and link programs that use
\fIlibxml2\fP.
.SH OPTIONS
\fIxml2-config\fP accepts the following options:
.TP 8
.B  \-\-version
Print the currently installed version of \fIlibxml2\fP on the standard output.
.TP 8
.B  \-\-libs
Print the linker flags that are necessary to link a \fIlibxml2\fP program.
Add \-\-dynamic after \-\-libs to print only shared library linking
information.
.TP 8
.B  \-\-cflags
Print the compiler flags that are necessary to compile a \fIlibxml2\fP program.
.TP 8
.B  \-\-prefix=PREFIX
If specified, use PREFIX instead of the installation prefix that
\fIlibxml2\fP was built with when computing the output for the
\-\-cflags and \-\-libs options. This option must be specified before
any \-\-libs or \-\-cflags options.
.SH AUTHOR
This manual page was written by Fredrik Hallenberg <hallon@lysator.liu.se>,
for the Debian GNU/linux system (but may be used by others).
PKi�Z/�+&Q!Q!usr/share/man/man1/xmlcatalog.1nu�[���'\" t
.\"     Title: xmlcatalog
.\"    Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 08/17/2022
.\"    Manual: xmlcatalog Manual
.\"    Source: libxml2
.\"  Language: English
.\"
.TH "XMLCATALOG" "1" "08/17/2022" "libxml2" "xmlcatalog Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
xmlcatalog \- Command line tool to parse and manipulate XML or SGML catalog files\&.
.SH "SYNOPSIS"
.HP \w'\fBxmlcatalog\fR\ 'u
\fBxmlcatalog\fR [\fB\-\-sgml\fR | \fB\-\-shell\fR | \fB\-\-create\fR | \fB\-\-del\ \fR\fB\fIVALUE(S)\fR\fR | [\ \fB\-\-add\ \fR\fB\fITYPE\fR\fR\fB\ \fR\fB\fIORIG\fR\fR\fB\ \fR\fB\fIREPLACE\fR\fR\fB\ \fR\ |\ \fB\-\-add\ \fR\fB\fIFILENAME\fR\fR] | \fB\-\-noout\fR | \fB\-\-no\-super\-update\fR | [\fB\-v\fR\ |\ \fB\-\-verbose\fR]] {\fICATALOGFILE\fR} {\fIENTITIES\fR...}
.SH "DESCRIPTION"
.PP
\fBxmlcatalog\fR
is a command line application allowing users to monitor and manipulate
XML
and
SGML
catalogs\&. It is included in
\fBlibxml\fR(3)\&.
.PP
Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode\&. It can operate on both
XML
and
SGML
files\&.
.SH "OPTIONS"
.PP
\fBxmlcatalog\fR
accepts the following options (in alphabetical order):
.PP
\fB\-\-add \fR\fB\fITYPE\fR\fR\fB \fR\fB\fIORIG\fR\fR\fB \fR\fB\fIREPLACE\fR\fR\fB \fR
.RS 4
Add an entry to
CATALOGFILE\&.
\fITYPE\fR
indicates the type of entry\&. Possible types are:
\fIpublic\fR, \fIsystem\fR, \fIuri\fR, \fIrewriteSystem\fR, \fIrewriteURI\fR, \fIdelegatePublic\fR, \fIdelegateSystem\fR, \fIdelegateURI\fR, \fInextCatalog\fR\&.
\fIORIG\fR
is the original reference to be replaced, and
\fIREPLACE\fR
is the
URI
of the replacement entity to be used\&. The
\fB\-\-add\fR
option will not overwrite
CATALOGFILE, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&. The
\fB\-\-add\fR
will always take three parameters even if some of the
XML
catalog constructs will have only a single argument\&.
.RE
.PP
\fB\-\-add \fR\fB\fIFILENAME\fR\fR
.RS 4
If the
\fB\-\-add\fR
option is used following the
\fB\-\-sgml\fR
option, only a single argument, a
\fIFILENAME\fR, is used\&. This is used to add the name of a catalog file to an
SGML
supercatalog, a file that contains references to other included
SGML
catalog files\&.
.RE
.PP
\fB\-\-create\fR
.RS 4
Create a new
XML
catalog\&. Outputs to
stdout, ignoring
\fIfilename\fR
unless
\fB\-\-noout\fR
is used, in which case it creates a new catalog file
\fIfilename\fR\&.
.RE
.PP
\fB\-\-del \fR\fB\fIVALUE(S)\fR\fR
.RS 4
Remove entries from
\fICATALOGFILE\fR
matching
\fIVALUE(S)\fR\&. The
\fB\-\-del\fR
option will not overwrite
\fICATALOGFILE\fR, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&.
.RE
.PP
\fB\-\-noout\fR
.RS 4
Save output to the named file rather than outputting to
stdout\&.
.RE
.PP
\fB\-\-no\-super\-update\fR
.RS 4
Do not update the
SGML
super catalog\&.
.RE
.PP
\fB\-\-shell\fR
.RS 4
Run a shell allowing interactive queries on catalog file
\fICATALOGFILE\fR\&. For the set of available commands see
the section called \(lqSHELL COMMANDS\(rq\&.
.RE
.PP
\fB\-\-sgml\fR
.RS 4
Uses
SGML
super catalogs for
\fB\-\-add\fR
and
\fB\-\-del\fR
options\&.
.RE
.PP
\fB\-v\fR, \fB\-\-verbose\fR
.RS 4
Output debugging information\&.
.RE
.PP
Invoking
\fBxmlcatalog\fR
non\-interactively without a designated action (imposed with options like
\fB\-\-add\fR) will result in a lookup of the catalog entry for
\fIENTITIES\fR
in the catalog denoted with
\fICATALOGFILE\fR\&. The corresponding entries will be output to the command line\&. This mode of operation, together with
\fB\-\-shell\fR
mode and non\-modifying (i\&.e\&. without
\fB\-\-noout\fR) direct actions, allows for a special shortcut of the void
\fICATALOGFILE\fR
specification (possibly expressed as "" in the shell environment) appointing the default system catalog\&. That simplifies the handling when its exact location is irrelevant but the respective built\-in still needs to be consulted\&.
.SH "SHELL COMMANDS"
.PP
Invoking
\fBxmlcatalog\fR
with the
\fB\-\-shell \fR\fB\fICATALOGFILE\fR\fR
option opens a command line shell allowing interactive access to the catalog file identified by
\fICATALOGFILE\fR\&. Invoking the shell provides a command line prompt after which the following commands (described in alphabetical order) can be entered\&.
.PP
\fBadd \fR\fB\fITYPE\fR\fR\fB \fR\fB\fIORIG\fR\fR\fB \fR\fB\fIREPLACE\fR\fR\fB \fR
.RS 4
Add an entry to the catalog file\&.
\fITYPE\fR
indicates the type of entry\&. Possible types are:
\fIpublic\fR, \fIsystem\fR, \fIuri\fR, \fIrewriteSystem\fR, \fIrewriteURI\fR, \fIdelegatePublic\fR, \fIdelegateSystem\fR, \fIdelegateURI\fR, \fInextCatalog\fR\&.
\fIORIG\fR
is the original reference to be replaced, and
\fIREPLACE\fR
is the
URI
of the replacement entity to be used\&. The
\fB\-\-add\fR
option will not overwrite
CATALOGFILE, outputting to
stdout, unless
\fB\-\-noout\fR
is used\&. The
\fB\-\-add\fR
will always take three parameters even if some of the
XML
catalog constructs will have only a single argument\&.
.RE
.PP
\fBdebug\fR
.RS 4
Print debugging statements showing the steps
\fBxmlcatalog\fR
is executing\&.
.RE
.PP
\fBdel \fR\fB\fIVALUE(S)\fR\fR
.RS 4
Remove the catalog entry corresponding to
\fIVALUE(S)\fR\&.
.RE
.PP
\fBdump\fR
.RS 4
Print the current catalog\&.
.RE
.PP
\fBexit\fR
.RS 4
Quit the shell\&.
.RE
.PP
\fBpublic \fR\fB\fIPUBLIC\-ID\fR\fR
.RS 4
Execute a Formal Public Identifier lookup of the catalog entry for
\fIPUBLIC\-ID\fR\&. The corresponding entry will be output to the command line\&.
.RE
.PP
\fBquiet\fR
.RS 4
Stop printing debugging statements\&.
.RE
.PP
\fBsystem \fR\fB\fISYSTEM\-ID\fR\fR
.RS 4
Execute a Formal Public Identifier lookup of the catalog entry for
\fISYSTEM\-ID\fR\&. The corresponding entry will be output to the command line\&.
.RE
.SH "ENVIRONMENT"
.PP
\fBXML_CATALOG_FILES\fR
.RS 4
XML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBXML_CATALOG_FILES\fR
environment variable to a space\-separated list of catalogs\&. Use percent\-encoding to escape spaces or other characters\&. An empty variable should deactivate loading the default
/etc/xml/catalog
catalog\&.
.RE
.SH "DIAGNOSTICS"
.PP
\fBxmlcatalog\fR
return codes provide information that can be used when calling it from scripts\&.
.PP
\fB0\fR
.RS 4
No error
.RE
.PP
\fB1\fR
.RS 4
Failed to remove an entry from the catalog
.RE
.PP
\fB2\fR
.RS 4
Failed to save to the catalog, check file permissions
.RE
.PP
\fB3\fR
.RS 4
Failed to add an entry to the catalog
.RE
.PP
\fB4\fR
.RS 4
Failed to look up an entry in the catalog
.RE
.SH "SEE ALSO"
.PP
\fBlibxml\fR(3)
.PP
More information can be found at
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
web page
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
catalog support web page at
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
James Clark\*(Aqs
SGML
catalog page
\m[blue]\fB\%http://www.jclark.com/sp/catalog.htm\fR\m[]
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
OASIS
XML
catalog specification
\m[blue]\fB\%http://www.oasis-open.org/committees/entity/spec.html\fR\m[]
.RE
.sp
.SH "AUTHOR"
.PP
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
.RS 4
Author.
.RE
.SH "COPYRIGHT"
.br
Copyright \(co 2001, 2004
.br
PKi�ZzH��4�4usr/share/man/man1/xmllint.1nu�[���'\" t
.\"     Title: xmllint
.\"    Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 08/17/2022
.\"    Manual: xmllint Manual
.\"    Source: libxml2
.\"  Language: English
.\"
.TH "XMLLINT" "1" "08/17/2022" "libxml2" "xmllint Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
xmllint \- command line XML tool
.SH "SYNOPSIS"
.HP \w'\fBxmllint\fR\ 'u
\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-xpath\ "\fR\fB\fIXPath_expression\fR\fR\fB"\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fR\fB\fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fR\fB\fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fR\fB\fIFILE\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-maxmem\ \fR\fB\fINBBYTES\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fR\fB\fIENCODING\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fR\fB\fIPATTERNVALUE\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-schema\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-c14n\fR] {\fIXML\-FILE(S)\fR... | \-}
.HP \w'\fBxmllint\fR\ 'u
\fBxmllint\fR \fB\-\-help\fR
.SH "DESCRIPTION"
.PP
The
\fBxmllint\fR
program parses one or more
XML
files, specified on the command line as
\fIXML\-FILE\fR
(or the standard input if the filename provided is
\fB\-\fR
)\&. It prints various types of output, depending upon the options selected\&. It is useful for detecting errors both in
XML
code and in the
XML
parser itself\&.
.PP
\fBxmllint\fR
is included in
\fBlibxml\fR(3)\&.
.SH "OPTIONS"
.PP
\fBxmllint\fR
accepts the following options (in alphabetical order):
.PP
\fB\-\-auto\fR
.RS 4
Generate a small document for testing purposes\&.
.RE
.PP
\fB\-\-catalogs\fR
.RS 4
Use the
SGML
catalog(s) from
\fBSGML_CATALOG_FILES\fR\&. Otherwise
XML
catalogs starting from
/etc/xml/catalog
are used by default\&.
.RE
.PP
\fB\-\-chkregister\fR
.RS 4
Turn on node registration\&. Useful for developers testing
\fBlibxml\fR(3)
node tracking code\&.
.RE
.PP
\fB\-\-compress\fR
.RS 4
Turn on
\fBgzip\fR(1)
compression of output\&.
.RE
.PP
\fB\-\-copy\fR
.RS 4
Test the internal copy implementation\&.
.RE
.PP
\fB\-\-c14n\fR
.RS 4
Use the W3C
XML
Canonicalisation (C14N) to serialize the result of parsing to
stdout\&. It keeps comments in the result\&.
.RE
.PP
\fB\-\-dtdvalid \fR\fB\fIURL\fR\fR
.RS 4
Use the
DTD
specified by an
\fIURL\fR
for validation\&.
.RE
.PP
\fB\-\-dtdvalidfpi \fR\fB\fIFPI\fR\fR
.RS 4
Use the
DTD
specified by a Formal Public Identifier
\fIFPI\fR
for validation, note that this will require a catalog exporting that Formal Public Identifier to work\&.
.RE
.PP
\fB\-\-debug\fR
.RS 4
Parse a file and output an annotated tree of the in\-memory version of the document\&.
.RE
.PP
\fB\-\-debugent\fR
.RS 4
Debug the entities defined in the document\&.
.RE
.PP
\fB\-\-dropdtd\fR
.RS 4
Remove
DTD
from output\&.
.RE
.PP
\fB\-\-dtdattr\fR
.RS 4
Fetch external
DTD
and populate the tree with inherited attributes\&.
.RE
.PP
\fB\-\-encode \fR\fB\fIENCODING\fR\fR
.RS 4
Output in the given encoding\&. Note that this works for full document not fragments or result from XPath queries\&.
.RE
.PP
\fB\-\-format\fR
.RS 4
Reformat and reindent the output\&. The
\fBXMLLINT_INDENT\fR
environment variable controls the indentation\&. The default value is two spaces " ")\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Print out a short usage summary for
\fBxmllint\fR\&.
.RE
.PP
\fB\-\-html\fR
.RS 4
Use the
HTML
parser\&.
.RE
.PP
\fB\-\-htmlout\fR
.RS 4
Output results as an
HTML
file\&. This causes
\fBxmllint\fR
to output the necessary
HTML
tags surrounding the result tree output so the results can be displayed/viewed in a browser\&.
.RE
.PP
\fB\-\-insert\fR
.RS 4
Test for valid insertions\&.
.RE
.PP
\fB\-\-loaddtd\fR
.RS 4
Fetch an external
DTD\&.
.RE
.PP
\fB\-\-load\-trace\fR
.RS 4
Display all the documents loaded during the processing to
stderr\&.
.RE
.PP
\fB\-\-maxmem \fR\fB\fINNBYTES\fR\fR
.RS 4
Test the parser memory support\&.
\fINNBYTES\fR
is the maximum number of bytes the library is allowed to allocate\&. This can also be used to make sure batch processing of
XML
files will not exhaust the virtual memory of the server running them\&.
.RE
.PP
\fB\-\-memory\fR
.RS 4
Parse from memory\&.
.RE
.PP
\fB\-\-noblanks\fR
.RS 4
Drop ignorable blank spaces\&.
.RE
.PP
\fB\-\-nocatalogs\fR
.RS 4
Do not use any catalogs\&.
.RE
.PP
\fB\-\-nocdata\fR
.RS 4
Substitute CDATA section by equivalent text nodes\&.
.RE
.PP
\fB\-\-noent\fR
.RS 4
Substitute entity values for entity references\&. By default,
\fBxmllint\fR
leaves entity references in place\&.
.RE
.PP
\fB\-\-nonet\fR
.RS 4
Do not use the Internet to fetch
DTDs or entities\&.
.RE
.PP
\fB\-\-noout\fR
.RS 4
Suppress output\&. By default,
\fBxmllint\fR
outputs the result tree\&.
.RE
.PP
\fB\-\-nowarning\fR
.RS 4
Do not emit warnings from the parser and/or validator\&.
.RE
.PP
\fB\-\-nowrap\fR
.RS 4
Do not output
HTML
doc wrapper\&.
.RE
.PP
\fB\-\-noxincludenode\fR
.RS 4
Do XInclude processing but do not generate XInclude start and end nodes\&.
.RE
.PP
\fB\-\-nsclean\fR
.RS 4
Remove redundant namespace declarations\&.
.RE
.PP
\fB\-\-output \fR\fB\fIFILE\fR\fR
.RS 4
Define a file path where
\fBxmllint\fR
will save the result of parsing\&. Usually the programs build a tree and save it on
stdout, with this option the result
XML
instance will be saved onto a file\&.
.RE
.PP
\fB\-\-path "\fR\fB\fIPATH(S)\fR\fR\fB"\fR
.RS 4
Use the (space\- or colon\-separated) list of filesystem paths specified by
\fIPATHS\fR
to load
DTDs or entities\&. Enclose space\-separated lists by quotation marks\&.
.RE
.PP
\fB\-\-pattern \fR\fB\fIPATTERNVALUE\fR\fR
.RS 4
Used to exercise the pattern recognition engine, which can be used with the reader interface to the parser\&. It allows to select some nodes in the document based on an XPath (subset) expression\&. Used for debugging\&.
.RE
.PP
\fB\-\-postvalid\fR
.RS 4
Validate after parsing has completed\&.
.RE
.PP
\fB\-\-push\fR
.RS 4
Use the push mode of the parser\&.
.RE
.PP
\fB\-\-recover\fR
.RS 4
Output any parsable portions of an invalid document\&.
.RE
.PP
\fB\-\-relaxng \fR\fB\fISCHEMA\fR\fR
.RS 4
Use RelaxNG file named
\fISCHEMA\fR
for validation\&.
.RE
.PP
\fB\-\-repeat\fR
.RS 4
Repeat 100 times, for timing or profiling\&.
.RE
.PP
\fB\-\-schema \fR\fB\fISCHEMA\fR\fR
.RS 4
Use a W3C
XML
Schema file named
\fISCHEMA\fR
for validation\&.
.RE
.PP
\fB\-\-shell\fR
.RS 4
Run a navigating shell\&. Details on available commands in shell mode are below (see
the section called \(lqSHELL COMMANDS\(rq)\&.
.RE
.PP
\fB\-\-xpath "\fR\fB\fIXPath_expression\fR\fR\fB"\fR
.RS 4
Run an XPath expression given as argument and print the result\&. In case of a nodeset result, each node in the node set is serialized in full in the output\&. In case of an empty node set the "XPath set is empty" result will be shown and an error exit code will be returned\&.
.RE
.PP
\fB\-\-stream\fR
.RS 4
Use streaming
API
\- useful when used in combination with
\fB\-\-relaxng\fR
or
\fB\-\-valid\fR
options for validation of files that are too large to be held in memory\&.
.RE
.PP
\fB\-\-testIO\fR
.RS 4
Test user input/output support\&.
.RE
.PP
\fB\-\-timing\fR
.RS 4
Output information about the time it takes
\fBxmllint\fR
to perform the various steps\&.
.RE
.PP
\fB\-\-valid\fR
.RS 4
Determine if the document is a valid instance of the included Document Type Definition (DTD)\&. A
DTD
to be validated against also can be specified at the command line using the
\fB\-\-dtdvalid\fR
option\&. By default,
\fBxmllint\fR
also checks to determine if the document is well\-formed\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Display the version of
\fBlibxml\fR(3)
used\&.
.RE
.PP
\fB\-\-walker\fR
.RS 4
Test the walker module, which is a reader interface but for a document tree, instead of using the reader
API
on an unparsed document it works on an existing in\-memory tree\&. Used for debugging\&.
.RE
.PP
\fB\-\-xinclude\fR
.RS 4
Do XInclude processing\&.
.RE
.PP
\fB\-\-xmlout\fR
.RS 4
Used in conjunction with
\fB\-\-html\fR\&. Usually when
HTML
is parsed the document is saved with the
HTML
serializer\&. But with this option the resulting document is saved with the
XML
serializer\&. This is primarily used to generate
XHTML
from
HTML
input\&.
.RE
.SH "SHELL COMMANDS"
.PP
\fBxmllint\fR
offers an interactive shell mode invoked with the
\fB\-\-shell\fR
command\&. Available commands in shell mode include (in alphabetical order):
.PP
\fBbase\fR
.RS 4
Display
XML
base of the node\&.
.RE
.PP
\fBbye\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBcat \fR\fB\fINODE\fR\fR
.RS 4
Display the given node or the current one\&.
.RE
.PP
\fBcd \fR\fB\fIPATH\fR\fR
.RS 4
Change the current node to the given path (if unique) or root if no argument is given\&.
.RE
.PP
\fBdir \fR\fB\fIPATH\fR\fR
.RS 4
Dumps information about the node (namespace, attributes, content)\&.
.RE
.PP
\fBdu \fR\fB\fIPATH\fR\fR
.RS 4
Show the structure of the subtree under the given path or the current node\&.
.RE
.PP
\fBexit\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBhelp\fR
.RS 4
Show this help\&.
.RE
.PP
\fBfree\fR
.RS 4
Display memory usage\&.
.RE
.PP
\fBload \fR\fB\fIFILENAME\fR\fR
.RS 4
Load a new document with the given filename\&.
.RE
.PP
\fBls \fR\fB\fIPATH\fR\fR
.RS 4
List contents of the given path or the current directory\&.
.RE
.PP
\fBpwd\fR
.RS 4
Display the path to the current node\&.
.RE
.PP
\fBquit\fR
.RS 4
Leave the shell\&.
.RE
.PP
\fBsave \fR\fB\fIFILENAME\fR\fR
.RS 4
Save the current document to the given filename or to the original name\&.
.RE
.PP
\fBvalidate\fR
.RS 4
Check the document for errors\&.
.RE
.PP
\fBwrite \fR\fB\fIFILENAME\fR\fR
.RS 4
Write the current node to the given filename\&.
.RE
.SH "ENVIRONMENT"
.PP
\fBSGML_CATALOG_FILES\fR
.RS 4
SGML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBSGML_CATALOG_FILES\fR
environment variable to a list of catalogs\&. An empty one should deactivate loading the default
/etc/sgml/catalog
catalog\&.
.RE
.PP
\fBXML_CATALOG_FILES\fR
.RS 4
XML
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
\fBXML_CATALOG_FILES\fR
environment variable to a space\-separated list of catalogs\&. Use percent\-encoding to escape spaces or other characters\&. An empty variable should deactivate loading the default
/etc/xml/catalog
catalog\&.
.RE
.PP
\fBXML_DEBUG_CATALOG\fR
.RS 4
Setting the environment variable
\fBXML_DEBUG_CATALOG\fR
to
\fInon\-zero\fR
using the
\fBexport\fR
command outputs debugging information related to catalog operations\&.
.RE
.PP
\fBXMLLINT_INDENT\fR
.RS 4
Setting the environment variable
\fBXMLLINT_INDENT\fR
controls the indentation\&. The default value is two spaces " "\&.
.RE
.SH "DIAGNOSTICS"
.PP
\fBxmllint\fR
return codes provide information that can be used when calling it from scripts\&.
.PP
\fB0\fR
.RS 4
No error
.RE
.PP
\fB1\fR
.RS 4
Unclassified
.RE
.PP
\fB2\fR
.RS 4
Error in
DTD
.RE
.PP
\fB3\fR
.RS 4
Validation error
.RE
.PP
\fB4\fR
.RS 4
Validation error
.RE
.PP
\fB5\fR
.RS 4
Error in schema compilation
.RE
.PP
\fB6\fR
.RS 4
Error writing output
.RE
.PP
\fB7\fR
.RS 4
Error in pattern (generated when
\fB\-\-pattern\fR
option is used)
.RE
.PP
\fB8\fR
.RS 4
Error in Reader registration (generated when
\fB\-\-chkregister\fR
option is used)
.RE
.PP
\fB9\fR
.RS 4
Out of memory error
.RE
.PP
\fB10\fR
.RS 4
XPath evaluation error
.RE
.SH "SEE ALSO"
.PP
\fBlibxml\fR(3)
.PP
More information can be found at
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBlibxml\fR(3)
web page
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2\fR\m[]
.RE
.sp
.SH "AUTHORS"
.PP
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
.RS 4
Author.
.RE
.PP
\fBZiying Sherwin\fR <\&sherwin@nlm\&.nih\&.gov\&>
.RS 4
Author.
.RE
.PP
\fBHeiko Rupp\fR <\&hwr@pilhuhn\&.de\&>
.RS 4
Author.
.RE
.SH "COPYRIGHT"
.br
Copyright \(co 2001, 2004
.br
PKi�Z<�)		#usr/share/doc/alt-libxml2/Copyrightnu�[���Except where otherwise noted in the source code (e.g. the files hash.c,
list.c and the trio files, which are covered by a similar licence but
with different Copyright notices) all the files are:

 Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is fur-
nished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
PKi�Z�B�Ո���usr/share/doc/alt-libxml2/NEWSnu�[���NEWS file for libxml2

v2.10.2: Aug 29 2022

### Improvements

- Remove set-but-unused variable in xmlXPathScanName
- Silence -Warray-bounds warning

### Build system

- build: require automake-1.16.3 or later (Xi Ruoyao)
- Remove generated files from distribution

### Test suite

- Don't create missing.xml when running testapi


v2.10.1: Aug 25 2022

### Regressions

- Fix xmlCtxtReadDoc with encoding

### Bug fixes

- Fix HTML parser with threads and --without-legacy

### Build system

- Fix build with Python 3.10
- cmake: Disable version script on macOS
- Remove Makefile rule to build testapi.c

### Documentation

- Switch back to HTML output for API documentation
- Port doc/examples/index.py to Python 3
- Fix order of exports in libxml2-api.xml
- Remove libxml2-refs.xml


v2.10.0: Aug 17 2022

### Security

- [CVE-2022-2309] Reset nsNr in xmlCtxtReset
- Reserve byte for NUL terminator and report errors consistently in xmlBuf and
  xmlBuffer (David Kilzer)
- Fix missing NUL terminators in xmlBuf and xmlBuffer functions (David Kilzer)
- Fix integer overflow in xmlBufferDump() (David Kilzer)
- xmlBufAvail() should return length without including a byte for NUL
  terminator (David Kilzer)
- Fix ownership of xmlNodePtr & xmlAttrPtr fields in xmlSetTreeDoc() (David
  Kilzer)
- Use xmlNewDocText in xmlXIncludeCopyRange
- Fix use-after-free bugs when calling xmlTextReaderClose() before
  xmlFreeTextReader() on post-validating parser (David Kilzer)
- Use UPDATE_COMPAT() consistently in buf.c (David Kilzer)
- fix: xmlXPathParserContext could be double-delete in  OOM case. (jinsub ahn)

### Removals and deprecations

- Disable XPointer location support by default
- Remove outdated xml2Conf.sh
- Deprecate module init and cleanup functions
- Remove obsolete XML Software Autoupdate (XSA) file
- Remove DOCBparser
- Remove obsolete Python test framework
- Remove broken VxWorks support
- Remove broken Mac OS 9 support
- Remove broken bakefile support
- Remove broken Visual Studio 2010 support
- Remove broken Windows CE support
- Deprecate IDREF-related functions in valid.h
- Deprecate legacy functions
- Disable legacy support by default
- Deprecate all functions in nanoftp.h
- Disable FTP support by default
- Add XML_DEPRECATED macro
- Remove elfgcchack.h

### Regressions

- Skip incorrectly opened HTML comments
- Restore behavior of htmlDocContentDumpFormatOutput() (David Kilzer)

### Bug fixes

- Fix memory leak with invalid XSD
- Make XPath depth check work with recursive invocations
- Fix memory leak in xmlLoadEntityContent error path
- Avoid double-free if malloc fails in inputPush
- Properly fold whitespace around the QName value when validating an XSD
  schema. (Damjan Jovanovic)
- Add whitespace folding for some atomic data types that it's missing on.
  (Damjan Jovanovic)
- Don't add IDs containing unexpanded entity references

### Improvements

- Avoid calling xmlSetTreeDoc
- Simplify xmlFreeNode
- Don't reset nsDef when changing node content
- Fix unintended fall-through in xmlNodeAddContentLen
- Remove unused xmlBuf functions (David Kilzer)
- Implement xpath1() XPointer scheme
- Add configuration flag for XPointer locations support
- Fix compiler warnings in Python code
- Mark more static data as `const` (David Kilzer)
- Make xmlStaticCopyNode non-recursive
- Clean up encoding switching code
- Simplify recursive pthread mutex
- Use non-recursive mutex in dict.c
- Fix parser progress checks
- Avoid arithmetic on freed pointers
- Improve buffer allocation scheme
- Remove unneeded #includes
- Add support for some non-standard escapes in regular expressions. (Damjan
  Jovanovic)
- htmlParseComment: handle abruptly-closed comments (Mike Dalessio)
- Add let variable tag support (Oliver Diehl)
- Add value-of tag support (Oliver Diehl)
- Remove useless call to xmlRelaxNGCleanupTypes
- Don't include ICU headers in public headers
- Update `xmlStrlen()` to use POSIX / ISO C `strlen()` (Mike Dalessio)
- Fix unused variable warnings with disabled features
- Only warn on invalid redeclarations of predefined entities
- Remove unneeded code in xmlreader.c
- Rework validation context flags

### Portability

- Use NAN/INFINITY if available to init XPath NaN/Inf (Sergey Kosukhin)
- Fix Python tests on macOS
- Fix xmlCleanupThreads on Windows
- Fix reinitialization of library on Windows
- Don't mix declarations and code in runtest.c
- Use portable python shebangs (David Seifert)
- Use critical sections as mutex on Windows
- Don't set HAVE_WIN32_THREADS in win32config.h
- Use stdint.h with newer MSVC
- Remove cruft from win32config.h
- Remove isinf/isnan emulation in win32config.h
- Always fopen files with "rb"
- Remove __DJGPP__ checks
- Remove useless __CYGWIN__ checks

### Build system

- Don't autogenerate doc/examples/Makefile.am
- cmake: Install libxml.m4 on UNIX-like platforms (Daniel E)
- cmake: Use symbol versioning on UNIX-like platforms (Daniel E)
- Port genUnicode.py to Python 3
- Port gentest.py to Python 3
- cmake: Fix build without thread support
- cmake: Install documentation in CMAKE_INSTALL_DOCDIR
- cmake: Remove non needed files in docs dir (Daniel E)
- configure: move XML_PRIVATE_LIBS after WIN32_EXTRA_LIBADD is set
  (Christopher Degawa)
- Move local Autoconf macros into m4 directory
- Use XML_PRIVATE_LIBS in libxml2_la_LIBADD
- Update libxml-2.0-uninstalled.pc.in
- Remove LIBS from XML_PRIVATE_LIBS
- Add WIN32_EXTRA_LIBADD to XML_PRIVATE_LIBS
- Don't overlink executables
- cmake: Adjust paths for UNIX or UNIX-like target systems (Daniel Engberg)
- build: Make use of variables in libxml's pkg-config file (Daniel Engberg)
- Avoid obsolescent `test -a` constructs (David Seifert)
- Move AM_MAINTAINER_MODE to AM section
- configure.ac: make AM_SILENT_RULES([yes]) unconditional (David Seifert)
- Streamline documentation installation
- Don't try to recreate COPYING symlink
- Detect libm using libtool's macros (David Seifert)
- configure.ac: disable static libraries by default (David Seifert)
- python/Makefile.am: nest python docs in $(docdir) (David Seifert)
- python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
- Makefile.am: install examples more idiomatically (David Seifert)
- configure.ac: remove useless AC_SUBST (David Seifert)
- Respect `--sysconfdir` in source files (David Seifert)
- Ignore configure backup file created by recent autoreconf too (Vadim Zeitlin)
- Only install *.html and *.c example files
- Remove --with-html-dir option
- Rework documentation build system
- Remove old website
- Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
- Update genChRanges.py
- Update build_glob.py
- Remove ICONV_CONST test
- Remove obsolete AC_HEADER checks
- Don't check for standard C89 library functions
- Don't check for standard C89 headers
- Remove special configuration for certain maintainers

### Test suite, CI

- Disable network in API tests
- testapi: remove leading slash from "/missing.xml" (Mike Gilbert)
- Build Autotools CI tests out of source tree (VPATH)
- Add --with-minimum build to CI tests
- Fix warnings when testing --with-minimum build
- cmake: Run all tests when threads are disabled
- Also build CI tests with -Werror
- Move doc/examples tests to new test suite
- Simplify 'make check' targets
- Fix schemas and relaxng tests
- Remove unused result files
- Allow missing result files in runtest
- Move regexp tests to runtest
- Move SVG tests to runtest.c
- Move testModule to new test suite
- Move testThreads to new test suite
- Remove major parts of old test suite
- Make testchar return an error on failure (Tony Tascioglu)
- Add CI job for static build
- python/tests: open() relative to test scripts (David Seifert)
- Port some test scripts to Python 3

### Documentation

- Improve documentation of tree manipulation API
- Update xml2-config man page
- Consolidate man pages
- Rename xmlcatalog_man.xml
- Make examples a standalone HTML page
- Fix documentation in entities.c
- Add note about optimization flags


v2.9.14: May 02 2022:
   - Security:
  [CVE-2022-29824] Integer overflow in xmlBuf and xmlBuffer
  Fix potential double-free in xmlXPtrStringRangeFunction
  Fix memory leak in xmlFindCharEncodingHandler
  Normalize XPath strings in-place
  Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars()
    (David Kilzer)
  Fix leak of xmlElementContent (David Kilzer)

   - Bug fixes:
  Fix parsing of subtracted regex character classes
  Fix recursion check in xinclude.c
  Reset last error in xmlCleanupGlobals
  Fix certain combinations of regex range quantifiers
  Fix range quantifier on subregex

   - Improvements:
  Fix recovery from invalid HTML start tags

   - Build system, portability:
  Define LFS macros before including system headers
  Initialize XPath floating-point globals
  configure: check for icu DEFS (James Hilliard)
  configure.ac: produce tar.xz only (GNOME policy) (David Seifert)
  CMakeLists.txt: Fix LIBXML_VERSION_NUMBER
  Fix build with older Python versions
  Fix --without-valid build


v2.9.13: Feb 19 2022:
   - Security:
  [CVE-2022-23308] Use-after-free of ID and IDREF attributes
  (Thanks to Shinji Sato for the report)
  Use-after-free in xmlXIncludeCopyRange (David Kilzer)
  Fix Null-deref-in-xmlSchemaGetComponentTargetNs (huangduirong)
  Fix memory leak in xmlXPathCompNodeTest
  Fix null pointer deref in xmlStringGetNodeList
  Fix several memory leaks found by Coverity (David King)
  
   - Fixed regressions:
  Fix regression in RelaxNG pattern matching
  Properly handle nested documents in xmlFreeNode
  Fix regression with PEs in external DTD
  Fix random dropping of characters on dumping ASCII encoded XML (Mohammad Razavi)
  Revert "Make schema validation fail with multiple top-level elements"
  Fix regression when parsing invalid HTML tags in push mode
  Fix regression parsing public IDs literals in HTML
  Fix buffering in xmlOutputBufferWrite
  Fix whitespace when serializing empty HTML documents
  Fix XPath recursion limit
  Fix regression in xmlNodeDumpOutputInternal
  Work around lxml API abuse
  
   - Bug fixes:
  Fix xmlSetTreeDoc with entity references
  Fix double counting of CRLF in comments
  Make sure to grow input buffer in xmlParseMisc
  Don't ignore xmllint options after "-"
  Don't normalize namespace URIs in XPointer xmlns() scheme
  Fix handling of XSD with empty namespace
  Also register HTML document nodes
  Make xmllint return an error if arguments are missing
  Fix handling of ctxt->base in xmlXPtrEvalXPtrPart
  Fix xmllint --maxmem
  Fix htmlReadFd, which was using a mix of xml and html context functions (Finn Barber)
  Move current position before possible calling of ctxt->sax->characters (Yulin Li)
  Fix parse failure when 4-byte character in UTF-16 BE is split across a chunk (David Kilzer)
  Patch to forbid epsilon-reduction of final states (Arne Becker)
  Avoid segfault at exit when using custom memory functions (Mike Dalessio)
  
   - Tests, code quality, fuzzing:
  Remove .travis.yml
  Make xmlFuzzReadString return a zero size in error case
  Fix unused function warning in testapi.c
  Update NewsML DTD in test suite
  Add more checks for malloc failures in xmllint.c
  Avoid potential integer overflow in xmlstring.c
  Run CI tests with UBSan implicit-conversion checks
  Fix casting of line numbers in SAX2.c
  Fix integer conversion warnings in hash.c
  Add explicit casts in runtest.c 
  Fix integer conversion warning in xmlIconvWrapper
  Add suffix to unsigned constant in xmlmemory.c
  Add explicit casts in testchar.c
  Fix integer conversion warnings in xmlstring.c
  Add explicit cast in xmlURIUnescapeString
  Remove unused variable in xmlCharEncOutFunc (David King)
  
   - Build system, portability:
  Remove xmlwin32version.h
  Fix fuzzer test with VPATH build
  Support custom prefix when installing Python module
  Remove Makefile.win
  Remove CVS and SVN-related code
  Port python 3.x module to Windows and improve distutils (Chun-wei Fan)
  Correctly install the HTML examples into their subdirectory (Mattia Rizzolo)
  Refactor the settings of $docdir (Mattia Rizzolo)
  Remove unused configure checks (Ben Boeckel)
  python/Makefile.am: use *_LIBADD, not *_LDFLAGS for LIBS (Sam James)
  Fix check for libtool in autogen.sh
  Use version in configure.ac for CMake (Timothy Lyanguzov)
  Add CMake alias targets for embedded projects (Markus Rickert)
  
   - Documentation:
  Remove SVN keyword anchors
  Rework README
  Remove README.cvs-commits
  Remove old ChangeLog
  Update hyperlinks
  Remove README.docs
  Remove MAINTAINERS 
  Remove xmltutorial.pdf
  Upload documentation to GitLab pages
  Document how to escape XML_CATALOG_FILES
  Fix libxml2.doap
  Update URL for libxml++ C++ binding (Kjell Ahlstedt)
  Generate devhelp2 index file (Emmanuele Bassi)
  Mention XML_CATALOG_FILES is space-separated (Jan Tojnar)
  Add documentaiton for xmllint exit code 10 (Rainer Canavan)
  Fix some validation errors in the FAQ (David King)
  Add instructions on how to use CMake to compile libxml (Markus Rickert)
  


v2.9.12: May 13 2021:
   - Build system:
  Add fuzz.h and seed/regexp to EXTRA_DIST
  


v2.9.11: May 13 2021:
   - Security:
  Patch for security issue CVE-2021-3541 (Daniel Veillard)
  
   - Documentation:
  Clarify xmlNewDocProp documentation (Nick Wellnhofer)
  
   - Portability:
  CMake: Only add postfixes if MSVC (Christopher Degawa),
  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),
  Use CMake PROJECT_VERSION (Markus Rickert),
  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),
  Add CI for CMake on MSVC (Markus Rickert),
  Update minimum required CMake version (Markus Rickert),
  Add variables for configured options to CMake config files (Markus Rickert),
  Check if variables exist when defining targets (Markus Rickert),
  Check if target exists when reading target properties (Markus Rickert),
  Add xmlcatalog target and definition to config files (Markus Rickert),
  Remove include directories for link-only dependencies (Markus Rickert),
  Fix ICU build in CMake (Markus Rickert),
  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),
  Update CMake config files (Markus Rickert),
  Add xmlcatalog and xmllint to CMake export (Markus Rickert),
  Simplify xmlexports.h (Nick Wellnhofer),
  Require dependencies based on enabled CMake options (Markus Rickert),
  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),
  Add CMake files to EXTRA_DIST (Markus Rickert),
  Add missing compile definition for static builds to CMake (Markus Rickert),
  Add CI for CMake on Linux and MinGW (Markus Rickert),
  Fix variable name in win32/configure.js (Nick Wellnhofer),
  Fix version parsing in win32/configure.js (Nick Wellnhofer),
  Fix autotools warnings (Nick Wellnhofer),
  Update config.h.cmake.in (Markus Rickert),
  win32: allow passing *FLAGS on command line (Michael Stahl),
  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),
  List headers individually (Markus Rickert),
  Add CMake build files (Markus Rickert),
  Parenthesize Py<type>_Check() in ifs (Miro Hrončok),
  Minor fixes to configure.js (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),
  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),
  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),
  Fix htmlTagLookup (Nick Wellnhofer),
  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),
  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),
  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),
  Validate UTF8 in xmlEncodeEntities (Joel Hockey),
  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),
  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),
  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),
  Fix exponential behavior with recursive entities (Nick Wellnhofer),
  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),
  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),
  Fix null deref introduced with previous commit (Nick Wellnhofer),
  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),
  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),
  parser.c: shrink the input buffer when appropriate (Mike Dalessio),
  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),
  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),
  Fix timeout when handling recursive entities (Nick Wellnhofer),
  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),
  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),
  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),
  htmlParseComment: treat `--!>` as if it closed the comment (Mike Dalessio),
  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),
  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),
  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet->val" (Xiaoming Ni),
  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),
  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),
  Avoid quadratic checking of identity-constraints (Michael Matz),
  Fix building with ICU 68. (Frederik Seiffert),
  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),
  Fix xmlURIEscape memory leaks. (Elliott Hughes),
  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),
  Fix caret in regexp character group (Nick Wellnhofer),
  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),
  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),
  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),
  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),
  Fix null deref in XPointer expression error path (Nick Wellnhofer),
  Don't call xmlXPathInit directly (Nick Wellnhofer),
  Fix cleanup of attributes in XML reader (Nick Wellnhofer),
  Fix double free in XML reader with XIncludes (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),
  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),
  Fix error reporting with xi:fallback (Nick Wellnhofer),
  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),
  Fix corner case with empty xi:fallback (Nick Wellnhofer),
  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),
  Fix memory leak in runtest.c (Nick Wellnhofer),
  Make "xmllint --push --recovery" work (Nick Wellnhofer),
  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),
  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),
  Stop counting nbChars in parser context (Nick Wellnhofer),
  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),
  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),
  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),
  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),
  Check for custom free function in global destructor (Nick Wellnhofer),
  Fix integer overflow when comparing schema dates (Nick Wellnhofer),
  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),
  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),
  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),
  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),
  Reset XML parser input before reporting errors (David Kilzer),
  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),
  Fix HTML push parser lookahead (Nick Wellnhofer),
  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),
  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),
  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),
  Reset HTML parser input before reporting error (Nick Wellnhofer),
  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),
  Fix regression introduced with 477c7f6a (Nick Wellnhofer),
  Fix quadratic runtime in HTML parser (Nick Wellnhofer),
  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),
  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),
  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),
  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),
  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),
  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),
  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),
  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),
  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),
  Fix return value of xmlCharEncOutput (Nick Wellnhofer),
  Never expand parameter entities in text declaration (Nick Wellnhofer),
  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),
  Fix use-after-free with validating reader (Nick Wellnhofer),
  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),
  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),
  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),
  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),
  Call xmlCleanupParser on ELF destruction (Samuel Thibault),
  Fix copying of entities in xmlParseReference (Nick Wellnhofer),
  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),
  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),
  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),
  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),
  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),
  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),
  Remove useless comparisons (Nick Wellnhofer),
  Fix overflow check in xmlNodeDump (Nick Wellnhofer),
  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),
  Fix freeing of nested documents (Nick Wellnhofer),
  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),
  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),
  Fix xml2-config error code (Nick Wellnhofer),
  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),
  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),
  Null pointer handling in catalog.c (raniervf),
  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)
  
   - Improvements:
  Store per-element parser state in a struct (Nick Wellnhofer),
  update for xsd:language type check (PaulHiggs),
  Update INSTALL.libxml2 (Nick Wellnhofer),
  Fix include order in c14n.h (Nick Wellnhofer),
  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),
  Speed up htmlCheckAutoClose (Nick Wellnhofer),
  Speed up htmlTagLookup (Nick Wellnhofer),
  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),
  Reduce some fuzzer timeouts (Nick Wellnhofer),
  Only run a few CI tests unless scheduled (Nick Wellnhofer),
  Improve fuzzer stability (Nick Wellnhofer),
  Check for feature flags in fuzzer tests (Nick Wellnhofer),
  Another attempt at improving fuzzer stability (Nick Wellnhofer),
  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),
  Add charset names to fuzzing dictionaries (Nick Wellnhofer),
  Improve HTML fuzzer stability (Nick Wellnhofer),
  Add CI for MSVC x86 (Markus Rickert),
  Add a flag to not output anything when xmllint succeeded (hhb),
  Speed up HTML fuzzer (Nick Wellnhofer),
  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),
  Handle malloc failures in fuzzing code (Nick Wellnhofer),
  add test coverage for incorrectly-closed comments (Mike Dalessio),
  Enforce maximum length of fuzz input (Nick Wellnhofer),
  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),
  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),
  Add CI test for Python 3 (Nick Wellnhofer),
  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),
  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),
  Allow port numbers up to INT_MAX (Nick Wellnhofer),
  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),
  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),
  Hardcode maximum XPath recursion depth (Nick Wellnhofer),
  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),
  Consolidate seed corpus generation (Nick Wellnhofer),
  Test fuzz targets with dummy driver (Nick Wellnhofer),
  Fix regression introduced with commit d88df4b (Nick Wellnhofer),
  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),
  Add TODO comment in xinclude.c (Nick Wellnhofer),
  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),
  Remove dead code in xinclude.c (Nick Wellnhofer),
  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),
  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),
  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),
  Use strcmp when fuzzing (Nick Wellnhofer),
  Fix XPath fuzzer (Nick Wellnhofer),
  Fuzz XInclude engine (Nick Wellnhofer),
  Add XPath and XPointer fuzzer (Nick Wellnhofer),
  Update fuzzing code (Nick Wellnhofer),
  More *NodeDumpOutput fixes (Nick Wellnhofer),
  Fix *NodeDumpOutput functions (Nick Wellnhofer),
  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),
  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),
  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),
  Fix .gitattributes (Nick Wellnhofer),
  Rework control flow in htmlCurrentChar (Nick Wellnhofer),
  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),
  Remove misleading comments in xpath.c (Nick Wellnhofer),
  Update to Devhelp index file format version 2 (Andre Klapper),
  Set project language to C (Markus Rickert),
  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),
  Add additional tests and XML Conformance Test Suite (Markus Rickert),
  Add command line option for temp directory in runtest (Markus Rickert),
  Ensure LF line endings for test files (Markus Rickert),
  Enable runtests and testThreads (Markus Rickert),
  Limit regexp nesting depth (Nick Wellnhofer),
  Fix return values and documentation in encoding.c (Nick Wellnhofer),
  Add regexp regression tests (David Kilzer),
  Report error for invalid regexp quantifiers (Nick Wellnhofer),
  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),
  Copy xs:duration parser from libexslt (Nick Wellnhofer),
  Fuzz target for XML Schemas (Nick Wellnhofer),
  Move entity recorder to fuzz.c (Nick Wellnhofer),
  Fuzz target for HTML parser (Nick Wellnhofer),
  Update GitLab CI container (Nick Wellnhofer),
  Add options file for xml fuzzer (Nick Wellnhofer),
  Add a couple of libFuzzer targets (Nick Wellnhofer),
  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),
  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),
  Fix typos (Nick Wellnhofer),
  Disable LeakSanitizer (Nick Wellnhofer),
  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),
  Add test case for recursive external parsed entities (Nick Wellnhofer),
  Enable error tests with entity substitution (Nick Wellnhofer),
  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),
  Merge code paths loading external entities (Nick Wellnhofer),
  Copy some XMLReader option flags to parser context (Nick Wellnhofer),
  Add xmlPopOutputCallbacks (Nick Wellnhofer),
  Updated Python test reader2.py (Pieter van Oostrum),
  Updated python/tests/tstLastError.py (Pieter van Oostrum),
  Use random seed in xmlDictComputeFastKey (Ranier Vilela),
  Enable more undefined behavior sanitizers (Nick Wellnhofer)
  


v2.9.10: Oct 30 2019:
   - Documentation:
  Fix a few more typos ("fonction") (Nick Wellnhofer),
  Large batch of typo fixes (Jared Yanovich),
  Fix typos: tree: move{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),
  Fix typo: xpath: simpli{ -> fi}ed (Jan Pokorný),
  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),
  Fix comments in test code (zhouzhongyuan),
  fix comment in testReader.c (zhouzhongyuan)
  
   - Portability:
  Fix some release issues on Fedora 30 (Daniel Veillard),
  Fix exponent digits when running tests under old MSVC (Daniel Richard G),
  Work around buggy ceil() function on AIX (Daniel Richard G),
  Don't call printf with NULL string in runtest.c (Daniel Richard G),
  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),
  timsort.h: support older GCCs (Jérôme Duval),
  Make configure.ac work with older pkg-config (Nick Wellnhofer),
  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),
  Fix nanohttp.c on MinGW (Nick Wellnhofer),
  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),
  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),
  Fix Python bindings under Windows (Nick Wellnhofer)
  
   - Bug Fixes:
  Another fix for conditional sections at end of document (Nick Wellnhofer),
  Fix for conditional sections at end of document (Nick Wellnhofer),
  Make sure that Python tests exit with error code (Nick Wellnhofer),
  Audit memory error handling in xpath.c (Nick Wellnhofer),
  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),
  Fix integer overflow when counting written bytes (Nick Wellnhofer),
  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),
  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
  Disallow conditional sections in internal subset (Nick Wellnhofer),
  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),
  Fix Regextests (Nick Wellnhofer),
  Fix empty branch in regex (Nick Wellnhofer),
  Fix integer overflow in entity recursion check (Nick Wellnhofer),
  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),
  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),
  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),
  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),
  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),
  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),
  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),
  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),
  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),
  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),
  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),
  Partial fix for comparison of xs:durations (Nick Wellnhofer),
  Fix null deref in xmlreader buffer (zhouzhongyuan),
  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),
  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),
  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),
  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),
  Fix unsigned int overflow (Jens Eggerstedt),
  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),
  Fix another code path in xmlParseQName (Nick Wellnhofer),
  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),
  Fix build without reader but with pattern (Nick Wellnhofer),
  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),
  Fix unsigned integer overflow (Nick Wellnhofer),
  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),
  Fix parser termination from "Double hyphen within comment" error (David Warring),
  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),
  Fix null deref in previous commit (Nick Wellnhofer),
  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),
  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),
  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),
  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),
  Fix null deref in xmlregexp error path (Nick Wellnhofer),
  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),
  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),
  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),
  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),
  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),
  Memory leak in xmlFreeTextReader (Nick Wellnhofer),
  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)
  
   - Improvements:
  Run XML conformance tests under CI (Nick Wellnhofer),
  Update GitLab CI config (Nick Wellnhofer),
  Propagate memory errors in valuePush (Nick Wellnhofer),
  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),
  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),
  Enable continuous integration via GitLab CI (Nick Wellnhofer),
  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),
  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),
  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),
  Mark xmlExp* symbols as removed (Nick Wellnhofer),
  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),
  Adjust expected error in Python tests (Nick Wellnhofer),
  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),
  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),
  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),
  Remove executable bit from non-executable files (Nick Wellnhofer),
  Fix expected output of test/schemas/any4 (Nick Wellnhofer),
  Optimize build instructions in README (zhouzhongyuan),
  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),
  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),
  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),
  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),
  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),
  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),
  Remove -Wno-array-bounds (Nick Wellnhofer),
  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),
  Improve XPath predicate and filter evaluation (Nick Wellnhofer),
  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),
  Disable hash randomization when fuzzing (Nick Wellnhofer),
  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),
  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),
  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),
  Optional XPath operation limit (Nick Wellnhofer),
  Fix compilation with --with-minimum (Nick Wellnhofer),
  Check XPath stack after calling functions (Nick Wellnhofer),
  Remove debug printf in xmlreader.c (Nick Wellnhofer),
  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),
  Regenerate NEWS (Nick Wellnhofer),
  Change git repo URL (Nick Wellnhofer),
  Change bug tracker URL (Nick Wellnhofer),
  Remove outdated HTML file (Nick Wellnhofer),
  Fix unused function warning in testapi.c (Nick Wellnhofer),
  Add some generated test files to .gitignore (Nick Wellnhofer),
  Remove unneeded function pointer casts (Nick Wellnhofer),
  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),
  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)
  
   - Cleanups:
  Rebuild docs (Nick Wellnhofer),
  Disable xmlExp regex code (Nick Wellnhofer),
  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),
  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)
  


v2.9.9: Jan 03 2019:
   - Security:
  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),
  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),
  
   - Documentation:
  reader: Fix documentation comment (Mohammed Sadiq)
  
   - Portability:
  Fix MSVC build with lzma (Nick Wellnhofer),
  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),
  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),
  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),
  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),
  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),
  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)
  
   - Bug Fixes:
  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),
  Fix building relative URIs (Thomas Holder),
  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),
  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),
  Set doc on element obtained from freeElems (Nick Wellnhofer),
  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),
  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),
  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),
  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),
  Free input buffer in xmlHaltParser (Nick Wellnhofer),
  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),
  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),
  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),
  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),
  Remove stray character from comment (Nick Wellnhofer),
  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),
  HTML noscript should not close p (Daniel Veillard),
  Don't change context node in xmlXPathRoot (Nick Wellnhofer),
  Stop using XPATH_OP_RESET (Nick Wellnhofer),
  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)
  
   - Improvements:
  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),
  cleanup: remove some unreachable code (Thomas Holder),
  add --relative to testURI (Thomas Holder),
  Remove redefined starts and defines inside include elements (Nikolai Weibull),
  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),
  Look inside divs for starts and defines inside include (Nikolai Weibull),
  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),
  Stop using doc->charset outside parser code (Nick Wellnhofer),
  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),
  Don't include SAX.h from globals.h (Nick Wellnhofer),
  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),
  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),
  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),
  Improve restoring of context size and position (Nick Wellnhofer),
  Simplify and harden nodeset filtering (Nick Wellnhofer),
  Avoid unnecessary backups of the context node (Nick Wellnhofer),
  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)
  
   - Cleanups:
  


v2.9.8: Mar 05 2018:
   - Portability:
  python: remove single use of _PyVerify_fd (Patrick Welche),
  Build more test executables on Windows/MSVC (Nick Wellnhofer),
  Stop including ansidecl.h (Nick Wellnhofer),
  Fix libz and liblzma detection (Nick Wellnhofer),
  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix xmlParserEntityCheck (Nick Wellnhofer),
  Halt parser in case of encoding error (Nick Wellnhofer),
  Clear entity content in case of errors (Nick Wellnhofer),
  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),
  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),
  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),
  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),
  Fix -Wenum-compare warnings (Nick Wellnhofer),
  Fix callback signature in testapi.c (Nick Wellnhofer),
  Fix unused parameter warning without ICU (Nick Wellnhofer),
  Fix IO callback signatures (Nick Wellnhofer),
  Fix misc callback signatures (Nick Wellnhofer),
  Fix list callback signatures (Nick Wellnhofer),
  Fix hash callback signatures (Nick Wellnhofer),
  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),
  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),
  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)
  
   - Improvements:
  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),
  Improve handling of context input_id (Daniel Veillard),
  Add resource file to Windows DLL (ccpaging),
  Run Travis tests with -Werror (Nick Wellnhofer),
  Build with "-Wall -Wextra" (Nick Wellnhofer),
  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),
  Remove unused AC_CHECKs (Nick Wellnhofer),
  Update information about contributing (Nick Wellnhofer),
  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),
  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),
  Ignore function pointer cast warnings (Nick Wellnhofer),
  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),
  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),
  Add test for ICU flush and pivot buffer (Nick Wellnhofer),
  Compile testapi with -Wno-unused-function (Nick Wellnhofer)
  


2.9.7: Nov 02 2017:
   - Documentation:
  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)
  
   - Portability:
  Fix deprecated Travis compiler flag (Nick Wellnhofer),
  Add declaration for DllMain (J. Peter Mugaas),
  Fix preprocessor conditional in threads.h (J. Peter Mugaas),
  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),
  Fix macro redefinition warning (J. Peter Mugaas),
  Default to native threads on MinGW-w64 (Nick Wellnhofer),
  Simplify Windows IO functions (Nick Wellnhofer),
  Fix runtest on Windows (Nick Wellnhofer),
  socklen_t is always int on Windows (Nick Wellnhofer),
  Don't redefine socket error codes on Windows (Nick Wellnhofer),
  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),
  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)
  
   - Bug Fixes:
  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),
  Fix comparison of nodesets to strings (Nick Wellnhofer)
  
   - Improvements:
  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),
  Fix mixed decls and code in timsort.h (Nick Wellnhofer),
  Rework handling of return values in thread tests (Nick Wellnhofer),
  Fix unused variable warnings in testrecurse (Nick Wellnhofer),
  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),
  Upgrade timsort.h to latest revision (Nick Wellnhofer),
  Increase warning level to /W3 under MSVC (Nick Wellnhofer),
  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),
  Update .gitignore for Windows (Nick Wellnhofer),
  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),
  Fix the Windows header mess (Nick Wellnhofer),
  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),
  Remove generated file python/setup.py from version control (Nick Wellnhofer),
  Use __linux__ macro in generated code (Nick Wellnhofer)
  


v2.9.6: Oct 06 2017:
   - Portability:
  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)
  
   - Bug Fixes:
  Fix XPath stack frame logic (Nick Wellnhofer),
  Report undefined XPath variable error message (Nick Wellnhofer),
  Fix regression with librsvg (Nick Wellnhofer),
  Handle more invalid entity values in recovery mode (Nick Wellnhofer),
  Fix structured validation errors (Nick Wellnhofer),
  Fix memory leak in LZMA decompressor (Nick Wellnhofer),
  Set memory limit for LZMA decompression (Nick Wellnhofer),
  Handle illegal entity values in recovery mode (Nick Wellnhofer),
  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),
  Fix memory leak in nanoftp (Nick Wellnhofer),
  Fix memory leaks in SAX1 parser (Nick Wellnhofer)
  


v2.9.5: Sep 04 2017:
   - Security:
  Detect infinite recursion in parameter entities (Nick Wellnhofer),
  Fix handling of parameter-entity references (Nick Wellnhofer),
  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),
  Fix XPointer paths beginning with range-to (Nick Wellnhofer)
  
   - Documentation:
  Documentation fixes (Nick Wellnhofer),
  Spelling and grammar fixes (Nick Wellnhofer)
  
   - Portability:
  Adding README.zOS to list of extra files for the release (Daniel Veillard),
  Description of work needed to compile on zOS (Stéphane Michaut),
  Porting libxml2 on zOS encoding of code (Stéphane Michaut),
  small changes for OS/400 (Patrick Monnerat),
  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)
  
   - Bug Fixes:
  Problem resolving relative URIs (Daniel Veillard),
  Fix unwanted warnings when switching encodings (Nick Wellnhofer),
  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),
  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),
  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),
  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),
  Send xmllint usage error to stderr (Nick Wellnhofer),
  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),
  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),
  Fix xmlHaltParser (Nick Wellnhofer),
  Fix pathological performance when outputting charrefs (Nick Wellnhofer),
  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),
  Fix duplicate SAX callbacks for entity content (David Kilzer),
  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),
  Fix copy-paste errors in error messages (Nick Wellnhofer),
  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),
  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),
  Reset parser input pointers on encoding failure (Nick Wellnhofer),
  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),
  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),
  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),
  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),
  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),
  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),
  Stop parser on unsupported encodings (Nick Wellnhofer),
  Check for integer overflow in memory debug code (Nick Wellnhofer),
  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),
  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),
  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),
  Check XPath exponents for overflow (Nick Wellnhofer),
  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),
  Fix spurious error message (Nick Wellnhofer),
  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),
  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),
  Fix memory leak in pattern error path (Nick Wellnhofer),
  Fix memory leak in parser error path (Nick Wellnhofer),
  Fix memory leaks in XPointer error paths (Nick Wellnhofer),
  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),
  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),
  Fix memory leaks in XPath error paths (Nick Wellnhofer),
  Do not leak the new CData node if adding fails (David Tardon),
  Prevent unwanted external entity reference (Neel Mehta),
  Increase buffer space for port in HTTP redirect support (Daniel Veillard),
  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),
  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),
  Fix format string warnings (Nick Wellnhofer),
  Disallow namespace nodes in XPointer points (Nick Wellnhofer),
  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),
  Fix attribute decoding during XML schema validation (Alex Henrie),
  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)
  
   - Improvements:
  Updating the spec file to reflect Fedora 24 (Daniel Veillard),
  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),
  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),
  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),
  Simplify handling of parameter entity references (Nick Wellnhofer),
  Deduplicate code in encoding.c (Nick Wellnhofer),
  Make HTML parser functions take const pointers (Nick Wellnhofer),
  Build test programs only when needed (Nick Wellnhofer),
  Fix doc/examples/index.py (Nick Wellnhofer),
  Fix compiler warnings in threads.c (Nick Wellnhofer),
  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),
  Fix cast-align warnings (Nick Wellnhofer),
  Fix unused-parameter warnings (Nick Wellnhofer),
  Rework entity boundary checks (Nick Wellnhofer),
  Don't switch encoding for internal parameter entities (Nick Wellnhofer),
  Merge duplicate code paths handling PE references (Nick Wellnhofer),
  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),
  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),
  Misc fixes for 'make tests' (Nick Wellnhofer),
  Initialize keepBlanks in HTML parser (Nick Wellnhofer),
  Add test cases for bug 758518 (David Kilzer),
  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),
  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),
  Allow zero sized memory input buffers (Nick Wellnhofer),
  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),
  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),
  Make Travis print UBSan stacktraces (Nick Wellnhofer),
  Add .travis.yml (Nick Wellnhofer),
  Fix expected error output in Python tests (Nick Wellnhofer),
  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),
  Disable LeakSanitizer when running API tests (Nick Wellnhofer),
  Avoid out-of-bound array access in API tests (Nick Wellnhofer),
  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),
  Parse small XPath numbers more accurately (Nick Wellnhofer),
  Rework XPath rounding functions (Nick Wellnhofer),
  Fix white space in test output (Nick Wellnhofer),
  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),
  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),
  Rework final handling of XPath results (Nick Wellnhofer),
  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),
  Remove unused variables (Nick Wellnhofer),
  Don't print generic error messages in XPath tests (Nick Wellnhofer)
  
   - Cleanups:
  Fix a couple of misleading indentation errors (Daniel Veillard),
  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)
  


2.9.4: May 23 2016:
   - Security:
  More format string warnings with possible format string vulnerability (David Kilzer),
  Avoid building recursive entities (Daniel Veillard),
  Heap-based buffer overread in htmlCurrentChar (Pranjal Jumde),
  Heap-based buffer-underreads due to xmlParseName (David Kilzer),
  Heap use-after-free in xmlSAX2AttributeNs (Pranjal Jumde),
  Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral (Pranjal Jumde),
  Fix some format string warnings with possible format string vulnerability (David Kilzer),
  Detect change of encoding when parsing HTML names (Hugh Davenport),
  Fix inappropriate fetch of entities content (Daniel Veillard),
  Bug 759398: Heap use-after-free in xmlDictComputeFastKey <https://bugzilla.gnome.org/show_bug.cgi?id=759398> (Pranjal Jumde),
  Bug 758605: Heap-based buffer overread in xmlDictAddString <https://bugzilla.gnome.org/show_bug.cgi?id=758605> (Pranjal Jumde),
  Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal <https://bugzilla.gnome.org/show_bug.cgi?id=758588> (David Kilzer),
  Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup <https://bugzilla.gnome.org/show_bug.cgi?id=757711> (Pranjal Jumde),
  Add missing increments of recursion depth counter to XML parser. (Peter Simons)
  
   - Documentation:
  Fix typo: s{ ec -> cr }cipt (Jan Pokorný),
  Fix typos: dictio{ nn -> n }ar{y,ies} (Jan Pokorný),
  Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } (Jan Pokorný),
  Correct a typo. (Shlomi Fish)
  
   - Portability:
  Correct the usage of LDFLAGS (Mattias Hansson),
  Revert the use of SAVE_LDFLAGS in configure.ac (Mattias Hansson),
  libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles (Mike Frysinger),
  Fix apibuild for a recently added construct (Daniel Veillard),
  Use pkg-config to locate zlib when possible (Stewart Brodie),
  Use pkg-config to locate ICU when possible (Stewart Brodie),
  Portability to non C99 compliant compilers (Patrick Monnerat),
  dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. (Patrick Monnerat),
  os400: tell about xmllint and xmlcatalog in README400. (Patrick Monnerat),
  os400: properly process SGML add in XMLCATALOG command. (Patrick Monnerat),
  os400: implement CL command XMLCATALOG. (Patrick Monnerat),
  os400: compile and install program xmlcatalog (qshell-only). (Patrick Monnerat),
  os400: expand tabs in sources, strip trailing blanks. (Patrick Monnerat),
  os400: implement CL command XMLLINT. (Patrick Monnerat),
  os400: compile and install program xmllint (qshell-only). (Patrick Monnerat),
  os400: initscript make_module(): Use options instead of positional parameters. (Patrick Monnerat),
  os400: c14n.rpgle: allow *omit for nullable reference parameters. (Patrick Monnerat),
  os400: use like() for double type. (Patrick Monnerat),
  os400: use like() for int type. (Patrick Monnerat),
  os400: use like() for unsigned int type. (Patrick Monnerat),
  os400: use like() for enum types. (Patrick Monnerat),
  Add xz to xml2-config --libs output (Baruch Siach),
  Bug 760190: configure.ac should be able to build --with-icu without icu-config tool <https://bugzilla.gnome.org/show_bug.cgi?id=760190> (David Kilzer),
  win32\VC10\config.h and VS 2015 (Bruce Dawson),
  Add configure maintainer mode (orzen)
  
   - Bug Fixes:
  Avoid an out of bound access when serializing malformed strings (Daniel Veillard),
  Unsigned addition may overflow in xmlMallocAtomicLoc() (David Kilzer),
  Integer signed/unsigned type mismatch in xmlParserInputGrow() (David Kilzer),
  Bug 763071: heap-buffer-overflow in xmlStrncat <https://bugzilla.gnome.org/show_bug.cgi?id=763071> (Pranjal Jumde),
  Integer overflow parsing port number in URI (Michael Paddon),
  Fix an error with regexp on nullable counted char transition (Daniel Veillard),
  Fix memory leak with XPath namespace nodes (Nick Wellnhofer),
  Fix namespace axis traversal (Nick Wellnhofer),
      Fix null pointer deref in docs with no root element (Hugh Davenport),
  Fix XSD validation of URIs with ampersands (Alex Henrie),
  xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. (Patrick Monnerat),
  xmlcatalog: flush stdout before interactive shell input. (Patrick Monnerat),
  xmllint: flush stdout before interactive shell input. (Patrick Monnerat),
  Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression (Nick Wellnhofer),
  Fix namespace::node() XPath expression (Nick Wellnhofer),
  Fix OOB write in xmlXPathEmptyNodeSet (Nick Wellnhofer),
  Fix parsing of NCNames in XPath (Nick Wellnhofer),
  Fix OOB read with invalid UTF-8 in xmlUTF8Strsize (Nick Wellnhofer),
  Do normalize string-based datatype value in RelaxNG facet checking (Audric Schiltknecht),
  Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" <https://bugzilla.gnome.org/show_bug.cgi?id=760921> (David Kilzer),
  Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd <https://bugzilla.gnome.org/show_bug.cgi?id=760861> (David Kilzer),
  error.c: *input->cur == 0 does not mean no error (Pavel Raiskup),
  Add missing RNG test files (David Kilzer),
  Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer <https://bugzilla.gnome.org/show_bug.cgi?id=760183> (David Kilzer),
  Bug 758572: ASAN crash in make check <https://bugzilla.gnome.org/show_bug.cgi?id=758572> (David Kilzer),
  Bug 721158: Missing ICU string when doing --version on xmllint <https://bugzilla.gnome.org/show_bug.cgi?id=721158> (David Kilzer),
  python 3: libxml2.c wrappers create Unicode str already (Michael Stahl),
  Add autogen.sh to distrib (orzen),
  Heap-based buffer overread in xmlNextChar (Daniel Veillard)
  
   - Improvements:
  Add more debugging info to runtest (Daniel Veillard),
  Implement "runtest -u" mode (David Kilzer),
  Add a make rule to rebuild for ASAN (Daniel Veillard)
  


v2.9.3: Nov 20 2015:
   - Security:
  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),
  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),
  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),
  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),
  CVE-2015-5312 Another entity expansion issue (David Drysdale),
  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),
  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),
  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),
  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),
  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),
  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)
  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),
  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),
  
   - Documentation:
  Correct spelling of "calling" (Alex Henrie),
  Fix a small error in xmllint --format description (Fabien Degomme),
  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)
  
   - Portability:
  threads: use forward declarations only for glibc (Michael Heimpold),
  Update Win32 configure.js to search for configure.ac (Daniel Veillard)
  
   - Bug Fixes:
  Bug on creating new stream from entity (Daniel Veillard),
  Fix some loop issues embedding NEXT (Daniel Veillard),
  Do not print error context when there is none (Daniel Veillard),
  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),
  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),
  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),
  Fix a bug in CData error handling in the push parser (Daniel Veillard),
  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),
  Fix the spurious ID already defined error (Daniel Veillard),
  Fix previous change to node sort order (Nick Wellnhofer),
  Fix a self assignment issue raised by clang (Scott Graham),
  Fail parsing early on if encoding conversion failed (Daniel Veillard),
  Do not process encoding values if the declaration if broken (Daniel Veillard),
  Silence clang's -Wunknown-attribute (Michael Catanzaro),
  xmlMemUsed is not thread-safe (Martin von Gagern),
  Fix support for except in nameclasses (Daniel Veillard),
  Fix order of root nodes (Nick Wellnhofer),
  Allow attributes on descendant-or-self axis (Nick Wellnhofer),
  Fix the fix to Windows locking (Steve Nairn),
  Fix timsort invariant loop re: Envisage article (Christopher Swenson),
  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),
  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),
  Remove various unused value assignments (Philip Withnall),
  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),
  Revert "Missing initialization for the catalog module" (Daniel Veillard)
  
   - Improvements:
  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),
  xmlStopParser reset errNo (Daniel Veillard),
  Re-enable xz support by default (Daniel Veillard),
  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),
  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),
  Regression test for bug #695699 (Nick Wellnhofer),
  Add a couple of XPath tests (Nick Wellnhofer),
  Add Python 3 rpm subpackage (Tomas Radej),
  libxml2-config.cmake.in: update include directories (Samuel Martin),
  Adding example from bugs 738805 to regression tests (Daniel Veillard)
  
   - Cleanups:
  


2.9.2: Oct 16 2014:
   - Security:
  Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),
  CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)
  
   - Bug Fixes:
  fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),
  xmlmemory: handle realloc properly (Yegor Yefremov),
  Python generator bug raised by the const change (Daniel Veillard),
  Windows Critical sections not released correctly (Daniel Veillard),
  Parser error on repeated recursive entity expansion containing &lt; (Daniel Veillard),
  xpointer : fixing Null Pointers (Gaurav Gupta),
  Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),
  parser bug on misformed namespace attributes (Dennis Filder),
  Pointer dereferenced before null check (Daniel Veillard),
  Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),
  Possible overflow in HTMLParser.c (Daniel Veillard),
  python/tests/sync.py assumes Python dictionaries are ordered (John Beck),
  Fix Enum check and missing break (Gaurav Gupta),
  xmlIO: Handle error returns from dup() (Philip Withnall),
  Fix a problem properly saving URIs (Daniel Veillard),
  wrong error column in structured error when parsing attribute values (Juergen Keil),
  wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),
  no error column in structured error handler for xml schema validation errors (Juergen Keil),
  Couple of Missing Null checks (Gaurav Gupta),
  Add couple of missing Null checks (Daniel Veillard),
  xmlschemastypes: Fix potential array overflow (Philip Withnall),
  runtest: Fix a memory leak on parse failure (Philip Withnall),
  xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),
  xmlcatalog: Fix a memory leak on quit (Philip Withnall),
  HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),
  Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),
  Avoid Possible Null Pointer in trio.c (Gaurav Gupta),
  Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),
  XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),
  Fix various Missing Null checks (Gaurav Gupta),
  Fix a potential NULL dereference (Daniel Veillard),
  Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),
  Add a missing argument check (Gaurav Gupta),
  Adding a check in case of allocation error (Gaurav Gupta),
  xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),
  Adding some missing NULL checks (Gaurav),
  Fixes for xmlInitParserCtxt (Daniel Veillard),
  Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),
  erroneously ignores a validation error if no error callback set (Daniel Veillard),
  xmllint was not parsing the --c14n11 flag (Sérgio Batista),
  Avoid Possible null pointer dereference in memory debug mode (Gaurav),
  Avoid Double Null Check (Gaurav),
  Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),
  Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),
  Avoid a possible NULL pointer dereference (Gaurav),
  Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),
  Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),
  fixing a ptotential uninitialized access (Daniel Veillard),
  Fix an fd leak in an error case (Daniel Veillard),
  Missing initialization for the catalog module (Daniel Veillard),
  Handling of XPath function arguments in error case (Nick Wellnhofer),
  Fix a couple of missing NULL checks (Gaurav),
  Avoid a possibility of dangling encoding handler (Gaurav),
  Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),
  Fix a bug loading some compressed files (Mike Alexander),
  Fix XPath node comparison bug (Gaurav),
  Type mismatch in xmlschemas.c (Gaurav),
  Type mismatch in xmlschemastypes.c (Gaurav),
  Avoid a deadcode in catalog.c (Daniel Veillard),
  run close socket on Solaris, same as we do on other platforms (Denis Pauk),
  Fix pointer dereferenced before null check (Gaurav),
  Fix a potential NULL dereference in tree code (Daniel Veillard),
  Fix potential NULL pointer dereferences in regexp code (Gaurav),
  xmllint --pretty crashed without following numeric argument (Tim Galeckas),
  Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),
  Fix XPath '//' optimization with predicates (Nick Wellnhofer),
  Clear up a potential NULL dereference (Daniel Veillard),
  Fix a possible NULL dereference (Gaurav),
  Avoid crash if allocation fails (Daniel Veillard),
  Remove occasional leading space in XPath number formatting (Daniel Veillard),
  Fix handling of mmap errors (Daniel Veillard),
  Catch malloc error and exit accordingly (Daniel Veillard),
  missing else in xlink.c (Ami Fischman),
  Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),
  Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),
  properly quote the namespace uris written out during c14n (Aleksey Sanin),
  Remove premature XInclude check on URI being relative (Alexey Neyman),
  Fix missing break on last() function for attributes (dcb),
  Do not URI escape in server side includes (Romain Bondue),
  Fix an error in xmlCleanupParser (Alexander Pastukhov)
  
   - Documentation:
  typo in error messages "colon are forbidden from..." (Daniel Veillard),
  Fix a link to James SAX documentation old page (Daniel Veillard),
  Fix typos in relaxng.c (Jan Pokorný),
  Fix a doc typo (Daniel Veillard),
  Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),
  Add limitations about encoding conversion (Daniel Veillard),
  Fix typos in xmlschemas{,types}.c (Jan Pokorný),
  Fix incorrect spelling entites->entities (Jan Pokorný),
  Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)
  
   - Portability:
  AC_CONFIG_FILES and executable bit (Roumen Petrov),
  remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),
  fix some tabs mixing incompatible with python3 (Roumen Petrov),
  Visual Studio 14 CTP defines snprintf() (Francis Dupont),
  OS400: do not try to copy unexisting doc files (Patrick Monnerat),
  OS400: use either configure.ac or configure.in. (Patrick Monnerat),
  os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),
  OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),
  OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),
  OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),
  OS400: include in distribution tarball. (Patrick Monnerat),
  OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),
  OS400: Add compilation scripts. (Patrick Monnerat),
  OS400: ILE RPG language header files. (Patrick Monnerat),
  OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),
  OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat),
  OS400: Easy character transcoding support (Patrick Monnerat),
  OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
  OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
  Fix building when configuring without xpath and xptr (Daniel Veillard),
  configure: Add --with-python-install-dir (Jonas Eriksson),
  Fix compilation with minimum and xinclude. (Nicolas Le Cam),
  Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
  Fix compilation with minimum and schematron. (Nicolas Le Cam),
  Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
  Don't use xmlValidateName() when not available. (Nicolas Le Cam),
  Fix a portability issue on Windows (Longstreth Jon),
  Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
  Use specific macros for portability to OS/400 (Patrick Monnerat),
  Add macros needed for OS/400 portability (Patrick Monnerat),
  Portability patch for fopen on OS/400 (Patrick Monnerat),
  Portability fixes for OS/400 (Patrick Monnerat),
  Improve va_list portability (Patrick Monnerat),
  Portability fix (Patrick Monnerat),
  Portability fix (Patrick Monnerat),
  Generic portability fix (Patrick Monnerat),
  Shortening lines in headers (Patrick Monnerat),
  build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
  build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
  fix some tabs mixing incompatible with python3 (Daniel Veillard),
  add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
  Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
  python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
  python: Fix compiler warnings when building python3 bindings (Armin K),
  Fix for compilation with python 2.6.8 (Petr Sumbera)
  
   - Improvements:
  win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
  elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
  elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
  Provide cmake module (Samuel Martin),
  Fix a couple of issues raised by make dist (Daniel Veillard),
  Fix and add const qualifiers (Kurt Roeckx),
  Preparing for upcoming release of 2.9.2 (Daniel Veillard),
  Fix zlib and lzma libraries check via command line (Dmitriy),
  wrong error column in structured error when parsing end tag (Juergen Keil),
  doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
  Add methods for python3 iterator (Ron Angeles),
  Support element node traversal in document fragments. (Kyle VanderBeek),
  xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
  Added macros for argument casts (Eric Zurcher),
  adding init calls to xml and html Read parsing entry points (Daniel Veillard),
  Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
  Implement choice for name classes on attributes (Shaun McCance),
  Two small namespace tweaks (Daniel Veillard),
  xmllint --memory should fail on empty files (Daniel Veillard),
  Cast encoding name to char pointer to match arg type (Nikolay Sivov)
  
   - Cleanups:
  Removal of old configure.in (Daniel Veillard),
  Unreachable code in tree.c (Gaurav Gupta),
  Remove a couple of dead conditions (Gaurav Gupta),
  Avoid some dead code and cleanup in relaxng.c (Gaurav),
  Drop not needed checks (Denis Pauk),
  Fix a wrong test (Daniel Veillard)
  


2.9.1: Apr 19 2013:
   -  Features:
    Support for Python3 (Daniel Veillard),
    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)
  
   -  Documentation:
    Add documentation for xmllint --xpath (Daniel Veillard),
    Fix the URL of the SAX documentation from James (Daniel Veillard),
    Fix spelling of "length". (Michael Wood)
  
   -  Portability:
    Fix python bindings with versions older than 2.7 (Daniel Veillard),
    rebuild docs:Makefile.am (Roumen Petrov),
    elfgcchack.h after rebuild in doc (Roumen Petrov),
    elfgcchack for buf module (Roumen Petrov),
    Fix a uneeded and wrong extra link parameter (Daniel Veillard),
    Few cleanup patches for Windows (Denis Pauk),
    Fix rpmbuild --nocheck (Mark Salter),
    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),
    Fix Broken multi-arch support in xml2-config (Daniel Veillard),
    Fix a portability issue for GCC < 3.4.0 (Daniel Veillard),
    Windows build fixes (Daniel Richard),
    Fix a thread portability problem (Friedrich Haubensak),
    Downgrade autoconf requirement to 2.63 (Daniel Veillard)
  
   -  Bug Fixes:
    Fix a linking error for python bindings (Daniel Veillard),
    Fix a couple of return without value (Jüri Aedla),
    Improve the hashing functions (Daniel Franke),
    Improve handling of xmlStopParser() (Daniel Veillard),
    Remove risk of lockup in dictionary initialization (Daniel Veillard),
    Activate detection of encoding in external subset (Daniel Veillard),
    Fix an output buffer flushing conversion bug (Mikhail Titov),
    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),
    Fix configure cannot remove messages (Gilles Espinasse),
    fix schema validation in combination with xsi:nil (Daniel Veillard),
    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),
    Fix a few problems with setEntityLoader (Alexey Neyman),
    Detect excessive entities expansion upon replacement (Daniel Veillard),
    Fix the flushing out of raw buffers on encoding conversions (Daniel,
Veillard),
    Fix some buffer conversion issues (Daniel Veillard),
    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,
Veillard),
    Fix an error in the progressive DTD parsing code (Dan Winship),
    xmllint should not load DTD by default when using the reader (Daniel,
Veillard),
    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),
    Fix potential out of bound access (Daniel Veillard),
    Fix large parse of file from memory (Daniel Veillard),
    Fix a bug in the nsclean option of the parser (Daniel Veillard),
    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,
Veillard),
    Remove potential calls to exit() (Daniel Veillard)
  
   -  Improvements:
    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),
    Fix tree iterators broken by 2to3 script (Daniel Veillard),
    update all tests for Python3 and Python2 (Daniel Veillard),
    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),
    Fix compilation on Python3 (Daniel Veillard),
    Converting apibuild.py to python3 (Daniel Veillard),
    First pass at starting porting to python3 (Daniel Veillard),
    updated configure.in for python3 (Daniel Veillard),
    Add support for xpathRegisterVariable in Python (Shaun McCance),
    Added a regression tests from bug 694228 data (Daniel Veillard),
    Cache presence of '<' in entities content (Daniel Veillard),
    Avoid extra processing on entities (Daniel Veillard),
    Python binding for xmlRegisterInputCallback (Alexey Neyman),
    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),
    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),
    Adding streaming validation to runtest checks (Daniel Veillard),
    Add a --pushsmall option to xmllint (Daniel Veillard)
  
   -  Cleanups:
    Switched comment in file to UTF-8 encoding (Daniel Veillard),
    Extend gitignore (Daniel Veillard),
    Silent the new python test on input (Alexey Neyman),
    Cleanup of a duplicate test (Daniel Veillard),
    Cleanup on duplicate test expressions (Daniel Veillard),
    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,
Gansterer),
    Spec cleanups and a fix for multiarch support (Daniel Veillard),
    Silence a clang warning (Daniel Veillard),
    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),
    rand_seed should be static in dict.c (Wouter Van Rooy),
    Fix typos in parser comments (Jan Pokorný)
  


2.9.0: Sep 11 2012:
   -  Features:
    A few new API entry points,
    More resilient push parser mode,
    A lot of portability improvement,
    Faster XPath evaluation
  
   -  Documentation:
    xml2-config.1 markup error (Christian Weisgerber),
    libxml(3) manpage typo fix (John Bradshaw),
    More cleanups to the documentation part of libxml2 (Daniel Richard G)
  
   -  Portability:
    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),
    fix builds not having stdint.h (Rob Richards),
    GetProcAddressA is available only on WinCE (Daniel Veillard),
    More updates and cleanups on autotools and Makefiles (Daniel Richard G),
    More changes for Win32 compilation (Eric Zurcher),
    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),
    Bundles all generated files for python into the distribution (Daniel Richard G),
    Fix compiler warnings of wincecompat.c (Patrick Gansterer),
    Fix non __GNUC__ build (Patrick Gansterer),
    Fix windows unicode build (Patrick Gansterer),
    clean redefinition of {v}snprintf in C-source (Roumen Petrov),
    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),
    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),
    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),
    Various "make distcheck" and portability fixups (Daniel Richard G),
    Fix compilation on older Visual Studio (Daniel Veillard)
  
   -  Bug Fixes:
    Change the XPath code to percolate allocation errors (Daniel Veillard),
    Fix reuse of xmlInitParser (Daniel Veillard),
    Fix potential crash on entities errors (Daniel Veillard),
    initialize var (Rob Richards),
    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),
    Fix problem with specific and generic error handlers (Pietro Cerutti),
    Avoid a potential infinite recursion (Daniel Veillard),
    Fix an XSD error when generating internal automata (Daniel Veillard),
    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),
    Fix a segfault on XSD validation on pattern error (Daniel Veillard),
    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),
    Add a missing element check (Daniel Veillard),
    Adding various checks on node type though the API (Daniel Veillard),
    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),
    Fix make dist to include new private header files (Daniel Veillard),
    More fixups on the push parser behaviour (Daniel Veillard),
    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),
    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),
    Fixup limits parser (Daniel Veillard),
    Do not fetch external parsed entities (Daniel Veillard),
    Fix an error in previous commit (Aron Xu),
    Fix entities local buffers size problems (Daniel Veillard),
    Fix parser local buffers size problems (Daniel Veillard),
    Fix a failure to report xmlreader parsing failures (Daniel Veillard)
  
   -  Improvements:
    Keep libxml2.syms when running "make distclean" (Daniel Veillard),
    Allow to set the quoting character of an xmlWriter (Csaba Raduly),
    Keep non-significant blanks node in HTML parser (Daniel Veillard),
    Add a forbidden variable error number and message to XPath (Daniel Veillard),
    Support long path names on WNT (Michael Stahl),
    Improve HTML escaping of attribute on output (Daniel Veillard),
    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),
    Switching XPath node sorting to Timsort (Vojtech Fried),
    Optimizing '//' in XPath expressions (Nick Wellnhofer),
    Expose xmlBufShrink in the public tree API (Daniel Veillard),
    Visible HTML elements close the head tag (Conrad Irwin),
    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),
    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),
    minimize use of HAVE_CONFIG_H (Roumen Petrov),
    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),
    Add support for big line numbers in error reporting (Daniel Veillard),
    Avoid using xmlBuffer for serialization (Daniel Veillard),
    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),
    Provide new accessors for xmlOutputBuffer (Daniel Veillard),
    Improvements for old buffer compatibility (Daniel Veillard),
    Expand the limit test program (Daniel Veillard),
    Improve error reporting on parser errors (Daniel Veillard),
    Implement some default limits in the XPath module (Daniel Veillard),
    Introduce some default parser limits (Daniel Veillard),
    Cleanups and new limit APIs for dictionaries (Daniel Veillard),
    Fixup for buf.c (Daniel Veillard),
    Cleanup URI module memory allocation code (Daniel Veillard),
    Extend testlimits (Daniel Veillard),
    More avoid quadratic behaviour (Daniel Veillard),
    Impose a reasonable limit on PI size (Daniel Veillard),
    first version of testlimits new test (Daniel Veillard),
    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),
    Impose a reasonable limit on comment size (Daniel Veillard),
    Impose a reasonable limit on attribute size (Daniel Veillard),
    Harden the buffer code and make it more compatible (Daniel Veillard),
    More cleanups for input/buffers code (Daniel Veillard),
    Cleanup function xmlBufResetInput(), to set input from Buffer (Daniel Veillard)
    Switch the test program for characters to new input buffers (Daniel Veillard),
    Convert the HTML tree module to the new buffers (Daniel Veillard),
    Convert of the HTML parser to new input buffers (Daniel Veillard),
    Convert the writer to new output buffer and save APIs (Daniel Veillard),
    Convert XMLReader to the new input buffers (Daniel Veillard),
    New saving functions using xmlBuf and conversion (Daniel Veillard),
    Provide new xmlBuf based saving functions (Daniel Veillard),
    Convert XInclude to the new input buffers (Daniel Veillard),
    Convert catalog code to the new input buffers (Daniel Veillard),
    Convert C14N to the new Input buffer (Daniel Veillard),
    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),
    Convert XML parser to the new input buffers (Daniel Veillard),
    Incompatible change to the Input and Output buffers (Daniel Veillard),
    Adding new encoding function to deal with the new structures (Daniel Veillard),
    Convert XPath to xmlBuf (Daniel Veillard),
    Adding a new buf module for buffers (Daniel Veillard),
    Memory error within SAX2 reuse common framework (Daniel Veillard),
    Fix xmllint --xpath node initialization (Daniel Veillard)
  
   -  Cleanups:
    Various cleanups to avoid compiler warnings (Daniel Veillard),
    Big space and tab cleanup (Daniel Veillard),
    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),
    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),
    Remove all .cvsignore as they are not used anymore (Daniel Veillard),
    Fix a Timsort function helper comment (Daniel Veillard),
    Small cleanup for valgrind target (Daniel Veillard),
    Patch for portability of latin characters in C files (Daniel Veillard),
    Cleanup some of the parser code (Daniel Veillard),
    Fix a variable name in comment (Daniel Veillard),
    Regenerated testapi.c (Daniel Veillard),
    Regenerating docs and API files (Daniel Veillard),
    Small cleanup of unused variables in test (Daniel Veillard),
    Expand .gitignore with more files (Daniel Veillard)
  


2.8.0: May 23 2012:
   - Features:
  add lzma compression support (Anders F Bjorklund)
  
   - Documentation:
    xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä),
    Update README.tests (Daniel Veillard),
    URI handling code is not OOM resilient (Daniel Veillard),
    Fix an error in comment (Daniel Veillard),
    Fixed bug #617016 (Daniel Mustieles),
    Fixed two typos in the README document (Daniel Neel),
    add generated html files (Anders F Bjorklund),
    Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard),
    Improve documentation a bit (Daniel Veillard),
    Updated URL for lxml python bindings (Daniel Veillard)
  
   - Portability:
    Restore code for Windows compilation (Daniel Veillard),
    Remove git error message during configure (Christian Dywan),
    xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer),
    remove a bashism in confgure.in (John Hein),
    undef ERROR if already defined (Patrick R. Gansterer),
    Fix library problems with mingw-w64 (Michael Cronenworth),
    fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards),
    prefer native threads on win32 (Sam Thursfield),
    Allow to compile with Visual Studio 2010 (Thomas Lemm),
    Fix mingw's snprintf configure check (Andoni Morales),
    fixed a 64bit big endian issue (Marcus Meissner),
    Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard),
    Fix windows build from lzma addition (Rob Richards),
    autogen: Only check for libtoolize (Colin Walters),
    Fix the Windows build files (Patrick von Reth),
    634846 Remove a linking option breaking Windows VC10 (Daniel Veillard),
    599241 fix an initialization problem on Win64 (Andrew W. Nosenko),
    fix win build (Rob Richards)
  
   - Bug fixes:
    Part for rand_r checking missing (Daniel Veillard),
    Cleanup on randomization (Daniel Veillard),
    Fix undefined reference in python module (Pacho Ramos),
    Fix a race in xmlNewInputStream (Daniel Veillard),
    Fix weird streaming RelaxNG errors (Noam),
    Fix various bugs in new code raised by the API checking (Daniel Veillard),
    Fix various problems with "make dist" (Daniel Veillard),
    Fix a memory leak in the xzlib code (Daniel Veillard),
    HTML parser error with <noscript> in the <head> (Denis Pauk),
    XSD: optional element in complex type extension (Remi Gacogne),
    Fix html serialization error and htmlSetMetaEncoding() (Daniel Veillard),
    Fix a wrong return value in previous patch (Daniel Veillard),
    Fix an uninitialized variable use (Daniel Veillard),
    Fix a compilation problem with --minimum (Brandon Slack),
    Remove redundant and ungarded include of resolv.h (Daniel Veillard),
    xinclude with parse="text" does not use the entity loader (Shaun McCance),
    Allow to parse 1 byte HTML files (Denis Pauk),
    Patch that fixes the skipping of the HTML_PARSE_NOIMPLIED flag (Martin Schröder),
    Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
    Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
    xmlParseNodeInContext problems with an empty document (Tim Elliott),
    HTML element position is not detected properly (Pavel Andrejs),
    Fix an off by one pointer access (Jüri Aedla),
    Try to fix a problem with entities in SAX mode (Daniel Veillard),
    Fix a crash with xmllint --path on empty results (Daniel Veillard),
    Fixed bug #667946 (Daniel Mustieles),
    Fix a logic error in Schemas Component Constraints (Ryan Sleevi),
    Fix a wrong enum type use in Schemas Types (Nico Weber),
    Fix SAX2 builder in case of undefined attributes namespace (Daniel Veillard),
    Fix SAX2 builder in case of undefined element namespaces (Daniel Veillard),
    fix reference to STDOUT_FILENO on MSVC (Tay Ray Chuan),
    fix a pair of possible out of array char references (Daniel Veillard),
    Fix an allocation error when copying entities (Daniel Veillard),
    Make sure the parser returns when getting a Stop order (Chris Evans),
    Fix some potential problems on reallocation failures(parser.c) (Xia Xinfeng),
    Fix a schema type duration comparison overflow (Daniel Veillard),
    Fix an unimplemented part in RNG value validation (Daniel Veillard),
    Fix missing error status in XPath evaluation (Daniel Veillard),
    Hardening of XPath evaluation (Daniel Veillard),
    Fix an off by one error in encoding (Daniel Veillard),
    Fix RELAX NG include bug #655288 (Shaun McCance),
    Fix XSD validation bug #630130 (Toyoda Eizi),
    Fix some potential problems on reallocation failures (Chris Evans),
    __xmlRaiseError: fix use of the structured callback channel (Dmitry V. Levin),
    __xmlRaiseError: fix the structured callback channel's data initialization (Dmitry V. Levin),
    Fix memory corruption when xmlParseBalancedChunkMemoryInternal is called from xmlParseBalancedChunk (Rob Richards),
    Small fix for previous commit (Daniel Veillard),
    Fix a potential freeing error in XPath (Daniel Veillard),
    Fix a potential memory access error (Daniel Veillard),
    Reactivate the shared library versioning script (Daniel Veillard)
  
   - Improvements:
    use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov),
    New symbols added for the next release (Daniel Veillard),
    xmlTextReader bails too quickly on error (Andy Lutomirski),
    Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin),
    Use buffers when constructing string node lists. (Conrad Irwin),
    Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk),
    wrong message for double hyphen in comment XML error (Bryan Henderson),
    Fix "make tst" to grab lzma lib too (Daniel Veillard),
    Add "whereis" command to xmllint shell (Ryan),
    Improve xmllint shell (Ryan),
    add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky),
    Add --system support to autogen.sh (Daniel Veillard),
    Add hash randomization to hash and dict structures (Daniel Veillard),
    included xzlib in dist (Anders F Bjorklund),
    move xz/lzma helpers to separate included files (Anders F Bjorklund),
    add generated devhelp files (Anders F Bjorklund),
    add XML_WITH_LZMA to api (Anders F Bjorklund),
    autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters),
    Improve the error report on undefined REFs (Daniel Veillard),
    Add exception for new W3C PI xml-model (Daniel Veillard),
    Add options to ignore the internal encoding (Daniel Veillard),
    testapi: use the right type for the check (Stefan Kost),
    various: handle return values of write calls (Stefan Kost),
    testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost),
    runxmlconf: update to latest testsuite version (Stefan Kost),
    configure: add -Wno-long-long to CFLAGS (Stefan Kost),
    configure: support silent automake rules if possible (Stefan Kost),
    xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost),
    __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin),
    __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
  
   - Cleanups:
    Cleanups before 2.8.0-rc2 (Daniel Veillard),
    Avoid an extra operation (Daniel Veillard),
    Remove vestigial de-ANSI-fication support. (Javier Jardón),
    autogen.sh: Fix typo (Javier Jardón),
    Do not use unsigned but unsigned int (Daniel Veillard),
    Remove two references to u_short (Daniel Veillard),
    Fix -Wempty-body warning from clang (Nico Weber),
    Cleanups of lzma support (Daniel Veillard),
    Augment the list of ignored files (Daniel Veillard),
    python: remove unused variable (Stefan Kost),
    python: flag two unused args (Stefan Kost),
    configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost),
    xpath: remove unused variable (Stefan Kost)
  


2.7.8: Nov 4 2010:
   -  Features:
    480323 add code to plug in ICU converters by default (Giuseppe Iuculano),
    Add xmlSaveOption XML_SAVE_WSNONSIG (Adam Spragg)
  
   -  Documentation:
    Fix devhelp documentation installation (Mike Hommey),
    Fix web site encoding problems (Daniel Veillard),
    Fix a couple of typo in HTML parser error messages (Michael Day),
    Forgot to update the news page for 0.7.7 (Daniel Veillard)
  
   -  Portability:
    607273 Fix python detection on MSys/Windows (LRN),
    614087 Fix Socket API usage to allow Windows64 compilation (Ozkan Sezer),
    Fix compilation with Clang (Koop Mast),
    Fix Win32 build (Rob Richards)
  
   -  Bug Fixes:
    595789 fix a remaining potential Solaris problem (Daniel Veillard),
    617468 fix progressive HTML parsing with style using "'" (Denis Pauk),
    616478 Fix xmllint shell write command (Gwenn Kahz),
    614005 Possible erroneous HTML parsing on unterminated script (Pierre Belzile),
    627987 Fix XSD IDC errors in imported schemas (Jim Panetta),
    629325 XPath rounding errors first cleanup (Phil Shafer),
    630140 fix iso995x encoding error (Daniel Veillard),
    make sure htmlCtxtReset do reset the disableSAX field (Daniel Veillard),
    Fix a change of semantic on XPath preceding and following axis (Daniel Veillard),
    Fix a potential segfault due to weak symbols on pthreads (Mike Hommey),
    Fix a leak in XPath compilation (Daniel Veillard),
    Fix the semantic of XPath axis for namespace/attribute context nodes (Daniel Veillard),
    Avoid a descriptor leak in catalog loading code (Carlo Bramini),
    Fix a small bug in XPath evaluation code (Marius Wachtler),
    Fix handling of XML-1.0 XML namespace declaration (Daniel Veillard),
    Fix errors in XSD double validation check (Csaba Raduly),
    Fix handling of apos in URIs (Daniel Veillard),
    xmlTextReaderReadOuterXml should handle DTD (Rob Richards),
    Autogen.sh needs to create m4 directory (Rob Richards)
  
   -  Improvements:
    606592 update language ID parser to RFC 5646 (Daniel Veillard),
    Sort python generated stubs (Mike Hommey),
    Add an HTML parser option to avoid a default doctype (Daniel Veillard)
  
   -  Cleanups:
    618831 don't ship generated files in git (Adrian Bunk),
    Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P (Adrian Bunk),
    Various cleanups on encoding handling (Daniel Veillard),
    Fix xmllint to use format=1 for default formatting (Adam Spragg),
    Force _xmlSaveCtxt.format to be 0 or 1 (Adam Spragg),
    Cleanup encoding pointer comparison (Nikolay Sivov),
    Small code cleanup on previous patch (Daniel Veillard)
  


2.7.7: Mar 15 2010:
   -  Improvements:
    Adding a --xpath option to xmllint (Daniel Veillard),
    Make HTML parser non-recursive (Eugene Pimenov)
  
   -  Portability:
    relaxng.c: cast to allow compilation with sun studio 11 (Ben Walton),
    Fix build failure on Sparc solaris (Roumen Petrov),
    use autoreconf in autogen.sh (Daniel Veillard),
    Fix build with mingw (Roumen Petrov),
    Upgrade some of the configure and autogen (Daniel Veillard),
    Fix relaxNG tests in runtest for Windows runtest.c: initialize ret (Rob Richards),
    Fix a const warning in xmlNodeSetBase (Martin Trappel),
    Fix python generator to not use deprecated xmllib (Daniel Veillard),
    Update some automake files (Daniel Veillard),
    598785 Fix nanohttp on Windows (spadix)
  
   -  Bug Fixes:
    libxml violates the zlib interface and crashes (Mark Adler),
    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
    Fix  missing win32 libraries in libxml-2.0.pc (Volker Grabsch),
    Fix detection of python linker flags (Daniel Macks),
    fix build error in libxml2/python (Paul Smith),
    ChunkParser: Incorrect decoding of small xml files (Raul Hudea),
    htmlCheckEncoding doesn't update input-end after shrink (Eugene Pimenov),
    Fix a missing #ifdef (Daniel Veillard),
    Fix encoding selection for xmlParseInNodeContext (Daniel Veillard),
    xmlPreviousElementSibling mistake (François Delyon),
    608773 add a missing check in xmlGROW (Daniel Veillard),
    Fix xmlParseInNodeContext for HTML content (Daniel Veillard),
    Fix lost namespace when copying node * tree.c: reconcile namespace if not found (Rob Richards),
    Fix some missing commas in HTML element lists (Eugene Pimenov),
    Correct variable type to unsigned (Nikolay Sivov),
    Recognize ID attribute in HTML without DOCTYPE (Daniel Veillard),
    Fix memory leak in xmlXPathEvalExpression() (Martin),
    Fix an init bug in global.c (Kai Henning),
    Fix xmlNodeSetBase() comment (Daniel Veillard),
    Fix broken escape behaviour in regexp ranges (Daniel Veillard),
    Don't give default HTML boolean attribute values in parser (Daniel Veillard),
    xmlCtxtResetLastError should reset ctxt-errNo (Daniel Veillard)
  
   -  Cleanups:
    Cleanup a couple of weirdness in HTML parser (Eugene Pimenov)
  


2.7.6: Oct  6 2009:
   -  Bug Fixes:
     Restore thread support in default configuration (Andrew W. Nosenko),
     URI with no path parsing problem (Daniel Veillard),
     Minor patch for conditional defines in threads.c (Eric Zurcher)
  


2.7.5: Sep 24 2009:
   -  Bug Fixes:
    Restore behavior of --with-threads without argument (Andrew W. Nosenko),
    Fix memory leak when doc is NULL (Rob Richards),
    595792 fixing a RelaxNG bug introduced in 2.7.4 (Daniel Veillard),
    Fix a Relaxng bug raised by libvirt test suite (Daniel Veillard),
    Fix a parsing problem with little data at startup (Daniel Veillard),
    link python module with python library (Frederic Crozat),
    594874 Forgot an fclose in xmllint (Daniel Veillard)
  
   -  Cleanup:
    Adding symbols.xml to EXTRA_DIST (Daniel Veillard)
  


2.7.4: Sep 10 2009:
   - Improvements:
    Switch to GIT (GNOME),
    Add symbol versioning to libxml2 shared libs (Daniel Veillard)
  
   - Portability:
    593857 try to work around thread pbm MinGW 4.4 (Daniel Veillard),
    594250 rename ATTRIBUTE_ALLOC_SIZE to avoid clashes (Daniel Veillard),
    Fix Windows build * relaxng.c: fix windows build (Rob Richards),
    Fix the globals.h to use XMLPUBFUN (Paul Smith),
    Problem with extern extern in header (Daniel Veillard),
    Add -lnetwork for compiling on Haiku (Scott McCreary),
    Runtest portability patch for Solaris (Tim Rice),
    Small patch to accommodate the Haiku OS (Scott McCreary),
    584605 package VxWorks folder in the distribution (Daniel Veillard),
    574017 Realloc too expensive on most platform (Daniel Veillard),
    Fix windows build (Rob Richards),
    545579 doesn't compile without schema support (Daniel Veillard),
    xmllint use xmlGetNodePath when not compiled in (Daniel Veillard),
    Try to avoid __imp__xmlFree link trouble on msys (Daniel Veillard),
    Allow to select the threading system on Windows (LRN),
    Fix Solaris binary links, cleanups (Daniel Veillard),
    Bug 571059 – MSVC doesn't work with the bakefile (Intron),
    fix ATTRIBUTE_PRINTF header clash (Belgabor and Mike Hommey),
    fixes for Borland/CodeGear/Embarcadero compilers (Eric Zurcher)
  
   - Documentation:
    544910 typo: "renciliateNs" (Leonid Evdokimov),
    Add VxWorks to list of OSes (Daniel Veillard),
    Regenerate the documentation and update for git (Daniel Veillard),
    560524 ¿ xmlTextReaderLocalName description (Daniel Veillard),
    Added sponsoring by AOE media for the server (Daniel Veillard),
    updated URLs for GNOME (Vincent Lefevre),
    more warnings about xmlCleanupThreads and xmlCleanupParser (Daniel Veillard)
  
   - Bug fixes:
    594514 memory leaks - duplicate initialization (MOD),
    Wrong block opening in htmlNodeDumpOutputInternal (Daniel Veillard),
    492317 Fix  Relax-NG validation problems (Daniel Veillard),
    558452 fight with reg test and error report (Daniel Veillard),
    558452 RNG compilation of optional multiple child (Daniel Veillard),
    579746 XSD validation not correct / nilable groups (Daniel Veillard),
    502960 provide namespace stack when parsing entity (Daniel Veillard),
    566012 part 2 fix regression tests and push mode (Daniel Veillard),
    566012 autodetected encoding and encoding conflict (Daniel Veillard),
    584220 xpointer(/) and xinclude problems (Daniel Veillard),
    587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
    444994 HTML chunked failure for attribute with <> (Daniel Veillard),
    Fix end of buffer char being split in XML parser (Daniel Veillard),
    Non ASCII character may be split at buffer end (Adiel Mittmann),
    440226 Add xmlXIncludeProcessTreeFlagsData API (Stefan Behnel),
    572129 speed up parsing of large HTML text nodes (Markus Kull),
    Fix HTML parsing with 0 character in CDATA (Daniel Veillard),
    Fix SetGenericErrorFunc and SetStructured clash (Wang Lam),
    566012  Incomplete EBCDIC parsing support (Martin Kogler),
    541335 HTML avoid creating 2 head or 2 body element (Daniel Veillard),
    541237 error correcting missing end tags in HTML (Daniel Veillard),
    583439 missing line numbers in push mode (Daniel Veillard),
    587867 xmllint --html --xmlout serializing as HTML (Daniel Veillard),
    559501 avoid select and use poll for nanohttp (Raphael Prevost),
    559410 -  Regexp bug on (...)? constructs (Daniel Veillard),
    Fix a small problem on previous HTML parser patch (Daniel Veillard),
    592430 -  HTML parser runs into endless loop (Daniel Veillard),
    447899 potential double free in xmlFreeTextReader (Daniel Veillard),
    446613 small validation bug mixed content with NS (Daniel Veillard),
    Fix the problem of revalidating a doc with RNG (Daniel Veillard),
    Fix xmlKeepBlanksDefault to not break indent (Nick Wellnhofer),
    512131 refs from externalRef part need to be added (Daniel Veillard),
    512131 crash in xmlRelaxNGValidateFullElement (Daniel Veillard),
    588441 allow '.' in HTML Names even if invalid (Daniel Veillard),
    582913 Fix htmlSetMetaEncoding() to be nicer (Daniel Veillard),
    579317 Try to find the HTML encoding information (Daniel Veillard),
    575875 don't output charset=html (Daniel Veillard),
    571271 fix semantic of xsd:all with minOccurs=0 (Daniel Veillard),
    570702 fix a bug in regexp determinism checking (Daniel Veillard),
    567619 xmlValidateNotationUse missing param test (Daniel Veillard),
    574393 ¿ utf-8 filename magic for compressed files (Hans Breuer),
    Fix a couple of problems in the parser (Daniel Veillard),
    585505 ¿ Document ids and refs populated by XSD (Wayne Jensen),
    582906 XSD validating multiple imports of the same schema (Jason Childs),
    Bug 582887 ¿ problems validating complex schemas (Jason Childs),
    Bug 579729 ¿ fix XSD schemas parsing crash (Miroslav Bajtos),
    576368 ¿ htmlChunkParser with special attributes (Jiri Netolicky),
    Bug 565747 ¿ relax anyURI data character checking (Vincent Lefevre),
    Preserve attributes of include start on tree copy (Petr Pajas),
    Skip silently unrecognized XPointer schemes (Jakub Wilk),
    Fix leak on SAX1, xmllint --sax1 option and debug (Daniel Veillard),
    potential NULL dereference on non-glibc (Jim Meyering),
    Fix an XSD validation crash (Daniel Veillard),
    Fix a regression in streaming entities support (Daniel Veillard),
    Fix a couple of ABI issues with C14N 1.1 (Aleksey Sanin),
    Aleksey Sanin support for c14n 1.1 (Aleksey Sanin),
    reader bug fix with entities (Daniel Veillard),
    use options from current parser ctxt for external entities (Rob Richards),
    581612 use %s to printf strings (Christian Persch),
    584605 change the threading initialization sequence (Igor Novoseltsev),
    580705 keep line numbers in HTML parser (Aaron Patterson),
    581803 broken HTML table attributes init (Roland Steiner),
    do not set error code in xmlNsWarn (Rob Richards),
    564217 fix structured error handling problems,
    reuse options from current parser for entities (Rob Richards),
    xmlXPathRegisterNs should not allow enpty prefixes (Daniel Veillard),
    add a missing check in xmlAddSibling (Kris Breuker),
    avoid leaks on errors (Jinmei Tatuya)
  
   - Cleanup:
    Chasing dead assignments reported by clang-scan (Daniel Veillard),
    A few more safety cleanup raised by scan (Daniel Veillard),
    Fixing assorted potential problems raised by scan (Daniel Veillard),
    Potential uninitialized arguments raised by scan (Daniel Veillard),
    Fix a bunch of scan 'dead increments' and cleanup (Daniel Veillard),
    Remove a pedantic warning (Daniel Veillard),
    555833 always use rm -f in uninstall-local (Daniel Veillard),
    542394 xmlRegisterOutputCallbacks MAX_INPUT_CALLBACK (Daniel Veillard),
    Autoregenerate libxml2.syms automated checkings (Daniel Veillard),
    Make xmlRecoverDoc const (Martin Trappel) (Daniel Veillard),
    Both args of xmlStrcasestr are const (Daniel Veillard),
    hide the nbParse* variables used for debugging (Mike Hommey),
    570806 changed include of config.h (William M. Brack),
    cleanups and error reports when xmlTextWriterVSprintf fails (Jinmei Tatuya)
  


2.7.3: Jan 18 2009:
   - Build fix: fix build when HTML support is not included.
   - Bug fixes: avoid memory overflow in gigantic text nodes,
      indentation problem on the writed (Rob Richards),
      xmlAddChildList pointer problem (Rob Richards and Kevin Milburn),
      xmlAddChild problem with attribute (Rob Richards and Kris Breuker),
      avoid a memory leak in an edge case (Daniel Zimmermann),
      deallocate some pthread data (Alex Ott).
   - Improvements: configure option to avoid rebuilding docs (Adrian Bunk),
      limit text nodes to 10MB max by default, add element traversal
      APIs, add a parser option to enable pre 2.7 SAX behavior (Rob Richards),
      add gcc malloc checking (Marcus Meissner), add gcc printf like functions
      parameters checking (Marcus Meissner).


2.7.2: Oct 3 2008:
   - Portability fix: fix solaris compilation problem, fix compilation
        if XPath is not configured in
   - Bug fixes: nasty entity bug introduced in 2.7.0, restore old behaviour
        when saving an HTML doc with an xml dump function, HTML UTF-8 parsing
        bug, fix reader custom error handlers (Riccardo Scussat)
    
   - Improvement: xmlSave options for more flexibility to save as
        XML/HTML/XHTML, handle leading BOM in HTML documents


2.7.1: Sep 1 2008:
   - Portability fix: Borland C fix (Moritz Both)
   - Bug fixes: python serialization wrappers, XPath QName corner
        case handking and leaks (Martin)
   - Improvement: extend the xmlSave to handle HTML documents and trees
   - Cleanup: python serialization wrappers


2.7.0: Aug 30 2008:
   - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
      xmlParserCleanup docs
   - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
      porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
      non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
      
   - Bug fixes: various realloc problems (Ashwin), potential double-free
      (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
      Richards), pattern fix when streaming (William Brack), various XML
      parsing and validation fixes based on the W3C regression tests, reader
      tree skipping function fix (Ashwin), Schemas regexps escaping fix
      (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
      when encoder can't serialize characters on output
   - Code cleanup: compilation fix without the reader, without the output
      (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
      serious cleanup of the entity handling code
   - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
      for old versions, switch URI parsing to RFC 3986,
      add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
      new hashing functions for dictionaries (based on Stefan Behnel work),
      improve handling of misplaced html/head/body in HTML parser, better
      regression test tools and code coverage display, better algorithms
      to detect various versions of the billion laughts attacks, make
      arbitrary parser limits avoidable as a parser option


2.6.32: Apr 8 2008:
   - Documentation: returning heap memory to kernel (Wolfram Sang),
      trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
      (Jack Jansen), improve the *Recover* functions documentation,
      XmlNodeType doc link fix (Martijn Arts)
   - Bug fixes: internal subset memory leak (Ashwin), avoid problem with
      paths starting with // (Petr Sumbera), streaming XSD validation callback
      patches (Ashwin), fix redirection on port other than 80 (William Brack),
      SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
      regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
      document (Alfred Mickautsch), output I/O bug fix (William Brack),
      writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
      detection (William Brack), fix handling of empty CDATA nodes for Safari
      team, python binding problem with namespace nodes, improve HTML parsing
      (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
      Chekalkin), XSD test crash, weird system parameter entity parsing problem,
      allow save to file:///X:/ windows paths, various attribute normalisation
      problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
      the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
      out of memory handling fixes (Ashwin), XPath out of memory handling fixes
      (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
      conversion buffer size (Christian Fruth), problems with EatName
      functions on memory errors, BOM handling in external parsed entities
      (Mark Rowe)
   - Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
      mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
      Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
      a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
      cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
      fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
      duplicate code removal (Ashwin), missing malloc test and error reports
      (Ashwin), VMS makefile fix (Tycho Hilhorst)
   - improvements: better plug of schematron in the normal error handling
      (Tobias Minich)


2.6.31: Jan 11 2008:
   - Security fix: missing of checks in UTF-8 parsing
   - Bug fixes: regexp bug, dump attribute from XHTML document, fix
      xmlFree(NULL) to not crash in debug mode, Schematron parsing crash
      (Rob Richards), global lock free on Windows (Marc-Antoine Ruel),
      XSD crash due to double free (Rob Richards), indentation fix in
      xmlTextWriterFullEndElement (Felipe Pena), error in attribute type
      parsing if attribute redeclared, avoid crash in hash list scanner if
      deleting elements, column counter bug fix (Christian Schmidt),
      HTML embed element saving fix (Stefan Behnel), avoid -L/usr/lib
      output from xml2-config (Fred Crozat), avoid an xmllint crash 
      (Stefan Kost), don't stop HTML parsing on out of range chars.
      
   - Code cleanup: fix open() call third argument, regexp cut'n paste
      copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
      some make distcheck related fixes (John Carr)
   - Improvements: HTTP Header: includes port number (William Brack),
      testURI --debug option, 


2.6.30: Aug 23 2007:
   - Portability: Solaris crash on error handling, windows path fixes
      (Roland Schwarz and Rob Richards), mingw build (Roland Schwarz)
   - Bugfixes: xmlXPathNodeSetSort problem (William Brack), leak when
      reusing a writer for a new document (Dodji Seketeli), Schemas
      xsi:nil handling patch (Frank Gross), relative URI build problem
      (Patrik Fimml), crash in xmlDocFormatDump, invalid char in comment
      detection bug, fix disparity with xmlSAXUserParseMemory, automata
      generation for complex regexp counts problems, Schemas IDC import
      problems (Frank Gross), xpath predicate evailation error handling
      (William Brack)


2.6.29: Jun 12 2007:
   - Portability: patches from Andreas Stricke for WinCEi,
      fix compilation warnings (William Brack), avoid warnings on Apple OS/X
      (Wendy Doyle and Mark Rowe), Windows compilation and threading
      improvements (Rob Richards), compilation against old Python versions,
      new GNU tar changes (Ryan Hill)
   - Documentation: xmlURIUnescapeString comment, 
   - Bugfixes: xmlBufferAdd problem (Richard Jones), 'make valgrind'
      flag fix (Richard Jones), regexp interpretation of \,
      htmlCreateDocParserCtxt (Jean-Daniel Dupas), configure.in
      typo (Bjorn Reese), entity content failure, xmlListAppend() fix
      (Georges-André Silber), XPath number serialization (William Brack),
      nanohttp gzipped stream fix (William Brack and Alex Cornejo),
      xmlCharEncFirstLine typo (Mark Rowe), uri bug (François Delyon),
      XPath string value of PI nodes (William Brack), XPath node set
      sorting bugs (William Brack), avoid outputting namespace decl
      dups in the writer (Rob Richards), xmlCtxtReset bug, UTF-8 encoding
      error handling, recustion on next in catalogs, fix a Relax-NG crash,
      workaround wrong file: URIs, htmlNodeDumpFormatOutput on attributes,
      invalid character in attribute detection bug, big comments before 
      internal subset streaming bug, HTML parsing of attributes with : in
      the name, IDness of name in HTML (Dagfinn I. Mannsåker) 
   - Improvement: keep URI query parts in raw form (Richard Jones),
      embed tag support in HTML (Michael Day) 


2.6.28: Apr 17 2007:
   - Documentation: comment fixes (Markus Keim), xpath comments fixes too
      (James Dennett)
   - Bug fixes: XPath bug (William Brack), HTML parser autoclose stack usage
      (Usamah Malik), various regexp bug fixes (DV and William), path conversion
      on Windows (Igor Zlatkovic), htmlCtxtReset fix (Michael Day), XPath
      principal node of axis bug, HTML serialization of some codepoint
      (Steven Rainwater), user data propagation in XInclude (Michael Day),
      standalone and XML decl detection (Michael Day), Python id output
      for some id, fix the big python string memory leak, URI parsing fixes
      (Stéphane Bidoul and William), long comments parsing bug (William),
      concurrent threads initialization (Ted Phelps), invalid char
      in text XInclude (William), XPath memory leak (William), tab in
      python problems (Andreas Hanke), XPath node comparison error
      (Oleg Paraschenko), cleanup patch for reader (Julien Reichel),
      XML Schemas attribute group (William), HTML parsing problem (William),
      fix char 0x2d in regexps (William), regexp quantifier range with
      min occurs of 0 (William), HTML script/style parsing (Mike Day)
   - Improvement: make xmlTextReaderSetup() public
   - Compilation and postability: fix a missing include problem (William),
      __ss_family on AIX again (Björn Wiberg), compilation without zlib
      (Michael Day), catalog patch for Win32 (Christian Ehrlicher),
      Windows CE fixes (Andreas Stricke)
   - Various CVS to SVN infrastructure changes


2.6.27: Oct 25 2006:
   - Portability fixes: file names on windows (Roland Schwingel, 
      Emelyanov Alexey), windows compile fixup (Rob Richards), 
      AIX iconv() is apparently case sensitive
   - improvements: Python XPath types mapping (Nic Ferrier), XPath optimization
      (Kasimier), add xmlXPathCompiledEvalToBoolean (Kasimier), Python node
      equality and comparison (Andreas Pakulat), xmlXPathCollectAndTest
      improvememt (Kasimier), expose if library was compiled with zlib 
      support (Andrew Nosenko), cache for xmlSchemaIDCMatcher structs
      (Kasimier), xmlTextConcat should work with comments and PIs (Rob
      Richards), export htmlNewParserCtxt needed by Michael Day, refactoring
      of catalog entity loaders (Michael Day), add XPointer support to 
      python bindings (Ross Reedstrom, Brian West and Stefan Anca), 
      try to sort out most file path to URI conversions and xmlPathToUri,
      add --html --memory case to xmllint
   - building fix: fix --with-minimum (Felipe Contreras), VMS fix, 
      const'ification of HTML parser structures (Matthias Clasen),
      portability fix (Emelyanov Alexey), wget autodetection (Peter
      Breitenlohner),  remove the build path recorded in the python
      shared module, separate library flags for shared and static builds
      (Mikhail Zabaluev), fix --with-minimum --with-sax1 builds, fix
      --with-minimum --with-schemas builds
   - bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
      attribute (Kasimier), crash when using the recover mode, 
      xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
      (Kasimier), warning on entities processing, XHTML script and style
      serialization (Kasimier), python generator for long types, bug in
      xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
      allocation bug (Marton Illes), error message end of line (Rob Richards),
      fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
      crash, parser safety patch (Ben Darnell), _private context propagation
      when parsing entities (with Michael Day), fix entities behaviour when 
      using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
      context, arg error in SAX callback (Mike Hommey), fix mixed-content
      autodetect when using --noblanks, fix xmlIOParseDTD error handling,
      fix bug in xmlSplitQName on special Names, fix Relax-NG element content
      validation bug, fix xmlReconciliateNs bug, fix potential attribute 
      XML parsing bug, fix line/column accounting in XML parser, chunking bug
      in the HTML parser on script, try to detect obviously buggy HTML
      meta encoding indications, bugs with encoding BOM and xmlSaveDoc, 
      HTML entities in attributes parsing, HTML minimized attribute values,
      htmlReadDoc and htmlReadIO were broken, error handling bug in
      xmlXPathEvalExpression (Olaf Walkowiak), fix a problem in
      htmlCtxtUseOptions, xmlNewInputFromFile could leak (Marius Konitzer),
      bug on misformed SSD regexps (Christopher Boumenot)
      
   - documentation: warning about XML_PARSE_COMPACT (Kasimier Buchcik),
      fix xmlXPathCastToString documentation, improve man pages for
      xmllitn and xmlcatalog (Daniel Leidert), fixed comments of a few
      functions


2.6.26: Jun 6 2006:
   - portability fixes: Python detection (Joseph Sacco), compilation
    error(William Brack and Graham Bennett), LynxOS patch (Olli Savia)
   - bug fixes: encoding buffer problem, mix of code and data in
    xmlIO.c(Kjartan Maraas), entities in XSD validation (Kasimier Buchcik),
    variousXSD validation fixes (Kasimier), memory leak in pattern (Rob
    Richards andKasimier), attribute with colon in name (Rob Richards), XPath
    leak inerror reporting (Aleksey Sanin), XInclude text include of
    selfdocument.
   - improvements: Xpath optimizations (Kasimier), XPath object
    cache(Kasimier)


2.6.25: Jun 6 2006::
Do not use or package 2.6.25
2.6.24: Apr 28 2006:
   - Portability fixes: configure on Windows, testapi compile on windows
      (Kasimier Buchcik, venkat naidu), Borland C++ 6 compile (Eric Zurcher),
      HP-UX compiler workaround (Rick Jones), xml2-config bugfix, gcc-4.1
      cleanups, Python detection scheme (Joseph Sacco), UTF-8 file paths on
      Windows (Roland Schwingel).
      
   - Improvements: xmlDOMWrapReconcileNamespaces xmlDOMWrapCloneNode (Kasimier
      Buchcik), XML catalog debugging (Rick Jones), update to Unicode 4.01.
   - Bug fixes: xmlParseChunk() problem in 2.6.23, xmlParseInNodeContext()
      on HTML docs, URI behaviour on Windows (Rob Richards), comment streaming
      bug, xmlParseComment (with William Brack), regexp bug fixes (DV &
      Youri Golovanov), xmlGetNodePath on text/CDATA (Kasimier),
      one Relax-NG interleave bug, xmllint --path and --valid,
      XSD bugfixes (Kasimier), remove debug
      left in Python bindings (Nic Ferrier), xmlCatalogAdd bug (Martin Cole),
      xmlSetProp fixes (Rob Richards), HTML IDness (Rob Richards), a large
      number of cleanups and small fixes based on Coverity reports, bug
      in character ranges, Unicode tables const (Aivars Kalvans), schemas
      fix (Stefan Kost), xmlRelaxNGParse error deallocation, 
      xmlSchemaAddSchemaDoc error deallocation, error handling on unallowed
      code point, ixmllint --nonet to never reach the net (Gary Coady),
      line break in writer after end PI (Jason Viers). 
   - Documentation: man pages updates and cleanups (Daniel Leidert).
   - New features: Relax NG structure error handlers.


2.6.23: Jan 5 2006:
   - portability fixes: Windows (Rob Richards), getaddrinfo on Windows
    (Kolja Nowak, Rob Richards), icc warnings (Kjartan Maraas),
    --with-minimum compilation fixes (William Brack), error case handling fix
    on Solaris (Albert Chin), don't use 'list' as parameter name reported by
    Samuel Diaz Garcia, more old Unices portability fixes (Albert Chin),
    MinGW compilation (Mark Junker), HP-UX compiler warnings (Rick
  Jones),
   - code cleanup: xmlReportError (Adrian Mouat), remove xmlBufferClose
    (Geert Jansen), unreachable code (Oleksandr Kononenko), refactoring
    parsing code (Bjorn Reese)
   - bug fixes: xmlBuildRelativeURI and empty path (William Brack),
    combinatory explosion and performances in regexp code, leak in
    xmlTextReaderReadString(), xmlStringLenDecodeEntities problem (Massimo
    Morara), Identity Constraints bugs and a segfault (Kasimier Buchcik),
    XPath pattern based evaluation bugs (DV & Kasimier),
    xmlSchemaContentModelDump() memory leak (Kasimier), potential leak in
    xmlSchemaCheckCSelectorXPath(), xmlTextWriterVSprintf() misuse of
    vsnprintf (William Brack), XHTML serialization fix (Rob Richards), CRLF
    split problem (William), issues with non-namespaced attributes in
    xmlAddChild() xmlAddNextSibling() and xmlAddPrevSibling() (Rob Richards),
    HTML parsing of script, Python must not output to stdout (Nic Ferrier),
    exclusive C14N namespace visibility (Aleksey Sanin), XSD datatype
    totalDigits bug (Kasimier Buchcik), error handling when writing to an
    xmlBuffer (Rob Richards), runtest schemas error not reported (Hisashi
    Fujinaka), signed/unsigned problem in date/time code (Albert Chin), fix
    XSI driven XSD validation (Kasimier), parsing of xs:decimal (Kasimier),
    fix DTD writer output (Rob Richards), leak in xmlTextReaderReadInnerXml
    (Gary Coady), regexp bug affecting schemas (Kasimier), configuration of
    runtime debugging (Kasimier), xmlNodeBufGetContent bug on entity refs
    (Oleksandr Kononenko), xmlRegExecPushString2 bug (Sreeni Nair),
    compilation and build fixes (Michael Day), removed dependencies on
    xmlSchemaValidError (Kasimier), bug with <xml:foo/>, more XPath
    pattern based evaluation fixes (Kasimier)
   - improvements: XSD Schemas redefinitions/restrictions (Kasimier
    Buchcik), node copy checks and fix for attribute (Rob Richards), counted
    transition bug in regexps, ctxt->standalone = -2 to indicate no
    standalone attribute was found, add xmlSchemaSetParserStructuredErrors()
    (Kasimier Buchcik), add xmlTextReaderSchemaValidateCtxt() to API
    (Kasimier), handle gzipped HTTP resources (Gary Coady), add
    htmlDocDumpMemoryFormat. (Rob Richards),
   - documentation: typo (Michael Day), libxml man page (Albert Chin), save
    function to XML buffer (Geert Jansen), small doc fix (Aron Stansvik),


2.6.22: Sep 12 2005:
   - build fixes: compile without schematron (Stéphane Bidoul)
   - bug fixes: xmlDebugDumpNode on namespace node (Oleg Paraschenko)i,
    CDATA push parser bug, xmlElemDump problem with XHTML1 doc,
    XML_FEATURE_xxx clash with expat headers renamed XML_WITH_xxx, fix some
    output formatting for meta element (Rob Richards), script and style
    XHTML1 serialization (David Madore), Attribute derivation fixups in XSD
    (Kasimier Buchcik), better IDC error reports (Kasimier Buchcik)
   - improvements: add XML_SAVE_NO_EMPTY xmlSaveOption (Rob Richards), add
    XML_SAVE_NO_XHTML xmlSaveOption, XML Schemas improvements preparing for
    derive (Kasimier Buchcik).
   - documentation: generation of gtk-doc like docs, integration with
    devhelp.


2.6.21: Sep 4 2005:
   - build fixes: Cygwin portability fixes (Gerrit P. Haase), calling
    convention problems on Windows (Marcus Boerger), cleanups based on Linus'
    sparse tool, update of win32/configure.js (Rob Richards), remove warnings
    on Windows(Marcus Boerger), compilation without SAX1, detection of the
    Python binary, use $GCC inestad of $CC = 'gcc' (Andrew W. Nosenko),
    compilation/link with threads and old gcc, compile problem by C370 on
    Z/OS,
   - bug fixes: http_proxy environments (Peter Breitenlohner), HTML UTF-8
    bug (Jiri Netolicky), XPath NaN compare bug (William Brack),
    htmlParseScript potential bug, Schemas regexp handling of spaces, Base64
    Schemas comparisons NIST passes, automata build error xsd:all,
    xmlGetNodePath for namespaced attributes (Alexander Pohoyda), xmlSchemas
    foreign namespaces handling, XML Schemas facet comparison (Kupriyanov
    Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
    namespace ahndling in Schemas (Kasimier), empty model group in Schemas
    (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
    xs:anyType in Schemas (Kasimier), Python resolver emitting error
    messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
    fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
    Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
    serialization, streaming XPath, Schemas determinism detection problem,
    XInclude bug, Schemas context type (Dean Hill), validation fix (Derek
    Poon), xmlTextReaderGetAttribute[Ns] namespaces (Rob Richards), Schemas
    type fix (Kuba Nowakowski), UTF-8 parser bug, error in encoding handling,
    xmlGetLineNo fixes, bug on entities handling, entity name extraction in
    error handling with XInclude, text nodes in HTML body tags (Gary Coady),
    xml:id and IDness at the treee level fixes, XPath streaming patterns
  bugs.
   - improvements: structured interfaces for schemas and RNG error reports
    (Marcus Boerger), optimization of the char data inner loop parsing
    (thanks to Behdad Esfahbod for the idea), schematron validation though
    not finished yet, xmlSaveOption to omit XML declaration, keyref match
    error reports (Kasimier), formal expression handling code not plugged
    yet, more lax mode for the HTML parser, parser XML_PARSE_COMPACT option
    for text nodes allocation.
   - documentation: xmllint man page had --nonet duplicated


2.6.20: Jul 10 2005:
   - build fixes: Windows build (Rob Richards), Mingw compilation (Igor
    Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
    andriy@google.com), use gcc weak references to pthread to avoid the
    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
    of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
    compilation when disabling parts of the library, standalone test
    distribution.
   - bug fixes: bug in lang(), memory cleanup on errors (William Brack),
    HTTP query strings (Aron Stansvik), memory leak in DTD (William), integer
    overflow in XPath (William), nanoftp buffer size, pattern "." apth fixup
    (Kasimier), leak in tree reported by Malcolm Rowe, replaceNode patch
    (Brent Hendricks), CDATA with NULL content (Mark Vakoc), xml:base fixup
    on XInclude (William), pattern fixes (William), attribute bug in
    exclusive c14n (Aleksey Sanin), xml:space and xml:lang with SAX2 (Rob
    Richards), namespace trouble in complex parsing (Malcolm Rowe), XSD type
    QNames fixes (Kasimier), XPath streaming fixups (William), RelaxNG bug
    (Rob Richards), Schemas for Schemas fixes (Kasimier), removal of ID (Rob
    Richards), a small RelaxNG leak, HTML parsing in push mode bug (James
    Bursa), failure to detect UTF-8 parsing bugs in CDATA sections,
    areBlanks() heuristic failure, duplicate attributes in DTD bug
  (William).
   - improvements: lot of work on Schemas by Kasimier Buchcik both on
    conformance and streaming, Schemas validation messages (Kasimier Buchcik,
    Matthew Burgess), namespace removal at the python level (Brent
    Hendricks), Update to new Schemas regression tests from W3C/Nist
    (Kasimier), xmlSchemaValidateFile() (Kasimier), implementation of
    xmlTextReaderReadInnerXml and xmlTextReaderReadOuterXml (James Wert),
    standalone test framework and programs, new DOM import APIs
    xmlDOMWrapReconcileNamespaces() xmlDOMWrapAdoptNode() and
    xmlDOMWrapRemoveNode(), extension of xmllint capabilities for SAX and
    Schemas regression tests, xmlStopParser() available in pull mode too,
    ienhancement to xmllint --shell namespaces support, Windows port of the
    standalone testing tools (Kasimier and William),
    xmlSchemaValidateStream() xmlSchemaSAXPlug() and xmlSchemaSAXUnplug() SAX
    Schemas APIs, Schemas xmlReader support.


2.6.19: Apr 02 2005:
   - build fixes: drop .la from RPMs, --with-minimum build fix (William
    Brack), use XML_SOCKLEN_T instead of SOCKLEN_T because it breaks with AIX
    5.3 compiler, fixed elfgcchack.h generation and PLT reduction code on
    Linux/ELF/gcc4
   - bug fixes: schemas type decimal fixups (William Brack), xmmlint return
    code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
    segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
    (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
    HTML serialization of name attribute on a elements, Python error handlers
    leaks and improvement (Brent Hendricks), uninitialized variable in
    encoding code, Relax-NG validation bug, potential crash if
    gnorableWhitespace is NULL, xmlSAXParseDoc and xmlParseDoc signatures,
    switched back to assuming UTF-8 in case no encoding is given at
    serialization time
   - improvements: lot of work on Schemas by Kasimier Buchcik on facets
    checking and also mixed handling.
   - 


2.6.18: Mar 13 2005:
   - build fixes: warnings (Peter Breitenlohner), testapi.c generation,
    Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
    some gcc4 fixes, HP-UX portability fixes (Rick Jones).
   - bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
    xmlreader stopping on non-fatal errors, thread support for dictionaries
    reference counting (Gary Coady), internal subset and push problem, URL
    saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
    fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
    (Mike Hommey), warning should not count as error (William Brack),
    xmlCreatePushParser empty chunk, XInclude parser flags (William), cleanup
    FTP and HTTP code to reuse the uri parsing and IPv6 (William),
    xmlTextWriterStartAttributeNS fix (Rob Richards), XMLLINT_INDENT being
    empty (William), xmlWriter bugs (Rob Richards), multithreading on Windows
    (Rich Salz), xmlSearchNsByHref fix (Kasimier), Python binding leak (Brent
    Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
    (Rob Richards), Schemas decimal type fixes (William Brack),
    xmlByteConsumed static buffer (Ben Maurer).
   - improvement: speedup parsing comments and DTDs, dictionary support for
    hash tables, Schemas Identity constraints (Kasimier), streaming XPath
    subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
    values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
  Stansvik),
   - Documentation: Wiki support (Joel Reed)


2.6.17: Jan 16 2005:
   - build fixes: Windows, warnings removal (William Brack),
    maintainer-clean dependency(William), build in a different directory
    (William), fixing --with-minimum configure build (William), BeOS build
    (Marcin Konicki), Python-2.4 detection (William), compilation on AIX (Dan
    McNichol)
   - bug fixes: xmlTextReaderHasAttributes (Rob Richards), xmlCtxtReadFile()
    to use the catalog(s), loop on output (William Brack), XPath memory leak,
    ID deallocation problem (Steve Shepard), debugDumpNode crash (William),
    warning not using error callback (William), xmlStopParser bug (William),
    UTF-16 with BOM on DTDs (William), namespace bug on empty elements in
    push mode (Rob Richards), line and col computations fixups (Aleksey
    Sanin), xmlURIEscape fix (William), xmlXPathErr on bad range (William),
    patterns with too many steps, bug in RNG choice optimization, line number
    sometimes missing.
   - improvements: XSD Schemas (Kasimier Buchcik), python generator
    (William), xmlUTF8Strpos speedup (William), unicode Python strings
    (William), XSD error reports (Kasimier Buchcik), Python __str__ call
    serialize().
   - new APIs: added xmlDictExists(), GetLineNumber and GetColumnNumber for
    the xmlReader (Aleksey Sanin), Dynamic Shared Libraries APIs (mostly Joel
    Reed), error extraction API from regexps, new XMLSave option for format
    (Phil Shafer)
   - documentation: site improvement (John Fleck), FAQ entries
  (William).


2.6.16: Nov 10 2004:
   - general hardening and bug fixing crossing all the API based on new
    automated regression testing
   - build fix: IPv6 build and test on AIX (Dodji Seketeli)
   - bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
    conversion functions return values, UTF-8 bug affecting XPath reported by
    Markus Bertheau, catalog problem with NULL entries (William Brack)
   - documentation: fix to xmllint man page, some API function description
    were updated.
   - improvements: DTD validation APIs provided at the Python level (Brent
    Hendricks)


2.6.15: Oct 27 2004:
   - security fixes on the nanoftp and nanohttp modules
   - build fixes: xmllint detection bug in configure, building outside the
    source tree (Thomas Fitzsimmons)
   - bug fixes: HTML parser on broken ASCII chars in names (William), Python
    paths (Malcolm Tredinnick), xmlHasNsProp and default namespace (William),
    saving to python file objects (Malcolm Tredinnick), DTD lookup fix
    (Malcolm), save back <group> in catalogs (William), tree build
    fixes (DV and Rob Richards), Schemas memory bug, structured error handler
    on Python 64bits, thread local memory deallocation, memory leak reported
    by Volker Roth, xmlValidateDtd in the presence of an internal subset,
    entities and _private problem (William), xmlBuildRelativeURI error
    (William).
   - improvements: better XInclude error reports (William), tree debugging
    module and tests, convenience functions at the Reader API (Graham
    Bennett), add support for PI in the HTML parser.


2.6.14: Sep 29 2004:
   - build fixes: configure paths for xmllint and xsltproc, compilation
    without HTML parser, compilation warning cleanups (William Brack &
    Malcolm Tredinnick), VMS makefile update (Craig Berry),
   - bug fixes: xmlGetUTF8Char (William Brack), QName properties (Kasimier
    Buchcik), XInclude testing, Notation serialization, UTF8ToISO8859x
    transcoding (Mark Itzcovitz), lots of XML Schemas cleanup and fixes
    (Kasimier), ChangeLog cleanup (Stepan Kasal), memory fixes (Mark Vakoc),
    handling of failed realloc(), out of bound array addressing in Schemas
    date handling, Python space/tabs cleanups (Malcolm Tredinnick), NMTOKENS
    E20 validation fix (Malcolm),
   - improvements: added W3C XML Schemas testsuite (Kasimier Buchcik), add
    xmlSchemaValidateOneElement (Kasimier), Python exception hierearchy
    (Malcolm Tredinnick), Python libxml2 driver improvement (Malcolm
    Tredinnick), Schemas support for xsi:schemaLocation,
    xsi:noNamespaceSchemaLocation, xsi:type (Kasimier Buchcik)


2.6.13: Aug 31 2004:
   - build fixes: Windows and zlib (Igor Zlatkovic), -O flag with gcc,
    Solaris compiler warning, fixing RPM BuildRequires,
   - fixes: DTD loading on Windows (Igor), Schemas error reports APIs
    (Kasimier Buchcik), Schemas validation crash, xmlCheckUTF8 (William Brack
    and Julius Mittenzwei), Schemas facet check (Kasimier), default namespace
    problem (William), Schemas hexbinary empty values, encoding error could
    generate a serialization loop.
   - Improvements: Schemas validity improvements (Kasimier), added --path
    and --load-trace options to xmllint
   - documentation: tutorial update (John Fleck)


2.6.12: Aug 22 2004:
   - build fixes: fix --with-minimum, elfgcchack.h fixes (Peter
    Breitenlohner), perl path lookup (William), diff on Solaris (Albert
    Chin), some 64bits cleanups.
   - Python: avoid a warning with 2.3 (William Brack), tab and space mixes
    (William), wrapper generator fixes (William), Cygwin support (Gerrit P.
    Haase), node wrapper fix (Marc-Antoine Parent), XML Schemas support
    (Torkel Lyng)
   - Schemas: a lot of bug fixes and improvements from Kasimier Buchcik
   - fixes: RVT fixes (William), XPath context resets bug (William), memory
    debug (Steve Hay), catalog white space handling (Peter Breitenlohner),
    xmlReader state after attribute reading (William), structured error
    handler (William), XInclude generated xml:base fixup (William), Windows
    memory reallocation problem (Steve Hay), Out of Memory conditions
    handling (William and Olivier Andrieu), htmlNewDoc() charset bug,
    htmlReadMemory init (William), a posteriori validation DTD base
    (William), notations serialization missing, xmlGetNodePath (Dodji),
    xmlCheckUTF8 (Diego Tartara), missing line numbers on entity
  (William)
   - improvements: DocBook catalog build scrip (William), xmlcatalog tool
    (Albert Chin), xmllint --c14n option, no_proxy environment (Mike Hommey),
    xmlParseInNodeContext() addition, extend xmllint --shell, allow XInclude
    to not generate start/end nodes, extend xmllint --version to include CVS
    tag (William)
   - documentation: web pages fixes, validity API docs fixes (William)
    schemas API fix (Eric Haszlakiewicz), xmllint man page (John Fleck)


2.6.11: July 5 2004:
   - Schemas: a lot of changes and improvements by Kasimier Buchcik for
    attributes, namespaces and simple types.
   - build fixes: --with-minimum (William Brack),  some gcc cleanup
    (William), --with-thread-alloc (William)
   - portability: Windows binary package change (Igor Zlatkovic), Catalog
    path on Windows
   - documentation: update to the tutorial (John Fleck), xmllint return code
    (John Fleck), man pages (Ville Skytta),
   - bug fixes: C14N bug serializing namespaces (Aleksey Sanin), testSAX
    properly initialize the library (William), empty node set in XPath
    (William), xmlSchemas errors (William), invalid charref problem pointed
    by Morus Walter, XInclude xml:base generation (William), Relax-NG bug
    with div processing (William), XPointer and xml:base problem(William),
    Reader and entities, xmllint return code for schemas (William), reader
    streaming problem (Steve Ball), DTD serialization problem (William),
    libxml.m4 fixes (Mike Hommey), do not provide destructors as methods on
    Python classes, xmlReader buffer bug, Python bindings memory interfaces
    improvement (with Stéphane Bidoul), Fixed the push parser to be back to
    synchronous behaviour.
   - improvement: custom per-thread I/O enhancement (Rob Richards), register
    namespace in debug shell (Stefano Debenedetti), Python based regression
    test for non-Unix users (William), dynamically increase the number of
    XPath extension functions in Python and fix a memory leak (Marc-Antoine
    Parent and William)
   - performance: hack done with Arjan van de Ven to reduce ELF footprint
    and generated code on Linux, plus use gcc runtime profiling to optimize
    the code generated in the RPM packages.


2.6.10: May 17 2004:
   - Web page generated for ChangeLog
   - build fixes: --without-html problems, make check without make all
   - portability: problem with xpath.c on Windows (MSC and Borland), memcmp
    vs. strncmp on Solaris, XPath tests on Windows (Mark Vakoc), C++ do not
    use "list" as parameter name, make tests work with Python 1.5 (Ed
  Davis),
   - improvements: made xmlTextReaderMode public, small buffers resizing
    (Morten Welinder), add --maxmem option to xmllint, add
    xmlPopInputCallback() for Matt Sergeant, refactoring of serialization
    escaping, added escaping customization
   - bugfixes: xsd:extension (Taihei Goi), assorted regexp bugs (William
    Brack), xmlReader end of stream problem, node deregistration with reader,
    URI escaping and filemanes,  XHTML1 formatting (Nick Wellnhofer), regexp
    transition reduction (William), various XSD Schemas fixes (Kasimier
    Buchcik), XInclude fallback problem (William), weird problems with DTD
    (William), structured error handler callback context (William), reverse
    xmlEncodeSpecialChars() behaviour back to escaping '"'


2.6.9: Apr 18 2004:
   - implement xml:id Working Draft, relaxed XPath id() checking
   - bugfixes: xmlCtxtReset (Brent Hendricks), line number and CDATA (Dave
    Beckett), Relax-NG compilation (William Brack), Regexp patches (with
    William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with
    William), Relax-NG name classes compares (William), XInclude duplicate
    fallback (William), external DTD encoding detection (William), a DTD
    validation bug (William), xmlReader Close() fix, recursive extension
    schemas
   - improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
    save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
    Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
    clanup (William), keep ChangeLog compressed when installing from RPMs
   - documentation: examples and xmlDocDumpMemory docs (John Fleck), new
    example (load, xpath, modify, save), xmlCatalogDump() comments,
   - Windows: Borland C++ builder (Eric Zurcher), work around Microsoft
    compiler NaN handling bug (Mark Vakoc)


2.6.8: Mar 23 2004:
   - First step of the cleanup of the serialization code and APIs
   - XML Schemas: mixed content (Adam Dickmeiss), QName handling fixes (Adam
    Dickmeiss), anyURI for "" (John Belmonte)
   - Python: Canonicalization C14N support added (Anthony Carrico)
   - xmlDocCopyNode() extension (William)
   - Relax-NG: fix when processing XInclude results (William), external
    reference in interleave (William), missing error on <choice>
    failure (William), memory leak in schemas datatype facets.
   - xmlWriter: patch for better DTD support (Alfred Mickautsch)
   - bug fixes: xmlXPathLangFunction memory leak (Mike Hommey and William
    Brack), no ID errors if using HTML_PARSE_NOERROR, xmlcatalog fallbacks to
    URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
    XInclude and XPointer fixes for entities (William), XML parser bug
    reported by Holger Rauch, nanohttp fd leak (William),  regexps char
    groups '-' handling (William), dictionary reference counting problems,
    do not close stderr.
   - performance patches from Petr Pajas
   - Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)
   - compilation and portability fixes: --without-valid, catalog cleanups
    (Peter Breitenlohner), MingW patch (Roland Schwingel), cross-compilation
    to Windows (Christophe de Vienne),  --with-html-dir fixup (Julio Merino
    Vidal), Windows build (Eric Zurcher)


2.6.7: Feb 23 2004:
   - documentation: tutorial updates (John Fleck), benchmark results
   - xmlWriter: updates and fixes (Alfred Mickautsch, Lucas Brasilino)
   - XPath optimization (Petr Pajas)
   - DTD ID handling optimization
   - bugfixes: xpath number with  > 19 fractional (William Brack), push
    mode with unescaped '>' characters, fix xmllint --stream --timing, fix
    xmllint --memory --stream memory usage, xmlAttrSerializeTxtContent
    handling NULL, trying to fix Relax-NG/Perl interface.
   - python: 2.3 compatibility, whitespace fixes (Malcolm Tredinnick)
   - Added relaxng option to xmllint --shell


2.6.6: Feb 12 2004:
   - nanohttp and nanoftp: buffer overflow error on URI parsing (Igor and
    William) reported by Yuuichi Teranishi
   - bugfixes: make test and path issues, xmlWriter attribute serialization
    (William Brack), xmlWriter indentation (William), schemas validation
    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
    Paraschenko), XInclude empty fallback (William), HTML warnings (William),
    XPointer in XInclude (William), Python namespace serialization,
    isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
    entities in internal subset (William), internal subset bug in push mode,
    <xs:all> fix (Alexey Sarytchev)
   - Build: fix for automake-1.8 (Alexander Winston), warnings removal
    (Philip Ludlam), SOCKLEN_T detection fixes (Daniel Richard), fix
    --with-minimum configuration.
   - XInclude: allow the 2001 namespace without warning.
   - Documentation: missing example/index.html (John Fleck), version
    dependencies (John Fleck)
   - reader API: structured error reporting (Steve Ball)
   - Windows compilation: mingw, msys (Mikhail Grushinskiy), function
    prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
  patch
   - Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
    input.


2.6.5: Jan 25 2004:
   - Bugfixes: dictionaries for schemas (William Brack), regexp segfault
    (William), xs:all problem (William), a number of XPointer bugfixes
    (William), xmllint error go to stderr, DTD validation problem with
    namespace, memory leak (William), SAX1 cleanup and minimal options fixes
    (Mark Vadoc), parser context reset on error (Shaun McCance), XPath union
    evaluation problem (William) , xmlReallocLoc with NULL (Aleksey Sanin),
    XML Schemas double free (Steve Ball), XInclude with no href, argument
    callbacks order for XPath callbacks (Frederic Peters)
   - Documentation: python scripts (William Brack), xslt stylesheets (John
    Fleck), doc (Sven Zimmerman), I/O example.
   - Python bindings: fixes (William), enum support (Stéphane Bidoul),
    structured error reporting (Stéphane Bidoul)
   - XInclude: various fixes for conformance, problem related to dictionary
    references (William & me), recursion (William)
   - xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
    Mickautsch),
   - xmlSchemas: normalizedString datatype (John Belmonte)
   - code cleanup for strings functions (William)
   - Windows: compiler patches (Mark Vakoc)
   - Parser optimizations, a few new XPath and dictionary APIs for future
    XSLT optimizations.


2.6.4: Dec 24 2003:
   - Windows build fixes (Igor Zlatkovic)
   - Some serious XInclude problems reported by Oleg Paraschenko and
   - Unix and Makefile packaging fixes (me, William Brack,
   - Documentation improvements (John Fleck, William Brack), example fix
    (Lucas Brasilino)
   - bugfixes: xmlTextReaderExpand() with xmlReaderWalker, XPath handling of
    NULL strings (William Brack) , API building reader or parser from
    filedescriptor should not close it, changed XPath sorting to be stable
    again (William Brack), xmlGetNodePath() generating '(null)' (William
    Brack), DTD validation and namespace bug (William Brack), XML Schemas
    double inclusion behaviour


2.6.3: Dec 10 2003:
   - documentation updates and cleanup (DV, William Brack, John Fleck)
   - added a repository of examples, examples from Aleksey Sanin, Dodji
    Seketeli, Alfred Mickautsch
   - Windows updates: Mark Vakoc, Igor Zlatkovic, Eric Zurcher, Mingw
    (Kenneth Haley)
   - Unicode range checking (William Brack)
   - code cleanup (William Brack)
   - Python bindings: doc (John Fleck),  bug fixes
   - UTF-16 cleanup and BOM issues (William Brack)
   - bug fixes: ID and xmlReader validation, XPath (William Brack),
    xmlWriter (Alfred Mickautsch), hash.h inclusion problem, HTML parser
    (James Bursa), attribute defaulting and validation, some serialization
    cleanups, XML_GET_LINE macro, memory debug when using threads (William
    Brack), serialization of attributes and entities content, xmlWriter
    (Daniel Schulman)
   - XInclude bugfix, new APIs and update to the last version including the
    namespace change.
   - XML Schemas improvements: include (Robert Stepanek), import and
    namespace handling, fixed the regression tests troubles, added examples
    based on Eric van der Vlist book, regexp fixes
   - preliminary pattern support for streaming (needed for schemas
    constraints), added xmlTextReaderPreservePattern() to collect subdocument
    when streaming.
   - various fixes in the structured error handling


2.6.2: Nov 4 2003:
   - XPath context unregistration fixes
   - text node coalescing fixes (Mark Lilback)
   - API to screate a W3C Schemas from an existing document (Steve Ball)
   - BeOS patches (Marcin 'Shard' Konicki)
   - xmlStrVPrintf function added (Aleksey Sanin)
   - compilation fixes (Mark Vakoc)
   - stdin parsing fix (William Brack)
   - a posteriori DTD validation fixes
   - xmlReader bug fixes: Walker fixes, python bindings
   - fixed xmlStopParser() to really stop the parser and errors
   - always generate line numbers when using the new xmlReadxxx
  functions
   - added XInclude support to the xmlReader interface
   - implemented XML_PARSE_NONET parser option
   - DocBook XSLT processing bug fixed
   - HTML serialization for <p> elements (William Brack and me)
   - XPointer failure in XInclude are now handled as resource errors
   - fixed xmllint --html to use the HTML serializer on output (added
    --xmlout to implement the previous behaviour of saving it using the XML
    serializer)


2.6.1: Oct 28 2003:
   - Mostly bugfixes after the big 2.6.0 changes
   - Unix compilation patches: libxml.m4 (Patrick Welche), warnings cleanup
    (William Brack)
   - Windows compilation patches (Joachim Bauch, Stephane Bidoul, Igor
    Zlatkovic)
   - xmlWriter bugfix (Alfred Mickautsch)
   - chvalid.[ch]: couple of fixes from Stephane Bidoul
   - context reset: error state reset, push parser reset (Graham
  Bennett)
   - context reuse: generate errors if file is not readable
   - defaulted attributes for element coming from internal entities
    (Stephane Bidoul)
   - Python: tab and spaces mix (William Brack)
   - Error handler could crash in DTD validation in 2.6.0
   - xmlReader: do not use the document or element _private field
   - testSAX.c: avoid a problem with some PIs (Massimo Morara)
   - general bug fixes: mandatory encoding in text decl, serializing
    Document Fragment nodes, xmlSearchNs 2.6.0 problem (Kasimier Buchcik),
    XPath errors not reported,  slow HTML parsing of large documents.


2.6.0: Oct 20 2003:
   - Major revision release: should be API and ABI compatible but got a lot
    of change
   - Increased the library modularity, far more options can be stripped out,
    a --with-minimum configuration will weight around 160KBytes
   - Use per parser and per document dictionary, allocate names and small
    text nodes from the dictionary
   - Switch to a SAX2 like parser rewrote most of the XML parser core,
    provides namespace resolution and defaulted attributes, minimize memory
    allocations and copies, namespace checking and specific error handling,
    immutable buffers, make predefined entities static structures, etc...
   - rewrote all the error handling in the library, all errors can be
    intercepted at a structured level, with precise information
  available.
   - New simpler and more generic XML and HTML parser APIs, allowing to
    easily modify the parsing options and reuse parser context for multiple
    consecutive documents.
   - Similar new APIs for the xmlReader, for options and reuse, provided new
    functions to access content as const strings, use them for Python
  bindings
   - a  lot of other smaller API improvements: xmlStrPrintf (Aleksey Sanin),
    Walker i.e. reader on a document tree based on Alfred Mickautsch code,
    make room in nodes for line numbers, reference counting and future PSVI
    extensions, generation of character ranges to be checked with faster
    algorithm (William),  xmlParserMaxDepth (Crutcher Dunnavant), buffer
    access
   - New xmlWriter API provided by Alfred Mickautsch
   - Schemas: base64 support by Anthony Carrico
   - Parser<->HTTP integration fix, proper processing of the Mime-Type
    and charset information if available.
   - Relax-NG: bug fixes including the one reported by Martijn Faassen and
    zeroOrMore, better error reporting.
   - Python bindings (Stéphane Bidoul), never use stdout for errors
  output
   - Portability: all the headers have macros for export and calling
    convention definitions (Igor Zlatkovic), VMS update (Craig A. Berry),
    Windows: threads (Jesse Pelton), Borland compiler (Eric Zurcher,  Igor),
    Mingw (Igor), typos (Mark Vakoc),  beta version (Stephane Bidoul),
    warning cleanups on AIX and MIPS compilers (William Brack), BeOS (Marcin
    'Shard' Konicki)
   - Documentation fixes and README (William Brack), search fix (William),
    tutorial updates (John Fleck), namespace docs (Stefan Kost)
   - Bug fixes: xmlCleanupParser (Dave Beckett), threading uninitialized
    mutexes, HTML doctype lowercase,  SAX/IO (William), compression detection
    and restore (William), attribute declaration in DTDs (William), namespace
    on attribute in HTML output (William), input filename (Rob Richards),
    namespace DTD validation, xmlReplaceNode (Chris Ryland), I/O callbacks
    (Markus Keim), CDATA serialization (Shaun McCance), xmlReader (Peter
    Derr), high codepoint charref like &#x10FFFF;, buffer access in push
    mode (Justin Fletcher), TLS threads on Windows (Jesse Pelton), XPath bug
    (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
    error handling.
   - xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
    testing,  --nodict for building without tree dictionary, --nocdata to
    replace CDATA by text, --nsclean to remove surperfluous  namespace
    declarations
   - added xml2-config --libtool-libs option from Kevin P. Fleming
   - a lot of profiling and tuning of the code, speedup patch for
    xmlSearchNs() by Luca Padovani. The xmlReader should do far less
    allocation and it speed should get closer to SAX. Chris Anderson worked
    on speeding and cleaning up repetitive checking code.
   - cleanup of "make tests"
   - libxml-2.0-uninstalled.pc from Malcolm Tredinnick
   - deactivated the broken docBook SGML parser code and plugged the XML
    parser instead.


2.5.11: Sep 9 2003:
A bugfix only release:   - risk of crash in Relax-NG
   - risk of crash when using multithreaded programs


2.5.10: Aug 15 2003:
A bugfixes only release   - Windows Makefiles (William Brack)
   - UTF-16 support fixes (Mark Itzcovitz)
   - Makefile and portability (William Brack) automake, Linux alpha, Mingw
    on Windows (Mikhail Grushinskiy)
   - HTML parser (Oliver Stoeneberg)
   - XInclude performance problem reported by Kevin Ruscoe
   - XML parser performance problem reported by Grant Goodale
   - xmlSAXParseDTD() bug fix from Malcolm Tredinnick
   - and a couple other cleanup


2.5.9: Aug 9 2003:
   - bugfixes: IPv6 portability, xmlHasNsProp (Markus Keim), Windows build
    (Wiliam Brake, Jesse Pelton, Igor), Schemas (Peter Sobisch), threading
    (Rob Richards), hexBinary type (), UTF-16 BOM (Dodji Seketeli),
    xmlReader, Relax-NG schemas compilation, namespace handling,  EXSLT (Sean
    Griffin), HTML parsing problem (William Brack), DTD validation for mixed
    content + namespaces, HTML serialization, library initialization,
    progressive HTML parser
   - better interfaces for Relax-NG error handling (Joachim Bauch, )
   - adding xmlXIncludeProcessTree() for XInclud'ing in a subtree
   - doc fixes and improvements (John Fleck)
   - configure flag for -with-fexceptions when embedding in C++
   - couple of new UTF-8 helper functions (William Brack)
   - general encoding cleanup + ISO-8859-x without iconv (Peter Jacobi)
   - xmlTextReader cleanup + enum for node types (Bjorn Reese)
   - general compilation/warning cleanup Solaris/HP-UX/... (William
  Brack)


2.5.8: Jul 6 2003:
   - bugfixes: XPath, XInclude, file/URI mapping, UTF-16 save (Mark
    Itzcovitz), UTF-8 checking, URI saving, error printing (William Brack),
    PI related memleak, compilation without schemas or without xpath (Joerg
    Schmitz-Linneweber/Garry Pennington), xmlUnlinkNode problem with DTDs,
    rpm problem on , i86_64, removed a few compilation problems from 2.5.7,
    xmlIOParseDTD, and xmlSAXParseDTD (Malcolm Tredinnick)
   - portability: DJGPP (MsDos) , OpenVMS (Craig A. Berry)
   - William Brack fixed multithreading lock problems
   - IPv6 patch for FTP and HTTP accesses (Archana Shah/Wipro)
   - Windows fixes (Igor Zlatkovic,  Eric Zurcher), threading (Stéphane
    Bidoul)
   - A few W3C Schemas Structure improvements
   - W3C Schemas Datatype improvements (Charlie Bozeman)
   - Python bindings for thread globals (Stéphane Bidoul), and method/class
    generator
   - added --nonet option to xmllint
   - documentation improvements (John Fleck)


2.5.7: Apr 25 2003:
   - Relax-NG: Compiling to regexp and streaming validation on top of the
    xmlReader interface, added to xmllint --stream
   - xmlReader: Expand(), Next() and DOM access glue, bug fixes
   - Support for large files: RGN validated a 4.5GB instance
   - Thread support is now configured in by default
   - Fixes: update of the Trio code (Bjorn), WXS Date and Duration fixes
    (Charles Bozeman), DTD and namespaces (Brent Hendricks), HTML push parser
    and zero bytes handling, some missing Windows file path conversions,
    behaviour of the parser and validator in the presence of "out of memory"
    error conditions
   - extended the API to be able to plug a garbage collecting memory
    allocator, added xmlMallocAtomic() and modified the allocations
    accordingly.
   - Performances: removed excessive malloc() calls, speedup of the push and
    xmlReader interfaces, removed excessive thread locking
   - Documentation: man page (John Fleck), xmlReader documentation
   - Python: adding binding for xmlCatalogAddLocal (Brent M Hendricks)


2.5.6: Apr 1 2003:
   - Fixed W3C XML Schemas datatype, should be compliant now except for
    binHex and base64 which are not supported yet.
   - bug fixes: non-ASCII IDs, HTML output, XInclude on large docs and
    XInclude entities handling, encoding detection on external subsets, XML
    Schemas bugs and memory leaks, HTML parser (James Bursa)
   - portability: python/trio (Albert Chin), Sun compiler warnings
   - documentation: added --relaxng option to xmllint man page (John)
   - improved error reporting: xml:space, start/end tag mismatches, Relax NG
    errors


2.5.5: Mar 24 2003:
   - Lot of fixes on the Relax NG implementation. More testing including
    DocBook and TEI examples.
   - Increased the support for W3C XML Schemas datatype
   - Several bug fixes in the URI handling layer
   - Bug fixes: HTML parser, xmlReader, DTD validation, XPath, encoding
    conversion, line counting in the parser.
   - Added support for $XMLLINT_INDENT environment variable, FTP delete
   - Fixed the RPM spec file name


2.5.4: Feb 20 2003:
   - Conformance testing and lot of fixes on Relax NG and XInclude
    implementation
   - Implementation of XPointer element() scheme
   - Bug fixes: XML parser, XInclude entities merge, validity checking on
    namespaces,
    2 serialization bugs, node info generation problems, a DTD regexp
    generation problem.
  
   - Portability: windows updates and path canonicalization (Igor)
   - A few typo fixes (Kjartan Maraas)
   - Python bindings generator fixes (Stephane Bidoul)


2.5.3: Feb 10 2003:
   - RelaxNG and XML Schemas datatypes improvements, and added a first
    version of RelaxNG Python bindings
   - Fixes: XLink (Sean Chittenden), XInclude (Sean Chittenden), API fix for
    serializing namespace nodes, encoding conversion bug, XHTML1
  serialization
   - Portability fixes: Windows (Igor), AMD 64bits RPM spec file


2.5.2: Feb 5 2003:
   - First implementation of RelaxNG, added --relaxng flag to xmllint
   - Schemas support now compiled in by default.
   - Bug fixes: DTD validation, namespace checking, XInclude and entities,
    delegateURI in XML Catalogs, HTML parser, XML reader (Stéphane Bidoul),
    XPath parser and evaluation,  UTF8ToUTF8 serialization, XML reader memory
    consumption, HTML parser, HTML serialization in the presence of
  namespaces
   - added an HTML API to check elements and attributes.
   - Documentation improvement, PDF for the tutorial (John Fleck), doc
    patches (Stefan Kost)
   - Portability fixes: NetBSD (Julio Merino), Windows (Igor Zlatkovic)
   - Added python bindings for XPointer, contextual error reporting
    (Stéphane Bidoul)
   - URI/file escaping problems (Stefano Zacchiroli)


2.5.1: Jan 8 2003:
   - Fixes a memory leak and configuration/compilation problems in 2.5.0
   - documentation updates (John)
   - a couple of XmlTextReader fixes


2.5.0: Jan 6 2003:
   - New XmltextReader interface based on C#
    API (with help of Stéphane Bidoul)
   - Windows: more exports, including the new API (Igor)
   - XInclude fallback fix
   - Python: bindings for the new API, packaging (Stéphane Bidoul),
    drv_libxml2.py Python xml.sax driver (Stéphane Bidoul), fixes, speedup
    and iterators for Python-2.2 (Hannu Krosing)
   - Tutorial fixes (john Fleck and Niraj Tolia) xmllint man update
  (John)
   - Fix an XML parser bug raised by Vyacheslav Pindyura
   - Fix for VMS serialization (Nigel Hall) and config (Craig A. Berry)
   - Entities handling fixes
   - new API to optionally track node creation and deletion (Lukas
  Schroeder)
   - Added documentation for the XmltextReader interface and some XML guidelines


2.4.30: Dec 12 2002:
   - 2.4.29 broke the python bindings, rereleasing
   - Improvement/fixes of the XML API generator, and couple of minor code
    fixes.


2.4.29: Dec 11 2002:
   - Windows fixes (Igor): Windows CE port, pthread linking, python bindings
    (Stéphane Bidoul), Mingw (Magnus Henoch), and export list updates
   - Fix for prev in python bindings (ERDI Gergo)
   - Fix for entities handling (Marcus Clarke)
   - Refactored the XML and HTML dumps to a single code path, fixed XHTML1
    dump
   - Fix for URI parsing when handling URNs with fragment identifiers
   - Fix for HTTP URL escaping problem
   - added an TextXmlReader (C#) like API (work in progress)
   - Rewrote the API in XML generation script, includes a C parser and saves
    more information needed for C# bindings


2.4.28: Nov 22 2002:
   - a couple of python binding fixes
   - 2 bug fixes in the XML push parser
   - potential memory leak removed (Martin Stoilov)
   - fix to the configure script for Unix (Dimitri Papadopoulos)
   - added encoding support for XInclude parse="text"
   - autodetection of XHTML1 and specific serialization rules added
   - nasty threading bug fixed (William Brack)


2.4.27: Nov 17 2002:
   - fixes for the Python bindings
   - a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
    HTML parser,  Schemas (Charles Bozeman), document fragment support
    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
    Pajas), entities processing
   - added grep to xmllint --shell
   - VMS update patch from Craig A. Berry
   - cleanup of the Windows build with support for more compilers (Igor),
    better thread support on Windows
   - cleanup of Unix Makefiles and spec file
   - Improvements to the documentation (John Fleck)


2.4.26: Oct 18 2002:
   - Patches for Windows CE port, improvements on Windows paths handling
   - Fixes to the validation  code (DTD and Schemas), xmlNodeGetPath() ,
    HTML serialization, Namespace compliance,  and a number of small
  problems


2.4.25: Sep 26 2002:
   - A number of bug fixes: XPath, validation, Python bindings, DOM and
    tree, xmlI/O,  Html
   - Serious rewrite of XInclude
   - Made XML Schemas regexp part of the default build and APIs, small fix
    and improvement of the regexp core
   - Changed the validation code to reuse XML Schemas regexp APIs
   - Better handling of Windows file paths, improvement of Makefiles (Igor,
    Daniel Gehriger, Mark Vakoc)
   - Improved the python I/O bindings, the tests, added resolver and regexp
    APIs
   - New logos from Marc Liyanage
   - Tutorial improvements: John Fleck, Christopher Harris
   - Makefile: Fixes for AMD x86_64 (Mandrake), DESTDIR (Christophe
  Merlet)
   - removal of all stderr/perror use for error reporting
   - Better error reporting: XPath and DTD validation
   - update of the trio portability layer (Bjorn Reese)

2.4.24: Aug 22 2002   - XPath fixes (William), xf:escape-uri() (Wesley Terpstra)
   - Python binding fixes: makefiles (William), generator, rpm build, x86-64
    (fcrozat)
   - HTML <style> and boolean attributes serializer fixes
   - C14N improvements by Aleksey
   - doc cleanups: Rick Jones
   - Windows compiler makefile updates: Igor and Elizabeth Barham
   - XInclude: implementation of fallback and xml:base fixup added


2.4.23: July 6 2002:
   - performances patches: Peter Jacobi
   - c14n fixes, testsuite and performances: Aleksey Sanin
   - added xmlDocFormatDump: Chema Celorio
   - new tutorial: John Fleck
   - new hash functions and performances: Sander Vesik, portability fix from
    Peter Jacobi
   - a number of bug fixes: XPath (William Brack, Richard Jinks), XML and
    HTML parsers, ID lookup function
   - removal of all remaining sprintf: Aleksey Sanin


2.4.22: May 27 2002:
   - a number of bug fixes: configure scripts, base handling, parser, memory
    usage, HTML parser, XPath, documentation (Christian Cornelssen),
    indentation, URI parsing
   - Optimizations for XMLSec, fixing and making public some of the network
    protocol handlers (Aleksey)
   - performance patch from Gary Pennington
   - Charles Bozeman provided date and time support for XML Schemas
  datatypes


2.4.21: Apr 29 2002:
This release is both a bug fix release and also contains the early XML
Schemas structures at 
http://www.w3.org/TR/xmlschema-1/
 and datatypes at 
http://www.w3.org/TR/xmlschema-2/
 code, beware, all
interfaces are likely to change, there is huge holes, it is clearly a work in
progress and don't even think of putting this code in a production system,
it's actually not compiled in by default. The real fixes are:
   - a couple of bugs or limitations introduced in 2.4.20
   - patches for Borland C++ and MSC by Igor
   - some fixes on XPath strings and conformance patches by Richard
  Jinks
   - patch from Aleksey for the ExcC14N specification
   - OSF/1 bug fix by Bjorn


2.4.20: Apr 15 2002:
   - bug fixes: file descriptor leak, XPath, HTML output, DTD validation
   - XPath conformance testing by Richard Jinks
   - Portability fixes: Solaris, MPE/iX, Windows, OSF/1, python bindings,
    libxml.m4


2.4.19: Mar 25 2002:
   - bug fixes: half a dozen XPath bugs, Validation, ISO-Latin to UTF8
    encoder
   - portability fixes in the HTTP code
   - memory allocation checks using valgrind, and profiling tests
   - revamp of the Windows build and Makefiles


2.4.18: Mar 18 2002:
   - bug fixes: tree, SAX, canonicalization, validation, portability,
  XPath
   - removed the --with-buffer option it was becoming unmaintainable
   - serious cleanup of the Python makefiles
   - speedup patch to XPath very effective for DocBook stylesheets
   - Fixes for Windows build, cleanup of the documentation


2.4.17: Mar 8 2002:
   - a lot of bug fixes, including "namespace nodes have no parents in
  XPath"
   - fixed/improved the Python wrappers, added more examples and more
    regression tests, XPath extension functions can now return node-sets
   - added the XML Canonicalization support from Aleksey Sanin


2.4.16: Feb 20 2002:
   - a lot of bug fixes, most of them were triggered by the XML Testsuite
    from OASIS and W3C. Compliance has been significantly improved.
   - a couple of portability fixes too.


2.4.15: Feb 11 2002:
   - Fixed the Makefiles, especially the python module ones
   - A few bug fixes and cleanup
   - Includes cleanup


2.4.14: Feb 8 2002:
   - Change of License to the MIT
    License basically for integration in XFree86 codebase, and removing
    confusion around the previous dual-licensing
   - added Python bindings, beta software but should already be quite
    complete
   - a large number of fixes and cleanups, especially for all tree
    manipulations
   - cleanup of the headers, generation of a reference API definition in
  XML


2.4.13: Jan 14 2002:
   - update of the documentation: John Fleck and Charlie Bozeman
   - cleanup of timing code from Justin Fletcher
   - fixes for Windows and initial thread support on Win32: Igor and Serguei
    Narojnyi
   - Cygwin patch from Robert Collins
   - added xmlSetEntityReferenceFunc() for Keith Isdale work on xsldbg


2.4.12: Dec 7 2001:
   - a few bug fixes: thread (Gary Pennington), xmllint (Geert Kloosterman),
    XML parser (Robin Berjon), XPointer (Danny Jamshy), I/O cleanups
  (robert)
   - Eric Lavigne contributed project files for MacOS
   - some makefiles cleanups


2.4.11: Nov 26 2001:
   - fixed a couple of errors in the includes, fixed a few bugs, some code
    cleanups
   - xmllint man pages improvement by Heiko Rupp
   - updated VMS build instructions from John A Fotheringham
   - Windows Makefiles updates from Igor


2.4.10: Nov 10 2001:
   - URI escaping fix (Joel Young)
   - added xmlGetNodePath() (for paths or XPointers generation)
   - Fixes namespace handling problems when using DTD and validation
   - improvements on xmllint: Morus Walter patches for --format and
    --encode, Stefan Kost and Heiko Rupp improvements on the --shell
   - fixes for xmlcatalog linking pointed by Weiqi Gao
   - fixes to the HTML parser


2.4.9: Nov 6 2001:
   - fixes more catalog bugs
   - avoid a compilation problem, improve xmlGetLineNo()


2.4.8: Nov 4 2001:
   - fixed SGML catalogs broken in previous release, updated xmlcatalog
  tool
   - fixed a compile errors and some includes troubles.


2.4.7: Oct 30 2001:
   - exported some debugging interfaces
   - serious rewrite of the catalog code
   - integrated Gary Pennington thread safety patch, added configure option
    and regression tests
   - removed an HTML parser bug
   - fixed a couple of potentially serious validation bugs
   - integrated the SGML DocBook support in xmllint
   - changed the nanoftp anonymous login passwd
   - some I/O cleanup and a couple of interfaces for Perl wrapper
   - general bug fixes
   - updated xmllint man page by John Fleck
   - some VMS and Windows updates


2.4.6: Oct 10 2001:
   - added an updated man pages by John Fleck
   - portability and configure fixes
   - an infinite loop on the HTML parser was removed (William)
   - Windows makefile patches from Igor
   - fixed half a dozen bugs reported for libxml or libxslt
   - updated xmlcatalog to be able to modify SGML super catalogs


2.4.5: Sep 14 2001:
   - Remove a few annoying bugs in 2.4.4
   - forces the HTML serializer to output decimal charrefs since some
    version of Netscape can't handle hexadecimal ones


1.8.16: Sep 14 2001:
   - maintenance release of the old libxml1 branch, couple of bug and
    portability fixes


2.4.4: Sep 12 2001:
   - added --convert to xmlcatalog, bug fixes and cleanups of XML
  Catalog
   - a few bug fixes and some portability changes
   - some documentation cleanups


2.4.3:  Aug 23 2001:
   - XML Catalog support see the doc
   - New NaN/Infinity floating point code
   - A few bug fixes


2.4.2:  Aug 15 2001:
   - adds xmlLineNumbersDefault() to control line number generation
   - lot of bug fixes
   - the Microsoft MSC projects files should now be up to date
   - inheritance of namespaces from DTD defaulted attributes
   - fixes a serious potential security bug
   - added a --format option to xmllint


2.4.1:  July 24 2001:
   - possibility to keep line numbers in the tree
   - some computation NaN fixes
   - extension of the XPath API
   - cleanup for alpha and ia64 targets
   - patch to allow saving through HTTP PUT or POST


2.4.0: July 10 2001:
   - Fixed a few bugs in XPath, validation, and tree handling.
   - Fixed XML Base implementation, added a couple of examples to the
    regression tests
   - A bit of cleanup


2.3.14: July 5 2001:
   - fixed some entities problems and reduce memory requirement when
    substituting them
   - lots of improvements in the XPath queries interpreter can be
    substantially faster
   - Makefiles and configure cleanups
   - Fixes to XPath variable eval, and compare on empty node set
   - HTML tag closing bug fixed
   - Fixed an URI reference computation problem when validating


2.3.13: June 28 2001:
   - 2.3.12 configure.in was broken as well as the push mode XML parser
   - a few more fixes for compilation on Windows MSC by Yon Derek


1.8.14: June 28 2001:
   - Zbigniew Chyla gave a patch to use the old XML parser in push mode
   - Small Makefile fix


2.3.12: June 26 2001:
   - lots of cleanup
   - a couple of validation fix
   - fixed line number counting
   - fixed serious problems in the XInclude processing
   - added support for UTF8 BOM at beginning of entities
   - fixed a strange gcc optimizer bugs in xpath handling of float, gcc-3.0
    miscompile uri.c (William), Thomas Leitner provided a fix for the
    optimizer on Tru64
   - incorporated Yon Derek and Igor Zlatkovic  fixes and improvements for
    compilation on Windows MSC
   - update of libxml-doc.el (Felix Natter)
   - fixed 2 bugs in URI normalization code


2.3.11: June 17 2001:
   - updates to trio, Makefiles and configure should fix some portability
    problems (alpha)
   - fixed some HTML serialization problems (pre, script, and block/inline
    handling), added encoding aware APIs, cleanup of this code
   - added xmlHasNsProp()
   - implemented a specific PI for encoding support in the DocBook SGML
    parser
   - some XPath fixes (-Infinity, / as a function parameter and namespaces
    node selection)
   - fixed a performance problem and an error in the validation code
   - fixed XInclude routine to implement the recursive behaviour
   - fixed xmlFreeNode problem when libxml is included statically twice
   - added --version to xmllint for bug reports


2.3.10: June 1 2001:
   - fixed the SGML catalog support
   - a number of reported bugs got fixed, in XPath, iconv detection,
    XInclude processing
   - XPath string function should now handle unicode correctly


2.3.9: May 19 2001:
Lots of bugfixes, and added a basic SGML catalog support:
   - HTML push bugfix #54891 and another patch from Jonas Borgstrom
   - some serious speed optimization again
   - some documentation cleanups
   - trying to get better linking on Solaris (-R)
   - XPath API cleanup from Thomas Broyer
   - Validation bug fixed #54631, added a patch from Gary Pennington, fixed
    xmlValidGetValidElements()
   - Added an INSTALL file
   - Attribute removal added to API: #54433
   - added a basic support for SGML catalogs
   - fixed xmlKeepBlanksDefault(0) API
   - bugfix in xmlNodeGetLang()
   - fixed a small configure portability problem
   - fixed an inversion of SYSTEM and PUBLIC identifier in HTML document


1.8.13: May 14 2001:
   - bugfixes release of the old libxml1 branch used by Gnome


2.3.8: May 3 2001:
   - Integrated an SGML DocBook parser for the Gnome project
   - Fixed a few things in the HTML parser
   - Fixed some XPath bugs raised by XSLT use, tried to fix the floating
    point portability issue
   - Speed improvement (8M/s for SAX, 3M/s for DOM, 1.5M/s for
    DOM+validation using the XML REC as input and a 700MHz celeron).
   - incorporated more Windows cleanup
   - added xmlSaveFormatFile()
   - fixed problems in copying nodes with entities references (gdome)
   - removed some troubles surrounding the new validation module


2.3.7: April 22 2001:
   - lots of small bug fixes, corrected XPointer
   - Non deterministic content model validation support
   - added xmlDocCopyNode for gdome2
   - revamped the way the HTML parser handles end of tags
   - XPath: corrections of namespaces support and number formatting
   - Windows: Igor Zlatkovic patches for MSC compilation
   - HTML output fixes from P C Chow and William M. Brack
   - Improved validation speed sensible for DocBook
   - fixed a big bug with ID declared in external parsed entities
   - portability fixes, update of Trio from Bjorn Reese


2.3.6: April 8 2001:
   - Code cleanup using extreme gcc compiler warning options, found and
    cleared half a dozen potential problem
   - the Eazel team found an XML parser bug
   - cleaned up the user of some of the string formatting function. used the
    trio library code to provide the one needed when the platform is missing
    them
   - xpath: removed a memory leak and fixed the predicate evaluation
    problem, extended the testsuite and cleaned up the result. XPointer seems
    broken ...


2.3.5: Mar 23 2001:
   - Biggest change is separate parsing and evaluation of XPath expressions,
    there is some new APIs for this too
   - included a number of bug fixes(XML push parser, 51876, notations,
  52299)
   - Fixed some portability issues


2.3.4: Mar 10 2001:
   - Fixed bugs #51860 and #51861
   - Added a global variable xmlDefaultBufferSize to allow default buffer
    size to be application tunable.
   - Some cleanup in the validation code, still a bug left and this part
    should probably be rewritten to support ambiguous content model :-\
   - Fix a couple of serious bugs introduced or raised by changes in 2.3.3
    parser
   - Fixed another bug in xmlNodeGetContent()
   - Bjorn fixed XPath node collection and Number formatting
   - Fixed a loop reported in the HTML parsing
   - blank space are reported even if the Dtd content model proves that they
    are formatting spaces, this is for XML conformance


2.3.3: Mar 1 2001:
   - small change in XPath for XSLT
   - documentation cleanups
   - fix in validation by Gary Pennington
   - serious parsing performances improvements


2.3.2: Feb 24 2001:
   - chasing XPath bugs, found a bunch, completed some TODO
   - fixed a Dtd parsing bug
   - fixed a bug in xmlNodeGetContent
   - ID/IDREF support partly rewritten by Gary Pennington


2.3.1: Feb 15 2001:
   - some XPath and HTML bug fixes for XSLT
   - small extension of the hash table interfaces for DOM gdome2
    implementation
   - A few bug fixes


2.3.0: Feb 8 2001 (2.2.12 was on 25 Jan but I didn't kept track):
   - Lots of XPath bug fixes
   - Add a mode with Dtd lookup but without validation error reporting for
    XSLT
   - Add support for text node without escaping (XSLT)
   - bug fixes for xmlCheckFilename
   - validation code bug fixes from Gary Pennington
   - Patch from Paul D. Smith correcting URI path normalization
   - Patch to allow simultaneous install of libxml-devel and
  libxml2-devel
   - the example Makefile is now fixed
   - added HTML to the RPM packages
   - tree copying bugfixes
   - updates to Windows makefiles
   - optimization patch from Bjorn Reese


2.2.11: Jan 4 2001:
   - bunch of bug fixes (memory I/O, xpath, ftp/http, ...)
   - added htmlHandleOmittedElem()
   - Applied Bjorn Reese's IPV6 first patch
   - Applied Paul D. Smith patches for validation of XInclude results
   - added XPointer xmlns() new scheme support


2.2.10: Nov 25 2000:
   - Fix the Windows problems of 2.2.8
   - integrate OpenVMS patches
   - better handling of some nasty HTML input
   - Improved the XPointer implementation
   - integrate a number of provided patches


2.2.9: Nov 25 2000:
   - erroneous release :-(


2.2.8: Nov 13 2000:
   - First version of XInclude
    support
   - Patch in conditional section handling
   - updated MS compiler project
   - fixed some XPath problems
   - added an URI escaping function
   - some other bug fixes


2.2.7: Oct 31 2000:
   - added message redirection
   - XPath improvements (thanks TOM !)
   - xmlIOParseDTD() added
   - various small fixes in the HTML, URI, HTTP and XPointer support
   - some cleanup of the Makefile, autoconf and the distribution content


2.2.6: Oct 25 2000::
   - Added an hash table module, migrated a number of internal structure to
    those
   - Fixed a posteriori validation problems
   - HTTP module cleanups
   - HTML parser improvements (tag errors, script/style handling, attribute
    normalization)
   - coalescing of adjacent text nodes
   - couple of XPath bug fixes, exported the internal API


2.2.5: Oct 15 2000::
   - XPointer implementation and testsuite
   - Lot of XPath fixes, added variable and functions registration, more
    tests
   - Portability fixes, lots of enhancements toward an easy Windows build
    and release
   - Late validation fixes
   - Integrated a lot of contributed patches
   - added memory management docs
   - a performance problem when using large buffer seems fixed


2.2.4: Oct 1 2000::
   - main XPath problem fixed
   - Integrated portability patches for Windows
   - Serious bug fixes on the URI and HTML code


2.2.3: Sep 17 2000:
   - bug fixes
   - cleanup of entity handling code
   - overall review of all loops in the parsers, all sprintf usage has been
    checked too
   - Far better handling of larges Dtd. Validating against DocBook XML Dtd
    works smoothly now.


1.8.10: Sep 6 2000:
   - bug fix release for some Gnome projects


2.2.2: August 12 2000:
   - mostly bug fixes
   - started adding routines to access xml parser context options


2.2.1: July 21 2000:
   - a purely bug fixes release
   - fixed an encoding support problem when parsing from a memory block
   - fixed a DOCTYPE parsing problem
   - removed a bug in the function allowing to override the memory
    allocation routines


2.2.0: July 14 2000:
   - applied a lot of portability fixes
   - better encoding support/cleanup and saving (content is now always
    encoded in UTF-8)
   - the HTML parser now correctly handles encodings
   - added xmlHasProp()
   - fixed a serious problem with &#38;
   - propagated the fix to FTP client
   - cleanup, bugfixes, etc ...
   - Added a page about libxml Internationalization
    support


1.8.9:  July 9 2000:
   - fixed the spec the RPMs should be better
   - fixed a serious bug in the FTP implementation, released 1.8.9 to solve
    rpmfind users problem


2.1.1: July 1 2000:
   - fixes a couple of bugs in the 2.1.0 packaging
   - improvements on the HTML parser


2.1.0 and 1.8.8: June 29 2000:
   - 1.8.8 is mostly a commodity package for upgrading to libxml2 according
    to new instructions. It fixes a nasty problem
    about &#38; charref parsing
   - 2.1.0 also ease the upgrade from libxml v1 to the recent version. it
    also contains numerous fixes and enhancements:
    
      added xmlStopParser() to stop parsing
      improved a lot parsing speed when there is large CDATA blocks
      includes XPath patches provided by Picdar Technology
      tried to fix as much as possible DTD validation and namespace
        related problems
      output to a given encoding has been added/tested
      lot of various fixes
    
  
   - added xmlStopParser() to stop parsing
   - improved a lot parsing speed when there is large CDATA blocks
   - includes XPath patches provided by Picdar Technology
   - tried to fix as much as possible DTD validation and namespace
        related problems
   - output to a given encoding has been added/tested
   - lot of various fixes


2.0.0: Apr 12 2000:
   - First public release of libxml2. If you are using libxml, it's a good
    idea to check the 1.x to 2.x upgrade instructions. NOTE: while initially
    scheduled for Apr 3 the release occurred only on Apr 12 due to massive
    workload.
   - The include are now located under $prefix/include/libxml (instead of
    $prefix/include/gnome-xml), they also are referenced by
    #include <libxml/xxx.h>
    instead of
    #include "xxx.h"
  
   - a new URI module for parsing URIs and following strictly RFC 2396
   - the memory allocation routines used by libxml can now be overloaded
    dynamically by using xmlMemSetup()
   - The previously CVS only tool tester has been renamed
    xmllint and is now installed as part of the libxml2
    package
   - The I/O interface has been revamped. There is now ways to plug in
    specific I/O modules, either at the URI scheme detection level using
    xmlRegisterInputCallbacks()  or by passing I/O functions when creating a
    parser context using xmlCreateIOParserCtxt()
   - there is a C preprocessor macro LIBXML_VERSION providing the version
    number of the libxml module in use
   - a number of optional features of libxml can now be excluded at
    configure time (FTP/HTTP/HTML/XPath/Debug)


2.0.0beta: Mar 14 2000:
   - This is a first Beta release of libxml version 2
   - It's available only fromxmlsoft.org
    FTP, it's packaged as libxml2-2.0.0beta and available as tar and
  RPMs
   - This version is now the head in the Gnome CVS base, the old one is
    available under the tag LIB_XML_1_X
   - This includes a very large set of changes. From a  programmatic point
    of view applications should not have to be modified too much, check the
    upgrade page
   - Some interfaces may changes (especially a bit about encoding).
   - the updates includes:
    
      fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
        handled now
      Better handling of entities, especially well-formedness checking
        and proper PEref extensions in external subsets
      DTD conditional sections
      Validation now correctly handle entities content
      change
        structures to accommodate DOM
    
  
   - fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
        handled now
   - Better handling of entities, especially well-formedness checking
        and proper PEref extensions in external subsets
   - DTD conditional sections
   - Validation now correctly handle entities content
   - change
        structures to accommodate DOM
   - Serious progress were made toward compliance, here are the result of the test against the
    OASIS testsuite (except the Japanese tests since I don't support that
    encoding yet). This URL is rebuilt every couple of hours using the CVS
    head version.


1.8.7: Mar 6 2000:
   - This is a bug fix release:
   - It is possible to disable the ignorable blanks heuristic used by
    libxml-1.x, a new function  xmlKeepBlanksDefault(0) will allow this. Note
    that for adherence to XML spec, this behaviour will be disabled by
    default in 2.x . The same function will allow to keep compatibility for
    old code.
   - Blanks in <a>  </a> constructs are not ignored anymore,
    avoiding heuristic is really the Right Way :-\
   - The unchecked use of snprintf which was breaking libxml-1.8.6
    compilation on some platforms has been fixed
   - nanoftp.c nanohttp.c: Fixed '#' and '?' stripping when processing
  URIs


1.8.6: Jan 31 2000:
   - added a nanoFTP transport module, debugged until the new version of rpmfind can use
    it without troubles


1.8.5: Jan 21 2000:
   - adding APIs to parse a well balanced chunk of XML (production [43] content of the
    XML spec)
   - fixed a hideous bug in xmlGetProp pointed by Rune.Djurhuus@fast.no
   - Jody Goldberg <jgoldberg@home.com> provided another patch trying
    to solve the zlib checks problems
   - The current state in gnome CVS base is expected to ship as 1.8.5 with
    gnumeric soon


1.8.4: Jan 13 2000:
   - bug fixes, reintroduced xmlNewGlobalNs(), fixed xmlNewNs()
   - all exit() call should have been removed from libxml
   - fixed a problem with INCLUDE_WINSOCK on WIN32 platform
   - added newDocFragment()


1.8.3: Jan 5 2000:
   - a Push interface for the XML and HTML parsers
   - a shell-like interface to the document tree (try tester --shell :-)
   - lots of bug fixes and improvement added over XMas holidays
   - fixed the DTD parsing code to work with the xhtml DTD
   - added xmlRemoveProp(), xmlRemoveID() and xmlRemoveRef()
   - Fixed bugs in xmlNewNs()
   - External entity loading code has been revamped, now it uses
    xmlLoadExternalEntity(), some fix on entities processing were added
   - cleaned up WIN32 includes of socket stuff


1.8.2: Dec 21 1999:
   - I got another problem with includes and C++, I hope this issue is fixed
    for good this time
   - Added a few tree modification functions: xmlReplaceNode,
    xmlAddPrevSibling, xmlAddNextSibling, xmlNodeSetName and
    xmlDocSetRootElement
   - Tried to improve the HTML output with help from Chris Lahey


1.8.1: Dec 18 1999:
   - various patches to avoid troubles when using libxml with C++ compilers
    the "namespace" keyword and C escaping in include files
   - a problem in one of the core macros IS_CHAR was corrected
   - fixed a bug introduced in 1.8.0 breaking default namespace processing,
    and more specifically the Dia application
   - fixed a posteriori validation (validation after parsing, or by using a
    Dtd not specified in the original document)
   - fixed a bug in


1.8.0: Dec 12 1999:
   - cleanup, especially memory wise
   - the parser should be more reliable, especially the HTML one, it should
    not crash, whatever the input !
   - Integrated various patches, especially a speedup improvement for large
    dataset from Carl Nygard,
    configure with --with-buffers to enable them.
   - attribute normalization, oops should have been added long ago !
   - attributes defaulted from DTDs should be available, xmlSetProp() now
    does entities escaping by default.


1.7.4: Oct 25 1999:
   - Lots of HTML improvement
   - Fixed some errors when saving both XML and HTML
   - More examples, the regression tests should now look clean
   - Fixed a bug with contiguous charref


1.7.3: Sep 29 1999:
   - portability problems fixed
   - snprintf was used unconditionally, leading to link problems on system
    were it's not available, fixed


1.7.1: Sep 24 1999:
   - The basic type for strings manipulated by libxml has been renamed in
    1.7.1 from CHAR to xmlChar. The reason
    is that CHAR was conflicting with a predefined type on Windows. However
    on non WIN32 environment, compatibility is provided by the way of  a
    #define .
   - Changed another error : the use of a structure field called errno, and
    leading to troubles on platforms where it's a macro


1.7.0: Sep 23 1999:
   - Added the ability to fetch remote DTD or parsed entities, see the nanohttp module.
   - Added an errno to report errors by another mean than a simple printf
    like callback
   - Finished ID/IDREF support and checking when validation
   - Serious memory leaks fixed (there is now a memory wrapper module)
   - Improvement of XPath
    implementation
   - Added an HTML parser front-end

Daniel Veillard at 
bugs.html
PKi�ZG놓\,\,usr/share/doc/alt-libxml2/TODOnu�[���124907 HTML parse buffer problem when parsing larse in-memory docs
124110 DTD validation && wrong namespace
123564 xmllint --html --format

           TODO for the XML parser and stuff:
	   ==================================

    this tend to be outdated :-\ ...

DOCS:
=====

- use case of using XInclude to load for example a description.
  order document + product base -(XSLT)-> quote with XIncludes 
                                                   |
  HTML output with description of parts <---(XSLT)--

TODO:
=====
- XInclude at the SAX level (libSRVG)
- fix the C code prototype to bring back doc/libxml-undocumented.txt
  to a reasonable level
- Computation of base when HTTP redirect occurs, might affect HTTP
  interfaces.
- Computation of base in XInclude. Relativization of URIs.
- listing all attributes in a node.
- Better checking of external parsed entities TAG 1234
- Go through erratas and do the cleanup.
  http://www.w3.org/XML/xml-19980210-errata ... started ...
- jamesh suggestion: SAX like functions to save a document ie. call a
  function to open a new element with given attributes, write character
  data, close last element, etc
  + inversted SAX, initial patch in April 2002 archives.
- htmlParseDoc has parameter encoding which is not used.
  Function htmlCreateDocParserCtxt ignore it.
- fix realloc() usage.
- Stricten the UTF8 conformance (Martin Duerst):
  http://www.w3.org/2001/06/utf-8-test/.
  The bad files are in http://www.w3.org/2001/06/utf-8-wrong/.
- xml:id normalized value

TODO:
=====

- move all string manipulation functions (xmlStrdup, xmlStrlen, etc.) to
  global.c. Bjorn noted that the following files depends on parser.o solely
  because of these string functions: entities.o, global.o, hash.o, tree.o,
  xmlIO.o, and xpath.o.

- Optimization of tag strings allocation ?

- maintain coherency of namespace when doing cut'n paste operations
  => the functions are coded, but need testing

- function to rebuild the ID table
- functions to rebuild the DTD hash tables (after DTD changes).
   

EXTENSIONS:
===========

- Tools to produce man pages from the SGML docs.

- Add Xpointer recognition/API

- Add Xlink recognition/API
  => started adding an xlink.[ch] with a unified API for XML and HTML.
     it's crap :-(

- Implement XSchemas
  => Really need to be done <grin/>
  - datatype are complete, but structure support is very limited.

- extend the shell with:
   - edit
   - load/save
   - mv (yum, yum, but it's harder because directories are ordered in
     our case, mvup and mvdown would be required)


Done:
=====

- Add HTML validation using the XHTML DTD
  - problem: do we want to keep and maintain the code for handling
    DTD/System ID cache directly in libxml ?
  => not really done that way, but there are new APIs to check elements
     or attributes. Otherwise XHTML validation directly ...

- XML Schemas datatypes except Base64 and BinHex

- Relax NG validation

- XmlTextReader streaming API + validation

- Add a DTD cache prefilled with xhtml DTDs and entities and a program to
  manage them -> like the /usr/bin/install-catalog from SGML
  right place seems $datadir/xmldtds
  Maybe this is better left to user apps
  => use a catalog instead , and xhtml1-dtd package

- Add output to XHTML
  => XML serializer automatically recognize the DTd and apply the specific
     rules.

- Fix output of <tst val="x&#xA;y"/>

- compliance to XML-Namespace checking, see section 6 of
  http://www.w3.org/TR/REC-xml-names/

- Correct standalone checking/emitting (hard)
  2.9 Standalone Document Declaration

- Implement OASIS XML Catalog support
  http://www.oasis-open.org/committees/entity/

- Get OASIS testsuite to a more friendly result, check all the results
  once stable. the check-xml-test-suite.py script does this

- Implement XSLT
  => libxslt

- Finish XPath
  => attributes addressing troubles
  => defaulted attributes handling
  => namespace axis ?
  done as XSLT got debugged

- bug reported by Michael Meallin on validation problems
  => Actually means I need to add support (and warn) for non-deterministic
     content model.
- Handle undefined namespaces in entity contents better ... at least
  issue a warning
- DOM needs
  int xmlPruneProp(xmlNodePtr node, xmlAtttrPtr attr);
  => done it's actually xmlRemoveProp xmlUnsetProp xmlUnsetNsProp

- HTML: handling of Script and style data elements, need special code in
  the parser and saving functions (handling of < > " ' ...):
  http://www.w3.org/TR/html4/types.html#type-script
  Attributes are no problems since entities are accepted.
- DOM needs
  xmlAttrPtr xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
- problem when parsing hrefs with & with the HTML parser (IRC ac)
- If the internal encoding is not UTF8 saving to a given encoding doesn't
  work => fix to force UTF8 encoding ...
  done, added documentation too
- Add an ASCII I/O encoder (asciiToUTF8 and UTF8Toascii)
- Issue warning when using non-absolute namespaces URI.
- the html parser should add <head> and <body> if they don't exist
  started, not finished.
  Done, the automatic closing is added and 3 testcases were inserted
- Command to force the parser to stop parsing and ignore the rest of the file.
  xmlStopParser() should allow this, mostly untested
- support for HTML empty attributes like <hr noshade>
- plugged iconv() in for support of a large set of encodings.
- xmlSwitchToEncoding() rewrite done
- URI checkings (no fragments) rfc2396.txt
- Added a clean mechanism for overload or added input methods:
  xmlRegisterInputCallbacks()
- dynamically adapt the alloc entry point to use g_alloc()/g_free()
  if the programmer wants it: 
    - use xmlMemSetup() to reset the routines used.
- Check attribute normalization especially xmlGetProp()
- Validity checking problems for NOTATIONS attributes
- Validity checking problems for ENTITY ENTITIES attributes
- Parsing of a well balanced chunk xmlParseBalancedChunkMemory()
- URI module: validation, base, etc ... see uri.[ch]
- turn tester into a generic program xmllint installed with libxml
- extend validity checks to go through entities content instead of
  just labelling them PCDATA
- Save Dtds using the children list instead of dumping the tables,
  order is preserved as well as comments and PIs
- Wrote a notice of changes requires to go from 1.x to 2.x
- make sure that all SAX callbacks are disabled if a WF error is detected
- checking/handling of newline normalization
  http://localhost/www.xml.com/axml/target.html#sec-line-ends
- correct checking of '&' '%' on entities content.
- checking of PE/Nesting on entities declaration
- checking/handling of xml:space
   - checking done.
   - handling done, not well tested
- Language identification code, productions [33] to [38]
  => done, the check has been added and report WFness errors
- Conditional sections in DTDs [61] to [65]
  => should this crap be really implemented ???
  => Yep OASIS testsuite uses them
- Allow parsed entities defined in the internal subset to override
  the ones defined in the external subset (DtD customization).
  => This mean that the entity content should be computed only at
     use time, i.e. keep the orig string only at parse time and expand
     only when referenced from the external subset :-(
     Needed for complete use of most DTD from Eve Maler
- Add regression tests for all WFC errors
  => did some in test/WFC
  => added OASIS testsuite routines
     http://xmlsoft.org/conf/result.html

- I18N: http://wap.trondheim.com/vaer/index.phtml is not XML and accepted
  by the XML parser, UTF-8 should be checked when there is no "encoding"
  declared !
- Support for UTF-8 and UTF-16 encoding
  => added some conversion routines provided by Martin Durst
     patched them, got fixes from @@@
     I plan to keep everything internally as UTF-8 (or ISO-Latin-X)
     this is slightly more costly but more compact, and recent processors
     efficiency is cache related. The key for good performances is keeping
     the data set small, so will I.
  => the new progressive reading routines call the detection code
     is enabled, tested the ISO->UTF-8 stuff
- External entities loading: 
   - allow override by client code
   - make sure it is called for all external entities referenced
  Done, client code should use xmlSetExternalEntityLoader() to set
  the default loading routine. It will be called each time an external
  entity entity resolution is triggered.
- maintain ID coherency when removing/changing attributes
  The function used to deallocate attributes now check for it being an
  ID and removes it from the table.
- push mode parsing i.e. non-blocking state based parser
  done, both for XML and HTML parsers. Use xmlCreatePushParserCtxt()
  and xmlParseChunk() and html counterparts.
  The tester program now has a --push option to select that parser 
  front-end. Douplicated tests to use both and check results are similar.

- Most of XPath, still see some troubles and occasionnal memleaks.
- an XML shell, allowing to traverse/manipulate an XML document with
  a shell like interface, and using XPath for the anming syntax
  - use of readline and history added when available
  - the shell interface has been cleanly separated and moved to debugXML.c
- HTML parser, should be fairly stable now
- API to search the lang of an attribute
- Collect IDs at parsing and maintain a table. 
   PBM: maintain the table coherency
   PBM: how to detect ID types in absence of DtD !
- Use it for XPath ID support
- Add validity checking
  Should be finished now !
- Add regression tests with entity substitutions

- External Parsed entities, either XML or external Subset [78] and [79]
  parsing the xmllang DtD now works, so it should be sufficient for
  most cases !

- progressive reading. The entity support is a first step toward
  abstraction of an input stream. A large part of the context is still
  located on the stack, moving to a state machine and putting everything
  in the parsing context should provide an adequate solution.
  => Rather than progressive parsing, give more power to the SAX-like
     interface. Currently the DOM-like representation is built but
     => it should be possible to define that only as a set of SAX callbacks
	and remove the tree creation from the parser code.
	DONE

- DOM support, instead of using a proprietary in memory
  format for the document representation, the parser should
  call a DOM API to actually build the resulting document.
  Then the parser becomes independent of the in-memory
  representation of the document. Even better using RPC's
  the parser can actually build the document in another
  program.
  => Work started, now the internal representation is by default
     very near a direct DOM implementation. The DOM glue is implemented
     as a separate module. See the GNOME gdome module.

- C++ support : John Ehresman <jehresma@dsg.harvard.edu>
- Updated code to follow more recent specs, added compatibility flag
- Better error handling, use a dedicated, overridable error
  handling function.
- Support for CDATA.
- Keep track of line numbers for better error reporting.
- Support for PI (SAX one).
- Support for Comments (bad, should be in ASAP, they are parsed
  but not stored), should be configurable.
- Improve the support of entities on save (+SAX).

PKi�Z��T�r�r2usr/share/doc/alt-libxml2-devel/libxml2-api.xml.gznu�[����/�clibxml2-api.xml���s۸�����\g.�L�7M�rף)Jf#Q
Iپv:��-���_��?X��(ے�K?�!gI�-�`�����e��y��"�凓�?0��"���_~�������rt��?~���`�4X�_�%�\r��~�c_o���W�w�̅?��,��;�#����e�=���n����� e�,;;��R����7O2L�_��JL��0�W����"��RD�L7^���i����b����B�\E<����Xpv-��9�����L"6�,�g��`?�Q���	{Y��*������7,�d<yb�L�ɯn2�d�W<�o�0��������
����1��S��Uу�X���^��<a�<N� ����c�q%2Y
��r.�_�-�e��7A�^9纖ޱ�i%j��x��>�҄�$�G�,=�7���Q������T�gM\�4|�WS<-� ۹4�6�p�����9M�Gs�����rL4�χ���#�=���{�rݱK���dh[��'PW����MN���6�1d�_Z��q��S�E�	��1.�I���ÿ�9<����K��x�'�ư	:"�Xf�4�Y<D�����ʂ�ђ�ڱ�A@�jZB��q}�Q�3"�-�WE��Ff�
���ʰ8��և�������M���J�	��jF�e!�D��nq�)m����RdO/�FƤ�d	�pyI
G���-���4NW5��9�V�9׃9DZ/mB�)�U
W#/�ج��:�\Q�� )9�g�SG�V��e\<����v�V���2tO</dC9��Zd����x;N�g.�̕��B���C릚*��1jm/�0��Ǵ�kD��(m�¦(k������� �xr�߯����6���Rc�ؿ��-`%W[!�y��=@�3�
��ɱ/�����9H�9�?�:�,�Ґ���B�,N��>�>Oo���Ver�?�_-�1������:��F'6q-�r/-4�[ר�U+OS��l�^�\�E��qY4�4�:��@IeDo���8^�xXն+vr>"�A
�3zbFk!�8�W��S9�Yj
��$�Q�<�'�(��}MɞD)�뽻�9���^�I���;a��E|��P�%����f�XN>jO}[�"ge���y�da��7�	��ı���������uFA�'"D������P�S�axx�Ȇ�W�r�X���W<��ƶ��f6���P�{�U��W�Q�[^�")��S.�<C�z�B�q�	)�����+9Y/��N�y�v������K��y���r����Sߦ"�̫E\`��q�<I|���N�cG	Ē�^!�
�"���
�̩(�bGU�9�ک�@nl��3~�3�bZ4�H�9vxɊ��P�9Nd(�0Z�"�
��VZ}��:ڏ��j|�Us�¬�/k����n��JY�WH��SI<7n�O�$�gR{X�T��oc���7X�q[������>��T�fo9�(���Q�=Tq�,�Y�u�aѣ���oh�(q������X��!)F؆&[U
h�j��m����[L	Té�`w��jR�u0�R.�ckIݪ�dXU�C2�*x��^���x�iM�����:Q��UԤ�j�	�����KD��/���>���“��]'��}qf�H�0H����z�2��G�v'!�Aj�iHG�
�T>�[�Un��C�*��&���?1O�v)�1)~�7�U�?���[)�w
'"'g��d����Z�8Aֵ9�z���>5�‎D�[�U�X`C��*����y��O�8;��s�6�$���ݝCZɉ���魎	�S��I��+�\��CŽ<�_�rS��z���s5���&��y�u�ꖆo�o�#˛f�c�<��Hhf��+�1�6\olN����s��.x�"��k�-�9����>g��=���3�0���(7*7Q�>�@QF��g�����R�"u�U�YV/t�H�˝.���S贖�``�&ք��rEBEzϳ����VŁ3��r![Y�9't�
L�Ul��r�\�T��,ʠz�'vj�6�:�Ϊ�M4�4���%���o�44ȱ�u�o�&�V8�o
;+�_�DET�#��A�[�\񌒲�(����t�'��k�Žl���Zc*�r��֎,�[���;��h�yX繱x�u�Z�<��r��o*_H��Y��xK�k�� oy�3p��?��{Y3��Bu��� I]�e%ll��$h.\H/?^=�ɓ\��L�}�r�J.c�`��e����a��\.ay��k��T~f�����r����
K���;�@��.
�$�X�e�����z�m\�	d�`7=�8�j��qq��E����n�jM�ri.�j��VS�\NU�y�������Iz��y���^�Ƀ��vTI;�C�����R���vZhW�
��7��+�mZ
��E0G���V��3��
��`�@2�d�]ɩ�G2u�#�F�#�usc
�'ף��·k��[�����k��[��A�+�n��;�r�`_��#�L��]f�m]c�i��u��	au��Z(H�S��?bvd��`n�%�9����a��mD�@���[�<�h��`���8Ó������WdX=:���Lt�Ü�S5��L`x�
���P/�P�g�JS" j"�RAka�^O�bae�Ⱥpy^&�2OE�����e�i�.�n	�����Q�r�{qwU�
�I���1eH�2Wѿ���=�o�k��^��DT���F��X���Yxs{��D��<r��tGq*���9���������/�yp���#*l���K����5H�T�Xo�q�n}s�Uu��!
aAP?�Bu,�n���_� e��k_�y��������n/nj�<Q[�p�=W�������������}V4�u�鯬�~��-Jf$q�|.R��[iI�C�Ǔ��>���4ܶ7Ҕ?֏�8��ĆRեG'���޼�}��:�9�Y����em���,�,M\.�W.n�_���ԈGG�
"->(����|}~��ozЂ�3#��\���yŸ޳Kp����=;���d��T}>=��,�E��\֮,t�UY������gP8���L�֥3��&�rT��h�X�L��X�js���p�jE++1���g���gG'_>:~{O�Å����f�NOg�� �f�p�(ラ�i'�c'����N�N��;џ;�_��4T�:7{(�m�}��W��a� }ڶX����U���N;�g�Vz؉����}�$���	��~��S��>�n�(����l8l���q�����(g{i�`n+��n�EuV�! �\tAUd6�b���q��[a�N�Ɏ˂���R�K;I�U�"�R��>�S�l5>z6���/�\)�2��yH�i�g���!�V\���*��c�~�P+a��Ԓ.��s�T@�b���:K8�$��i���BGk7����\�u���V�p!LE�o,����<,A��*����o���}�u��l`9�kT�{U��9S��$�#K~@���g�!x�<L\�g�mY�U�U��|�B��H�@�槾���'Q�����Ҍ艐p��""��5ɸr?��cbM�zz�a��j���7�?;�K���/P�K����c-��Q6A��h�hz�
��eB���U;.|��?��;i*�O~׼�#M���$a�IV{Z��ZE��;A�|��ˀy�Xȱm�n��l��+K���Y��z�w.�B,u�Z�JK*V�2���N�DZŽY�\K��>�pw{���Mx
�X������w��w�y��נ�3���@eBX�&��]6��⡙goH���z"���~ի_�'�����\����.��oEWY�B��G�R�-�Y��tV��*Vh�b���u�.kݬn:�E5�@[�q��U�ߍ�YK��
2�9��vɉ��c����q�R^���A^�kn��C�"��G���"F�ρ�R��H�/�"��ȺQ�^�F&�6��_Z��|�|�G�j��-3�,�I;�G�ԌúH�w9��o�������SSa)-8��{�R�DX����,wȵZK�mG�v�z�7�,J܎�+sV	�[0�)��H�$��'�j�-
]%�%wD���v�4n�.�/@��22vښ(]GP%��هx��BH�eX!D�7���KI{�&���U$Z�-�M5I%��с���aG`$𢹌!�%)�iA�ʺ@�ec�ݱZ���v��`���P{F{7���_	�?�_�;N�~�(s�J�m�8mn��?2:���R�r/wN����8�Ͽ�Xe�Muݵ�gx��?��W�/d��gky��ra(�A��)���&M���ǫ�/�{}��sIމ�xu�@dV��."�n��7�)��w���|~�f�;5�:�mH6��.0>�^�$��T�Dްk��$S�ީ8Zn�����H�:O�=��Z	�{n-���@<��V^�P&���a�\��a�mx9�7�T�}�Dz��A�.�ʤ�Պ���Oa����6L8�,q.�l�)�EN���
*���L ]%���_�\�BS�:���8Z����K��(IjC�@�iR�,Y89#�pՎS9O*�M4),}$��!&��$��T*��n�i���b��BX�i��'/���vc����
#�
/���dA��\�wP�0CZ�ƌc��G����'߳H�T(����D�Y��Ǥ�\C�7���7�o��zX6���D�TS*/*�dө�o��+Y��$�p�}�
j�4�\�_XR��t�r�FF��00C(���Z<��9�T�[�H]:$�v�-��U:�J��b󌥥O�&�x|���KZݸؠL�~rf�:z�)���3M^��y��0Q�q��-Ș!��YȽ��N����ԯ���X�$�n
�p�D���#.�3ꀺ<�iM<���y��tU
��L�<�'Y�Yjba�8:*�<�,w�;})셶S��E��4�m�#�CT���Qy���R��+�k�6�!�>�x4Z�53|���Y}c:�g����cE�����&9x��ld6��@��	2ui�U�a�Oe���q}�����Ǔ�l�M{z<½/i�9>�k��l�XNo�w�d'0�T��$ָ�g&�p�/�=p�.>�#�3����#�R*�j����N'�|�i���i�;;�u,�B5LlAg����=PSl86zLm�`���;��QH��3>7<�o_���|��R�x�g�;�3�kw�pA�j̱i]�c;<xm;��t_q<sh�9v6�N> i�`���3�ą�˓�wA��#�ӵ����)s|�����	��:�d�D���)�3^��̘��J(^��E�<�T�:������8w�-�u=q�Hߟ �4D#�Tli�_��)�����
��a����5�v�Ѹ7b�(E��)d<�'S	M�e��>
�`�k
�p@B85������1����
,�Z�QERH+W1W.�2�q���}����kh�������(��n5n�Ch��uM�=zK'�>j۰�������^�QpyB�Y�� +���B��™�v��c�;�l�6��p8jӂ-�g�%QAQd�,85�8�FњF�!^9ODx�Gב��X¡$��0�TG<���PXK'�@aO�4!�:���ix�:��/����Z��o!&$��B>4�����:�\JPRt	�m*2�v�����?��Y�up�D���S��H�u����
1�u�|-%�_A ����'W�Քn��>^��d��*�ɣ/Su�Yte�����9�E�T�o����͍#I���_���������K���ݡHP�$	�PR�X
"!	�$����v?��#�x8���{=6]�)�����ᏘL�UJ�=H�B3D�M.�ʋDJ�V#p@�" $1(���V�L
6�סb"��k�9�}v�Q,���l�C���A�H���M����"X�}y����FUmr	�^X����S^҃�!��	�b!j�BHA�TK�V�~!�q�
��2
v�I[���n��q��"��+��S�����,j�0�p�R�K!�c#s3��+t��U>:)���S)�&��樿\V=K
��\�D�P��
[�+���n����z�R�b�0u�a�LA��4Sū>10
�`���PZ7�Sa��a�����E9;>C�`~(�:��#��s`�'����N���(�XA45I�q���E�g����-
w	�}Y��
:���,�����.�����6Ԥ�ɯ)E�R�r„�;�[
鲑O�C1z��d}`��_��]�AM�#�C���n�-C��
_����_i{O�i��s:s�ۙ�Y2��pX��и1\U������Ps	}�  �R�s2
_\}�Ɠ��J
�ɵQ��TQ"����s%�!��H�D��֍ݟ�J�| U�e�+�5�]C5a�A�	M�;ݵ ͢�.Cc��h��n��d&��90�ٷ����DZ�2�e}�MQ�f��uE�ۼqo!]"�����q
r��-,d1N
r��*����ކ�v�Z*[������t�K��`f�o��Cג}uZ��0����KB�4����p�
��WN�P#.I���T�{���C��b��
4!6s/z؆d����#`ץF(f���"��'�7h�sng��ʏ�z�q@�h�c�ם�sa���c?I��Y$]Rs��)���!����Ϛ�5x�`M��p��Ȁqt�I�G𦾕�,�D����5eU;#�Q(�]`9CG��Q�BW��Cڊ���%@Z�n��y�,�0\���Ө4��%X-�vO�ވ�S�h<	�e3.6e%���/X��BX��#�fz�cA�ZP��֬�$Ne��c$��}m�,��E_w[܂M���ܰ@����b�X�0�C�db��V.���^����1X�"�b�~ۅd���C7�$g�[�j΋$m��)��XN��
R`s�V�}��qG���h�8�``�K�F��R���.~Q���X�*�ɒ�Wi�k����;�;�U���
S�#������i��5H/��|��Gx7�?�7bs�D��s#xG
7y�oQ��5�ji���Rj~�h�(c����X��ŏ����k�����=����Z���N^z-�=�*��Ԩ`����9�32����c��i��J٪d�*�HS�SN8�J�U��H�����D!��)o��0%-�Q���{�'͈O<ղ�9`�9J	6ؠa�p���T�S�z��J�*{(շ�=�ې��j�Oz%2��wx�y�4��1u�T.1>��#��h�hߠ婸j�4��� �>�?�7��V)����l*�
�jZR��n�Қ��k�M��@[Mh+���ۖy���V�l�T���*圪��)r)�m`�����Ph�m��'S�������+��=��V*�n�Lm4�7U�B[
�w�߰�tëU�,"���̏
��C�
���
����>�l$i(d92�'�i��̄��ɤoc����|7XlX�(�`2��a�
�ϗb��,}���~=d�)�a
X�]�E�L|�ps������7�X1���w�-�U��!C�
�Y������C1E��H��^p��������8#h���:�i.9
���E�����a87w�S⫧�����5&r��fnO�e��CĎ i�K��ӕQ~�� �g�phR����,�ŋ/�z_��>ð�›��@���y5�Y�G�&E_�W��G�G[@�9��%P���-m@��}}Ռ�6��gx���9��g��0��di��;/�ȏY[�G_�O
x��_�B�H����ØV���/p�$����
4d5w�B�5x�p݀c2�ۚM�7c�?n����GN#$�J�Y6Ba��V�˽1��p~=#C#���<p�UɝQdFk|�g�t*�Ǫf��bJ��MpLm�ָ6\�Pf���o3�F�[��yS2�o�ؖ�8&�Bt�W�b�C��y����(�B�GK�����d�h�Mp�)fw`؃�X:���)8Q�D)4[����04'X����h5K�s5K~8�����"2��=���NCSL	.���5O
�B�U<�5�w:fQG�����ĩ��L�2���O��/h�JS"x�+Oqʕ1_x�H�)�2�����ZjЊ�y����Ę���cc4/>��C}�
���䘧�%ã�&RV@�L:"b�I60�0P;�"�q�V�ݽ���y�����1u}Xz�QFS�Z͐4�'��o
N1�VӤ(�q�Ƃ��
}�(Cnؤ��40�("���A#MM
lZ���2�nx4�\ׇ�F�9*����K(���m������ŵ&jݷ�ai��3�����Δ�&�dU���
o]枱��;�k�Z)����ن:��;�]P�
mYj�cs�/.b��>�5&H}`LT�Sr@kV��*���Z��n��
�>�%H�ڏ�V�U���n&����S�Ñ���D�������؝���)�3��f�.
H���0�7��
b����2(���j��Cϋ9q�Ϻ�D,�ـ[bU�E�"��T���0�7�$8����W�I��H���̄J��p�^�Cz�Z�,�>4,1��������G��^�.�Rq�s�n>
f��r��@��H,T� l����3�ұ)��h	8��� ��+�*O���`<s
�Pu�m�E�Qf�Q@���(�B��|	�%��� ��أ�x�D�����z�b�>8}�l�4�D���[��8s=4�+�������Nw
��������0����g���)0j��EH�m�AO��k�H��<�!pt2c&v�!-�l�=V�+����b,ֹ�لj�T�`��[d��,�&
wۦ�͸ʂ!��1��Nˑ��W2�Q���� �pk���EAf5#�(�8Y(��f�hfр�����5*��$p8.��r�EK<�7�E�6W���HL3�d Jg�X��B��N,|q�ɃW4�<`I�*��X�j?y��Q��qZ�j��&���l䫗�߃VyVK�K���>�~���j�� W��ʹz�Ajާ�&�ږ9�f�z6�?���m[x葡~�ȁ��b�A������ɏ�)T���ն8�:�(
, �N��fXt��8� ʠȺe$��{��(���K)�МG�IQ����=I���"�T0�3��H$����K�{˚d�b�;|&Wn9��T�7~,RP�_�_A�}��%ܭ��+d��ɋ�M����%mސ�-�쎝W|���脘�o*
��V�Q�bc�de{�uUꖶZM�@��pi`�P�:؍�ܬ�Go�@�mUP6%�R�7T�Ḁ�T2H%�q��:#O�s�MV��mV�pp�(/B,����,A�:�C�K����h��n%������?��Z�g�v�Y�:�����M���k�1�z�[���6<��y���V�'`��!�<�z�C��p:�C���K�S�a�N�Fs��lt�ظ&C��M��r��kZ�k��iYF��mZzx��Jm{�֠?����{	H��R��O���:��o���p��K�,�����^����D!�Gj�d{@	���\DM-<��1*�
��8.�58	��ZrE�j�h���53�hh�fb�Hp���!�{���6�|����+eȔ��lT
��F/(����{b����,,,
Q��ݡbI|�SI
B��8@��9k<l��@f�n�y5�{}<Y�DW�E�*-�;T\�4<���G0Q�T���b���MH�xة�-u?�9xh������A�K=����I��LP�UL%(�¹]�.���F���0 ŕa@�dT��=��k��3�K���P�'2E�LE�	"��/��Cn{ŞP2�L�~������Q�XFU�o�wO��+rF �|D�
ԛE�'|u����}�mU�+`���=��O�p�G�Ν����%K��	 B1S�4i-��(2nx�B!��b� kǫ�:�}�z$�"��J�kE�EO���$�cr�Ѹj���f�*��.������$.V�S��S��`<��
h�?W
�?���H(urc�pB$�j�q�\���D�
�J��%�7��>O��]����)��sMl:�|]<l�W�g������Dq��o�J/��rkh�o�<�T{��i�C����Fu�(�V�_}��*�R8ȾE�雥*ȍO_i�T��s^�B��,�L1H0��.�8�[��9x	�[7��|�0�"�C��l�����>D)�������n��6�7�	fVl?�-��'u>!,(-@� ���wʰ/^���m&>���
�;r��fz�sEO�ܢ�)n�A�}W�e�0�R�o����T�(t��RBQ�
H�U��&qv�������_vA��(� Y��Dy����*�X`У�y)��bAmn����2ơY��c(�.�)��U>"S�Q��dBƪ�|^W̖HQ��2�1sF,n����t$�`�Q�QS��U=}(L�NGy�d@ʛ��%��&R�F$���'�e����r��$�j1<8�$�c/F�
�Q'b�
e�f����e}�)Z�c�ǣ2̭#((e#�^y��ʺˆ��r�>^�	����d���ғ�p��O"���E�3TYX�`��(��a����"��o	l�o�!e�d���5���G�G0c�A!�TI�Do���Y(���E�Ai=��e��i�Q�2�2���`i+�:2 ���
����X��a�H-HĊ8Sb��7u��X]��K�D�W�'��	� W�����8u]���r�����@�d.��KT����m�"V>y�?
V8 U�O��`�c��4E�C�r�{��Eq�3���H�
���4�?8��$�ZT�mu�� ���E8��*H�[W	�U���P�Q�t0hr,`P;��KOl�GϾj
��˜mb��P8e����9P>�rЉ~U<�sX,Q�l]a�]�Y�#�bI3�8(��-"�C3����f�Z�{u~�*J��2���s՘��4��n�D���K�*�ۄ�`��|e������
c�A�g0��l�``U��F��P�}�*�Jt|�
�ӌ�n%�iz����PN�ΈHA9v~���5R��kCw�*��+Au!VK��e��4�'��A%֓b��.�3�)�}W�{2��m��o�n��~��
��H!��E�D�p�98��Rd��2��zN�2�F��+�kZ�SK��C������(/d�.V��کPc@�����詐a����A@�q��w<B�i�q�I�P�;�Fl6,m�\�Ź��:�c�CG�5���Xn0ei�R1��q��T����
�SM��z�J�jMC`QBϘ!�9���BA�
����րsųޓ�'�R��D�x��KL�#�b�)��4N�����2 �)r6[�X?5���%��I��u�RG�{Q���j��&B$\�^^C�����N���d"&ެ9��g�l��%"�Q��p#P
C*��b�]�d�ǯ͡h�N��1�&,`��*����T4 ����L�m��]�B�a��M�C��: ��	�~���j�<R���Yޕ��й��̧�� ����=�X���0Z-���|u�?j�T��8��Z��hm�V�
�#�)��-�$��я�N��=�w8+j7����gY�pw[�|-�Rp>�qT!��5�ێ�����
���K
���Kpj�ҽ��L�U=�E8E'mJ��U4�3x�����v��#PV�$��xW5��|�ȑ�g��.�D����S�	��=@�Km�'>ŗ�0�"B��>�
��?pg}W��g�l��BU��eBm}�qU��[�~�O�����L�^Fql�֧�@	�U:~pu�f��sGw��U�H�h:!	F�I��^��V���P��VR:��W�r^��K� � Q%�Twp~lڄ����%�f�/AM�[%��
X�nY��!U�h���%�x(�Ls6(��W���&vء��rמ��a�7��b�_,��.l����jKK1J�:��w�u^S�S��\m�K��?FX���k�K��_!|~�^��@޺�TT�uz��p[~�_c6s80�*T�Z��K�t��U���Z�m�+�5r��C��g��)O
�R��q�
�0c8��2�{����]���#up:7xp+F��6C�O���6^Z)|zK���@�������_]8K�4������M��G�|,��7%SF0Z�b�b"3n+(��Q�iQ�fЈp��D��hG�%�WL��8�Lj�gg8�u��\T+���]]�Euks�(��\�����_�
��&�r���Uu�e[b61�	t����8�:��܀�
�S0��4�b9��$�q��t��}�)���>B���τ-�X�)�u�>u�_?�J>K
��/+S�Q("�B�����`i�� )������]$Aa0��j�F�&��Ӛ�'��i��_6gC�=tވ}+����?7"om�i�������؏b�����>��PQ��A�"8�I�C��1C��`J,�{LN��5�!>y��l4��t{4��zY�{�|`��ZL�T�t�B�$�a�\R���j��k��ޢ�h{vg>sG���3�I�x����uX�/�k������q�W�6-7��:��֡�:Y�bض>�َa���V|�:���*�Ț�C:U��E�+vx.��.�8�5��Y�sr	��x�B@����������Qw�����n4g�20�S�%8�.�{�;Ā�0�i�Zc��L5
�AU<RR����0k���EA��"�6�-���l-BS:m�N̙�́�u����f�cu��0�E��:���-bz �b� �D��ĉB
�$
P%75���gcn��a�C,E+
��钹�붭"�E�	�1��/����4ʼn#b�0R�E��t��kt�1אGX���)9T��%
�1�����ڨ�J���$���Z>�5Ko��[c<ā�v���1��x%T��0p�$d�l���ј����8O��aW6�G�9jT����M����!��ʬ����<�{E��Ѹ̶,Ei���϶���0����RW֙مܤ���^�T��aU����Ĝ/�O�BՏ�����5��n�X�*R�@��vRí
�@(�2�{ý%��zP-�`"�w)QJ���n�p����F+���P�V����Μ��5��/s���
�so�CGd�P#�g�˽e#�4z���,3���J��R��V����x�Í��5�Y����@S�5Jy�1��Q %�G��+�;��X��j�A3��z��]�z�*�M���?��d��JƖ5E6�z{�]G�ڣ�SG�v�c��Y��ꪲ����g�+e�l���a���6,�^f�@n\��~�����&
�DaVj���7�Tz�(�!�A�$��Ќ|����ܐm�Tx�,b@�����-RV�.�)⢞㨒��&����[������l�Z1���8
�Z93UmN��KXYm�nK�<�P�:À=i���^���1��*�nV��>�T
��s�X�վgne�Nu�m�A"�9�a�ʯ,%��
F]Rh���h��S`�֝ή�kFNl���;��I���p�q-I��̱�{�;›�s�LCǖ�N<G���g~�I��"���Fn�D��Ɍ+��x�v�1)2�;]1��rX���tj�bay�
D,b��٠D�T/�tK I�K�������ۦ2���QĠ��G�5� ���W�Aظ*�j�6���%E�>Ԟ���:u#w�q�N�� �T������"��
ʀ��l��.�p"�d�Sk�Ng�"U���o�2и�`� �����&}g��Qsm�T�tm]u���@B���ۆ�,Y=ZU�i߽U�)׺�sT"�����SD�:w���+�G�}$��ϝ/��W��uN�|l��ښꦎH����i>�l]��N�3��*�0���r\UPԜ���
�'�N��G}c�b�PH�<C�[r����,,���4�R=�+���#������;� �!�C�]ldZ�=F�o�� c���E
�?)CL�E�����<�jBPj��2M[�UZC2��ϊ0�D
@P��Ũe
rm(.�aNm��&
FN%�A����]O�w@Ta���H&#c��>&PtYĹq�?)���Z���XC]qLݝ�-�WqUP8����;U%#&y��0�gU��>Qq�ʌ9_UWy3Ű�ʱ���%G�2�2o�zg�ۊ�95��;��7� �HQu�[u��Ƅ���&����F㙣�&�ǀ�X�޲?C��5X��T���ΣC�������h���)d:ͣ�S8����W
����(��7 :6�c0ő�*B3����U�sۼ����zF���Y3�:S�V�*Հ�
���W�M������r�)���2�1������s1�uE`J�c��"y�PD�u
���V��q�5�Cq9�w��V�A.A���VMK�A�|���c3��
v����i� uźXh̄g	�8�a�YC��q�
�0ЧH��C3�4����4���;����ӑ�w8�,��uTxo�A7nL�[���O&}�4F�2X��e�DzS�Rpk����b�P�Y�J̜�bd-��	������C<pc��7}98Z�
jd�
��v	R1��f��j�(h���[�a�2Q��u�ч��4���(�!�Q��v{��n0���h�&;n�����D]E�\�"̞+��V��088�����N���I��ADeY��bV�^G�2�R�q�(N�N��8���^ZE4Vz=��2!��)#�'D�Z��X��.
�+
�h)�RXܜSP�d�'[c�T���@��n�2o��h��0�KE3`��\`�vc�X�Ơ���0^�1x�`�ۚۿk(�7��(������U�ĞK-����Û�lyO�PN1������ qw�����U�.
{�wT�O2`ph"y��A�0f+7��W���y��8�uB��#�r�rPZ�ڱ����R�0ۂA��9�/��Q'�-Zȡ�/(��m�R�➂��m���LK�Bl8�WmM�y\��@6�Ȳ'YIc�
]Dsc�G)��(�E,MQ��Hü��qz]u�1&G��Mfu`9�xL���P:ފ.}�1�μ=o�G�8�8�-�
H��>�;��T�t�hlr�n���`9
/�q�=	?��pӁQ�S�D�N7��	y�S�d��N��4��=%���Z�d��=�$uO&IݓIR��$�:`'���s*4'D�Y{�b��O��|tO��w����A�
�9��F5�CH�o��XI��1��M�l�Yw��vN��{Z�'�祿�N�����,<���]jC��_���ٽ�ޣV�p~�w0#i����Zo����z���\Ũ?������^G��3c<��#C)����4D��m6�j6�}�s���U0e�F�O�<�
�I�O��F�dx	��yQT�a
���3�i�_�
�
�l�b2�1�,9B��Q̜�-k���B7g<4Um
��j1C2�?X�m��0���Skڙ]����U�dr��v�q�ga��C�݊�&�J_ P�Sjo��˫;#�8�p3�Z�c�``�ȑ��x
�w,{c�A:����ch�w�(:�A�؁,���1�Y��Z �qxŠ�C$�>�(��@��X���w�*�&������y�K��s23�r�G9D�
�`�8,��߈��gЄ��)������Mt�"�6�ۜ�^S���>
��i�tqhp*@fI�
�;�t�!@��峇Ź�K�F�
�r�iH�ې>Z�(��-��W�P�n�5�C��2Xh���s|ڧN�
��E��(��Q O��I��k�<Ny��8�o��	ތ��;��n���N�?g���=]�F9[��>�<�{<�zgr�Jq��Ҹ��)�-�5e��,�b���i�f���Y���`k����iݝ�8�φ��_�$H�-:��2�Z!M��L
�P��;�Nm��m�6|fO���hG��*{ཕՐ���Fc4�o3�l���)s�9n��QLX�C33��}bGm�1�6Do�`��`���٘��(��9�}h8�FC�sз����tR����6���GW��3X[�\���s�2`�:�0"�/�k�C�"�4E�m���D0����F{G�DX:'��=	��	�tO2/��o�D3|��9;Ɉΰ���a�m��t:����c���<h�	�r��7`�ׄv���|�qٗ�;M�;ͨwN��$(��9�	J���Z�4�MV�F`��-ph����1�Ǻy��6!=�?����`⡾��9���4�2���0�j
�3�F"�B������tƽ`�x���#�gw^u�5��J��#72��"
U�>G�����FA��o�w�P��[��ӿ˼�оX��`���h�x�T
PP8Y����Ҧ�k�8����W�$T�4��xE���!�u-y��Q���
���DI1*��n~o[�E�](�=@B�����E�(��d�K��D�*�x��Uyl�̧���i��y���gBL�x61���2��0����
�,_1��NA�f�Lq�ێR�t�I<�xT-��������D�>+ȓ'ɤ�t�{�7-`�C6�z@��9�aJK��
̤�J���l�}�ՠ�<k�2W;�sx��W�ֈ �du�7�C��n�B�����W/����+��(���W#��%;���ios�U��ip-s�Ƒ͓Sm%�_�%��Dn��c���A��J����B��!�,�Ѐ#��\�Y�vդ���3`���*a[�?ơ�����
'v����p%���=�j.4��4��L
C>D�&��h������r��D��u/���ܺ�O}�:��l>�:j���!�/��@���$���z�GQe_����`��`�6���+e�i���ԋb?���4ܼ:q�I=@�	��G��͈���V�h�Yd(��ߓ �p���a9��PO�^��m?ƂG�<\4ӅUE�M�`����?7���4Aal�B���
�A�B�E�`���r��r�r����x���]�/�(���'"�����[�K���2B�n�������QkOa��%+�Ҏ5/�����	��_?��/t�l�Nj(�+(���"����p���J*!%�=�䮫�5���?�ή�U��x_�B�����=g��:��֛�
?z�>]����؇��Z�/	#��n��[@~��x�ZD�G��n	"��w��𷅷��U�~\���.y	��5�6����`��%�6�E�T
���Mz_��]2Oʯ�$\*P�����n+b���
V���m'l�UT�(�}��sA(�T�(�DH�ľA���V�p��U��L�__���*�0��+�	g�*(Ȋ*����򶔅��Y0u����U���t�b�
Cv�p��"�ʪJ����NuJ�H[h.w+��h\��/���~��B�.�q����?5�!x�mGO{|�V�����[.�O���t��}�=�3$g�'�}������|����3��� ,ln�¢�T�S�z3��*��S�s��
̡?@�r�{K?:�e��Ⱥ��1�W���$`�J4�r����Z�k���D܉�m�/�VH#}%��"���8K��B��*�9��/�n�*8�x���)�U1�̮�9+�"��B�aZ*��0͋Eur+��xA��b'���C�1hL;�ch��]�(��֕���	(�l����c�nC�.�i�hH�R}E�4�l�4���1nLcd�D�hUWŢ�E\��]�M)S��R�V`9ED�$��^�F
���*�a�m{��j�[U$�w部���~n#����G�*,��\���Ë5�PPc�>S�v��Ģ�q��$�D>���k�����0�U��
��h��VHV
�p�1X2͸�!���8��H���&�sﭾ����~�D��.��n� �\�{�,
���@}C.��>�=
�Ky��N�����7�p��Y��ze�*�
�S��[ro8!��
ޚ`p�l6��;o�k4���k�Aq�Gq�E��eE�&Q՟��A��a�o�$,���6X�p�'��;
3<���N�-��Z�,̊���zc�֏�q���L`��q�>�n-�l�zq�N1G�c�i�^_o�w��h�H�c`�/Vh,4�	��4L/>�l�gf�4��q~�m�IEb���|7l��*X�J��'n����2� ���L�I��S�=�f���A��q�7���W<Z��W/��M�PL�o~C�$~��o��܍^<�ҁ�6�ſ�q�56?"vpa�!
'��|���7�8/�Hi���MFS�1�HLl0
�)#i��Id��h�u>�m<�z,	!��
v}������L0�2��V^��DGõ<�^`nՂsV�#���@�B�8������:���Д��Z
b`�T^UD����,�Z%�`Tާ�{G�M>?�m[�6RI;D�i�@���()�P��{�z����d�����T�P!��k��7/
 ?�����`��7JP{�0�㧤�rHX6eP�L`~(��J9�-�Q>�	M��<�gJN�H����fW�'ޛ~Uԃ��B093�̊@6Y�Q��f�*�Mt�"��q���=�S��Cӓ�j�詆��TN�KA�6Om0��.~A\}�;��;���
l����$��%J~:�[�gg��0����:�1�a�����c�_&�-��|y�D���#a�pj�sK��x������ǧ�����>�;�[w�Rn-�zP"6��*�ּ�D(�Z�.{@�ƽcZ�c�(�)��D
""�Vj�h��zj%��P��3Z����H=^x[��t���ӓ��*��@�p.�D�8�1O�2�����Ey�_ręWH%c��K�l��3���<���w��s�f�@�n�U<�$�&|=�#k���\��$�j��e���!@w|a�ز�)t�ʽ�z/mP��!�V�͠ѕ|K0uPS芾Y���k���-ۤVo�U�7����������ڽ9D�^k!��Y�_�U���"j����sh�0غt.��7){�B�W��kVՀe� ��0]힛���+up�����7�V�V�E\(����)�c�`�⨈�`���H�r35��� �ĥ1H���h�X�@SM᛬�����p���	�X�r�'y$�f��!`ڦ	��&�"�%��4��,�DٕR�V�*�[�XFB�罨bI�W� �5�����u�J8�a4Ē	D�yI=5	M�<pה�1��X��G~`�Rw�������f������E#����!&E�wr����ø?u��EP�[����X)�����'���� aQ��M5
�!�����H�����U�C����G��e�[/���G��_�x�B�}W�9�[���O-c]r�]�Ubl�A�8t��*��V�����#x�p�`L{x�b$t=(�~<�(��"�� \ ��� v[qa!��	�xЬ~V�� ��<SJX�	̡r*d
3�D�&�&rEJ�ح�!����)+,�*����5�L�l��f�����:�xn�}2g(���
�����oW�6��x��α������,Ro��^�1}�$|�ؠ&o�����i�5��7o���?y���V�cD�Ј��/o�zנ�[�����|�w\�j��, [�G��L�6�p�h-6Ǔ-�0�N�C�/;o�
D���T�~CѺ�[x��P�3�8��e�u*��Q�?�R�1G�1oC�u0{��CO�{Tɶ���	���E��@L��'>�ۆ1,FN
g�8��n,�l��3�smA��[��r�ba�gv6�4�%�5�������K�=����1���k�e�h
0Ύ��� '�4�>{�3�w�q�&F+���|�}�}2V�C���F䚁Ay��w�@�d��1��&P4�S�(|E��5d��	����6D�@(܏K�0C
��:TL/(A�o	�)��J1�
#�U�Z�`#�l�,�3��K�����+�]Z��F���g��L���9����1�~�yۗ��rv�-�q,�j{K��h��"��)��ԫLd�����ˆ�u��n&�&�B��4�A-p`O8����8�l����'#�
l��‰��ǁmP`&j�É����)
�jS܌Lq�=ũ�i�C�?Nk98(ܲ9_q`8e��&�O8(�f���Y�?
���-���*�#m�E_��z
#���!��VOM;7�$
WӀF�aЂ��w<��(�
x�����Ʒ�A6��P]�G~�6޳!4����]���.�og�[C�h��?���7�	&̵CO^�p�Y@��[5�:���O�48/�����
�	��1Î|�+���d��6Aq��o/"����ֻ�/HP���2�g��n��G�%n�
̪�M�Oob5�e�r��F�ۄ�c��h���i|��9/�g/A�N05�����x�ƴ��-�s�G����go�۠�߂�w���xK�x_Qs�AN_�
�E4Y��/kŜ�=��{!(	6�&�	Ői�~S��t{���^?f`���>~	������:ݾ����u;_�載������­赧h.�W����»i��}� ^�d>7~�+�L��uC��);���2�g�:�_�l`�<��9\�lަ�T�wo��J�=�#m?������H<��r��<�F��/�g�U�@׊��x��zo36��G>�"L��
�jS8��(i��[�@��6(�"i��.�.J��<4^�#�3�A�AYC��,mŔd�H��!9�W@��E�Rl���Cl���V�3
��ۼz(��}����'�a�#���v���a��/�F�7x��Μ���Jcd�K�4��a</u���T�§�����}����K�k������K����ypiH='��[ڪ��`�M?&���ҏ�`�}Z���D�y0(d;��'ͷ�۾�g��nY�w1ԯg7�>��/�5(�z���kH-����O:�\0Tp�Z�?�M(�5T��{&��[78`6�
@���9Z���w��(/��0�q��)��b!�4��e�aAgH@Ǻ�<�z�A������O侙X��Xw�C�F�T�Dk�Ng.���F��̹�A�-ܑ�7�	��?���Y�9<�k[ȉvu��i)��:=�p����8șI�	LKx"A1���ʫ8PJ�ި��ۆ��D�9ϰ�@��-Ե@1F�?�?!�
��(W"��� *�3fj��z��+˹���X���"�G�5���D��A~t��EX��`�q����)��$X|%?�/ڿ��?x���i��s���+hvO�E�;Ō�V�y���au�3��M%q{�X������A���) Uˮ��Q��J&�:T|�+�C�V~��U-ʹ�7K|���`H�`
��5�	o�`��)X�v2��v.��$��Xei�<�ƣ�HX����j՘y�O����Ȗ�9|�4"k���HL�	�&�!h� (
����)�KCͰ4QI3UAq�`,)�f��9�MwJ	z$��^�a6��[Mv+C�h�2#�[3�f�5��L�s,Mvk�䍕��� 5D9����9!�f��G�WМ`���'��}r:����:_��{����g���	4@�����:�6a(O��	e�ى�p��ks$�lq�i4��� �c��l>w'T_w'�_w'R`w'�`w'Qaw��aw�Tbw�A�ݝL�ݝP�ݝB�ݝD��ɨ�Z���K^���%��_hY�s�Ǝ�Bj"D����[�����O��\F��m=���I�6�V���Z��P����v1���;kN��]Z��a�b��nF�^�����^�$�]�i�my�>�&(��в�>Ɓ����7�"p�e�J�ymYc�/��2}�XCü�Vk�����˦tc�P��Ȳ���,��{�Ҷ�s�@��`	pp۷�d��O-�(Ʀ)#(Ʀ�[S��C(���O��9Sh�H�>GW��4P�M�ꊤ���Z��!ԙ���11\���>ԕ�pj�Ҹ���(-��f,,ϥ���g���.!��c�m��bfƖ��iA�Αa�M��72�$�ٙ9�d��)N���Gd�Ўn;*�`ɔ��ۇFA��6!�X3{�8�Й]7�b�}%���of��D*� ��
���1
C�N�o[< ��&�պ��0$���R(袆�p�ó��G�a�d��-�(h����%h�(�C���<�|4�
���aqY|��!
TYCi���KC�e\쨸IC�E���"��⺿|~�P��s�5EA��(7�d���I���
Y�{C$q�$�%n��9t���xr$M�Ӝ��<P�M�4E҄ې�I�9m�BS��9\oAb$KdD.�o��?���9;"h˸xA�b�͏�&<R�2`��0p��$o	z�q�Pp��{���� �k^���p!�zwR�.3j�<V}����8X��8�5e_*CBgRTll�0`�g����+Z&`Iq;0�A��F����4�^Pp��K��i�K$��3{�>�/=k�X�ژ%
��C�H�c%�[��R��k�k�I����)����b�'Mx�<�{&4���V��N�—A�_$��R�+k��L
��W��h)����Zү�J��>o)>��ľ�SN��%W�?IЛ�
C��.���'�hS�C�`LUAٚT�O�~Q�#�R}d�!�Mo%��F;ա��� yLj���H�p��Q����j�H�H���4���
�%�j^�-���4ŒIw8޶�C�^Py<� :�ܡ��'&J���`�m00�w���z����(�W�a���C�'�G�A:䷊��S�oX��
��Q��5� w$˧�ۏw+��4���Va5'W��)�7pvgj
�3K1�z�C._H禱l�C���>�_ŗ(yX���{q�8��%ʛ�bU�8\x+��4��I�>�'d{ca��xK.�3�3o��h4x��N`KԌ�� �n�=,�+I�j6����QYQ.��B�%}r��I5��"�_=!q��mr�K�Z�@�q��Yz��)|����*|E.�	Wh,����cg��6��<o4~��Ł>�
�ؓ*U\�
�֌�@�6�_v>��^���>��>I�IO��?r�_���� 38`���E6���l��V�_XWf�4����c�
$�ց�L�s`���*�@�-�$�Uϛ0ڬXd,��c�0��L�l������j�!��Xp��Eh��q`.���`��8J<�����i2>u �؈Mx�Ɂ$ِ�
���4p��:J�}�$��ip�aU�Д����{�BC�C�)ir��x���0�O��	�5oT55��&^y�߄�]h*C�U�u��M�`���
{y[��
��&@�mƲ��R壎Xd�A�TJHB
Z��Z	��XX`�8��qD�^�����y�E��y��݁6 8�%�t���&Kt���n�k�V�u�0"2��'f�m�Ґ
`��9G(J�$�5�^Q����3��}�6�>6�5��~~d���XuI	�X �(�c|
%(wC��P�%������Àq�S��pz���=z
dQ/�eT?6€;��x�`Pg�º!�BI"8'%���c��_�8��F����a�+�:��K�wh��&8���z>�
�v3h�
�y�T"D�	J�S)G����oZ`���Gy D^�h��>�x��=�"�g���h!97�n�W-�9���O��8��z6�vZ���+U�r�y�U�=� ���_}�G�jIJ����FGWg ���O4��$��aɴ�
M�!�Γ�ȼa�<f�ÿ�z1U�0�S�]8d�'�a1(Z���<��Z`+z��&����e��
���s1zΌ��M��X�D�<�
���?�4�Yed
�Ԟ�pM��3<�GC�|j7/�.��&<��F�����@������2�2l�s�hB80�%~K-�<0T�YH#��!i,���O�w��>|���]����>��5k0Rk�["Z��:��jG:Q@H{ڂ��D�h���"���_��_��=�'��9~	w�%�;r�|��eB{/�9H�=�1I�N���:"��?_�?���E�y
�w�w�2��#���$�#����!�^@��R�ˑ������j�폚�������)��Q�)�,��1B{)��D7]Z�+c~q��b�I�k��Dz|��AN�ElEV)w
��&LDŽ&Q'�SYأ(WR���<a�8�.��ͧ�B	�i\m��� Ïij(��6o�D��]��,
c�Qٺ��w���؏�.7�R�dL�0��h6��?�m����HP�&�������[Ww�����"P��[�b�Q���`��a�R�����fm�숣>I(��oxA[��i��ɩA.��cjs���aUk�YϯUo>%��H֥����1X��%�.`vɯ_��2|%�p��O���](�J9��D���m�����;�30��и1\��X��x��Z+`�����#���y��ǜ���^��J��x�Vo���k���pL�	�j�]���:�)���G�ӧO�*���Sž��~*5Ҵ�g*Q?����x�}�}�`��?k���ii���/oW�C��O��$QQr��
�]�t%ѓ
u��~�и'��w����V��/�>�]���g-�lm��
����?�#���OA�e��Sl�b�oᐉ�k'5S��Z��L�G������z�?�F��'��Q�E~8b37��4�'��-V;zxQ��#G�3�f=����F`��nh��.����v	9�i�~
�P��V���*m�w���3Ć!׎k�,8����� "��
��o���QK/^��[O���H&nNl,t�c�6�m�==��{��fQZ��?k��9H��kFG��lZ{$vq�a��iT�(��1�U��#W���]?�%�������i�V���Vg���f�^��:勵�{��_�/�V�i�n��H�8�s���!�ɕ��d4�?���r�M)ZT2����o,-�P�n����s�g�X��s�m_����=��W�>]k*�w�t���7��MA����O�t�䗏��81��H�E�
��"��*��q˦�����������f��_mr����e�:M�S��HMo�p��}�Wo����ç_~�����_�����W��I�^mg�ʁ�"C��fVe�E�d:sS�O߷9O���~��ܿ�@��%{��_�pVQ��;M�h�K���8���.��Ia�ܴ�[Y*8�M�u>]}�}IgC�CLü?[��˽dHC�a�^YPC�Ĵ�Ѧ�\�=��5��I�m̓�� ��WD���5�f�E���u��Y�]���+Sfi1R�g���A�g�x��\G!%�Lƻ-x.��>;d^��
���[�ϧa�=���1�߾X��S�`�Lט�JS�6I@�aӷ����xnL��]�Di�Կ��ȱ;����p4Ի�~����_���?�?u>u�_�šX!d뉪�LCrgjD��^RHC��rC�����ƒ�|���&|US�#w��;�&I_;�9��M'b9	x��c�)��ߊx߼`ҡH|� �;aǺ�<�zP�N?�ǟ�L�����<���{�Rbo���_P����&_�0bl�nث�or�W:5�4���㿮����N��5��u�Cv���`�0��11d������`&��@l�Z���N>Y����?)qh�\x��L�ƒ�8�%��1�O�o�}���6zC�+�����*�>H״!s3���v��g}�Q0,;���r�l���Wͦ��o�ܡ�ϻ����!J\9��6��ps৚ gp�O�8
�,^�5��҈�,�
'�r�ږـ1r��|�\�q�M�8�4*1��Z�;;i�#��:���9�5yJ^��B@c:������-��ԛ��#3����_��n��c�a@f0l0j��Щ��К��x����	�D�йO�I�K}|(��'��_Q��D��`�&�7�I&s�e��j�z 	�V���3��Y�ߒ�+�z��O@z	_i8xB�e���Xk���I���YJ�0W/��
-P�FkL��߉����g�=�`l @�)���"�q}®���6�hN�A�vH�3h�����H��q�'�'J2�D��F�lju���=t���1��`g���eoI�F_P�#%��ǘ�6sG��/+(�$״{ts�W���g�\��Ä[��Qb��f~W&�s���`��-��ɰ�[�%�,!��hQ�"�恀�Gԥ8i���O�ޠx�O�1����<8�-`'����֞�OĄ~�_UϜ0��G��\~B,f=�L?��t�(ҧ��K��VM�U{I�����)���Z�_�c[�+k<Dq����D��6��i�vPKE�j�(Irj�J��T��o�z"�l@�s0�!�Yb0`��Մ��2�B@����Q"?���}�,|}	/��bE����\e�f�|�������Bm�X���>�=b���0��ӧO�_�Y�ήG3�+d���|�+�g0��}�"im�{\��d�
ͻ}�U��fݫ�I�2��Ud�_����7��ZP����!-��g�¾�G�Spх�D����O{��M��y����o?>m��'�ǟ�K����_�����?��m6�oA�\6�ci�[��G�����x��UK{�¯�OĬ�z���7�k�}
$3���j!����L���Z���#�H7^F���2"�O*��[���:��OD�D��>��(�6��t��:
�rʗ�j p�d1���[ƻ��O�ɧ�_Q+5Is�•r�',6-�#�����4B>��Íeh%PkYᇡ;�?i3p>',+H�[���	3�[2L�CJ�*�P�g���Ip�{0�5�����$Y�Ҁ{��Byj�D�k���hnk�>�j�-����%Fd���d���4I�>p����Bb!�"���w]gkp
��T(D]�Q��.�2Ě1]a�&
�L /��0����%4��Ua@~l��*mz�/Ԭ�d�Q��1>T�G��t&;1��\��0�=ч:�D>��-X�֬���Ȁd�-��#g�:^�N���!�p������xd�-�P@<�GkZ%J
�'�K�%���5�D����F�B��
�N���$��?��U���e}�M�����۞��@��v��ه���8����H�<晰d�M��<E��Y��3GZ�OOH�X7���X�aM�S+k��ႌJXb����A/�!*N S%�b+?�s7'�ݸ�
V�I�ڋ`m�|�~w�5��0�O�+�K��*4������G��I�-�8��,n5-%��iWhr��B�o�E4N�JiJݾB��@{Y3���,���:d�n�WUw4�$�K��Ka��47�p�/��+0�����/4���8�YH��ހ��x7�&�C�y�MV�1���@(
�}a�������g_�m��b�/f+��}�tmrK2��n!܎0�H��EY��8�
�?K�r_.�hI�;ƬO��`DSi�@��
�/DɅ�m�/�5�ϓ/<�
��=2cܵF�D��ƶ�5s3���cI��n����($gb��>�|j��-���8���_[v�2�H{U�~���8�۟��I�b8�U�')#�8z��_���D�DhHCĚqh���M.1C�eMك��?�r���o��3�7e~��e�`/ip�'H��#�A����������%;�hT�@i�Qg��	���_��������5�S�f9��!�{���5�F�n�_�����c��:S4\}C���tR���r.g����S�P�s�Ғ>5�aj[�Ƶ�J/�S怱m��A�_#`���6r�Ӻx����5����$�?��n��q�X��0��{�\ ������K�'�rL�5~��ٵ��)���L�d�����d�'��}iì�e�.hd�-$q6o����S�6t��-n�T�6�2K��ޖҋxq�X<�	�Q�u�Z�#�y��ҏ�p`؃�x�+:"�^ǧ���?�ž-^h�Xf�62�)gjgwq�1C,$™b�b%+HiW&5�iE��4�8R݁\�~=~p5bP}KJ�x�}�j�%���O�+���S�y>z+$�ܲ�����}Y*d��t�d��:t�8�A���L7��T�"���G��
��w�����x��8q�@�3���2�ޑN�G�BW��B�u��d�������UTG��ruDѽH�p�Zӱ~�#u	�X�����k�pqDa�:�(^G�}�'�>ud%}��+c�d���	^�,Y�yI.���9'a�֧������_�iY���M�^�|�ߔ$k�l���}�;޸��,�;6�	�o������'�yf6�v��N|�`jZ��2�t�-��3
	^��G�����FY���>ޓ#5�g�}~�"��m�#�f�d����D!BpF�t�?�Q���[A|ò�\"e\���F�Qe4=�~6���#ӆ��X�7�w�9�e��US���2`�U,��=�Yg�#��yi��>�=�y�����A⯛
s��f�CȃT*�D3nq*V�����xf�]�$���Җ�qV����okdWm#��	��X���m�іV���ZC�-@����"S�̣�A�/��O^���e�pȣ9����Sׇw��LV@� �8˚��a��%i��.��JgE+AyJ;�Z��K�Y�iCy�k�
'�Pơ��*���ی�&���E8��� �ae#U0�����l:oK25
"h��@'���Ҁ�e�A�reof��@XW&�z�]de�qX���s?d�QLYK慝�	6
}��Q��1r��m$O����qO�-��?�c�l�`jL˞���Y�b�����j�O�i�j����&�uo�C���g!���u�
��j}H��&Y��S���
8�c���;�Ih�~׷
���rpZ@*���q�C�=���ZC�W��HXaM��m|HI�@�_?��"�>��ݷY̰�n���Ŏ��n�z�+H��4�b�bA�6�ך��O2'8>3�ZH�5��2��c��o
����z�=��N�W�#�&���3�2�?���ʠ��_�`�$p*����X���,7Y6���< 7�i�J*bu�N��
������x��Z@�]��ɮ@4�iF8$�x�Z�K�ϯ-ٜ��0yў���>�o{A�JCBW�FQ�¨v��93�}�� k�����T/<�����(�-�鸹��|�Y=�b�:�ITSVȦ�`B�DgY5D�G�
���hD1�MD=�l�<%%ۤ>�E	K�Ns���)�C�9i�Y6_�����;��̯�ro��і�Į�P�cQ�:�C�mn��F�9lV��i0�i�H�S(JEnժ'�q�,���	��E�*�x9B�L�c��k'��}ImIr�$ȃC�ٗ�+��RI@�o�誀sݶ�����E^��U������.��W|�J��.�*5[R>['eTk}V_�u�����[|�6�89jMؔ�������N
���Z��U�1N��d�����}�{�G�ЏB��/�m��!�]$],Lӻ��"�Z�x!�Zv+LU
�8)�'M��
j<�G���b/֯du9�,���|a6؏��r�	��4�>��Қa�\��z.��闟v�#kA��19�wxhC&�=�7�֎o�&���ޭR:�T.�g�%��%�;�%�����!�����.��}���j��yj<�R�gt�x��gu�m�����?�l�CH�?�d���'�������`ݳܿ��0�0��f��Ӛ�"�����^�0L~/�NɫO��[�c��<�!��_ˬa��)Gp�C,�Қ�ʚ"�\���4O��J�W:�@�.��sz[*_{��"܇��k��~˾��ا�'B���n-����&��.;դD���m��Ԩ �5�������\�6q�g��<k7~2`�)n(.sd_�1��V(s:���4��a��4�,�YaTGà����P6���Ga`�wU�E�c������E�׊�����u�b�J���8���x+Cݗٌ3��z�h���7֊K�?X��4�U��x��k�tЂ�g�闿�x-�p���A@ӏ?UV����I��qW�7��# ��,$L�"s6�9IA~���;SE��4�p|l����҇�L�-��W�-$��O.�u�|o#�맻�%������������o�$��G(�*��:Z�c3���1+
š��P#I�e�(���*�����_�rҪ��}�2�Ԡ�[�b��8�&�UjvƤ����`���Z��� #�:Tu�Q� ����i�񾑅��W�KnoJ����p��'7�wyC܆[h�,ox�N���}�p������rس}:��|QT�o�
�ԅq�����@D��" ��+}Ц��4$(͆�b�0���e ����9�>)"K��
�<��4��w�Iz���N
G����U4GM��=U>�æ8�H�»=����o4H�=���Mvq������s[[��� jA��	D�&/p������,�ʣ��j�����[H7?B���{^�aJom��4�[�W��r���L�c+P7nL˦��x�Һ�h�uD,h���r�w[e�42U��#Ӻ�����3�tD�:��M�-5Ыf4ty�]�q�i��E��
U̅|�"Ǝ��.t5������ߚ��1��
��l_	��$x˥i
W���.�?}��W��c�.W&{�"VF,�p�'�aD����t�Yh[ylC��W k'�S}�7]���᰷���$����E��8q���;ݖը�(�ʃ�yiC�Z��z�G�Y�u5���� �gbj?j�c��c���OpƁ뱖�ғ;@Ɔ�yNT��M�f��*�|=�=�c��Ux^�EX�/#l�Z&L��φ*c�aun���>�.�W�s^�W.S���?L�3'����S��U�F�h9��܌��Z9t�bD4�C	��S'�ʁcE�Y�Zdd�B��q
9�a�����W�,�Si�yl�yi�+�R'��5t�(�s<�XϚ`�Mt�_,�PB}�G]*�ZB�;�4
��5�#��95����nC����%��m51���jN\�~\
.��h�O�e�����@i�u�X��ϫ��o�v?UcJ�<_�F#ݞ��ck0��fţ�V�]�rXΒ��~n���s�g�iH����	�T���5��+\>;���/m~��Y��sTs�W��
���Y�s���{�Ƽ6���	���˵]�
Ϥ���w�ۦut_���%\-?�l6[l�"�fJqfL&3�X��VK���k� )�%T�|�Y֞���U�K�_,/s�M���}��9�g��*�{v������3��y���h�6Gl��
>��*6+
�iN(�Z(Ӽ��Q2�}[�~`�p)��P��5C)n��>�wꐧá������1���EisfKg��
��=�cC늇����qj	f�#w&&w& G�1g>sG�<Jm1�6�+�,����N��N�z����]��i���t�SJkb8԰-��=FKyC��������+JWDjJLf��K�
���iuD�l}0+5�?F�'&ĕz(��s�%�*|>z��h��֬�z�u��[q��hdWѶ0hS�Q�;�dO��w�J̄<j���#K��58H�N�.�ߏzj���m߆g"����:���}U�����,r��Ez��0�c}$	)���gW{{�`K� ����_��5n�
�;��۲�;���z�Y�]z�zz]Yz=zg��z������;��w�@޹,�z���.d�]*л��w)K�J�^�F-��h;h�]�k�=�z0�����c����J�+>�P�(�4f�����}�'�"��g�V��xi�^<�(���8�[c���p�*�y	��B��l�� �Ò�H��]������<��]�y!�q=ў�U�$�S�;�{�����f� p,�J��߭k�w{�u�����Q���Ңs��l��/5��uG�,f�n��cF�,�@ӡ;}W�o��7��V[t够p	������s���Bb���қ�1B]1��!kR��#u!&u!C��zkպ���!}k�Rv�ї^t�a?�L�R�����XO����߈��JL�J�V�q���m�wnK�����\<�s*����9�j	��u�Sr9�����X��uK��:b���Q)Es#%��NOL�,z��x�:1��Q2<b��9� �@1��w�����O�ċԕX$�H,�	��Z^����Ü\%yJ�+�Cݮ��5�Q񺴅�R�w��X��B!������<�\
�ĸ-ޛ�31�a�m���ȴo�O�X��b����xUڢUq�}s�;��;p�b��r�튗�+Xk�:�Pn~��u����忌���\[0s��E�tM#V��2��F�l��Rt�T<m�inԎج�\IQ�U1�v=vU���T{��^A齣kIxU��b�B"L��l)�����P;��p1�­AQ�<q���CA�xGSf�v+YH�8>���(K&\B^#m<�jg�c<�Yo�㑉=aF
���t�m^��G�t��#��g�q��;+iǡi�����(�t~ie�p��2�!�(�u��9�M���5�tE%�M�&��9���[�b��Y��Bzo��
��>�,{R��VY���
]D�,�}�2<�FѺ8S�(��6�.t����%�K�
�6��<���2���Z�ԾX�����I�8:<B���h�%����_�̄�r�ES|q�ɐ���辉aZZ!(6�x���I�S18���9��l:w�!rg=���B��QX'zq@㙄��BHO����s)�#�iŦ���d�~�p�����NVJG�F|is������P��vG@AbQ��vW@��% v״�Z'�6�c�H���}&CFx��=Cm��[���@_<�ܽ_�<��K>)"��h��ٔ7k�����	Yc:.��{�:ܭ_RUdȘ��نb�v�\����{�;:LsH�s)"1����+
�����e|@G�:�
��`�c:m~������ϭ���
���;�{Y�' a[G=��:����I���r{/����(]�6�^JR�MD�+R����Z�8��oLݮ)�����ۓ�"�;ͻg2tx�ؿ�=��!6��/�]�C�L+�q.bB��k�iNʮ���1i���_��X?x�}Q�0���j�[Г[�e�	�M�OUgG
�-�����\9��3G���q��eG���z&gj�t���8�ᣏ}�J�;o%����{
Q�o�y�E<�-��m��7��?%�-u�QB�y�P��V��Q�E[�Ru�6Fc�a���]o�~�m[�1m��)/��W'Lx�����&�8&@�����Ͻ��{ý�f�����{\�`��Rv.2�ϻ\J�}vR�XQV}(����n�P1L�}Z�,mw%��S���.�*�H����0�/iE���/�rM�Cj�q	�lȨ
�ŪwƧe}P��{@�R$�]2���{ˮ'w%ՕԨ�N��J����+.y��LI�$�����;BE
�3g�)��@W����<`ߌ�'ҙ
=��	]<�E���~�Mtq�'����@a����!(��ԿL���š'ҤD��xЙ)Q<��%���r�1���S_=A��t�Y
��]��D�UK�˷侍^���RB��Ck���gN�s;Wr��}�����J��ԕ���eM��M4�K��H�q��{!IJxCi�����á�y8}"��R��m
t�~m���-�&�m�?�o~x.�4�_�q7i�}�����S_��E�͏hEE�#����[Y�@"Q�<�I�e�R��/;"b,lF�b��s�zA�1)�p����%���t�J��0��F�_��:�fy_�f�;c�:���̧��5��)����,^"�P��������\��!����-˥Ժ����tι��]��}%�w,c��1c9����ړ�%:�{"=��ꁱ�έ��
�?$t�8$Alѽ��Dt�\pOrK��#�B\�¹�Թ��=�Ӷ0���j�)A衜gA3"GI�S�\�ъBa8�����kY��[�S��UO��KGt.�s�g���[7\ti,����н+ibB�)Z�ޥ-�[��!�:�1���ԗv�+��X��R�9�zш.�ŮD'�UO�}�O,��E�7�g5(�0�˝!��.��t,�FB{�v�9wNu�h�/�4�Oa�z�%E�0]QZ�0�Ӗ"%�^	K���}����鉉H�SE����$SC�\���	2�Et��qo0��5M3ٮ"Y��ʚ�;�}��M� ���+��Zײ%����ǝ8L-AE$k�\Y+�p��A.D���O�f�T�`l9<�h��=IBBϰ��kV�}���`�w��s'���s!!�p!t�p�
�}"m��ta.R�O(�{\���ݶ�;]�:A���n]�	���y���8������;�5�嚃3��F�Ѹ��"��k�@}�	8�^m�'��Q�)ȥH�]r[*�bm�fQ�[W���fΕH\q�@��1�s~�(���~ֻ�G��I�6rn azʅ,-�#H�sS?�Sr!���I���m����m�p���֬��+��1V�*[�G�}]
���l��,]w+�z��
�������G�ݤ��猿IV�����/ߕ��gd�82y������mM��zr�t�
õ�ݼ�c����nŧ����5��&�o��ճ�!*�n�i�Х-z��A�5�{u
1��}��/�B�$	����&�������h�$�0ы�!3�H1�q�I��V�Ai+V�J[@�����;�z�a����X�;ZC��A���J�p��n���Ѿ�l�1!FC{�6�+���	[�oD-���s`I��א76�]�K�Z�x��\b��x�u�g�CC�2N��l���
k�-�	NPx�wmzK�M9��K^\��+�5�5�$DJ��(%�Ch���̕
���n���X@�NAz���v��I���~C ���J�\ڭ�e��6�*��F� �.���T�;_C�W��G�&S��t���"��qJ�v�<�;S��h�3R~�)�;� pI��R�׶�;9�K
�z�J+�ں.�xH�=e�����SB�~S���{�S�'��po� 莄QB~���W�e���ꆝ���feD�}�V.�����#�*3��E�k�����A�S�#34�@�7��מ�p���ǷxU/6�t�8^ʎ�I�Ӈ�S�n�7�{�l�;!u8���̴/EF��P����b���x�o"p�(D��%�S�d�Z�� �Ԛ�>��`ׯ9%�l0�uQ���zP����焩
%�^��ΔS����q��0B2��Q�)@��sc�C+�w��
pe�́���o�����q�����QU�۾9s���Xc�s4%�E�d�b2m�{�����
.J��&`�&`y�~�8#�J�������ğ�8W#`�����x�}&�8���S���;�`N)oJ`8�
�ha�/��GddZ��,�̹��9��M�0y��OV�K`l�	���8�>H\��#���!t�'/�W�>ǩrN)���c9E���TygQ[\ͼ�)gNipk%�ŵ�ۜ�─e��>�9�q����+�C"��ϼ��T����ք��J����^��o����9�ʁ�Xu[\��ͩTN	\��&.�©S�
sj[76��xT�j���S�~l�k��9E���>� ��/��j
��C[\��ͩIN�;��y;Y,Fgm>���]�Fjs5�dd�yF�8��S�&O�C�9%�)��1��CG�-:\mּkY��qY�6�.5%3��<��YO��z�f��@}^��ٙXk�q��)���X�u��)w<�t�#�xn����v�SY;%�xĚ�sƧ0�]G��:�|�gtĪ�s�'�L�S$VM�K�/��#VM�+>����b��m	(��i���ۜ
�)
���ҙxg�a��"ob����?Kb��嫌���k�.WcLu��ۺb}��ꋩ��-��E��.�y�% V]����o3w�ڢ���h��ڢ����=�{�M��n2ט�{یw��ĺ������'��=�6�gw�Ļ���M��B�xM��{�@w�(��R���LkN�o�oۥ�)<g����bO�<��ڨ>��l��+N����J?����T<tҷ�c��	���������l����5(]�+�:J���$i�c#o�Z�y��Sy<�N�b{�B����׎"FG�PuG��+�7�(��0ö��R����S�"N)���H�J�(�e�%b#;�	m������ �P�빚Fr*_ӰY'�?����%I<���X`}P�aSa�R��Fj��H8���rHC��
�E�浦�	�
�U^��f��C@2�KK��d��ϫdQhT, �ݯ��+?�8\�4�MnP�9,�qT�^)-�*d�g!у՝�R�)��][���y�r�ݬmX��܈��W�P�(C}�g貝�ڣ�6{-�騎�'A��$�?k���W^��IXJ,�qcZv�)M;�5�TSpq('�Tvo�{'�3��Đ�|>�Oa��&�h�N��2'�}�s����;|����rm�
���� �
�m�F=���&_ݤ�K��ڋ�:i�N�A}T��a:���G��0�$hd���)i�7��:5!�n"Ų��h)(�/&[���)VJ�s�����q�E��2�JHiq_CwT�QZ�9_W���[Wet��n�R�/���"9���qC�e�筪��W��T�Z�$���gml�X#�!�K�-ѦΝA�+��M�'u�{~v̽[f��[oA���Z1�p�� @|�,XvC��C�er@ݫ�d��Ջ����k@lCr*<��XD^��O�{�#0�`oPt�Z��'��
�(��q��K��C�å�9�YZ�O�n�P39�d�B�`=H�wQ�-�L��>�f)�E|•���,>Ke�`�pI��n�,��N�s)��2ˆa�Ntg���%�� a�?����:xk��oZW�#Xen��MjN�I_��\.��JX�>\��u�w�
����w�=�/C��o���e�@�ϯ�^�k�(��\����:E�9;.�:�F����|e:AD���@�1����O���+#�Q�{�+�@�l�#G&6���ˀ��^�.b�ޱ 8���>�<�YD�h�U�bz[�m�V*��m%B��^;�VO��Ga�,������W�[��AD�b�UO���0Ӓ9���V�'L�����}�7~�4߼��E7�RB��z��-׾��m��_�6K�h�M�	�6��<+5\�u!b��h;zU$h?�?��;�nK��3!N����ӻ<�8W���0��I�)+�O�Z|>���Ol��{G$[�!X�v�U&%;sn9�Pa
Q��s�C��8zݖv�� Xw��B٧�T4b��bg<g.:�	�v�L�E�%;�IAL3{d%8�*��‹�x4դ�
��bJ�Q*��=��ȅ��̉����TԌ��n��󇞴rZ
���d�""Y�Y�l�&ѷ�2�[�E$�����uD{�)1vEЈJ�b��/�Cf�}\G�# ]G9�W��Se���y�U�XʹO��Hw
��˦������w��b>H�������_5G~��f�	�>�J��*��D�K=߉���J�?kH�Z�����	~>�ƨ�C�n��;gu�O��Qq�	b�™�
gߛbn�4I�O�O�1nLcd��;��5܃ȇ�h;Wp�ܳ���o���*G�]y%nXY�����0�{g�a'Yը���ߪ���@����w��_�yd�TO�ao7�^�Ṷ��/�W�tj���;p��y�%Q�:���	�[��W�?
ɷ|0A'��m�7�1\6#���q֌X�p���l��hU�w�
�Ϧ���p����f��$�۬{��mvv
���j7�AwZ�]��g�.�1�����	ho|��p�ieJ�v�:'�Ph�|0��S�x��n��D���vS�i���u�@��Ҹ?�̕���:.TU8��m��w�u['���vW'���b
u]�.��ͫ�<d�^���)z���i����O&��m��5%ฅ8�*��عr�i��@(��pC������i�����8GV3�3wY������
�}�NR�+D
7����oU���sP/nǨ�.�
���zS�KzqJVɕ��c���V듷*���}mN��
-��xjI���I���ƅ��c�����(���e���\L�\��p�.Ą.��l��J������h�V_����\�'�U_���fHqh�Jg��D+�A�j��m��B�`�X[��2��F�"zb����eR�7��"5�w<�W`k�W`�T�g.	�נj�/�h	�D���R��y��x����Y3(����W+#$�F���>S ��h�븵��br`i˜f�:_��ʌ�`���8���`0�-�GK��:]9Z"!+�NO��ΠX;	�c�yc�GJ,}��=�Ę�ʩs!CH|��Kk�:�R�fcט��U�Z�+ZR�P\q��h´gt?�'d��[�n[���f6�dsK\Ū��Jу0	�T\����k*ּr��GC��uH�'��7�(�Zb���ԯ%#�b%�=��%�"�:[��%���ju/�h��]J�<FL�G�Wb�L�R+�����5�-U!�F\���㫐42W(��\�^G��Xo�+[�z])Zb�(������Ѽ?��g��Z�3YR��hq1�V�\��PH��w!KL��7Sh�.��]�^ͣ'�#�+)z�&e햸hf�%E��K>FI�B�*$U�Tc��5�_�H�<�%�[g|�a�_ҵar�N�;���>�c�
RI\\ĝ$Zg|
b:J�zq���ٹA�z���5�_sо1{��GK�3�.%hɊ�Xe�]��-����?���$M:�T��H���y[���^8o��4=��?+��<5�=�;��9��ֹX���	�#`z�N��#+�+��b�T��.w�b�r~!G���{��X��_
)�ǘlC+��+%��^���EK��`�_���E[�"���(�7�EG��ԋɅx�_t�Ȏ�MrZb�y�S"h����X�\�)��[�b-sq�D��rr@P�l.��VN��/����R��hӋ��ŕ%��p)V2�-9z�-p)V.�m9J|9��ˎ!�^��ȥX��6��i~)�%�=E��_<�ber)V&��*x�x$���\�d�o$�+V+�b���ĉH����$�J��)�b���$%�#��J�%IKdA\���U[���Ƽ����$A�ʼ뗫�$)��p%�+W=Ij�y%�&Wg��D�+���*���u�_w�������RL�ˀ�(|%�WWB*r~���c�DHL��h�#IۂH�Ի0�Y#mq�e[o)�2i��pۂ0\������ ٶ H6�+z|h�cdۂY�ӫ-[m�V���-�[m�Vi���0����V�bJ�bJ�}g.h������4�G<{�Ƕ �1+1YD��H�7� 6��Umqdl[�����h��cۂ�،���-�mc���qtmq�c[�Qǜ���mA���6�U�9 $���X �޿v��@8�
C�K�]�l��mA�-�#�|��޶���/�#:��A�mAP*�i�#!��Q��;�[wR�S{���:�r���0Z� ��[M+No�d$��Q�'^�d�#�p�6�HD|p۷ŦhOl���-7Jhdٓ�[7ʶh�k/�Bw�v�pI�����K�xTs�Rĥ.�A�Wj�[Z��V�qKN�Tj��#^���LU9�F���P������'��.�3���H;�hk��_@yw-ڭ|>�������TO|��_�(�{
l7����SKŝ�0߄��q�u�7�/A���ry��r键U)J�<��'�����0�l[��%]�g���h��i�%-�)2*/�j삣�
DolZщŗp]���y�ٝ���b�]!���J^�W�R�޼á(|��r��r�*�C���#��z��uF����U5�(%;=����t�y<&w�����w��.�9^$7pi��9t��y�CQ���D��R��ΥXX�Pj)�O�R�7�lIͪ�{�6����<�p'�+^�nC�7��4�.'ͣB���]��"	j��n#h������g�?R�^iwQT�c퉩����W�$�rC94�"Y:�=G��α�j_��
�Y�ۗH������.��NI�ǣ+�Q�6����XOu�_Ku�Z��E�Pk�NG�+���꜡��wnG�1:H���5d�I��sŚ�s���ݹbMչB���ܮXSu�4U��D/�<�:O�٥:I�����
C�O�\<��-Y��9���s��\\ۜ�8��ⲣL�ã(vw\v�)vyŗ�˞2��♘�2�3�s1E�޽��s��+Nr�r�\rr�.+	��p;By"
a!Q���g\�_���;1-���L��?���B��x������y�j���jF�gC\�m��F���8��⪅'�ӏ�0ԋ�6�t�+r�Ë��&Ĺ�.����&Ĺ�.��+��CJ�ҋ��dj���m�Ky�[�L�39��>q�Q���s�"������E�%a]�y�'�T��T	�4cO|�띫�]�zbU�S�R�}�'���.U	���/6=���:-X%�bE׺S������L�xut.ı��+I�����T�x�]H����<�P�]΅[��I�3q��E[h���_�]����^�NR���M$k]��H/�O')U�O����◓���4Uq���EK����xU/īZi�q�(�o�W4\�;����̪�	��8�5/��B��tq%��̇���h�j/��9�#�E�D�0Ǵ�y���[����8�ⲥDp���􋋞,�k�*v>?������ts6��[��͌5x��g��9�DLh���/��[c��P��GP��қab�b�b�G�v��S��3���^���/:�{����W�Z�%�W�ɍ���+.E�m�7�En$���u!܏Y�3�[e����H�Z
�6�J���8 �B�
L�XOو�[]�I��u�'^�R_�ߙ	�[X9�^ĵ�.��c������D�f�5ԉaE���ƀ�
�����5���y@,�Bɲ^x�b��ٹ��Q�3�7T�\��|����6��zU��wٞ8x��U'�u��Ϝ�p����ת�~�&�h�;.�E�.�{j��..ĕ�.ı�{�����R|�W�=A��&�8h`O�H���b�9W��)��x!�N�,Za�ㅸ��ť49	Z<����mՅ	z�r��c���$�Lw���g9='sK�T�w9�������2�]N�z4�������g24�[����R�'MOr���+��[Z�����0F���q����Wgm5r<��Ll@�u���`���w�U%��XH�zjyφg�=(~k.�cO5\��Xh.��\��Xt.:����\H����#V��2t��f�D(��o�R�� �J�.ҽR#ǽ��/
9n��x'�v��q�+���m]v�)���Z켧D�,Vb�g
Ը��;�\��f�5�����R�Z��&�>\�)Q����+�uc�Ǽ3U�AΤ4+���j�Yv��o�%�%5����*b�uٖ��X�;��*�Փ$��!NM~b�j�%%���q��G�$�Dx��%^�V[� ��k�O�VG� ��m�����63Af&��Z���S�Ӽ%V��G�U�5���\��
/-��&�_s\�(˶Xӊ���T���D'ּ�׹"ߞ����䦲+�m����+��}�W=1ѴL�x,|��$�g��/�˚���?�8?�X�*�������e �~wq���W�HV<P�kZ\<#�HOm�v�+��JKnZ&W8H�E+vh�lBm�����X���RqⶦbOu^��vQk��4�<mAHV���Ҫ��~�H�;�^�Zj$�F���'�O�L8H��I��.(�)V�=i����{J]�K�S��+���dv��,�����K�5oOZ��]�*�B��5 ��������I�y�˧���E�B���-�X���<��#&*ޝ=�����tS�d���8����**+I��gm5�R��W�ř��h#q�ڋ3im�.O��u���o����2LwL(�[�+N�WP����`,$zv*��gc*�q�{pu[�R���[���%��=��j�Dj}{�G��Nz����r%�*܂ݛ���_{��I�h��}!�R�\�՝�r�O$��Q8k@���UK��CP"��$�_���ɔhj)��3u�ŕX�6��/���SF�	��c�Oǫ��E�f�Z��B4�٥`�z,	bE���k�︋F$�{���J�mϋe��=��,����M�n��d�' ��!<2��d��[�i_4$N0Ry4�Dp�a���nC:Մ��iJ����Cx�h*_G�h\6�A�I%��L�4d*�wȜ5%��2޺4��à�*���Yh��u�C��D,��6&��x�ΛS:h$R�q՜�i�����H:�ɰ{��	��Z�Ɲ�S-��T�~�*���n�vGӳ
���>ܸ�:��W��7%po[�`M����oMЏ�־�S�=����bS}给s�V���~�!�o7_�-D���,�]�����-G��F����«@=�^#�WJ�>0L��6����b!��y3��H��ll�m���S��=A�@���aJ/2��ĵ>�Λˆ�;���u��D���:L��PB`�Q����_���T�}��$��7����s[�b��-�����_�k��}I����fr��}6�:����k�=\��R@l39��!	��vv7�;���뵄���'�l������ϭ�;���FUu�D��3�Kq���J�z��bmw�$�<�q���G�\�K��c�R��o�-t�$�-�]���h�YHr42�/O%�:g�Y��ҏQ�MB��1,+�֑�D/ڞ�K[��o�kIF~����E����?�6���0J$�����>�Ւ�G�%;o��E��&z�����c>廚'�jOGqm�KQm���g�R���wG�ʪ�ĵ/E��h��b�Kq������\GL��F���S\�RT�J��#���I��q���^^HQIC�EI��x/��;\����^A�'����^A�'����fnyr*���KP��h��{�A�/E�B���\-'����T���RL�R��n��4�4y3+��~yђ�9�}J�EV�r$�z��!���+��v�9C��i%q�ˎԾѹ����w&K����#�I�����I��yR�sR��{�*ĸ�(��+YbܖU��,�˳�<)ި�Y
�gmyR�}%Nd�<�Ȓ:�7��g2\�uU�q'Q�!�z��B/nwuyv�BL@N�;����	�5�م*A�ꉵș�9�k�3i
r��N��\N�:,�P�'�^����}���dv�&s1�d�C��p!]q6�eWJZ��g�w���.��{+�x��R�7�?���jQ����K�\�*M+��*V�ݞ$U���}]��ob�
�+>*�g�T�W|�v��Te�Wl�t���i߅�n1A���Ji�r�cY�#�	])� vz���L��R+��Ҕ��P\�s�D�{���"K��ͣ�օ����h
ά��H4A*VlB�v$���i@|>�[2th���4������P��$�M�/�B})��u)nVs�9�\s0�ܵ�s'lH��E�})�s,�怔�bh�$IU�H�Uo[�z�&�T)�[�^���G4׌��W4Z�%^��p}���P� �Jwip�w��=b&>w��Ԫ�=#@�J�Α��!���vG��A��!��2c:��s0}b���J���74�l	��6-瀚x�Z�u����������9�X_���f�l@$�B��&��t��ξ�B�:���r��bE]���Nib<�CD1$%��+=�g\��PZ�q��Y.�*Q!RW}���QyZ�0�Ӣ=ƵDF�Pv��4E.�.T�*U"�ܧϭD��E3je���f�_H��U3BEw��ncr��M�\�19�l7�Ȣ�Rfh���f����g���R'�̨ΛQ*x'e���Q�M�K=�y�.��X���8�DA˜�4����d)�&�>;
�RUn��5�0u�T���ݜuJ���1���`�-��K$ɳ�܈��Ӏ6����R��WS!W��R�L�LV\STA�P�[�pQ�!�}�I�1�?�_0��2�LUJ3�m�J�V�4.8U��UhHg
����Ӿ��j���)Te��T!��DF�i��`o��D��u3��e�1���ؘb����9��^�*_���y�C��ۭ�_��7����|/�5o�yI�;�M���Y#�����&�Wo��i��@7Z���q�m��~�doѓ���S��h`�C�%H�x�-�;�Dbd�k�n�	ɶOK�֧��=��j�Tk+^����P��L"�CݞO,��0��RKg"]K?:�9\"I6�����,�գ�6G_�G>$�iL�0
�(�dWH�N@�թ�$�2��d����
�3	b&�D&��]]�i%�lں�꜇鮰��D�έ����ړ�↎c3wt�C���%23�C1��^.,|�^GL��A�o�}�?�n�S��ʕhLW]6��''\J��_������	�J]quɣ`BG��l������?ڦ$
�� z徺c'�1�W�Ru�Ȯ��@�}��`���w��-�)����k�q��EG����\Փ1��y�Z�#3[��}yD��]�s�
�=�W�)"��i�:tg����Y)DSt��Cx�Bh��f��/�:U�1��#wZ�Ju��FuA;ʸj�j�ΖA.�wuȮ����VQu��c]^�]=ԭ��8�M�n���}��I����"��l�o�P�":��w��,��t�=��w1����k1��>i�j.<�Mkq�W>ek�Ngnݴ(���W�v��m��֠RU	�>P��L�
QWuK��g��C����OK��qv�BE��0���{Q��U���@c��f&Ѩ�Zl���Rb��TEvon��ꙇ��es��@v|�m�+#s���V��ب�RSX�l���3c<���ƘwC;���Ć���Y�2��PW�:��<�S���Q7F�.�1������>\"�����𛿔�M/�����D�ny���nGHs�g��P�y^��&�L<�g�D��D��ݿ�K���;'���'�䴈rq/�dyē�O�O�y��֓ �f�۾��x"[≜�ƮoO���sq��y}�RNʹr��L<����[n?�s����C�ә�mG�^9�S�[�#�z�w{4�����UK��tѓ�3�(��:��<���K�B�Z��x���%�wy�w�t��sqr�y}rfN��] ��9ow�hٺ��d<gf��gfR�.���g�
����f���fJ�^;a���TI�o��pbI�p$������}��%�Ñ�)8��+��P[��Kv��r���:���9qI:Ɵt���\W��5��9�|�%G����+_,��b�<�#�ϩ�-�N[ -}b�_�c���YM)�3�,�=�Z�1�Cx>��x,&(Ȗ@ g&�PӺӺт��Ƒ� ^�+�]�л#�Rc�#J�LDq�ŷd>��P��[Uf���b���%��|F�&�'��s��1:�oe��ԕx�]�!�Cl��ƺ/�o�ܴ��ܺ�O}�:<J]1�.��x��=K�����x��3�V 'V'G%��t�zD|�q�@(�^�K��VK�p�[�һ�m�%/G��S���E�ՋgQ�����rL�NJ���F�}M̎m_~O�q�����A�<b[��mc����(���<��.�e�]$ު�]��Bb�3�K�ϑ�K�s�_Ua[�a���6��1G-�2�g���C���6�If�G��#�Zq�֔���%�p��C�FJ;��9�
��ʸ�0#'�F��q)|�#Sn����؉��\��U�X{-��q��\W3�5���KE&�=�1�?�������Y)3�L��r�7ބ�k/q%�����#)2ǹ��W��3vK��ax͞��
�0
�0>h�p���e�x���a�_�ʢ�b���Ce���x�]|�~��R�/�z5�$ʰA4bː�I?�pĴ�\<
�xQ�$���f�§�_-S|��jn�D[�x��s���Y`�~��T�'^���s��`���_��ŏh���b[x�n��U��)��7K��3y��������/�C0�����6y?�ӈ	� �	m�Q�֦��TK�1i��)Ɩ,�"k�����;��6��׆���I:�p�'�_u��fl��؃���U���� ��}��3�k��͑IX���!DD��g�?�ͧN���g��_5�/&k���n�%��Y����Y{�~&�^��_����,��k�`��F0�1a��^~�4#ў�`Cxf�V�.�^_�
A�OX�~�������ӟ�ڏ�>��"H���;Kq��Dz��d�6a��"7K-H�e���]R$�������8�D�vµ�3�+:��%ؒG�tIF�[���K����i�=?�^���k-��54F�n��/��
F���Vs��و���
���D�f�22\�ٯ��D�6ޑ�İ��.	?�q{A�C@4�����#2@�2g�q
eHY���6Ꮝe�z+�����\���c�R�-�ɡ'r��n3�=���a[��h�N�V�P��s�m� yW8��?=�3��&�7d����VI�FS�~
��-�}gY�!�Sy稪ޓ_�|n�K�ZX�C�f��EfL�M=�$o	Q�3\"��_�0��N�=��69�OE8a�
" 8�OE8��:�`)s�8��[r�|�@����[�KFr��b��ވ�O��t��L�����l�U��<�%�L�><~&����+��C4&�%�7u��[BLcY �?��A,�Zp�O�a�j��bR���7�ʍ~d�+_r��@;/�+J6� iB���Et�R�^�]R�E��S���e�o���
�[,畷%W�4k	��-&�K�WH�m
YRp+��a����἟��
�1��׶Q��#r�;�r�����92W�a+��-!�y�ʼn+�,%��e!
:�������AhT`jf�KjĢ�����q7-��ձ����� $W��pq�0\T����@G@v���&.Z2q��0�;�HPzq.j�$�]Rk��=��D�"������|�r:�[7��fR3��◩sg�FkOڀL�W���):	-þ�{R5�mRU�ߗ:��	�+�*�~�d���j����
M�G��Z}�Ѽ�:�`��x���(���z��1di��ʥ���넹+ް��?�Q� �l�۫e5�+Ə���������G���6�2���ZT�k��<L"����^��$���U4ry�u+��,`�+�LX��ݥ��"����%"����+�<���4>�'��:�.	�p���Ѽ�G�<�U=7��k�!�‡dh�����>Qf��-*:�>��:}
Y��-!@�\��i���m���%���?������N�Lz.��G&$�?'�d��ؼ��z�$�V�ڱ�_��*��#(X����{z"�_*>�Q��a���d�s'�vG���H��H<ا:o‚5�8��ϣt@��(v\��b����
�`h�ڧ>������ԅ��#��-\X>~#�ik?y	��K'ð꧎����kk/}8"r0��^,}h�q�zt0<\	�X�8�=��K,ڽ��2�]�
�s��"�}X��f�RSb�7
CR���s^ƶ�y���K��y���P�[j��%x~��f�[q2^�G~�w6�7Q����H�����FI:��xV6��p�*��N6��>CC��("�!|�"���	pU婀\�/�n���C�9���(J3�`�<ό##�NU�� ���
^�*�4��lU�c�),��wj#�����%DG%���O�r�J-�h��<����6�P�#�e짡셒 ^�O�L�� �;�;9���؏2ew�Go�Bv�G�O�x��ѩ�atF����eΓ���JOI������^S�^KAF�>�v��G�K�X�X��̓�Xf�N���=y9�]�X6���p�vU�B��{�ą�\���57�&���->}����/�џYx���jx�%X�9��v&7t��_��/�9�6���򴃛ǧ�x����p�ee������;�O�"ꮃ��TO$G1�u���!�ц�����:��b�<:R��<�dR�ڏf޳/ah���ޞd�?�T�𳟘�(���l��c=��{�+��b�|Yy-�I�a^��'��"�%���Pk,�m��"��<��B�#���A�@|ك_����F�d(p5�=FfȨ����|Şyo���{�?؃8��ݑ&TEI쯞4��Y�E�^A%�Q����5c�-T���+���U�?����,�]ssL�k���E��M�A0��d(�O?��?�������]���ݏ�_~h��&L���'Բ�����+��
?|씾 ����q]B~(p�y�bv�=Շ��a;��B�J��WiCe�8�4����|�����Ҍ��r�f>�a�\$�dr��5��QQ�x&���齢6��lC�!͇l��X&Z���,㚃�6h�Ǹ1,��q���"��Q,�xf�E�v�
,(�K���%�6sn�AT7E�~����
s��6�k��J7��Wo+�_1��2�L���M"O�����Gu�=<io�`Ȝi
���`�X��P�|���t}�n˰�_zI��B����B��"uo9e�jS��5�'|k�|�w`͹��G����������Ř+[6����j�C�m9r�d�^��%�\��4rH��.�B^�V���G�X���8��t�B������Xj�$�t���1��^�=N���@vr{���q��&�|�6)D��u��ψd�Q��2�S�R(�쫿��O��>�/�gd���}~���y�r�t}��a�D�g�~Q�p��i�d�˜���胀��8����D/�2���+|Fa��6�Y���>:
j��XV,5ʱF�
�E��s��
�*)�+��AKu�����ò�|�]T��Z��f����֔`����HϜ���9+^�(3L��uT�J���V7�"M!����OdO�˫z�;�z�Z �Q*����ar���":N`j�3�Ij4;���Ԫ�Fbij�֦��Q��J�X���֏&#��-������ڪ&�����>m�47t���ؚa<�G�fѴP�#�A]�'�<@�e��}
v3��g�]6�nC��ug���<��]�E2��W�v5���̖��Ǵ>ե��]�S�U/�j�@`���>Ӗ=b���PN�����c���g�W�Ҥ�i�!�0-���R\�����}y%��0f�B��*s��"�;Yz��𳖿��'}C��k�p�ВOhe�'(����Xcp��J���&m�Q�c%[>���^��'��D����KU[��j�"Qr�q��y9#�f�\��+0]-8}8��5��G_��A��ݴW�c�"/�3y��u�T���<U���4����P���=�E������c�{Kj��Oj�2�x݁�t�����3
�+l��ˎ>��[��1�N
�T���3u,�#؂A呜��+N"&�v
#d7D^��-�I>�S�4��䴏MC�͒��Q4���v�/p,Ҡ�c.�_�榵2(�����_�U�_?�m�d��*�>}/��"j�Y�Ma�A��B#�UB�s0L�q�#�����uW��>�̷R�*�I�;�5�O��y�F.�����,�	x���x�T���)�3��ʳT1�W+�]n~*a�`�R��3�ѱK~�㣻!?W��I�Í��,;��1��N����GJAݵ���Q��e^O�,~ٞ�J��/'��E�I`�$�rW�u�9xۯRO"~��F��+:��c9DN�-���F��;F�/�z��.[��|V��j�8E��ę�oJ��
ww
i�R9���z�#!�P
�;p��9�]��+hT7~r�E�e������+o��bL,K��L
p��RK�������{�+�J9x��E�Ɇ�}��P�*����zXc^��?���$`�SJ�S;�l�9�VF��T>�S)C?�-����I���xx�cv���ќ5�W�2����V��s9v�`Ȑ��u�H�KA��*�s���޿ؤ����e'���V[�G�P�"����a�
e�=|�)M����B�h��RDE10�\y)��$
\ce�pa�bki2���
^�MX�8��<˼t���b���"�6�1�w��ů��S=���8���nƴ'�^G�ƅ�C&��8��r�lj�z���	�z̻��3K��;
�R7�)|]�տ0�>B�r>i�훧�֧ːO'����|(-�:kYm/Γ���(�2-ն��5���n���)-�Y�I�ܭ�^�u����I�����r��||/CQ�����P��+,�W[����������/5�H�2҄hܷ\���+��ӄ}V?(�uQ��e_p֨�Ъ98�'��a�v�w�̻�y�?�C�|P�P�(���S��>9�yB�w��+��(;H���* �9a��	}0�a��gi���[��h�$�P"�zK�����ݎW�)���i��'��ާh�
�HO�_�M���Zq�W,Ί����.Y9����g��M"����m�S7��lݤ�u̬�y��l�$X�Vd��ђ��?��F,�7�x���[!�啡ط�Z��W�N�Uֳj(Ve�wY����3|�`��w������#�]!�I�*-�ľ���H"�ȧA�$����qnz��x��"a���e���,�}�0}��3�̸d�1�T��Wu/Z���x�
�D'�\P|�2"��4���ʫ�P6p����(��&�9��^����×z�VE��i�S���z�z��ć��};����o�o���0��4��JbbU�"~-����h_�`�e.�9F��xL�NWJ‚��U��j�Y�>(&�XcHv��o�؉�NG���?Ҥ��l��X\�j%�ј��(�U�,����k���(Z��T����[���‡5
Eߎ@�+.Q��U�W@�����56"�H�%�	L%�(���>�kCkBַ>�i�>,=�g��U�y����j%�_�G��q�iL_���[ך���]�1q�(�MH�5D��������a��Rb�d��JL�8�cȉM�~l���1�օ�R�'�C��-��@~�n��c�|OO��`�|o
<.�J���6�K�좈�U���a<~o2s�8�/�!��=�Ԟ4��ݩ<�b~"L\�8����x����~�[� �N�{�������L�ͬ�
��O��6y�˒��4\)��Oa��|j��Z
� ��y@*��No�,��),�Q��9���}�Ճ���./�N�z����{�F��C�V3���.�gi0�dE,�2u�1!W�� ���zY՘�J�4h�MuZG��x �괈�0�Dz1glr�ĥK��br�nG��$zC1����*19�Q�P)���8�,��V��I����I�B3's��Z����0L¯��Bz=��4��R[.�l�$��9!�ԙ�ȴ!}
�	o���#�=��#�=��#�-��XU�����
����]���ގæ��6
�i�o�с���j7|ͣ����P��ӧO����X�����Y����r�(�nO����B��$Y�ISB`�70�⒅ܿ�i���g��ׯe��h� ����<�4�N��_g?�E��|-�o��#
�Ey���V�>�֥{�<�|�����Ƶ�׶5��!}���Rn0�m�+�.6���K��ϯa�p!�(�c�ʔ�
)��`�q�A���j�����VǏ+�%�R��!K6bj��MB��~?�T�*����=�{��ӵ3��=�N�)�D{MÙq�O��k����b��幒s?�[3���q���������
�`��X�t]��R��F�R�K��vZf�e/ myQnt�f�͏ޏZ�;�Z�	��T�����v'm�q���Z��^(�J�<d�f��4��6�1�5*2��2��Z��ފ������0��K�����yw���:?�=��'0x7���t,"��W�+H
��@,�F�R��~�����̴�M=�V~p����7	ѩA)Ƣ��k�٣�Q�E�0�?�CQ]���K�
�	L_�����K@ti��8�(�'��>U�R��(q��c�A�`���7=��.��Y����h�f!"�p��1�F���<�����
��j�p[*�Z��(X�%�`0���$����E�;
e���EIA5�ؙ>�gx"��ǾX*�K��~9J��0+��b�$-Ȇ�H���H��v�'Y��B�R>�4L����y�
�C��I��i��üt��}�Ƀ�J����
�O��L��^����-���߉)��rۥ��ؤ��Z���M�+�z�ݩ�Հ�ث�����7�6H}v��ͬ����<bA�O|�X��w�L|�B~.qpQ�J��W�t���B#
�Nb����
�8%�"̾�{��e��j�_(P_��е�8��ٛ�_�����	{+=j�/�����Ӓ,5Q^,�j]P1!�+�]��ME�]:���;�,�-HXԱ4�����o`M�nȍS�TM64���X��Q�ƴ\�WZo��֥F����I���/;��3�?/���?��3#����=x��wzuM��I�@�;b�9��X9U���%����8_'�N�D賥��VH�x�'�c[ߺC?3���i�6��e�k:wŮ�
roXZ�'�|�>=�(1j~P�=�ؖ�V#�}�W���IOM��n�e�W+�&}*7(_y�~��7�#�j��M~�0��?'�n�Wl��ifҎ_8?����P��Ak�T��Z��h\���@�t����s�N��4)�`U�c�>d�7FI\�RF�BH58�M��(�-���H��0(����i���_�����/isRxe�[�2�}]�G��U�b��_�U��6����G�|$�	cX�*MVndkV��*���I
��Q�����3ge�Ti����q2X�I'��E9Y]W�L�eۼ���Q ��P�x�؏#���a���C?H��E'���N%�7�maKfVۂ�j[�[mW���Ѕ��	��ؐõ)��|�}5�P4�lb���gi�2b��"�Vo����Ʃr�2T���.C����-�Y���Y���Tf��#�Ҁ��7�@�F	��u�惼3~zS)�`�,I
��T�訳�D��ԏ�p|�ﻶ �<��ч'&mFٓ�|���қZ��z �ğԦe彙7�P"���AQ���/|D��5B�ΜW>-L������@�c8k����[�MJ�(��J��B�a�����H�գHf���.�J垧��*�dz~JpHzb���U���/6��t�i|�C�~!���p���KQ���y��2��r�̱7����d?�Ð�E-�(�LKn�є~(9�D^�Gr8��+����F#�a5Q)�|�I���A�kᇲ뿬b)�H���i���gҜTp�"���G��~J �W�(�D�"���7a��K�����_��$���ͳ�a
���p�
���N�)�F�f��?%׹�:���{�8�RL�'i�2��'�z��V�^q�6�B?_�,��Z��Fr�!d�z�
�?����ǎ�8sh-"b,���{�z�{
��)}�ڇf�
{�ȯt�I�\
���*TZB���1�b���(�3>�0�hb_���躻7��o���v�9E�~���4�i�Ө��Q�O��F�?����:uS��{,~�7Hr�(�/e�."+�W8��υo~��i�=.��	t��#;�"�F̀�h;������N0��L��-��ͯ<f�޷�k�}Y�̾(���
�\���A�"�Z�xEH��c���8���(�@Xf���Ȅ2a�>�@Ea�`'�#1t�*W >��Ug?n��Y�:y}���i����+Z�5iUK��s��#k
�=:�+�zFI��!H�NO�4�2k�&�D1T�{6KN��s��/?׷�d^�vK?洲�>���W�����6�k}%OZ��h�IZ+)	i�W)c��h��
~��hH��	7�k�8O��־I�,f��Zձ(��>���_e=����T�D$x=���ȕtU;�U�$\.��0Ȥ;�.�	J%�'Ծ�UЫ��4Ob��ѥ���F���i����n�ꓙC�T�e0NT���V��B���q3?��ak��N�e�U,�v���C����-c��b}Zlf|B|�Ȕ�DZD�4���־�>�F,�LqV�G{#㥘�U���W��p��5���HȐ�d#��k)+@�M��^��Y�DŽ�
&@~1��Ob���%�h*U�[y�f���m�:��Kٕ"�V����W��9�z��Pa��N�� �O,���GMu<4O�,��ā�=T�!ϏF�w_��d�B)ꐜ��`�\x��`�/Ĥ��>"��rq�c9�'Q�0����Z�h\�J��.Aʛ��އ�ڑB7�gikD�N�m4�UY1*^Zm�b9�U�>�/Q�!������]�
+��K8D�;EQ���', ,��aw���?�Z��X�v��I}�Cyl�Sܪ���I�OqN��naG#�Ml%?�������9X���Kg��Q�lD��Orw�:m]���k�Z�Ra�������Z�=�"�y��	iૃL���ܵ����A[{�E��\��NR��	S:�o���u�oꇩ��G���X-{��#�|�M�760(�L]zve7��ˎ�q��x���{��6:�q���x���x�n�Iߙ��ݝOm���;���'��	}=����0�V��J��b��0M��aT�P��=$R��.yOtK.xOl�W��Z�鵎A(���M�U�/��q�a����򛡞V)�oJ�4˾,�8�╓�#=V�!�u�}x��+�$��[���U�p�{�.��(�����ݳ��c��!����
��	�˸b�z.�μ'h��n����?�c�?�_�4�P�:��I�Mc��*����᥀ݭ�OU�1#��%�Y���\d�
ӯ��r�DOI��
�]��V|m�}�@*�>Ҷ�Ʀ�̥�Ѵ���#Դ�Tw4�}�dwkuWn����)NZb�CF�{�p�U
��$H�b3?�h��;��
:�8y|?�
�9-�ZM֦�6a���е�a@��R����ᑷ��ߍ<x�!�
�X�]���,O��8ZS$o����ꂝ����5U���u"��w뢁(w�)�M��NaT����b��z�gQ��U��p���$�M>��|t�A�+#Iܐ$j#U>���IG*|�����ח*�9L0RG�O������#,����?��2���͓��~��ۭ$�No*�a�����2�q�eB�OF���˿�G��23��`�v6���R=�gS��J�ϐW<)[a�zPu{a|�b(���n�z����,��Iq���"G�_�"L��C���fE�/�ݺ���]���H�F<��{i�Rs}`lHN���Q�X�y�#���z��Q��/�jU�����{~����C��\+#��"iu�n�[Q�?L��e��͊��V��g`�Kh�)����bg��M6Ա��Ǩ�O�jį����x'�X)���}X�	z-孾�y�����-_���3J�������^��u-w�o+#�N�Ȋ�.����X)}xP�x�]��˺u�ߥ�����{p�yMpt�ӯ�#dߔGXFZ��#3��p��K�A}�z�.�V��55�L�i7ىunmo���Q���ox�h&x��>���\��9����Ҫ�-;��1��_���j���x�H���q�߱������3�Tۢ�{.�U:��}R�U�L�6����e�ٶ!��Z���-ɛ�y�K�p<r�K4o���O[�{��I��"��oa��q��mWW��a���ī+2C��`��6?҂M��2�d��td�����"��-AU)�U p�~#E"�B[��^�14����,D����ht>YGqm����ly�ô����K~u����Z����k,�*8Z=5+���O��j���MSҹ>�a��(�R	��!F$���
�]A�D��<�Z/��:؀[&{��D�6��[���dbMۅ&v�J���IBz�<q��!%�e9::�\�ʈ�Z��ِ}�t���H^_����\WV�^i�2��������/�.���+�n�GO�R�:�q�%����tr������U�)���Հ�0W�����WE뺂��%�K���߂}����V�/��Q5�
�ǯ<�S��$��gL��K�,VV�r���+���h��z��m#���?���[�����;1�iKU)ٷ��
�O���&�E��6C�q�͋�0�Y�ŭXY�_��EK���_mN��`�*X��X�9"8Mh:$M=HY��	��bڡ���}Z?�ZT�t<4�D*P՘�~vh�0F���t�{:l�	�����A{T�,+��~�u�ʋ�ARDp�;떔j���}�c�v)H荿���E�m����Y1>nt��`�*�K�|O��r-�-�e�� #O����p���u�l�b�����-X��@�Ҷ�Y�}�m�淌�8�==ѫ�C�^�!��M��&]uֶ>Ðq^p��9G0��X�
Y����ǟR�!)�w�"[�/��'z��V�dԀ[�
���/�'�8�#��]*P�/R:��i+�;*�"Ku����`"D$��8C�@&G�}�������2��>8c�5(�v���m��cK= �;��w`��	�"nM��|�6g�0���������/���[1!~�JW�ѕ���B:b�+�Xӥz�V_a��s�$��	��(v�MZ��7��i��k��/^�M�9j��y"9�ep�ȕ'z�H��bp(���Mi�=�|s�*�p��<ۼPK�HT��<��
H��a~9POpE�*M�e^���xa*>�w���餛M��_Ԧ,�Fl?���q�{�~��nP�J�`�Ou��C=�V�L����r�f��4W�"F��߃~$u3f_6�|�N3��[��B�^���-*�R#O?��-|/S�.~R����2�S�pU�<�B�Hl�hi����,J������&?��Q'�i���6�J���"�G�8�aS�p�!���]$��3}�}��.}>k�����j%�w�L����,�E��z�͖(��g2@���#�rd�x�5��D��(}��w�Q�#Q�"���<Tj�}��1�s��9w�Sq
Yq���^ԓË���!tR�(��`�֘�
�[I�i�7:7��p�kN@�*r��BJjs��TWi�4X�c�Q���ڧ>�_ֈ��a��7?J��籄
q|B+Y\G籒�ut�2����7��ܳ��J��._�h���
sX❜�m�mK����D���f��B��c�\��Ƙ^r���*9�<��
+a���5(���a2���#gs>ՠ,2��!ԮwOO~�_�˹�F�1V���N)P��t���s�x�J+mڎb̾��#R���IH��M��aFo�1a95��r~H���6A��~+����Q�(][�R@X1`+x+Q��P%i�Y�x��
�6�dB�4��$���vKU�/�8��~���sZ����;`׏��i��� 9-J�UL����7�~�yۗ`qZ��9N`��	����'.R����9;�3��g��^�����?�{M�6�^�C���<;��$�>L��QM sQ?,�{��b��p4F寝$Z����QD/��t;q��%�(̀�G����^0Ǹ���bV��168��Rc W�!s3�2)K�"�wY�ɣ�����sP�K�L�"�ꆲo��O?L��l����65C,y��h ��PW� k�]��ը
�_Rq�7	��o��f�&B�E���n\Mt�:'���i�d���L�4�`�1+��V��J/�f�<z�M]�"h�5�J���_��o3wt醷䲚ߺ�q�V�����r���J��~�P����f�z���_�'��=��k�0x	���tzc=�Ԓ�=}�o
����30m�����S=���pWN�#�#�H��Эւg�x������� Dy�xR�ݓ��/�H���B�7��>���k�G�!'��=�1%��n�p�@�-�������b�H���"tv�-�C����|��%CU�[���E�4დ��Z�Ίٖy��;�� ?����	0��[tO����g���;�!�pg	~"W�_����&�vo�1�pmg��(f*a�]����Ǭ�;���k����!�Jk7�Xe	di����r)��k�m#���n��Ŗ�
y���~���go���gc��?���g��H��7�J^�"�G��	d�gͼ��j����fI����i�Ⱦ1���КhP��jao!p��\Z�x㿂u45?mH�-��و>a�~҆���}W�J���ó�W��'�.[��".����y^5
���m:�S�OG���;�[�*����i��mY��c�d���T:$E����~��/�ᾟ�^ӼV��'BB+X�jo�TΛ�Tr SG�%�KÖ�+u�Ѕ���$--�)�j�@	G��0&1�>�=~�t�}���� 3�"o��X�"�ne�Ydo��/�f��CTD��?���B}b�&�B��H���bw�#�����5�����g�4���G����a��߉� �.�`��GQ��$E���{���_Q�:H�ԧ.wc<r=��ﹱ �/�F+���g���(\��uݞ�Y�;�S��Jz���Wɬ��q����S�La��-�H�\�n�_=�ߎ�!P�*�Ng�H!q�9�b�*�n|f-��&��T�~�^�6u F�
l�ݒ��MSjQ{a`���0����Ⱥ*�g����R"W�>d�,����r�	UC݁kg�����UE�&�|l��Q���{�N�Y�oPT��^���g�-t�^�@Ҋ���y�����^roD�c/��.�wZ���Y�RK��e�X�P#�R��EZ���	w�F�6
����C���v���d�*���Y�{|�ցH��	�X�����/�\b�"����m�@ �����Ȉ'zf��*W�䪧��z`*�	���6���2��6��KF�x��a�"�!�2�3<��l,�����`׊!z��f���/�?�딶���h&��
Eg�ܤTA��>a�mֹ��ש��~l�+�]|r�i�tQ�C��>M!��*_��u��:K�3Y�%�5�m���Qk]���<�VFZh��WS����ҫN�X�j;��>N�Y�f��z�.[���b�sQ��)uP��~��~�ĥ��JP�OR�$�UF۷�c?�O�{��eӅ�'�р�3v'^���ҚE!��/��Y<�
ͷ�)�E'�'���Kq*�I�'M�?�%F��;xà�8ռ�]{���
Le�6z�8R&-cZ2BL��0���H���aR��P3��Qd���v^cVu��k0�E���u']G�)�P�w�����)��H�������
�H��k���`��w���{��!�9���}�ߋ7�t%���L@��~#�RFn|�H�m$�$�`�V�b�!�d���n''Ë��:�)԰���/�x	�ր0�cc9�����.�q)?�V;E%�ñ޸����:��p�{рW��:�b7�,Z�|��{� C���1L��`��jAt�6��4��Cj�j:�Q���<���gB����"L�?��$���ɾqfE߄�A�n�}Uݚ�����Ë�Z���Z�0bEy+�RY+���������_����LG��#�n�E��K�)W��6�����R�¸/�q����PV4H�)w���
��k� `+=
��Y���<B\�zx4�Ӯ~a�ߘ*~~Ijћ��ˏ�`7�fc�`)z�p���=�վ�+v��БGTNA�l��2W��s�_�r,HN|(G�Ө�,����Υ~��F�2�c�|��o����ƌ��蚭�Q����O�
�T�
2k�k��v����A���B�����9��Jό�I�ۺ=C��J��1O��^.�fe㺞&�9��\���������ˣ޳g��cX=oϟ=��i�d1��WQe�����jKLзY�ʍ���~wy�z\�)�?7I2�����m7�̦\�;
g���8~6�fa�U�5�G�����^}8�t�p�VKI�N��o"�\��,u��8��d���l������*�Q{[��;=)�##����]L�B�9;��f��ay���%B��ƨK�w�,��/_��=����������+v��%��@��x+`��������X@ZI��+P$�K�|�۩7���ť��T/��Â����2>�ܱ��"Vt���e��=0���_O���fuȃ��\�����/��J��xdX�؆%�8�����0X�]�I�%Qqq!P�q9ko�(V�$<���7t'���UA$��M������?���O���8��?K;��QqG?pD:���f���Rf#�d?�����͝��1��O�o���;h�àK�F��FjC�ѩ�K�j�S}�T��D�-�py��'R�0���qd*��d�Aa3�R�&)��]�F����`iaVb|{&�]�&�`��cNz���gX��Q�F�ތ��Ə�u�ս�{Q^X�R��;H�
�R��)��}��C{+_�K��,n�����ɕ&�!�nREXSr�V;�	ԗ��p���ej�d�8<I?8����t���+�\/g���?�����ܔR������E|�A�9sg�����{�?���"Nɴ����C��j�
(
]���K`灆�H�'��D�X�n�z����&G��JG����c5�R�ٍ�*
3�0.�3�Le�%�V���>֗s���@��ŗ��]���jFΩ��Ԋ����~��ī��b^nR+�&k���s1�t+��q$<pYg�*�Z�h�Q�XxXY�����<^�q,��w�RY�����.5;�9{�K��j�
�F�cuiό���5�:����<���(���mt*�x�R���e��5.���!X$�yQK�J�U�8����9}�﷑����P��eKi���_K���{���̕�̓d��l��ܢl#�4l�%�YB��Kn����-�u���|ނ�?߮�O�$��g��=�66_���t�"�eJR�.d�	�׍"��-[�7�$���m�s��Qv�U�Z�R���=�v���ޓ'C��o<4O+��J��}7�H��%S��UE�.}��޹b��t8�O}�	"
�>����g��Z%�h�3��"�K�%r�=�~��Jz��'�]w+Jd{�`��w?��@������j��c��y��t�\y��c���M`�@��!{�Ox�t��X��G�_Ent�u�~�uOc�1뮷Z�G��w���O(�7]���BO���Q���d/�K*�����m�E"�X�l��t�����k�}�{��jo������0g��7tu̿�aAoH��K�#���̞��7�Or��P�Ի�y�`!��I��׾"�.H�u���."/w�⁽�ـO�\�4`���j'�䕓��8����(��	XT/��"�L�{)����X��Й	d��2�ze
O��Ꜭ��F�T)��U���(.b`p�D���E�E��1e`�ߣ��:c?�F	�*'����HA�8�zq��Hy�MX��E�(z��������jǐ�gQ/$5?��E�K���G�rR.׈z�����z�}hq�X�-�B���Z��ד���R�O���^��{���a=�ה��]%��ٝ{��c(k�R����0�n�e�YƧa�q1�ʢ殬`y�s������q����4�V��$��G�����ܺq��d�5�*��&��V�t
b�ӯ�Y��J��ۃ��g#\}���y�*��UJ.�>�>����8O�ȳ��!+��r
�8�����3����ܪ�S�@�� ���=���1���h�۸�z�%o��5Q�k<o�]ud��Oy}I1���Z�ݧcTO��7u'�]��a.�ڸ����|��<�Ѱ!xI�3��'?\�b4��P�`&ʄ<FN5kගb-f��s�� ԭw�����(�A��<|K��s4^4�<^p�ܾ��Xm�ڎ��1a0�9��mw�u�X�l��gCr?HM��H�@~Vd����V�7��؏
é���׻�}���(~��#vW*�N�<󸮲�v�)�T��iK����{�.Id:T�O��a@�߇:kzk+bE��b�KY"�Ã��B�e�G�W���O
��i�̻�d�,���'I�{��U�,��(����
˖���ڢԫ���U�+��,<N��A�*��Ҿ����k�"^�
���'�
S;�/RS�;'C]�m�����E�Q�+��
�ݜ,��K?�Js���P�"^׈p ��?�����(�M���+QG#R�2��"�0�XE"�8��6-c/R�/��Y%&�2�_��sAuPF����l�_Z�
�8�-B~ N��K�n�i4������f�]H?��:X��b���|I��޶C��l�'�AcD��?���¿���D0w2HZ���&�E��FS&"\W�T��C�84����-�O�����^�#�ἹGN��#.$�s(%l��
FG!7�����o5�瞪UC�Ap���[�:{`n0ԡ
��@��5gO���tT?4>��>-�L�����:Q����B���j+�g$zK��Yu�)S�0��У
dt��� ���Hn�LK�h$�t
G�%�Do-!z���4��-c���o�;2�ի�� u�������-�|/�L�yg��\�d?h`��]�܆�i\������!�]p��C#CÞj�`�Ȼ�~��
1g"R�˸�b��L�`c��i�R�P�סs�t+ȧ���Z�>�cG3��i��_��˰N�o��eʛ�>S����e�˲W�AW��ݍ�d��ޯ���sdvs��:|"�ݨ�Er�r�*W�W���?���0�:��7���Ks�Q?P\Z$�y���?�B�=29;�����{��{~o6O�q�Cw����_{����/�[� ~�5@����"'w9��I!��5���{g��_�?�����ǔ��Ğ""׶��Ʃ.���ߑZf�KКmt�.KP�W%bt�I:ێ����{�T�|�ha�ވa��+Xګ�+��N�������@Ye�Tf��|��뺪��>�,2�94I��Y��1f#��ӱ�*ͬA7=��nRZw9��w��v��-ݬT<!�>i�]F
ݬ�?�v>9��UG�E�#���ؽSYH��ɘ*u��b��^��w~v���|�u�1����
1��l�u/gL�O��X<3i�Rӽ��t���g�xo\>G1_�"�(,�s\XEG�̡1��*j��;�P�L0%k�6k��cr��^������db�t�M�fK��͕���@/���]d��bu?y�����1��H�Ic�����1��T��Q�>�dCYw��|��5J�^0z<�5�j��g��@�]����-)o"K���J����d���2@��\@�,P���}[_	9���6�T���@�o������`Z����
�
HK���k��RC�
`�R��M�?t'yE��1��lC�W5c������y#�����t���$�;iP�Ǐ���C]�� �p����G��*�`/�˥D?�9<�W)�#o�H@B��ݹ����"�9�uޝ� Ȍuh��j�z���K<�i��رj�;2�_��缷�6h(��OR5n�~[�)0
o*]"�Q�ut�0˸P���.
�(y�0�fv�fW�T��"��O,e���O�x��#
���/6O�E�S4W��e.u�Mi��S�
u~F?̈́���J��AF�	�O����5����y��\�\U�L \n��\ʼn4њ%&24���{��_AA���!��͸"M

��G��}}���.;O�vOmv�~~y�feNi�:�{hn6��om���J5$��s����I�Y�����[t���1���|�\��J��M
>�q$�\m	Ԣ���8qG�ȫ�]�:<c�st���Y�ɫ�c�+i��u3kߴ�|���RԢ�ع��I2K@rCij��)�Z���Z���(��,��Q�L���ʪY�	�]Ef �T�p�n�T�n��G�#wMx�(5j�S�i���؀"�j55��`�{��S{^w�5~����Oq���_WF�x�@�/>�ʻ���F=���h���ű���P�Xc,�Y�RD�ܔLU�*k�m�T5�~�1R�Y8u������[E�^ԧL����Hpxj|Q��W�h_:d�� �wvQ���
(�m�
z�=�
Y�uU�2���s"�w.s"��*��*�߇?���sI*}�G��v)3Pr̝:� �1z�4!����F�;ac�D�uM�l������,�����5jU>��IijY��o�|�:ސh(�v��l�zg��;��} 9���P�	�'7�q~����)�KRp���L��1gְ�d���W$��Q���?�k�ɯZ�ٜ
����:�J]Q�U�6[�ڜ�Z�̓0<�0�[�F!��>t-8	m�&��+	�>k����I�^R�~��}nc+຤��>
PJ��U�<o�	j��9q���k6�	:F2�]]Qw�ޓ��x��dj��ǵ���1�Eӥ�A]Rt,�8�~��M��5�i�Xq�&Q�5#�1*-<J�U�������)��@=���fQ�,5��}��N$�~��^y	:�T���U���a�|	�8XhQ�3o-a�!,�Mɬ*^������_�ݸ~��S�:
�0���E1T�Z����)�Z���_O����B�<
�u����f���/f��Xjr1�8�(YP5�TМ��遴߃�\l��O)�7d��u�8���[�J��AΫ�s�NSp�f��z8���8US�-�}X���뮋y���V�r�or=bTu*9ɺ���wn�4���R��8_��c_jE�`�1�q�f`���N���G��z`:�kmgyND�#wb���	��vG<׋����ex>�.ȼ.R
�~�$��Pv������J�1�ȏ�t�g�Ѣ��Ȑ�ˆ"��B^;Z ��C��̨���;i݊}`Z.
�
��X��,�{��N0_��r��/_����Nkn6�n�"S����f,K���Բ:m~���Y�zp�A���e�l~_S�W�n����r�EK�
�Ҁf�1���5�?��ٙ\�g-��i]}��o\ٰ~�ꂃ��/a��*9����ݖ'ה�{zm<3tf���o�
��K3��1_��[��=*�#��
-�E��O
�ˡ���T��8���л��?ވ����{�2��8���(���[�޵DkԔ�}v�V�(I�Zq�ws7��	������aE=5;��#ȯ�N&����:q��9}���ZnVIKd �g&8��p�r3�,Ȓ	nEYn��vPf�.�L��`��1�ѕ�we@w>�0Bh?��I/�v�'>,}<�F�Y��W��gi�g=���%׻��?���)3<S��`���o�4��zU|���Y\	�%����g�,�� ���Mv�]�$��[�D.��!��0P�K�u�
wS?�����)���*VI?Z+���X��ˊ@�����IHc�I�t]��p���暹k6���vmْ(����
��v���#�\	�X�@
���_��UG����~N���/�y����|�F��x�>Qpn=f)�@C�a�����M���߄�Z8��<��j�ZW�g���^gt!i��R����K��y����O�5|H	�V_2�T���?3�|��L*�6�+�"KB[U=����b���6����S�M�4�
.�7q����2&S�`1��Ms�<ˠ'*!b��=fH�A��Mp�[I�|DyE��+,-�F��ǧ�F��э�ד�hUB��Η�Gk<u8cuY�+/���C��3�Ly��x�k7��o��Lw��xтGj���G8&
�a:x
�%��l�n���y0P��g,q�n�DtF�<�T\��Z��!�3"��r:�~;�χ�.z���z�y\�>��0�SNŐ�t�t�@mKŗ`��8��$���u�빚�l-
Kz�n��ȈS+���;�9���u�M�h�%�h�lo����R����r��-�\��F�y�ŭjP�U�kR-�ҐV�T�,�}�pJ-]1�g�ޣ��r�)�Y!'���I�'�4���+�:&+��NO�ЮLO�*����(<
'�c]�x�O�X���ut8<<=S��;K:'��;K5���'/B)D��c*����ؿ�䷄��+�@��h(*��:)(�|��Y2%�}��<�g�<�	�b�u!-��JَJ�#�N��5�KIX��]��dt�/��|J���8��&�Ti]�j�rc02�M�+�k(�bl|�b?��M�ߊbf����O{��T�-XpI����܏Q�t#=��͠�l����I�j1⁶b��m�O�T�5�m?��T�)�˂��i��1�&\�^Tq�L�����
��o�<*����)���fwEւ�?j"@Jvt�̵3q���,�
k��2d���T�QJ�#�M���E��|�N��	Jb���r�J���X��,��IVsa`4݇�9V(9o��G���/y��ߍ���m�������؎:&'������&pT�"	�2Q�v��Y�x�Y_sa]8w��[�^�:��xX��X-��܁�t,�ߔO��U'��leO��?���'c�'���f2�-�p~���7k	�&Ԑ����q;�q�����m�{o��/rin\(vK��oL��*i_������2��S�Z�z�=8Nx�b,aA�A����]sf
K�ٲ?�����혮�h�(��&���s7�D���6M�Lx{�E�>
Ё�O�<�@6@r��߆�b��	v{�n8f�hA�T�]�1�Sg������ӻa��1�ʏ9�'����<w�X�0.tW����֬��1��$�����(�8��{L	u�S.�=s��J��P:&��ؽ���:y��<�닡���"�pwx�RV�E:����.��j�����L>��J)�^��(�B��a6w8�~�H�s.���C��P�/AU#�vf9yZp>H_W!���D�Cn�=e�>S���
�e!,���;�wn�2��k��j-�S\�͖�L4BI/Z^�%k��ˋ�:�ɲ�8�SA�h�L�(�5EeͥS�.��(gy]�FQ�+M�q8J�)P"���<)��$Dž�V��*�s�)32cgH�EX�j{�#���B�8��S�g�������=����P�۷��Tg�6�#͛�We�Rָ~��fœ�7+�h��rU�'�m	��O�v�U6�uҭa�"�ؚ=��d���Qu��O����d��[xjˈ�i�(@�WU�ɦ=�P��`�!X�q�JJ�<�M8��?�LUw�s��t�����w�3x�>��J}�N���b0*�KO���J��|}�
%�`{���~_���ۺL��.�*m���wT�m	����q=��
�׷�DJ�ь)�R�]dj<�f|A�y�c�Mȅ��X��g@��5���΋����K���:Ux^˺=n�ewy�CYb/J8��8R���~Tq�~�����b�-���$C$y�����{��-b�d�a[8
��k(�9[�뮼R��M�N�'3�n��̛\�:�!k�����d/n���]Dާ�1�2px�뙨�?��FSaFB��{oe���?;:}wܫ� ,P�s��.�%�]�[R����O����n�
���
^S�r�t{����W�¦��D�^�W�y�
4?���*�?Y�5�W�Fr��tU'f�aBu!Z0^�T=m@nK�X�q�^�L���|���O��� p�<��A��ҍ�F��;�J��pS�ZBA7�a��<�T��D>��.i������~�}�΂Bj[u�����>6G^%��'���xH0�U(����Tж��iQ�CU�7>�mЄ��3^�Ö�oox�\���ޏ�O���;�3u�S�\Co*É�*�>�H��<�D��)�d�*�]�X#����`��37q���ܟz֊r嗔(�����˅����E����w����r��#��.aN�n��fxM�i(q��-���*�	�Q��c8�j�_}�|I���=<<���_�]�����X�8�lh��7^��d����1���gB���Z�(C�)e᧚S���m����y��
y٥u���1]D��b�v�ے-�l�\�d����fYq�݂1D�]\p6m��9
��e��QCr^Y�%@G3��N�x�>l��!b/�}��S����/nF,vӨ41��|�
o�S�p3?�`�����^Pj)P�g;%��
����>�U+~�,�V���k�$�r*;�;�RO�R(k�HP�v��9u�rB.��$�pP9r8����[�G�"H�Z��
5T�DW�O���QC��?|4B݇�N���>�E�������{��h%�jX��_>dr������p���+��g��'�k12z�p64��Vs�g�ߵn�.؜F� P������V��|R@�W@�ϗO��IYݼ�s
���'ݷi��R�W��-�/�
�b�ShAWeR	m���H�	#
��bS-E�f1E��Q7!�V�
�^��K�IO��N��Х���e���V��VۨUDk�}L�uJ��:��@
��M�@��ɟ�Ӹ=���%Vc�=���fR|�M�ܟͼ������ț'�{:�lطPW�k� P�DO��׫�wn
�7�(� �Cr���E��$��x�68v������Վ{+XJ�Ϣ�0w�<��,���Z�K��ۼ�ni΃�����T�<�k��A�����(
I:B`ؓI�t���unj��t���:O��I=���՘є�z���F���ru�
*;؎�hƙ����FVs#3�f�r<m&��f���f�r�lЧ���e{��,z��tW
���G�-w���1*��6����Į�]�H\[�!��k?��t1�^87�� �a�~Rʵ��O��T�������p*�@���!p�&��#,,�(�Th�o,��a��_�;�׉;��a~:&�����x�j�z�Mh��.�_�\�4�NT8�;X�#�ŘwX0�F�i��"���L̢�T��`�x��ƫ�V^=�沤i��.��f��6�z�%�P*>9������K\AӼ2�@]yj�\�N<��k�V�q��?�B�7���ts'�fHT�BEYɠV���$h��5�6æ¦p��uPֆQGht���F{�cZ)!#yӯῌmC��(V@W,��6�%����VB/C���9����Iu�*�m&��j�aN;�ar�b��n\Dd�:
���;�p9�Av�$���BŮ*8p¿B��0,Y��C�L�g!��<o���
>�Rtb�>�PE��x���������=�F�SYc���`*jl�
�"�qFRr����|@5��l/��z��i�7ҟ]E����=ʞ�l�?Ðp�4�ǂ*ث��l�n"�j|��%�����ц��3]����߮ЮׄT4�,U
�c��GP3?�@D����ea���s5A^�<20�%��U�_�R�|��v��"�V�<��<*�|Y�'��!*#�MaE׻�kc�L��4r�QM�ey�1�L8��tk�R��0pMd*1(V�U������n'C:���&"[,�r�S��]��x�$j�A� -)�ly���o/����e���'Q
7��iIQIk�H��Z"�x�F~F;d5y�Ҝe�s���@2����u�s<��ο����A��#%+KZ㯦��ӏ�Y㲐Ÿu���fW__�Z�ϣ���5��J��[H�/�`�{m�(;h2���ڲZ$#|-F�n���`���,�rNc̳P5����q`f���T�^�|��G�l�H���*��ۂ���#믰t�!��u���r�m|)�s`tyE��1.�O�YO�b�_{�?�6Ś��M_Qx��oC��%�,�s��K��M��><�n���E���
9���#0]vY�_h"
��DTJޖ����#t�q�Ś��a�=�F^��X���A�$���6v?8��D�jY��zl�+t	�_�3�
�|:��/�
�ws�Mq��;|�[���׼���Wk��6{(h�	�b���߫ ����~]���3[?!X�ع
�'o���0�MRl�`��c�֊�|��$*�JSʼ���ڔ����DUWs�����ɲ������\�v���� �'��sV	Ք�T����NN���n���f�^�u��^�Ă��͆�L��|�+N��=��Ѫ>�<
A0gq�_Աm���t���"����m7R��/9d��oV���-;�]݂S��fѥ

�EP@A�S���I@��T��E܂�%-��b��p5D�4:�:U.56��^�v�c��-������G/޲gn�N<�,��^GV� �+C�n��NA�2�8�t��-!# �A�[>�nQ�84��k\��y�v�Ƚ�>,�}�G���?!�����)��\��/��q�@sMd<���7����pU��"21b�8��cm�L�w��k^8�t��3���K��K:���}�߽z��ਏ��#�BY^.&7bS#��3���Ctx��#)�V��y�T�˴@_�����(h���ܟ`zR"��]�G9�C���<���L�� �.����?+���ĩSP�_,�,���P�b�X�b
��r��AS���`���]��/"�H1�����c����֡qt�:��u}��b%1g����&��Gj�q]0�	�.��+z�A"ho�d��ٳt؋.����Q��*?���$��D��8ν���Dm�ы�D1��o�?������E��n7�X��&��|��f�)����X����R�
<I-�(ϸ�9����w�S��!,��d�a�܀���)�����eaR�HNJc��=iFT�j��(�Xi�ag/���i����!\8T�Sa]{x��i�a@~���0�{��3X���U?�0듛�7!\��P^�큷!l_6�=�������~�)i�Jm�f�"{�A8όE��[$n\g3�E������CIb�����U�c%H�x��>ϙ�.xq��D�J��q����e:=;x$�$�B�"���(�Jx�����}�vyr��o|�u.�8�~���ރ�UP54qx/`���0�mO��C��K�<�Ȇ�pA)WՅ 7*b�	�����P\n�H�����t�O	u�m_��b,�b�Tq�n�����%�C�j��*�I.�.���(Ʒ���@�)���������}���c@�K�:�Țz|Qg�ֆ�IT�|�1��»����p�ƀoq�w�@p�ȃ~�>*Ք�0]���ZF��T�N;�L#�兇�+O��[�F*���I��0:S#��0����8�m�[��Y"G/��<�_���P�4���"�.�ddo�gj 1+L��)��7��]TQX
��1�>O��#j
~)��������ۯ�a4y6�|49���D���������Uٚw7�[�ӹ�G����k�Nxek�_�=���O�m!~�>L�_3��/[—���5����Z/�X��T�GI�ѵ�T;�g=L.(�rV�\����Z�[x���u����|��6o�}A�՟����j]l0i�'p��_M]{�0���٣�䓧�s�M��'A����?E���B�y�LkG��x���4q����^P��I��^�ITN>9?�dN��9\��L�i���uvU�.�0�9��h_�hk����-�S���J��H��ڏ?w5��C�t��ԡ�:����0~�N�	;$l�IrR��>#w"A5���7$	o��S�
f����_��{����cN���p�W_���o��{|��b;�;��UUW�-���x�ZV�O�I�>N훾������}o����q޾� )�~����W��]Ğ�VV�:җ�5ue���?i�'M�@S��O>�>()[��P��_��#��e�Xі(��$��EG�ڔd���>�^�����:g�fL{>�S4��؋��H�DZ�I??���glZ?笣���K�����KH-]Z45U���_�,�P�3�_�{+���^�D˲F��T�{��xofٻpM{��c��@&���j׷��q�>os5l���h��+vs�}������|٪b��QqF�n9�M�"���7w�:���Қ��ܞ':�M%@t4U4{€�Z;�
�Ÿ�2�,���م��1y	zE.��8�f��܆X�G ��pb!k�����A�n8���C�C��Y���:Ը�@(|�a�=v$d^��2��b��(�	,�D��j�DI�<c��9qd>9@U�9��3�����>�x��S�(�`{����P�Ne�T%'`5ā4=,ğ��&mܦkn�a�׊�$��9��X�)R�x9��r�<�[-q�7i�z-*�z#!>��1ݎ$�8H�4�ɚ�
�MSc1�-~��F��}����S��.?��V��)����4+_��t4��`1�<�����cb'&H\�cy�27�)��m~�ґ���
�Ɣ$���|b<��Ams*}ߡڑ 7<YW���IJS��C��]	���ixed^��ʚg��r����M�<��ۜ�(�[҅j�寱zq�گ>	�x�`6ƛ'�;A�V��t옛x��n�M���-��YY�w�E+K���
��sJ�Ʊh�xd6l�tC�}�a�Q�P��|i�t�I�?v�{�=�w�!?��1z<�����5�fm�т�c��e��`q�?���������j@��n�J�6ux���>�`��xe�ҖW�8���A��	�_�����ޘ�xo?�af�X���-�2�Y"�ЪفN�jNr�FE�6O�cy�9����iy�p�q�N@��S{��n��`��N8���B�-�0�Y��*�\��D����d��6�*�ZᶸYi-q&W�I�'4���<��@{崟WzX騨 �����欦,;��`�͆��;���NM��;~"i��Vk�*ӡ�;���څS�Жo)�$�.����v�F�1}�Aa��d{��X|ST��*���N���؏)��^���0號40+4t��2d/P�|:ʷv�{.���#�[�܆��p�/7�,ǡ�:.J�(e�_S�,(�c��4��x�u���uW�~�}�}�����/\tI���������I���Ż�N�G�����5����Y*zVɆ�յ���:)�G�K�ս�n�����_ϛ�5z�]v=�z��:nBaP��`t4
c!}uBtU��/�"X:p4
����6yٹ�%��'#�@}��
�4�Ҕ^3!}=��2&��P:�2U��BEH*B�Ԑ��I{�� ��I{�")�:g���ت���o\��l&O��9�p��u�3��Lbo�%坯�΀d���^:�k�i8�q�����B�2%�Xbt�/�@!;D��H�����";P�Z�_"�o1k���H� ��=��]p�~��f�I� p�c� ��qs$F�E��QeԐ�'�|͚�y�H6-�Ӭ��*�#�����>�F���	q:��s�<����"���a���bZ�B,����#S��joo��~:������f���MG���z�q8���i]Ě
�!!ٝ|8���U�1�{��Bg�|��8ȝK�Z���<-��(}�}�����	d{b����J�-�|蓦,����.���|�n)����*O�,��r۔‚](�Xywh��e�����h6g~�n�Q��#AFR�����\I駎�Mc��������"�/Рq��*1�x�%�DZ�;��z�r!�xu�ƙL����vaڪY��j:�rq,���</�p�qF�Z��@ϲdyq��j�+����1㉸�<����u㹴"�w����w��0'`\<�׋)B��ٝ�j3�Ri��y�<-��[���Ž����ͮ�%#�\bO�0�!��r�Ƀ�U�c_����{n4��7\����RV_R��J��[w��@�k�����ߴ�F��ud�E�ܲ�D�7Q��[�ņϺL��E�៪��'�A�M�?V|�n�<?J��=����%�c���I�\4�X�TU /BG�c�<oL�`���65�¢:F݀�4��7�x�qm4]��)�Ÿiz�UUnTh���D������a��k��K���>qⷷ�
ӱ
�Uu�2u�B6� ��Io�tZ֍��Z�#^G�>w��k�DFoHW�G��lY9r��wu�t��Ʊ��Ř�8��y#ؚ�M�/aL�^=}Q7�qYb��h8!�2����Q
8�ѮX�1��X��U��c]�{��繳�nb>@'�x�Sg-N��%Gm7�M��I�mTŌ,6�E�+�W��#�[h�[:�+L��[j̀
(�ҝ��2�ȗž̘u���g�BS0f(�7����@�ao�4���Xv��֚;�#��5.܉��6�n_jc�F��7G�b��V(L}�J�1����#y�8g���+���gݘ�=0o�<���(���Ԭb�t�b��-��Dz��W���_�������{�8�?�`q�������~o^�o���o������q�n��C��������݃���~?<���K���7�Mk�Ɨ1�)0�}���r��������j�.��o�����Lޔ����uɺ��Y�at��?\간_��?�������o��F��#^Lt=:@�:C����օ�g20�݉��@#{��{�@ h�Q�ϓ��Ǒ7�x�|��~���$�K?����g��xa�(ߛQȨ^~�����χv	�����(AAq@R�@��Kbk��W�.�.jO�]�������&v�9_/��-�>���Xv&�<s���9C�O&~�`�'G
Vs��~co���y�Η/3���gs8�����0��]�O{z��^~�4���^~�Ջo���?}����?̾���y�Z��dG�
�t�s�<3����2j��J}�����0\}�%�p�4]��c/z�Q�$����^���w��w�3yh�	�������/���̯�����߿;��a�����K�~����o]���~��w��~{���A�$�X���=v2��B!N4�d1�c��ݝ�?<;d˅�\�CR\�u^y�a����y�=vM��bYM:�c��[	=W�4��4J�eh<�����(iFhT���۸+�����UV�q�$n�x���'f��ErM2x���LB��.���z̞1>�����h��#���{arV�
Z������G�p���p�r1�����z�U9�ϵX$ʂ+G7�ӏ�8�C�}aHk7��ad��tU6s�t	Q�A��)���ϯ���ĸ�^Ozl.q�(*���Zx��k��H����$f����i*c��
�%f�ԓ�mj�ִ�1�B+�j��Q7����Jr�`��0�D��f­Ѳ�g �x�
�/Y�p!ԟ����@2=�\ׁ�,{p�П�{S�'9��ԩ��7���3�`���a��#�@���V�ǃ� \�'�^��C�����]��kdZ�r?��WG��[�p�HHw�A�\u���(�OPf�e�E�)Cwl�&��t!꥓��1B���d�L0\�*~[{^6��U*@�t�s�7�l2�ϯ2�[%PЅl�]��3>kLz���P
Ԗ��‰�z��cF��.�`B1)�N��B�h���p�3�nJ(��A�K�Bw]#��w	�Ρ�y
[B��= 0[���Z�v�5�G6���@��H��D���+�r���.3���Cp��T�S����p��zDr��&�Ar�u�D�,��7�r�(�X���k^�.&|+�~%�?���C���H�V<W�5�	ɣ'��+B���Q���^��%Ӈ�sx�yNl4�*%pz�|���@7�o�h(�y�U
,�e����Ƃ����.q!%����z����-�̏����>����C�9Ɠ����OUŁ��.��ddUo��`���m�
�����g$�TP:��W�׫ޥ4�=3�~ƞ���XjՇ*�uh��Q�R���|{�
%���1ҕ+��.���F�-SB�}���Ǝ�c";�T(¤�-{���`�9��X��t���{پ�N:Nί��g��7T��Ld���q�[�f��±�t1�eJ�+�"H�(r����Hl7����%9��`\��%rO9{���:��cH������e%��V�At�x)��}N4�B]�%�x���ℱ�9(�+X�<`R�7<�����qVh�H+�y.�������R��;����l@�D�hɞ���ɩ�Vz��F��:������_�xA���X�����(�c}IE�Z��$|zʉ�S����a�l �0y탞\�XY���6��l��V+Ti#�Qդ[���I1�S���>�8�(�r������=�>�����3<E�*s+c�C�DXӰc
r�T1�M	eB ��)C$�����7���ȅ�!Y��s�e9�ݎT��_^�!:^.x-���lcސ��B�L�m&ڶ�+�����^P=\շJ�foq\��;
+�'L��>��ߐ��<�`T�09M<��)��x١0������Q��o���/:\��x�O��F.W�e��.�U�Tg+�hʴ`�[4U�������8�����,�������A"�J�b��]��u��ES���5���gh�'�:���Cg~��;v�$ܟձ�Jߥkqq��y��f���f]z)�+��wq����S�P���m.
�j��\oO*�c���l�q�FCV�?=���f�
q-=�RS��-*ƽ���fs�L$��Y��7v���J�q�J���7^@8���e@
�-9�3^;o�aU�N�;�0�.�����:��l���k2��;��)�eLQ{ك�������}M�ۃ-�y�U�^��az�����_lN��'����:)�'eO[�մ׭d(��#;�TF�Jڦ�S��8��a�#�/s�`F���L-E���)�G�TQ���V�>(�!�*�&im�~�#ڔ�7S{����%a�;���&�ϔ�]��7*��^%�gq�eA�;+	_��Ԙڒ�뎵"�X�b8}��
��C�=[�IU��r��E��)9��"UY1���y�6goN���-`)3��?��؏�ѳ���7��'v���W-X�\�3ӳɂ�9b��N�hN�0�ʣ�c��d���'��Y |u�B�����£[��u��zFZj��FZ�����3#oH�X8�5����8�s�Q~�4����i��=�?1��r�M"i��23H5ׂ�+�fuv��}�⳾i����U�v4{)J��Kw�����~p 7�ʥ֭�����fw��F89���I�x�A�������#�2Q?7���F7�&�B�f��æ�
��Ѿ��;����،��EZ@h[ ���#�C�G�c���M��Q8�1ݵ�?0bG�\��'�ѝ
�\����L�=��m-�z5�e�r^#��`HO�䵄H5���~�롢U�ڰ��RC7LŢ,��o��zjp�̃3�T����eʐ9�n�~nk�Z�+�#�����6���m!Q46iU0��w��gt�-3v�,�ip���	��?x�R�򳍡���_�n�
=P���/�džuZC>�_�A��)����
+��G1���MR��l�T����t���V����H�`T�Q�
`��:���� �
��x�W�W�@!����b�����hx㙁5@�=W�,׾���@��8[���PU����t��M�h���c�Ji5�Nz۰����+B�.�&�����6�����"�I{8�j��b�4�v�<Y�?�_�5ݦ|��G��ln�IK��k�;" �>2�c�H�[�h:JRy�]F�B{��G4��9������s�_F�F�@!0�>\Ln%IG7��#CAQ��Z���(P�'c΀�$��|��՘�jz���%��8������g����޻O�<{ �E�jٻ�j��-,P��U_�܄�s��&�[��������7k��ܾ��9��(�r�@S����o���|N�p�!b�n��Ck��?¥k/�ѓ�)?
��7�Y1T�1�U������i�9��/9u�E��)7�ωL�m)��U�2��ڦ4�	G%j���⨁2�����w� �Z�QzXl���^ɝ��E
J\�թ�5��4H��5�I��[5:fl����#�
`YY!�%�����p����Е�3|���5-��R���U�{2n/��w�ZUE��ѪBK��6�:ٜ
���c��Oɠc�/�˙t�J�΋� �f��Ɠ�7w� �H}�����^�x�m}�|�t-;۶�>[AB��b��E��nG+�>���:��_ā�����S���xn�~v���$�$ݺΩ%���#�_P�l�>�=Ʌ @9K�RR�B9�p��8b�x��������x�v�q�.�^2�t�ח�:5�ͯ��p4oH�Ք�w�w�T^A;�h{Oaα�*>����Kɍ5�ޜ�,��)���{�����v6�^��]Fƀ+tН��%�!��Q���x4!��9ƭQ�IY�VG��+�Ƚ��>E0��2O��\��e������S��g?�+���ыr�(Ax�1���T�4y��Kġw<_ �L+p\?0�5,W����C��A��8���00-�Ke�
�a���;��Æc3������'�O������܀�~�K�\y��(^{(�R��I~G#.M-���`�d���7@
Y� Lb)��z�e���V]Q�Ќ����`"t��_k����;?���#�,>Q�A8�iM��p���RL���o�I��DͲ㨼8=ʻt�zQf�U���/c+eQu2���r��J&���BN��[���E��c�!L�aa`P_D޵ײ�9\�&���1� �2/MA,0�Hp��
:A|�1�v`�p��B�����y�Oa!��,m3�?aY�]�A|���P'�py	7�*�/��/��˲�T��N�g�CS-
�B#��̒+q*	�A�Pk=.qAz���o]����ٶ�}���'�~g�ף�l,r�ً�>3����{R��]Ӟ�a0�&��MG�`��0��)��{�<P��j�+kqǪ�ɲ�0�2����w�I��Q��I9td΢+3�����`V#�1	�y�T�k1UԵ�E�*�$��d��-?J(�\�_x�2�*���K��T�9�wx��w~.~���3�-��[#�:���4��A����G݁y�}�.W�r#����X��'�Y8.�YM����P	�+��VY�J344���z�N���b4�mOj[��]+v�^Za������nt �gK���M+���9	��4eB7����\H�G�H���RfR Yo\3Z�޸fރΖ���~R�5�/H�Yn[i�V�:������Q)���s�91x��F���m�d���I�C+7���&�p�9u��/^9=6��w�h‡R+#�d
b�4e�4$C��~,8ԦuN�9.���(��m����{l#V�<�����&�������탛<�X;�
�M��]*�ҁ�L4a�,,�����X8(��҅�T������N籵iі@.-�&�bb:Y�����	%�V����V6�q�_zgl�h�.b�)UF��_/�)���أ?�2�u�R��-\8/�-��.�˶�eK��]���w��H�[�J�Ҭ�6j��ʗZa��*{�"
D���ooO���'��\ǽ��UT�urM�^_��}e�T��
��a��U�tL;����]n��$�`����K[��D�j�����˹��l��1�g�;��;����ez�ke��.Q��Q�>��ѥ�H�x��rݶ����v�g���xG�} ���q0��Vp7��
u��	U�Xid4�Ue+�w�����n�8�3� ?�8��f���W`C���,S\�¥`�7����`��N)�����2ZCw�u��X�&:=+�:O_Z�֊ܥ�i�W倓���D�}�U(.N�� pJ�x���	<�Q���/N�:PJ�$�Z���Yۢ0�vMŎ��D�J�J�ܢ$���{������e�BKOz*�\,�S��	��ә��*A�=���7�x��X�իF!�gΟ��}�޹�����ˣ�?7=i���.�.��tN�U�a��(g���zUkUo�I��J����N폧�t��I#�f�s���G���!�KM����퍛䴟�#�"t�~��w�އ��	�3��w����q�Ί�Kؙ}Bȏ�9�m^Qs/���W+�WKJ�V��6���K�����NL�otU�acl��I��mp *�t�Ֆ����.<���U�]%�pgy���Q�X��P�\l�yM�Y)	�f���/ϛ�QQ����ϩ�Y:{���~_�?�7��"�"h����fm2�A6�LTq�s4�>A�U�멱`�zJ�E�'?\�&q�ō��@����E
��;M�<���D��tو����+MMF����%���T#4^�,l#�NL9�⥱H��7T�ކ�Sb!	4n���y�K���w4
#jCq;�F?Q�s��9Q��v���c�NQ�<�U+~�*w�|x	F��q��͇n�+�	�׏~�V"� !��e�����J�-��N4�祼;
�D{��׸���5��0��w�d��2)͇�<�����\}x�G��Z�N)����Cb$�7N�ໂ�L�IR/�4��F��R 2��sq�͊��{�3��I���Œp�
v�L ,�"��Hғ-���;�I$C�`|Nt��������-,�).7��c��4-�F7��a���s�G^F_mVjH?��f^U;�����1�VKV�����ݺ�f7X\�:A4@�|
��3Jl�0��d�b�k8�t��Vv�q1���0蚵D���QP�Fh�I��M	Mq�EPChHQ0�����>�#݋:���M7
����̥�	�yM��A��������+�#v�Em*jF��ٔ�j�lm��yX<DD�%���_kO��)�Mv��
g�U�&O(ܬ&w���2�?��*�H��5Mv��y^_Si6Am�ۆw5I��K���>Y�&���gt�"�B@��'kV=Z�JMR�,������Ȁ�)�pg ����JOy��:%�[�Z0kK;�͔Uj�"m2�jZœx�A�O����A��`��W�]�ձ�ޭe�X������%u
�M��nm��ʜݔ3z�g�F���kE�Zo���J�<�R��M4O'��]�
y�]�����fԐ:����)~����Ia�mo,/9%/~]
�ɸ����l/�l�ړǭ+O�i�{�i��‘��}HS:PSM�s�E���g��F#?N��/��3�v�Ӧ�Z?��N�o]ߠ���)��i֤C�Dn��ǧ��ph�Ʒ����N�n6�~:�B���)@��aZ��̫U�f0EN|�[8g�*z7
#�Lˁg�u��"������Rq����(
#�X�|Z���+�87�x7���Y�\f�@S��v[;�o#?�H�%���E���<\��u����,8�˙4���T/�hE}��ں���IG����߈*�?&��(=��&W4�N��}+E�y-��?��/�l���0t���|�����9�f�g!&��������X����S&!_<��o��dzT�)�RK��M��"|�L���48�r^v�����og�~�BGy5����
��}��I��΍�Bs�j0��_<�F��o,ɘ�r���#���k��7��^�"�P��[z}��u�W����}�Cr�|��R�2��mjm��!�ꣴ�"��ӔCL���Ql�T�Ѳ�	�6I�>.�n�K��m@�x��N4L�c�g;S�o)$T�c?7�������m������=m����w]c�t�����j�@��/�ä�����U2�ou2��Z+Y�S�.��c<,��	�7���ؿ���L�sч����v�z]�n��ٔ���ZV7�Rs�F(���ߌʃ�T�[���^O�X��?���^�����5=�m�!�Vjh�tO��m::�^��u��|b��X�R$�����yt�9����H��q-�%�4�
&P&��ܧ��mN'��>q썦J?�S����j��$	(V��4������j�9�l�U!�v����b�O*��U/U՛�z�Э������}�;âG���I�R��!���j�Q�;�x�j���A����f�Ova����H�M�52ERZS\�tʮI_�'[�
'�l�5��řn=����0ŚF��ۺ�!I�'3���8ϒ�~�]�/�a��j���,ɝNK���^���6���t��U/׳��oO�D�H�E�1Q-��3�|�^��a;��C�G����屖r.���X�s��acg,u��,�[����+�u�T׎���Ƨ�?\a���/�jy��9�'����2��bK�]zX����(�a)7Z�~c�5���a�S�mE�JA���ۧ�I�I��b
�s������k��!M�&��	�Reg��hW#�D�|����@�B�i��L����PN�(��B`���3��B?���y�ؒB)2ߎ�c╢�?�Ҟ��l�\Ek�p.u?�T=b�W��w��)�	
��
6�D�r�-��#
�䒒�h#@�,�+�{4��8��+&��759���u�ƄqI���({����Eҫk.4X*�F�hWPl9���Ѩ�`T. �E��i�b+���j�r�(�Ҳt/�Q��1≃�1I��S
>
�eW��L�D��Qe���#�b5<���w7O��t�]���~�0�bsg�����c�Z���MP�\��&P��LZ�Q���B�v<���ğy��Ĺ���o���!r6gS�b(nx�نK�s��}p����9���1����`��&�fM#0���K�e�o�	7��t	;��_q�ơ���[Yf`&֌_�2��'o����#
�0̈́:���~B9�3��C��~�P��ܘ�{`-N�+8���уH����������)�w���6��ۯ�xE����J˗�,���6��H�q����v$�wd���xq���/�"ּ+Ӕ;��V[��7n�9�l�+��y�\{�uҳ������vyؐ";��l�4��a�U1vu������N� dr����b
��/9}�[���J�'(:�"�jy��IȰg3z\U��ЀZ�ӏ�y�Q�RP�"r��x.����ʎ.���5�p�j��C��Xsh|�!n�1~
��k����H��K,�R�F��0�}�Mo��t����/���N�t1��v��}�Og�����|
��^�Z
H�#\���o��̪�f��C�3��v��u�?�U f�l���)�	��i���j��I��{7D1�).���?��Eg��������Ô�aa3��ղ�	G�Ͼ��'�3�0	g;����b�z7�Ñ�&�?!՝���Ա6��E���5���6"U]%��S�'��	��Ee�=�����L���?_L݌S ��~��I
,|�ٖꅌG���u�6��d�)��1�ϣǣ�v)�G�]�	؆�#r�؉l������$�".9�(M��Q��x�€MR�"]z�{�Ԧy�9����1�D`J֥��1�3�wΞ�Z��q~��dm���t�"nT��ħ�V��+l}�p���G8`g=�����g>�k�%��-�3�[S����'5�f�6��u�W��;��_�[� ��\gUBS�_X_�����/j���3�
b�o����iI���l����i�s
��))�u6���\S�:ALu&a�{Q���Q�O8���1�;�(R��h/FK��#1�X���?�5�d��>�/�bgs��1]:X��� �U�����E�j;v��ס�
t����м"o|	��NA@��ģJ)^́��{LV?��T�>0m�b��Q~�(�t+��QU!��Ns�j�];����.�0�:�i��M:�Taʝ�?8)42N`/2�,ї���ѢK�N�5��-��?�{���^ ��S6�>�Nj��
��b�[r�%jno<���k$񨫫��'�1�y���în�"�5JAM�2&���;^��|�n�c~����_Հ
��R1��2��B��Arc�E6��|���<-�s�npZt�􏕾2��h��c&.:���Z�X\M�Q���(�[�\#���x4
S�r�<�.��̂���v�SoZ��A�P�4
�P�8s�q�	N����nL���.58	��ڙag���Gx��^A.lK��&�˾8ѡ�f�!N�|��꫚���KN	7"������|O�S�vH�"��;=�	��"��:|���}�o�%�,�R�!h�����FTj�o�ޗ�;n@o|��@�H`�.�g��5a�m�|�<�}*j�4���X�S>Er�0�¹ӰSv����kij`l_�Rڍ�����+�z�x���[�ф�+��hyQ�v�T���f���b��y��-+��z�_٘�f܍��
	���W�a �)}]�j�BxAz���x�)C��(t�,G�¨ϸ����g‘G"
�~uD�S&rQSbX8�9�/���
��&�!���X�Y�y�i<�RcdBeDh頒�	�F��N������m
&�*�Ɇ��C>��C
���E�X$�u��i\�hc���w����Z1�j<�(�ڠYj��c=�f�;�O��.*>R*���$;"������%p&̎j��8��e�6f0��r��y6��q8��J\�����Ч�sJ2tGaC3����3e�[`��ն�굁���J����tal�ۛpJt&H,�m+��E!ou"zz^
r��=�g�Ls`�,H��D�%P C�u�V2�L0Յ�_�N��9��7b�}���x���*nKb�c ִd��6�:HTh:��F����D���k���ז�F��=����Mc�3[��ZM>p�6�<�	v�eʣ�֟.)8�3@]��;�l�rI�l7k�~FƟ�Y�x�-�+��y�0�8a�㵫�����^F��x�Li'��$Ɲ��С���\B����)��CW˿5��[X�w
+�ڟ�������Sןi�}lG*��ә�W�Kθ�]��\�-�p��9��M�aUk���T������ �k 㾍C/�������s�:9X��X���("ڀ��
jZ��G���`��+t$ū�y3��/�٘V��D�)����w%��G��q:(�2����]��l���m�D�y�.ș:��M�@���0w��7�[�"Kvd.�����-!'��߳+�a8�3��#`�TY#M�}��FT$��'�F�}�f/�%��%�#c����o�b�d:mL����i���z0/����Y�3M>�D�w^c�c;�	g��h���)��yl%�p$R�W�1݌o�lm6�(�7����OȖ���I��V֠��B%s��n1�6��l�/0�6o�eH`�+=��6�e�s��
)
���u��.�Q�~�Rƻnl�..{G���qvb�n�.r2ҽf�#�����Kvx��:N�Q�h�붇՜Ӧp=����;���6��Ř�NW�@�ū��b&�=��:kH�!|��@^:ӗ�.t�QŅ��q�
�K�RY��T�:R�����gf����o�)�+������Q)kTlHA��R��S�֌��.��t��7D�?����\����j�ԙ�4���~Bd�i����V<�k��rx�?���P[�*P8k���s�p>���wioFo��/iqspac�*Cx4�$H�OL�pRMcz��b���K	�O�^]�
!)b��=΍u�W���ǹmރ���x�`�׋)}3q�+w���tꍬ���}�C�'^Ќ�K���敺�1w�=N�M����
��� ����~X�ڨÌƽ	�uyy���ju(��
��x1��4��:�O����� e���EX��";�vs�j�"q��	&���s�g��5b�a}Y�V�{
U�!�
.�@g����S#�0�[a�a\u�����α����Vy�@�Y��fU�Aj�R^�n�*�Ӻ�[���Vq�@�d>�6c�gVi��w�o��0[%s��,�R�'E7�	��*��X�x���H��R�q�;;FA�}]��:��7�۲X�Y<�ʠ���A8׼ϻݮ���i��a=xs�=el�D��WZpr��v
�c�F7ެ���S�ȡ�&�O�NN�pxzz~���ѐ��q��>Ћq��'bs^G]7o����߁m��F���+Y \�h�uQ0|˟Q��ؙ{��×Z��_?]���E:W�����0�d���+�~z�eyx�~�-M�9�ݒKBG��pN�� �aV���h���EN�/5؄�䯞����A:,��Q��	}�μ�TF��o,���J�)؃0e�dҴt���]�&I毞=�����~�
�ɳ�������TY�d��A����C��`�-����*H��6ݲ:��6�����%�W3�sc�M��K8���M"D&"��I#���%�q����9�ֶ��`�Қ7&��=����o6��p��,��Q���ř�v3��̳}�Ɣ��VU���~\̕B�����O�.R:�WYkFc�,�َI�Ű,��2���s��\R��s�d�d�&�;O���H�J������jB���m�ҚR���v�؋G
�9dTA�J�q������Ci	��Ƚh������O�@y�­|�`�AA�������\4�|%=5��e\Q)�Eر�hu8rK��x,�Z��2;��̺K,���Y�vM�<ٰ�U��R:�++�V����lG��R��l^��A햾U1��[�*t�28�KBH���KR�h���?7���}�?���Mm��TtX�]�$ܓ?n,CO{��v��[j�Yu�>��n��{q��kN�y^��6u.,m��Y�pp#�@�ŴtyR�z��
������'�*����wa�Fdφg�&�cy��o2�	/�C��S��ֽ+�����#�ǘ^b9��.�ǑôN<�H("�ԛ����kr��_%_j<G_{�e���eD��]dž�T��*���q��~�+�\J͸p�0�e�M��L��3�m����7"G�+��B ȗIeA�Eտ�*�n����^V`��Ԃ��n�e��b>6!�ih+u�0
�>j%�7UE�x�:A�d��Jˁ)�eI�R�8g�b��q���b�\*
���s��z�Ԟzj
}�o��;���5�Mρ�E@W0hO�$&�֙KT*17[e�Zd���t�U�����m�5c92��:P��?�a�[s����'�ʣ���7=W@���^�Z�c�.>HR���c^m�SXjk`l��Fݫ���G��f>�Vv����J�
����gD,��4����I���4e��4i��	Uz�Q����$�&$J�#0�5���tϮLW�y�L���|F��xj��`D�%�l��N�
8�0�n��k7�BV��6�g~��ǧ0��l��b~�s�)2>�t�D9��r��S�͇�Yo�L6.�E�\���i�����H�bJ5T�
L��r	����p��gq��*Y�d�.!�n';-g�xu�}ʙ
*�� �L�	z��5������OI_����D�ӕ��jp��	��'ix�a�p
��:�;��M]�o�R�n�+�2J8�C��i"Pp�9�׉�(r�����N?a��"�%
�H�@YQϤ$.po��V�۾*"��&7k�t��3%x��]9~�O�f\k7��vG�q� �3c1L�ЌdD-�4�'4�����M���)���۰巋���e/�~�=�rNi1I�1�7t�����U0��ߔ��B
"�Y�S��I�����]�rp*&��(-���^�)
`��B�/4��JPޙ6r��ȼc���`tF�R��0���Iw��}��}���\�9�&��f�~<�y��ծ���2���ϡ�z���j�9��Ow��:��%�ӅjL-k���F��w��բ}֕�d{:�������J*S�1�#:�����Cy�XZ�
�d��v�wa�w۽}f�,�y)��2�n1�`�xd����Ԕ�K�:~ ��< EM�Ci
P�tM1*�\�u4�뺋i�a��h��:���^�[�W��	I0H�o��F%~#ScVa�M����^,׫��1�s�S7��o�UѦ-�rb-��r�B��B����C�mc�.&Ht f�J/EsjF�wÓo�m�'U���ͻ<*�=�@l�.�8�����Er�dJ(?Z����T$����kB��)�`������|���;;nZ�A�Op�X���+�^KD�z���nt���
���҄0U@����ɠw��Z�����
_�$9B�&(�xc��z����6%�PJ�e�h�k��>S�.ђ
��p.]��ķ�� 9�6ڭ��+�
[����Ѥ0�Xiu�f�;�?
�O{dQ�����@�>�^&��Sl�J[b��@6���"j��v�;�;N��\�ȍ���yQ$���j��ip�o/
E����}8���N�ծ>xч{�������1}O�7X�c����e旊�3�g�v}�hj��Փ��B�I:nƼv��k��_�5dYL+*
q1��$�Je�8
�P�"#�
+�r���:x>�|��7�t!�hwP�%��9���]�eD����ѿi;�k�(�_iQ�8Fa5Ce�Qb�k��c9��>���?E|��f(��9^p��
ś >�Il\?˖2��7���)�S�o�j�"��@�z�Ia���y蔓��h�o����-҆u�����$b�5U���܇�=��$�<�HQ{/+D���*x_=��\e�O��վ-����?I�%�xP�*꣇����㶣�2}d�a�:�59�\�e�I%ijAhA
��D7�cy���Ԧgh2���1* 	���0TE�x��~}MUg]�y�ª,Z|�w�֛~M��:ӄ�E�b��s��ě�y\��ȏ"ϊ���xz]�T���@wt�Q�p,��?o�tl^㑩p�|> ���o�'����ЈT�(Y���3]���5�����F�F�����;����?S��f�6�_=�^��9l�����J��Y��m�'���Z_���v���[D�l�+F3D��r��!���3M(���a�����9�S���s49dL\�a)��x��5�c)A��<^��9�9��b5}��WEc�ۣ�)G���莞���:i��H�+�|3'�F��js��g�Vu�x��SvMA����?��y�(�HL�=U[�_�����n@3c^�O�[���_�hR4Gñns����6�$���y_�1o�
����B����=���c�0�U���bz:��-�1����"��QNc�3i�K	_��(���Xy$;j
�z<V��c��G��F�V��!�I�>��ǎI�'I~:C?��w�t��m�2�>Hߓ���[9}?Ub�EohA��X��[���1ƙ����O����3�����
�b:��bn����K�S1�:yPXA��B̮�e*[_E۔6���	��_Ke��Tד�ښ����g�um��įQ�U�Ph���ǬH5���?���b�Z��uX���hCiȒ�,��3���<�u����]-�i@�m5��/��`?tX�8�D�/��I�Mg��
��׼��4�0�.d(i'ǟi;�+=0��)K`��5;G��j�KNw-q�Hpk��w��vz9�j:�Ӳx�z�k�~2�8���ga��+	��@�eS�yL����sD�������#�~K�Y�:J��ԥ�[��l�#�U�{2�a �+�A]d�؊|]]'�S��	�Ky����|���^8�j`��)�B[6*K�<	-ls$$,2*_�HY��^_-���^>L�v�Cn�6��a]K8��Y�"Ņ[X	�3F��B�FSgg��D�Fl�y��f�&�V|s�u+�rE�ZI�2�JTz��g��~�$�R�MD�iXE�_�DF�o�l�=�O�����Ża)�ω�Xp���DS�tꍒt�h.F��=�0�.�C��u��08�`��wM!2����rq�J<��w�����0N>,"���C���`�b}%�*޺E�)�����؅�Wr٦��Ek�ݻr�>m��ؾ	C�xx\�1������Ky��O�O����g3e3��.)��q<��"U��T�-�>-H�wדּ���7�4�B��9Wp��Xz�J#[����ӟHX���ÿdh���x����i ]�*��a�'0�&���ݾP�y5d����S{�1���"�:^:2&����1,�P���h��yK����"oq�fp�U�d������{w2����1��23#}3`��i]�w�"�&��|�f�D����l�)��Ӄ��wb�k8õ}���@�5�-��[��LX;�<zHA��{_q��r�*7i7�
b,�����G��7x�i��3�C�bf��Y��_� ҭ��cdFgZHa�,w٢Ԧaa#�bM��l�q��l�Jbd8lPA�`���8�+�:L��w:�h�?i����0�*�D�,^�J1`��DŒ7�N]?���]��V`3��5I5T�	U*ذ�I���6+d��w�l���)��p0��^���,k<�#�pNG�OEF���6����<V5P�=C
�q��l�J\��ګ{�u
�T�s*��^�i�5�)��6�'n�,�!�����O�p��V�O(lAL�����n�}��5B�S��=���B�`P�/gj���?oE�"�5
��fpU�j2U䜡�em*KU��N~���I�_U��S�~��8${��(���Eջ��y��^�L,�����J]�؃�<=��Vj*^��u��V���)�IR����>,^�ɯF~s9;��h�շ)���zH�5+-(��ȏ�1�����FW�s�I~D���K��(���&V,��n����c��9#��]F�S��ݮ�����Ŕ�J��|}w�o���n�	䉯+��ҵ���8�7C<tdn�x�*��p��A��M/�ھQ��"�:�d��0�Iic�	x�u.��A�.S�h�~�PŮ�5��T�S��\*xn.]-�4�at#�ͳRp3L�.�#�h��Vǹsī��ÛKnP׺�Z6u���[m���?M���f(�-�ȇ>;ڝQŌ�EI��i��pJ�-�fs��B�MT���=r؇q�����!��wp9`���{�Z�u�E��-��"���Q8��r�o�z��ωd��O6B.jٖ6z�9Ѯw�`��ͬUոMA��s"b��I}[,+���Y�Km�>в/��-L��v/�G[*�5Rɯ���S�^��j]wJ׸��������÷�:!f���d�����p�c9�	ϩ��a�u��r_8\�jE�ؤ�;�7�T(=��v�ͬ�q��|.Ig@�(�Wq��;���U�|W3�{x�0��GY�V���b<��${o�S��$[��K�lE�ۭ	j�G�(�o�~���W�~p��ӱ����J���S��6�F%0},�k�a^h��u��o0�������wF��MO�9&`���5r��j17ܲ%�;o�c=�@�K�B�&'DZ�(��F�<q���쁲<<�׾s�Ƭg�
��(NB��.1�O�q3A�8�=�ѷ{�\�n�ţȟ+��~r�iqՋU4uݲ2�������o쐢[�-��sҶ��u�G�����6o{݂{/�٦c9��ox�Uێ�1�3�s®;|K`l��[D��7zʼn\Ш�kϣH8�"l��Z��ڠ���=6fW'WйF�C�tP�(�!�cz���֫�!��X�Gm̍b �RƳB5Z��c�
���y9�jPV�r�5��?�7'�W,Er�E��uCI2y���.bC��*�^Q�����)V�\�E���EV-�e�!���^�ڙ�B�9)��r��]�k���sTh�HC��������/���_�
�(V�^U�']� ����WLF��[7oM���6��+
un1��P�y3u^u�q�?Vt"���$���x�8�W����s��9���&u_<�hj��?P{	�0C�SOնʹUaGm�i�QC�lC(�Q��U��Api
���hė�zrWh}�@�����i�
`Q��t�G�$l�Ŀ���15klj4�Y���B@��0�`�I#�;���T���NO;�Q~�tN��j�Fzqx�c&ߓ���)���_�+�q�^_���"	���]	×P�B��hȠ�D�b>��$��줾��3��aS7N,��N��<���8Ug>W+BC9� ���[n�w
C���:~��`��e�W
��|B!Z����Ѩ�����vz�����7�dO\�X
� 0��E�5�����D��WG�~TOI����7��nIv�Z%C���5ݱ:� ���`�j'�X'Dm����%�J@Eѱ��~���)p���u��OzL�<E���	)I�&�uԀ�3P�Wp�:
�a�x��ڏ����d+�<V�||�%DŽ��\��u`�4�_YF�����U��3�Źȼ>���u�o�?Z�CO�ٟ՚z���Q{��3I����I��>�5�&���B81���kXċ(
OSԉ�u�!j��RC�M=�>��)c��a
�0���v���ڄ�;#�Bq���tTP���&�s*�"s�R�U�
8�����b�%��p:^:O崡�ה©�Õ4NUҭ"_�d�%I�m��T�92`C�sI/��)L��}6�:,�#��r��m��a�K��:Z�f�p�I8/i=7����2v�@� �uZr
���d�B�<-��
�ڏ�8�xQՆ�#��ʲH�%�Y��K%���v��e[�޽�𥂭Ĭ�̧^�ϯ�z_�eq
�'�i'��cS�zb67�Z[^�Q��`�2!�M�ZM�ނ=<�׷�,�r؏M�xo��s�!��5qK�[(z
�7^�,��jZE�뵨�NiZ��ip��n�6XE���Mm�|�X���ʛ��~��>�zѤ�����b�d���%��m��E��MFx�ɾ�nzQn����c���ӗ����?Yy5Otqk��m&�L!�3k���7�E|ӈi� ������|�]�d;r��VCx�[y�i� [3�(�������84��:+��Q�g�>��|"}P!W+9a�4$,�Е��ք=A�ӆ����K\�Q7EU'�
�q�/��P���'�o˼������h�����2b�clp�Ba��̊!�<u�6�
������񺎟#mG�}wJ6_ۥ��|$�)S�+NT��#����//��m��T�2h����S0�a!L}�g>�U�{6��S�i^Ħ�,_�7�������C��|[q�<-�
�Z��j{X������j�ɽn-=8\��e���m<kS}l ҝ���5O�oE�tᣆ��]ţ�@p�L1NP�z�kr�hsݤ�Z�o�J5Vt?&����^C
��5�5*��.5#���*tLJ[C�"�Y��������vD��ˋ��9W�r}ҏ1�2z����Q_�f#�
��ǿ�X�v�	��C���(9�ekē#Ќ�=��W�Ԉ���F���/y�k�(w���|r�D�����0s?b"�3Ԣ�Q����
:�B���89 ��Wp�����
j�k'lE$���Dl	<���bw 3q��M�3�M�kg�L'!J/Xȸ?'�k�"\?�H��
�����}Q�j&��g鎩�t�/��E,1�6�w�@��ƈT/�[�kq����3�v��ҋ�w���N�Љ���  e�p�����q�f��r�oF��	��7�2$�)4�V�9�ՍC��1v�V-�}����Q(�<�!��gǙk�_�`	�����bʙ*�MԘS�#��&�=)="�G��|V����)c[6��>Πނ��<'ʷ:�e���M�ܞ�G`�'6��ػZL~�\C
Ԫ����q�w�L]	�� ���i�7,7S�딟�@i#ø�������9��TJB#�Qӵj4VӲpS�f�N������'Z]�뫑{sj@�t5r��3t�Z�軠�
X������t�}3��n�k�t��M�\?����_tA
r�q���iT��N9J���WƗ� ���p���j�&婠(��@���M�N_
�d�a�����Z*:iA�<��J�[��Y �T	��%����Y�Q��@G2
�VOj�|f�&�po��a܂��s�3�R��f[�k��B���c4υ�,��d��x>u��X�C�-��OuAڕPx �fX��^��wW��V�'���خ���`JN�1��Д��ajŐ�uy�
��ЈD����O��kɋY�h�`$V���t�S�<�@Ɂ�B�]'�R��[�rKnC��1�莈�n�g-M�gL�|b©!M�t�,wFV�!k;ʛ�P�v�Y���iKc4�&���~�$*�Wb�*:0�7^��T���J�z�K�tc�Bݤ�t����&��<2��@W:�
cF�5���3ˮ�}c��m��'��:��j�$��*N��b��i��uğ�SOؘ|OF�jFV=Z��"��GG�Ru������]���6o���O��`E��H=s���FMMP�MD�gX���E��j���8΀�Eȣ�1U=�y��?q8��F b�¶�:ud��r�m �/��v+�~��j��+�|�輤����W8#�=Z��g��R+Y㘡���탟_���tF,7��L釱~�ب�T���3^��m}Z֩��˞!�7=Vl>�x�n��W�L�K�L����VZ�X_:)��U�ԅn��6ߢ��MeX���E��5�'�Tx�>��F��u�|T��&.=M��^9�=?~w��^:!�"Wo��;�`��V�6)��AR��t�5�'��])E9*�р�S��R���Fd��^y%�?��T�C� s�%�s�\cff1��%q�be=N9W�d��\�� 픚NW�b�`TK��1��7�c!V���'D;�eh>�?y�-��b<%�tTC�XW<�8^ Ĺ`�.�� ���&�<U�5��H����~�����.���4�nxr�Rw���n��c� 7����h	��V��I�k,_��Ϗ�_	�	W�����ͫ���W$@_r�\4
?�
=�ڵ���w�<��t��X��0�?�Ϯ��v��a���5��1�(�C�Ć��
]>C�mR{�A��J�O��N�4�&J����3��o�3�O�e����%H�d4�h,��Uͣ���,�:�*	?zA�;
��fv���s%ꦓ~L�O�?NO|<����?(�"@ώ�H\+jܬ�P3��R15�Wב}�܃����`b��p���|�1�U)�L���B�u:&\�Ug����
�E�-��?8_�w�TmgO*��p|��Ͼ��/�j����Z}I�
��S�7�H����>��A����I�U�*4W�"�z"���=�t���[�=�"���9co4u��e�H҄�肆���pT��ԇv�L/�|o������Xi���J�d)�qE)���65���EJg���I�*���;�4z�E�I1~�Gvi���7�(١�D��/�xo�k~l,2������b��r>V��dS�X��z�}�����+;��e=k"�Ax2���o�T"����:��TJEZ+�
�
h�
͗�#Գ�P�V@l�O�y�;�K�!�/MBǩ���S��Q���qm�=Su깁q�n��܉��<
�p��ԽǤ0�,���ǻ{�]4���f���e�|���HUNJ�
�����d�%N��q���䜹���6(@0�#=�m���e����8I���,	��3�{�H
-3��CSO���}���ju/����¾�cb�z��[�4�,�w�B�sN %����졁�������xK\���7�LX��{����̏~=&G�7|�r�4��4��ty�~Me�@4f��o�CcTGK�ǒz{t�Q�j.���WW��4��ת�$�Ӟ쪌ë�#��7�<�%v�f��S�!���S����
��u�D�y &g̓�s����M� �Ž���K�B.�u�
�
UӣpG���U�ݡ};��[5�2���]VG�_�s\
֝j���F��l��
�	:��J�eK�U1N�6�X&J�t��T�"��U�uAϊK����i��/P�u[�l���'ް��S�פ;ŗW�>�K$}DS05�eA^��M��׬_��I�F�P�yu�
���ns�"ͷ��)�RE���������A�Ւ#�}�ʽy�IP�Dm�:��
��8�<���m`�1M��>xD�>�X�m_�3c6��{��U��3�v�����r%*��8��bR���$�Q.��i(�M�z�Ok��[��J_��e-�d���3��E4��ҹ�H,���X�����	�	V�����I*��T����@˟"}�#Ԛp�GH�O~��ɍ|�>�;��S�����F��UȤ�# ���3�ג�d~L
4P0�Jm��p]af�?�u����ݠw鸯����?��aXx�u���?T�{��(�嗞�il
`P'V��k؁$��G]�e_�a4��fH��c/Nb����7�v�]�0�c�:T��rkƪ�6�u������Gz
,��ݱ��J���=�}���W���
�;c.	�#^�4��9����~�w���&�gm�\�S���?�^HہϕZE���t3�d��aaW��^y�+�����3ܝSO^}���ϜC6��C���X�.���R�S�E5��Ԝ��(���Is7N��`*Z�|N��on�T)97)���c�%��(�:u�$����N䂦ĥ���VY&�V+�~|�E[���V;{�
�����n瀣l���Ë�Er���t�$Y�'����ѹ�%�K�r���E�c#j6��{���m����_����tJ>���Oy -6
{�-X����1@4�/h�n�Z&�g#K�:��g���
,�rb�(��UWB�7U�|~���uH~$�l4l����i��H�BLcH��d-5��5�8gU�5�=ej��L���	��p�+�~�%)��C)�^0
qw}(�z�?U��O�:�O�*z�˵N�R�\�.��S�n�����14.-%�c�Cr>�.O�Mo�Od��8:��+�Ϥ>ȫ�L�K��|.}
�!���5Xfx{p�ĄƯ������N�{���,�%��V
�>q Mt�����t'⭤��}���-��B-��@씄5�h!�ٛ��Hm�gA4�Mڀ���Kn��ì`����/[�}�bO��͠� ��/\�H4/�-Sۈ�#^u�*`�J��;do�>�~2
���91:�=�0)(W
D~�N�(\��l�a�h�IJ�G���n��g�lJ�����Y��U��y��i�>�
�qDȈ���@k5�eP�.�R
|@>�%��<&��e�a�f�2���9�d��w\����/g��E���Or�%9���-���۲=���}�Vd����R��;��mlw/�Y����
L�8pd�:R������r���_�Zݾ#��frd�R��$��h�BH��xp�7X�Kmdۧ�t�Z)�͝Ϳ��q2���ݰ�>�
Q�H��-͙2�]mH�^?1�}¨ΉK���x��J4��ps��&B�R��5�UD$�xX�=W�~�y���$�Q8�{t�#�1�&�]�/{oz��R
���o���q
`�$*|^
��GM'[SZ�����zY��w�I?���W���_9R6��j]"�\BC��G�@�i�˵3s����y���vu��p���N0�eǍ����%Y��*J}�̦��{��ņ��Vm�-��k��ǩ�!�Ɠ�4���U�D�S�H��7#*p\�+�̧cE`OG1(
�'�띊GO����s%P��5 �2��P5�%����ː� �Ξ��8��W����8{�C뀉���~�{;3
�ꞭoR�>��^�p��s���W�v���~�ܥ�Wl�}�9@h/2Н��;�x�-W���䒣�a�y"��ʷ�c&�K�t�]�{~Ҕ�t\�y�tx�����?���������A����.Iy�-��ay���JډT�p�.�:�>H�V;��}0���J�C�Oa�
�RS��*M�b�,uDaOc)��pc:�#�iՕ)� m���~�{g��_`���,�ʫ&C�
����iy�;��xT�7H{7��@R��K� ܶ^7`[��M �����#wʼnI�!��1ߋ/=)p��O�,ZC�iI����S
Z�[Y�̖��"FT�<w���qjLFJ� k�wv�deE�
Y���n6�dYSG�3Rhu��X&c{��������7�c�>��Oa$���hR��8u,�
a�OzU�H�G�cS��޶��'��j� Hz���K7�O�?	w�t����O�OJ��J-�6�����~e�d��7�5�^}~�|Ng�UE��{���ɝ�c���0�^o��ߕD��#�]�K��p,�Y�o�P��pf�ŋ+5�J4t;Wx�|��=��2B�7f�I�N�.�Jk��)���=��	o�
w�Ӕ�g��H[5��!�4ײ9�k�nU�Q���Ƭ�Py�e�2�t�-�ˮ����ߥ{�$�b��}�@���O�#=0A�z�B�s��&�aB�7�3�ǯ�'5�F��&6p��zxZ�]�b%\�[.�y�&��l�P�K^;��^���XL�]#/����(�7<����̽(�wFn�tfk.�I�&�����c}��0I�2	u�w��pV���)
�F��$��&k˥l[��ײ?�jkݡֱ;�Kw�� ����hB���tZ���&w+:���IM�� ɤ���6_�v����Q��K,�K5��S���3�8������amx,*�������
	�ԯ��4�7�A2��{�z\�M�z�h���m&��P_��h��-i
��y�q�ZM���P=i٬˵�{���D���t�;�||�d?ߛp6��pyRrr`��×mc��%�m��yH��%N1R�X/8���J�S�ju�O����d�ࣲ��-~6�@{�����Y|����&)��Q�����(=J��*��n�Eo���p���;q�>�95�����B�U��J0D�S\4����>����5�In�Җ���UU��2�A����Kۭ�4�%
�����*k~f(Y�:��u�\<�Sޑcq��_Hw�RNXm�����M���+Y���ϲ�@=����W.��5�]M[f��+G�X_�U>u���p���{����a������*�:��
��鍋6��NWNmC=Q��K�g�S�#��\k�.�q��NŸF��R�fU����J��p���hͮ�#w/`S�|�o�t��J}����Yq��Ǹʳ��� �ܾt��g��X�2F�٘I4Wl�Ax4�	
��ğz[�躂�K�{��v�,kd�<(�� ;r�mx6��G������[�
Ɣ[�R�D��D�~���\}�C�
^{	O?b
O"���c�:Xs��&
���E)yT��M�*
S�K!l�?��J��ڨ�Z����8��
8^�wvZ�M�m 8Gc����ǁg�G�"���5R��K���\o���x*�\3k;�V/Q��$%�׺�3�nZ4�@��܍K����  �L �����01[+��=����)[7�q���Wd����Q�����E���&����ZZ5��(� ��R���6�?(��N�eۡ�fmҘ�Y:���M�8��t[u�/��ˢ����G ����;�xc%��x�ME*�	�\����7p�����r�CXZ�yO"QK$�0l*�l[碿�+�GZf�~�|T�
ӧ�z���9Tr�S�e��S��i��F�y���l��ǡ��~v��iqY鵈T$���:,���!b��;P�n	/���ŔZ-k����̽G}��|1U����hQ��k7��B�A
d]'Jyf'�^�ɥ�:]�<����-��j.3kn�-�a��c9a��Ÿ<(S
S'��v�+��7�{�[��t>l.,�4��a3��+�r�kXc��r
u��I
9��X����)r�(���Tk*]��
�ouImJC&��;+��[�'D�xGc�xw�q&:*�@5��"_�j��(فwWr�8�|�T�P
��P�7��$[e�^��8"Ct@�aJ���Iw�y�{�cl�]̧��&�G4�`��3ĝG?�dl%#�:LFӠ�T6t��Q�mP��cQ&������f������j���R���U��wY�8Ia]�oA9�8d��?���)�{��&)@�}�"�2<��k��b��nÞ+�8�� ��2p��vK$��'
;�k���IFM^����W[s���t���[�Q)[~��k�E*5�9���c�<#�lQ��]�����c�l�wy�#F����M�4��]�_��<�b��ߛ1>L)�̤�RΏ-9n�#��Y39Gh&2����#/��:�����l*��a��Po�6��CVK�>C[Ն��6`���c[����]�"�w��0�6�W헂��\~KN������������*2�E��c>��Z�K�7��aY|��o.��j�،�C��ֆM�(({�_se �[L����۩���O����ޮ�C:z���<�w�p��/�_E�'z<��@w�$�+w�H�/�4kߩ�'��	�/����R�07���'U�Mj����ϩ-��з�F+^
>�s�#��/t��*p��]
�i���D��Ք�N6t�p��X�#���I�b1w��8v��������P���.���Yä�o8�>���#��n7�\�qŴ�7����g��`M�+w�Ѻ��Tdݱr��g~i0
�Z��5����qM���g^��h9��4�x��]	���U�k�����,vy���܆�G	!@\'�3��rGc���=TDSU#B�M���ER#~ ��V
�h�ҋŒn�J:�h�ƽ�t�r�ټ��:��A�u�Ҹ~ K�j�9��>n x8g� */�sOjY�e&����
ٺ�����1�W�~�)\�m+AI�\�� �E���������`��g\�VH^�W,��UN$��(@J�����E
l�5���&m��0�'>7�s�+�c0Cs%�PL�\��K��K.c�q�"�b	������Ѫt�E�D9r9��=�eK�	n���Lt��Q��dy��E*Ő�q�v�i���=j2])�Խ\I"���8���*�Y�E_��=�@j��+(HCK ,)���.�sݔ�N��\K&
EN��:^R5��Ŭ ^����n���؃#Y8֎�x�9� �:j;����Oh�9��*L?8/Tg�`���ҥ@d}�F��C��}�uK����?M��c|�IS{�)��7�3 �7�:���gGn2��ԟ�<^�囟�pp8�n�[g���48�";#f��X�u��\R��+o���lsd���Q��T�����0ݪ{����ğ�i�.�gW�*�L�Y��'?ɝD.�A?��`���=���;��]��]Z��살�U>�r#Q΂t$G���TL���`s�����'P\�͞��F�9�"�~:�o�p/������i��
�2@i@���#���!&�1�9;3&��-�LN��A׎�.:f9e�}-����ɑ���qb.�;タ��y��`��Q)�\���zW�殺g�X���	C�ۋ�L8/#����m��{�r�R]�@���W���]>6v��>�d]7��&��v�B{
d��-��d�A�'�|o
����$������Dr��ްF���J#z�����2�X'_�H�n@$�aу���i�I�{�˅;I	��ZX<Cw��u��d1R�G.�/F5�L¨��.�~i8[�&�[�����@�vl@n������|�us�2:�`rm���%9
x\z�/p�8���?:���H��{��F�>��҈�XuH��5	�¹Nj���U�Gż��ԏ��KW��6vW��6��N?�X� �r��
w���Oi�T�u�I���`�c4���2=�!�ڱ�hK�˰q�)V�bm�+��L�x:���&w��P�q�R!O��{Ax�)0����rh2��1*��)�W�Qh���Nz닮�
J��I�#��"!����6��ώN���>���-ٷP��-����6��߳�xR�6X
^��]ͱ9ǚ�X��,)C�
���L9&�[�W�68����+7lV@���v7f�k͍Y&O��Ȥg;׵��g�Vb��������n�}��O=�1�t�C�93�b��fFf�V��5�6N�֘O�N#g2��*�E�6��ò
FW���Py{��x�y�@?;΋W���F,�f��ׅ��(v�����,�$M}�;�f̍��T�x�ˋ͡E9�p����Ȁ/D��w_v�o�#h4�8�o���㜥Gx�i��a`��:�ֵ"%�~��?������[)%�,��2g4�m����,�S#�t����o�����Cc;�Hʀ爇������g`�+/�D���٣��
�2`cË�@����ڋ��	]�n�a���#���GՖ7���E��YB��ެ�*���!���s]�cѠ�:�/n+�CE�C�+$˕:F��.՛r��m~�ة
2E'�d�mjsD��S>�:q?I��kB�*�BI��(����	$��$�d����ϔ����g�`��3�b��x7K�DY����{=���F#y�yk�T�-��O{Η�#Լ[�1����F��_>�fr���%��K��T�c�m������|'c�p��®s��T�:���0�gG*Q%%bĄU^Qb��ZT!��r�&��� ���KG�Y���/�j�t���~���԰p�b�I?8��j�\C�+``\XS�."G~�Hsg��� �F����5���w�̽��eIԣZM*h�[��ď9�nx(
E��+�ׁ�}l �ѝ,���
&����
E�杯���^��Ԕ��h��9X�sx(�Q2>
���$�ʺ2V�`����s�.'��y�M���P��5�+������tT��rI�uWA���P>~QX]���bygD~n�nq��A����1����U?$V.�jB&8Ŕ����/�~8�x�Y:�4ˇ�f]�}y�Xe�|k۔�Q��f�	z���J|�Ά�0ۍ�
,[ܵ3��3�ƛ���U����:��݃~�0c���'h3&0TeЬ�x{�!/0/2��l|샍|�vT����_Y�o���=��B'�g���:��rjG��S8K�f�ŷgaĢv)ABW�7<9��2A������媈��0�ճW�1|�D���=�B���v{|k��f��� l�%;U���͵8��
m.u��
R�����x�(��a�TD�%��;�:�h�X�����$�k��8����ۋ`S�е
5}9���V�[��q��T�|lN�{��"����'�ޜp�*$��֕s�[$s����Wy�5\D
eIr�/�{`�M�%h����y�
;��(cʇ�xr���MF7�Dձ�x#rU�9�r ��A��">���;�k]xҭ���E<�F�9�b X���a���yԫC�K�WG~zv�6���v�u�\0�묇
A^>F%�d[����ʃ�F
��vl\AU�Zv�*|�k>���7<9��jW��D�,��&�/\��Pe�CO�s�^z���S��%�6|�y^:�X��4�!VŖk���s�`?�-L���7^�r����;jNΫW?8�_[ʭ����ߦ��l.?�w�tt���/�>�ӱ���[��ZZ�������t��ME�r~�C�
nr�m��
�K�;1jP��0��S.�+�j
��FדKH��Фb)��.'(b��s@e�T.�������b�N�QS�2����q�F���"3��K�kt0�J��%0�)�k8gp{��+}���}q��y�����������N�5V9���ț'��B�X�>��~K�a<�$qE2�w�[$#��Xx���8��v�ʾ���k_�U��	����O��9�::G^	SgEs�r�y��駒},y��Α#|׋��"���d�|8�Ec�rѕ��$��'����oͲCo]��b��0�q�Z�h�;]��C�h3�q,�CI���y+���P1c�%R'N��
�)��N����,|��5�Ȅ��s"S��0�.����L�Gv�iI�ۦ�V�-38��E�%#���|�߿~�ިp�i03��a���zr�
4���lǥᰛ�.U�ñF#�/�@"4��Dm�]{�Q��iz��{{O\�Ӣ���"�lLx�є��)Ix}(�(��a��]����d���Xi��3v�h��Mg�)��R�{k�W�t�Y�z!�Vc�����#�����A�x�9��<�+��l�X��.���4V� O��?�%į~��G��;q�h���/�LI@`�2r�$���+��T������B��Tl=�/SQ��LAcg�Z�b�
Z�� ���W<_GT�P�2Ձe�>V����IR3�Nm{�����P�+x�ػ���&�J�+��W��
`�f��h�	��6�^%�_�xR�_��t"����b�r4G���;��J�|
j�°��hào�g�2o���YC\�N�
2� �a��}����zg�O���/rb`�T�@$�nV�=h�;�p�#�~a��0���޾��c�⿘�J$<#5=C��=��e8^�����)�zא�3�xI@�@�3�RR���m�}~ON�v-3���V!nkx��HK,v�����ެ����^���
�`]�`qzڰ��džĂb����hF�e-�	�?4ۡk�8D�������;�-����?�/{�V' cy�����S·�K�
��s����f�i�>Ƥ��yp�̳�6볅b7�U���<�ew�)!�
n���*	�)�+X�E䰻�4�sa��qN3YHq<4줦H�,�A��$f	�o��}vJc��5�"2\ş�`pp.�nMir�c����oT�ɹZ���`�O���,���;E`����"����&��zO/⣻��Ӄ+�T5�.��ҒRdA�{BN����8)T�а�f�дВU�f
�S U�v-Y��D�l�FhU
��z��=��t�<F��k��ǘ�
����_�_��>6�*e-3@�9�b��;�<EW0*m>�L~kER]l k\����7A8֤.��7���L~�%��o����裳���/iL���#�u����+��fڣ�!��T�}\�+8�V�s�b9�M�p.�o�y1-�yѥ�_4��a����ɷ�i����q�2��c��9���]�`_:Ex�\��$1�=^�¹�F�'/z�;���q�V	~1�%
�Nj���c]��:�fs0+b��dl��/f����b���?�:�rr'��j�<��'��^��j?RJn�:�,}�qF|���G��o�pY�sY��T�SsL~�JA����o�+���	��1�8����x����W�wrH��=/��w�[Rv��/����|o9��}<ſ|�^:4]د��K�ٹ�R�ͰH=(�	�����o�]!�)��n�ӥ����=�?z�po_�/��A���e���q\e!�emj*���6KjX�])�f���l���(��[
tq��z丒.ߧ�7����\7����_����m�K«�8�,���kD�: }�-�Ժ���v���!
��x�d��)��[u�\^��{��ײ�r���$J�G��-���E�����f�F�H�LȔ�,鱯����b)ޓ
J?�aF��Q7���]�.B>�1Eg`���.�J���*��b"�RLq�D�L�J�\���ߙz#���Q��=g��ulT���1gܓ���b?�,Kw4
��~z�qve��$~�|M�1GZR{:�/p�b��nCf䒈T�χX�����C���έ(����G�bB�nM��e=�IJ�<7S�#���R;��;��@�d�~��H�Ae�i�9VC��ox�^�U�X��P��w�[~�>s�o�Y��ׇ'K�+�So�N-�xo����Y�h�%�uD�zTUQ9�d�P칱D�����ȯ��s�*���w��k������@Ԥ&�8C���Q��L�>�͙v��#&YÌ��/+��4�*���V'��֦.����ÄQc�`�E;=A5ʅ�{�7oO�q S��N5�@"3�+a��1olZ�,7K��!���pq5�n��`�X1$�`�vTG�uT���/��^yh���j�G��@�oy��k/���o_���a(����̪˹jO]�$�<F���	����m9�v���f��y]�l�
�x��H|Ïu̠�Ü��׈�}<@/�To��iim�S��C�-4I���A�oߧ�S�Ɯ��X��;����ȥ�mQV����J��z�V�֞�f���x[q<<^�P���\j��¤I6�K+
��ҋ���(��BJ��C%K]���m��,��/>�9�����mG(�rr�:��\|��Vc����;��'��4�Y{�w�HTH�~�'��'�����:�SG2]b�<}�М�ڥ�3<�������q��Xa�P�++�ð@�`$;���| o����ZG�G,�]���hg��%�Hyv�X��H�w8��u77:�d��N��=M���Ƀ�����(u�R��s����*��B37��T�uC�M��M��ۯ���>;/�?����q�όट[�]��
;�{�<r9rɅ��%iS�J���p��K�_�����9�z��塯]�����„�������
]y�Ϗ����e��K0%a�8�qN��|���8f7m=�Q�ԝ�:�sj�=�h1Ї��:�?7Ԛ5g�L��P����V�O0�hR�
;���}�Q�kRHSj/�nP���%�;'^��8_�#o�nޛVPZ�0�d��o�x�%
���'|:��	��g�=گ[B�y'��>����.&3��M�׺�s��Z�p���y&����뿐�=�5����� �Gyz���sS+��2���T/`1����o��(��w|�	���3�-�ݬ�����j��ҏ����bʐl?N�dB���
���b++����icH��=A�xϕ�aV�
݄>���c_��3������[q?b������	ɟ��m~�^5b6�=�"���?S?�[�;�&+N+0�:�uj4G[�Eb›(\̟��z汻�='�s� �yFC@m�t�9Щ��@u"�S�{'�����׈�RL���=ƼRNh�0����\����C�
��F�*ܒG�Үм��"� �M>{,F�R�Х��X��$��q�B���R31�N���sB���Unk<���rۭ��IAkI�<��c�8P �j�sɺ��\�Gpp5u���ݘ���o�Jܺ�7�j	{�;�UVlzqgZ�/!�s�=)�p��D��@�hts���ŷ�n>\�p��B��?J�wğ����)7*n��7��%�."ĒH����;:y5vzo/��"�;<�E1������R��h�?��G�f4/����ԛD��ZeT{���1�w�{�;~��ć���-Y�Rr��c/.~&'�nA�cL@��+2ݍ��#$-�D��B��c�ea��}KA^��h�5����ڦ�;*
��G�AJ�Ǽw��6?������we9���-�֒�N#p�-[��D?���p��sm3�_�I�{y��[�X����f��,�0t��4�|��
r{�`� FVPxd��ʹU�(3�ԁb��BW�ȃm
Mֶش��j&C0�k��]wtbO�9�b$�s�����~��ɿ�|��^˴����1@M�gI�-+B�5-'[�jK�8���{��J������?�!6X���e��K�?X�	�����y�ҩT�I �൅"��).���d��B*���������c$lF̗<�%
O��4ߕ��Ϣ�v��(�f�۝4��=����xs��9�F�8�l�q
2^z�$GY��ы�Mgt0�Vաl�3C&:��?U'D�7�cu�#��?`;���ӂ�����낣�?`�^�i������¶�zo�ONs�����t�̝�s�!s$bh������W�G�"���
��6Dy��|Lx�:V��t�.��%ݓj�pWT͊��"�V4z6��[�✘z[����n�ň>Z�z��w�
4����&��`$�%!Qw#nQ��Y�Z�p�Q�u�]|s7
O ��ض4:Be�Sbf`ǬjJ��D��`(.g���vl�^L�7pDB�Dr�` TԚ
T���8X!~��qp�fr�u����>�<��ܗ�h~B��3Z�J�R���Ϫ�)�s:�"ޗ5d}|�ɕŞ���1L`
�Ԧ���w�!B%�,���BDŽn&���P?J-���,/`ښ�L�h1���Q�3�XA��\�T�9�bB���_-Pkʗg���8M/e��.��с��ήh�l�
J�o#|�>��E�g):1�7�?3��%�.}�8m�S䈔��?��m�`��7	#R$F	A�I'#>�e�\�f��2������[�7�˄=�2��?�ga	6Vl�� �����FJ�·���Yƪ�K�kz#�|�q���wo{�4��xC5�����o�����H�w�So亦�[��%�v�)�8��h�`Vz�ꖁ�t�Q��[�ͷ"�Y4���mb֩�M<\Az�cL���Z�p��U��еy��'��z�QO)nM5H�x�$�T��\.pJ�X^=����:���}��{��#8��cP�p
�W�B+�D��.�t�?Җ&t�O���@��F,Ϣ�N�{ou3��l�N�g�ꩤ�Ƈ'�E~5Ό)��=�ᬼ�jP��ĩAt�l[�I/c��C^���^��b���j�_
��/��ɢǞm!��(��s8��#�`0�T�-�l�$���P�0�ң%�޶]�r`�b˿�T���
t.�b`�s�i�[�Do����^|��}�9�r[P}.-�2�3�.Η;�T;�5�]`vߋV�s�u��i����V�q�F���d���"	�ă� ^��a�A�]<C���]���.���2%��*�r"�~�$�l}�l�"��ܺl*{��or�ו��#U&�9jC]\�p�x�p(ڣ�}�w/!�ʾ:�E	Z"rQ����-�\�ܝ��`ٮ�����B�m{x@�.��T)Nћ�F�e���
�Z�HqM�&��̖�L{^��v���XgW7$�M���s�nW�i�aW�%�ۧ��_~�ޱ6T�n;��T��?툃?��VEX��	޴"��!�+��̖�T��cRF��)/覟��r�)�ý
?y��rr�2fZf���!�@8b^�9/���N�h�>�M��yKq�9�6/v-��{._�(hz���e�D��Ֆ�~��S�ma�]lw�#-�P� e��3��ׯ���­��U�T�4��ڬ�����9Ú�K���T���?��oj-zRԦ3�m�]5�Z��R*�{���s
R��KP�t����hGI7�Ap���C��W��#��AF��Ѕ�߹o6�tǥ
�sf-������p�)�I�R�ұe�0WUJU+}x��E^��7qG��Z����_�zk�cUmP��F�VL��&�9�Vw%�
e�NQ��
<�5d��ȽN��\M�9��Pd���X��M���q�O�����i��J����&�&�h�!��W{�'���g`Y�e�_E�)�C�Ɵ��]1��*Ã5��6��k�E]�R���罾���j���GY��׮�/n�=Օ�vi�Z��j1F*�5����}���/�nH��۞rl���,��)+3�0��W*��U
�zs�;�H5����4rÆV�������ڡ7+�E)�΁���N��_\�Opg�Ι���bw��BKQ��y����h�����9�Yk�{�[z)H6��mu��m'CN,�*�j_�βCs���}V�j��u���
a�k�ױ�n���s�v�7߽O�l�?�#��B�҃Sq̱J����������J���"�uλ�[�=i��5E�w��SK	�w�)�n��.�19b?����3^�����vyV�������]XW�����E
&��#�r>Q5b�,	�������.�C�1V�ԭ�q�l���#ᘛQ�n�AljJ`d
e��f��\aʬ��l��	���7Dׇ�
��[�?p�������g��O3�O�~K��+�cN����Wg�1X�üx�>m�d5�;�R��������9�kITH�=}d|���|��@�$n�������UW|W^r�0&He��sA�[\%�XlCi�Tb�t���Q��л����}���*�6��^@{�8�R����&@X��\ ��L��l{�|�͖���,�	U��
:�/��XFЊ
�	{m_���͍?JUV0�0�2�;����
(��Mn�S�T���pp�.�cjf�=_���nRI��}�c/O�f�r��)[v?���\ԏ�Ɩ?��h@3G���"�ȡ��er�W�N��hJeq�0�%HHb��ϽA�3[�ax�
� �8�D�Jh��f[!�d��$�O��5m�/��]����IC�I��2Ǖ�P��1�6?ux�Fk_��Jc�J����%���S���6�Z���%)���Ӆ25 3�4a!S�p�@]/����Ia!��30|4h;�����cs��m�5t?{��H�n��m/�i�$��`X*�����e�w����}>A�ǀҙ��C�m���vf�Ħv"E�Y+5����T�����A$�G���{/��6��8+$q� �(�[�f+�i*��y
2���[���c�}[T�[�t]��=CV�����
N��5j�Q�H��U�Ax� *!AcD6���M�h8k��d�Bt'4�ߧ�������N!�v�Ꮎ-��?�3�z�}JNڴ���RYȳt�K�^�M�α&��ŋ��{$��̱t~�$#?���Ѳ�q�}�iu��'=�]��T�yk`��'�x�X�iM���A����Ȅs�0p\z�1�r7�����ݥ��."ߐ�(�ڂO�+7�`�˓#������(S�*��L�?1���"��{��e���ȥ�Y�}���6
�6om�6K�ܬ�{�DU��8hSW�����ׂ֗�m+r�-Fœe�����`�[
GB��,;��g�	���#t#I��|u�pՔ'C������H����{55;P�e}1Mxha��li
����3XQ8�|�&�HC]��5���]�&�"�S��*Ug�'����%]�IX�#m++/>Ki�Û"��	V��zʉ"�-!���3'�N���K�9�\`Co2?�����>e�v�;QE�_t��?vc2TX#�L
��߼�	m���t�w<X�ѭ��RH�/]��h���ɛ��8O8�4;�`1���nXdRcj30���U-�+ex�(���ǘp����45�N�����E����	J��(�0J�|�Ș�i���#��h�6>��tR�l2��M	x����Mj�3M�c?�O���j&�{�A��=v'�5�P�<��q�~���s�U@�$������GըO�Y<��meR�ݎy��(�`��7��vU��On);c��S�KۍYx�+.l��M��k1qJ�IM��Hp�7˿rŽ2�*T|�Zi_���
�mfrCUV��J쵳�Zq����vl+n����S�h�����|Ed�J�$D}��b�W��/ו�¿A�PۻV	�r�+�*���P�Zr%!h�q�x�1݃X�q�c�ܰ��L3{�x�Fw9�sa ��)]��������(�+S\w�)�����?w��{�/Ӎ1�V��}
N}
N}
N�
Nu@�핁
�Kf�U�;��~��$�rL7�#��XS�r�o�d��ٳ�����W�0�<^>���R�Z��M����&n�T\�� bc�576$R2a�*�6P$ޘտ���R���sk�O�(�K
)��[���3�k�w�8ь���@F�)���kGm7�QC�osI��{M���H�}Ҵ�3���{p}xp����]^�}��O"p�N��q��?�l^l�)�a:*S�0A�(4H�2U�ɛ�g��M\�mF`-4kټ+�7S�);�]�s�l2#`n f�;�KA�`̇���U����^��Y�a�e'�Ӟ���?;�*�h��6��
��rw�Xp[`Iq�Z���6cR!>���,!8k��q#��� �s�(d��\.d��a��|x	F��q��͇���6����K�V`�m��"��p3���N��U�˓�Ko���etu�8�	�\$Q�M����ie�N�&4��:8U�U��H)�7�X�պoUU��R~a�s]~�
����5�'�KW�J�ٌC%��b_l����f�&[U��0r���EY��/FT�GGA`�����Y�jѪjAh���j#t�Z.��)[��h���㡌��}Q�ME������%<;�cyPq���2E���e�<‡�����\Y���-�7{�#�`�����nS�f8�+:��KM6e���vSa1zH-��f�}l�`*J&a7�ަ(���dHG���}������������"H���nƙ"����z1��Vw6��x�q6��;���Z�=��C��(�m ���#W_��(�d�+iR�'#��
�@^�	�$��T���z�ŷg� �C׻�"y7<9�6�)�ؘ�
AZ��L%�4�����>�_�^�ZYw��2a��$@K��Kؓ�v(��`4Ϛ/��A��֌j$�%�	�<F�"�T�M{�m1�+��OA8��[B)�8-Y�'��w�fbf'v�*R{��oH-��'�ni�-�+�h-Ѵu�"��|v�r��AT�v
M�[�Z����F�.ɖ�-i��5��~�Y�c"#�s1[IS>)�U�O����Sq�J�N�–�Ù��W�m�nu7b����b蜙H�C�m54��"��m���!�����:}Dy�9q[�ʭ+6��Px)E���H�Jk�,҂CM	3�Ui��U�F4�k�<
��.
�1��T�"/:�ܛ�۰�W�Di�E��b릻�V<!���z�X��I�s#��V�ǚAW�8����-�K��NZ�ȵ�r�H��)%�(�:�ݪ�\�$Q{:jY�"��^���dkh�U�d(7$i�8G>E��RIS:��N�"?�(��A�_`��B�?I�O����x���X{���r�Ol}����O\|.&7ð~������Rx�;��P���2O��(�c�IX��O٪�>��ƊV��B���\��4�c��Ƿ�L��\~�>Z�a�e���H��>̧�.Ʃh0:?���|�V�O_��;*O���M��qr��g�tky����-)�	*�5R�Q!}7�
�ZO�pv��*=�M\~Pp{q8�.�J#n�TD��[�`�h�3�#]��:���@B�c`]�1�6S�i2_G��y���ec1e����j�)��K�y��m���coB�*8H.��^Ŋw@"�	�3>�f��캎U�H��*��Ƒ�"�+�/`{|z��ћ��c�U�`F�{�2��U���'�Y��i\�奱I�7�J�jQ6���1�ߎ��Ž�g��C��сFn@���
���|AF��_�>{��15>�R���Q����?�d.D,������B��r�
�aY��r遹�z��@�;׉�1p�S�6���n�o��cC8LՃ�:*A��<��ia���
���ț��1��,����IO���U�#���+���?��U��g�\��4�/I f_����+_O�I^}a�����
���0w��U�h�eFڮ�;.kM�a�nZ�ʿ��_y�
©#���
ħ�L�u�������2�O~���j�^˓΋ҳr�M�⩐�i�9�oRnk�'�W{A��g����?�\r&�`�hB�p�g�i�m��W9)al5ӡ3�(�E<�O�H�(�p�V^�����n�szj��(�|�����d+�9B1u�7	�b�0�w"Ʉ��Y�>UB!�����Ǝ�|
�mR��;�4��,۾�Q�|�4'Qގs�nx�nX��p"��jH]�ņ��v��f�_3eE�	��'ݦ�K)���W)m���^)e�$��c�7'ӳ��y� �XA��U�B��X�/�`�4PviD0��� a�cQ�~u���5�葋�e�2���ppeQ�9��9��bI"t����Y�`��W��چ�05��|��8�Z�Um=��Ԋׄ
X�Xgs)�iN~-��چ����ٌ���jEHH��	��͊��j�U-d���Y5����/טI�Tx{�J���B+J�S�[Aa�yᛍ0p�{�����v��&����y���J��`,��W�`���[,;#��[��r��2��ҡ*�Z�W����nj%�UO����ƓLW�>�&�"x<$����F�~)HI?8����F0����W���|�(���Fm���\D�ڔ��u��E���B�*�<��wD,a�NU4���j�E	��P޸������O�q.�XvX�K�i�s>oxs�s2n/0���B�՟5�\�}��s�Q&��,>m
+R~�^��qeI�ǒ�� ;�'qk"n)�]c�C���um+�����l���EA��%#M�rs6�9+1}V�s8?��ow�$#?)�|y~K��#6�8��\)���嬣�9�n'>=IZI�0�ux�VNʕ(�J]^�����e���$q��ϰ��xO��rL�N�ƫ�Ї�{�(R%�C=���h1��nźOG�]��܃�q�iduY~����Ӊf�� 
ܷ�u��8���K�V
�Al�c�#����ߓO���l�5,���Yg��N������'�S�OY�%�(%06N�_�O��n�j�9h�M����עF^~:�����!���):o���&+��ӹ{���>w���阯$yK��[ȶ�����?y���-z��V[�OΌǴ�~u��h7���K
5{k��W�8����-6Q��X��[dr��6g.�w����)X�K�`��әlk��QY��lK�a�=��X�J�t�"�)�3�W-�'��7#����d)|֥�ԨR��?$Y^��7ue�t�[��i؆96;`�'dI��N���ʇ3��4�U�e�H�r�4um�`>�t��'�;MU4(-�]�+�LIy���òa�iǗ9u++��t��қ%)���r@X�t}�Z�4򧈑yo,�2��JU�b�F�t�Q��WP�6�)bőH�D����w���2ւ.��^��a�xz���L��7wc�Mc�{D�&[8^\QWXuve�
���p�z�v������DZ!��`|6s�8��ؙ-F7<c\K��%�=c�/E����*�

�>�Q������T��������
��f'&�ڢ�̨]:q�F������w�6.w9r�`F��.�$����p�}�Zy�lp�ۋ���:A�X%��o��]���W����c�x���)��n�F�s俿u����֬�X`�@xCc�6IjY���8�ƭ�l$/��/I��
J߳ڕ�j��ŢYJ�:W;[;�.�`�z�9��G&ظK���iһ�Fy�!�7���+=�8���vQ~`�8,�~�:\��,���<+Vn��f�g'6ˌ�k�����k\�Kr�)ٺԕŽ��ˢh�X^���`�B/�7����׵�pD�^e��7' =�G%����׸�ԓ��L(.L��R��"�<g1�G�G|�1��^��uz'd4��	*�Lk�v�@��l��������p�����NÑ��N�Ԇ�`����x�H���=Mo&R�*VM" �E��Hj�犣��_�P#�
MM8G8����y^PU��M]k�Kr�G<�U?LU6)�JYr0/÷	�P��H\KV8ɀ�������T(�:��g����$�u%���M���Q*q��€�-�!�;Qˁ�M���D����i٠�ľ��B7��
���hd��Ԝ�@�"3ۢ:k�ȞT�#W=O�`�U�F
D�oAP	�0P8Pl�z\�F��F�:250!M
��S�v
���[ً�Q��-���^��D��c�����\DҔdI����H��K+���'�{�g�k
5��F�1:qǻ/�XDB�a+�|�jTp��E��Hj~n�)�Cʻ�@t7�I�9�放�n��j9�"��M,x��q����̻ݪ�$�E�J|O|v�i��h��Ī-�]QxV����_"��B�_�Fu����{P�E-��4a4欢�gy\��޹��P�مe
t�u����(
�ٽ�q�����(��ѣ>�=w6���x�!ȷ{8�ö��9'��N�����g{��۪��;��a��oy �"��̵ Z�i�MOk�B0�ligLm��H�o�nW���x�$�,��*���vX+��bv]�Ø�5�"(V� �A�J����~|��aҏ���=�p�Cj���bym6�v�mD�4���FP�tZ�B����C�������d�ʞCc�P�q��$z�gI���(l]T=��඘���Ջ*c��Q4���b�}S�D��V�V� i?Uf&j���ɗ�-�(uWZ��P��Rp��2��(�Nm>�햙x�I�<^\����͝Ϳ��q2ob��G��o���I��JwH�.Å������a�g�%7����l�!��`"�ݬ�,�V��t�XV5���&��B���G���I&uv����ZEH��P���v��lҞN��j��D:�`9/��xA^������E�y
�%�
�~�5A0C0��ܴB���ͥ
c/3��&��*U�B=(RanZ�(z�bJk��0x�f���f\�
Hx9��Ųt��4)�z�dY�gp��iq��a�K״&7���E��2&V�STCTx�m��
d��ʏ�T���ި�������B^ӷ��x�m����6�~���)Q�yo4уS���
�R�!t�%4Ÿ�#�zP3z�s���TL�{����a����P�3w�)�'�h!�,x%gg�֬E$��
K���*N����-H�R�/��\�sF�@�Mw�y	Ů�B��s�}�X*���;#�,����H�)�W��H���a}˴�SX�VS�Z<^���ev��[C{�x@s���
U�ܹ��VL�I�4���_2�mLj!��3�.�F�)([��2�s�d��ȥ��f���u�G S�l��‘��/qΕ�L+]5�35�
�J�v܎��`���є�ݺ�$
��O�徛����0�zh�n�Ɓ�ה&4T�wc�-�XԛQ��>���
�.i�]U�EK��*fJ:�"�
��'��4x�{Y[E_1['�wM)���e�o�1ku��K�)"N�^`mr�sU�US,7�l#a�9l[V��x��D!KzW(��M[򸢊ئ4j^mN�tQ,�v�h-���O�t�3Rf��#�@�{�&�g����8�۴{���0⌥!����C��"�\�6�k�f�L<mu�9&�_�r7�Zㄅ�𧕵�w׋��g 
_��N�C��m���E�4E�I��j$o�ٮ����4\�PŻmo$�J�6��Hƭo�椡X�7�b[ �+8�g��2QaN#	���ۆs[<w0nن!=�^nPh���Rt���gj���T{�͹Cҵy�(�<9u2��2ȖJ�z˳B5-�%נ�{�@'�=!�G��.l�q��f`��)1��e�����X��d��s� {N7F�N���3m�S|�^�Sv�w��}�^A�jьw\�8�-I�7V#��Y[�ٖ�a�����-kp�nO������WJ[.��\�I{�y8U�w�qfe��4UK3{PN�"���9��@��Q��zX�N��%�-b��C����2F�����q�i�9��Gޠ@Ux|���Q�8YL�=��*���_�I8Z�c�$p�޾��x�lW��
R�qc8�@{������&)(Ah3i�W�?a60r_��f��k�
��,���M
*sT'�����Js��[�.�-����Eu���s}\�t��&�`ԟ�p��>:�|�M���!I�C�D�ζh+�*8�d���!�JN.HY��'=�#tL�q�
��g(�,n�L���s�����"�p���t��(Q��)xO�$�j@�*���u*����S&���X��S����� "�%sŶ���3CM^���r53/��I>�ݮ����_y)�[$%�X�:;o�y�~�'�U�i�9�%'������q�H�
8.Ζf)����}>�ZR�hW��J��:& Q��=�񗏪BH$A@b�=M�@=2���=mÐ0sU�}��5��L�y`s�=�w���ʘqOV-�I����j�N�NV�GJ��p��l!�J�,��
�D�)���|��b8�8�Q�A�O-�2�]��V��s�x��7Lo�ɱW%�k�V	�#��c�3���smX_���J���W�s}.jNY'XpMO=�MD���I-!׭(�p�@�	�ؤ�3�����6xR���,����Ԡ�4/h������%9B!�`��d�c�FQm��gV�?��{@�����n<ֿ���?��vE�3y�T",٫q���Nɧpw%~�_��&�Ʊ����|�7���l���e�+S��L��Z�"4�^w�Q��,�F��x�C1�C'�*�%�ݱ�ܹ����_���A��8��s���.};�
�.H~]NCp���_�Jۿ�(B�Bc�9fX��e<T�c?�l�����;Zw���Y�I�k��C;}�W}�g�"��(<�S�|d�����7�?�=V��T�=�k�!�1�����y��M۞ټ�y�?��I��d����J}zI�*�61�%Y�����p�Df��l�d�Ā��M�3x�L�#�F^saԒ1�+VN͠}�й�Xg>�a���!��Ҍ|B��F�&=�u�#U��J�2C�|0������M�J�[j��Qu��Y/y�lì�e:�*c c��S5Ce|�	��2���w+�����(�{Z߽~�0~03�ī��}1O��ސ�,�`�%G�A(
�u�Ce��mX��R�irq�wK��\�H����!w;��d�z�~¨�*��ɥ��L�:�q��cR9��2��W���p���<qq����_�;1sHA\Hw����`�-9u�1|Y��ůR+>@~&|`���Ѹ���Xuz���v�]sT�%�H�<���<=[YG��@ڏ5�,C�_Eӓ}o�ڱJ�h��O[(�2��n�T�r�����țit5�7#;ϝ*�=�E�O5A����OQ,f���G�
�x�����l
$��[��pX�ْ{��P;�J��w%vu�C`��w����>b�jIM�P�i[��.�)��P7��=���t �ӡ�y��_�/�0��d�_r/������I�qpC�2���Y��U��1�c�@�l�2P�6�����
�5O�X�Y��;;%S-r��`�u
z���HmW�^@�3�
��o��<P��"�u
�0{>z����7_�^���zuz{j��}�����%?�
+�^��8o���fZ�`�����^Wxk���y��w�^=<<����l��8��rb'z��C��kp�`G
�ӀJ�-i9A��^��j���{�����κ�%DΧ~�&�ӝ�����瑱0�,V>��#��z���̎���B���Ϝǯ��c����ޏP����
��g���J��T��
hr�E���	q�L��^]N�8�YMS��j�7���~��?E���U[ſ��ԫ����C<���8�1��(Dž��#�ᵶʟc�{��*�yt��^�W�R��llO������7(��
{�D����?a}�8��K���aL�樂��je����iV�HW�lz�s=�?5�R���4�GQ�� ?X�+���0W�@�j"�ZLD(��o&�H[��é^���d6�z\�(��EM˒1��6��E���Q�6)f�n<z����6�—܏p�b��;��
�E�QR�Ѓ�\�Z�w8��￑���zp� "V5rA+��4db�>�dn���L+x��5�<��ʆƉ2�ciѐ����Qb��pt�1t㒖%��{7H�v,mυ}�U��8�kTפ(�l(�ǃ`T<e�&�:nB6�GS���Yg@�O15pB�>`�ګ#Iݥ�U��T1N�'�q�g��I����*X�DBtsaC�B=Zo���
�[�pvl&E)��~v��&q��|?��l���*)K7�J�Г`�?U��o�bw~��;rC�F����Ž�m,���v☀�F�����<%3�O�Y�b����F@e�����4�+aj`-���������N_.�I�D�+��╔�.=�+M��9_���ߤuQ8+�OSK�"����M�R�1#{%|���l�,ﺁI_}V�D�-�j|+����s��ƍz5�7�,���N��x�2�U5*�"��"�*�~V�d�jP�/�׎5Ր�G�Iݤ����2�];I��&���&����Q��;T9���՝
_�4��hه>��@o�M�6(�?�j3U����߻1���w9�<W��N�T`$�˺M��d�\V'���7����G7�۟��:|�S��/���/�O��
0h˲��U��i��������?�V</�jd?z�r�)6۬�Y�����g��X����+k�]J&y�!��jbY�b4��=�G���V����ܙEte=㓋(�`S[Zg[	�f�"��)h`M�� a��Z�(+UH�����R.,Y�=b5�K���bhy���\�1D�
�?q��?�$�*���ԁ(�bzX�'T�>qR���fM��'֬��	�r&���Yµ����~��_)A�z��O�-|���u���2B �y�;\��	km+�9��5�K�o�9�-��@�~�>M~�WۣH꯻Hw�I��b��|��8�`�W'���(��a!��2���-�1c�Tx-ڛe��؝�9s{�i>�4��ߙm���s������nXg��_2W��͸~���o�n �e#�F�T�R��/�t)��p'BR�@�؟�͟�Ҡ�b+N͊��&1|�?<���W�藵Y�X?�m�xc7u�wSW�{Y�Z�n��]�McU�5=���3��r�~�d�撁�F>M	�^�%��[9�o3#ݟ&`.�n�-xٌ��:�&�ęc�=+v-�fh���Ź*��	�&N!�p7/̓�.'�v�ȍJb,j�$5�wҩ4���q�j�$ =F�O-�ՆR�����ʼn�]���Ka��X��|���z��4�bV�Q
���g�7�汫y<�
1p�G+���M듓0E�إ"�xz�+����z]`\�:=�����%ۮ�*��5D�<��L*K��]�u����;���8��:�(�����hXy�*J����B
V�Dȏ�&j_S&Ha��������Bc��75)�����7���d6W�s�8��Ie+��?�tt,0�c�*9W#�Yo@!���p�KF$�px��G��r��[��zY��%u�W��������M{0@R�{�TL7V�)�g�����lIm	�UKQ�Nv
6Z.P�m�#v�[篾H���������
K�B��Gz�$��C�h�-�GG��Q��@
�>��T`n �+D�!)vGS��0��Bq(���\�g?`X���8��H�^��$�ۺB�lN\|��'��1R�F{�Q�yE�o��;,}��hJ5̟@k��(n�¯Q^��b,E��ӗ�[�����_B�?z��-������
gؼ�K�A\��FwA�Q�U��`-�Й��^�L� �D>J��|�V�.�:;�����B�O�Z4's��F���e*��l6��3y�^��K|���vūoD�=�΢�=߾��*l��(f��9qf=����
Je�>�4�IF�6hN8I����,5IgjQ�I�a:�f�a��S��F��}�#�Ro����m'A(0f�  �����������Q٠n�sN>%KՊ��B�`���6�c�f�M�G�-^1ˮ��7�4Y���"hY�_	�/�L�le��t�pHTw�d��ˀT���.Ih�b)����iU������yE��-��Q�9@����q�J�E��dW/,%U��	�y>�l�������'�V�(5/Th�&7�CrÒZ2,��rز�r�e��%w2.�l%#
˥�4D����1��Q�Յ�
�k����U��GE
�G^9�ܒ5�Ioqd���'��K��^�X�sh�b�IId��MشV=4���E�M}˱�N
��mY�Œ�Tř�D������BѮ���ӻl%�$Z�L
�Lj�?k�֥�T��@�#QFC�w�TLWtKnY�������|�"!fX�s
Ƅ<xҼ�l]�9��b�ą9.-�i��w�XO�?&�^p鿬Sw
�_����Q���~��>	f#*	@S����La���<7�{�'^:�u��{���<DDc�`7���w�(�F�ˊ7�.��`��y�I6u��߉�}r'��>���8��S��G��XJ|������2N�q��N��K�H5�ؼk�<��]g��w������u2�ˁ�)��4�S�+�W�K�gX��	.Ɯi��,���r��Ÿ�Q���<-zU\Y(�Ы�d��K�YF���,���fv�N����d~��X�H���)������;q�WD/S��g6J4�4�N��D���wE�r5!�b��w����0���d?̋e��Y�ME�� RY�э�ֹ�@�o���$ _���b� �Θg�[�,����@N���eR�����窎q���y$n�'H�8���^0{��GBA�ԬE9J�5�@�Q���,�O�D�SA.�P�#qCQ��J�p��i�π���}9��V���#�c�h�ڋ�[O�5���?��)��6}T}EW��j��Xe��Fq���V�	��&0��]�h���1�P�[j�����,����i$;�f�Ԁ�O?2�j�����I�$]J 
�
w.�O,�Iqb�^i�-�'ϟLfn�7\�3X��ʔ�ÄQ���z҅
J�aP���0�E�����5����XM�W��aq?�hTT�(��>�_�-F5-�c�/�יc�[im<|���6��B�j���`����[��E�Xf�4J
�Iv�F�Ku¶h�J�Î�G42�d�I�Fڴ�p#��� ��+0n�,q�R%��+�v�:�I��֙�R$��2>��Q��x1Q.N��;�ȶ`K(W���KZD�uTjA�'�s�v���xy�ְ݉��~�{�k��!_��6�����s��������bf��(�"���J��y��J�DŠ,}�v�$]U8��G���2@�ܹH~|G�h�a]�O��;�T>
����+�PW�ܙUE�zc�fw���]4ס�SY�%�J�K�~���d;�3l�u~_VL�Mat͑X>�W�-iYr�M0sb���#����?�5`�y���o��4`���f��.���Z��t}v&/jYE>��O[?__�_~�κ��ڒ��,4@��-kq���(��a��5.�����?��5���4܀�b�0��I�v�?��/�?�-~'?�?���>¿��?}�>X�}I=�.��ߞ��f倘����,�M-�Yz=����O�܌�Ӱbd�Z�T�^�h�F��a�Kl��Š��YW3gjG��ŃU�@MR�WC��=��#��T�����i��4�q�"؅��1�ql`�Z,#�ď�)�7�%;���K?�aB�R%�����ِpFTږ���z݄5��F�9iYM>?R�nMɹb���#���Zu��
7�wt���
��b�ٍ��%����/������������߾�1�z$���8��S
�t��ܰ��4��v�cI�P.|����L�N8
\Zۏ*�q��+�na�D�ǖ�ͻ8��{����a���aN_�}���+�jBZ�h�ǔa�hZ�q2:���-k�+�6k

��_��0vs)0�Caj�)�D#ޟ݈�Y7��_(�_n�������2C9���X�HG�5�XGsG�r�Jx�8vf���Mɾ�;�TKQ�\�݉;�.;��t�K��4�0���dU
L�X���!�疱�ed����^���C��
�Mc֢k���;md;��8�ŗ)�YUs`>�@faٚY6�Ly_-�s s�<Z�H����W�
�k�\#Ž%/եx���{�U����U����10v�su���G6��읙�D!��g>ű��@6`�fv.�VlW�{[^�t
��P�v�*ۏ�8N��c['4ci?��Yuz�r�a�u�Y�:N�ٺ��qά,Tc�8TJnw�^��zY'�|�Q�M5��C��#/N�T�՘�e�2d�z]8]M8���!���ii�������:tQQ�Wݫ��3ðޯ���4�:�q>�Kz�bjz�'����ln:�gEF96�y�q�i)�?��C�ў>=��C"����ѳ���(Z��n�b��-UKTу��^�_~?L��|R��ç~DL��U�2i�*�~d���C!-�kGV��4T]@3�r�jQ'�._9Uc?Roi�į��C���c0�/�EeR�I�f
^De�j�3�Bl�pw銦���.k�.��#�(�>M<�ѲfGZ#�ڈCI%.j���<I�*�aS!�jB@.o��A5	�Y&Է��x57g�֎^2m�8��m���[��/e��h!�B̓�Н�����8��k����y7Q��܃+��#��JY\X�]��b�z�4��%1RTߓp,c뜡e���55�f�?G������Ế���_dI/�E7ԅ�g5Z�U�%�&�jr�*�:<ۦN��o��
%��i���61[Z"�aY�䎆�������jcu7q47�8���,�f� M�������ˢb��C+G�4'�E��nN#'���B�U�B�1nhyd/�ii�R����`z!7�X?m�%�����.P�*���D�r�F�sÃX�S\$'+_��v�5�[V�rLEݴ�5;/�1z_�-�����(��kX#sy��m�t�]Z�U�Pl��������
�	1�ݴu���l�H�<R3����6L5,.��墳,�du����B9H�o%��f��U�bUH.���j��z�9Ws3���_�@k/��S�����9Fm�O�������Q���2�
_�ߋ�eaO�k�x%u�e�+Yi�*S~["]#�����[�Ͷ2��!��>���6��f����`�}�6��4;)P�yǥ�N\��`�Q���kߚ�"�s�
;��gC	��F�J1E�8n�lM���n�����)Ni}���+��J�Y�!��ezy���݌`wU��J96��	���`�B�є��2���l69���B�g�%ˁ�p��	G�N<v�Sb��c�Ruv�	�lĹ�U�}Y-�_n�Ge������uG�o+e�TI��u��tJ7䰑dq�>G�R9�t�n�[��Xv�0e�V9pJ��u΃�􎿣;;���Q+_cu����u�w�V
[�����6ҾU�Smc�$!׻�%�X�$�ؚ�GgAc��4�ۥ(g܊|�x�6�<���\����D�b?f~!V�!Yx(ugj�!���m�kԿYEڛ��
g[�RV.\
#�s����Q����3�5�c�GHIe�;�8t�G�'oWcS�m��K����ENwy�F�B\,-��SE�tk
w-��-�8���=�fU����$�+�������A�^U�R��-��6���k�;��B�і9H���`|@sCcR+�U�M��.�;,w�a����ɮ+���1^���6�ވ��1�6��OA���fd��#{�0���	BY�8��HM]Uz��#��l@�Gͪ�o�L#��@�6/0���A&f�>GA{�͉�f�4�$��L�SYN*!Cx�=�8mRB�b#�;���ך8M_���g�M=�JD]&89�7"��}�e:�m�+�1�(�G(.�"��Tz�.F(���u�ߐ��}�ɗ-�uR�͔D�"�TΤ�`��� |�>$�S��Č?�7���&�:�������G��Y�`$8��-�s�=�r`B�Bk�s��#պYȌE$c#�Z��Q�S��W(�f���g>@�Mu���W��L�T7O1�R�"��c�/Dqu2�M�8��੒v�YW��P�`��K�P���e��*FV_̫�95�i�y9X+��,����g"��i�`9����Xj�)��OW�]��hIP(���{ٔƣl�,�ȇ��p��+�I�!�J���
�{��b�i`r0�U�'/$C�l`,h3�lv��\�bb����"b�Ci�v��s!DV�Y�y�1If�v�P��%��b�.�����y#���6ޑ'Ä���Փ�Z�g�� t���1�}��lŤ��u����H`h�O�">�>���@����4����*L�+*卅�m/�_��ޖ��l�N�Ɔ�����JU�0���7��Z��r�>h?��
�
�\�Ǹ�p�ԧU��-�M�!���_��B��4W_sI���#'��׏�^�~�#��G[�4'k�*D�Út|@�h1��)�!�H�pI���h�!��0��Fݑ�6��](�^������R�nz�=���Z^�OH�ۀZ�x��_�@��Z:���ת�Y��շ좲�8x��/����-,��E�֬��cU���5l>���V�A(5�rw�P�+�-ѹ�۳�������R=�q��&.�v��̌XܟJ�oB�b�-@����WRs7��l��n)��7,߭��U�X4��+d�͗P<J"[�la����S���m8��eî�ӤeLNc#�-�b���<W&�g�>�V+8��"�~g��_��P�e�,p����2���K����w��֥3�F��L|�z��k��%��h��2�`�@o.�H@2MP��5f�L�0a�&"��¡Ӧ2cE��v�Z�!2�+���^ci��ɡ���=��\ ����oaE,�EY#%�C��O�� 1�r��ð�l3��S]r�!�7T*~�ȃ���_Yǚ�a�S���J�=j��UV���Q����~)*k��ˠa�1@m�<,4"t�j:j��}�#�H��������Ɋ�h��к��?s��
j���sI�@Nٜ	~��A�@<K��h�q�g��v��E�)�o��_?}:�����ŗ����||rkQ��x��1��@Z�&�<R��y?��_���W�
�q�؆Z	��-��5�;�h.X�\�0"[s���2 J�&"[Q',��Fyٕ�$zs�Ah-������3���$�Kot��zm�j�k�9ĵ��:�ُ�`���83�H�Vj.4D���յ�0}�����bIۃ�
O�N��Se��s4�
��?,�{/ξ?>�K%����B�N�?$�/��y�="�h�� ��af;��$�D�€!|,;h����Ȱ�	.Xo��n&���o����@<*���$s���^����;n�!�i3���`�-��>	R�ʠ䉩=~Z����y��-�<Z#9Uz%����=Ŵ��~�؃]KAU�#�K�O_�p���J��J)trǥ�.3A2Y�1��)�cѝ�Q��3��l	i4TD���$)Y��A�����p�a�;���W���b#JO%��[�0P��4���!��#F�(�H�Ʋ���ݓIx�}���J���C���E�q�6^L��
��ԓq�z_|V�:ac��*�l��X�c��}6?�_�Y���<'<�\�H��2�.;�T�#�ܦ��i�C�n�q��;L&�E�)��J�B�D��Wl	{��a��p�bX�
Z9�Z�� �=�\.Rgvp��ԈbQâ�R�I�l
"A�$R��(�Ә���ӻ4Σlq��*��,����j��U���kM�"�2��n3\�J�*��Z����j2ڱ��ׅ�U̫@�貽�>;�W���Y��>�<��z��|�h�#xխ&������v��(����˙Qr�k�z!'r�C�� �1O��g60�a������QԾ&ed-��x�V��~�	
��j �@�=��i��[�L�l��l4��4E����o�r�V���xhXV$7�vU[��xF��^�j��҄�������}�;���=����,�"fb}q�x�Z�(��p1����״�?�|�h2g
h�c-�lT1����fՕ�̋z� �e�����['��o����\~�;��r ������LĪ\�T
�U	�a�jn"i�q��]�(�� �G%�ݸT�ݬPѝ�<E5�%S�^J7����sz�����k{6O�Y~��oXJc�Xr�]��5dE�D����l3T$!|r�Às����L��D��O���z��zy�3��g�%�1�:�$$cO�e���.~�B�nN9��k�����-�$�j�(�Ҙ7�X��6�����
�U��P�^� ��K��4
��T�����$K;�lel��H�)�j,]��7\QQ��t�OŴ�-�^�Q����7�W��m���eɃ_��^}��a�p�@Wp!�i{ݧI������ȚY6���=s:ēnuה��V���B�HO�+op����Mu�A4;��`a�e����^�jl�����F�z^S2��9DLQ�ڥ����S7��
�a�e�=�)�3:�V�Aj��"̤�|iS��i�GBJ$Ew(��:�Nּf}�h�}��KU
�O<o��uP����[����E���i�\�V�p��Bz��VOڐ�h{�yA����I�<��ξ��wAm��NPY�%M�d~G���bX>�܆���>R,[�~���L�(���ʢ2��S��yS[�KO�������(7N[W DƗFph��GZ=�i�6,2[
2���Փ�C�n��?_�����:s�ȸ��9,O�W�*�0�TEUK�ם��k|���d�v5WP2���K��R����6���X�xHs�]S��a/��7uJr!K��/��ý�9,�39u���~x_�]�v]/������A݉7J� ;!`�y�A�q��SX����R-����F�#��V�}��!Kp��:��`}O���O�d?�f�P9ªR+�nk9�SB�lmY�EO�n\_mxy��b�V�7�t7-,�ʊ�%�+�f�V��^<kK;:%��)t�lXZ�+��\�V��Bw�bZEa�U�QC��T������E�h����Ӎ��r�Kr�e<��8m��oXL?���h?��v�i���|y�ݾ��)�c����z��wX�oM�6�nL�E^�B�1�	�����0���3s�=���OQ�PN˅1(p�E���㘚�`;[*�(w�BXD-��4�<��d��\���ְ��Ⱥ��:1�Z�d����U9vWY���h��NU�ҽ>Yn&���	{�b�FH���$��+�ҽ�|�Mu�T_����,��;���G�����n)��Ƚ~hI�N�HO�L�/Ms��@�q��4F�*i�5���oJ*�
Ma�sm��H���w"r���*�1�ܘ"֛�T�[_o?���uɊ��H����͵pX��zyc����޽��up��,S���la�$<1���X�A|��ާ_��������1գf��4TI
�BU�f*���Z�q�O��N+�#TL���C�(z��F��rз&��ьѶ���"�u��8N�!=����9��5
inh}d�C�>�AWyr���1%P>EY�L�|��1��	e�v��5ptVQh��'�zf�����)�eRzi�J�c�*�x��NЈ��dz�)P͑F�U����q�ş��\/m���w�2�B�$E�OE�T`M`<S�?�'�t��IH;K��l2��j�
�#0E��'IH��u&EuX�nR@*�7<C>c6ɑ=��8�UQ�x��y;?�5���G�.�ϼ��!:V��f�#�G� �p�c���������l~pX��םxJW2�^g�t�	տ)���o��
�L*�m��d���X��G.�I�}����0��|�s�"��Q��f�VA
��f�xi`�N�
�Xxo��;BO.�9԰�P����kV�;�������Y�2��#��*��#��^���a�h,NS�e��Ͷ��Z�A)�H��\<�(d��K����8���q�|��N�����[9�h�����#V�N��X�N�ā��T�
��P4C�Fe}�{v#���74�{�N������&ȗ�+��U��@���E�������Y����z��᪶��|M.�{�A6^Z��*r��'�Ϳ�+�b��Y�Jꫫ+J��[@��4-�dj<��Em�k�S<�(s�N2���]��<��eaV;�����_�?��Hr�o��\�(��M��8���>٠�΋�8b�^&Ɠ�J��E��r4U�H�u�[��C@wac��q��Z_zvk�{�KkaU��4��̟7O�h�Z���VDM6���+�%�3�_�u֘0P[�XU��nv�X?&����]�u΅Td:����0�X�7O��?r�_���� ~��7�v��R���������dItGVH��M��ه?lP/wRP/��0G�|Q�A?4�"$a��%��IGvlL�À i]~�={��UT(���4�쓇���(�X�§�'>���xH{GQŏt�j���L��L������>��c@g@��+��a".�L�E�����E������+3�m�R�V�,�ptUp7���GuII�r)>��8��(�\l��}ͷM�M6:H�����ZQ���>FX�ţ�V���5��Xu�X�I�����t�,�B`�\/]!Mv��I���8#��;}e�7�3�'�3Fx���#�����&ʫz�A�X����6�BnIB(��jc��4�t]�@�'ۏ�c�����߉�A0j8€�G�ˑ�����f��פd�Sgx+��^3�|�Ӕ�"�M���"Z�\C|X�E��
�է3tG�=��Fc�g��YY��=���󥅘"}����O�\���R�h�C>�8=e��R8��pmG6mp�]�8��H��z���)N��h =Z5�U�� rp�H����]�.��
���F�\~��|+�O3F����Dr*�>u&������P�>A�h�͍���wx������C"x-�h�����_,ݱ�?u'�_B?�s�ź:�>����P����=�S�Pv��qj�W��*H�\;ej���C89n�ю���qV �jo��a��2�<��q�-�|�,�@yT���Ǜ��ۯ�g�>�D��}
8:�T�����BꐵSh۶���eý��x�]s����{AuO�M+�g�NT�`����J�Ojc��(��J�c�$�[ܚx�R�iZD�t�ޞ�|�w��%��/��he�|�S�o�K`|�[U�W�i0����
�U��`�j��1w!�=���:9Kĕ=�m���)޳�ݲ���X~��B�~�v,qH3�v���9�p��lL��Ua�1>r|}}��-�9T��fp�����L֪+1�)wOTFW�����Q�?l�e-��I�L攄%����wPE�|��~��G5e�
+
q>��*�0�
��.Q�|c�jsO�O}��
H��c��J��2c,T]N���Ƌ�L�
���Be����Y��4V�������Fa�i{Q4P��,�*+p��i$�"(�0p:�ô.��s]쯊���5���q�L�yp�Zm���x0|�����R��։P��g������2��S��F��)^�p=�MA�^�h�֙����Q�9��&&�?H�!����~/[/r�A��1� ���3����h֬�,$<�c���d"3��|l(����A��ˋ�9�w�T�ð;����Ĩ*��6��ri���e.Hl�k�]�9��n�DҌ���՟�c���Cn��=��m����M��z!T�PtSF�����(��?Isjg&�
��$c��D�#=LeQ@�T������O������E�;8�7������j�}�rd�'���Q�g�!O�u���CGT�W��p�7�A�&s{S���~9�;�a�k��
4d����Ŏ��{�<!]�L���SD�r�F�A��Ѧ?��|��mٷ�?Ω�)X�ӯv��p����(;Goo�gW�g'Ƿg�אָ�.Mr�,�e#7�{�J�]h����؎ؤ�����@�^�K.)&�g|
2hw�����4:�t���FI[�;QUn]��Q��1�*n(�d��sՁ�E-�'����7�����,©��z��m�d���ZB�z��Ty�CYv2E�Q�ɒ��M��U2�,G�_ҕ��;��;5!�e�Ex�"	N��7m�ԟ>��ȯ�Fo^���]��AZ�TD�')��_F)���?�g`����摦c�i�EhQp�hIa�CN�7�f���ela�5t[��QG�`�k#xX�`����'\���v=�5��n�kl�V.*�|<��1��i	)�b67�:k��bIђ0�`mH����S�Iy!��X*���s�wP&�E�D
0��)�>{�q�ۍ�7�n�(�j�MB�R�d�����y��RA��NG�N54]'q�_�eʒp��&�x�i����L�wZ2<�uT�:-z)�$D�C�TgW�'P��5�A����D���[��#�J%׽'D�[i����w��/��*�v#�E�.�C�;��BM^��*nN��+��䒽�!�l�4��4JȔNWZ3�}�r4��Q��a��J��:�[?r\{�,D�Ρ3G�б��ZEN�^����,�
��*�i�-��d]���6�3�~t?�l
d�����KG~�wޕ,����16-Ċ�N��-��EUd�����'?&E'a�W�lSj�����ţ���(bJ}2Wo�\jZ��4�1�R��)��lR��W ���Ϗ�޶���zn%5�c�����L�!g�ˠ�"������!��`��vK��;;�?ϼ��s����X�N�y��ⶢ�Z��y��!I�D�/})Q���#l�ܾ����{��%�qٌ�Lkd��i0n�?��ol�OH�[T2zբ���p_���a�Ha{Y&����U.�OUG���T]��v�i"Ou��r��������y0.��
�G���eȆ܁,F�fC�1�t#�co�'���#		�z�wHtfݔnP�t?.';�	���T�k��!����N���0�ҐX��nj���{�nZanSݧ�S1��Z���-+��M>�D�Ɂ:b�τ�/��n���]���]Y��M(�F��8�������,���J�0:)~Z����Ԁ��k7\)���S���I�ϫ�n��Qht$,C؝��<�m�701:�;jah���^k�1u�����j0[k��n�z)c��SjCH�u3�iU*��z�U����{렙����2 F}
զ:gﮛ.X�dfO���T���N��V�^�G��}�����ڔtt��8"Jb�,x���*J�05�K�gzRl�����
p�'�RaH��k� ��/d���oj{�6�I8�A��"e��Ž(HF3b�@����͒�A��ᴎ���^ؙ>�z8�]W���Ŗ����a��B��.=ȼ��Kf�%E�ɭ$��ɍXeSW&+�w��ʲ�1��}k�,�@C�y�.�;��=$��tO3�ו�K�<a��"}csl�'�t�A�����tN�,\�6_\�v]I�hS�]���2^;G�3G�&�Pͯ�3f�PVC淢8�G�V�`�b�{�ᗉ�ɕm��Dg3S�������'1���_�`]j�����b��i8�Lx9�v�x��l|�cF0Χj�ќ�/O�ѯ��{Z�@�MtҼ�d�=����(p8��
l�J�u'���x��Ə�E�-z�){|�I��}�v�u�vT���uv��k�^�$�a���!�*�&�	&�O�/x�ձj�$A��m#��C�<_��c�9m`�?�O��+XcAw��X�3*����)B4�2�k�O����l�a���ڤsX;���3i6iu�E�������sP腁!�v�:R�T����eN��mX/X��_�ï�<��o?F�Zl����n��,̋�5�ɮ-���&��ޟ��8�t���v�����*�ijU�a�f�g��̯�0�S)z�Y,ؔ�F�P�e�Z��I�S��\�Bz�7��P�bx������ֲ9��i
���|-ӴV�F�"�o�\K-]4Q�݋�e.�MT;:���'�o�G�u��	J��Rf���7��\f%UM�y����,0\Uw.dD9��4P)�H�6���L�Z��9��A��!8�4���I��~�����~tf�BF�ޞ�(�Y��a��H�G�Hf��������d���I���χz�{��b�f��dHr5�������n��f�v�3
'��֣뺰�E�R~R�n��z�@ ���:)�{��E���ɋ��=��'kU;�+��p+y^��yF��:���s���f5���Q$
�P�T���YcO�]O�?��SLS��QǾ��Z䲹�b;���C�޸#��R([F�%���4���^����#j�){'�9����X�-��Z��T�xZ4���g�;�.���^�zxxN�d��WQ0��P�r��{5�E칣#@𫛧(�W?�<�����.�y5L��_�
�\�E�y��3�b�I���.`v�fSI��xEi�!��^���wehݸ(羧ge�x���{䞁����ͭ�+`�����HE�i��RQ��95�R�a�M��iK���	���P����}��,��Ԟ�����qpxx�D��Pv�^%\M�����ϤDZ��h=�����Tx�b}�Xx^�O'�!5�+YTr:��^č�J������-17*[R�q*r �URy�%3ϊp�3A���{����r�bS��fvL��#��v�M�1k�o�b�nW�h��E�T�׬�dU���������棒A�X0�t��Ƥ]| �%�[�֩��$�Nߢ�)��3;�f���\nT�=����u�,�S�������(<�o�M�f���X����Qq���ܺI/@��j{|�e61�5���p$K5Ӹ%k<j���R�z�w�A]7��-E~\�+�J�vRC���(���\N�NQ���4�6�����o7RJ�~`�	٨�w.u>q_��˓�f��P����:HQȼ�j%U�b��ɹ"w6g��k�P�[m����ЪHU�
[�T&����f> n�d�q�L*7��ۖ�3�^&&˯r̯˴���-�\/>e�C�g6'�@d&�����>K�U�.2y���_�O�K�=q��x����o({�M}s����㛥��]��Ql�%J�7�6�p���\�uhÖ�u�=����EGb���������E�/!5��Z��_�
��Yp�D���l��ƴb`J[���!)$h�еj�)j7�ũ
V>V��8�×i�-v��ǔk�Tb��.�:zo��5�GIW]&IY�?�p
B�r^p�2�OB#2�Q�>�i�,+;G� ��Cm�W�TO�-D�l�\U��v�;x��֩���$����`S��rf�`N�߂���u +�8֓hXB�%�.��~{b�|s�.�~���@]�楓?��:��!n���Үr�܆wε�$�ȱ
J*`�����IT.�){|g��R*�j�Ej9��\.Q�`�hA���$C�:�v�y�9�)Q�����Ҫq ���^�\1U
��Hg��nJu-W�<���fe�!�4�x����o��SP���D��u�2��M�Re�hG�-��X-w5�Ö��Vu,�r}���]�7׬r��!���\*[�G0��TSj쮕
o�����RC��;��V����'F6^z��M�l
R}&cl��e���9�<K i�бeɦ�f_<XR���^V���<2�-�j��Z�߲��*LnB1�F�崁�j�G�r��=}��X��ˊ]8�xUKJ�a��
8�j�������jس���*�MC�˼9��@ �R�ڸFzrU��a3ע@;=
�\eR��5'���Q)���W��U�$Y!<����![}l��v#�"�;qٳ��3��m��5�]�0��',���NQA
���Ř�j)�*D���·*�F�[��n���%�)��@6�}�;���f	p���j�$0�������'�Ƿǭ��!9MjE��R�r��%�1�B�z{�6�Ô/��=��vs#KW�rQ�X�5��+aO�3;=�R!��-^)�C�-ys����dIٌ��(�"��9��h�$�<Y��t=ms���oB��|g��:�0��G���L���y�@O<�C�ƢUQ�-��%��������͞��nD|�;m���T�t�W������	�2j<�����kE�������R�Ӄ�r^9�ya]��y=$.�m�Ҩ�?lDqX�8�����3E>���٪�8�b����7w�-\�3�l{+ӻn����v-�4��cj�W�ET�͇������˛�P�J��p��s�l��@����Ԡ������
�,7'�<=|�~�ޞ�_����Ж�'����i�����/d���u��mKF�;�\��#�Ql���<��7�'ET��x�X�~�*Ϳ0�1|�i�cl����"�S�u|{{q~s��Z��\Bd-��iuZ@��no�"롴=O�K:��4���glnK���Mτ�6�4�>_ܜ���n�6}��T(�t@>CJ�aD��ǒ#���}}3|�u %Z�T���SkŲ�犦*�����C�ҞDdT��O~�~S6_}"����/��؝$�vauR�ۜ^�ͩ���=���p�é�W`��ܒ�5���]oM��6Ȭ���u�I��b�RϯO-�"/� ]�֖��nP�G@��]Bќ,������#�:vl/SN0�6|��'�K*��2���Fa ��s���l�.n�.��)dg�&|a��?��6	��)��"�=n�"�i�#�U��؅���Ԧ8����n�@	�u���m9����_�9;��[1�ѡ�Z0��VDߦkڠ��Wz�[�/̐�:~.Emz	L��{�Wx��'�u\�<�s�g��9e�v�Y����G���d(����)�<����ف}�*��:�rzu���JTi�G��bTe�:{&�g�a8�'�'[��w�]�a~�'qO�[��s�W���*�p��J0����ev�蚬e�\R�rw`��GqGq6`cj���O�ƃ�>t;�=[���~
™�$:C�a�XF[��W�)2���n��^�A$��&�Y��P�F%q=ơ!�F���S��.�,%�b��}�|'��p���x�qIτ<�O{�(��R��ar��~K沓�ͭXa�x�}��s;l��J�>��n(׳!�]��e	o$V'H����Y�ۻ;�:|�[��w�t�<+2۩�s�:zv���q8Z�m�x*�N�s^��Vh?<�|��A-��(�����M�h�B��ZzU��1֎�i��x�D5���׮'��~���Pg�~9���z��f��$f��K��+���*r����#:Et��/���Ui�����s��s��>z�%G/§y�����by�y@��S3�JG�w�v��#�N��`'����>�q��u_W�>�/�xg)h&�'��ij���GR��H���}����0m��1_x<f�is���|�g`�Ң:;N����}���(���,6t��f|hW�oB��+�IB�(�=U����TL>t�=(n�wb��\�^0��(%�E���&1�'����Y�*�7u_���S�ͣ޸���f
�^���kl S��/G��lc�)>�B�nkB�x��^�m�u�,���S%�_'���"��}�E��m���N�
�����$���K��G���pW_R��~o#����4v��>|���Ž�'X?>��\>]]^]o����H��Q2=���}C)o��o�+欋��U�pl��Xa��g�z������$��^\g�y�tkO{woD���A���Ǡ����)�4��Q�I5�§�l��2
�⚛��d�N�@P��PHF�&I,ԭ�gƃ4��Y���_d�X��eoT��ד���XL��K��0@%�KͳM��n�	���ɗӳ�6(R��;�	���M�c���̈����,X�����*�r��	�����:8Ez��ȬS���	�nC��!�}�s�J{������OP.P�q'���̣�g�=����{&|�;_^V�����hQ}�G;r�p��F���zR�Om��<yU�&.�c��Ę�`���5A�8��X�����5���
�̛<�=Ǡ�2�b�P$�
�Ɣ3k���`L���T.����vʾ#���U-��}<
�lhQ7��;����y�
C�B�s�5���7�s;�pM���?����	��w�4^稵x�}����I0��^4r�l.]��_^��Ez���sG�О�u��B��o��|!A��O��C4\�^A����{hy�۾s��$�C����Cp�����e^����f2D��q�.�Y��c�@�;�w�	+� |ڰ`,�ݰ+`�<?��P#_�|ҵ���vF�']�,:����r�S@v�u������~�cp��)�����) g]䬧���Us�ӫ�kj�E�S@&]d�O@~�?��]S?�T=�,�H�S@vͱ���' /;�˞��k�]�NO�5����e״�˞j5W��UO��5�2�U׮���^5W]Ưz*�_u��u�S��U��8�ܞ�k��U_���y�z�=��oz
ƮI�7=�"o���~󭧀����n؛���7=����cp�����k���%��]伧��0�?��a����G-�w��l�b�S��n�y|���[��N��l>	�nVC����"�ۛt��{�w�)ڏ��r�<z���Y]����O%���zܧy��͓��#;�\���������W��+8�[�ca�}�D(�W����������ZX�@
����\�Z������{A$��'3�q�5�����>���X��}����.Xi�߹��s�ZV�I=�l����?3����睳$�V�C���5wQ��8a���V^T�@
ѵ�"ZS/�Ѿ���� ��{�>��ށ6�;�)@-��gɷ���7p��ub��)�<���j����i�e�i��=:��U�؝�oA�N;OD���^]���A�W�;`�Q(�KZT�@�N�B�ގ��H�$aL�s�N�2��N�Ϡ
��۝*/�o�<�:���F������]�;>�8t�Љ�g�`�b�}��(�/��CPN]�Ȩ{ 5�C��cw����3��uO2P��+8��_�bB�B{��]\S/�͔si}�ݹ��v�? Ʈ���A򴼣7����
(G�q��wt�o�:����^��������iB�]#D����o��R��z`w6�\�\S��;�(�s����/����j�m~y�o��Y?Xfm}�g۳��]�ѧ��?�œ3�J���lݔV����2�a�A���;@��X�]� �@]N���U��
�jG������@G�{���m�9����k�5�o�����e��E�ԁ?
��%��u��Id�-]�jfq����쮹����d6a����
�_�w��gКzH�9���U����@���p�k1���"+KV�;���Sׂ�hM�d4��W�7`v>��a�iX�@��_����,Xqq}�5��c�5�
�7w�}�L)rU�����^�N�\U�9�=U��h�s�m��;��16�w�PV6���?P��۽<>��ށ3�P�,z�n����k�-[g.l��s��un���RX����C�c��܇����1§��a��_j��K~3{��1�'�:�h��7P��S����\U�9���{Фe��Q�@����aM=�ω��O�ٵ����x�z��*��w�^2�Z�*/�w����W���CP��d���ߺ#w��(W�7`~���k7���;p��VrN�;9����Н��-��w�����
�>��o�'�4�..�� �l%�eK������m�ֿ�]�a��@�;��?�G��t�XP��>���,�sm�J��(��=;�� ���	��� �ֽ�?�z��+�<�\σ�=Yq`	�K�^���;7X�$�O�;�G(���H8��ڞ�{�q�F.�49V��b�԰QL���S�{̟���(a<?/ѱ����>�O��ׯ�X_#�$�rk3���M�b��a���d�c��
��O'o��ZG։z�i�L=;*�7�L�h4������W����E4���8�H��,I
r�Ȳ�z`w�q`�S?�/B���;Nk��G�<$xf�٧o��XP�y�r��f���Q�к�zq�㏁�j"�p��f���k_1Nv�N�I�#��_}��
CVD�|)s��|��NgPd��“���к�o��9���Z����J�B�ۏ<�
{�??��\$�9|ح\
�=�.�X��yŸ�w��>�6d		��$�����w}\�w)=�s�T�2	_g��NBTFʓZ5J��s 5e1�	��0��=a�+c$�`�k/~�'���{�GQ�>I`K<�a�t1|)ugV�e�MG/�ϣd2a���<,��ܸ�#I��/��R�߅��?P���I*�xAK
���"==�N�����+�OOެ8�tm�B&nO��F|[}�H�x�8dE���iu�'�S�C�AB�����ï�	˧��Ga2�W�k`���gM�p��� �Ñ��̚�B2�h6��$9և|��X����g9�2�O�\5�kCL�
Ǩ�fڰ6�
���ӻ0Q���F��	\	4���|A�]Bt���:�r@ �yܻ��7^e���`��4��k@W���VW
��O�+U^����'A�;
��^����ʆ!V�z�쉑{f}���;ɼ�"~�e���$)�R�h U2p�4�MX/��q#`"�OJ����
0��1�c��*��D��;��A�0����d�(V����6�C�+�N�q�k\gQ�k9��О���\"�Α�4� !Cr�i�(�>Y��SĐk0��J�;~�P���z�环�����+��\vM7�k2j�֓P���KF-�M���V�/�K��4}�n�,?kO|7�R�}��ơ$f	*И���#>!�yb�*V#�[�������"�,��K�#�A֕�`@ձ-����$c�B
��I�u|�v@B~j2'a�ܘd��x@J��;	�t�O@jd�#U��O�D8X�'�Wvp�-?�$�F҄W/;.��!�톆�;��njPgW��H�
�����",����qz7D,�i��z��b�7)��v�P�6N6¾‚�wu��; z'2�&��b.�:��D� G�³
��`�ȉQ���
	�Fx���ە�QiW��/��0�W��"[��Yjh���/+����g��o����,��ʎ�}�P�
]:ߒ�j.���D�x,���A%��7���%�jd��_����U�
���VWR�5Q�D[du��}�Zd`ӏ���)\;K[������s�z�gX�
%GM�]�s)z<�8?M�k{6O����������Z��XNJ�`f�60�(�$%Hi^�(f�v�����}k��A"x`��f�Ǐ��`�	|g`�f�k��~-�m�uƻ0G����c�IFi��H���_�NJ�~D��H������ !q
P
`	Q�s%�r���D;gAF=W��F���rrz|{L�߄�H�$� _�8T�$$��:3/����H���R�L���U�����?�}}hH�z
��ܣ�Z0%I��5|#��=Q��в��(����Ǔw�MS�Jk��8!�95����oyA��A�i����=!'uIzO
��8�!�e�.zE���|��?�HRr&Ϭ�<lz$s(�Rc���@=(�47�#�\�d\,�n�"Ȍt�ǻ�P�FM��=�	�eKS��6�
������p�@���c�����������FvmŎ]%iG�:۴ˈ���<ӗWr&A�e.��`�4����?q
�6V�����i��ۖ��p�XbK1�@um'�0�_	�h�DI"�^SS��1�5wAHR�'�U#��7P!�1�Mo��Qrh��8V�4��
�V���8%���a�;���"T!����0�=�|�a��>�`?�͛.u$&H?���0Ÿ�Yep?�����z0�Ai�C�H4�OF9$߶�pq\�m�<��|Uc
�j��i��$6_cX=�g#3�Yp��hF�l�IǜL|{{��w��d���!
/��.�
��F��Wx�XH�<Ĕ!0^̿w��0
�)L��{���-,|*f�H	�K��?�4LV�b-22J���2��n�E���A���+%a/�W>�p0��D
r�R��ʓI�*��t��~1��d�aVP�A�6J8X�l��C���7��x3@4�w֑�WR���Ai���u!��I���8�&zL�����b��u~����:���Qdz8���;D��=s���r�;�j;0��1�M5��G��	��&S8��D�0k�*"�u�y�W��1�Ke'j��X��s�
��ןR�/֏��w�
�#�����˚�<$�O
��W0~�|�3�^�1߼$AҘ��o�Jh����.o�o��r���ϖ�K��߄�8����/�uv�0�,��ө�秖of��ע�V*�^t,n�sA/4�+lW�26�yK���3V�`c�	ł��Pt3X�bl�C1�S�BT�4����U�Q$b�;�?>Tǥ`y���/Wo@)�0����P��8�^�H=�L\�"��38H�a#!|����U��R³8�L-���+�l
7�!�f�	hOZHZ��3�cOm\9;?��@��S����TLj\�|�![��8H��	Y�*r8@�!\Y�3h�S
`⨪�d	��0����A�ILj�����n�\�D�����es�a�#;23������H�ʲ4җ�d�N)���E�"��e�5�xbWD�섗_n�oϿ\nh8F�ƒ��ҳ
@H�G��a"�p��=��gh���$�ПR�a`�mR�Iy}������a�Ⓜ�ڸܸ�z�a��S�j9�����'������$�QMk�u.O.ɴ���ğ��o��X����ǯ�=`�'~���,���7�~_��O��g�˞�8����/*_�%kK<4�&�ҵ�G��ͮl4KȩjI�|Z�X�LG)��\�B��W@ݭ��PK������h��u�4F�#(��p�^3�@a���?	TР�ϤZ69�����F��ޓǶ�c�rk�����μ!�$g�ߊ�T�NKij'�Dg u�Qs����P]p��v
k��5�u	�Q��yK���ke�ں~
CE�Μ�ůr�+���ui�9�>�Rp�Ss@Z؞�'t	�-a�1�0�2#�w
25n��,�L�,c�d�7�B��멊��Yfe��e�84
?�j^t�A7_�4�f�!dT�%�:�FF�hހ��}���Ǝ
#h���[����\�ϊqr�S��>Xmk��U!oe�nK�ij`�I��L��L��e���x~|H�iY���7��1WF~��q����Q�9����IN�J��!q(a��_T���TEۢ��ܪ�t�J�F:7
A�^��U���v~�k���U�IM��z�Pl���₼
�� �+��ɤ���B�h@;�VK���}df=�WJy�G�����ΰa�]:L
�9GJVP����cݝ�ڱ�
rT�[¢E�(4۪�VP�,WF��oҴS�MY��`fy�7,,֬���k�y�M��,Ȓe����}��ٞ�={F��}tk��ޯ݂_�:Z6GP2�ZO%k��������������D�Kg�A���[�n@�<�3�	~�F<��#�a���<v���S�ʻC)��'��DX�8]X7
=��#w�z6�����p��ae�X�j�Lz��(!:��r8�:����R���((��]F,�N��'�pb�G^��d��ޝ�k�/x{��H������Y�,�Vo�"�?(�z�7��F+{8���*<�ͰaJ���>���?x%��d�8�)�G����4��;>��^�,�|"���7��OF�q��ҋ���˓��+��|�w5�BnS3/5f��������^�m�K�GR����"���)��4�u��+6�����ʚ�>��w�D&��D6-M|�Ou�u�3c>ieV��I�OM���v�i˜��8�9JD#���YE�<{��S�xʼ?a,jRxxq!�
e���&ʎ�&5�N!�I
��pOχJm�Yq
�IW6�"�$A����`EQZ���ZdSƟ���sO]]�i�?��A��7925{d�BUF6����Pp�M��g�
��:�$�3ݰ%}]Bg�i�&��eN����e��������]&�N�A��q;�ꖰ���I�E�EW%ꇾӆ���Z�P鍈��Z0��p�Ĺr���3<Q���e
�c��J�Kji����>XƲ�I�cHWv|w�8\�P#zߞKל���_��Li��,�v�d�v)��Vd���q���9*n��sA!,�5�V��}����۲Mu�FOd~V��,k��3D��e�H�[ަG�ʜ�^ �ȣ����Y���	�`�f�md{)���@}���9��'�)��C GFO��O���Ih��O\.�k�υ�M�c�+.�Ν���B��~ͮqU�g��"��c��v���f�Ǹh������sX�"e,�W�'�
�I�	�x�{�}�6�X�q��A�	�$���
%��B�����8�o�a�7�7đ�N�3G=K�4��йm+�AD���'D���
�h�\��KJA�bʍ9�)BlOte_�����1�H�����6�-~#RU�M�t��-Wj<�F+�j�Q�;�ĎbI���%��Mfy�)%l�_ȽP�28A2�D2)���BA�`-���ֽ��$n��_�r?zh=ja�K�ۂ� ���-P�	AЕT�;x��*��n��#�S�z��<�xbہ^�g7����A�*l�+ئ�C�u�k��>�[�׆���Køh�$����ڥ��v �l~��I.�-k�����ԏ�^�]�7Dt��[�]��� �Jx���ܢ�A�M�+b;$�](�y{qY@�a:8��$l}E�Cq�p�&�y/�R��
�1u�m�.J��u�zn_�Q��y�y&fA��\X��w�GA-wh��
m�����'�"�wŝB#�x�^��d("�+d=ji͸����=m_���&Mj�(�}24OW�E|~&���h��}����! ] ���0NC���a�����Q��_�Nn��k/~oE���d?}���0����Y����Y�B�P�A��.A�����0ޙ�r,q��M���q���Xo�nw���'�;��:��4�����ۯ���O�Z�|�M3�Kw8�F�n�;�Pşiq�g�s�?F�X�[*Q�G=)�
��@�xcaB~#늅_��{����ggg���w���)ߊ0�DEy@"��,kTH?��i33`�$�.V�i�l��3�L�p���k�(3��M���L����/����]2��^)�}R��9Dd`r�8�D�q\0�-�m�]Ol�2s=����}E+
5�+<�7r�(�cw/΄�ir�_�	?4��;;�Ȧ�e�eȨ�(��cC�8g�i7�m��OTg�+J��y6�"ªGd/�&X��m��	��~S��JA�*�3��s4Ƚ˓C+6�c�)���4HB�Qs2�v�D1_m�n�����d�~���X�j#��$�F�E�
]����R]�,j�R��?�_+��wR{�g��W�M��	L2�5�S9e"�n�MK(���OdQ�1ͩ苸�"d*6jkCJI��!,����iE58q��G+0���O���v;N�~��0ك��8Ɖu�����9l
�}O��m�:�J�Zˠ�R��=I5sʄ�l@�ˠ/�~����H�~gl�8��d�,z~f?��df #�N��u^�1Ry(H��=}��~�;�����sä;s���`h}�X�|��7��F�޼~}8���j.{�
��TV�x��%&��c���df�V��
��E5��}�޵��+�TTi	��(Z�7��ؤ�C)C�XY*��Vp2UGbf��;�jFs�;d��5�V�-�v�"����kT���qV����d%ΉT���Xe��}$�c��/�� ڱ�I�k.g�X����x�a;���{	����K;	ӚP�pE��U��-{��Ndn�ؖ-���+|9�#3۩�P
�a+Kj`�b!��C��q��8���>_3�]��]wj�Y�M�ԣV���:i�;n�j,�_�s�_�w��4	X��<\��XI���\��v,ͧb�LO��\i��oI��l��"����OD�����L��x�h�}:�8�˜��z�||M��|���8�[����t�T&aO�oؘ��w�
��t-3���x��I8�H�m��G�i9TL�4�?��I�e���ڸw'��X�{��>�����:�n|����Ԃ���w�3�AjZ�t?�w�m%s$�!�T�
�
(�#qd�t���)ʥ,�^����.Y���SNI:��i��v^�2��)����y�EG���-#'R����MUB�:d��_�$��ɦ�"B�(^�4_�S.��I�@e殠�-�C����KD
J	�>
�w��K�d��+/{�U7�u��O;��^-����T��dp`e�E��i��f�@�
m"���H�����3�.�A�N���m�ڢ@*�3����f$�"�ůdA�>0�g�A��c+���Hv(��T�P�%����8�Jf4��ꛏ�ou�r���D�Mǒ���u6�>8|�k�A_�>C�p��SH��
T@XUL�YX�Q��f�6���V�\����@P�/�(�
��܂6�y>�Ҕ�R�D%dh[za�2H��і m+�7=�)$����f�+��1~sӤ������ѩ2�S���)�����q�&�N���\L��$�v8�#)�����e�^-2�$��e6�/߭Vll�-��/0V+~6E�,�5�ۺj�؜0��3{Mz��B�/�"̚\H�z�k�
Id�p�p#.�ݞ�O�����^�#���/ʩ����߮P��[�f�;}S�!�a�V.�]��\�ݾ��Op7I���Dl�0�ZŽTY"�>,��țA��+��X%�4�R�#����M�lc4YL���t�H����˕s*�o�t:��v��a�H&�؏��ap�����hz�[���N�;�:B�L⾔�H�C�	m��k�>��K�uȥ��a��[>�)��jk�F�4%�̍֊@Q��"Z��k��ECJ`A�-�oۜwq@+@t,��F:��%F� �֤N��R1�Jf�T�̋5i�pZ	947�]��\w�*1����]|Di�y�^�J�ߒЭ`,�ǩ�;}��Hj�nTтXL+�~O\�#5�P����;�s,���Ik~u)�T3G/�j �2/�D��ս�ד�WZ�>����2o���T-��OyN��W%Ȳ���l�*Y�d����uo�^/o���:f���P��^�ץ����X,%����;;:��nG�%��w�T��w���Fߚl��X	�䃌��ʔC���b�������a��s�=wvhxs���n�d܀����)yB����J|����S� ���������o�_�\C.ca�@w��E�DŽ&���^ָ�yRGCZq[�=Q��͗,6��L���[��|�J�0��h̓�n�uS��%����{�Kh�{h��Hwn�L���w��4m�W�M`�x��-�k��h���p��1��gvL����1�o�/z�qȸX�4K��%Մ��v��!�*U$�
��$���
��ez=�ݍ���+�mss������6gW�g'Ƿg��6�^���l�@H5<��	6��.H�,n�ڞ�O!19B��вγ?(
��
�"�Dwu�"�p݂k�5S�n>��,['��}4tu+n��-�k��ަ���_T0�-w�����3���-�����;g��nx{�~��ü������^���e_�ic�]���Pi�6��#2K�h[jX4x�_��_�y��w�?�|=�a�K~��d5�*T�F�!<����B*��BX���f�'.����
�JM�_ͺk�EI�5t��^���x�,�ʗ{*
�|lT�؝��������%1g�i	Ѧ&�t�"84���ߙ13R��l��U�2,q�ѩ3�3ʴ1X\k>�k�c��`2���a5����vg+f�G�ϑtx�R�^�����ug���*|�EI�v��F�EE䏷����u!��e)H�v�5|v!�{��r!^>P(�k�zI����睊�
�L�a��wM^jU�o�D�p��mӐ>F=%�f�HS��&�Eߩ�pRq$��ڟRK��HHӃ��GW���=y���ݜ�6�0�ɑ�%|���p��*� m<�`�gyk�_�N;W6XY:�LJ��
���`��L�������s$.eG�|��jj�U��zP���ܘX~�*�F�ϖ!�,��s��,����G@��?`|��a�O:Ǻ�K����~���_��wxSh/�Q���E���}�������﫛B�}�m��,�<�ݒ]��^�����=s)�Jio�pu}�Z<EK��2�Q��4<aE�u�������z�2^��m
@����1��O�pf��x!(��i��g���B���ܯ��4��4"�����L%� r���
u������
����K�-�X;&������E�G;��JS�6U:�*��e<~rH(n�*�ZM���g�#;�D��������"�r�N)��u��2@�(��G��B�/�1�Z�b�W��N��pU�����3��A�\���X��[��mhc/�K�*���H������_�͆+���o?�Q����)*
x���#Ra�\�KK�Fmȼ,�Y�v��Q`��d��P�/4Sp]�P�E΄�/$�9��0l
����u��V��+x���/Ö]p<���a�v�����5k)�R��n��%�ޤ[�����΋A�Ꙃc�@��I��U!c�1���^}��u$T31R�S�3	��$_��U�SG�]-g��o��~ygE�|��uz{
��p�^UMӈ�Ci��&�����nP���Hd��_�X~@)ch9gžWԥ�S����~�
q�z
����bI����{�/�)>�)�T�q�?jqOhkZ�$����X���c
ir-a�ה[6�^��YR[�=k޲)~�ԋY��@�i��ۓXfL,��%�^Ⱉ�)s0��}����;fi�n����uOЍ	��yݣ룈�����S\:E�|&�˖["%C�
�<��O9�"��O���(%M[��Q���*��b�����Wg�s�R�{"*�&	�IX߄�R��Ϯ�)GJ�Z X�9�צKi��,S� hi?.℆-Kʩi|1��5r��E�o�:(��3��\-����_7(
��@4S�&��b{����u��BM�K�…����>
���r�ҽ�J��
M[�=�O��Ih�ƫ{3����S���0�`^�H�Er���=
Ԣ��-9Y��/Bu�D��+c|s���:]�ݝ�t����F��K"Q���C������t*7����l
��2�4�{�A�*�k�$�zI��ƚ��83v�L4��}�~ω�AN�6�	�w�CG��Q�*��
m.�W��
��%<F�+|��
ѥ?q��j"�"�ɘU]u�~@i~��u�����r���
�V4�EB�Y��(��E�ts�s��Ё�cw���.�h��.�H[�)��^���6^�x�Yʙخ����H�����v^Q%�>�R�vU<~Y��A��K��������5N$g?���j4�Z31���I����||�J�l�S�r��,����b}�J׼���������zk��\�ܷ��=w�1ۻQux�b�����xh���QC���w���=��7�X,���*i�l8����`��O{��״�g1��,*#AF���K�Br"�3���B�Vm���"��#i�L��@��v�ݢ�����\����Y���
$��%J'��s�ٚ�W�C�L�,�T�D7��ɬ�\��ʓ�^���c���ޮN�&����k���p�§RֻNm�-0�\y��	5d�5�;�v�i��q��~�(�RH#�pVԌ6oC��`���B��_�um�E�ߢ�]O{�
�vM2|�d�	+l8���]�Sk8"����]�9�Z���X\?<W7�K�Q��dZ9
���ϩ�t$�����0�߇b��c
𐍦(Z�x�h:E��dU��m=hKS��"����o�vU@��e���J�w�������3Z��������Y�NnV^����Ǫ���eW+�>�;��v�H{��h(��x؝�A�Sn��"��gŶ�V$p�q�9�d�d�3�)󅝺hgm�S�#ƞ-O]�β�&�vcז�6}l��asI��dʻ�8����_iXㆈh���P��D��L�χ/�tr\�I0ڦ�B�/��1L�)�|���r*1ݩ��]M��*j���h0ڪ�z�bvR$1���)�c��d��l��Z��c��DC�	_��6`�H���.��{��� ���Ը"�q���H��X�d9�ѯ��{)����Q��)Gj���=J�O��A��Ø���7�Ңn��>:�d"�@������LY�|�%�h2*:h�w�����R�P�F+��m���g�<��^r-0�9·�y>yͷP��h�=v黼�~��ū�}"F���7���:��f:����z��+|[�|
�6փs-��r�M�}�FT4����u��U9&��K����8�Y��bg$�C�mu���JT�ܿ繗\~@$@M~ώ�y���a:,͢�+|\|�m`݁���*L�b�˰
6;R���u������٪�'iy���a+~�..�R�-"�'Ge�
:�c����J\�K�5��ц���,�jGx!��U��>8-#e��</�C�h���ą�	��,���6̻GG���;����J-.�����~ �kI6oqSY�%�ɼj�'�T�jr���w��THns��̵�b
���)
�Z
����*�f�GV3�Y�+j��B�Ն��BPZ�t�6�2~�h:�Y�jhSL�|t�d�ʩ�d��̮�cg0T8�$���}���4r�$�}$�A3�����F3���^=Z�p'm5�l|��x�z���'��59�c�:������~?�[�u���	;�P.�]���	�u��zGy��c�G?/H�ٮ�Kt��ԙ�76%��еI�l������b:b��2R/=W���Rʿ�+_ű��|F�J��K�	f��w�Wx�D�,�/$�lStQK܍��g�A�"3�rAfW�E8x.�tӴ�\�\���$��B���<�s�p.{TEM=��{�n�AЎ��<�4hڒe�'���g��s�pu&��CO@���W��=�M�@�C�Ch��HDK:������T�*�"�#�ML�2L�Α��Es����0��	��H�{vYtk�S���)em��biEr�̰��H,){�2SƨcU	NJ�c����k����$�ڭ��Na���~rM�V댅b?�#�^y���J�������u�9���4~��{Ω���ᨓ?���8+�����߾���O^���.e�0��V(1���-^�7�s��%V/
^ʇ.���7��o�P}}��_���XŹ��y�L�g1y���-�^J �ɴ������� D��Ԧ[�42�?OɣՌ>�%�X3oX��Xm���i^=J�)�	9��8�U��RJ$������$1E������9I:zgY�F�sT������:.��4�%�XJ�a��/G%�����z��a��My�,��l����.�˅'���?�[*��S����_�Ú��<\(ޕ�p��1&��ޑ�XR��� �K(�Ndo,1vgX�<gC�=���-�^�ΉF`��+��:��<s�$�"w�[G��kӻ���k�J��]!r+��9�R��>p

7�Q,n���Y��~/�%X恹d}s����C�S��K
�?Uq^�;�	Rx�l����S �R�Q����3ۇ�;Jh0��f��:|Sٜ�΁s$�RqIx��2;�ݙ�2<�'�����ά�����g�cy!g�Mïef��얝��2o�x��E|jh�I�7�o�l�Q�/�n&Vޟ�T���t�
.�ȣu�Z�OejPd~*�4���Y�� d��[���}1�v�0�C��b�
�(������s�I�GrC���z��E,f��VkRœ�*��76H����$�ix�rDWe��{��t�}��d�Rǵ؎`D2�cn�2֧���XS��TV��n
Y�]n�"JT�@P*�{h}��G=X���y��?����߽z����?���C
2zD�g����#��^Kd�}$	�'���
GM>���I�x��&5�vN���]�ӆϽ��х���H�[W��9w(����vB&�&���H�%�HZ������0}��`�����~/����)i�w�+Вuvt�+@/���b 4�.����D�+s�x��͢�l�j��gdpȟ���%��]���VC�6��?3Fc���ED���&W1��Q�TѓP�G�m
ٟ+-�*���A�����D�\Y�{!�˜hJ�^�L��:e���/n	�#;5���,���@��D;��f(�U�qx�I��A�R�G���]��X�c�p�Zߡ�,	Y}����f����v���f���¡{�⻖���P�7z�f����k��`<�r�7jo���]���^��rk���D��g��ӇW��7���h>�F}Y�3����x/�vUkeo�N��L���U9���*�o��o�BȬd,���fII��myQ�7�ӎ���.��+j�kPv�2��Q��"�o�X��T�L�ȚY���T��Zl� �0��D%ޓb�
�NKe����:fð�<��i=�"��X!K����3�{4�}��$o01��fD)z�T��*/}f�v�Z#1�1>p��*����R�J;�Wb��X�VLx�r7g�l�>:�#�/L&Kv�DQPɿ�(|�����o��.�����i��hg]�{GcAV�ꍫT)1��plT��֕�w\P|��b�b��e�](���2ca�
D����Oɠ�� ^2��g�

SW���rܮ��M֬cM|rI�I&�v��t[e
o�� ����Z�e�-S ��s`��l�z������|FYCc��%?l�>�x��M���V�2@q�X7��a;��R
	
<M
5�۬M��q

�ae�r3Yn?��U���me�Csc�m�h��3(��f���m�����rw��	CdO�0���^p�<�)�$��E�&l��(�����˾Y	�q�1q=�߅<�{i�8�߬@��Ʋ�k{6O������rr��$hi�7֋��P�����l����d����:��x��X�����TTŁT֓��%Ŷ!K��
�;��x���v��2��T�82;NVp�а&	�ݛ��0_��3^�0��l7�����$�2v�<�`Z�Q�+S�:Y%.�ë�)3�KSC���6��0�m*�B���[���\�8���n����X���T�����̼OO����Dic4���&O��;>�88��,��|o��v��Y�vKW�$�5�rq�	�\m(#�v�>�h��¹��jʤPS*+D���_5�	�e�ƌ�&���5!or�8���8e����x�L�jd$����$�<�é�Mi'��i��$��.��1uXeAUzϕ�9�OH���yM)�s����]e��#mن�H]qo��i�m)_���̠Q��N��-�]�g�����ɿ�G�/G���,�iǎ-)��W|��8Pƶ���x�8v4�:�7�N�h�R#�
��Z�+�H�*�G$�RF�po+
'�)
ƫO
|p:{���OK0�S��1�)\��G�qH����K�px�=��C*K����U�%�.������H�l��_���Y��'K6�7+��A�!۶+d�W���X��j�+s��N�^���}�Xh�ժԜ�x/�
ш�4U�PGQ'
)K/�x����U�a�A��c�[F���4�g�CP}����^سP���MK\��d��J�οɱmjM������������|߯�%l�?��BL�վh�=W�e�μ~f;:�:F�b��
l�C̿��
��Y������t��c�ziQR�h%��?є&8h�-�����3+�IF�*v�eGV(:�-pL}!�,��/K�;�h��Iz��Z�6�g��sh��:��N*��[�����D�ek����J��|��\>����d?�S��7��®	ͷ�b�TP�k��K=�ʴ�f�)��(
<��~N���-��g�e%�U0��'H,@4�9�b.-*0�B7V7�E�,�+�IZ�� ZkZ�^[n�7W�$��f������������t�%4�BPKi�Z�e%�pp>usr/share/doc/alt-libxml2-devel/tutorial/includeaddattribute.cnu�[���<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>


xmlDocPtr
parseDoc(char *docname, char *uri) {

	xmlDocPtr doc;
	xmlNodePtr cur;
	xmlNodePtr newnode;
	xmlAttrPtr newattr;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	newattr = xmlNewProp (newnode, "uri", uri);
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *uri;
	xmlDocPtr doc;

	if (argc <= 2) {
		printf("Usage: %s docname, uri\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	uri = argv[2];
	doc = parseDoc (docname, uri);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 1);
		xmlFreeDoc(doc);
	}
	return (1);
}
]]>
PKi�Z���GG9usr/share/doc/alt-libxml2-devel/tutorial/includekeyword.cnu�[���<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"keyword"))) {
		    key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur->next;
	}
    return;
}

static void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur->next;
	}
	
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;
		
	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);

	return (1);
}
]]>
PKi�Z�����7usr/share/doc/alt-libxml2-devel/tutorial/includexpath.cnu�[���<![CDATA[
#include <libxml/parser.h>
#include <libxml/xpath.h>

xmlDocPtr
getdoc (char *docname) {
	xmlDocPtr doc;
	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return NULL;
	}

	return doc;
}

xmlXPathObjectPtr
getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	context = xmlXPathNewContext(doc);
	if (context == NULL) {
		printf("Error in xmlXPathNewContext\n");
		return NULL;
	}
	result = xmlXPathEvalExpression(xpath, context);
	xmlXPathFreeContext(context);
	if (result == NULL) {
		printf("Error in xmlXPathEvalExpression\n");
		return NULL;
	}
	if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
	}
	return result;
}
int
main(int argc, char **argv) {

	char *docname;
	xmlDocPtr doc;
	xmlChar *xpath = (xmlChar*) "//keyword";
	xmlNodeSetPtr nodeset;
	xmlXPathObjectPtr result;
	int i;
	xmlChar *keyword;
		
	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	doc = getdoc(docname);
	result = getnodeset (doc, xpath);
	if (result) {
		nodeset = result->nodesetval;
		for (i=0; i < nodeset->nodeNr; i++) {
			keyword = xmlNodeListGetString(doc, nodeset->nodeTab[i]->xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
		xmlFree(keyword);
		}
		xmlXPathFreeObject (result);
	}
	xmlFreeDoc(doc);
	xmlCleanupParser();
	return (1);
}
]]>PKi�Z�!���1usr/share/doc/alt-libxml2-devel/tutorial/apd.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>D.�Code for XPath Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apc.html" title="C.�Code for Keyword Example"><link rel="next" href="ape.html" title="E.�Code for Add Keyword Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">D.�Code for XPath Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apc.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ape.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="xpathappendix"></a>D.�Code for XPath Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;libxml/parser.h&gt;
#include &lt;libxml/xpath.h&gt;

xmlDocPtr
getdoc (char *docname) {
	xmlDocPtr doc;
	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return NULL;
	}

	return doc;
}

xmlXPathObjectPtr
getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	context = xmlXPathNewContext(doc);
	if (context == NULL) {
		printf("Error in xmlXPathNewContext\n");
		return NULL;
	}
	result = xmlXPathEvalExpression(xpath, context);
	xmlXPathFreeContext(context);
	if (result == NULL) {
		printf("Error in xmlXPathEvalExpression\n");
		return NULL;
	}
	if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
	}
	return result;
}
int
main(int argc, char **argv) {

	char *docname;
	xmlDocPtr doc;
	xmlChar *xpath = (xmlChar*) "//keyword";
	xmlNodeSetPtr nodeset;
	xmlXPathObjectPtr result;
	int i;
	xmlChar *keyword;
		
	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	doc = getdoc(docname);
	result = getnodeset (doc, xpath);
	if (result) {
		nodeset = result-&gt;nodesetval;
		for (i=0; i &lt; nodeset-&gt;nodeNr; i++) {
			keyword = xmlNodeListGetString(doc, nodeset-&gt;nodeTab[i]-&gt;xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
		xmlFree(keyword);
		}
		xmlXPathFreeObject (result);
	}
	xmlFreeDoc(doc);
	xmlCleanupParser();
	return (1);
}
</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apc.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ape.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">C.�Code for Keyword Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�E.�Code for Add Keyword Example</td></tr></table></div></body></html>
PKi�ZpP�SS3usr/share/doc/alt-libxml2-devel/tutorial/index.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Libxml Tutorial</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s02.html" title="Data Types"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Libxml Tutorial</th></tr><tr><td width="20%" align="left">�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2473660"></a>Libxml Tutorial</h1></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="surname">Fleck</span></h3></div></div><div><p class="copyright">Copyright � 2002, 2003 John Fleck</p></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 1</td><td align="left">June 4, 2002</td></tr><tr><td align="left" colspan="2">Initial draft</td></tr><tr><td align="left">Revision 2</td><td align="left">June 12, 2002</td></tr><tr><td align="left" colspan="2">retrieving attribute value added</td></tr><tr><td align="left">Revision 3</td><td align="left">Aug. 31, 2002</td></tr><tr><td align="left" colspan="2">freeing memory fix</td></tr><tr><td align="left">Revision 4</td><td align="left">Nov. 10, 2002</td></tr><tr><td align="left" colspan="2">encoding discussion added</td></tr><tr><td align="left">Revision 5</td><td align="left">Dec. 15, 2002</td></tr><tr><td align="left" colspan="2">more memory freeing changes</td></tr><tr><td align="left">Revision 6</td><td align="left">Jan. 26. 2003</td></tr><tr><td align="left" colspan="2">add index</td></tr><tr><td align="left">Revision 7</td><td align="left">April 25, 2003</td></tr><tr><td align="left" colspan="2">add compilation appendix</td></tr><tr><td align="left">Revision 8</td><td align="left">July 24, 2003</td></tr><tr><td align="left" colspan="2">add XPath example</td></tr><tr><td align="left">Revision 9</td><td align="left">Feb. 14, 2004</td></tr><tr><td align="left" colspan="2">Fix bug in XPath example</td></tr><tr><td align="left">Revision 7</td><td align="left">Aug. 24, 2004</td></tr><tr><td align="left" colspan="2">Fix another bug in XPath example</td></tr></table></div></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><a href="index.html#introduction">Introduction</a></dt><dt><a href="ar01s02.html">Data Types</a></dt><dt><a href="ar01s03.html">Parsing the file</a></dt><dt><a href="ar01s04.html">Retrieving Element Content</a></dt><dt><a href="ar01s05.html">Using XPath to Retrieve Element Content</a></dt><dt><a href="ar01s06.html">Writing element content</a></dt><dt><a href="ar01s07.html">Writing Attribute</a></dt><dt><a href="ar01s08.html">Retrieving Attributes</a></dt><dt><a href="ar01s09.html">Encoding Conversion</a></dt><dt>A. <a href="apa.html">Compilation</a></dt><dt>B. <a href="apb.html">Sample Document</a></dt><dt>C. <a href="apc.html">Code for Keyword Example</a></dt><dt>D. <a href="apd.html">Code for XPath Example</a></dt><dt>E. <a href="ape.html">Code for Add Keyword Example</a></dt><dt>F. <a href="apf.html">Code for Add Attribute Example</a></dt><dt>G. <a href="apg.html">Code for Retrieving Attribute Value Example</a></dt><dt>H. <a href="aph.html">Code for Encoding Conversion Example</a></dt><dt>I. <a href="api.html">Acknowledgements</a></dt></dl></div><div class="abstract"><p class="title"><b>Abstract</b></p><p>Libxml is a freely licensed C language library for handling
    <span class="acronym">XML</span>, portable across a large number of platforms. This
    tutorial provides examples of its basic functions.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction"></a>Introduction</h2></div></div><div></div></div><p>Libxml is a C language library implementing functions for reading,
      creating and manipulating <span class="acronym">XML</span> data. This tutorial
    provides example code and explanations of its basic functionality.</p><p>Libxml and more details about its use are available on <a href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">the project home page</a>. Included there is complete <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/general.html" target="_top">
	<span class="acronym">API</span> documentation</a>. This tutorial is not meant
    to substitute for that complete documentation, but to illustrate the
    functions needed to use the library to perform basic operations.

</p><p>The tutorial is based on a simple <span class="acronym">XML</span> application I
    use for articles I write. The format includes metadata and the body
    of the article.</p><p>The example code in this tutorial demonstrates how to:
      </p><div class="itemizedlist"><ul type="disc"><li><p>Parse the document.</p></li><li><p>Extract the text within a specified element.</p></li><li><p>Add an element and its content.</p></li><li><p>Add an attribute.</p></li><li><p>Extract the value of an attribute.</p></li></ul></div><p>
    </p><p>Full code for the examples is included in the appendices.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">�</td><td width="20%" align="center">�</td><td width="40%" align="right">�<a accesskey="n" href="ar01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">�</td><td width="20%" align="center">�</td><td width="40%" align="right" valign="top">�Data Types</td></tr></table></div></body></html>
PKi�ZY��/��>usr/share/doc/alt-libxml2-devel/tutorial/includegetattribute.cnu�[���<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur->name, (const xmlChar *)"reference"))) {
		    uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur->next;
	}
	return;
}


void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	getReference (doc, cur);
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;

	if (argc <= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);
	
	return (1);
}
]]>
PKi�Z�TѦTT5usr/share/doc/alt-libxml2-devel/tutorial/ar01s08.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Attributes</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s07.html" title="Writing Attribute"><link rel="next" href="ar01s09.html" title="Encoding Conversion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Attributes</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialattribute"></a>Retrieving Attributes</h2></div></div><div></div></div><p><a class="indexterm" name="id2587236"></a>
Retrieving the value of an attribute is similar to the previous
    example in which we retrieved a node's text contents. In this case we'll
      extract the value of the <span class="acronym">URI</span> we added in the previous
      section. Full code: <a href="apg.html" title="G.�Code for Retrieving Attribute Value Example">Appendix�G, <i>Code for Retrieving Attribute Value Example</i></a>.</p><p>
      The initial steps for this example are similar to the previous ones: parse
      the doc, find the element you are interested in, then enter a function to
      carry out the specific task required. In this case, we call
      <tt class="function">getReference</tt>:
      </p><pre class="programlisting">
void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"reference"))) {
		   <a name="getattributevalue"></a><img src="images/callouts/1.png" alt="1" border="0"> uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur-&gt;next;
	}
	return;
}
      </pre><p>
    
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#getattributevalue"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>
	    The key function is <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLGETPROP" target="_top">xmlGetProp</a></tt>, which returns an
      <tt class="varname">xmlChar</tt> containing the attribute's value. In this case,
					   we just print it out.
      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>
	  If you are using a <span class="acronym">DTD</span> that declares a fixed or
	  default value for the attribute, this function will retrieve it.
	</p></td></tr></table></div><p>
	  </p></td></tr></table></div><p>
     
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s07.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s09.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing Attribute�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Encoding Conversion</td></tr></table></div></body></html>
PKi�Zo��885usr/share/doc/alt-libxml2-devel/tutorial/ar01s07.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing Attribute</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s06.html" title="Writing element content"><link rel="next" href="ar01s08.html" title="Retrieving Attributes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing Attribute</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s08.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingattribute"></a>Writing Attribute</h2></div></div><div></div></div><p><a class="indexterm" name="id2587093"></a>
Writing an attribute is similar to writing text to a new element. In
      this case, we'll add a reference <span class="acronym">URI</span> to our
      document. Full code:<a href="apf.html" title="F.�Code for Add Attribute Example">Appendix�F, <i>Code for Add Attribute Example</i></a>.</p><p>
      A <tt class="sgmltag-element">reference</tt> is a child of the <tt class="sgmltag-element">story</tt>
      element, so finding the place to put our new element and attribute is
      simple. As soon as we do the error-checking test in our
      <tt class="function">parseDoc</tt>, we are in the right spot to add our
      element. But before we do that, we need to make a declaration using a
      data type we have not seen yet:
      </p><pre class="programlisting">
	xmlAttrPtr newattr;
      </pre><p>
      We also need an extra xmlNodePtr:
      </p><pre class="programlisting">
	xmlNodePtr newnode;
      </pre><p>
    </p><p>
      The rest of <tt class="function">parseDoc</tt> is the same as before until we
      check to see if our root element is <tt class="sgmltag-element">story</tt>. If it is,
      then we know we are at the right spot to add our element:

      </p><pre class="programlisting">
	<a name="addreferencenode"></a><img src="images/callouts/1.png" alt="1" border="0"> newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	<a name="addattributenode"></a><img src="images/callouts/2.png" alt="2" border="0"> newattr = xmlNewProp (newnode, "uri", uri);	
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#addreferencenode"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we add a new node at the location of the current node
	    pointer, <tt class="varname">cur.</tt> using the <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNEWTEXTCHILD" target="_top">xmlNewTextChild</a> function.</p></td></tr></table></div><p>
   </p><p>Once the node is added, the file is written to disk just as in the
    previous example in which we added an element with text content.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s06.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Writing element content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Retrieving Attributes</td></tr></table></div></body></html>
PKi�Z��M���5usr/share/doc/alt-libxml2-devel/tutorial/ar01s04.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Retrieving Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s03.html" title="Parsing the file"><link rel="next" href="ar01s05.html" title="Using XPath to Retrieve Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Retrieving Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s05.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialgettext"></a>Retrieving Element Content</h2></div></div><div></div></div><p><a class="indexterm" name="id2525439"></a>
Retrieving the content of an element involves traversing the document
    tree until you find what you are looking for. In this case, we are looking
    for an element called "keyword" contained within element called "story". The
    process to find the node we are interested in involves tediously walking the
    tree. We assume you already have an xmlDocPtr called <tt class="varname">doc</tt>
    and an xmlNodPtr called <tt class="varname">cur</tt>.</p><p>
      </p><pre class="programlisting">
	<a name="getchildnode"></a><img src="images/callouts/1.png" alt="1" border="0">cur = cur-&gt;xmlChildrenNode;
	<a name="huntstoryinfo"></a><img src="images/callouts/2.png" alt="2" border="0">while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur-&gt;next;
	}
      </pre><p>

      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#getchildnode"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Get the first child node of <tt class="varname">cur</tt>. At this
	    point, <tt class="varname">cur</tt> points at the document root, which is
	    the element "story".</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#huntstoryinfo"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>This loop iterates through the elements that are children of
	  "story", looking for one called "storyinfo". That
	  is the element that will contain the "keywords" we are
	    looking for. It uses the <span class="application">libxml</span> string
	  comparison
	    function, <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XMLSTRCMP" target="_top">xmlStrcmp</a></tt>. If there is a match, it calls the function <tt class="function">parseStory</tt>.</p></td></tr></table></div><p>
    </p><p>
      </p><pre class="programlisting">
void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	<a name="anothergetchild"></a><img src="images/callouts/1.png" alt="1" border="0"> cur = cur-&gt;xmlChildrenNode;
	<a name="findkeyword"></a><img src="images/callouts/2.png" alt="2" border="0"> while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"keyword"))) {
	<a name="foundkeyword"></a><img src="images/callouts/3.png" alt="3" border="0">	    key = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur-&gt;next;
	}
    return;
}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#anothergetchild"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Again we get the first child node.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#findkeyword"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Like the loop above, we then iterate through the nodes, looking
	  for one that matches the element we're interested in, in this case
	  "keyword".</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#foundkeyword"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>When we find the "keyword" element, we need to print
	    its contents. Remember that in <span class="acronym">XML</span>, the text
	    contained within an element is a child node of that element, so we
	    turn to <tt class="varname">cur-&gt;xmlChildrenNode</tt>. To retrieve it, we
	    use the function <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODELISTGETSTRING" target="_top">xmlNodeListGetString</a></tt>, which also takes the <tt class="varname">doc</tt> pointer as an argument. In this case, we just print it out.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>Because <tt class="function">xmlNodeListGetString</tt> allocates
	      memory for the string it returns, you must use
	      <tt class="function">xmlFree</tt> to free it.</p></td></tr></table></div></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Parsing the file�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Using XPath to Retrieve Element Content</td></tr></table></div></body></html>
PKi�Z���5usr/share/doc/alt-libxml2-devel/tutorial/ar01s05.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Using XPath to Retrieve Element Content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s04.html" title="Retrieving Element Content"><link rel="next" href="ar01s06.html" title="Writing element content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using XPath to Retrieve Element Content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s04.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s06.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialxpath"></a>Using XPath to Retrieve Element Content</h2></div></div><div></div></div><p>In addition to walking the document tree to find an element,
    <span class="application">Libxml2</span> includes support for
      use of <span class="application">XPath</span> expressions to retrieve sets of
      nodes that match a specified criteria. Full documentation of the
      <span class="application">XPath</span> <span class="acronym">API</span> is <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html" target="_top">here</a>.
    </p><p><span class="application">XPath</span> allows searching through a document
    for nodes that match specified criteria. In the example below we search
      through a document for the contents of all <tt class="varname">keyword</tt>
    elements.
      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>A full discussion of <span class="application">XPath</span> is beyond
	  the scope of this document. For details on its use, see the <a href="http://www.w3.org/TR/xpath" target="_top">XPath specification</a>.</p></td></tr></table></div><p>
      Full code for this example is at <a href="apd.html" title="D.�Code for XPath Example">Appendix�D, <i>Code for XPath Example</i></a>.
    </p><p>Using <span class="application">XPath</span> requires setting up an
      xmlXPathContext and then supplying the <span class="application">XPath</span>
      expression and the context to the
      <tt class="function">xmlXPathEvalExpression</tt> function. The function returns
      an xmlXPathObjectPtr, which includes the set of nodes satisfying the
      <span class="application">XPath</span> expression.</p><p>
      </p><pre class="programlisting">
	xmlXPathObjectPtr
	getnodeset (xmlDocPtr doc, xmlChar *xpath){
	
	<a name="cocontext"></a><img src="images/callouts/1.png" alt="1" border="0">xmlXPathContextPtr context;
	xmlXPathObjectPtr result;

	<a name="cocreatecontext"></a><img src="images/callouts/2.png" alt="2" border="0">context = xmlXPathNewContext(doc);
	<a name="corunxpath"></a><img src="images/callouts/3.png" alt="3" border="0">result = xmlXPathEvalExpression(xpath, context);
	<a name="cocheckxpathresult"></a><img src="images/callouts/4.png" alt="4" border="0">if(xmlXPathNodeSetIsEmpty(result-&gt;nodesetval)){
		xmlXPathFreeObject(result);
                printf("No result\n");
		return NULL;
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#cocontext"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>First we declare our variables.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocreatecontext"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Initialize the <tt class="varname">context</tt> variable.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#corunxpath"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p>Apply the <span class="application">XPath</span> expression.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#cocheckxpathresult"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check the result and free the memory allocated to
	    <tt class="varname">result</tt> if no result is found.</p></td></tr></table></div><p>
    </p><p>The xmlPathObjectPtr returned by the function contains a set of nodes
    and other information needed to iterate through the set and act on the
      results. For this example, our functions returns the
    <tt class="varname">xmlXPathObjectPtr</tt>. We use it to print the contents of
      <tt class="varname">keyword</tt> nodes in our document. The node set object
      includes the number of elements in the set (<tt class="varname">nodeNr</tt>) and
      an array of nodes (<tt class="varname">nodeTab</tt>):
      </p><pre class="programlisting">
	<a name="conodesetcounter"></a><img src="images/callouts/1.png" alt="1" border="0">for (i=0; i &lt; nodeset-&gt;nodeNr; i++) {
	<a name="coprintkeywords"></a><img src="images/callouts/2.png" alt="2" border="0">keyword = xmlNodeListGetString(doc, nodeset-&gt;nodeTab[i]-&gt;xmlChildrenNode, 1);
		printf("keyword: %s\n", keyword);
	        xmlFree(keyword);
	}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#conodesetcounter"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>The value of <tt class="varname">nodeset-&gt;Nr</tt> holds the number of
	  elements in the node set. Here we use it to iterate through the array.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#coprintkeywords"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Here we print the contents of each of the nodes returned.
	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p>Note that we are printing the child node of the node that is
		returned, because the contents of the <tt class="varname">keyword</tt>
		element are a child text node.</p></td></tr></table></div><p>
	  </p></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s04.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Retrieving Element Content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Writing element content</td></tr></table></div></body></html>
PKi�Zj�(51usr/share/doc/alt-libxml2-devel/tutorial/ape.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>E.�Code for Add Keyword Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apd.html" title="D.�Code for XPath Example"><link rel="next" href="apf.html" title="F.�Code for Add Attribute Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">E.�Code for Add Keyword Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apd.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apf.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="addkeywordappendix"></a>E.�Code for Add Keyword Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}

xmlDocPtr
parseDoc(char *docname, char *keyword) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur, keyword);
		}
		 
	cur = cur-&gt;next;
	}
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *keyword;
	xmlDocPtr doc;

	if (argc &lt;= 2) {
		printf("Usage: %s docname, keyword\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	keyword = argv[2];
	doc = parseDoc (docname, keyword);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 0);
		xmlFreeDoc(doc);
	}
	
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apd.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">D.�Code for XPath Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�F.�Code for Add Attribute Example</td></tr></table></div></body></html>
PKi�Z��BB1usr/share/doc/alt-libxml2-devel/tutorial/apa.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>A.�Compilation</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s09.html" title="Encoding Conversion"><link rel="next" href="apb.html" title="B.�Sample Document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">A.�Compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="compilation"></a>A.�Compilation</h2></div></div><div></div></div><p><a class="indexterm" name="id2587670"></a>
      <span class="application">Libxml</span> includes a script,
    <span class="application">xml2-config</span>, that can be used to generate
    flags for compilation and linking of programs written with the
      library. For pre-processor and compiler flags, use <b class="command">xml2-config
	--cflags</b>. For library linking flags, use <b class="command">xml2-config
	--libs</b>. Other options are available using <b class="command">xml2-config
    --help</b>.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s09.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Encoding Conversion�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�B.�Sample Document</td></tr></table></div></body></html>
PKi�Z
�/G9usr/share/doc/alt-libxml2-devel/tutorial/includeconvert.cnu�[���<![CDATA[
#include <string.h>
#include <libxml/parser.h>


unsigned char*
convert (unsigned char *in, char *encoding)
{
	unsigned char *out;
        int ret,size,out_size,temp;
        xmlCharEncodingHandlerPtr handler;

        size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

        if (out) {
                handler = xmlFindCharEncodingHandler(encoding);
                
                if (!handler) {
                        free(out);
                        out = NULL;
                }
        }
        if (out) {
                temp=size-1;
                ret = handler->input(out, &out_size, in, &temp);
                if (ret || temp-size+1) {
                        if (ret) {
                                printf("conversion wasn't successful.\n");
                        } else {
                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
                        }
                        free(out);
                        out = NULL;
                } else {
                        out = realloc(out,out_size+1); 
                        out[out_size]=0; /*null terminating out*/
                        
                }
        } else {
                printf("no mem\n");
        }
        return (out);
}	


int
main(int argc, char **argv) {

	unsigned char *content, *out;
	xmlDocPtr doc;
	xmlNodePtr rootnode;
	char *encoding = "ISO-8859-1";
	
		
	if (argc <= 1) {
		printf("Usage: %s content\n", argv[0]);
		return(0);
	}

	content = argv[1];

	out = convert(content, encoding);

	doc = xmlNewDoc ("1.0");
	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
	xmlDocSetRootElement(doc, rootnode);

	xmlSaveFormatFileEnc("-", doc, encoding, 1);
	return (1);
}
]]>
PKi�Zg4��<usr/share/doc/alt-libxml2-devel/tutorial/images/toc-plus.pngnu�[����PNG


IHDR	��)�bKGD��#2#IDATx�ch���`���#���@�C"ԣ��j?RJl�d�:4CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureab17802e1ddae3211b1ce6bc3b08aec7{��(
tEXtPage15x9+0+07v�IEND�B`�PKi�Z�ee>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/9.pngnu�[����PNG


IHDRs;bKGD��#2IDATx��!�0GFVb��J,��WX��
�^Y��kTb++#���{�?/��Yٗy/j��!��Rj����+�~ ��E�#y@�������!��s�.�g���E�����O�r/���P8b��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature34623e5e4d48310e409b280afe247602�14$tEXtPage12x12+0+0�m�}IEND�B`�PKi�Zm��ii?usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/10.pngnu�[����PNG


IHDRs;bKGD��#2�IDATx�%��!C#�H,��N^[¶p�\�%��${��;��/yI@��l\�\�y�SM�}�i㎋��s���u�Ȍ��a�X̠ �e�ڭ��v��G�j��!=�d�R�;?ݢCb�	kCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature386e83bb9bdfba3227f58bb897e2c8a5�+
tEXtPage12x12+0+0�m�}IEND�B`�PKi�Z��G(cc>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/6.pngnu�[����PNG


IHDRs;bKGD��#2}IDATx��!�0
�
���Fa�PXXj�'��	������n�n���󩺵�oP�H��l\BuNح��!��i`����d���'��נ��,�˖e�Ըg�NL��L�<
�V���?�s8�
�YCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatured25d7176d67a038afc1c56558e3dfb1a���tEXtPage12x12+0+0�m�}IEND�B`�PKi�Zx3pnYY>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/4.pngnu�[����PNG


IHDRs;bKGD��#2sIDATx��!�0C#��Xdee�P��"�\���o+{%le�ʰ!b���$�ci�1 q�
dCwC���mJV��$��6�hu��T�j~<_�²�|����㣴
K�F��6�[��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature9f82fcac9e039cbdb72380a4591324f5���vtEXtPage12x12+0+0�m�}IEND�B`�PKi�ZҜxFee>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/8.pngnu�[����PNG


IHDRs;bKGD��#2IDATx����0
��v�¬���a`��544T�
�?ݻ/T�ܗ�W[Б!Dغ���[`�T�3�(�f��p���g��c���3�1�ؿ.0��>���_�
+U�9�����9�Fb�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature57be19505c03f92f3847f535e9b114e9�4kCtEXtPage12x12+0+0�m�}IEND�B`�PKi�Z����II>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/1.pngnu�[����PNG


IHDRs;bKGD��#2cIDATx�U��
�0���.)�Bf�t�6#d����H�(�'�������X�W��
9c�A�M-!d>�0(�*�?��/�c}�֮5u��ƌ:�x,�T�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature58a072e070da22f6135cbd3e414546f9hj!�tEXtPage12x12+0+0�m�}IEND�B`�PKi�Z}�XX>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/7.pngnu�[����PNG


IHDRs;bKGD��#2rIDATx�%���0�OV"Y!�����L�O�����
Hd�+�H������퇓��e
_��pD���l��C�0T+�ʫ+���	�VA�jݓ��{�O�9�lsLG�I�z��>61�GVSCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature298368142ac43cebd2586d8d1137c8df&9�tEXtPage12x12+0+0�m�}IEND�B`�PKi�Z�\\>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/5.pngnu�[����PNG


IHDRs;bKGD��#2vIDATx����0
�����~+_Bh���Ilgv�����M���Zm���m��wb$|S�q$��^�%�)%�������YP3�]2�Q�j�%���|�#[7/B_�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturefe690463379eb25e562fcc8cc9b3c7e0߲9�tEXtPage12x12+0+0�m�}IEND�B`�PKi�Zn�y^^>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/3.pngnu�[����PNG


IHDRs;bKGD��#2xIDATx�%N��@4���^��0�+�
�F``�a��+�&���U����
qXҠ�q�
K�����]p�q�˟�3�&�=�ۿ-#�����S:�b�m�R�&j�Q�5c��LCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature80bbda2726ddace8ab8a01f59de2ebdb�utEXtPage12x12+0+0�m�}IEND�B`�PKi�Z�
��aa>usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/2.pngnu�[����PNG


IHDRs;bKGD��#2{IDATx����0D?44,5,�
]����+�f���K
U�G�{��u���k��S��@�cB���SC�hS������{�2�y�4Cm�s^��% ��D��+O��J)}�:T�5`�/�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature80eae529c94a7f47deccfada28acb9df�o�
tEXtPage12x12+0+0�m�}IEND�B`�PKi�ZM����7usr/share/doc/alt-libxml2-devel/tutorial/images/tip.pngnu�[����PNG


IHDR*�	bKGD��#2�IDATx�u��� @!+x���6�K���R+hJ����TaK
		>߁��Rh~j?�g0qF@�����!���eH,��0܆x��0�&p
�^���J��5y�=�J�	%P<�*ğ{���������j�
#��7�^���L~�!=����&Ṳ;
��&rgߊF�m��ͩ�P����;���ot�6B�J�qC
�Xdu���i]}OL�4+|) -�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureee9d877396ce267aeb0179d35f81b2ac3�'tEXtPage25x24+0+0��	�IEND�B`�PKi�Z��eDvv9usr/share/doc/alt-libxml2-devel/tutorial/images/blank.pngnu�[����PNG


IHDR��L\��gAMA���a-IDATx���A �0���MF4
z�;3'���k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
��5k��X�`
�`f�HfIEND�B`�PKi�Z�����8usr/share/doc/alt-libxml2-devel/tutorial/images/note.pngnu�[����PNG


IHDR�b$bKGD��#2IDATx�e�!��0E}���KC
�tAQCACQA�+g�4m�Ɍ��oK�.��q��c ���
D��="���s ��%��d�ǜH��1���y%�M8�f�K
�w��ֵ>i6g-Np���Y�tL#�ߟ�
a��b;�U�#2��V}
�ԣr�V�x�]�zT�T�1����OH��4�]o���z�Χ��g�"ӒN��Hl��U���u��߯���9�<�t�,��t��_�)2H����d�kBCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature3bd747c5e45807006b090dd3e7a26c44ӓ�tEXtPage24x24+0+0r[	1IEND�B`�PKi�Zp����;usr/share/doc/alt-libxml2-devel/tutorial/images/warning.pngnu�[����PNG


IHDRש��PLTE!)1BJRZks{����{{�RR�ZZ�{{��99�JJ�����������11�����))�����������������������������))��))���������!!������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������p;�bKGD�H�IDATx�m�}o�0��M����5�%��%m
�s��zP�^��<?����Q��K���WDŽV�WH?��ʈ�@��n�VY����!�����aY��r�?8�C+�Y"%�}A�pt<����e���e
�t��h�Y��_�ϡC�x�i��E����1��s;P�̾�8ki[�tY�X}+��U��ݭ��H�<n��"��d�nr���>��UD�Kn�k[;һ?0n!��qCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec42b7d2d564aab588891979703f02b45OߓtEXtPage24x24+0+0r[	1IEND�B`�PKi�Z#�>>=usr/share/doc/alt-libxml2-devel/tutorial/images/toc-blank.pngnu�[����PNG


IHDR	�kd0PLTE���������������������������O&IbKGD�HIDATx�c����?|`� h ����B�h��CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturef7e388dabd4ef0097714b5643fdd3cfbb���
tEXtPage15x9+0+07v�IEND�B`�PKi�Z��O.��8usr/share/doc/alt-libxml2-devel/tutorial/images/home.pngnu�[����PNG


IHDR#Yi�&PLTE�!�!)�)1�1B�BJ�Jc�cs�s����ƌ�Δ�Υ�޵��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������GbKGD�H�IDATxڭQ�� l)��x����Y�,]Ҿ����8u�u,�q¼��řN!`���RN`M�}��%,�i�ím����
)��	+���
�C���<���qU;pZږ��zJky�� ���4�y|��50ܦy�k��/.�
��j*1�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature154332ef94ba5222343b4126d6035f91���tEXtPage35x15+0+0~F�IEND�B`�PKi�Z����=usr/share/doc/alt-libxml2-devel/tutorial/images/toc-minus.pngnu�[����PNG


IHDR	��)�bKGD��#2IDATx�ch���`����g I׏j?}-p�Z�ECtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignatureecf413ef47524404f90c44d8c7d12a2e݈��
tEXtPage15x9+0+07v�IEND�B`�PKi�Z��~.WW6usr/share/doc/alt-libxml2-devel/tutorial/images/up.pngnu�[����PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�Bc�ck�k����ƌ�Δ�޵������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~bKGD�HfIDATxڕ�K� m�A��֝I+�o���@^P?�'#H];�<�R��[��Pe��0�2&t<*�Ϭ�7Sm���&Ji�G�����=��Ka�1{��g� �ưCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature2772383288e9cce11a512e2a8adf37b0k�tEXtPage35x15+0+0~F�IEND�B`�PKi�Z�+!�.D.D9usr/share/doc/alt-libxml2-devel/tutorial/images/draft.pngnu�[����PNG


IHDR��K�ZJgAMA���a IDATx����v۸��a<�N�G��3��mQ<�/������ �W�TB1r̩,�Z���4MY�m}[2[��躮m۾﷾�-�[��u]w�\�i��Y)U���w�
*i@\��VJ��x�\[OSI"r��b����q��	��󼪪����Ն��Q�&��R�8*��և��	i���Oh!������ӄ4`c�$�RJk-��R� 9MH�tcB/�ӄ4`3�&�8NN��m�}�@B���4!
�c5�#�4!
mM
}m��$՜&�A�}߶�V�f�n@8z1�0KZ�����<��Ry�c�<y����?�8O�,ˊ�h�Fk��1 �!�� �ޑЏ!�~��#���k�_H�i�>�s��V�8��	B�������Lh�p7������v��8�<�[w�`�9*i�$��4`-�B�
	�!
x�b^�8x5�oT��G�������a���0s��;����&��!��b�;0��7������kBC}����b$�xk���eY��?��|���o�s$��x�� �c��x�����?������	�/����󇄎
{w������:R�qpt�����5Ih'x���H�1'
��<t�x�H��&��)���p8>桕R�4EAB;�[	���?��Hh�������ŏ����1}�Z���BN�BH�Q������v���C�4�)r�B�2�9턶�n}�|�CCk��ׯ<g�QI@���C�zz%*iHֆ5�5��QI@�����QO?������9�BR[Br��I@R"���
��w���tD�Њz�N�4$"�N��INð���!
)�w���Z�˺!
������-h�}���m�)�B)5����Z???�k�#Bv�_B7M���\.}�.���EN��n�+�	m��Z�u]�e�en_���Wƽ?EH�.�Nh��09-}d��G�4쏏��Z�K�������3��,ˏ	��ߺ��� ��q�$|B/�����FH�n����F��V�{��p7�C�y�o~�qo���*i؁�k�k�{C%
��*�}d��F�?�B�4EQ<|�[��w@�6��}d����F�?EN{�p7�h	�B�G����M%
����>zA=�	�4�ew	���i�}d�x�4!
�����ZHNWUŸ�C�4�b/��_a~�9B�����[�4l/���C�4l,���+�4l)���r�ϟ?	�4�`3�&��+m�-�c����8z%*i�@�5�5���������WO���#xyy9NB�����7?��6ϳ��3cNh��Lk�ظw��NH�1&��i�֮.yB�e=�9i�4M�8�m�r�v/	���.���@b�,���5ẻ�V��w���ͬ���������[�x���m=�oD%
������k�	���v�R"��e�2ʽ��V��}B�����v=��%������~��n��4M�0\.�Oǽ�K�km������{_�ބ4D��d桿 �����8Z�9ɧ��GHh�T�4�{�C%
μ���$�ʤ�������k�4�!�O��T���,;NBrzAH���C���y��iʲ,�N��ӂ����Z��ik��òv��V�4��1����} �7�}��J�y�eѳ�I�ބ4<蛄��z�Ӿg��iB�cBrz��i��:���I��nL���녙�~~~.���K܅J����rWB+�i��O����}�%�BH���$��3?UN�p���E��z2?��,��fNn�Xk]�%��kg~�J~��ZK=��q�	i���bߛ�y�q�|�Ar������Bk��y��ݗۉ#�1'
_�Ь�v�mۮ��y��*[�OSI��H�]��V�ބ4|��ޑ��Z�Mr��nx��ޣ$�eQI� �w*�~o*i��{Oθ	Rb�4�4���Њ�.�uYT����iI����_;���[I����pt�ЩJ����ph�:�szs	�{SI8.j�#�u=M%
�H���4�4�#b=��촞��p8��>���O���Q���cN���>���4!
�(Hh���4!
�X�E�4UU�"�	i���g��MӐ�{T�.r���8��$��u��7!
 e�F�I��??MHH��Q��ӄ4�4�;}��NL���l
 A�v���N��r�.�}C����Ӯ�$t�⬧	iI�S�0�	i�S+Ŗӄ4�D�ND�~��1)`�nE�GF%
`�Hh8ɸ7!
`�HhxCN�v���W��O����F���M��]bO1��U�4������	i;����&9MH�
�ӄ4��`O1l.XN�?uB�>�/7" ��<��Zks����
Q��Z)�߻(������ZSI�	�y���Z1�
 r$4��|?�w	���@�Hh���>'ZQI�	�]p2�iB+B@�Hh��ʜ�*�!
 B$��49��s���VJ�@\H�5�q�a�q���v��uY�'�"�D��^C�m[��<�J)r:��r�DŽVw�	��uB+��y�n�Os�-	���D��^�]B�iE=���}�u��	�i1 ��4��<�r�9��R�cNߞЊ��9z�oZL�DNo�Ӝ�+�!
`[���kZL�ĸ�&���	�i��^�Ƅ�{oe�i���	�ػ�VH�5�J�E�eeY���}/��ߕЊ��	���y���c	-��Xk�Mh�:i��kHB������~:�ZQI�GBk���8NB��XcLUU���	��8�}�?\C_�>2���!�א�r�<6j��޻@H��^��(�;�4M���֕�!
�;O	}�N1%o��EQ$��!
�/5t�4���^�o�y^UUUUί������kx��I�]�����kPCC�<y}}u��J)��8	�[XkI�}!�����*�987ϳ1�?��Qn�Ip�_B�,�~���jT{�����9�$���V�y�Z{M�i�^^^�y��[��)FB�!
�%cL]�EQ�����˲���	�O��#��BB�+�4/��vۢ�N9-g[��!
���,��,g[�����*˒��;�`�k����2����,F��=���G�O��zh:%�4���w�ib�܂�n�0�-�i�S7���1��PO+w"��s�&�q/B@P��iIh竭	�4�l�h����x��vС�ijh<�J�f�PO�۱D>��i��������>jh� ��l,�zz�v��e��8��l,�iN���XN��p���dr���C�I��<�m��w~���[�4���7�e�	
��cL�4��^N�$��!
 :��iO�~ZkI�#��h��9��gQ$�1'
 ^��O�)�iQ��Ƙ߿ߛ�$4|c�@���O��|�7	�i����l�s��Y���X�v��yY^χ�l+\cN�n�#{~~β���u��,˺��^�F%
`7��{���~�9�SB[ke����;T�vF���>�>�Ӟv,Qt��kT�vF��,���4-��)���7���R�i�546AHث09������::�!
`���O�@B��Iرe~��i�Hh�(�`�i���qoWHh܎J��Y?�	���n���&�q�x�5�]"�i��2<&ڜ&���J�4	����\�*�Ih����`pn��m�O��X�u�Ҵ��i�QIHֆ�4	
'i)�d�P��8�Ih8Ĝ4�􅜟�󜄆+T�!غ���i�8B�Q���y�_^^�i8AH8�0���4\��ڭ����m[���Ƙ_�~eY��%�<*i�ø7���pD�4v��n�5���r�qoĉJ�qc�.˒zq"�ڒ��{#Bw�ވ�40�H��9�(�@\�q�}�BN#6�Iy}}�,K9�P)�4|f~Zk���o��=B��$��y�gYVU�1���>2D����.��UU�繜	�u���ӈ!
lVJYk��EQ�y^UQ���!
l���Bf�}�A=�m��nI�O�\9�
�fNh��6ƔeYE�e�0�6V&�5km�4Y�IaMZ�@Nc�4��	�0�Ȫ-9+�1p��Fx�4���^H]�u�eEQ(
k��iFHA���u]�d�5c�n�����	�вj����š�2W�iCH��L�OITSX;AN#Ba�^
�<�e/)�7�����Ҁw�'�;�s��y�+
�GQO�7B�+��Ka-;��y�!��!
xgB��&��,����e��AH��"��I[��\�ۑ�������m���o�nƘ,˪�ʲ��ۑ�������b;
9��D�4�+��n@N�9B�eǗ������.(�_Fsُ�i�EH�L�Զm�u	��{7M#��	���!��!
x�u����cVk]E<o�����P��9
Wi��i����0�Ykm]�y�_.k��������kc�e�"��!
�ն����Z���t2����4M�Zke�[�Z���5r�Ҁ_��?�<�K"��*�����a�q��œ���d\Z�i.�&9=���xZ�_�~��I"����RL?|�_�~-u���c��WR�Ks�֚�XPOc
B�n�?�<���<zz�޷Y���i�",[���h.a�ir:I�4��m�>�XR��ei�Y~Qʲ�m�i�m\nFX�8'C��x!
�������?n�ia���i���j�^�зl	~��`~ ����ooo}�?|������������.��Z�oa-c��w��2r�"����}ߟ���1M�TU��K��<���u}z�1�eƍi �y�_^^�q|��,˲i���Z+diu��<sd\
��#�����MN�����|x�Pq:�꺾�w��8MS���	y�E�D��
k�i܈��Yȴ������$�eT:��j_�.�j�8��RO��4���z��/{��;D,������2.S�J�#����!
5�|^SLgY����@�i���2I�hVc̲j+�1�09�����79�G�4���|>w]��
eY>???����<��8>|^�sI����=��:��"������y◗�5���t:�e�p5,�!M��F���<��2�i|��B�C�W��*�RN�|�
�D6��<���Y��j4N�\&�eI6���O���yyY�4�/��4M�a�4�;���;�����i|DH�bz�`EQ4M��i+��4�˔y�c�ua���8�4�!��m�\����Z?==�e�ꖄ�v�q���+i��	\ބ4Қ��5B��<ϯ��+���1���N�FKvA�v'�E�eRXgY�@T���<�e-����z|�6��0+g�����gWw%��]׵�Ԓ>p�/�̩_.���%�w}Ж� ._{��,�\54�+*i`3�8�����,�����w&M�4ϳ�XK�s��ߺ�,ˤ��2:~�4����2H��Y
/d��i����I����S׵����?U|�Ǹ7	�/w��Õׇ�0r:�������(
�
9b+����{9�CVm�+��qoWG��лC%
l���m�.�J)k���P0RU/M�?Id�2i��|_Q�&�����$�^���u���~�LY]}�\duu�Ga.�ޖ-�#��k�s�s:�H��a�ؒ�fY�2�eqs�>)y9i/�B�����/7v�\��}��Y[Z�ske�75�~QI�b���u�u�<�����[z�<��Z9bK�:�RU�,K�я�nգ�4	�k�4��q___�i�E�����Lv�^�ݮe�����Xߛ�$���@.��E����ܒ#�ڶu՜�4�Ks���{On�iٱD֋��78ǜ495ye�n�uEQn�l
-3�RX���<�(�RX�e����H�4PI�p�K���m�ߓ��7o	C�Ŕ�P"ܹ�z��N�4kmUU�0��5��q-	'gU�y.ۖE��Z��g^VmE�\�M��l�FB��J���%�Vk�63��[�w�)����UUIU�
���1MӐ�ɠ�b!���#�b~F/Gl��02�I�}���#Fdƺ�kY�}����N�4�i�ڶ�ne\�u}:�\ݕo2�-ۖy=A�!���\��x!��4MeY�Љ!���8Y�e�yzz��Ի�4W�}�u]�U���iY�%����z����mxp��n .eY.3�������2�+{�n}/?�7VJ���VmI/z�E|S��HM���Q.k�|����ͷq��}�P7N�Q��P�h�!
�Ek]���(��"J)��x�0������M��^�ˌ1y���3�œ4��\.+�S����.b�	�)km�g����PI�Y�Wa�8v]W׵�[�bY3����$�H{�_-{�o}_�*i F���,���b��ҫ�?%��D*�2�q#*i FN�ǔR}ߗe)�qFHj��Z��dt	iY�Es~D%
D�Z���~����i"̃��П��o���ߠ��UU��!�ii�5��㱗��y��Y�UU�5>E%
�k����ו;e�ZQ�L/�b�,˺��i�^-������g�2Ć��e����ue�fY�����_zW\Z*Q9��:Y���U|��c����,�x�¶i j�0���qW>���Y�Kڐ�^Xk��*��7�&�v�)a�|��Vi vooo]׭�H���i��}$tQ߷��6�m��4���@6,��M����=;i[�%�!�����?�69L�ؒ
F\݃W�BN���0�"���9�[vG��|��e���ޘ�׿_k}:��q�C�����#J+Y��$��@�1MӬÚ����w��ބ���PR�:�+�䈎�(X�up|���ݼW�����Oh��H�w�,��G꺮�JEv�E�eMӐ�P4�{�u��XZ맧�`��FRCO�i�.��ZNHhB؇y�����7^�u�4M���ߎ%>�K�����pu��C��X�>H��m��:Z����(���W����j���m�B�����vc��?��\I����XI�ӄ�&C�RX�'��)�5{"F���T��
D�	����J�,�d�����ۉ��
�4�'�8����_�u:��8W7&��ߑC$ew>NB�����SU��rYsI�y����F
���Ry�˪�y�e��m$4�GH{b�q��}�E�0�ӫ�ߑC$�1���Kg��m�Hh���v������/��UNo�/wxRX�B�(�F�Բ�glGD��v�Z+Gn�q�Z���7_j�5�mB/�������A�ļ=����$J|/ҟ_�qW'�K��e��t��ߓ�EUUOOO�ө,�[އe_n?���YF�����:Y��!ӏE���#YT-U�8������0�
��Z�I��iMI-�O��>FB�e�,�VJɦ��fHh܋Jث�m��j�yzz�7�I�[,�v��,�M�0��PI�d�-�B����T{w�x��7Zή���UUI���}aOi`��e)˲�;K�m+�ʷ�f�^���6տ#��_�WZ�N��1t}�)VE�	��6�����?`ߜ:�uݏ��Ӯ�MӐ^�W��@���v��e��~��L�~�Hh`�I#"���Z;ϳ�A$[k-7��Z~��SwA~X�%���ҁ���.���~DHcKKO�$t(���%9�u5�g����yJ]E��HS�}����󼪪w�NBb�4�!���N��x�,�zZ�JjJ���8��///+w϶��u]�����4���A6yX�Zb��p���y��a�M�de��Zk�<�ш�/�����&���QI#���NB�k�[��2x{��zǗ���?��ڲ,����1$4B!H�+}�� IDAT)��g�W�U���r����ol�eOOOr5�!
�$�۶�d�LZ7M��|����___��y}�!
����neO�z�\&�On{'�Xk���-ے�DBk�\X`C�Z9XW
��g���rʯ��ʲl�[�A�bI/^d�Ox�4ܓ�}߯_���RWU�^N��������֣��c�ڶm�����{Gz˧iJ/?�1UU��$4�??pF��^__��o�;�<K���<����qp��n�!ۉ��#v�,�N��1f�`s�m۶m�zup��"8 =b��v�{��4M2�;M���l���K�Ѐ[� a�q��s۶;�9�DO)�����<� 	
8��V�Q
��'��7�sb9]UU�[Hh�~��a���0	t6$�Ӳ�Z��#�O��ƒ����Hh�RNgYV�u�o
;���C�G����½y���s벲,���_�S�%	
x���jBk���[!�ǛQn�7~�p��mNh1����ˮ[�DUUr��$4?]��,��.B�����ZkO=��Ca��[�����]"�fu]���Z�8GDk�<4?c�I�m���O���{�����)��)X�Y���,4���_km�����l���y�&��<�V��8��i��1y�k�f�~桁�i��kB[k%��,����ދC~�,��Qh9hR��w`�mk�����x��yY�]׭��֚�B"���	-I\�u����O��e5QQRUK�+i���0Y���b��o����]d���*�%	����6�,{��X����}�;���/����d�s���_?�PU��t
��(pd�4>�/��&�:^���1����_x����~Ϝ���|>;�y����~��}a�����n�Z�eYY�eYfY���˘�Ll;��Ud�w��]�j�^z�_
���1�{RC;O���O���tr���ʲ���Ӡ�4���r0r䆓K����:~DH�?x�S�t:UUU������s����G�7����H1�d�~�&W#��GH��|��Z�_�~�e�i�w�������G���^I7����4د�����b���4����ׯ_n_�Z�uݮ��Z+��/%���_��i(�a�[�w>�Na
菤�v��R��:��}c�_J>��Ӏo�4܏r��p]�ۮYʲ�i���L��6�8yOd8�n��|��>:�5t��M�l����A���%�v]L���N.u�\8u�!}h�kh	�<�#YD++��!士�m���	-���I�M8��-��/��j���.���(���<��0��b��!9Oh�+#��eY:<S��>�a�jSJMӔ�D+��)�4gB����L'�ڊ�8��[N])E�H�?��s����JeY�d`VN�\�mYk˲t���r�Ҁ'�>U�I�b_qX;���H�fsu��o�D+�+�:H��W����\'�����믣��
SxO�����
'��J)c��L���{��V��ǜ�m
@�AB���b��ᔢ��*'k�����pn7OX<��^8�g	�4�v��
';�y�1�������	���dkm��B�v56�}2��]>gq#�����u��]h�T���e�ۦQ���8Ԟb7r2-��f&�dY�䳋��r�0�
8�ק-�磆�|O���Wi�N)���p��y�u)�9�����ŧ�1feN�f&)��Zّ�ɥd��KP�tzH�����Z�ms5<0C�u�@҉!�o�&b��Y<��u]���dڼ'�y򂄾��|����H�j}WJ��
�����H���&?d�;�2ZdY�d�1����m[���K�{X����<�k�R2ܝ��"�<w�K(�N���9V[�Nz��W��u����ڮ�R}��`R{

��w���$G�e�GH��N.5�#m�J	>���m[�.r��+a���:Ȁ��|A۶m�:�`�	-e�3�R}�1�(
W�E��c-�Fʏ���ЏY?��~ò�I۠���}O�7𰔟ȩ:��$���+�^��q-Y0���0���I���$���ckm�oѢ,KW�c�f�s��Gy褁Qo�ZWUu���(
W�i�X3
<&�GsJH�5�iZ3!m�Ͳ,���h���0Ƹ:r�Ao�1�?��@B�1M�W�#�� #g��apr)�P�@'��^c�elM%W��}���a���zGΙ��3z���^Ik�u�ʾnc��cw��Z�m����!�Ů����ic��qu?;"3�?��@1
��(O�=b�{�����LE���a�������(��i�|>;�&�4M�0���,��ukm�4���+{�:��z_��v��	���a�GB]�Gk�&���_��cpzdQ�Tχ�F�u��y�E�<w���NeY�p�a8r�݁�ڻ ��/x�Qn��0N��7����j���@�9�>lB;Y�##Nni��<w���,[wu5 mzvG�ډ�Yl��1�P;u���*W9=���ra-p�=�cF
������ڑ�^H���KEAH�8�<Z�kh��l4}����y��~(U��>첫Oi��^��Ek�4�,�vrc@�9٘��b����|�JE�ʮ�->�N�:K�F��e�$��܈'іڶu����:�T�4�־�������RC���Z+�.�u\ ��\~q9�r�#��e��)��>	����t]�v=�5k�r�䟉�<����_�c���㑔���<�Ғ�����Z+g�r?Y��/j��1����Ŷ,`wOx!�
y��y�oc���$����,˲,��`VJ�}/�,9��������돟$��3[�)�@~1�j[ί�w;tx؃#WX�Z;���r��߫��|t��UU5M#ߗe��QE~�$��R�巌'ǜ���?��5nq:�R��FHo)LN�D��nZ)U�8����-�ijD���K�G�r��|���!=�G>�X���-�㸮k��לNo��yB+�����ny]c�O	R����1�Y���� �ޞ��m�z=x �qo	�e`|�c����?�*�/����S��l����ӷ;TB��t��wPz��<�5cRd�	�a���7�Iΰ�1��0��	�{����r�3���YFŗ�s����/�g�2�(�<�?�F��Y��tD���w��G�&�˲��3Y�-���׽����@f����8QIG�z�$�X���"�z}�1�I��1f���:$4��tt���;Zs�Q#YN���!�z4��axyy��Ih�B:F�{_�־��PC;��R�0�L]K��E�4Mm�}��K��ґb�AB�!%�DuQ�o��grH	
xBHNjz��iY�%�,G>�������c�����EHG��9MBo�zT\)u]d��E"ٲH!�c���8��wI,E�tJ�OX���˒���ǻ�]�0\��	�Bz�ӌrGN��e܅2�އ��4	��fF���Ax7���2�Xk���0���LBGNvA!��`���$��7IhY<ϳ�^�G-[R�t/+jh`���$9���[��!Q2�j���D�냗����%�6������54!�?���^nIb�UJ�����x�d�m9Rb�&In	�q����}����u�{��iߣܲ+u]����\Jm�ّ���IJ)�:���i�!�c{?/�_B�*޲,�<��@�E�$s��<� � )��܃s����}�oN�K�,˪��z����m��0�<Kr+�dl?��q�!�{{�i	���󳫑m�d\N����%-��Ih �t
��Ӟ:˲<�O�STQ�	lc�,I�Q�:��PIh �t"��ӞV[��4���r�L�t��+���Hh �t:��iO5tQEQTU�ӄ~g�_Z�d>{��A�
!�y�w]���z`M���.�R���H�w$���2���-���[��@l���YO��N\�f��^��^�>��@�����o���>\���`��&��j�ۂ&H�
���崵�r�(����О,���T��Ⱦ^ߵ����"���E%���iz�f�����.NB1#�S�mN�Б���%��]|�
��bFH'n�>2:N׭g��a$4-B:}��iz"܋�;4��/pYQ�󙄎�$?*�VOk����HB8&*�VO;��GB8,B�@��[$4�##��e_9MB88B�p���$4�GN����Ê9�Ih��qř�$4,�C�-�Ih�FHݒ�r��wBB�;f���$�뺖��7AB�Gl�	�o�Hh������Ih�
!�??MB�7����rP���N�o2���,}��1&�s�B%��������Z����i��7��1Z�,��c�1J)��1F���#'ظ�4M�<OӴ��ڡ��<K��<ϒ���C��⚾"������{&��֗�E�Rr>:ܓq�gcL�u�4
� ���_U�˯��G���]�-�\E�ey�/ն���/���m��,�*�G�X�%�8��ھ�iZ�f�)o�RU�ei������[a�ei�e���k���$���8JNo��EQc��ZF���ɽ���n����k)����m���<���f�9�2�e{��9
�H3��t��9ڿ��6��(d�:�š�����a�NES:O�麮#o�
��EQ�b��J'�e��|�%U[��ݴ�EQ�eYE��-�i)���0}ߏ��@�;�y>CY�y�WUax�uY����m�O@i
{{{KcH@VZ��8C�4�A��7��if����8�}�솱��8�e��G�Raƽ���Ӊqo��㐖�sXӆ�֧�)���z��i�m>��=���0�w�v�<����y�UUm};�loƽ�Ξz�}��r��]Ɨ�u����OCY�i�!�ʞy��a.��lv4�<_.�i�d�V$
e�r���n�w�<�.%�Lh����A�뺎d��~o�d�y�۶�|�^�'{���|:��11}/9-��^�|>7M��iǰ��n�+Ƙ�i�i��~������D�!=MS۶;��3�u�4��z�{Q�����i�^^^����PsUUeYn}/J\?-�e�������L[k��1,�3?����@�"}�œ��H���x�++��q�I�ږ��I�7<,�G�0ooo�ZbX�V��-k����S-_ȟ��9��V7���j�o�e�z�=�.�˲�T�eYJ�dYf����o��n�Qe��<���8�>h�</jC��e�g�F�89�~d��C-LB��ܔ`^R�:��%�Rj/��織�Zkj��I������_�+K"'�/��|ANHIDO��m/����ZWUUE�e�ߕg�2{i���Z����vw�w�D��EAN�Nm?<+���R�J*7Ms=���]�IZ�-N�β�,Ki�
���.ų,@B�2�ÿR��$�Du�u��r����%��PO�.@b���N�(ʲ���JӚ��ӫ����ˑ��iE��l���)&�Gưe��cd�w������Ұ�#�wB����ɹ�B�ɫ�:���4;v�9�i	جq�_Bc�A,��0}�w]����sZ�G�����5��<����_�-Y��y�uaJ���Z�m��_<��%��@G�#{�HN�	��9-_��v'�c�r�xڱDNt��<�I�[E!
emۆ�iy��ӊ�i��%	�#���8�Nav)�A���xyy	�=ϳ�BN@��=��%tY���ϱHu/YQ��ׯ��2�猪��y~�}C�i��i�;����`�Y���}�KF$�����tR�4�����Z�($�S";�E�{��:�yY����)O��rt�Rt&fI,k�L�s��V�{����x��eӮ���^66�O9�_��k�\�}NN�SQ�4��y|B��������,����i9�9��6��4���z<yZ������2�Un2���KN���g���5M�lL��%����E6A���y��|MN���	�IUU*�rZk=�s�uZ�,}�Ľ��\K����O%�+�N�9=�lCb��
��\>�H��t�u��u�0�
�Ȝ=�H�`|�\<��BZ�ݵF�f����9���LZ�e�����5�)�7*���*ߓ�m�}�_��9xʓЛX��a|�&��r>��?&@=͸7���}��*�RV�{�������xe����z�Л�.�Z��|��1r�q<^!�Б���,�|l�>M�|�'����*���JY��<��n�6��B�1?
���I��u�/G�a�}��������lA�8���g[E�t:i�}��1��0y���A&�z��:׷�6M���m��A��w�	�D�4��F�g{�QEY����iʲd��V�x�x�c�HhW꺞���贜�aby���&�l����{�����yNO�4M�1&�Ao�:�e�������A�Z����-'R8�=�b8��Ss����K"�	�ž4HN�8!C�MG���d~�Qn��I䯗���Jk-o�<�n�}�4�㸔��YYO����]%���@r�y1-˱�^ӭ��i@l�i��$t0Z�_�~9����ik-	
 B����^n:����c��<MS�3�⮜�S@�>yv�<4�bi�&��,����3�s��454���i�ӓeYQn��y�.�bZݐ���b�!�<t���p�}��i�mNSC�ܿC�y�9��i�"o[|��$4���+�����N�ֺ,K���Yk�a�����z��$4�]ȕR]���M�I�x8߃l�y��/��d��D>����w]�i�G�����x��4�4M���>˲��TQr�{�`��]?}����dő�L���odYFB������.E9��1�(
W�n�r�5������/@N��SU��o�^�b��kؓ�>�,�N���oǎz�`_�=7 ����vZ�,��7;?���8�;��a �#!놝\JL;���._���p�l�J|�d)�ל��z:Czz������2�}�%���X|7��/7� ����繓�B�,����y������Dkm��[	n��=$��i�Z�y�d-=����{8SO�-�sc�����ꖐV�ө+��ɑ�4�M�n}4�G�0I�o�<�K
�Q?�ө����י�b�o���N�1&˲�E��v�g�ip��Hr:=�ڢ(VNK�*,Ů&��#�er:1Zkc����Nn	�iź�eY��
����np��N�e�DN�^�_�ЪiHƽ����A����Jph�C��N�J���-�L��iX�%��|��!���T�,�e�����	iEN�1���|��g!���[�������2�9�g뻻i���"�w�Z+��\�%X��V�G�[+Ka���-/!�؏l�ֿ�$48�+������	ip�cH+��]�Ӡ׼�Nf��!��#�k��3��B\�Ҋ��	��W^��7\	�*TN�'��8���w	�BZ�#�\.�q�������D��V�EL޽���������ʸw�\}�Y��(����9͸������i���y�����$��ޑY��J.��9���f���{ǣ���Z����-g��{��ߛ�y�@��;�]��[���|�{��ߛ����Ƙ_���ť�ސ$�7Gk]�%���!��������q}���C!���-h����q����|��JN����h�TQ�v���"������Ry���	�WH+r:�q۶]cLUU��(��V��8^.'�b�1�'ƐV�O�|�I��R��*Z���x���Zkm�uN6�뚖1�'ސV�Z����,SRF�?�?a�i����ʳ4EQ�u��R�O�Ҋ�v�m[W	�eY]�l�
^� �9��0�08Y-�ic����Ҋ�^g���]utk���a6|��s��~��պ�su��ih���Ҋ�~�ۄ.˒��0vҊ����r9�Ϯ�zz#�IDAT���.���� ����"�o�6��RUU�S7�ːV��
��w��eY���^CZ������<�R�S�Ҿ����a�\.�\)��1eY�e��hi�!�����v��1�i�}H+�9�u�^r�SB???��^
!�<紵v����>�N$4l"��V������aBk���hB6�NH���N1��yQ�/[I*��!s��(��{\4	
J-��rz��m�&��V���puM�iu���z�&�5��t:����4CZ �=�r+�����b��?����.��������e��p�V�"���i��,�^��CZ�n�6XN�K說؝��~H+�9--�r�wB��
�r��VI䴿���h���$�8���>29q�i}d�kh"t�JZ촞&���j�9MB�a.�ծr���#;֜�秗�'ޘ �`�XI���iO�O*��!�"�iF����݋�ƽ��CW�"�z��,i���i����<����Ü��j~Z"|�&�������RC���w��4����0��0���4�����_��Y�Yk��|����ל�w^k�$4$����לv�����8��}dn���B�g��i�CH�$�&� I���iREH�!œ&� a��}��i�FH�-��&� y��#6�i���~І9MB�Aҏ�$�Ih8Bz��9MB���k��,Ih8Bځ9]�eUU$4
�`9��,F�����TO��pX��K�s���##�s��t�����9�i:���+s��(Bڟ�s��Bڣr��,i���ip����Ɯ&���!���$4�#B:�orZ:���!Χ9�$��:�-bFH�.�Ih�7�Ж�&����m�������?`u����IEND�B`�PKi�Z��`~~8usr/share/doc/alt-libxml2-devel/tutorial/images/next.pngnu�[����PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�BJ�JR�Rc�ck�k����ƌ�Δ�Υ�֭�޵���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1�`�bKGD�H�IDATxڽ��
� �U�\��&�{�W]��؟2!BrwA~�p)#Հ6�L��2���D@�n�R�̌��QK%+�uKe�h�݇YA=���qfn� �WRә�[P�z��2���4浱��y�,Ǭ���:l&�XDz�CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturebcb022e8ade53bb4f94fb0f70d7c0a8cu�ktEXtPage35x15+0+0~F�IEND�B`�PKi�Z�P����;usr/share/doc/alt-libxml2-devel/tutorial/images/caution.pngnu�[����PNG


IHDRש��PLTE!!11BBZZcckkss{{����s����s�������s��{����s��{����������c����������Z��c�������c�����������������1��9��B����1��9��������������1���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������_��\bKGD�H�IDATx�u�ێ�@��b̮�Ic�AP�`bx��sBE�U�_��Oh�<��`�'��1��wp���	�W�ȝt:%su�&�w,�H��ȯ�f	�������59��v�:��\^
F;`�H�J'�8��71���ZJ��+��b�2B��8�����Q�$�w��RK��v)�nR��p�t��}��������Vb�T�z�D���v�@��=�rP�����du����v�z{N�l;�a*CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec70387830aa4ecd5a4a32a852283b3d6�P�tEXtPage24x24+0+0r[	1IEND�B`�PKi�Z�r��ll8usr/share/doc/alt-libxml2-devel/tutorial/images/prev.pngnu�[����PNG


IHDR#Yi�&PLTE��!�!)�)1�1B�BJ�JR�Rk�ks�s����ƌ�Δ�Υ�֭��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ĪbKGD�H{IDATxڵ���0C��V%2��o%e�Ķ8�Xz���\�<u��ԛ�+�F�a�>#KS��!�Q�aĪ
(9�Wv|�Y��Y���d=��[�髂���N���g�$�
����C=��%���CtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignature0f87aaf0b04e24ba165f2a4bfa6bca57k�tEXtPage35x15+0+0~F�IEND�B`�PKi�ZSq�D��=usr/share/doc/alt-libxml2-devel/tutorial/images/important.pngnu�[����PNG


IHDRש���PLTE)))999BB1ZZ)ccBBBRRRkkBccRssRccckkk{{{����9����!��9��Z��{��c��{��J��R��Z��c��k��{������!��1��9��������������)��1��1��!��Z��R��s��c��k��B��c��{��������������������������������������������������������������������bKGDCg�
bIDATx�m�S�0�3E�1�����K�PT���F'�����Ǯ�Q��]�_i�K�B�&�F�(�6���r��c��/�Ѵ�\N��h���* �2p�=�:��J�v�?�����6��|
@}�`�^�>���s
P��vB��ɨ�@�d6"�o;g�`Ps�+����s%��ǯ%@�S�{4�ܾ�U�-�s"�1ч��?�j�<`g ��eZ�*�+��æ�2�_Yv�*����lv�~�gZ�[�s��Y[Ða;	=��/�oJĘ!�f���cl�Rm�RCtEXtSoftware@(#)ImageMagick 4.2.8 99/08/01 cristy@mystic.es.dupont.com��!�*tEXtSignaturec3ecc1fc5135d1e959695e569d213122ri�IEND�B`�PKi�Z���
�
5usr/share/doc/alt-libxml2-devel/tutorial/ar01s02.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Data Types</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="index.html" title="Libxml Tutorial"><link rel="next" href="ar01s03.html" title="Parsing the file"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Data Types</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialdatatypes"></a>Data Types</h2></div></div><div></div></div><p><span class="application">Libxml</span> declares a number of data types we
    will encounter repeatedly, hiding the messy stuff so you do not have to deal
    with it unless you have some specific need.</p><p>
      </p><div class="variablelist"><dl><dt><span class="term"><a class="indexterm" name="id2526186"></a>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLCHAR" target="_top">xmlChar</a></span></dt><dd><p>A basic replacement for char, a byte in a UTF-8 encoded
	    string. If your data uses another encoding, it must be converted to
	      UTF-8 for use with <span class="application">libxml's</span>
	      functions. More information on encoding is available on the <a href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Encodings-support" target="_top"><span class="application">libxml</span> encoding support web page</a>.</p></dd><dt><span class="term"><a class="indexterm" name="id2526232"></a>
	    <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLDOC" target="_top">xmlDoc</a></span></dt><dd><p>A structure containing the tree created by a parsed doc. <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLDOCPTR" target="_top">xmlDocPtr</a>
	  is a pointer to the structure.</p></dd><dt><span class="term"><a class="indexterm" name="id2526266"></a>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
	    and <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODE" target="_top">xmlNode</a></span></dt><dd><p>A structure containing a single node. <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNODEPTR" target="_top">xmlNodePtr</a>
	  is a pointer to the structure, and is used in traversing the document tree.</p></dd></dl></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Libxml Tutorial�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Parsing the file</td></tr></table></div></body></html>
PKi�Za�AMkk1usr/share/doc/alt-libxml2-devel/tutorial/api.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>I.�Acknowledgements</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="aph.html" title="H.�Code for Encoding Conversion Example"><link rel="next" href="ix01.html" title="Index"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">I.�Acknowledgements</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="aph.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ix01.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2588597"></a>I.�Acknowledgements</h2></div></div><div></div></div><p>A number of people have generously offered feedback, code and
    suggested improvements to this tutorial. In no particular order:
      <span class="simplelist">Daniel Veillard, Marcus Labib Iskander, Christopher R. Harris, Igor Zlatkovic, Niraj Tolia, David Turover</span>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="aph.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ix01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">H.�Code for Encoding Conversion Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Index</td></tr></table></div></body></html>
PKi�ZA��M�	�	2usr/share/doc/alt-libxml2-devel/tutorial/ix01.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Index</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="api.html" title="I.�Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Index</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="api.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�</td></tr></table><hr></div><div class="index"><div class="titlepage"><div><div><h2 class="title"><a name="id2588704"></a>Index</h2></div></div><div></div></div><div class="index"><div class="indexdiv"><h3>A</h3><dl><dt>attribute</dt><dd><dl><dt>retrieving value, <a href="ar01s08.html">Retrieving Attributes</a></dt><dt>writing, <a href="ar01s07.html">Writing Attribute</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>C</h3><dl><dt>compiler flags, <a href="apa.html">Compilation</a></dt></dl></div><div class="indexdiv"><h3>E</h3><dl><dt>element</dt><dd><dl><dt>retrieving content, <a href="ar01s04.html">Retrieving Element Content</a></dt><dt>writing content, <a href="ar01s06.html">Writing element content</a></dt></dl></dd><dt>encoding, <a href="ar01s03.html">Parsing the file</a>, <a href="ar01s09.html">Encoding Conversion</a></dt></dl></div><div class="indexdiv"><h3>F</h3><dl><dt>file</dt><dd><dl><dt>parsing, <a href="ar01s03.html">Parsing the file</a>-<a href="ar01s03.html">Parsing the file</a></dt><dt>saving, <a href="ar01s06.html">Writing element content</a></dt></dl></dd></dl></div><div class="indexdiv"><h3>X</h3><dl><dt>xmlChar, <a href="ar01s02.html">Data Types</a></dt><dt>xmlDoc, <a href="ar01s02.html">Data Types</a></dt><dt>xmlNodePtr, <a href="ar01s02.html">Data Types</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="api.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�</td></tr><tr><td width="40%" align="left" valign="top">I.�Acknowledgements�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�</td></tr></table></div></body></html>
PKi�Z�1usr/share/doc/alt-libxml2-devel/tutorial/aph.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>H.�Code for Encoding Conversion Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apg.html" title="G.�Code for Retrieving Attribute Value Example"><link rel="next" href="api.html" title="I.�Acknowledgements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">H.�Code for Encoding Conversion Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apg.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="api.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="convertappendix"></a>H.�Code for Encoding Conversion Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;string.h&gt;
#include &lt;libxml/parser.h&gt;


unsigned char*
convert (unsigned char *in, char *encoding)
{
	unsigned char *out;
        int ret,size,out_size,temp;
        xmlCharEncodingHandlerPtr handler;

        size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

        if (out) {
                handler = xmlFindCharEncodingHandler(encoding);
                
                if (!handler) {
                        free(out);
                        out = NULL;
                }
        }
        if (out) {
                temp=size-1;
                ret = handler-&gt;input(out, &amp;out_size, in, &amp;temp);
                if (ret || temp-size+1) {
                        if (ret) {
                                printf("conversion wasn't successful.\n");
                        } else {
                                printf("conversion wasn't successful. converted: %i octets.\n",temp);
                        }
                        free(out);
                        out = NULL;
                } else {
                        out = realloc(out,out_size+1); 
                        out[out_size]=0; /*null terminating out*/
                        
                }
        } else {
                printf("no mem\n");
        }
        return (out);
}	


int
main(int argc, char **argv) {

	unsigned char *content, *out;
	xmlDocPtr doc;
	xmlNodePtr rootnode;
	char *encoding = "ISO-8859-1";
	
		
	if (argc &lt;= 1) {
		printf("Usage: %s content\n", argv[0]);
		return(0);
	}

	content = argv[1];

	out = convert(content, encoding);

	doc = xmlNewDoc ("1.0");
	rootnode = xmlNewDocNode(doc, NULL, (const xmlChar*)"root", out);
	xmlDocSetRootElement(doc, rootnode);

	xmlSaveFormatFileEnc("-", doc, encoding, 1);
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apg.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">G.�Code for Retrieving Attribute Value Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�I.�Acknowledgements</td></tr></table></div></body></html>
PKi�Ze��VV5usr/share/doc/alt-libxml2-devel/tutorial/ar01s03.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Parsing the file</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s02.html" title="Data Types"><link rel="next" href="ar01s04.html" title="Retrieving Element Content"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Parsing the file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s04.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialparsing"></a>Parsing the file</h2></div></div><div></div></div><p><a class="indexterm" name="fileparsing"></a>
Parsing the file requires only the name of the file and a single
      function call, plus error checking. Full code: <a href="apc.html" title="C.�Code for Keyword Example">Appendix�C, <i>Code for Keyword Example</i></a></p><p>
    </p><pre class="programlisting">
        <a name="declaredoc"></a><img src="images/callouts/1.png" alt="1" border="0"> xmlDocPtr doc;
	<a name="declarenode"></a><img src="images/callouts/2.png" alt="2" border="0"> xmlNodePtr cur;

	<a name="parsefile"></a><img src="images/callouts/3.png" alt="3" border="0"> doc = xmlParseFile(docname);
	
	<a name="checkparseerror"></a><img src="images/callouts/4.png" alt="4" border="0"> if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}

	<a name="getrootelement"></a><img src="images/callouts/5.png" alt="5" border="0"> cur = xmlDocGetRootElement(doc);
	
	<a name="checkemptyerror"></a><img src="images/callouts/6.png" alt="6" border="0"> if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	<a name="checkroottype"></a><img src="images/callouts/7.png" alt="7" border="0"> if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}

    </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#declaredoc"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>Declare the pointer that will point to your parsed document.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#declarenode"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>Declare a node pointer (you'll need this in order to
	  interact with individual nodes).</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkparseerror"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>Check to see that the document was successfully parsed. If it
	    was not, <span class="application">libxml</span> will at this point
	    register an error and stop. 
	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png"></td><th align="left">Note</th></tr><tr><td colspan="2" align="left" valign="top"><p><a class="indexterm" name="id2525337"></a>
One common example of an error at this point is improper
	    handling of encoding. The <span class="acronym">XML</span> standard requires
	    documents stored with an encoding other than UTF-8 or UTF-16 to
	    contain an explicit declaration of their encoding. If the
	    declaration is there, <span class="application">libxml</span> will
	    automatically perform the necessary conversion to UTF-8 for
		you. More information on <span class="acronym">XML's</span> encoding
		requirements is contained in the <a href="http://www.w3.org/TR/REC-xml#charencoding" target="_top">standard</a>.</p></td></tr></table></div><p>
	  </p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#getrootelement"><img src="images/callouts/5.png" alt="5" border="0"></a> </td><td valign="top" align="left"><p>Retrieve the document's root element.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkemptyerror"><img src="images/callouts/6.png" alt="6" border="0"></a> </td><td valign="top" align="left"><p>Check to make sure the document actually contains something.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#checkroottype"><img src="images/callouts/7.png" alt="7" border="0"></a> </td><td valign="top" align="left"><p>In our case, we need to make sure the document is the right
	  type. "story" is the root type of the documents used in this
	  tutorial.</p></td></tr></table></div><p>
      <a class="indexterm" name="id2525415"></a>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Data Types�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Retrieving Element Content</td></tr></table></div></body></html>
PKi�ZE-�5��1usr/share/doc/alt-libxml2-devel/tutorial/apb.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>B.�Sample Document</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apa.html" title="A.�Compilation"><link rel="next" href="apc.html" title="C.�Code for Keyword Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">B.�Sample Document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="sampledoc"></a>B.�Sample Document</h2></div></div><div></div></div><pre class="programlisting">
&lt;?xml version="1.0"?&gt;
&lt;story&gt;
  &lt;storyinfo&gt;
    &lt;author&gt;John Fleck&lt;/author&gt;
    &lt;datewritten&gt;June 2, 2002&lt;/datewritten&gt;
    &lt;keyword&gt;example keyword&lt;/keyword&gt;
  &lt;/storyinfo&gt;
  &lt;body&gt;
    &lt;headline&gt;This is the headline&lt;/headline&gt;
    &lt;para&gt;This is the body text.&lt;/para&gt;
  &lt;/body&gt;
&lt;/story&gt;
</pre></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apa.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apc.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">A.�Compilation�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�C.�Code for Keyword Example</td></tr></table></div></body></html>
PKi�Z~dg���5usr/share/doc/alt-libxml2-devel/tutorial/ar01s09.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Encoding Conversion</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s08.html" title="Retrieving Attributes"><link rel="next" href="apa.html" title="A.�Compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Encoding Conversion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialconvert"></a>Encoding Conversion</h2></div></div><div></div></div><p><a class="indexterm" name="id2587348"></a>
Data encoding compatibility problems are one of the most common
      difficulties encountered by programmers new to <span class="acronym">XML</span> in
      general and <span class="application">libxml</span> in particular. Thinking
      through the design of your application in light of this issue will help
      avoid difficulties later. Internally, <span class="application">libxml</span>
      stores and manipulates data in the UTF-8 format. Data used by your program
      in other formats, such as the commonly used ISO-8859-1 encoding, must be
      converted to UTF-8 before passing it to <span class="application">libxml</span>
      functions. If you want your program's output in an encoding other than
      UTF-8, you also must convert it.</p><p><span class="application">Libxml</span> uses
      <span class="application">iconv</span> if it is available to convert
    data. Without <span class="application">iconv</span>, only UTF-8, UTF-16 and
    ISO-8859-1 can be used as external formats. With
    <span class="application">iconv</span>, any format can be used provided
    <span class="application">iconv</span> is able to convert it to and from
    UTF-8. Currently <span class="application">iconv</span> supports about 150
    different character formats with ability to convert from any to any. While
    the actual number of supported formats varies between implementations, every
    <span class="application">iconv</span> implementation is almost guaranteed to
    support every format anyone has ever heard of.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td colspan="2" align="left" valign="top"><p>A common mistake is to use different formats for the internal data
	in different parts of one's code. The most common case is an application
	that assumes ISO-8859-1 to be the internal data format, combined with
	<span class="application">libxml</span>, which assumes UTF-8 to be the
	internal data format. The result is an application that treats internal
	data differently, depending on which code section is executing. The one or
	the other part of code will then, naturally, misinterpret the data.
      </p></td></tr></table></div><p>This example constructs a simple document, then adds content provided
    at the command line to the document's root element and outputs the results
    to <tt class="filename">stdout</tt> in the proper encoding. For this example, we
    use ISO-8859-1 encoding. The encoding of the string input at the command
    line is converted from ISO-8859-1 to UTF-8. Full code: <a href="aph.html" title="H.�Code for Encoding Conversion Example">Appendix�H, <i>Code for Encoding Conversion Example</i></a></p><p>The conversion, encapsulated in the example code in the
      <tt class="function">convert</tt> function, uses
      <span class="application">libxml's</span>
    <tt class="function">xmlFindCharEncodingHandler</tt> function:
      </p><pre class="programlisting">
	<a name="handlerdatatype"></a><img src="images/callouts/1.png" alt="1" border="0">xmlCharEncodingHandlerPtr handler;
        <a name="calcsize"></a><img src="images/callouts/2.png" alt="2" border="0">size = (int)strlen(in)+1; 
        out_size = size*2-1; 
        out = malloc((size_t)out_size); 

&#8230;
	<a name="findhandlerfunction"></a><img src="images/callouts/3.png" alt="3" border="0">handler = xmlFindCharEncodingHandler(encoding);
&#8230;
	<a name="callconversionfunction"></a><img src="images/callouts/4.png" alt="4" border="0">handler-&gt;input(out, &amp;out_size, in, &amp;temp);
&#8230;	
	<a name="outputencoding"></a><img src="images/callouts/5.png" alt="5" border="0">xmlSaveFormatFileEnc("-", doc, encoding, 1);
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#handlerdatatype"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p><tt class="varname">handler</tt> is declared as a pointer to an
	    <tt class="function">xmlCharEncodingHandler</tt> function.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#calcsize"><img src="images/callouts/2.png" alt="2" border="0"></a> </td><td valign="top" align="left"><p>The <tt class="function">xmlCharEncodingHandler</tt> function needs
	  to be given the size of the input and output strings, which are
	    calculated here for strings <tt class="varname">in</tt> and
	  <tt class="varname">out</tt>.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#findhandlerfunction"><img src="images/callouts/3.png" alt="3" border="0"></a> </td><td valign="top" align="left"><p><tt class="function">xmlFindCharEncodingHandler</tt> takes as its
	    argument the data's initial encoding and searches
	    <span class="application">libxml's</span> built-in set of conversion
	    handlers, returning a pointer to the function or NULL if none is
	    found.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#callconversionfunction"><img src="images/callouts/4.png" alt="4" border="0"></a> </td><td valign="top" align="left"><p>The conversion function identified by <tt class="varname">handler</tt>
	  requires as its arguments pointers to the input and output strings,
	  along with the length of each. The lengths must be determined
	  separately by the application.</p></td></tr><tr><td width="5%" valign="top" align="left"><a href="#outputencoding"><img src="images/callouts/5.png" alt="5" border="0"></a> </td><td valign="top" align="left"><p>To output in a specified encoding rather than UTF-8, we use
	    <tt class="function">xmlSaveFormatFileEnc</tt>, specifying the
	    encoding.</p></td></tr></table></div><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s08.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apa.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Retrieving Attributes�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�A.�Compilation</td></tr></table></div></body></html>
PKi�Z���=1usr/share/doc/alt-libxml2-devel/tutorial/apc.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>C.�Code for Keyword Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apb.html" title="B.�Sample Document"><link rel="next" href="apd.html" title="D.�Code for XPath Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">C.�Code for Keyword Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apd.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="keywordappendix"></a>C.�Code for Keyword Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
parseStory (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *key;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"keyword"))) {
		    key = xmlNodeListGetString(doc, cur-&gt;xmlChildrenNode, 1);
		    printf("keyword: %s\n", key);
		    xmlFree(key);
 	    }
	cur = cur-&gt;next;
	}
    return;
}

static void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur);
		}
		 
	cur = cur-&gt;next;
	}
	
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;
		
	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);

	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apb.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apd.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">B.�Sample Document�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�D.�Code for XPath Example</td></tr></table></div></body></html>
PKi�Z"�NA��1usr/share/doc/alt-libxml2-devel/tutorial/apg.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>G.�Code for Retrieving Attribute Value Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="apf.html" title="F.�Code for Add Attribute Example"><link rel="next" href="aph.html" title="H.�Code for Encoding Conversion Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">G.�Code for Retrieving Attribute Value Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apf.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="aph.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="getattributeappendix"></a>G.�Code for Retrieving Attribute Value Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;

void
getReference (xmlDocPtr doc, xmlNodePtr cur) {

	xmlChar *uri;
	cur = cur-&gt;xmlChildrenNode;
	while (cur != NULL) {
	    if ((!xmlStrcmp(cur-&gt;name, (const xmlChar *)"reference"))) {
		    uri = xmlGetProp(cur, "uri");
		    printf("uri: %s\n", uri);
		    xmlFree(uri);
	    }
	    cur = cur-&gt;next;
	}
	return;
}


void
parseDoc(char *docname) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return;
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return;
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return;
	}
	
	getReference (doc, cur);
	xmlFreeDoc(doc);
	return;
}

int
main(int argc, char **argv) {

	char *docname;

	if (argc &lt;= 1) {
		printf("Usage: %s docname\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	parseDoc (docname);
	
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="apf.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="aph.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">F.�Code for Add Attribute Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�H.�Code for Encoding Conversion Example</td></tr></table></div></body></html>
PKi�Z�B�''5usr/share/doc/alt-libxml2-devel/tutorial/ar01s06.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Writing element content</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ar01s05.html" title="Using XPath to Retrieve Element Content"><link rel="next" href="ar01s07.html" title="Writing Attribute"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Writing element content</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s07.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xmltutorialwritingcontent"></a>Writing element content</h2></div></div><div></div></div><p><a class="indexterm" name="id2586968"></a>
      Writing element content uses many of the same steps we used above
      &#8212; parsing the document and walking the tree. We parse the document,
      then traverse the tree to find the place we want to insert our element. For
      this example, we want to again find the "storyinfo" element and
      this time insert a keyword. Then we'll write the file to disk. Full code:
      <a href="ape.html" title="E.�Code for Add Keyword Example">Appendix�E, <i>Code for Add Keyword Example</i></a></p><p>
      The main difference in this example is in
      <tt class="function">parseStory</tt>:

      </p><pre class="programlisting">
void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	<a name="addkeyword"></a><img src="images/callouts/1.png" alt="1" border="0"> xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}
      </pre><p>
      </p><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><a href="#addkeyword"><img src="images/callouts/1.png" alt="1" border="0"></a> </td><td valign="top" align="left"><p>The <tt class="function"><a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#XMLNEWTEXTCHILD" target="_top">xmlNewTextChild</a></tt>
				     function adds a new child element at the
				     current node pointer's location in the
	    tree, specified by <tt class="varname">cur</tt>.</p></td></tr></table></div><p>
         </p><p>
      <a class="indexterm" name="id2587052"></a>
      Once the node has been added, we would like to write the document to
      file. Is you want the element to have a namespace, you can add it here as
      well. In our case, the namespace is NULL.
      </p><pre class="programlisting">
	xmlSaveFormatFile (docname, doc, 1);
      </pre><p>
      The first parameter is the name of the file to be written. You'll notice
      it is the same as the file we just read. In this case, we just write over
      the old file. The second parameter is a pointer to the xmlDoc
      structure. Setting the third parameter equal to one ensures indenting on output.
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s05.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Using XPath to Retrieve Element Content�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�Writing Attribute</td></tr></table></div></body></html>
PKi�ZE�IK((<usr/share/doc/alt-libxml2-devel/tutorial/includeaddkeyword.cnu�[���<![CDATA[
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>

void
parseStory (xmlDocPtr doc, xmlNodePtr cur, char *keyword) {

	xmlNewTextChild (cur, NULL, "keyword", keyword);
    return;
}

xmlDocPtr
parseDoc(char *docname, char *keyword) {

	xmlDocPtr doc;
	xmlNodePtr cur;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	cur = cur->xmlChildrenNode;
	while (cur != NULL) {
		if ((!xmlStrcmp(cur->name, (const xmlChar *)"storyinfo"))){
			parseStory (doc, cur, keyword);
		}
		 
	cur = cur->next;
	}
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *keyword;
	xmlDocPtr doc;

	if (argc <= 2) {
		printf("Usage: %s docname, keyword\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	keyword = argv[2];
	doc = parseDoc (docname, keyword);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 0);
		xmlFreeDoc(doc);
	}
	
	return (1);
}
]]>
PKi�Z�}j��1usr/share/doc/alt-libxml2-devel/tutorial/apf.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>F.�Code for Add Attribute Example</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"><link rel="home" href="index.html" title="Libxml Tutorial"><link rel="up" href="index.html" title="Libxml Tutorial"><link rel="previous" href="ape.html" title="E.�Code for Add Keyword Example"><link rel="next" href="apg.html" title="G.�Code for Retrieving Attribute Value Example"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">F.�Code for Add Attribute Example</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ape.html">Prev</a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="apg.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="addattributeappendix"></a>F.�Code for Add Attribute Example</h2></div></div><div></div></div><p>
      </p><pre class="programlisting">
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;libxml/xmlmemory.h&gt;
#include &lt;libxml/parser.h&gt;


xmlDocPtr
parseDoc(char *docname, char *uri) {

	xmlDocPtr doc;
	xmlNodePtr cur;
	xmlNodePtr newnode;
	xmlAttrPtr newattr;

	doc = xmlParseFile(docname);
	
	if (doc == NULL ) {
		fprintf(stderr,"Document not parsed successfully. \n");
		return (NULL);
	}
	
	cur = xmlDocGetRootElement(doc);
	
	if (cur == NULL) {
		fprintf(stderr,"empty document\n");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	if (xmlStrcmp(cur-&gt;name, (const xmlChar *) "story")) {
		fprintf(stderr,"document of the wrong type, root node != story");
		xmlFreeDoc(doc);
		return (NULL);
	}
	
	newnode = xmlNewTextChild (cur, NULL, "reference", NULL);
	newattr = xmlNewProp (newnode, "uri", uri);
	return(doc);
}

int
main(int argc, char **argv) {

	char *docname;
	char *uri;
	xmlDocPtr doc;

	if (argc &lt;= 2) {
		printf("Usage: %s docname, uri\n", argv[0]);
		return(0);
	}

	docname = argv[1];
	uri = argv[2];
	doc = parseDoc (docname, uri);
	if (doc != NULL) {
		xmlSaveFormatFile (docname, doc, 1);
		xmlFreeDoc(doc);
	}
	return (1);
}

</pre><p>
    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ape.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="apg.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.�Code for Add Keyword Example�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�G.�Code for Retrieving Attribute Value Example</td></tr></table></div></body></html>
PKi�Z�w�1usr/share/doc/alt-libxml2-devel/examples/parse1.cnu�[���/**
 * section: Parsing
 * synopsis: Parse an XML file to a tree and free it
 * purpose: Demonstrate the use of xmlReadFile() to read an XML file
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse1 test1.xml
 * test: parse1 test1.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

/**
 * example1Func:
 * @filename: a filename or an URL
 *
 * Parse the resource and free the resulting tree
 */
static void
example1Func(const char *filename) {
    xmlDocPtr doc; /* the resulting document tree */

    doc = xmlReadFile(filename, NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse %s\n", filename);
	return;
    }
    xmlFreeDoc(doc);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    example1Func(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
PKi�Z���0usr/share/doc/alt-libxml2-devel/examples/reader2nuȯ��#! /bin/sh

# reader2 - temporary wrapper script for .libs/reader2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader2:reader2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader2:reader2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader2:reader2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�=E�`�`�5usr/share/doc/alt-libxml2-devel/examples/testWriter.onu�[���ELF>��@@;:

.0-1,2+3��AVAUATUSH��dH�%(H�D$1�H����H��H��I���H��H����H���D�hI��C�|-��<$Hc��I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc��H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1��L��1��H�=���f�1��@M��H��LD�H�51�L����s����H�=1���Y������U1�SH���H����1�1�H�H��H������@H�5H������H�5H�=�H��H��H������HH��t	H��H�5H�������H�H�5H�������H�H�5H�������H�5H�=�H�5H��H��H��1������H��t	H��H�5H������01���H��H�H�5�����1���H��H�H�5����vH�5H�=�H�5H��H��H������.H��t	H��H�5H�=�H�5H��H��H�������H��t	H��H������H�5H������CH�5H������,H�H�5H�������1��
H��H�H�5����yH�������H�5H�������H�H�5H������1��H��H�H�5����H������/H������H�5H�����xLH�H�5H�������H�������H�������XH��[]�H��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�fDH��H�=[]�ZH�=[]�ff.�@��AUI��ATUSH���H�=H����1�H��H���H��H����H��1�H�1��H�=����H�5H�������H�5H�=�H��H��I���H�=���?M��t	L��H�5H������3H�H�5H������5H�H�5H������H�5H�=�H��H�5H��I��1��H�=����M��t	L��H�5H�������1���H��H�H�5�����1���H��H�H�5�����H�5H�=�H�5H��H��I������oM��t	L��H�5H�=�H�5H��H��I������1M��t	L��H������#H�5H�������H�5H�������H�H�5H�������1��
H��H�H�5�����H�������H�5H������+H�H�5H������]1��H��H�H�5����(H������8H������(H�5H�������H�H�5H�������H�������H���H�=��xWH���L��H�5�H�=H��H��t1H�}H���H���XH��[]A\A]��H�=H��[]A\A]�f.�H��H�=[]A\A]�f.�H��H�=[]A\A]�f.�H�=��H�=��H�=�{���@��AT1�I��USH��dH�%(H�D$1�H���H����1�1�H�H��H������pH�5H������)H�5H�=�H��H��H������`H��t	H��H�5H�������H�H�5H�������H�H�5H�������H�5H�=�H�5H��H��H��1�����H��t	H��H�5H������H1���H��H�H�5�����1���H��H�H�5����~H�5H�=�H�5H��H��H������>H��t	H��H�5H�=�H�5H��H��H������H��t	H��H������"H�5H������[H�5H������DH�H�5H�������1��
H��H�H�5�����H�������H�5H�������H�H�5H������,1��H��H�H�5����H������7H������'H�5H�����xdH�H�5H�������H�������H�������H���H�4$L��H��H�<$��H�=�H�D$dH3%(��H��[]A\��H�=���f�H�=��f�H�=��f�H�=��f�H�=��f�H�=��{����H�=��c����H�=��K����H�=��5���f���AUI��H�=ATUSH���H�=H����1�H�1�H��H���H��H����H��H���H��H��1��H�=H��H���mH��1�H�1��H�=���KH�5H�=�H��H��I���H�=���M��t	L��H�5H������/H�H�5H�������H�H�5H�������H�5H�=�H��H�5H��I��1��H�=����M��t	L��H�5H�������1���H��H�H�5�����1���H��H�H�5����kH�5H�=�H�5H��H��I������KM��t	L��H�5H�=�H�5H��H��I������
M��t	L��H�������H�5H�������H�5H�������H�H�5H�������1��
H��H�H�5����nH������~H�5H������'H�H�5H������91��H��H�H�5����H������H������H�5H�������H�H�5H�������H�������H���H�=��x3H���L��H��H��XH��[]A\A]�H�=H��[]A\A]�f.�H��H�=[]A\A]�f.�H��H�=[]A\A]�f.�H�=��H�=��H�=�{���GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocumentGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��H���
R�H�=�H�=�H�=�H�=���1�H��õ;�5Eint�m�m���1%	3f	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D>`	FDh	Hfp	Ift	Jtx	MQ�	NX�	OJ�	QZ�	Y
��	[e�	\p�	]D�	^	C�	_
)�	`f�	bv��
+9��Z
51`k��
5��%�����f�������	C
cf))/5/EfL
y
�(S(
��	
�!�	
� �	
� ;	
� �	
� � 
�!�GE�<J�Q�Y [_	\quse]<	^<	_�	`qZk�<��	

�w�<�[	
�x�U�C���
�U�U �U(�U0�U8doc��@ns�E	H�qP�
X�E	`�Ch�Qp�Qrg��J�C���
�U�U ��(�U0�U8doc��@�CH�CP�CX�C`�
h�
p�Cx[�'�(C)�*�+U,U -U(.U0/U8doc0�@3fH4fL:JP;JX<K	`=
h>
pids?Cx@C�URLA
�Bf�DM
�EC�Ff�Hf�Pw���0�E	�K	���
�
�C ��(��`�
�C���
�U�U �U(�
0�
8doc��@ns�E	H�[P�CXQ	�g�'

%P&G
-
�
9_
e
p
C
B3|
�
C�
)
M�
�
C�
C)
W�
�
��
��p
�p
��
�S
��
#'8xq`��
inx�x*�outzqret{	f|	f }	f�@ ~	f�D�!2�R"2#J2$U1$T	!2��"2#�2$U	%2�	�"2#J2$U1$T	$Q|%2�	2
"2#�2$U	&�2J
$U|&�2b
$Uv'�
$U}1$1 $ &'�
$U|$Tw$Qv$R�D'�
$U|'�
$U|(�2)kl��k�rcm	fn,doco:
p
tmpqq*2w	�+2*2�	�+2*2�	�+2*2�	+2*2�	'+2*2c	J+2%2�	�"2,�2-�2�$U	.�2$U	%2�	�"2%2�		"2!2�	="2!2�	q"2!2
�	�/2�&/4�$U	&<4�$Us$T0$Q	$R0&I4$Us$Tv&V43$Us$Tv$Q0&b4b$Uv$T0$Q	$R0&>�$U	$T	&n4�$Uv$T|'�$U|&z4�$Uv$T	&�4$Uv$T	$Q	&�4I$Uv$T	$Q	&>u$U	$T	&�4�$Uv$T	$Q|'�$U|&z4�$Uv$T	&�4$Uv$T	$Q	$R
�&�4K$Uv$T	$Q	$R
�&>w$U	$T	&�4�$Uv$T	$Q|'�$U|&>�$U	$T	&�4
$Uv$T	$Q|'!$U|&�49$Uv&z4^$Uv$T	&z4�$Uv$T	&�4�$Uv$T	$Q	&�4�$Uv$T	$Q	$R:&�4$Uv&z4)$Uv$T	&�4[$Uv$T	$Q	&�4�$Uv$T	$Q	$RD&�4�$Uv&�4�$Uv&z4�$Uv$T	&�4$Uv$T	$Q	&�41$Uv&�4I$Uv&�4a$Uv&�4�$U}$Ts$Q	,�4)og��o�rcq	fr,tmpsq0doct:
�P!2�	k"2#�2$U	!2�	�"2#�2$U	!2�		"2#�2$U	!2z	X"2#�2$U	!2�	�"2#�2$U	!2�	�"2#�2$U	!2�	E"2#�2$U	!2�	�"2#�2$U	!2�	�"2#�2$U	!2Y	2"2#�2$U	&?7O$Uw$T0&b4~$Us$T0$Q	$R0&z4�$Us$T	&>�$U	$T	&n4�$Us$Tv'$Uv&z4&$Us$T	&�4X$Us$T	$Q	&�4�$Us$T	$Q	&>�$U	$T	&�4�$Us$T	$Qv'�$Uv&z4$Us$T	&�4S$Us$T	$Q	$R
�&�4�$Us$T	$Q	$R
�&>�$U	$T	&�4�$Us$T	$Qv'�$Uv&>#$U	$T	&�4N$Us$T	$Qv'b$Uv&�4z$Us&z4�$Us$T	&z4�$Us$T	&�4�$Us$T	$Q	&�4-$Us$T	$Q	$R:&�4E$Us&z4j$Us$T	&�4�$Us$T	$Q	&�4�$Us$T	$Q	$RD&�4�$Us&�4$Us&z4($Us$T	&�4Z$Us$T	$Q	&�4r$Us&�4�$Us&�4�$Us&�4�$U|$Q	(�4(�2)Ql��(Q!�rcS	fT,bufU_tmpVqfpW�*2]	� +2*2n	� +2*2�	� +2*2�		!+2*2U	,!+2*2]	O!+2!2a�!"<2"02#R7$Ts%2e	""2,�2-�2�!$U	.�2$U	%2w	;""2%2�	c""2!2�	�""2!2�	�""2!2
�	�"/2�(�8&�8(#$Uv$T0&b4W#$Us$T0$Q	$R0&z4|#$Us$T	&>�#$U	$T	&n4�#$Us$T|'�#$U|&z4�#$Us$T	&�41$$Us$T	$Q	&�4c$$Us$T	$Q	&>�$$U	$T	&�4�$$Us$T	$Q|'�$$U|&z4�$$Us$T	&�4,%$Us$T	$Q	$R
�&�4e%$Us$T	$Q	$R
�&>�%$U	$T	&�4�%$Us$T	$Q|'�%$U|&>�%$U	$T	&�4'&$Us$T	$Q|';&$U|&�4S&$Us&z4x&$Us$T	&z4�&$Us$T	&�4�&$Us$T	$Q	&�4'$Us$T	$Q	$R:&�4'$Us&z4C'$Us$T	&�4u'$Us$T	$Q	&�4�'$Us$T	$Q	$RD&�4�'$Us&�4�'$Us&z4($Us$T	&�43($Us$T	$Q	&�4K($Us&�4c($Us&�4{($Us&�8�($U}$T	&�8�($Us,�81EA�.12uriE#�3rcG	f4H,3tmpIq52`	u)"2.�2$U	52W	�)"2.�2$U	52	�)"2.�2$U	52N	;*"2.�2$U	52m	}*"2.�2$U	52�	�*"2.�2$U	52�	+"2.�2$U	52�	C+"2.�2$U	52�	�+"2.�2$U	%2B	�+/2�.�2$U	&�;�+$U�U$T0&b4,$Us$T0$Q	$R0&z49,$Us$T	&>e,$U	$T	&n4�,$Us$Tv'�,$Uv&z4�,$Us$T	&�4�,$Us$T	$Q	&�4 -$Us$T	$Q	&>L-$U	$T	&�4w-$Us$T	$Qv'�-$Uv&z4�-$Us$T	&�4�-$Us$T	$Q	$R
�&�4".$Us$T	$Q	$R
�&>N.$U	$T	&�4y.$Us$T	$Qv'�.$Uv&>�.$U	$T	&�4�.$Us$T	$Qv'�.$Uv&�4/$Us&z45/$Us$T	&z4Z/$Us$T	&�4�/$Us$T	$Q	&�4�/$Us$T	$Q	$R:&�4�/$Us&z40$Us$T	&�420$Us$T	$Q	&�4i0$Us$T	$Q	$RD&�4�0$Us&�4�0$Us&z4�0$Us$T	&�4�0$Us$T	$Q	&�41$Us&�4 1$Us,�46fS�2&�;i1$U

R&�(�1$U	&��1$U	&��1$U	&�
�1$U	(�;(�;7kf28k �97dfJ28d�8d<�9:\;/�-ConvertInput: conversion wasn't successful.
<;�ConvertInput: no mem
:
�=�>;2�0testXmlwriterTree: Error creating the xml node
;;�9testXmlwriterTree: Error at xmlTextWriterWriteAttribute
;9�7testXmlwriterTree: Error at xmlTextWriterStartElement
;?�=testXmlwriterTree: Error at xmlTextWriterWriteFormatElement
;9�7testXmlwriterTree: Error at xmlTextWriterWriteElement
;7�5testXmlwriterTree: Error at xmlTextWriterEndElement
=
=<=�:+	:8	:N:W	:�:F	:h	:r:`:<:-=�=;8�6testXmlwriterDoc: Error at xmlTextWriterStartElement
;9�7testXmlwriterDoc: Error at xmlTextWriterStartDocument
;:�8testXmlwriterDoc: Error at xmlTextWriterWriteAttribute
;3�1testXmlwriterDoc: Error creating the xml writer
;8�6testXmlwriterDoc: Error at xmlTextWriterWriteComment
;8�6testXmlwriterDoc: Error at xmlTextWriterWriteElement
;>�<testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement
;>�<testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment
;6�4testXmlwriterDoc: Error at xmlTextWriterEndElement
;7�5testXmlwriterDoc: Error at xmlTextWriterEndDocument
:)	;�%s<;6�4testXmlwriterMemory: Error creating the xml writer
;;�9testXmlwriterMemory: Error at xmlTextWriterStartElement
;=�;testXmlwriterMemory: Error at xmlTextWriterWriteAttribute
;A�?testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement
;;�9testXmlwriterMemory: Error at xmlTextWriterWriteElement
;9�7testXmlwriterMemory: Error at xmlTextWriterEndElement
=�:%	:�:�=�;=�;testXmlwriterFilename: Error at xmlTextWriterStartElement
;>�<testXmlwriterFilename: Error at xmlTextWriterStartDocument
;?�=testXmlwriterFilename: Error at xmlTextWriterWriteAttribute
;8�6testXmlwriterFilename: Error creating the xml writer
;=�;testXmlwriterFilename: Error at xmlTextWriterWriteComment
;=�;testXmlwriterFilename: Error at xmlTextWriterWriteElement
;C�AtestXmlwriterFilename: Error at xmlTextWriterWriteFormatElement
;C�AtestXmlwriterFilename: Error at xmlTextWriterWriteFormatComment
;;�9testXmlwriterFilename: Error at xmlTextWriterEndElement
;<�:testXmlwriterFilename: Error at xmlTextWriterEndDocument
:#	:=9:
�%U:;9I$>&I$>I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'II>I:;9(
:;9I8:;9
:;9I8
:;9I8:;9I'.?:;9'I@�B:;9I�B:;9I�B4:;9I�B4:;9I�B 4:;9I!1R�BXYW"1�B#��1$���B%1R�BUXYW&��1'��(��1).?:;9'@�B*1XYW+1,���B1-���B1.���B1/104:;9I1.?:;9'@�B2:;9I�B34:;9I�B44:;9I�B51R�BUXYW6.?:;9'I@�B7.?:;9'I 48:;9I9:.?<n:;9;6<.?<n:;=.?<n:;9>.?<nUV�U�VUV�U�T\�T�T\�T�P\PS\P\PP]]]PSSSPS
��
��U]�U�]�U�]�U�]�U�]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPVVVVPSUSSSSPVPP\PQ\P\P\\\\�����U\�U�\PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSSPSSPVPQVPVPVVVV����������U]�U�]�U�]�U�]�U�]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSPSSSPVUVVVVP\PQ\P\P\\\PS�PS�����U�U�PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPSUSSSPSSSSSSPVPQVPVPVVVVVVVV���������<�S���
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltestWriter.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hiconv.hencoding.hxmlstring.htree.hxmlmemory.hglobals.hxmlwriter.hstring.h<built-in>xmlversion.hparser.h	����<<X>�
�K=X=�	�	Y	 Jf<
X>%<><%<
�JQ
m,�w
.
�=
-x��w
�J�	�
�w�	�X�wJ
	�	��w
�t
�w.XX��wXKz&z.^Y
�
Y�
�
�
0d>
Y�X�
��
Z�
Z�
/�=
X[�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
�Q
Z�
�
�
��= 	�~��
�~J�t 
�~ �	j�
�~J�t 
�~ �	l�
�~J�t 
�~ �	a�
�~J�t
�~.�	�
�~J�t 
�~ �	���
�~J�t 
�~ �	8F�
�~J�t 
�~ �	&X�
�~J�t 
�~ �	���
�~J�t 
�~ X	��~�
�~ �t 
�~ X	�Kw	�Y
�~�t��X=�
/
�~�t�
�
�
0d>
Y
�}�t�X�
��
Z�
Z�
/�=
.[
�}�t�X�
��
.��
.��
/�=
Y�X�
/�=
Z�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
��
Z�
�	�
�
�|�tO�
�|��t=]�|
���=  .-	�~��~
t�
�|��	��}�
�|J�t  
�|J�	��}�
�|J�t  .
�|.�	��}
�	��}
�	��}
��nx.��<Y
�
Y�
�	�
0d>
Y�X�
��
Z�
Z�
/�=
X[�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
�P
Z�
�	�
���0	�~��{
�	���	�~��{
�	�#J�{
�	�RJ�{
�	�J�{
�	��J�{
�	�mJ�{
�	�m��{
�	�2��z
�	��X	wX�z
�	��Kw	Xwt	�Y
�y�t�X=��
�y��t=�
/
�y�t	�
0d>
Y
�y�t�X�
��
Z�
Z�
/�=
.[
�y�t�X�
��
.��
.��
/�=
Y�X�
/�=
Y�X�
��
��
��
Z�
.��
��
��
Z�
.��
��
��
��
Z�
�	�
�
�x�tO�"=  .-	�~��y
t�
�x��	��y�
�xJ�t  .
�x.�	��y�
�xJ�t  .
�x.�	��y
�	��y
�	��x
	PzP�����\YprintfxmlTextWriterWriteFormatComment_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLxmlReallocFuncXML_BUFFER_ALLOC_DOUBLEITtype_IO_buf_basexmlTextWriterEndDocumentpsvilong long unsigned int_IO_buf_endout_sizexmlNewTextWriterTreeSystemIDXML_XINCLUDE_STARTnsDeftestXmlwriterFilename_privatexmlTextWriterWriteCommentxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLlong unsigned int_fileno_IO_read_endencodinglastlong intoldNsparent_flagsxmlCharEncodingHandler__builtin_fputs__builtin_putsstdinXML_XINCLUDE_END_IO_codecvt__printf_chkxmlNewTextWriterFilenameExternalID_old_offset_offsetxmlBufferxmlCharxmlCleanupParserXML_ATTRIBUTE_ENTITIEStestXmlwriterDoccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODEtempxmlMalloc_xmlDocXML_NOTATION_NODExmlCharEncodingOutputFuncunsigned int_freeres_bufxmlTextWriterWriteFormatElementxmlDocxmlTextWriterWriteAttributexmlMemoryDump_xmlAttr__streamoutputxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYprefixnamesys_nerrcharsetcontextsizeshort unsigned intXML_ENTITY_DECL_IO_wide_datastrlenxmlBufferPtrxmlBufferAllocationSchemexmlTextWriterStartElementwriterxmlNewDoc_xmlDtdtestWriter.c_lockxmlTextWriterStartDocument_flags2_modexmlTextWriterEndElementstdoutXML_BUFFER_ALLOC_IOXML_PI_NODExmlTextWriterWriteElementXML_ATTRIBUTE_IDiconv_thandlerxmlFreeTextWriter_codecvt_xmlBufferstandaloneextSubsetxmlRealloccontentpentities_IO_save_basexmlCharEncodingInputFuncxmlTextWriterPtrelements_xmlTextWriter_IO_write_endXML_ATTRIBUTE_DECLxmlFindCharEncodingHandler_IO_lock_t_IO_FILEfputsXML_BUFFER_ALLOC_BOUNDED__off_t_IO_save_endXML_BUFFER_ALLOC_EXACTXML_ENTITY_NODEsys_errlist_markersrefsxmlFreecontentIOxmlBufferCreatexmlNsTypechildrenunsigned charXML_DTD_NODEnodeXML_BUFFER_ALLOC_IMMUTABLEversionentitiesshort intfilenotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNodeXML_ATTRIBUTE_IDREFS_vtable_offsetFILExmlMemStrdupatypeinput__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictfprintfXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictxmlSaveFileEncXML_TEXT_NODEfcloseallocxmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_baseiconv_inXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS_xmlCharEncodingHandler__pad5ConvertInputxmlNewDocNode_unused2stderrxmlTextWriterxmlCharEncodingHandlerPtr_IO_markerXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlBufferFreexmlNewTextWriterMemoryXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODExmlNewTextWriterDocprev_wide_datatestXmlwriterTreeXML_DOCUMENT_NODEXML_BUFFER_ALLOC_HYBRID_xmlNsputsmain_IO_write_baseiconv_outXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAfopentestXmlwriterMemoryGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�@`F�B�B �A(�A0�D@�
0A(A BBBI�`AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAplF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0xgF�F�A �D0�
 AABHp�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBO SHJ
�	
/1
K0i�1��2�3%A`[`�����
�
�%�F�eyS !#%')012345/6�h�8�����!�h�)�/�3�;�>�G��M�T�Z�e�h�t{���� �&�,�2�8�>�D�J(O�T�Z�_�e�k�qHw}@�����h����������0��� �`�����`��0�������@�0
h�	@	%�	+�
1�7�	=x	C(
Ih
O�
U�[�a�g�my���*+,-.�`��*�2C`AYr�����7Ohz�l������� 
g��
�l'1?TiSn~�.annobin_testWriter.c.annobin_testWriter.c_end.annobin_testWriter.c.hot.annobin_testWriter.c_end.hot.annobin_testWriter.c.unlikely.annobin_testWriter.c_end.unlikely.annobin_testWriter.c.startup.annobin_testWriter.c_end.startup.annobin_testWriter.c.exit.annobin_testWriter.c_end.exit.annobin_ConvertInput.start.annobin_ConvertInput.end.annobin_testXmlwriterFilename.start.annobin_testXmlwriterFilename.end.annobin_testXmlwriterMemory.start.annobin_testXmlwriterMemory.end.annobin_testXmlwriterDoc.start.annobin_testXmlwriterDoc.end.annobin_testXmlwriterTree.start.annobin_testXmlwriterTree.end.annobin_main.start.annobin_main.end.LC3.LC2.LC0.LC1.LC4.LC6.LC8.LC10.LC12.LC13.LC14.LC16.LC17.LC18.LC19.LC21.LC22.LC23.LC25.LC26.LC27.LC28.LC30.LC31.LC33.LC34.LC35.LC36.LC37.LC38.LC39.LC40.LC41.LC9.LC7.LC15.LC5.LC11.LC29.LC24.LC20.LC32.LC42.LC43.LC45.LC47.LC49.LC53.LC54.LC55.LC44.LC46.LC48.LC50.LC51.LC52.LC58.LC57.LC60.LC56.LC59.LC63.LC62.LC61.LC64.LC65.LC66.LC68.LC69.LC70.LC73.LC77.LC67.LC72.LC71.LC74.LC75.LC76.LC78.LC79.LC80.LC81.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupConvertInput_GLOBAL_OFFSET_TABLE_xmlFindCharEncodingHandlerstrlenxmlMallocxmlRealloc__printf_chkxmlFree__stack_chk_failtestXmlwriterFilenamexmlNewTextWriterFilenamexmlTextWriterStartDocumentxmlTextWriterStartElementxmlTextWriterWriteCommentxmlTextWriterWriteAttributexmlTextWriterWriteFormatCommentxmlTextWriterWriteFormatElementxmlTextWriterWriteElementxmlTextWriterEndElementxmlTextWriterEndDocumentxmlFreeTextWritertestXmlwriterMemoryxmlBufferCreatexmlNewTextWriterMemoryfopenfputsfclosexmlBufferFreetestXmlwriterDocxmlNewTextWriterDocxmlSaveFileEncxmlFreeDoctestXmlwriterTreexmlNewDocxmlNewDocNodexmlDocSetRootElementxmlNewTextWriterTreemainxmlCheckVersionxmlCleanupParserxmlMemoryDump3���������G���������_��������������������7����������������������������8�����������������9��������.:��������8���������K;��������R���������\���������m����������<�������������������=�������������������<���������>���������������������������������������?������������������@��������A�����������������B��������%C��������-���������<<��������CD��������H���������OE��������_���������u���������|F�������������������G���������H�������������������I���������J�������������������<���������K�������������������L���������������������������<��������"M��������'���������.N��������<���������R���������Z���������iO��������q����������P�������������������Q���������R�������������������I���������S�����������������������������P������������������T��������R�����������������)I��������0S��������5���������E���������U���������dU��������l���������wV��������~W���������������������������������������X���������Y���������Z��������[��������'\��������?]��������W^��������o_���������`���������a�������������������b�������������������<������������������c��������=�����������������+<��������2>��������7���������E���������Ld��������b���������i?��������q����������@���������A�������������������B���������C�������������������<���������D�������������������E�������������������e������������������F�����������������$G��������+H��������0���������II��������PJ��������U���������d<��������kK��������p���������wL�����������������������������<���������M�������������������N���������������������������������������O������������������P�����������������Q��������%R��������-���������FI��������MS��������R���������b���������qP��������y����������T���������R�������������������I���������S���������������������������������������U������������������	V��������		W��������	���������!	���������1	���������8	f��������D	���������N	g��������S	���������Z	h��������n	���������v	����������	i���������	j���������	k���������	l��������
m��������
n��������E
���������Y
<��������d
���������s
=��������{
����������
<���������
>���������
����������
����������
����������
?���������
����������
@���������
A���������
����������
B���������
C�����������������<��������D�������� ���������'E��������7���������M���������TF��������\���������uG��������|H�������������������I���������J�������������������<���������K�������������������L�����������������������������<���������M������������������N�����������������*���������2���������AO��������I���������XP��������`���������oQ��������vR��������~����������I���������S�����������������������������P�������������������T���������R������������������
I��������
S��������

���������
���������-
���������<
U��������D
���������O
V��������V
W��������^
���������n
���������~
����������
����������
<���������
����������
����������
o���������
����������
p���������
����������
q���������
���������r�����������������s�����������������#t��������(���������3u��������8���������Kv��������P���������cw��������h���������r���������yx��������~����������@�������������������y���������=���������������������������������������z��������<����������������� {��������/<��������6>��������;���������I���������P|��������f���������m?��������u����������@���������A�������������������B���������C�������������������<���������D�������������������E�������������������}�����������������F�����������������(G��������/H��������4���������MI��������TJ��������Y���������h<��������oK��������t���������{L�����������������������������<���������M�������������������N���������������������������������������O������������������P�����������������"Q��������)R��������1���������JI��������QS��������V���������f���������uP��������}����������T���������R�������������������I���������S���������������������������������������U������������������V��������
W�����������������%���������5���������<~��������H���������U<��������Z���������s�����������������������������������������������������������������������������������������������������������.���������F���������^���������v������������������������������	����������	����������	����������	���������i��������������������������������������� 4��`$,`P`X��`�����
���

�D
L�p�x����� . / 0 155S���������������������������!���������&���������-���������2���������9���������>���������C���������H���������
(
-�
-

-I
+@%
,*
-{8
-�?
-zH
-bT
-x[
-�b
-�p
-�u
-��
-
�
-�	�
-��
-��
-'�
-��
-*
�
-7�
-+�
-h
-�
-!
-.
-%;
-�H
-U
-4b
-�o
-8|
-��
-
�
-	�
-��
-�
-��
-��
-��
-��
-��
-�

-@
-�
&
-	2
-�:
-�
a
-Pl
-��
-9�
-^�
-�
�
-Z�
-�
-��
-&<
-`H
-T
-x
a
-Un
-.	{
-��
-8
�
-F�
-�
�
-��
-��
-��
-��
-e�
-�
-��
-�
-�
-�
-8
-sE
-�	R
-5`
-��
-�
-�	�
-�	�
-o	�
-��
-�
-y�
-&�
-��
-��
-��
-N�
-�
�
-p�
-��
-v�
-��
-��
-G�
-?�
-

-f%
-�+
-E	1
-�7
-9=
-�C
-PI
-a
O
-A
U
-:\
-Qh
-�v
-v�
-��
-U�
-Y�
-��
-��
-��
-�
-
-d	
-Z+
-�9
-�G
-�\
-j
-vx
-��
-U�
-Y�
-��
-��
-��
-��
-��
-P
-Y	
-� 
-�.
-><
-Q
-F_
-vm
-�{
-U�
-Y�
-��
-��
-��
-��
-��
-��
-


-�
-�#
-�1
-�M
-(i
-cw
-�	�
-��
-�	�
-d	�
-��
-�	�
-�	�
-O�
-��
-&�
-��
-�
	
-5	
-N)	
-v7	
-kR	
-�`	
-vn	
-�|	
-U�	
-Y�	
-��	
-��	
-��	
-��	
-(	�	
-�

-�

-�.

-�;

-T

-q

-�

-��

-;�

-��

-<�

-��

-�
--
-	
-�
(
-Y-
-??
-�
Km
)q
)v
-��
)��
)��
)K�
)=�
)��
)��
-s�
) �
)�
- �
-7�
-��
)u�
)i��)
)�-
)�2�HhW`}
)'�
)%��8�+�
+�
)Q�
)O�<��H�
+0

)

)}
V(
3
7K
Kc
c�
��
��
��
`�

-��
��

-�
)�
)�
)� 
)�%
-�1
)5
)F
)�J
)O
-}[
)(_
)"p
)�t
)q}�����M	�,9OpX
+�i
)	m
)}	r����	���x	���
+��
)�	�
)�	���
+
)�	
)�	��4
)�	8
)�	B�K�h
)'
l
)%
v���
'�3���/���!���4Tc?xh��M�j�y�)��3/�3>@;J�_Glv�����M�8�ZT].h;eLxatnx��{������������"�:U�_z��5�����Z���e�j� �*�E�R�\�w��e�����������)29JLb^��m�
-�� 
�
-��
)W
�
)O
�
)�
�
)�
�
-��
)�
�
)�

)`
)H!�
*�
G
)VK
)TP�
a�p�
y�
�
)��
)~��
�`��
��
�
)��
)���
�4
)�8
)�=N0]f�
)��
)����� � �
)(�
)&�,���00!
)R%
)P*<;�JHSHp
)|t
)zyT�@�`�`�
)��
)��l���v�v
)�
)��(03I
Ph
p
�!��
�h���
��
�
)'�
B3O/Y	t>�;�$�G��;��Q�`M�6ZCTT�oh|e���t����{���
�$?�O.c6{M���d�����������e.�F�a�k������
���e�!
�1
H
�)b
D�Q�[r
s�
��
��
���
�v�
-��� 
-� 
) 
)�" 
)"& 
)�+ 
-�7 
)x; 
)lL 
)P 
)�a 
)�e 
)�u 
)�y 
)�� �� � I� �!5	1!W	T!f	]!f	z!
)�~!
)��!
)��!
)��!r	�!�	�!
+��!
)4�!
)2�!�	�!�	�!0�!�		"�"�	!"
+02"
)^6"
)\@"�	I"
+`Z"
)�^"
)�h"�	q"�	�"
)��"
)��"
�"
�"
)��"
)��"
�"
�"
'�8�"�#�)#I#X# s#!}#;�#h�#�#I�#f�#u�#)$�$3($/2$�M$>Z$;d$�y$G�$�$��$�$�$�$M�$4%Z%T-%YH%hU%ef%t{%t�%�%��%{�%��%��%��%�%�&�(&�<&�T&�o&�y&�&��&1�&��&��&V�&��&e'f'}:'�D'�_'�l'�v'��'��'e�'��'��'��'�(	(�*(�4(%	L(5	d(H	|(W	�(��(z	�(�	�(
-`�(`�(
)�(
))
)�)
)A)
-�)
)_)
)E+)
)�/)
)f8)�A)
+`Q)
)�U)
)�Z)�k)(z)��)
+��)
)��)
)��)��)��)��)
+��)
)�)
)�)�)��)*
+ *
)F*
)D *1*�@* I*
+`Y*
)p]*
)nb*2s*��*8�*
+��*
)��*
)��*J�*��*P�*
+��*
)��*
)��*b�*�+h+
+ +
)�#+
)�(+z9+HH+�Q+
+`a+
)e+
)j+�{+�+��+
+��+
'I;�+��+@�+q�+�,,�0,!:,�O,h\,f,��,��,��,)�,�,3�,/�,1
->-;!-L6-GC-M-ch-x-y�-��-M�-��-Z�-T�-�.h.e#.�8.tE.O.j.{z.�.+�.��.�.@�.��.V�.^/u,/�6/�Q/�[/�v/��/��/��/��/e�/��/��/�00�)0�309N0�[0ej0I�0Y�0p�0��0��0��0��0�	1�!1�/1
-2:15Q15j151��15*�1��156�1��15B�1��15G�15L2
-2
-[
 2
-�	12
-�=2
-[
K2
-\O2
-\�2
--�2
-*�2
-��2
-��2
-��2
-��2
-4	�2
-4	04
-�44
-�=4
-�
A4
-�
J4
-�	N4
-�	W4
-)[4
-)c4
-g4
-o4
-s4
-{4
-�4
-��4
-��4
-��4
-�4
-�4
-��4
-��4
-��4
-��4
-F�4
-F�4
-��4
-��4
-��4
-��4
-�	�4
-�	�4
-�4
-@7
-�D7
-�S7
-�W7
-�8
-?�8
-?�8
-p�8
-p�8
-z�8
-z�8
-�	�8
-�	�8
-b9
-b�;
-i�;
-i�;
-��;
-��;
-��;
-��;
-��;
-�/!/)�4�<�J�R]epx[�[�`��6�6�f�f���++`KfS�^�f�q�y���������A�U�U�[������ O(�3�;FAN[u:}J�J����������"�"�Q���h'/:
'V2Q+Y<dA�[�
'�2�������h�h�m�m��
�� �(�3�;�I�Q�\�d�r�z���>�M�i�y�����#�.�6AIT8\Bg]owz���������������4�5�?�Z�i�j���%�-�8�@�K�S�^�f�q�y��(�)�8�9�K������������#+d6�>�I�Q�\�d��������c�c�l�m�w�����������(�0�;�CNmVw�H�L�L��������������������	�	�	�!	�)	f4	�<	�G	�O	�Z	�b	�	m�	w�	
'�2�	��	��	
'3�	��	��	
'?3�	�
�

'z3'
�/
�:

'�3W
 
_
D
j
D
r
�
}
�
�
�
�
�
�
��
h
~

�
$�
,�
7�
?�
J�
R]	e#p;xP�`�j��������������-�6�L�M�cd��#�.�6�A�I�T�\�g�o�z
� 
�!
�0
�1
�G
�H
�a
�b
�q
�r
��
��
��
��

�

�

�
%
�
-
�
8
@
K
S
+^
.f
;q
Ay
S�
Y�
k�
v�
��
I
�
g
�
g
�
�
�
�
�
�
�
�
q%v-�`�
h�
s�
{1�1�6�6�:�:�������������
�
�
&q1v9�V�
^�
i
'�4��
��
�
'.5��
��
�
'i5��
��
'�5�
'�5(0,;
'6R.Z<e
'N6|A�T�
'�6�Y�l�
'�6�v���
'7���'�	2�	:�	H�	P�	[�	c�	q�	y�	��	��	��	��	��	��	��	�
"*5 =:HIPe[uc�n�v������������4�>�Y�s�����������!,40?1G;RVZeefm|x}���������������������	�	�$	�%	4	5	G	#�	+�	6�	>�	I�	Q
x����a	��	��	��	��	��	��	��	�
���#�	.�	6�	A�	I�	T�	\�	g�	o�	z�	�
�D�H�H���������������%�-�8�@�K�S�	^�	f�	q�	y
�a	�q	�q	�	�f	�r	�
'K7�f	q	q	r	4�	<�	G
']7^�	f�	q
'�7��	��	�
'�7��	��	�
'8��	�	
�
'T8`pp#������������������0�1�K�cx��!�)�4�<�GOZ@bUm^ut�u�����������������������9
HI X+Y3o>pF�Q�Y�d�l�w���������������1�2�I�J�a�byz�"�*�_qg�r�z���������������������,�2�D
J\b%t0z8�C�K��������Y�Y�^�^�b�b������;;??&�1�9�DL-W2_EjJr]}b�u�z�����������
'
9����
'I9�$/
'�9FNY
'�9px2�
':�2�J�
'C:�J�b�
'�:�b�z
'�:z �+
';
' 5"'+<0H8O@QH[`�h�p�x�������������������������� (08@H ` h p$x+�-�8�8�8�<�C�E�P�P�P�T�[]h h(h0l8s@uH�`�h�p�x�������������������	��	��	��	�	�	�	�	0�	8�	@�	H�	`�	h�	p�	x�	�p�w���������������������� �(�@H�P5X5S�~��5 d`�| 
��$5.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@8�>T8�>l8�>�(8�>�8� ��@��8%8&�,�6��1@�8
L�[��V@�08
uT�T��@H�08A(�(��@x�08������@��08�2�2�
�*8@��08A0,S<@�8T�,�;O@�xT8`<h�s�k@n@�I�?8!�2�@~@x�H8#�r�p�@���	8%���@��H8'�0���0y�.���A��u��L�� ������������������ 4ȯ8/@ȓ�86�09�	0��X�EPKi�Z�	׊sxsx1usr/share/doc/alt-libxml2-devel/examples/Makefilenu�[���# Makefile.in generated by automake 1.16.5 from Makefile.am.
# doc/examples/Makefile.  Generated from Makefile.in by configure.

# Copyright (C) 1994-2021 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.



am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/libxml2
pkgincludedir = $(includedir)/libxml2
pkglibdir = $(libdir)/libxml2
pkglibexecdir = $(libexecdir)/libxml2
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = x86_64-redhat-linux-gnu
host_triplet = x86_64-redhat-linux-gnu
check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \
	parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \
	reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \
	reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \
	tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT)
subdir = doc/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am_io1_OBJECTS = io1.$(OBJEXT)
io1_OBJECTS = $(am_io1_OBJECTS)
io1_LDADD = $(LDADD)
io1_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am__v_lt_1 = 
am_io2_OBJECTS = io2.$(OBJEXT)
io2_OBJECTS = $(am_io2_OBJECTS)
io2_LDADD = $(LDADD)
io2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse1_OBJECTS = parse1.$(OBJEXT)
parse1_OBJECTS = $(am_parse1_OBJECTS)
parse1_LDADD = $(LDADD)
parse1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse2_OBJECTS = parse2.$(OBJEXT)
parse2_OBJECTS = $(am_parse2_OBJECTS)
parse2_LDADD = $(LDADD)
parse2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse3_OBJECTS = parse3.$(OBJEXT)
parse3_OBJECTS = $(am_parse3_OBJECTS)
parse3_LDADD = $(LDADD)
parse3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse4_OBJECTS = parse4.$(OBJEXT)
parse4_OBJECTS = $(am_parse4_OBJECTS)
parse4_LDADD = $(LDADD)
parse4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader1_OBJECTS = reader1.$(OBJEXT)
reader1_OBJECTS = $(am_reader1_OBJECTS)
reader1_LDADD = $(LDADD)
reader1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader2_OBJECTS = reader2.$(OBJEXT)
reader2_OBJECTS = $(am_reader2_OBJECTS)
reader2_LDADD = $(LDADD)
reader2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader3_OBJECTS = reader3.$(OBJEXT)
reader3_OBJECTS = $(am_reader3_OBJECTS)
reader3_LDADD = $(LDADD)
reader3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader4_OBJECTS = reader4.$(OBJEXT)
reader4_OBJECTS = $(am_reader4_OBJECTS)
reader4_LDADD = $(LDADD)
reader4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_testWriter_OBJECTS = testWriter.$(OBJEXT)
testWriter_OBJECTS = $(am_testWriter_OBJECTS)
testWriter_LDADD = $(LDADD)
testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree1_OBJECTS = tree1.$(OBJEXT)
tree1_OBJECTS = $(am_tree1_OBJECTS)
tree1_LDADD = $(LDADD)
tree1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree2_OBJECTS = tree2.$(OBJEXT)
tree2_OBJECTS = $(am_tree2_OBJECTS)
tree2_LDADD = $(LDADD)
tree2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath1_OBJECTS = xpath1.$(OBJEXT)
xpath1_OBJECTS = $(am_xpath1_OBJECTS)
xpath1_LDADD = $(LDADD)
xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath2_OBJECTS = xpath2.$(OBJEXT)
xpath2_OBJECTS = $(am_xpath2_OBJECTS)
xpath2_LDADD = $(LDADD)
xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \
	./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \
	./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \
	./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \
	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \
	./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \
	./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \
	./$(DEPDIR)/xpath2.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' aclocal-1.16
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 0
AR = ar
AUTOCONF = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoconf
AUTOHEADER = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' autoheader
AUTOMAKE = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' automake-1.16
AWK = gawk
BASE_THREAD_LIBS = -lpthread
C14N_OBJ = c14n.c
CATALOG_OBJ = catalog.o
CC = gcc
CCDEPMODE = depmode=none
CFLAGS = -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
CPP = gcc -E
CPPFLAGS = 
CSCOPE = cscope
CTAGS = ctags
CYGPATH_W = echo
CYGWIN_EXTRA_LDFLAGS = 
CYGWIN_EXTRA_PYTHON_LIBADD = 
DEBUG_OBJ = debugXML.o
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DLLTOOL = false
DSYMUTIL = 
DUMPBIN = 
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = /usr/bin/grep -E
ETAGS = etags
EXEEXT = 
EXTRA_CFLAGS =  -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wno-long-long -Wno-format-extra-args
FGREP = /usr/bin/grep -F
FTP_OBJ = nanoftp.o
GREP = /usr/bin/grep
HTML_OBJ = HTMLparser.o HTMLtree.o
HTTP_OBJ = nanohttp.o
ICONV_LIBS = 
ICU_CFLAGS = 
ICU_DEFS = 
ICU_LIBS = 
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LD = /usr/bin/ld -m elf_x86_64
LDFLAGS = -Wl,-z,relro  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
LIBM = -lm
LIBOBJS = 
LIBS = 
LIBTOOL = $(SHELL) $(top_builddir)/libtool
LIBXML_MAJOR_VERSION = 2
LIBXML_MICRO_VERSION = 2
LIBXML_MINOR_VERSION = 10
LIBXML_VERSION = 2.10.2
LIBXML_VERSION_EXTRA = 
LIBXML_VERSION_INFO = 12:2:10
LIBXML_VERSION_NUMBER = 21002
LIPO = 
LN_S = ln -s
LTLIBOBJS = 
LT_SYS_LIBRARY_PATH = 
LZMA_CFLAGS = 
LZMA_LIBS = -llzma 
MAINT = 
MAKEINFO = ${SHELL} '/builddir/build/BUILD/libxml2-2.10.2/missing' makeinfo
MANIFEST_TOOL = :
MKDIR_P = /usr/bin/mkdir -p
MODULE_EXTENSION = .so
MODULE_PLATFORM_LIBS = -ldl
MV = /usr/bin/mv
NM = /usr/bin/nm -B
NMEDIT = 
OBJDUMP = objdump
OBJEXT = o
OTOOL = 
OTOOL64 = 
PACKAGE = libxml2
PACKAGE_BUGREPORT = 
PACKAGE_NAME = libxml2
PACKAGE_STRING = libxml2 2.10.2
PACKAGE_TARNAME = libxml2
PACKAGE_URL = 
PACKAGE_VERSION = 2.10.2
PATH_SEPARATOR = :
PERL = /usr/bin/perl
PKG_CONFIG = /usr/bin/x86_64-redhat-linux-gnu-pkg-config
PKG_CONFIG_LIBDIR = 
PKG_CONFIG_PATH = :/opt/alt/libxml2/usr/lib64/pkgconfig:/opt/alt/libxml2/usr/share/pkgconfig
PYTHON = 
PYTHON_CFLAGS = 
PYTHON_EXEC_PREFIX = 
PYTHON_LIBS = 
PYTHON_PLATFORM = 
PYTHON_PREFIX = 
PYTHON_TESTS = 
PYTHON_VERSION = 
RANLIB = ranlib
RDL_LIBS = 
RELDATE = Fri Mar 14 2025
SED = /usr/bin/sed
SET_MAKE = 
SHELL = /bin/sh
STRIP = strip
TAR = /usr/bin/tar
TEST_CATALOG = Catatests
TEST_DEBUG = Scripttests
TEST_REGEXPS = Automatatests
TEST_SCHEMATRON = Schematrontests
TEST_VALID = 
TEST_VTIME = VTimingtests
THREAD_CFLAGS =  -D_REENTRANT
THREAD_LIBS = 
VERSION = 2.10.2
VERSION_SCRIPT_FLAGS = -Wl,--version-script=
WGET = /usr/bin/wget
WIN32_EXTRA_LDFLAGS = 
WIN32_EXTRA_LIBADD = 
WIN32_EXTRA_PYTHON_LIBADD = 
WITH_C14N = 1
WITH_CATALOG = 1
WITH_DEBUG = 1
WITH_FTP = 1
WITH_HTML = 1
WITH_HTTP = 1
WITH_ICONV = 1
WITH_ICU = 0
WITH_ISO8859X = 1
WITH_LEGACY = 0
WITH_LZMA = 1
WITH_MEM_DEBUG = 0
WITH_MODULES = 1
WITH_OUTPUT = 1
WITH_PATTERN = 1
WITH_PUSH = 1
WITH_READER = 1
WITH_REGEXPS = 1
WITH_RUN_DEBUG = 0
WITH_SAX1 = 1
WITH_SCHEMAS = 1
WITH_SCHEMATRON = 1
WITH_THREADS = 1
WITH_THREAD_ALLOC = 0
WITH_TREE = 1
WITH_TRIO = 0
WITH_VALID = 1
WITH_WRITER = 1
WITH_XINCLUDE = 1
WITH_XPATH = 1
WITH_XPTR = 1
WITH_XPTR_LOCS = 0
WITH_ZLIB = 1
XINCLUDE_OBJ = xinclude.o
XMLLINT = /usr/bin/xmllint
XML_CFLAGS = 
XML_INCLUDEDIR = -I${includedir}/libxml2
XML_LIBDIR = -L${libdir}
XML_LIBS = -lxml2
XML_LIBTOOLLIBS = libxml2.la
XML_PRIVATE_LIBS = -lz  -llzma     -lm 
XPATH_OBJ = xpath.o
XPTR_OBJ = xpointer.o
XSLTPROC = /usr/bin/xsltproc
Z_CFLAGS = 
Z_LIBS = -lz 
abs_builddir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples
abs_srcdir = /builddir/build/BUILD/libxml2-2.10.2/doc/examples
abs_top_builddir = /builddir/build/BUILD/libxml2-2.10.2
abs_top_srcdir = /builddir/build/BUILD/libxml2-2.10.2
ac_ct_AR = ar
ac_ct_CC = gcc
ac_ct_DUMPBIN = 
am__include = include
am__leading_dot = .
am__quote = 
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = /opt/alt/libxml2/usr/bin
build = x86_64-redhat-linux-gnu
build_alias = x86_64-redhat-linux-gnu
build_cpu = x86_64
build_os = linux-gnu
build_vendor = redhat
builddir = .
datadir = /opt/alt/libxml2/usr/share
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = /opt/alt/libxml2/usr
host = x86_64-redhat-linux-gnu
host_alias = x86_64-redhat-linux-gnu
host_cpu = x86_64
host_os = linux-gnu
host_vendor = redhat
htmldir = ${docdir}
includedir = /opt/alt/libxml2/usr/include
infodir = /opt/alt/libxml2/usr/share/info
install_sh = ${SHELL} /builddir/build/BUILD/libxml2-2.10.2/install-sh
libdir = /opt/alt/libxml2/usr/lib64
libexecdir = /opt/alt/libxml2/usr/libexec
localedir = ${datarootdir}/locale
localstatedir = /var
mandir = /opt/alt/libxml2/usr/share/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
pkgpyexecdir = 
pkgpythondir = 
prefix = /opt/alt/libxml2/usr
program_transform_name = s&^&&
psdir = ${docdir}
pyexecdir = 
pythondir = 
runstatedir = ${localstatedir}/run
sbindir = /opt/alt/libxml2/usr/sbin
sharedstatedir = /var/lib
srcdir = .
sysconfdir = /etc
target_alias = 
top_build_prefix = ../../
top_builddir = ../..
top_srcdir = ../..
AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la
CLEANFILES = *.tmp
EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

io1_SOURCES = io1.c
io2_SOURCES = io2.c
parse1_SOURCES = parse1.c
parse2_SOURCES = parse2.c
parse3_SOURCES = parse3.c
parse4_SOURCES = parse4.c
reader1_SOURCES = reader1.c
reader2_SOURCES = reader2.c
reader3_SOURCES = reader3.c
reader4_SOURCES = reader4.c
testWriter_SOURCES = testWriter.c
tree1_SOURCES = tree1.c
tree2_SOURCES = tree2.c
xpath1_SOURCES = xpath1.c
xpath2_SOURCES = xpath2.c
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/examples/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign doc/examples/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) 
	@rm -f io1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS)

io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) 
	@rm -f io2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS)

parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) 
	@rm -f parse1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS)

parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) 
	@rm -f parse2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS)

parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) 
	@rm -f parse3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS)

parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) 
	@rm -f parse4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS)

reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) 
	@rm -f reader1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS)

reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) 
	@rm -f reader2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS)

reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) 
	@rm -f reader3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS)

reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) 
	@rm -f reader4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS)

testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) 
	@rm -f testWriter$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS)

tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) 
	@rm -f tree1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS)

tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) 
	@rm -f tree2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS)

xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) 
	@rm -f xpath1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS)

xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) 
	@rm -f xpath2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

#include ./$(DEPDIR)/io1.Po # am--include-marker
#include ./$(DEPDIR)/io2.Po # am--include-marker
#include ./$(DEPDIR)/parse1.Po # am--include-marker
#include ./$(DEPDIR)/parse2.Po # am--include-marker
#include ./$(DEPDIR)/parse3.Po # am--include-marker
#include ./$(DEPDIR)/parse4.Po # am--include-marker
#include ./$(DEPDIR)/reader1.Po # am--include-marker
#include ./$(DEPDIR)/reader2.Po # am--include-marker
#include ./$(DEPDIR)/reader3.Po # am--include-marker
#include ./$(DEPDIR)/reader4.Po # am--include-marker
#include ./$(DEPDIR)/testWriter.Po # am--include-marker
#include ./$(DEPDIR)/tree1.Po # am--include-marker
#include ./$(DEPDIR)/tree2.Po # am--include-marker
#include ./$(DEPDIR)/xpath1.Po # am--include-marker
#include ./$(DEPDIR)/xpath2.Po # am--include-marker

$(am__depfiles_remade):
	@$(MKDIR_P) $(@D)
	@echo '# dummy' >$@-t && $(am__mv) $@-t $@

am--depfiles: $(am__depfiles_remade)

.c.o:
#	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
#	$(AM_V_CC)source='$<' object='$@' libtool=no 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(COMPILE) -c -o $@ $<

.c.obj:
#	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
#	$(AM_V_CC)source='$<' object='$@' libtool=no 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
#	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
#	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
#	$(AM_V_CC)source='$<' object='$@' libtool=yes 
#	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) 
	$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
	mostlyclean-am

distclean: distclean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-local

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
	check-local clean clean-checkPROGRAMS clean-generic \
	clean-libtool clean-local cscopelist-am ctags ctags-am \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-data-local install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-local

.PRECIOUS: Makefile


rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
PKi�Z�~3��/usr/share/doc/alt-libxml2-devel/examples/parse1nuȯ��#! /bin/sh

# parse1 - temporary wrapper script for .libs/parse1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse1:parse1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse1:parse1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse1:parse1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�<�	0usr/share/doc/alt-libxml2-devel/examples/reader1nuȯ��#! /bin/sh

# reader1 - temporary wrapper script for .libs/reader1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader1:reader1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader1:reader1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader1:reader1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z٥�

5usr/share/doc/alt-libxml2-devel/examples/examples.xslnu�[���<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:variable name="apidoc-prefix">https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-</xsl:variable>

  <xsl:template match="include">
    <xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, $header, 'tml')"/>
    <li><a href="{$doc}"><xsl:value-of select="."/></a></li>
  </xsl:template>

  <xsl:template match="typedef">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="function">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="macro">
    <xsl:variable name="name" select="@name"/>
    <xsl:variable name="header" select="concat(@file, '.h')"/>
    <xsl:variable name="doc" select="concat($apidoc-prefix, @file, '.html#', $name)"/>
    <li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
  </xsl:template>

  <xsl:template match="example">
    <xsl:variable name="filename" select="string(@filename)"/>
    <h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
    <p><xsl:value-of select="purpose"/></p>
    <p>Includes:</p>
    <ul>
    <xsl:for-each select="includes/include">
      <xsl:sort select="@line" data-type="number"/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p>Uses:</p>
    <ul>
    <xsl:for-each select="uses/*">
      <xsl:sort select="@line" data-type="number"/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p>Usage:</p>
    <p><xsl:value-of select="usage"/></p>
    <p>Author: <xsl:value-of select="author"/></p>
  </xsl:template>

  <xsl:template match="section">
    <li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
    <ul>
    <xsl:for-each select="example">
      <xsl:sort select='.'/>
      <xsl:variable name="filename" select="@filename"/>
      <li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
    </xsl:for-each>
    </ul>
    </li>
  </xsl:template>

  <xsl:template match="sections">
    <p> The examples are stored per section depending on the main focus
    of the example:</p>
    <ul>
    <xsl:for-each select="section">
      <xsl:sort select='.'/>
      <xsl:apply-templates select='.'/>
    </xsl:for-each>
    </ul>
    <p> Getting the compilation options and libraries dependencies needed
to generate binaries from the examples is best done on Linux/Unix by using
the xml2-config script which should have been installed as part of <i>make
install</i> step or when installing the libxml2 development package:</p>
<pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
  </xsl:template>

  <xsl:template name="sections-list">
    <xsl:for-each select="sections/section">
      <xsl:variable name="section" select="@name"/>
      <h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
      <xsl:apply-templates select='/examples/example[section = $section]'/>
    </xsl:for-each>
  </xsl:template>

  <xsl:template match="examples">
    <xsl:variable name="title">Libxml2 set of examples</xsl:variable>
      <xsl:document href="index.html" method="xml" indent="yes" omit-xml-declaration="yes"
          doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
          doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html>
        <head>
	  <title>
	    <xsl:value-of select="$title"/>
	  </title>
        </head>
        <body>
	  <h1><xsl:value-of select="$title"/></h1>
          <xsl:apply-templates select="sections"/>
          <xsl:call-template name="sections-list"/>
        </body>
      </html>
    </xsl:document>
  </xsl:template>

</xsl:stylesheet>
PKi�Z��^���/usr/share/doc/alt-libxml2-devel/examples/parse3nuȯ��#! /bin/sh

# parse3 - temporary wrapper script for .libs/parse3
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse3 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse3.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse3:parse3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse3:parse3:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse3:parse3:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse3'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z����0�0�1usr/share/doc/alt-libxml2-devel/examples/parse4.onu�[���ELF>p�@@;:

.0-1,2+3H��H�
���H���GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R�H�{H�5�H�H����L�cH�\$H�������M��H��1�1��H��H��u��D1ɉ�H��H���H������1�H��H���D�mH��H�]�E��tdH���H�=���1�����H�=L��1�H����H�KH�=H�1����H�=L��1�H���z���H�
�"�H�=��`����rbFailed to parse %s
Failed to create parser context !
=$�5CJint�r�r��	��
5�1:3k6	�7	�8	�9	� :	�(;	�0<	�8=	�@@	�HA	�PB	�XDS`FYhHkpIktJyxMV�N]�O_�Qo�Y
��[z�\��]Y�^	C�_
)�`k�b���
+N�	�o
5Fu�	��
5��:�����k	�������	J
&@}�~C����|�(
 raw�(
(�	k0�	k4�58
�
# �h4�buf6�8�9�:�
cur;�
 end<�
(=	k0>	k4col?	k8E5@F�HG�
PH�
XI	k`idJ	kd
$��
&����	sax�d�C���k�k��
 ��
(�k0�k4��8�k@�kD�jH�kP�kX�k\�}`�	kh�Lp�	k��
k��k��k��k��k������k����
 �k(�k,�p0�r8�r@�kH�kL�kP��
X�
`�
h�vp�kx�k|�v��k�����k��k��k��k�C�k�k�C�k�k���p�	k�
k��
��
��
�k�k�kpv|� �(k0k4$k8%k<&k@'kH(EP-X.G�/5�05�3@�4k�5k�6@�8k�95�
'�	�
)�	 A
B�C�D�E�
*
�	�����S�`�m�� �(�F0�}8��@��H��P�%X�H`�fh�sp��x������� ���"����,��9��F��9������<��C��z�������
0��
&�
'C
(�

)�

*i
+i 
,^(
-i0
.i8doc
/�@
1
H
2
P
3kX
4�\
5�
`
6�
h
8�pURI
9�
x
:k�
;k�
1
�
i#

r4

<
��
	


�:
<
�	

��

� 6
�^
� p
��

�j*6x
�d
�C
��

��

�i
�i 
�i(
�i0
�i8doc
��@ns
�vH
�
P
�XX
�v`
�Ch
�Vp
�Vrvv�
�^
�C
��

��

�i
�i 
��(
�i0
�i8doc
��@
�CH
�CP
�CX
�C`
��
h
��
p
�Cxo�
'�
(C
)�

*�
+i
,i 
-i(
.i0
/i8doc
0�@
3kH
4kL
:^P
;^X
<|`
=�
h
>�
pids
?Cx
@C�URL
A�
�
Bk�
D��
EC�
Fk�
Hk�d<
�
�<
"&
'�
0#@0
2�
3�
4&
5 �
c1
6 �c2
7 �
8 � 
9 �
(
1�3@���
w�

�0
�v
�|
��
��

��

�C 
��(
��`
�E
�C
��

��

�i
�i 
�i(
�X0
�X8doc
��@ns
�vH
�P
�CX
�R��
�v
�x^
%d
&�~������C�
<�LXN�O
kP
kQ�RS�T
k U�(V�0W�8X
k@Y
kDZCH[CPM���C�Z	C�+<%"N&_Bqe*�9�P�pR}SCT|U�XkYk Zk$[}(]<0doc^�8_k@bvHckPdkTevXamh0`iShk<
�
��2���
T#�(W@XFZ5[5\5]5 �d`&Xb�c5d5e@kn 	

��<�G��_
��
kS!�
�C�!k�C�^��!��C�
�
j��C�
�
�
w��%!�9C�
��SY}C�
k�
�

������C�
�
kk�
^����C�
k��%C�
�
�
�
�28HC
�U[fC�U����C�
p���C�
�
�)���C�
k5�@�J�T�`�j�v�����������C�
�
�
kpkkp��Cc��!k		vvJQy��(-(�|�!�� �� � �� � �!�!6��!k�C�k?�9UB3��!C�)M!CC)W+1!�@����������"�	#jk���!$jk$j�!%�!z!!&�!'(")"�D("()"*�"8	�&�"+�",�#-T1-Q	-R|*�""a	�&�"+�",�#-T1-Q	-R|*�"F	P &�"+�",�#-U	-T1-Q".�"h -Us.�#� -U0-T0-Qs-X|.�#� -Uv-Ts-R0.�"� -Us.�#� -Uv-Ts-Q0-R1.�#!-Uv,�#-Us*�" }	y!&�"+�",�#-T1-Q	.�#�!-U

R.�#�!-T	/$/$/$/*$�0,6"1,�2-�	2.
�3doc/�3res0	k4kl"5mem�1k3res	k6)�"7E7')8__n6)7�9sz
):dk�"1d�1d<�;6"��#&G"(_"<S"=l"!&�"&�"&�"&~"'(�",3$-U�U-T1-Q4>Z?@�@@�@
>>�>�@9>�A@%U:;9I$>7I&I$>I	I
!I/:;9
:;9I8
:;9<4:;9I?<!
:;9I8:;9
:;9I8
:;9I8:;9
:;9I8:;9>I:;9(
:;9I8>I:;9:;9I'I (
!'I"4:;9I#.?:;9'I@�B$:;9I�B%1R�BUXYW&1�B'U(41�B)41*1R�BXYW+1,��1-���B.��1/��10.:;9' 1:;9I24:;9I34:;9I4.:;9'I 5:;9I6.?:;9'I 47:;9I8:;9I94:;9I:.?:;9'I 4;.1@�B<1=1R�BUXYW>.?<n:;9?.?<n:;@.?<n:;9A.?<nU�U�U�U�T�T�TS�T�S�T�\\\PVVPVSSPPP]P]
�
�
�
�U�U�P	4�1�U�U�	��<�6��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h<built-in>	��}�JX�~!	���XX�j<X]
�u��JX��>	���Q&	K	:KZ_��\Y	�t,
�S.	�g
�.	

�X	`
�aX�parentnodeInfoTablastErrorexternalfatalErrorSAXFuncxmlParserCtxtPtrXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFuncxmlParseChunk_xmlNode_freeres_listrawconsumedxmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities__fread_alias_flags2begin_pos_xmlNs_old_offsetparse4.cetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORelementsintSubseterrorcharactersendDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedexample4FuncendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linenexteXML_PARSE_UNKNOWNreadPacketprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYdomaingetParameterEntitySAXFuncserrorfopenend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclwarningSAXFunc_markersXML_XINCLUDE_END_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDfreeXML_PARSER_ENTITY_DECLnodememcodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntitygetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodevalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstartDocumentSAXFuncstr_xmlnsXML_ATTRIBUTE_IDXML_PARSER_IGNOREprocessingInstruction_IO_write_basexmlMallocFunc_vtable_offsetmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextcharsdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_id_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtrsize_freeres_buf_IO_backup_basexmlReallocXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOM_xmlStartTagXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetlinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONxmlAttrshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthfread__stack_chk_failreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodefclosegetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxtxmlCreatePushParserCtxtxmlEntityPtrXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_info__ptrvstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlercontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdstartElementSAXFunchasExternalSubsetSAXFunc_chainvstatexmlAutomataStateFILEdescerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNs__size_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�DZ<4�F�B�A �A(�D@r
(A ABBA
�	
/)
?0Yt1��2��3�#G^	cw� !#%')012345/6��������*+,-.�
�%=K]ho�����.annobin_parse4.c.annobin_parse4.c_end.annobin_parse4.c.hot.annobin_parse4.c_end.hot.annobin_parse4.c.unlikely.annobin_parse4.c_end.unlikely.annobin_parse4.c.startup.annobin_parse4.c_end.startup.annobin_parse4.c.exit.annobin_parse4.c_end.exit.annobin_readPacket.constprop.0.start.annobin_readPacket.constprop.0.endreadPacket.constprop.0desc.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_freadmainxmlCheckVersionfopenxmlCreatePushParserCtxtxmlParseChunkxmlFreeParserCtxtxmlFreeDocfclosexmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite__stack_chk_fail��������D�������� .��$, ( ) * +//�PF��������[1��������`G��������g������������������H���������I������������������I���������J���������K�����������������L��������M��������N��������O��������+2��������0P��������=O��������D2��������PP��������YO��������j2��������oP��������{O���������3���������Q���������R��������
"
'_
'�
'�
%p%
&*
'�8
'a
?
'�
M
'�Y
'-`
'�g
'�u
'0z
'��
'��
'�	�
'
�
'T�
'M
�
'p�
'�
'�
'B
'�
'�)
'6
'C
'$
P
'�]
'�j
'�w
'�
'��
'��
'r�
'��
'��
',�
'��
'd�
'x�
'2
'

'Z
 
'-
'�;
'�G
'�O
'0
v
'��
'�
'�
'��
'��
'��
'�
'L
'v 
'	-
'f:
'�G
'�T
'a
'N{
'��
'[�
'@�
'��
'(�
'e�
'�
'�
�
'u
'e)
'C
'P
'�]
'j
'mw
'4�
'��
'?�
'��
'�
'�
'��
'��
'm
'
'4%
'2
'�
?
'L
'�Y
'+f
's
'��
'��
'<�
'-�
'��
'�
'��
'��
'�
'�	�
'�
'�
'
'n+
'�
9
'�G
'MU
'#c
'fq
'_
'��
'Z�
'$�
'��
'T�
'�
�
'Y�
'��
'�
'I
'u
'9'
'y5
'�C
']Q
'�_
'�m
'$|
'�	�
'��
'��
'��
'E�
't�
'J�
'?�
'�	
'
'T!
'
0
'�?
'N
'�]
'�l
'D{
'(
�
'��
'��
'��
']�
'��
'�
'��
'�
	
'�	
' 	
'y/	
'�	>	
'�M	
'	\	
'�k	
'z	
'�	
'��	
'��	
'8�	
'��	
'��	
'��	
'�	�	
'X�	
'�

'�

'�.

'N<

'�J

'6X

'�f

'Z	t

'$�

'��

'�

'4�

'�

'�

'G	�

'��

'��

'�
'R
'
'a*
'�8
'�F
'T
'�b
'[p
'�~
'�
'~�
'�
�
'
�
'$�
'��
'��
'j�
'��
'C
'$
'�"
'�/
'�<
'�I
'V
'c
'�}
'q�
'��
'e�
'��
'b�
'��
'O�
'�
'�

'\

'�$

'�)

'PI

'�
O

'	U

'�[

'�
a

'@g

'�m

'�s

'�y

'�

'��

'~�

'?
�

'��

'/�

'`�

's
�

'��

'7�

'��

'��

'��

'��

'^�

'��

'��

'
'y	
'�
'�
'!
'}
'e+
'v7
'�D
'Q
'�_
'�w
')�
'$�
'��
'��
'��
'��
'�
'�
'�
'�
'9,
'9:
'�H
'V
'�p
'5~
'$�
'��
'��
'��
'��
'�
'�
'��
'X

'H
'm&
'k4
'bB
'�P
'�e
'.s
'$�
'��
'��
'��
'��
'�
'�
'��
'��
'4

'Q
'�)
'97
'mE
'a
'�}
'��
't�
'��
'��
'9�
'�
�
'��
'�
'��
'
'u
'�
'�
 
'�'
'.4
'A
'�O
'�]
'kk
'��
'�
'��
'��
'��
'L�
'd
�
'�
'��
'�
'e
'�"
'0
'�>
'TL
'�Z
'$h
'f�
'��
'0�
'$�
'��
'��
'��
'��
'�
'
'�)
'�	7
'�F
'._
'�	l
'�
''�
'e�
'��
'G�
'e�
'��
'��
':�
'&
'
'Q

'o*
'I7
'�D
'-Q
'^
'k
'x
'��
'��
'��
'Z
�
'_
�
'+�
'�
't�
'l
 
's,
'�1
'
C
'�O
';
T
'f
'>r
'
}
'�
�
'I�
'��
'��
'�
'[�
'��
'�
'��
'��
'<	
'=#
'�	0
'�=
'�J
'�W
'?p
'��
'I�
'&�
'�
�
'(�
'Q�
'��
'��
'��
'u�
'��
'
'�
'D&
'w3
'�M
'$Y
'Of
'�s
'e�
'N�
'i�
'��
'��
'�
�
'��
'��
'R�
'��
'?�
'R�
'��
'��
'��
'��
'��
':�
'o
'[	
'�
#
'U)
'�/
'�5
';
'�A
'H
';T
'F`
'-�
'�
'U
'�
'h	:
'PG
'o~
'3	�
'��
'L�
'�&
'�	I
'?g
'lt
'��
'��
'��
'��
'z
'r
'� 
'�-
'�:
'G
'&T
'�a
'�n
'�{
'�
'�
'P�
'�

' "
'�.
'x;
'�H
'�
U
'�b
'�	o
'&}
'�
'��
'��
'��
'g�
'��
'U 
'�A
'�M
'
Y
'4
e
'Hq
'�
}
'��
'��/�
'�
�
#�
#�
'��
#x�
#j�/x�
%0�
#�
#
%0
#o
#e!
#�%
#�.
#$2
#;/D/`
#�d
#�n/4��/V�/V�
#��
#��/s��/x /x 
#  
#* /�;  Q /�i /�� /�� /�� /�� /�!/�&!/6/!/6K!
#2O!
#0Y!/To!z!/T�!/d�!�!/�!/�!/�!/��!
'��!
'"
'+"
'n7"
'gT"
'
m"
'l"
'9�"
'k�"
'�	�"
'�"
'�	�"
'��"
#
#b#
#^#
#�#
#�*#3#
%?#
#�C#
#�L#
#�P#
#�Y#
#]#
#f#
#=j#
#9o#
%x#
#x|#
#v�#�#
'�	�#
'�	�#
'��#
'	�#
'D�#
'D�#
'�#
'�#
'2�#
'2�#
'��#
'��#
'��#
'��#
'q�#
'q$
'
$
'$
'�$
'�$
't#$
't+$
'r/$
'r4$
'l8$
'�//(/(#/G1/G9/OD/OL/�x/�/(�/(�/G�/G�/S�/S�/}�/}�/6�/6�/V�/V�/�/x$/�//7/6B/VJ/�o/�w/��/��/��/V�/x�/x�/��/��/��/��/��/V�/x$/�,/�7/�?/�J/�R/�]/�e/�p/x/(�/V�/x�/�/4��/V�/x�/x/� 2/6:/VEbju}�������=EPXx�
! /0/x8/�@/H/6P/VX/�px�/�/��/ 8/.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@84>T85>l86>�(87>�88 �@�b08&�,�6�41@�b�8
L$[$�V@`c08
u�����@�c08#�����@�c08������@�c08�t
8�@ d08#��@Pd�812O
@2h
#T�
A$O@�fH<8`�1�sy5�n@8��8!�:@~@0�H8#�V:��@x�P8%��::�@Ȭ08'�00>)�0YW.��W#�Wu�WL�W �W��W��W��W��W�W�W 4�Wp/@��086X�9C	�_�(�EPKi�Z�Rjؚؚ3usr/share/doc/alt-libxml2-devel/examples/index.htmlnu�[���<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Libxml2 set of examples</title>
  </head>
  <body>
    <h1>Libxml2 set of examples</h1>
    <p> The examples are stored per section depending on the main focus
    of the example:</p>
    <ul>
      <li>
        <p><a href="#xmlWriter">xmlWriter</a> :</p>
        <ul>
          <li><a href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li>
        </ul>
      </li>
      <li>
        <p><a href="#InputOutput">InputOutput</a> :</p>
        <ul>
          <li><a href="#io1.c">io1.c</a>: Example of custom Input/Output</li>
          <li><a href="#io2.c">io2.c</a>: Output to char buffer</li>
        </ul>
      </li>
      <li>
        <p><a href="#Tree">Tree</a> :</p>
        <ul>
          <li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</li>
          <li><a href="#tree2.c">tree2.c</a>: Creates a tree</li>
        </ul>
      </li>
      <li>
        <p><a href="#XPath">XPath</a> :</p>
        <ul>
          <li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</li>
          <li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</li>
        </ul>
      </li>
      <li>
        <p><a href="#Parsing">Parsing</a> :</p>
        <ul>
          <li><a href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li>
          <li><a href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li>
          <li><a href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li>
          <li><a href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</li>
        </ul>
      </li>
      <li>
        <p><a href="#xmlReader">xmlReader</a> :</p>
        <ul>
          <li><a href="#reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</li>
          <li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</li>
          <li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</li>
          <li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</li>
        </ul>
      </li>
    </ul>
    <p> Getting the compilation options and libraries dependencies needed
to generate binaries from the examples is best done on Linux/Unix by using
the xml2-config script which should have been installed as part of <i>make
install</i> step or when installing the libxml2 development package:</p>
    <pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
    <h2><a name="InputOutput" id="InputOutput"></a>InputOutput Examples</h2>
    <h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom Input/Output</h3>
    <p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html">&lt;libxml/xinclude.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 105: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 117: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li>
      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
      <li> line 134: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li>
      <li> line 143: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
      <li> line 149: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 154: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 158: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>io1</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="io2.c" href="io2.c" id="io2.c">io2.c</a>: Output to char buffer</h3>
    <p>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 19: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 20: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 27: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 28: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li>
      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>io2</p>
    <p>Author: John Fleck</p>
    <h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2>
    <h3><a name="parse1.c" href="parse1.c" id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3>
    <p>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 24: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 26: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
      <li> line 31: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 45: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 50: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse1 test1.xml</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse2.c" href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</h3>
    <p>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 25: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
      <li> line 26: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from parser.h</li>
      <li> line 35: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> from parser.h</li>
      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 47: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
      <li> line 61: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 66: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 70: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse2 test2.xml</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse3.c" href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</h3>
    <p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 27: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 49: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 54: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 58: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse3</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free it</h3>
    <p>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 45: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li>
      <li> line 47: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li>
      <li> line 86: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li>
      <li> line 103: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
      <li> line 120: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 131: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 135: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>parse4 test3.xml</p>
    <p>Author: Daniel Veillard</p>
    <h2><a name="Tree" id="Tree"></a>Tree Examples</h2>
    <h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: Navigates a tree to print element names</h3>
    <p>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li>
      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>tree1 filename_or_URL</p>
    <p>Author: Dodji Seketeli</p>
    <h3><a name="tree2.c" href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3>
    <p>Shows how to create document, nodes and dump it to stdout or file.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li>
      <li> line 73: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocText">xmlNewDocText</a> from tree.h</li>
      <li> line 77: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li>
      <li> line 87: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li>
      <li> line 88: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li>
      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>tree2 &lt;filename&gt;  -Default output: stdout</p>
    <p>Author: Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</p>
    <h2><a name="XPath" id="XPath"></a>XPath Examples</h2>
    <h3><a name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node set.</h3>
    <p>Shows how to evaluate XPath expression and register known namespaces in XPath context.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
      <li> line 101: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
      <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
      <li> line 129: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
      <li> line 130: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
      <li> line 156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li>
      <li> line 180: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li>
      <li> line 186: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from xpathInternals.h</li>
      <li> line 206: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 218: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</p>
    <p>Author: Aleksey Sanin</p>
    <h3><a name="xpath2.c" href="xpath2.c" id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the resulting document.</h3>
    <p>Shows how to make a full round-trip from a load/edit/save</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html">&lt;libxml/tree.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html">&lt;libxml/xpath.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li>
      <li> line 87: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li>
      <li> line 88: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li>
      <li> line 95: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li>
      <li> line 102: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from xpath.h</li>
      <li> line 110: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li>
      <li> line 123: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from xpath.h</li>
      <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li>
      <li> line 127: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
      <li> line 162: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p>
    <p>Author: Aleksey Sanin and Daniel Veillard</p>
    <h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2>
    <h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 29: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
      <li> line 33: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
      <li> line 36: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
      <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
      <li> line 44: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
      <li> line 59: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 67: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 69: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
      <li> line 89: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
      <li> line 94: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li>
      <li> line 98: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from xmlmemory.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader1 &lt;filename&gt;</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
      <li> line 34: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
      <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
      <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
      <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
      <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
      <li> line 60: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 68: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 81: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li>
      <li> line 84: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader2 &lt;valid_xml_filename&gt;</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract subdocuments with xmlReader</h3>
    <p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 32: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 43: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from xmlreader.h</li>
      <li> line 52: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 62: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
      <li> line 66: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
      <li> line 96: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader3</p>
    <p>Author: Daniel Veillard</p>
    <h3><a name="reader4.c" href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an xmlReader</h3>
    <p>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 26: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
      <li> line 54: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
      <li> line 72: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
      <li> line 83: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li>
      <li> line 97: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from xmlreader.h</li>
      <li> line 104: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
    </ul>
    <p>Usage:</p>
    <p>reader4 &lt;filename&gt; [ filename ... ]</p>
    <p>Author: Graham Bennett</p>
    <h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2>
    <h3><a name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</h3>
    <p>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</p>
    <p>Includes:</p>
    <ul>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html">&lt;libxml/encoding.h&gt;</a>
      </li>
      <li>
        <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a>
      </li>
    </ul>
    <p>Uses:</p>
    <ul>
      <li> line 76: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li>
      <li> line 341: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li>
      <li> line 347: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li>
      <li> line 355: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li>
      <li> line 613: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li>
      <li> line 632: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li>
      <li> line 878: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li>
      <li> line 880: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
      <li> line 885: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li>
      <li> line 885: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
      <li> line 894: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
      <li> line 901: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
      <li> line 904: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li>
      <li> line 913: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li>
      <li> line 925: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li>
      <li> line 949: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li>
      <li> line 959: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li>
      <li> line 1073: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li>
      <li> line 1096: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li>
      <li> line 1103: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li>
      <li> line 1111: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li>
      <li> line 1121: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li>
      <li> line 1127: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li>
      <li> line 1129: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li>
      <li> line 1151: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li>
      <li> line 1156: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li>
    </ul>
    <p>Usage:</p>
    <p>testWriter</p>
    <p>Author: Alfred Mickautsch</p>
  </body>
</html>
PKi�Z��7|e�e�5usr/share/doc/alt-libxml2-devel/examples/testWriter.cnu�[���/**
 * section: xmlWriter
 * synopsis: use various APIs for the xmlWriter
 * purpose: tests a number of APIs for the xmlWriter, especially
 *          the various methods to write to a filename, to a memory
 *          buffer, to a new document, or to a subtree. It shows how to
 *          do encoding string conversions too. The resulting
 *          documents are then serialized.
 * usage: testWriter
 * test: testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
 * author: Alfred Mickautsch
 * copy: see Copyright for the status of this software.
 */
#include <stdio.h>
#include <string.h>
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>

#if defined(LIBXML_WRITER_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)

#define MY_ENCODING "ISO-8859-1"

void testXmlwriterFilename(const char *uri);
void testXmlwriterMemory(const char *file);
void testXmlwriterDoc(const char *file);
void testXmlwriterTree(const char *file);
xmlChar *ConvertInput(const char *in, const char *encoding);

int
main(void)
{
    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /* first, the file version */
    testXmlwriterFilename("writer1.tmp");

    /* next, the memory version */
    testXmlwriterMemory("writer2.tmp");

    /* next, the DOM version */
    testXmlwriterDoc("writer3.tmp");

    /* next, the tree version */
    testXmlwriterTree("writer4.tmp");

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * testXmlwriterFilename:
 * @uri: the output URI
 *
 * test the xmlWriter interface when writing to a new file
 */
void
testXmlwriterFilename(const char *uri)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlChar *tmp;

    /* Create a new XmlWriter for uri, with no compression. */
    writer = xmlNewTextWriterFilename(uri, 0);
    if (writer == NULL) {
        printf("testXmlwriterFilename: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		     "This is another comment with special chars: %s",
		     tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf
            ("testXmlwriterFilename: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);
}

/**
 * testXmlwriterMemory:
 * @file: the output file
 *
 * test the xmlWriter interface when writing to memory
 */
void
testXmlwriterMemory(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlBufferPtr buf;
    xmlChar *tmp;
    FILE *fp;

    /* Create a new XML buffer, to which the XML document will be
     * written */
    buf = xmlBufferCreate();
    if (buf == NULL) {
        printf("testXmlwriterMemory: Error creating the xml buffer\n");
        return;
    }

    /* Create a new XmlWriter for memory, with no compression.
     * Remark: there is no compression for this kind of xmlTextWriter */
    writer = xmlNewTextWriterMemory(buf, 0);
    if (writer == NULL) {
        printf("testXmlwriterMemory: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		     "This is another comment with special chars: %s",
                                         tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);

    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf
            ("testXmlwriterMemory: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterMemory: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    fp = fopen(file, "w");
    if (fp == NULL) {
        printf("testXmlwriterMemory: Error at fopen\n");
        return;
    }

    fprintf(fp, "%s", (const char *) buf->content);

    fclose(fp);

    xmlBufferFree(buf);
}

/**
 * testXmlwriterDoc:
 * @file: the output file
 *
 * test the xmlWriter interface when creating a new document
 */
void
testXmlwriterDoc(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlChar *tmp;
    xmlDocPtr doc;


    /* Create a new XmlWriter for DOM, with no compression. */
    writer = xmlNewTextWriterDoc(&doc, 0);
    if (writer == NULL) {
        printf("testXmlwriterDoc: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Start an element named "EXAMPLE". Since this is the first
     * element, this will be the root element of the document. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "EXAMPLE");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
		 "This is another comment with special chars: %s",
		                         tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterDoc: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterDoc: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    xmlSaveFileEnc(file, doc, MY_ENCODING);

    xmlFreeDoc(doc);
}

/**
 * testXmlwriterTree:
 * @file: the output file
 *
 * test the xmlWriter interface when writing to a subtree
 */
void
testXmlwriterTree(const char *file)
{
    int rc;
    xmlTextWriterPtr writer;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlChar *tmp;

    /* Create a new XML DOM tree, to which the XML document will be
     * written */
    doc = xmlNewDoc(BAD_CAST XML_DEFAULT_VERSION);
    if (doc == NULL) {
        printf
            ("testXmlwriterTree: Error creating the xml document tree\n");
        return;
    }

    /* Create a new XML node, to which the XML document will be
     * appended */
    node = xmlNewDocNode(doc, NULL, BAD_CAST "EXAMPLE", NULL);
    if (node == NULL) {
        printf("testXmlwriterTree: Error creating the xml node\n");
        return;
    }

    /* Make ELEMENT the root node of the tree */
    xmlDocSetRootElement(doc, node);

    /* Create a new XmlWriter for DOM tree, with no compression. */
    writer = xmlNewTextWriterTree(doc, node, 0);
    if (writer == NULL) {
        printf("testXmlwriterTree: Error creating the xml writer\n");
        return;
    }

    /* Start the document with the xml default for the version,
     * encoding ISO 8859-1 and the default for the standalone
     * declaration. */
    rc = xmlTextWriterStartDocument(writer, NULL, MY_ENCODING, NULL);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartDocument\n");
        return;
    }

    /* Write a comment as child of EXAMPLE.
     * Please observe, that the input to the xmlTextWriter functions
     * HAS to be in UTF-8, even if the output XML is encoded
     * in iso-8859-1 */
    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                       MY_ENCODING);
    rc = xmlTextWriterWriteComment(writer, tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "ORDER" as child of EXAMPLE. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ORDER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Add an attribute with name "version" and value "1.0" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "version",
                                     BAD_CAST "1.0");
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Add an attribute with name "xml:lang" and value "de" to ORDER. */
    rc = xmlTextWriterWriteAttribute(writer, BAD_CAST "xml:lang",
                                     BAD_CAST "de");
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteAttribute\n");
        return;
    }

    /* Write a comment as child of ORDER */
    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
    rc = xmlTextWriterWriteFormatComment(writer,
			 "This is another comment with special chars: %s",
					  tmp);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatComment\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Start an element named "HEADER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "HEADER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "X_ORDER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "X_ORDER_ID",
                                         "%010d", 53535);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "CUSTOMER_ID" as child of HEADER. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "CUSTOMER_ID",
                                         "%d", 1010);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Write an element named "NAME_1" as child of HEADER. */
    tmp = ConvertInput("M\xFCller", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Write an element named "NAME_2" as child of HEADER. */
    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }
    if (tmp != NULL) xmlFree(tmp);

    /* Close the element named HEADER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRIES" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRIES");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test>");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         10);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "ENTRY" as child of ENTRIES. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "ENTRY");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "ARTICLE" as child of ENTRY. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "ARTICLE",
                                   BAD_CAST "<Test 2>");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Write an element named "ENTRY_NO" as child of ENTRY. */
    rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST "ENTRY_NO", "%d",
                                         20);
    if (rc < 0) {
        printf
            ("testXmlwriterTree: Error at xmlTextWriterWriteFormatElement\n");
        return;
    }

    /* Close the element named ENTRY. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Close the element named ENTRIES. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Start an element named "FOOTER" as child of ORDER. */
    rc = xmlTextWriterStartElement(writer, BAD_CAST "FOOTER");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterStartElement\n");
        return;
    }

    /* Write an element named "TEXT" as child of FOOTER. */
    rc = xmlTextWriterWriteElement(writer, BAD_CAST "TEXT",
                                   BAD_CAST "This is a text.");
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
        return;
    }

    /* Close the element named FOOTER. */
    rc = xmlTextWriterEndElement(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndElement\n");
        return;
    }

    /* Here we could close the elements ORDER and EXAMPLE using the
     * function xmlTextWriterEndElement, but since we do not want to
     * write any other elements, we simply call xmlTextWriterEndDocument,
     * which will do all the work. */
    rc = xmlTextWriterEndDocument(writer);
    if (rc < 0) {
        printf("testXmlwriterTree: Error at xmlTextWriterEndDocument\n");
        return;
    }

    xmlFreeTextWriter(writer);

    xmlSaveFileEnc(file, doc, MY_ENCODING);

    xmlFreeDoc(doc);
}

/**
 * ConvertInput:
 * @in: string in a given encoding
 * @encoding: the encoding used
 *
 * Converts @in into UTF-8 for processing with libxml2 APIs
 *
 * Returns the converted UTF-8 string, or NULL in case of error.
 */
xmlChar *
ConvertInput(const char *in, const char *encoding)
{
    xmlChar *out;
    int ret;
    int size;
    int out_size;
    int temp;
    xmlCharEncodingHandlerPtr handler;

    if (in == 0)
        return 0;

    handler = xmlFindCharEncodingHandler(encoding);

    if (!handler) {
        printf("ConvertInput: no encoding handler found for '%s'\n",
               encoding ? encoding : "");
        return 0;
    }

    size = (int) strlen(in) + 1;
    out_size = size * 2 - 1;
    out = (unsigned char *) xmlMalloc((size_t) out_size);

    if (out != 0) {
        temp = size - 1;
        ret = handler->input(out, &out_size, (const xmlChar *) in, &temp);
        if ((ret < 0) || (temp - size + 1)) {
            if (ret < 0) {
                printf("ConvertInput: conversion wasn't successful.\n");
            } else {
                printf
                    ("ConvertInput: conversion wasn't successful. converted: %i octets.\n",
                     temp);
            }

            xmlFree(out);
            out = 0;
        } else {
            out = (unsigned char *) xmlRealloc(out, out_size + 1);
            out[out_size] = 0;  /*null terminating out */
        }
    } else {
        printf("ConvertInput: no mem\n");
    }

    return out;
}

#else
int main(void) {
    fprintf(stderr, "Writer or output support not compiled in\n");
    return 0;
}
#endif
PKi�Z#ʞ�XX1usr/share/doc/alt-libxml2-devel/examples/parse1.onu�[���ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��S�
RH���H�[1�1�H���H��tH�����1�[�H�=H�پH����Failed to parse %s
g�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K��C9�B3��C	)M		C&	C)W2	8	�G	������	���&	"ae��
"a"�
�
-�
�
�
 �
	c
!"#T1#Q	#Rs$+�
#Us#T0#Q0%8$E�
#U

R%Q%^�&�
'�(doc�)da'd�'d<�*+Z,
q,
+,
9+�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B 1R�BXYW!1"��1#���B$��1%��1&.:;9' ':;9I(4:;9I).?:;9'I 4*+.?<n:;9,.?<n:;9U�U�TS�T�SSPP
�,e�A�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h!	!K�!j 	 X<ZjJ�\�\Y/	d.�
��__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endparse1.cencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesfilenameelementsxmlReadFile_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypeXML_DOCUMENT_FRAG_NODEargcexample1Func_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�eP�w
A
�	-)?.Yt/��0��1�e!#%'./0123-4#(4DYm()*+,~e��������.annobin_parse1.c.annobin_parse1.c_end.annobin_parse1.c.hot.annobin_parse1.c_end.hot.annobin_parse1.c.unlikely.annobin_parse1.c_end.unlikely.annobin_parse1.c.startup.annobin_parse1.c_end.startup.annobin_parse1.c.exit.annobin_parse1.c_end.exit.annobin_main.start.annobin_main.end.LC0.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReadFilexmlFreeDocxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk ) # $ % &**e>��������)?��������6@��������;A��������@B��������KC��������Z,��������_D��������

"
"
"*
 0%
!*
"\8
"z?
""H
"7O
"�V
"]
"ck
"*p
"|
"j�
"D�
"��
"@�
"�
"�
"��
"�
"��
"�
"�
"G
"
)
"C6
"�C
"P
"]
"j
")w
"��
"t�
"��
"h�
"#�
"��
"��
"��
"��
"/�
"�
"1
"!
"�-
"�5
"�\
"jg
"m�
"S�
"7�
"�
"��
"�
"�
"�
"
"R 
"�&
"�,
"�2
">8
"�>
"�D
"�J
"�P
"V
"\
"Eb
"�h
"�n
"�t
"rz
"��
"Y�
"��
"5�
"J�
"��
"��
"��
"��
"�
"��
"��
"X�
"o�
"��
"�
"�
"�(
".6
"D
"9R
"c`
"��
"��
"��
"��
"��
"��
"��
"�
"�
"�
"�
".*
"8
"9F
"cT
"�p
"{~
"��
"��
"Z�
"v�
"��
"��
"�
"��
"�
"�
".
"-
"9;
"cI
"�e
"�s
"b�
"`�
"m�
"3�
"R�
"!�
"�
"��
"

"�
"9)
"�@
"�G
"-L
"IQ
"$^
"�k
"�y
"c�
"��
"S�
"[�
"��
"��
"h�
"��
"�
"�
". 
".
"9<
"cJ
"�s
"��
"��
"K�
"��
"��
"��
"*	
"<'	
"H	
"�T	
"�`	
"wl	
"x	
"��	
"��	*�	
"��	
�	
�	
"�	
C�	
=�	*!�	
 �	
��	
��	
 �	
�

�

*H
*H/

3

=
*cS
d
*-�
*:�
*�
*?�
*D�

"��

"��

"R
"q
"� 
"�$
"�,
"�0
"�9
"8=
"8F
"�J
"�R
"�V
"�_
"Zc
"Z****eC*K*V*^*!i*!q*e�*!�*:�*H�*e�*-�*9�*H�*b*H
*c
**!*:*H*e0*8*eP* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6-*P6.*h6/*�(60*�61�!�'�1��,@.06	G�V��Q@H.06ph�h�@x.06<�<��@�.06����@�.06��	8�@/06 e@8/�6,2�@�k;@�/�6L\_`1Z@�D�6o�0j@�F06!��P~@�F�6#���@hG6%�0�I�0%.�M%M%pM%GM%M%�M%�M%�M%�M%�M%P%  p%8@�G64�%x7<	 ,��G1PKi�Z$q��~�~5usr/share/doc/alt-libxml2-devel/examples/examples.xmlnu�[���<examples>
  <example filename='io1.c'>
    <synopsis>Example of custom Input/Output</synopsis>
    <purpose>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</purpose>
    <usage>io1</usage>
    <test>io1 &gt; io1.tmp &amp;&amp; diff io1.tmp $(srcdir)/io1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>InputOutput</section>
    <includes>
      <include line='16'>&lt;libxml/parser.h&gt;</include>
      <include line='17'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xinclude.h&gt;</include>
      <include line='19'>&lt;libxml/xmlIO.h&gt;</include>
    </includes>
    <uses>
      <macro line='117' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='154' file='parser' name='xmlCleanupParser'/>
      <function line='143' file='tree' name='xmlDocDump'/>
      <typedef line='105' file='tree' name='xmlDocPtr'/>
      <function line='149' file='tree' name='xmlFreeDoc'/>
      <function line='158' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='124' file='parser' name='xmlReadMemory'/>
      <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/>
      <function line='134' file='xinclude' name='xmlXIncludeProcess'/>
    </uses>
  </example>
  <example filename='io2.c'>
    <synopsis>Output to char buffer</synopsis>
    <purpose>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</purpose>
    <usage>io2</usage>
    <test>io2 &gt; io2.tmp &amp;&amp; diff io2.tmp $(srcdir)/io2.res</test>
    <author>John Fleck</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>InputOutput</section>
    <includes>
      <include line='12'>&lt;libxml/parser.h&gt;</include>
    </includes>
    <uses>
      <function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
      <typedef line='20' file='tree' name='xmlDocPtr'/>
      <function line='30' file='tree' name='xmlDocSetRootElement'/>
      <variable line='42' file='globals' name='xmlFree'/>
      <function line='43' file='tree' name='xmlFreeDoc'/>
      <function line='27' file='tree' name='xmlNewDoc'/>
      <function line='28' file='tree' name='xmlNewDocNode'/>
      <typedef line='19' file='tree' name='xmlNodePtr'/>
      <function line='29' file='tree' name='xmlNodeSetContent'/>
    </uses>
  </example>
  <example filename='parse1.c'>
    <synopsis>Parse an XML file to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse1 test1.xml</usage>
    <test>parse1 test1.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='45' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='50' file='parser' name='xmlCleanupParser'/>
      <typedef line='24' file='tree' name='xmlDocPtr'/>
      <function line='31' file='tree' name='xmlFreeDoc'/>
      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='26' file='parser' name='xmlReadFile'/>
    </uses>
  </example>
  <example filename='parse2.c'>
    <synopsis>Parse and validate an XML file to a tree and free the result</synopsis>
    <purpose>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</purpose>
    <usage>parse2 test2.xml</usage>
    <test>parse2 test2.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='14'>&lt;libxml/parser.h&gt;</include>
      <include line='15'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/>
      <function line='66' file='parser' name='xmlCleanupParser'/>
      <function line='35' file='parser' name='xmlCtxtReadFile'/>
      <typedef line='26' file='tree' name='xmlDocPtr'/>
      <function line='44' file='tree' name='xmlFreeDoc'/>
      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
      <function line='70' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='29' file='parser' name='xmlNewParserCtxt'/>
      <typedef line='25' file='tree' name='xmlParserCtxtPtr'/>
    </uses>
  </example>
  <example filename='parse3.c'>
    <synopsis>Parse an XML document in memory to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse3</usage>
    <test>parse3</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='54' file='parser' name='xmlCleanupParser'/>
      <typedef line='27' file='tree' name='xmlDocPtr'/>
      <function line='38' file='tree' name='xmlFreeDoc'/>
      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='33' file='parser' name='xmlReadMemory'/>
    </uses>
  </example>
  <example filename='parse4.c'>
    <synopsis>Parse an XML document chunk by chunk to a tree and free it</synopsis>
    <purpose>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() to free the resulting tree</purpose>
    <usage>parse4 test3.xml</usage>
    <test>parse4 test3.xml</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Parsing</section>
    <includes>
      <include line='14'>&lt;libxml/parser.h&gt;</include>
      <include line='15'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <macro line='120' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='131' file='parser' name='xmlCleanupParser'/>
      <function line='67' file='parser' name='xmlCreatePushParserCtxt'/>
      <typedef line='47' file='tree' name='xmlDocPtr'/>
      <function line='103' file='tree' name='xmlFreeDoc'/>
      <function line='94' file='parser' name='xmlFreeParserCtxt'/>
      <function line='135' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='86' file='parser' name='xmlParseChunk'/>
      <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
    </uses>
  </example>
  <example filename='reader1.c'>
    <synopsis>Parse an XML file with an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader1 &lt;filename&gt;</usage>
    <test>reader1 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/>
      <function line='94' file='parser' name='xmlCleanupParser'/>
      <function line='69' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='98' file='xmlmemory' name='xmlMemoryDump'/>
      <function line='62' file='xmlreader' name='xmlReaderForFile'/>
      <function line='44' file='xmlstring' name='xmlStrlen'/>
      <function line='29' file='xmlreader' name='xmlTextReaderConstName'/>
      <function line='33' file='xmlreader' name='xmlTextReaderConstValue'/>
      <function line='36' file='xmlreader' name='xmlTextReaderDepth'/>
      <function line='40' file='xmlreader' name='xmlTextReaderHasValue'/>
      <function line='39' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
      <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
      <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='67' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader2.c'>
    <synopsis>Parse and validate an XML file with an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader2 &lt;valid_xml_filename&gt;</usage>
    <test>reader2 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
      <function line='45' file='xmlstring' name='xmlStrlen'/>
      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
      <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
      <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader3.c'>
    <synopsis>Show how to extract subdocuments with xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader3</usage>
    <test>reader3 &gt; reader3.tmp &amp;&amp; diff reader3.tmp $(srcdir)/reader3.res</test>
    <author>Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='16'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <function line='96' file='tree' name='xmlDocDump'/>
      <function line='66' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='38' file='xmlreader' name='xmlReaderForFile'/>
      <function line='62' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
      <function line='43' file='xmlreader' name='xmlTextReaderPreservePattern'/>
      <typedef line='32' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='52' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='reader4.c'>
    <synopsis>Parse multiple XML files reusing an xmlReader</synopsis>
    <purpose>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
    <usage>reader4 &lt;filename&gt; [ filename ... ]</usage>
    <test>reader4 test1.xml test2.xml test3.xml &gt; reader4.tmp &amp;&amp; diff reader4.tmp $(srcdir)/reader4.res</test>
    <author>Graham Bennett</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlReader</section>
    <includes>
      <include line='15'>&lt;libxml/xmlreader.h&gt;</include>
    </includes>
    <uses>
      <function line='104' file='xmlreader' name='xmlFreeTextReader'/>
      <function line='72' file='xmlreader' name='xmlReaderForFile'/>
      <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
      <function line='97' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
      <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
      <function line='26' file='xmlreader' name='xmlTextReaderRead'/>
    </uses>
  </example>
  <example filename='testWriter.c'>
    <synopsis>use various APIs for the xmlWriter</synopsis>
    <purpose>tests a number of APIs for the xmlWriter, especially the various methods to write to a filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string conversions too. The resulting documents are then serialized.</purpose>
    <usage>testWriter</usage>
    <test>testWriter &amp;&amp; for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done</test>
    <author>Alfred Mickautsch</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>xmlWriter</section>
    <includes>
      <include line='16'>&lt;libxml/encoding.h&gt;</include>
      <include line='17'>&lt;libxml/xmlwriter.h&gt;</include>
    </includes>
    <uses>
      <macro line='885' file='parser' name='XML_DEFAULT_VERSION'/>
      <function line='347' file='tree' name='xmlBufferCreate'/>
      <function line='613' file='tree' name='xmlBufferFree'/>
      <typedef line='341' file='tree' name='xmlBufferPtr'/>
      <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/>
      <function line='901' file='tree' name='xmlDocSetRootElement'/>
      <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/>
      <variable line='1180' file='globals' name='xmlFree'/>
      <function line='1127' file='xmlwriter' name='xmlFreeTextWriter'/>
      <variable line='1166' file='globals' name='xmlMalloc'/>
      <function line='885' file='tree' name='xmlNewDoc'/>
      <function line='894' file='tree' name='xmlNewDocNode'/>
      <function line='632' file='xmlwriter' name='xmlNewTextWriterDoc'/>
      <function line='76' file='xmlwriter' name='xmlNewTextWriterFilename'/>
      <function line='355' file='xmlwriter' name='xmlNewTextWriterMemory'/>
      <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/>
      <typedef line='880' file='tree' name='xmlNodePtr'/>
      <variable line='1183' file='globals' name='xmlRealloc'/>
      <function line='1129' file='tree' name='xmlSaveFileEnc'/>
      <function line='1121' file='xmlwriter' name='xmlTextWriterEndDocument'/>
      <function line='1111' file='xmlwriter' name='xmlTextWriterEndElement'/>
      <typedef line='878' file='xmlwriter' name='xmlTextWriterPtr'/>
      <function line='913' file='xmlwriter' name='xmlTextWriterStartDocument'/>
      <function line='1096' file='xmlwriter' name='xmlTextWriterStartElement'/>
      <function line='949' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
      <function line='925' file='xmlwriter' name='xmlTextWriterWriteComment'/>
      <function line='1103' file='xmlwriter' name='xmlTextWriterWriteElement'/>
      <function line='959' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
      <function line='1073' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
    </uses>
  </example>
  <example filename='tree1.c'>
    <synopsis>Navigates a tree to print element names</synopsis>
    <purpose>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</purpose>
    <usage>tree1 filename_or_URL</usage>
    <test>tree1 test2.xml &gt; tree1.tmp &amp;&amp; diff tree1.tmp $(srcdir)/tree1.res</test>
    <author>Dodji Seketeli</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>Tree</section>
    <includes>
      <include line='13'>&lt;libxml/parser.h&gt;</include>
      <include line='14'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
      <function line='74' file='tree' name='xmlDocGetRootElement'/>
      <function line='67' file='parser' name='xmlReadFile'/>
    </uses>
  </example>
  <example filename='tree2.c'>
    <synopsis>Creates a tree</synopsis>
    <purpose>Shows how to create document, nodes and dump it to stdout or file.</purpose>
    <usage>tree2 &lt;filename&gt;  -Default output: stdout</usage>
    <test>tree2 &gt; tree2.tmp &amp;&amp; diff tree2.tmp $(srcdir)/tree2.res</test>
    <author>Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</author>
    <copy>see Copyright for the status of this software </copy>
    <section>Tree</section>
    <includes>
      <include line='12'>&lt;libxml/parser.h&gt;</include>
      <include line='13'>&lt;libxml/tree.h&gt;</include>
    </includes>
    <uses>
      <function line='77' file='tree' name='xmlAddChild'/>
      <function line='45' file='tree' name='xmlCreateIntSubset'/>
      <function line='40' file='tree' name='xmlDocSetRootElement'/>
      <function line='87' file='tree' name='xmlNewChild'/>
      <function line='38' file='tree' name='xmlNewDoc'/>
      <function line='73' file='tree' name='xmlNewDocNode'/>
      <function line='74' file='tree' name='xmlNewDocText'/>
      <function line='88' file='tree' name='xmlNewProp'/>
      <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
    </uses>
  </example>
  <example filename='xpath1.c'>
    <synopsis>Evaluate XPath expression and prints result node set.</synopsis>
    <purpose>Shows how to evaluate XPath expression and register known namespaces in XPath context.</purpose>
    <usage>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</usage>
    <test>xpath1 test3.xml &apos;//child2&apos; &gt; xpath1.tmp &amp;&amp; diff xpath1.tmp $(srcdir)/xpath1.res</test>
    <author>Aleksey Sanin</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>XPath</section>
    <includes>
      <include line='17'>&lt;libxml/parser.h&gt;</include>
      <include line='16'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xpath.h&gt;</include>
      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
    </includes>
    <uses>
      <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
      <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
      <variable line='193' file='globals' name='xmlFree'/>
      <function line='39' file='parser' name='xmlInitParser'/>
      <typedef line='206' file='tree' name='xmlNodePtr'/>
      <typedef line='218' file='tree' name='xmlNsPtr'/>
      <function line='94' file='parser' name='xmlParseFile'/>
      <function line='180' file='xmlstring' name='xmlStrchr'/>
      <function line='156' file='xmlstring' name='xmlStrdup'/>
      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
      <function line='101' file='xpath' name='xmlXPathNewContext'/>
      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
    </uses>
  </example>
  <example filename='xpath2.c'>
    <synopsis>Load a document, locate subelements with XPath, modify said elements and save the resulting document.</synopsis>
    <purpose>Shows how to make a full round-trip from a load/edit/save</purpose>
    <usage>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</usage>
    <test>xpath2 test3.xml &apos;//discarded&apos; discarded &gt; xpath2.tmp &amp;&amp; diff xpath2.tmp $(srcdir)/xpath2.res</test>
    <author>Aleksey Sanin and Daniel Veillard</author>
    <copy>see Copyright for the status of this software. </copy>
    <section>XPath</section>
    <includes>
      <include line='17'>&lt;libxml/parser.h&gt;</include>
      <include line='16'>&lt;libxml/tree.h&gt;</include>
      <include line='18'>&lt;libxml/xpath.h&gt;</include>
      <include line='19'>&lt;libxml/xpathInternals.h&gt;</include>
    </includes>
    <uses>
      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
      <function line='127' file='tree' name='xmlDocDump'/>
      <function line='41' file='parser' name='xmlInitParser'/>
      <function line='162' file='tree' name='xmlNodeSetContent'/>
      <function line='95' file='parser' name='xmlParseFile'/>
      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
      <function line='123' file='xpath' name='xmlXPathFreeObject'/>
      <function line='102' file='xpath' name='xmlXPathNewContext'/>
      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
    </uses>
  </example>
  <symbols>
    <symbol name='LIBXML_TEST_VERSION'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='XML_DEFAULT_VERSION'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='XML_ELEMENT_NODE'>
      <ref filename='tree1.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='XML_NAMESPACE_DECL'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='XML_PARSE_DTDATTR'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='XML_PARSE_DTDVALID'>
      <ref filename='parse2.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='XML_PARSE_NOENT'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlAddChild'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlBufferCreate'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlBufferFree'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlBufferPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlCharEncodingHandlerPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlCleanupParser'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='xmlCreateIntSubset'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlCreatePushParserCtxt'>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlCtxtReadFile'>
      <ref filename='parse2.c'/>
    </symbol>
    <symbol name='xmlDocDump'>
      <ref filename='io1.c'/>
      <ref filename='reader3.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlDocDumpFormatMemory'>
      <ref filename='io2.c'/>
    </symbol>
    <symbol name='xmlDocGetRootElement'>
      <ref filename='tree1.c'/>
    </symbol>
    <symbol name='xmlDocPtr'>
      <ref filename='io1.c'/>
      <ref filename='io2.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlDocSetRootElement'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlFindCharEncodingHandler'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlFree'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlFreeDoc'>
      <ref filename='io1.c'/>
      <ref filename='io2.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlFreeParserCtxt'>
      <ref filename='parse2.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlFreeTextReader'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlFreeTextWriter'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlInitParser'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlMalloc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlMemoryDump'>
      <ref filename='io1.c'/>
      <ref filename='parse1.c'/>
      <ref filename='parse2.c'/>
      <ref filename='parse3.c'/>
      <ref filename='parse4.c'/>
      <ref filename='reader1.c'/>
    </symbol>
    <symbol name='xmlNewChild'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDoc'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDocNode'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewDocText'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewParserCtxt'>
      <ref filename='parse2.c'/>
    </symbol>
    <symbol name='xmlNewProp'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterDoc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterFilename'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterMemory'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNewTextWriterTree'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlNodePtr'>
      <ref filename='io2.c'/>
      <ref filename='testWriter.c'/>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlNodeSetContent'>
      <ref filename='io2.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlNsPtr'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlParseChunk'>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlParseFile'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlParserCtxtPtr'>
      <ref filename='parse2.c'/>
      <ref filename='parse4.c'/>
    </symbol>
    <symbol name='xmlReadFile'>
      <ref filename='parse1.c'/>
      <ref filename='tree1.c'/>
    </symbol>
    <symbol name='xmlReadMemory'>
      <ref filename='io1.c'/>
      <ref filename='parse3.c'/>
    </symbol>
    <symbol name='xmlReaderForFile'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlReaderNewFile'>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlRealloc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlRegisterInputCallbacks'>
      <ref filename='io1.c'/>
    </symbol>
    <symbol name='xmlSaveFileEnc'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlSaveFormatFileEnc'>
      <ref filename='tree2.c'/>
    </symbol>
    <symbol name='xmlStrchr'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlStrdup'>
      <ref filename='xpath1.c'/>
    </symbol>
    <symbol name='xmlStrlen'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderConstName'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderConstValue'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderCurrentDoc'>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextReaderDepth'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderHasValue'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderIsEmptyElement'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderIsValid'>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderNodeType'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
    </symbol>
    <symbol name='xmlTextReaderPreservePattern'>
      <ref filename='reader3.c'/>
    </symbol>
    <symbol name='xmlTextReaderPtr'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextReaderRead'>
      <ref filename='reader1.c'/>
      <ref filename='reader2.c'/>
      <ref filename='reader3.c'/>
      <ref filename='reader4.c'/>
    </symbol>
    <symbol name='xmlTextWriterEndDocument'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterEndElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterPtr'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterStartDocument'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterStartElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteAttribute'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteComment'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteFormatComment'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlTextWriterWriteFormatElement'>
      <ref filename='testWriter.c'/>
    </symbol>
    <symbol name='xmlXIncludeProcess'>
      <ref filename='io1.c'/>
    </symbol>
    <symbol name='xmlXPathContextPtr'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathEvalExpression'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathFreeContext'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathFreeObject'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathNewContext'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathObjectPtr'>
      <ref filename='xpath1.c'/>
      <ref filename='xpath2.c'/>
    </symbol>
    <symbol name='xmlXPathRegisterNs'>
      <ref filename='xpath1.c'/>
    </symbol>
  </symbols>
  <sections>
    <section name='InputOutput'>
      <example filename='io1.c'/>
      <example filename='io2.c'/>
    </section>
    <section name='Parsing'>
      <example filename='parse1.c'/>
      <example filename='parse2.c'/>
      <example filename='parse3.c'/>
      <example filename='parse4.c'/>
    </section>
    <section name='Tree'>
      <example filename='tree1.c'/>
      <example filename='tree2.c'/>
    </section>
    <section name='XPath'>
      <example filename='xpath1.c'/>
      <example filename='xpath2.c'/>
    </section>
    <section name='xmlReader'>
      <example filename='reader1.c'/>
      <example filename='reader2.c'/>
      <example filename='reader3.c'/>
      <example filename='reader4.c'/>
    </section>
    <section name='xmlWriter'>
      <example filename='testWriter.c'/>
    </section>
  </sections>
</examples>
PKi�Z��G��1usr/share/doc/alt-libxml2-devel/examples/parse3.cnu�[���/**
 * section: Parsing
 * synopsis: Parse an XML document in memory to a tree and free it
 * purpose: Demonstrate the use of xmlReadMemory() to read an XML file
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse3
 * test: parse3
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

static const char *document = "<doc/>";

/**
 * example3Func:
 * @content: the content of the document
 * @length: the length in bytes
 *
 * Parse the in memory document and free the resulting tree
 */
static void
example3Func(const char *content, int length) {
    xmlDocPtr doc; /* the resulting document tree */

    /*
     * The document being in memory, it have no base per RFC 2396,
     * and the "noname.xml" argument will serve as its base.
     */
    doc = xmlReadMemory(content, length, "noname.xml", NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse document\n");
	return;
    }
    xmlFreeDoc(doc);
}

int main(void) {
    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    example3Func(document, 6);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
PKi�Z.���
�
1usr/share/doc/alt-libxml2-devel/examples/parse4.cnu�[���/**
 * section: Parsing
 * synopsis: Parse an XML document chunk by chunk to a tree and free it
 * purpose: Demonstrate the use of xmlCreatePushParserCtxt() and
 *          xmlParseChunk() to read an XML file progressively
 *          into a tree and xmlFreeDoc() to free the resulting tree
 * usage: parse4 test3.xml
 * test: parse4 test3.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#ifdef LIBXML_PUSH_ENABLED
static FILE *desc;

/**
 * readPacket:
 * @mem: array to store the packet
 * @size: the packet size
 *
 * read at most @size bytes from the document and store it in @mem
 *
 * Returns the number of bytes read
 */
static int
readPacket(char *mem, int size) {
    int res;

    res = fread(mem, 1, size, desc);
    return(res);
}

/**
 * example4Func:
 * @filename: a filename or an URL
 *
 * Parse the resource and free the resulting tree
 */
static void
example4Func(const char *filename) {
    xmlParserCtxtPtr ctxt;
    char chars[4];
    xmlDocPtr doc; /* the resulting document tree */
    int res;

    /*
     * Read a few first byte to check the input used for the
     * encoding detection at the parser level.
     */
    res = readPacket(chars, 4);
    if (res <= 0) {
        fprintf(stderr, "Failed to parse %s\n", filename);
	return;
    }

    /*
     * Create a progressive parsing context, the 2 first arguments
     * are not used since we want to build a tree and not use a SAX
     * parsing interface. We also pass the first bytes of the document
     * to allow encoding detection when creating the parser but this
     * is optional.
     */
    ctxt = xmlCreatePushParserCtxt(NULL, NULL,
                                   chars, res, filename);
    if (ctxt == NULL) {
        fprintf(stderr, "Failed to create parser context !\n");
	return;
    }

    /*
     * loop on the input getting the document data, of course 4 bytes
     * at a time is not realistic but allows to verify testing on small
     * documents.
     */
    while ((res = readPacket(chars, 4)) > 0) {
        xmlParseChunk(ctxt, chars, res, 0);
    }

    /*
     * there is no more input, indicate the parsing is finished.
     */
    xmlParseChunk(ctxt, chars, 0, 1);

    /*
     * collect the document back and if it was wellformed
     * and destroy the parser context.
     */
    doc = ctxt->myDoc;
    res = ctxt->wellFormed;
    xmlFreeParserCtxt(ctxt);

    if (!res) {
        fprintf(stderr, "Failed to parse %s\n", filename);
    }

    /*
     * since we don't use the document, destroy it now.
     */
    xmlFreeDoc(doc);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * simulate a progressive parsing using the input file.
     */
    desc = fopen(argv[1], "rb");
    if (desc != NULL) {
	example4Func(argv[1]);
	fclose(desc);
    } else {
        fprintf(stderr, "Failed to parse %s\n", argv[1]);
    }

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else /* ! LIBXML_PUSH_ENABLED */
int main(int argc, char **argv) {
    fprintf(stderr, "Library not compiled with push parser support\n");
    return(0);
}
#endif
PKi�Z�=��r|r|4usr/share/doc/alt-libxml2-devel/examples/Makefile.innu�[���# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2021 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
check_PROGRAMS = io1$(EXEEXT) io2$(EXEEXT) parse1$(EXEEXT) \
	parse2$(EXEEXT) parse3$(EXEEXT) parse4$(EXEEXT) \
	reader1$(EXEEXT) reader2$(EXEEXT) reader3$(EXEEXT) \
	reader4$(EXEEXT) testWriter$(EXEEXT) tree1$(EXEEXT) \
	tree2$(EXEEXT) xpath1$(EXEEXT) xpath2$(EXEEXT)
subdir = doc/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ac_try_compile2.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am_io1_OBJECTS = io1.$(OBJEXT)
io1_OBJECTS = $(am_io1_OBJECTS)
io1_LDADD = $(LDADD)
io1_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
am_io2_OBJECTS = io2.$(OBJEXT)
io2_OBJECTS = $(am_io2_OBJECTS)
io2_LDADD = $(LDADD)
io2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse1_OBJECTS = parse1.$(OBJEXT)
parse1_OBJECTS = $(am_parse1_OBJECTS)
parse1_LDADD = $(LDADD)
parse1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse2_OBJECTS = parse2.$(OBJEXT)
parse2_OBJECTS = $(am_parse2_OBJECTS)
parse2_LDADD = $(LDADD)
parse2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse3_OBJECTS = parse3.$(OBJEXT)
parse3_OBJECTS = $(am_parse3_OBJECTS)
parse3_LDADD = $(LDADD)
parse3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_parse4_OBJECTS = parse4.$(OBJEXT)
parse4_OBJECTS = $(am_parse4_OBJECTS)
parse4_LDADD = $(LDADD)
parse4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader1_OBJECTS = reader1.$(OBJEXT)
reader1_OBJECTS = $(am_reader1_OBJECTS)
reader1_LDADD = $(LDADD)
reader1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader2_OBJECTS = reader2.$(OBJEXT)
reader2_OBJECTS = $(am_reader2_OBJECTS)
reader2_LDADD = $(LDADD)
reader2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader3_OBJECTS = reader3.$(OBJEXT)
reader3_OBJECTS = $(am_reader3_OBJECTS)
reader3_LDADD = $(LDADD)
reader3_DEPENDENCIES = $(top_builddir)/libxml2.la
am_reader4_OBJECTS = reader4.$(OBJEXT)
reader4_OBJECTS = $(am_reader4_OBJECTS)
reader4_LDADD = $(LDADD)
reader4_DEPENDENCIES = $(top_builddir)/libxml2.la
am_testWriter_OBJECTS = testWriter.$(OBJEXT)
testWriter_OBJECTS = $(am_testWriter_OBJECTS)
testWriter_LDADD = $(LDADD)
testWriter_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree1_OBJECTS = tree1.$(OBJEXT)
tree1_OBJECTS = $(am_tree1_OBJECTS)
tree1_LDADD = $(LDADD)
tree1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_tree2_OBJECTS = tree2.$(OBJEXT)
tree2_OBJECTS = $(am_tree2_OBJECTS)
tree2_LDADD = $(LDADD)
tree2_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath1_OBJECTS = xpath1.$(OBJEXT)
xpath1_OBJECTS = $(am_xpath1_OBJECTS)
xpath1_LDADD = $(LDADD)
xpath1_DEPENDENCIES = $(top_builddir)/libxml2.la
am_xpath2_OBJECTS = xpath2.$(OBJEXT)
xpath2_OBJECTS = $(am_xpath2_OBJECTS)
xpath2_LDADD = $(LDADD)
xpath2_DEPENDENCIES = $(top_builddir)/libxml2.la
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__maybe_remake_depfiles = depfiles
am__depfiles_remade = ./$(DEPDIR)/io1.Po ./$(DEPDIR)/io2.Po \
	./$(DEPDIR)/parse1.Po ./$(DEPDIR)/parse2.Po \
	./$(DEPDIR)/parse3.Po ./$(DEPDIR)/parse4.Po \
	./$(DEPDIR)/reader1.Po ./$(DEPDIR)/reader2.Po \
	./$(DEPDIR)/reader3.Po ./$(DEPDIR)/reader4.Po \
	./$(DEPDIR)/testWriter.Po ./$(DEPDIR)/tree1.Po \
	./$(DEPDIR)/tree2.Po ./$(DEPDIR)/xpath1.Po \
	./$(DEPDIR)/xpath2.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
DIST_SOURCES = $(io1_SOURCES) $(io2_SOURCES) $(parse1_SOURCES) \
	$(parse2_SOURCES) $(parse3_SOURCES) $(parse4_SOURCES) \
	$(reader1_SOURCES) $(reader2_SOURCES) $(reader3_SOURCES) \
	$(reader4_SOURCES) $(testWriter_SOURCES) $(tree1_SOURCES) \
	$(tree2_SOURCES) $(xpath1_SOURCES) $(xpath2_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BASE_THREAD_LIBS = @BASE_THREAD_LIBS@
C14N_OBJ = @C14N_OBJ@
CATALOG_OBJ = @CATALOG_OBJ@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
DEBUG_OBJ = @DEBUG_OBJ@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
EXTRA_CFLAGS = @EXTRA_CFLAGS@
FGREP = @FGREP@
FTP_OBJ = @FTP_OBJ@
GREP = @GREP@
HTML_OBJ = @HTML_OBJ@
HTTP_OBJ = @HTTP_OBJ@
ICONV_LIBS = @ICONV_LIBS@
ICU_CFLAGS = @ICU_CFLAGS@
ICU_DEFS = @ICU_DEFS@
ICU_LIBS = @ICU_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBM = @LIBM@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML_MAJOR_VERSION = @LIBXML_MAJOR_VERSION@
LIBXML_MICRO_VERSION = @LIBXML_MICRO_VERSION@
LIBXML_MINOR_VERSION = @LIBXML_MINOR_VERSION@
LIBXML_VERSION = @LIBXML_VERSION@
LIBXML_VERSION_EXTRA = @LIBXML_VERSION_EXTRA@
LIBXML_VERSION_INFO = @LIBXML_VERSION_INFO@
LIBXML_VERSION_NUMBER = @LIBXML_VERSION_NUMBER@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
LZMA_CFLAGS = @LZMA_CFLAGS@
LZMA_LIBS = @LZMA_LIBS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MODULE_EXTENSION = @MODULE_EXTENSION@
MODULE_PLATFORM_LIBS = @MODULE_PLATFORM_LIBS@
MV = @MV@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PYTHON = @PYTHON@
PYTHON_CFLAGS = @PYTHON_CFLAGS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_TESTS = @PYTHON_TESTS@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RDL_LIBS = @RDL_LIBS@
RELDATE = @RELDATE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TAR = @TAR@
TEST_CATALOG = @TEST_CATALOG@
TEST_DEBUG = @TEST_DEBUG@
TEST_REGEXPS = @TEST_REGEXPS@
TEST_SCHEMATRON = @TEST_SCHEMATRON@
TEST_VALID = @TEST_VALID@
TEST_VTIME = @TEST_VTIME@
THREAD_CFLAGS = @THREAD_CFLAGS@
THREAD_LIBS = @THREAD_LIBS@
VERSION = @VERSION@
VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
WGET = @WGET@
WIN32_EXTRA_LDFLAGS = @WIN32_EXTRA_LDFLAGS@
WIN32_EXTRA_LIBADD = @WIN32_EXTRA_LIBADD@
WIN32_EXTRA_PYTHON_LIBADD = @WIN32_EXTRA_PYTHON_LIBADD@
WITH_C14N = @WITH_C14N@
WITH_CATALOG = @WITH_CATALOG@
WITH_DEBUG = @WITH_DEBUG@
WITH_FTP = @WITH_FTP@
WITH_HTML = @WITH_HTML@
WITH_HTTP = @WITH_HTTP@
WITH_ICONV = @WITH_ICONV@
WITH_ICU = @WITH_ICU@
WITH_ISO8859X = @WITH_ISO8859X@
WITH_LEGACY = @WITH_LEGACY@
WITH_LZMA = @WITH_LZMA@
WITH_MEM_DEBUG = @WITH_MEM_DEBUG@
WITH_MODULES = @WITH_MODULES@
WITH_OUTPUT = @WITH_OUTPUT@
WITH_PATTERN = @WITH_PATTERN@
WITH_PUSH = @WITH_PUSH@
WITH_READER = @WITH_READER@
WITH_REGEXPS = @WITH_REGEXPS@
WITH_RUN_DEBUG = @WITH_RUN_DEBUG@
WITH_SAX1 = @WITH_SAX1@
WITH_SCHEMAS = @WITH_SCHEMAS@
WITH_SCHEMATRON = @WITH_SCHEMATRON@
WITH_THREADS = @WITH_THREADS@
WITH_THREAD_ALLOC = @WITH_THREAD_ALLOC@
WITH_TREE = @WITH_TREE@
WITH_TRIO = @WITH_TRIO@
WITH_VALID = @WITH_VALID@
WITH_WRITER = @WITH_WRITER@
WITH_XINCLUDE = @WITH_XINCLUDE@
WITH_XPATH = @WITH_XPATH@
WITH_XPTR = @WITH_XPTR@
WITH_XPTR_LOCS = @WITH_XPTR_LOCS@
WITH_ZLIB = @WITH_ZLIB@
XINCLUDE_OBJ = @XINCLUDE_OBJ@
XMLLINT = @XMLLINT@
XML_CFLAGS = @XML_CFLAGS@
XML_INCLUDEDIR = @XML_INCLUDEDIR@
XML_LIBDIR = @XML_LIBDIR@
XML_LIBS = @XML_LIBS@
XML_LIBTOOLLIBS = @XML_LIBTOOLLIBS@
XML_PRIVATE_LIBS = @XML_PRIVATE_LIBS@
XPATH_OBJ = @XPATH_OBJ@
XPTR_OBJ = @XPTR_OBJ@
XSLTPROC = @XSLTPROC@
Z_CFLAGS = @Z_CFLAGS@
Z_LIBS = @Z_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la
CLEANFILES = *.tmp
EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

io1_SOURCES = io1.c
io2_SOURCES = io2.c
parse1_SOURCES = parse1.c
parse2_SOURCES = parse2.c
parse3_SOURCES = parse3.c
parse4_SOURCES = parse4.c
reader1_SOURCES = reader1.c
reader2_SOURCES = reader2.c
reader3_SOURCES = reader3.c
reader4_SOURCES = reader4.c
testWriter_SOURCES = testWriter.c
tree1_SOURCES = tree1.c
tree2_SOURCES = tree2.c
xpath1_SOURCES = xpath1.c
xpath2_SOURCES = xpath2.c
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/examples/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign doc/examples/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

io1$(EXEEXT): $(io1_OBJECTS) $(io1_DEPENDENCIES) $(EXTRA_io1_DEPENDENCIES) 
	@rm -f io1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io1_OBJECTS) $(io1_LDADD) $(LIBS)

io2$(EXEEXT): $(io2_OBJECTS) $(io2_DEPENDENCIES) $(EXTRA_io2_DEPENDENCIES) 
	@rm -f io2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(io2_OBJECTS) $(io2_LDADD) $(LIBS)

parse1$(EXEEXT): $(parse1_OBJECTS) $(parse1_DEPENDENCIES) $(EXTRA_parse1_DEPENDENCIES) 
	@rm -f parse1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse1_OBJECTS) $(parse1_LDADD) $(LIBS)

parse2$(EXEEXT): $(parse2_OBJECTS) $(parse2_DEPENDENCIES) $(EXTRA_parse2_DEPENDENCIES) 
	@rm -f parse2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse2_OBJECTS) $(parse2_LDADD) $(LIBS)

parse3$(EXEEXT): $(parse3_OBJECTS) $(parse3_DEPENDENCIES) $(EXTRA_parse3_DEPENDENCIES) 
	@rm -f parse3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse3_OBJECTS) $(parse3_LDADD) $(LIBS)

parse4$(EXEEXT): $(parse4_OBJECTS) $(parse4_DEPENDENCIES) $(EXTRA_parse4_DEPENDENCIES) 
	@rm -f parse4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(parse4_OBJECTS) $(parse4_LDADD) $(LIBS)

reader1$(EXEEXT): $(reader1_OBJECTS) $(reader1_DEPENDENCIES) $(EXTRA_reader1_DEPENDENCIES) 
	@rm -f reader1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader1_OBJECTS) $(reader1_LDADD) $(LIBS)

reader2$(EXEEXT): $(reader2_OBJECTS) $(reader2_DEPENDENCIES) $(EXTRA_reader2_DEPENDENCIES) 
	@rm -f reader2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader2_OBJECTS) $(reader2_LDADD) $(LIBS)

reader3$(EXEEXT): $(reader3_OBJECTS) $(reader3_DEPENDENCIES) $(EXTRA_reader3_DEPENDENCIES) 
	@rm -f reader3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader3_OBJECTS) $(reader3_LDADD) $(LIBS)

reader4$(EXEEXT): $(reader4_OBJECTS) $(reader4_DEPENDENCIES) $(EXTRA_reader4_DEPENDENCIES) 
	@rm -f reader4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reader4_OBJECTS) $(reader4_LDADD) $(LIBS)

testWriter$(EXEEXT): $(testWriter_OBJECTS) $(testWriter_DEPENDENCIES) $(EXTRA_testWriter_DEPENDENCIES) 
	@rm -f testWriter$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testWriter_OBJECTS) $(testWriter_LDADD) $(LIBS)

tree1$(EXEEXT): $(tree1_OBJECTS) $(tree1_DEPENDENCIES) $(EXTRA_tree1_DEPENDENCIES) 
	@rm -f tree1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree1_OBJECTS) $(tree1_LDADD) $(LIBS)

tree2$(EXEEXT): $(tree2_OBJECTS) $(tree2_DEPENDENCIES) $(EXTRA_tree2_DEPENDENCIES) 
	@rm -f tree2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree2_OBJECTS) $(tree2_LDADD) $(LIBS)

xpath1$(EXEEXT): $(xpath1_OBJECTS) $(xpath1_DEPENDENCIES) $(EXTRA_xpath1_DEPENDENCIES) 
	@rm -f xpath1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath1_OBJECTS) $(xpath1_LDADD) $(LIBS)

xpath2$(EXEEXT): $(xpath2_OBJECTS) $(xpath2_DEPENDENCIES) $(EXTRA_xpath2_DEPENDENCIES) 
	@rm -f xpath2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(xpath2_OBJECTS) $(xpath2_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse3.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse4.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader3.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader4.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testWriter.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree2.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath1.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath2.Po@am__quote@ # am--include-marker

$(am__depfiles_remade):
	@$(MKDIR_P) $(@D)
	@echo '# dummy' >$@-t && $(am__mv) $@-t $@

am--depfiles: $(am__depfiles_remade)

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) distdir-am

distdir-am: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
	mostlyclean-am

distclean: distclean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
		-rm -f ./$(DEPDIR)/io1.Po
	-rm -f ./$(DEPDIR)/io2.Po
	-rm -f ./$(DEPDIR)/parse1.Po
	-rm -f ./$(DEPDIR)/parse2.Po
	-rm -f ./$(DEPDIR)/parse3.Po
	-rm -f ./$(DEPDIR)/parse4.Po
	-rm -f ./$(DEPDIR)/reader1.Po
	-rm -f ./$(DEPDIR)/reader2.Po
	-rm -f ./$(DEPDIR)/reader3.Po
	-rm -f ./$(DEPDIR)/reader4.Po
	-rm -f ./$(DEPDIR)/testWriter.Po
	-rm -f ./$(DEPDIR)/tree1.Po
	-rm -f ./$(DEPDIR)/tree2.Po
	-rm -f ./$(DEPDIR)/xpath1.Po
	-rm -f ./$(DEPDIR)/xpath2.Po
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-local

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
	check-local clean clean-checkPROGRAMS clean-generic \
	clean-libtool clean-local cscopelist-am ctags ctags-am \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-data-local install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags tags-am uninstall uninstall-am uninstall-local

.PRECIOUS: Makefile


rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
PKi�Z�#�AA2usr/share/doc/alt-libxml2-devel/examples/test3.xmlnu�[���<doc>
  <parent>
    <discarded>
      <discarded/>
    </discarded>
    <preserved/>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    <preserved>
      content1
      <child1></child1>
      <child2>content2</child2>
      <preserved>too</preserved>
      <child2>content3</child2>
      <preserved></preserved>
      <child2>content4</child2>
      <preserved/>
      <child2>content5</child2>
      content6
    </preserved>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    This text node must be discarded
    <preserved></preserved>
    This text node must be discarded
    <preserved/>
    This text node must be discarded
    <discarded>
      <discarded/>
    </discarded>
    This text node must be discarded
  </parent>
</doc>

      
PKi�ZF>2�#�#1usr/share/doc/alt-libxml2-devel/examples/index.pynu�[���#!/usr/bin/env python
#
# Indexes the examples and build an XML description
#
import glob
import sys
try:
    import libxml2
except:
    print("libxml2 python bindings not available")
    sys.exit(1)
sys.path.insert(0, "..")
from apibuild import CParser, escape

examples = []
extras = ['examples.xsl', 'index.html', 'index.py']
tests = []
sections = {}
symbols = {}
api_dict = None
api_doc = None

def load_api():
    global api_dict
    global api_doc

    if api_dict != None:
        return
    api_dict = {}
    try:
        print("loading ../libxml2-api.xml")
        api_doc = libxml2.parseFile("../libxml2-api.xml")
    except:
        print("failed to parse ../libxml2-api.xml")
        sys.exit(1)

def find_symbol(name):
    global api_dict
    global api_doc

    if api_doc == None:
        load_api()

    if name == None:
        return
    if name in api_dict:
        return api_dict[name]
    ctxt = api_doc.xpathNewContext()
    res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name))
    if type(res) == type([]) and len(res) >= 1:
        if len(res) > 1:
            print("Found %d references to %s in the API" % (len(res), name))
        node = res[0]
        typ = node.name
        file = node.xpathEval("string(@file)")
        info = node.xpathEval("string(info)")
    else:
        print("Reference %s not found in the API" % (name))
        return None
    ret = (typ, file, info)
    api_dict[name] = ret
    return ret

def parse_top_comment(filename, comment):
    res = {}
    lines = comment.split("\n")
    item = None
    for line in lines:
        while line != "" and (line[0] == ' ' or line[0] == '\t'):
            line = line[1:]
        while line != "" and line[0] == '*':
            line = line[1:]
        while line != "" and (line[0] == ' ' or line[0] == '\t'):
            line = line[1:]
        try:
            (it, line) = line.split(":", 1)
            item = it
            while line != "" and (line[0] == ' ' or line[0] == '\t'):
                line = line[1:]
            if item in res:
                res[item] = res[item] + " " + line
            else:
                res[item] = line
        except:
            if item != None:
                if item in res:
                    res[item] = res[item] + " " + line
                else:
                    res[item] = line
    return res

def parse(filename, output):
    global symbols
    global sections

    parser = CParser(filename)
    parser.collect_references()
    idx = parser.parse()
    info = parse_top_comment(filename, parser.top_comment)
    output.write("  <example filename='%s'>\n" % filename)
    try:
        synopsis = info['synopsis']
        output.write("    <synopsis>%s</synopsis>\n" % escape(synopsis));
    except:
        print("Example %s lacks a synopsis description" % (filename))
    try:
        purpose = info['purpose']
        output.write("    <purpose>%s</purpose>\n" % escape(purpose));
    except:
        print("Example %s lacks a purpose description" % (filename))
    try:
        usage = info['usage']
        output.write("    <usage>%s</usage>\n" % escape(usage));
    except:
        print("Example %s lacks an usage description" % (filename))
    try:
        test = info['test']
        output.write("    <test>%s</test>\n" % escape(test));
        progname=filename[0:-2]
        command=test.replace(progname, './' + progname, 1)
        tests.append(command)
    except:
        pass
    try:
        author = info['author']
        output.write("    <author>%s</author>\n" % escape(author));
    except:
        print("Example %s lacks an author description" % (filename))
    try:
        copy = info['copy']
        output.write("    <copy>%s</copy>\n" % escape(copy));
    except:
        print("Example %s lacks a copyright description" % (filename))
    try:
        section = info['section']
        output.write("    <section>%s</section>\n" % escape(section));
        if section in sections:
            sections[section].append(filename)
        else:
            sections[section] = [filename]
    except:
        print("Example %s lacks a section description" % (filename))
    for topic in sorted(info.keys()):
        if topic != "purpose" and topic != "usage" and \
           topic != "author" and topic != "copy" and \
           topic != "section" and topic != "synopsis" and topic != "test":
            str = info[topic]
            output.write("    <extra topic='%s'>%s</extra>\n" % (
                         escape(topic), escape(str)))
    output.write("    <includes>\n")
    for include in sorted(idx.includes.keys()):
        if include.find("libxml") != -1:
            id = idx.includes[include]
            line = id.get_lineno()
            output.write("      <include line='%d'>%s</include>\n" %
                         (line, escape(include)))
    output.write("    </includes>\n")
    output.write("    <uses>\n")
    for ref in sorted(idx.references.keys()):
        id = idx.references[ref]
        name = id.get_name()
        line = id.get_lineno()
        if name in symbols:
            sinfo = symbols[name]
            refs = sinfo[0]
            # gather at most 5 references per symbols
            if refs > 5:
                continue
            sinfo.append(filename)
            sinfo[0] = refs + 1
        else:
            symbols[name] = [1, filename]
        info = find_symbol(name)
        if info != None:
            type = info[0]
            file = info[1]
            output.write("      <%s line='%d' file='%s' name='%s'/>\n" % (type,
                         line, file, name))
        else:
            type = id.get_type()
            output.write("      <%s line='%d' name='%s'/>\n" % (type,
                         line, name))

    output.write("    </uses>\n")
    output.write("  </example>\n")

    return idx

def dump_symbols(output):
    global symbols

    output.write("  <symbols>\n")
    for symbol in sorted(symbols.keys()):
        output.write("    <symbol name='%s'>\n" % (symbol))
        info = symbols[symbol]
        i = 1
        while i < len(info):
            output.write("      <ref filename='%s'/>\n" % (info[i]))
            i = i + 1
        output.write("    </symbol>\n")
    output.write("  </symbols>\n")

def dump_sections(output):
    global sections

    output.write("  <sections>\n")
    for section in sorted(sections.keys()):
        output.write("    <section name='%s'>\n" % (section))
        info = sections[section]
        i = 0
        while i < len(info):
            output.write("      <example filename='%s'/>\n" % (info[i]))
            i = i + 1
        output.write("    </section>\n")
    output.write("  </sections>\n")

def dump_Makefile():
    for file in glob.glob('*.xml'):
        extras.append(file)
    for file in glob.glob('*.res'):
        extras.append(file)
    Makefile="""##
## This file is auto-generated by index.py
## DO NOT EDIT !!!
##

AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la

CLEANFILES = *.tmp

rebuild:
\tcd $(srcdir) && $(PYTHON) index.py
\t$(MAKE) Makefile
\tcd $(srcdir) && xsltproc examples.xsl examples.xml
\t-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
\t$(MKDIR_P) $(DESTDIR)$(docdir)/examples
\t-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

clean-local:
\ttest -f Makefile.am || rm -f test?.xml

"""
    examples.sort()
    extras.sort()
    tests.sort()
    EXTRA_DIST=""
    for extra in extras:
        EXTRA_DIST = EXTRA_DIST + " \\\n\t" + extra
    Makefile = Makefile + "EXTRA_DIST =%s\n\n" % (EXTRA_DIST)
    check_PROGRAMS=""
    for example in examples:
        check_PROGRAMS = check_PROGRAMS + " \\\n\t" + example
    Makefile = Makefile + "check_PROGRAMS =%s\n\n" % (check_PROGRAMS)
    for example in examples:
        Makefile = Makefile + "%s_SOURCES = %s.c\n\n" % (example, example)
    Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n"
    Makefile = Makefile + "tests: $(check_PROGRAMS)\n"
    Makefile = Makefile + "\t@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .\n"
    Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
    Makefile = Makefile + "\t@(echo > .memdump)\n"
    for test in tests:
        Makefile = Makefile + "\t@$(CHECKER) %s\n" % (test)
        Makefile = Makefile + '\t@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0\n'
    Makefile = Makefile + "\t@rm *.tmp\n"
    try:
        old = open("Makefile.am", "r").read()
        if old != Makefile:
            n = open("Makefile.am", "w").write(Makefile)
            print("Updated Makefile.am")
    except:
        print("Failed to read or save Makefile.am")

if __name__ == "__main__":
    load_api()
    output = open("examples.xml", "w")
    output.write("<examples>\n")

    for file in sorted(glob.glob('*.c')):
        parse(file, output)
        examples.append(file[:-2])

    dump_symbols(output)
    dump_sections(output)
    output.write("</examples>\n")
    output.close()
    #dump_Makefile()

PKi�Z�K���,usr/share/doc/alt-libxml2-devel/examples/io1nuȯ��#! /bin/sh

# io1 - temporary wrapper script for .libs/io1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The io1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "io1:io1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "io1:io1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "io1:io1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'io1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�ZC
i��.usr/share/doc/alt-libxml2-devel/examples/io1.cnu�[���/**
 * section: InputOutput
 * synopsis: Example of custom Input/Output
 * purpose: Demonstrate the use of xmlRegisterInputCallbacks
 *          to build a custom I/O layer, this is used in an
 *          XInclude method context to show how dynamic document can
 *          be built in a clean way.
 * usage: io1
 * test: io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <string.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libxml/xinclude.h>
#include <libxml/xmlIO.h>

#ifdef LIBXML_XINCLUDE_ENABLED
static const char *result = "<list><people>a</people><people>b</people></list>";
static const char *cur = NULL;
static int rlen;

/**
 * sqlMatch:
 * @URI: an URI to test
 *
 * Check for an sql: query
 *
 * Returns 1 if yes and 0 if another Input module should be used
 */
static int
sqlMatch(const char * URI) {
    if ((URI != NULL) && (!strncmp(URI, "sql:", 4)))
        return(1);
    return(0);
}

/**
 * sqlOpen:
 * @URI: an URI to test
 *
 * Return a pointer to the sql: query handler, in this example simply
 * the current pointer...
 *
 * Returns an Input context or NULL in case or error
 */
static void *
sqlOpen(const char * URI) {
    if ((URI == NULL) || (strncmp(URI, "sql:", 4)))
        return(NULL);
    cur = result;
    rlen = strlen(result);
    return((void *) cur);
}

/**
 * sqlClose:
 * @context: the read context
 *
 * Close the sql: query handler
 *
 * Returns 0 or -1 in case of error
 */
static int
sqlClose(void * context) {
    if (context == NULL) return(-1);
    cur = NULL;
    rlen = 0;
    return(0);
}

/**
 * sqlRead:
 * @context: the read context
 * @buffer: where to store data
 * @len: number of bytes to read
 *
 * Implement an sql: query read.
 *
 * Returns the number of bytes read or -1 in case of error
 */
static int
sqlRead(void * context, char * buffer, int len) {
   const char *ptr = (const char *) context;

   if ((context == NULL) || (buffer == NULL) || (len < 0))
       return(-1);

   if (len > rlen) len = rlen;
   memcpy(buffer, ptr, len);
   rlen -= len;
   return(len);
}

const char *include = "<?xml version='1.0'?>\n\
<document xmlns:xi=\"http://www.w3.org/2003/XInclude\">\n\
  <p>List of people:</p>\n\
  <xi:include href=\"sql:select_name_from_people\"/>\n\
</document>\n";

int main(void) {
    xmlDocPtr doc;

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * register the new I/O handlers
     */
    if (xmlRegisterInputCallbacks(sqlMatch, sqlOpen, sqlRead, sqlClose) < 0) {
        fprintf(stderr, "failed to register SQL handler\n");
	exit(1);
    }
    /*
     * parse include into a document
     */
    doc = xmlReadMemory(include, strlen(include), "include.xml", NULL, 0);
    if (doc == NULL) {
        fprintf(stderr, "failed to parse the including file\n");
	exit(1);
    }

    /*
     * apply the XInclude process, this should trigger the I/O just
     * registered.
     */
    if (xmlXIncludeProcess(doc) <= 0) {
        fprintf(stderr, "XInclude processing failed\n");
	exit(1);
    }

#ifdef LIBXML_OUTPUT_ENABLED
    /*
     * save the output for checking to stdout
     */
    xmlDocDump(stdout, doc);
#endif

    /*
     * Free the document
     */
    xmlFreeDoc(doc);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
PKi�Z�nzPss4usr/share/doc/alt-libxml2-devel/examples/Makefile.amnu�[���AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
LDADD = $(top_builddir)/libxml2.la

CLEANFILES = *.tmp

rebuild:
	cd $(srcdir) && $(PYTHON) index.py
	$(MAKE) Makefile
	cd $(srcdir) && xsltproc examples.xsl examples.xml
	-cd $(srcdir) && xmllint --valid --noout index.html

.PHONY: rebuild

install-data-local: 
	$(MKDIR_P) $(DESTDIR)$(docdir)/examples
	-$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(DESTDIR)$(docdir)/examples/

uninstall-local:
	rm -f $(DESTDIR)$(docdir)/examples/*.c
	rm -f $(DESTDIR)$(docdir)/examples/*.html
	-rmdir $(DESTDIR)$(docdir)/examples

clean-local:
	test -f Makefile.am || rm -f test?.xml
	rm -f .memdump

EXTRA_DIST = \
	examples.xml \
	examples.xsl \
	index.html \
	index.py \
	test1.xml \
	test2.xml \
	test3.xml

check_PROGRAMS = \
	io1 \
	io2 \
	parse1 \
	parse2 \
	parse3 \
	parse4 \
	reader1 \
	reader2 \
	reader3 \
	reader4 \
	testWriter \
	tree1 \
	tree2 \
	xpath1 \
	xpath2

io1_SOURCES = io1.c

io2_SOURCES = io2.c

parse1_SOURCES = parse1.c

parse2_SOURCES = parse2.c

parse3_SOURCES = parse3.c

parse4_SOURCES = parse4.c

reader1_SOURCES = reader1.c

reader2_SOURCES = reader2.c

reader3_SOURCES = reader3.c

reader4_SOURCES = reader4.c

testWriter_SOURCES = testWriter.c

tree1_SOURCES = tree1.c

tree2_SOURCES = tree2.c

xpath1_SOURCES = xpath1.c

xpath2_SOURCES = xpath2.c

valgrind: 
	$(MAKE) CHECKER='valgrind' check

check-local:
	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
	@(echo '## examples regression tests')
	@(echo > .memdump)
	@$(CHECKER) ./io1 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./io2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse1 test1.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse2 test2.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse3
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./parse4 test3.xml
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader2 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader3 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./testWriter
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree1 test2.xml >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./tree2 >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null
	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
	@rm -f *.tmp
PKi�Z�� ` `2usr/share/doc/alt-libxml2-devel/examples/reader1.onu�[���ELF>�Q@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AW�
RAVAUATUSH��H���H�C1�1�H��H�$�H��H���-fDH�������H���H��H��H��H�HD��H��I���H��A���H��A���H��A���H��E��I��AU��D��H�5�1��XZM��t@L���L��(~H�5�1���O���H�5�1���7����
��(���H�߉D$��D$��u��H��1�[]A\A]A^A_�H�$H�=H�1�����H�$H�=H�1����--%d %d %s %d %d %.40s...
 %s
%s : failed to parse
Unable to open %s
{	�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��
9*C
B36<CK)
MW]CqC)
W}�����*�*�K�
�qc�j��Na��NaN	Y�".;B
�HT`m$#1~�U1T	RXvY~m-
~~�U1T	Q|m/�~�U1T	m*~�U:�/Us�GUs�_Us�wUs	�Us	�Us	U|� G
��(	T1Q	Rw� J	~�
��(	T1Q	Rw4	�UwT0Q0A	�UsM	UsY	�U

R e	 r	�!:;":�#;�$ret<	a!m"�#�#�%ka�"k �&%da�"d�"d<�&'\(�
)'�'�'�'�'�'�'	U'Z*I'�'v'
*9'
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'I'I.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B1R�BXYW��1���B��111 ��1!.:;9' ":;9I#4:;9I$4:;9I%.?:;9'I 4&'.?<n:;9(6).?<n:;*.?<n:;9U�U�TS�T�Pw��wwPSSPSP1�P����SSPVVP\Q\
�
�
��
�,��U�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>!	�K�!j 	.!wX	�!w	JZeJtaJX=	�	�
�X
�::=tL
Z
:>X��
J��.	[

���<
Y>
tB<
.
VgX�
�	XtY�\YI/ 
c�
�.	d
<�_IO_buf_endxmlMallocAtomic__printf_chkxmlReallocFuncxmlFreesys_nerr__fprintf_chkshort intsize_txmlMemStrdup_offsetputchar_freeres_listxmlCheckVersionxmlTextReaderNodeType_IO_write_ptr_flags_IO_buf_base_freeres_bufxmlTextReaderConstNamevaluexmlFreeFuncxmlTextReaderHasValue/builddir/build/BUILD/libxml2-2.10.2/doc/examplesfilenameargv_IO_read_endxmlMallocstderrGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlTextReader_locklong intprintf_cur_column_markersfprintfxmlChar_IO_write_basereadername_vtable_offset_IO_FILElong doubleunsigned charargcsigned char_codecvtlong long unsigned intxmlStrlenunsigned int_IO_marker_shortbufxmlTextReaderPtr_old_offset_chain_unused2_IO_read_ptrshort unsigned intxmlReaderForFilexmlFreeTextReadercharreader1.cmainxmlTextReaderConstValue_wide_dataxmlTextReaderRead__pad5__builtin_putcharxmlStrdupFunc_IO_codecvt__fmtlong unsigned int_IO_save_end_IO_write_end__off64_t_filenoxmlRealloc__off_tstreamFile_IO_backup_basestdin_flags2_mode_IO_read_basexmlTextReaderIsEmptyElement_IO_wide_dataxmlMallocFunc_IO_save_basesys_errlistFILEprocessNodexmlTextReaderDepth__stream_xmlTextReaderxmlCleanupParserxmlMemoryDumpstdoutlong long int_IO_lock_tGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�T�Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBA
�	-+B.]y/��0��1�!#%'./0123-4-27<A"F8KWg|�()*+,�������4Pfy�������.annobin_reader1.c.annobin_reader1.c_end.annobin_reader1.c.hot.annobin_reader1.c_end.hot.annobin_reader1.c.unlikely.annobin_reader1.c_end.unlikely.annobin_reader1.c.startup.annobin_reader1.c_end.startup.annobin_reader1.c.exit.annobin_reader1.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk ) # $ % &**�&C��������:D��������TE��������eF��������u,��������~G���������H���������I���������J���������K���������-���������L���������M���������.���������L��������/��������L��������N��������0O��������=P��������BQ��������^R��������e0��������qS��������~R���������1���������S��������

"�
"�
"'
 �%
!*
"a8
"I?
"5H
"�O
"�V
"�]
"Wk
"xp
"�|
"v�
"��
"��
"��
"��
"g�
"��
"��
"��
"h
"�
"
")
"�6
"[C
"�P
"t]
"�j
"�w
"h�
"��
"��
"M�
"r�
"u�
"�
"��
"��
"��
"
"�
"{!
"*-
"�5
"B\
"7g
"��
"��
"��
"~�
"@�
"�
"�
"�	
"�
"+
"L
")r
")�
"�
"t�
"�
"��
"8�
"h�
"d�
"W�
"W�
"�*
"�&
*
/
"b:
C>
=G*9P
 `
�d
�i
 r
v


��
��*a�
 @�
�
�
 @�
D�
>�
��
��*��*��
��
��*�6*�?
 pO
!S
X*�n�*�*�
O�
M�*��*�*�
}�
{*#*i0*�H*�`*�x*��*��*��*W�*W�
��
��*u"!*w**wH8W*�m8*>�*X�*4�**�*A�*F

"�
"Y#
"�<
"/I
"�U
"�a
"�n
"�
"C�
"��
"N�
"C�
"�
"�
"}�
"�
"��
"��
"��
"��
"�
"�
"��
"�	
"�		
"�	
";	
";	
"+!	
"+)	
"I-	
"I5	
"�9	
"�B	
"�F	
"�N	
"�R	
"�Z	
"�^	
"�f	
"fj	
"fs	
"ww	
"w****�C*K*)V*)^*Ai*Aq*��*9�*=�*=�*��*��*��*��*<�*W�*�*A*J**J2*M=*WE*wP*wX*�c*�k*��*X�*a�*a�*(�*(�*3�*3�*<�*W�*w*a**#*(D*rL*yW*y_*j*r*(�*��*��*��*�*�*�*�*(�*��*�!*�)*4O*W*b}*�*(�
��*W�*w�"
**.*5*9*< *W(*�@*aH*P*X*(p*�x*��*��*�*�*�d* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@62*P63*h64*�(65*�66�!�'�1��,@x106	G�V��Q@�106ph�h�@�106<�<��@206����@8206��	8�@h206 �@�2�6,2�K@
	;@ 5�6L�._��Z@�F�6o�0j@�M06!���~@�M�6#�r��@xO6%�0U ��0�%.�(&(&p(&G(&(&�(&�(&�(&�(&�(&(&  H&p@�O64�&�7A	�.��O1PKi�Z<«l(X(X.usr/share/doc/alt-libxml2-devel/examples/io2.onu�[���ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��UH�=SH��(dH�%(H�D$1��1�H�1�H��H���H�5H��H���H��H����H�T$H��H�t$�H�T$H�51���H�|$�H���H�L$dH3%(u	H��(1�[]��1.0rootcontent%s��5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� ����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�2(
��0
��8doc
�2@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'2
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
02@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�e0
��
��
�K
��
��
�C 
�2(Xe`
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
�CX�
��
���
%�
&��F��C9�B3		C	)M'	-	CA	C)WM	S	�b	������	���A	a��7n�doc���P	a�L7%W
HV U1 T	!bv
 U	!o�
 Us T0 Q	 R0!|�
 Uv T	!��
 Us Tv!� Us T�P Q�L R1!�) Us"�#kaV$k �%&\'

'
<'
%'
�'
�'
(%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<!7I>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B4:;9I�B4:;9I1R�BXYW1�B��1 ���B!��1"��1#.?:;9'I 4$:;9I%&.?<n:;9'.?<n:;9(.?<nPVVPSS
�,��"�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.h	
XvtX�	Y�=	Y	s=��g�
t���f  printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTstdoutnsDefxmlbuff_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offsetbuffersizexmlCharcompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrXML_ATTRIBUTE_ENTITYnamesys_nerrcharsetxmlNodeSetContentshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modexmlDocDumpFormatMemoryXML_PI_NODEXML_ATTRIBUTE_IDprefix_codecvtstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsxmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDict_offsetio2.cXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSxmlNewDocNode_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODEcontext_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,�E�H�D@�
CAA
�	-#6.Me/��0��1���!#%'./0123-4
	%5J^()*+,o�t��������.annobin_io2.c.annobin_io2.c_end.annobin_io2.c.hot.annobin_io2.c_end.hot.annobin_io2.c.unlikely.annobin_io2.c_end.unlikely.annobin_io2.c.startup.annobin_io2.c_end.startup.annobin_io2.c.exit.annobin_io2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlNewDocxmlNewDocNodexmlNodeSetContentxmlDocSetRootElementxmlDocDumpFormatMemory__printf_chkxmlFreexmlFreeDoc__stack_chk_fail ) # $ % &**�,��������"A��������+-��������8B��������?.��������JC��������UD��������lE��������x/���������F���������G���������H���������I��������

"(
"�
"1
 %
!*
"c8
"x?
"(H
"RO
"�V
"]
"~k
"6p
"|
"��
"s�
"��
"L�
"�
" �
"��
"4�
"��
"�
"�
"S
")
"�6
"�C
")P
"]
"j
"@w
"��
"��
"��
"o�
":�
"��
"��
"��
"��
"5�
"$
"H
"N!
"�-
"�5
"\
"vg
"��
"_�
"��
"W�
"��
"�
"�	
"�
"I
"�
"-!
"�'
"
-
"e3
"�9
"?
"�E
"�K
"Q
"^W
"`]
"c
"�i
"o
"yu
"�{
"e�
"��
"Y�
"q�
"�
"+�
"��
"�
"C�
"
�
"��
"X�
"��
"��
"�
"�
"�#
"I1
"?
"EM
"j[
"��
"��
""�
"��
"��
"��
"��
"2�
"��
"�	
"�
"I%
"3
"EA
"jO
"�k
"�y
"��
"�
"u�
"��
"��
"��
"�
"��
"��
"�
"I
"(
"E6
"jD
"�`
"�n
"�|
"��
"��
"?�
"m�
"-�
"2�
"��
"D
"�
"h$
"";
"B
"\G
"xL
"?Y
"f
"�t
"j�
"��
"��
"��
"��
"��
"o�
"��
"��
"�

"I
")
"E7
"jE
"�n
"�|
"��
" �
"��
"Q�
"��
"��
"��
"u	
"BB	
"#c	
"o	
"�{	
"��	
"7�	
"��	
"/�	*�	
�	
�	
U�	
O�	
"��	
"�	
*p
*p.

�2

�7
*�M
X
*&m
w
*<�
�
*N�
	�
*Y�
*p*�**�8
"I
"W
"�[
"�c
"(g
"(p
"@t
"@}
"��
"��
"��
"��
"N�
"N�
"��
"��
"��
"�*F*M*M!*�,*�4*�U*7]*;h*;p*�{*��*��*p�*��
***�1* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@60*P61*h62*�(63*�64�!�'�1��,@�.06	G�V��Q@�.06ph�h�@�.06<�<��@ /06����@P/06��	8�@�/06 �@�/86,2�@��;@�0�6L�(_��Z@�Eh6o�0j@ G06!�� ~@PG06#����@�G6%�0�m�0�$.�%%p%G%%�%�%�%�%�% %  @%H@�G64�%�7?	x,�G1PKi�Z�����2usr/share/doc/alt-libxml2-devel/examples/test2.xmlnu�[���<!DOCTYPE doc [
<!ELEMENT doc (src | dest)*>
<!ELEMENT src EMPTY>
<!ELEMENT dest EMPTY>
<!ATTLIST src ref IDREF #IMPLIED>
<!ATTLIST dest id ID #IMPLIED>
]>
<doc>
  <src ref="foo"/>
  <dest id="foo"/>
  <src ref="foo"/>
</doc>

PKi�Z��21usr/share/doc/alt-libxml2-devel/examples/.memdumpnu�[���
PKi�Zǝi��.usr/share/doc/alt-libxml2-devel/examples/tree2nuȯ��#! /bin/sh

# tree2 - temporary wrapper script for .libs/tree2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The tree2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "tree2:tree2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "tree2:tree2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "tree2:tree2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'tree2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�Ȥx��1usr/share/doc/alt-libxml2-devel/examples/xpath2.cnu�[���/** 
 * section: 	XPath
 * synopsis: 	Load a document, locate subelements with XPath, modify
 *              said elements and save the resulting document.
 * purpose: 	Shows how to make a full round-trip from a load/edit/save
 * usage:	xpath2 <xml-file> <xpath-expr> <new-value>
 * test:	xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
 * author: 	Aleksey Sanin and Daniel Veillard
 * copy: 	see Copyright for the status of this software.
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>

#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>

#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED) && \
    defined(LIBXML_OUTPUT_ENABLED)


static void usage(const char *name);
static int example4(const char *filename, const xmlChar * xpathExpr,
                    const xmlChar * value);
static void update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar * value);


int 
main(int argc, char **argv) {
    /* Parse command line and process file */
    if (argc != 4) {
	fprintf(stderr, "Error: wrong number of arguments.\n");
	usage(argv[0]);
	return(-1);
    } 
    
    /* Init libxml */     
    xmlInitParser();
    LIBXML_TEST_VERSION

    /* Do the main job */
    if (example4(argv[1], BAD_CAST argv[2], BAD_CAST argv[3])) {
	usage(argv[0]);
	return(-1);
    }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * usage:
 * @name:		the program name.
 *
 * Prints usage information.
 */
static void 
usage(const char *name) {
    assert(name);
    
    fprintf(stderr, "Usage: %s <xml-file> <xpath-expr> <value>\n", name);
}

/**
 * example4:
 * @filename:		the input XML filename.
 * @xpathExpr:		the xpath expression for evaluation.
 * @value:		the new node content.
 *
 * Parses input XML file, evaluates XPath expression and update the nodes
 * then print the result.
 *
 * Returns 0 on success and a negative value otherwise.
 */
static int 
example4(const char* filename, const xmlChar* xpathExpr, const xmlChar* value) {
    xmlDocPtr doc;
    xmlXPathContextPtr xpathCtx; 
    xmlXPathObjectPtr xpathObj; 
    
    assert(filename);
    assert(xpathExpr);
    assert(value);

    /* Load XML document */
    doc = xmlParseFile(filename);
    if (doc == NULL) {
	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
	return(-1);
    }

    /* Create xpath evaluation context */
    xpathCtx = xmlXPathNewContext(doc);
    if(xpathCtx == NULL) {
        fprintf(stderr,"Error: unable to create new XPath context\n");
        xmlFreeDoc(doc); 
        return(-1);
    }
    
    /* Evaluate xpath expression */
    xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx);
    if(xpathObj == NULL) {
        fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* update selected nodes */
    update_xpath_nodes(xpathObj->nodesetval, value);

    
    /* Cleanup of XPath data */
    xmlXPathFreeObject(xpathObj);
    xmlXPathFreeContext(xpathCtx); 

    /* dump the resulting document */
    xmlDocDump(stdout, doc);


    /* free the document */
    xmlFreeDoc(doc); 
    
    return(0);
}

/**
 * update_xpath_nodes:
 * @nodes:		the nodes set.
 * @value:		the new value for the node(s)
 *
 * Prints the @nodes content to @output.
 */
static void
update_xpath_nodes(xmlNodeSetPtr nodes, const xmlChar* value) {
    int size;
    int i;
    
    assert(value);
    size = (nodes) ? nodes->nodeNr : 0;
    
    /*
     * NOTE: the nodes are processed in reverse order, i.e. reverse document
     *       order because xmlNodeSetContent can actually free up descendant
     *       of the node and such nodes may have been selected too ! Handling
     *       in reverse order ensure that descendant are accessed first, before
     *       they get removed. Mixing XPath and modifications on a tree must be
     *       done carefully !
     */
    for(i = size - 1; i >= 0; i--) {
	assert(nodes->nodeTab[i]);
	
	xmlNodeSetContent(nodes->nodeTab[i], value);
	/*
	 * All the elements returned by an XPath query are pointers to
	 * elements from the tree *except* namespace nodes where the XPath
	 * semantic is different from the implementation in libxml2 tree.
	 * As a result when a returned node set is freed when
	 * xmlXPathFreeObject() is called, that routine must check the
	 * element type. But node from the returned set may have been removed
	 * by xmlNodeSetContent() resulting in access to freed data.
	 * This can be exercised by running
	 *       valgrind xpath2 test3.xml '//discarded' discarded
	 * There is 2 ways around it:
	 *   - make a copy of the pointers to the nodes from the result set 
	 *     then call xmlXPathFreeObject() and then modify the nodes
	 * or
	 *   - remove the reference to the modified nodes from the node set
	 *     as they are processed, if they are not namespace nodes.
	 */
	if (nodes->nodeTab[i]->type != XML_NAMESPACE_DECL)
	    nodes->nodeTab[i] = NULL;
    }
}

#else
int main(void) {
    fprintf(stderr, "XPath support not compiled in\n");
    return 0;
}
#endif
PKi�Z_$����0usr/share/doc/alt-libxml2-devel/examples/tree1.cnu�[���/**
 * section: Tree
 * synopsis: Navigates a tree to print element names
 * purpose: Parse a file to a tree, use xmlDocGetRootElement() to
 *          get the root element, then walk the document and print
 *          all the element name in document order.
 * usage: tree1 filename_or_URL
 * test: tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
 * author: Dodji Seketeli
 * copy: see Copyright for the status of this software.
 */
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#ifdef LIBXML_TREE_ENABLED

/*
 *To compile this file using gcc you can type
 *gcc `xml2-config --cflags --libs` -o xmlexample libxml2-example.c
 */

/**
 * print_element_names:
 * @a_node: the initial xml node to consider.
 *
 * Prints the names of the all the xml elements
 * that are siblings or children of a given xml node.
 */
static void
print_element_names(xmlNode * a_node)
{
    xmlNode *cur_node = NULL;

    for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
        if (cur_node->type == XML_ELEMENT_NODE) {
            printf("node type: Element, name: %s\n", cur_node->name);
        }

        print_element_names(cur_node->children);
    }
}


/**
 * Simple example to parse a file called "file.xml", 
 * walk down the DOM, and print the name of the 
 * xml elements nodes.
 */
int
main(int argc, char **argv)
{
    xmlDoc *doc = NULL;
    xmlNode *root_element = NULL;

    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*parse the file and get the DOM */
    doc = xmlReadFile(argv[1], NULL, 0);

    if (doc == NULL) {
        printf("error: could not parse file %s\n", argv[1]);
    }

    /*Get the root element node */
    root_element = xmlDocGetRootElement(doc);

    print_element_names(root_element);

    /*free the document */
    xmlFreeDoc(doc);

    /*
     *Free the global variables that may
     *have been allocated by the parser.
     */
    xmlCleanupParser();

    return 0;
}
#else
int main(void) {
    fprintf(stderr, "Tree support not compiled in\n");
    return 0;
}
#endif
PKi�Z�\992usr/share/doc/alt-libxml2-devel/examples/reader4.cnu�[���/**
 * section: xmlReader
 * synopsis: Parse multiple XML files reusing an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() and
 * xmlReaderNewFile to parse XML files while reusing the reader object
 * and parser context.  (Note that the XMLReader functions require
 * libxml2 version later than 2.6.)
 * usage: reader4 <filename> [ filename ... ]
 * test: reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
 * author: Graham Bennett
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

static void processDoc(xmlTextReaderPtr readerPtr) {
    int ret;
    xmlDocPtr docPtr;
    const xmlChar *URL;

    ret = xmlTextReaderRead(readerPtr);
    while (ret == 1) {
      ret = xmlTextReaderRead(readerPtr);
    }

    /*
     * One can obtain the document pointer to get interesting
     * information about the document like the URL, but one must also
     * be sure to clean it up at the end (see below).
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (NULL == docPtr) {
      fprintf(stderr, "failed to obtain document\n");      
      return;
    }
      
    URL = docPtr->URL;
    if (NULL == URL) {
      fprintf(stderr, "Failed to obtain URL\n");      
    }

    if (ret != 0) {
      fprintf(stderr, "%s: Failed to parse\n", URL);
      return;
    }

    printf("%s: Processed ok\n", (const char *)URL);
}

int main(int argc, char **argv) {
    xmlTextReaderPtr readerPtr;
    int i;
    xmlDocPtr docPtr;

    if (argc < 2)
        return(1);

    /*
     * this initialises the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    /*
     * Create a new reader for the first file and process the
     * document.
     */
    readerPtr = xmlReaderForFile(argv[1], NULL, 0);
    if (NULL == readerPtr) {
      fprintf(stderr, "%s: failed to create reader\n", argv[1]);      
      return(1);
    }
    processDoc(readerPtr);

    /*
     * The reader can be reused for subsequent files.
     */
    for (i=2; i < argc; ++i) {
      	xmlReaderNewFile(readerPtr, argv[i], NULL, 0);
	if (NULL == readerPtr) {
	  fprintf(stderr, "%s: failed to create reader\n", argv[i]);      
	  return(1);
	}
        processDoc(readerPtr);
    }

    /*
     * Since we've called xmlTextReaderCurrentDoc, we now have to
     * clean up after ourselves.  We only have to do this the last
     * time, because xmlReaderNewFile calls xmlCtxtReset which takes
     * care of it.
     */
    docPtr = xmlTextReaderCurrentDoc(readerPtr);
    if (docPtr != NULL)
      xmlFreeDoc(docPtr);

    /*
     * Clean up the reader.
     */
    xmlFreeTextReader(readerPtr);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "xmlReader support not compiled in\n");
    return(0);
}
#endif
PKi�Z�i�j��/usr/share/doc/alt-libxml2-devel/examples/parse4nuȯ��#! /bin/sh

# parse4 - temporary wrapper script for .libs/parse4
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse4 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse4.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse4:parse4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse4:parse4:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse4:parse4:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse4'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�ZRb�X�X�1usr/share/doc/alt-libxml2-devel/examples/xpath1.onu�[���ELF>X�@@<;

/1.2-3,4H��H��t[H��H�=�1�H���4H�
�H�=��3H�
H���H�=�H�
�BH�5H�=�ff.�f���AVAUATUSH���jH���BH��H���I��H���H���
fDH���< t���tk�=H���H�����L�h� L���H��t*�L��H��H��L�p���u7M��tL����L��H��H�����uL��1�[]A\A]A^�H�=M��H��1�H���L��[�����]A\A]A^�H�
�&�H�=�L��[�����]A\A]A^�H�
�(�H�=�������e���H�
��H�5H�=�H�
��H�5H�=�f���AVAUATUSH����I��H��H���\�1�H��H��������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H�1��I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH�H��1��XZI9�u�[]A\A]A^�fDH�ѾL��H��1���r���fDI��I�оH��H�1���K����H�ѾH��1�H���&���f�[H��1�]H�A\�A]1�A^�H�
��H�5H�=�H�
��H�5H�=�f���AUATUSH��H���EI��H���H��I���H��H��ttH���H��H����M��tL��H�������H��L���I��H��tYH�xH�5�L���H���H���1�H��[]A\A]�H�=H�پ1�H���������L��H�H�=�1��H���H���������L��H���H�
�*�H�=�H���������b���H�
�[H�5H�=�H�
�ZH�5H�=�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath1.cnamexpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��U�G�SH��H����wB����
R�1҃�t$H�sH�{���xC��1�H��[]�H�S��H�
�"�H�=�H�;�����H�;����print_xpath_nodesregister_namespacesexecute_xpath_expressionusage��5int�C�C���1.	3<	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	DG`	FMh	H<p	I<t	Jtx	MX�	Nf�	OS�	Qc�	Y
��	[n�	\y�	]M�	^	��	_
)�	`<�	b��
+B��c
5:it��
5��.�����<�������	Q��_
��	


�
_
��	

��x
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
�P
��X
��`
��h
�Xp
�Xr��
��
��
��
��
��
�� 
�E(
��0
��8doc
�E@
��H
��P
��X
��`
��h
��p
��x��
'E
(�
)�
*�
+�
,� 
-�(
.�0
/�8doc
0E@
3<H
4<L
:�P
;�X
<`
=�h
>�pids
?�x
@��URL
A��
B<�
D	�
E��
F<�
H<��^oR
w�
��0
��
�
�u
��
��
�� 
�E(
����`
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
��P
��X
��
���
%�
&	�^9		*	�B36	<	�K	)MW	]	�q	�)W}	�	��	�
�	
�	�	_�	�	L�	XN�
	O
<	P
<	Q�	R�		S�	T
< 	U�(	V�0	W�8	X
<@	Y
<D	Z�H	[�PM�
�	Z�
�
�
��
��*	�*	�K	�
	�q	'!.x,�
doc-�.�0	<1	<2�	4	< 5	<$6(8	<09	<4:�	8<	<@=	<D>�HA	PB	<XC�`F	<hG	<lJ	<pK�xL��O�	�P ��Q��T��W��X��[��\��_	�`	<�c��d�
�e�	�f�@icHk	<Pn�Xq5`r5hs	<p(�
")'�
X�fcur�����	<��
�� �<(�<,�40�!8�	<@��H�<P* r�
Q�S�	T	<	U	<	V�
R�x_e	r�| H~�		��	�	<	��	� 	��(	�	<0	��8	�	<@}����<��<���	��	����*:f<�FL�`f��l��	��	�:��`�$�����������	����z"{.�����������!��.�cur�� �	<i�	<!	"�ns��#+$�
v$H$<%&Uv&T1&Q	'+(�
$H$<%&Uv&T1&Q	(+�i$H$<)<&Uv&T1&Q	&Rs*&U�T&T1&Q	&R0(+��$H$<%&Uv&T1&Q}#+�"$H$<%&Uv&T1&Q	#+ ��$H$<%&Uv&T1&Q	)�&U	&T	&Q�&R	%&U	&T	&Q�&R	�
5+�<��9�(�
�A� � � � �!I	#+ �)$H,<%&T1&Q	&Rs&X}#+��$H,<%&U	&T1&Q&#+��$H,<%&U	&T1&Q()&�&U�T)2&Us&T=)2:&U}&T )>^&Uv&Ts&Q})>�&Uv&Ts&Q}-�&U|-�&U|-�&U|)�&U	&T	&Q�&R	%&U	&T	&Q�&R	�I
59+U<{��U&�U?�UY�docV� W�
 X�!�	#+`Y$H,<%&T1&Q	&Rs#+w	�$H,<%&T1#+n	�$H,<#+g	:$H,<%&U	&T1&Q*)KR&Us)Xj&Uv)�&Us&T|)e�&U}&Ts.a)r�&U|)�&Us)��&Uv)&Us)�+&Uv)�C&Uv)�&U	&T	&Q[&R	%&U	&T	&QZ&R	��
5�/A0A�!	�
5+<��%
<%#+!�$H,<%&U	&T1&Q".�)��&U

R.N.�.�.�.��1d<V0d�0d<�23���$�#+D�$H,<%&T1&Q	&R�U#+E;$H,<%&U	&T1&Q4(+F�$H,<*&U	&T1&Q3'�A4�5%&U	&T	&QB&R	6Z6C
76	)6	78�8L888�88
876896�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I:;9
:;9I84:;9I?<.?:;9'@�B:;9I�B4:;9I�B 4:;9I�B!4I4"U#1R�BXYW$1�B%��1&���B'1R�BXYW(1R�BUXYW)��1*���B1+.?:;9'I@�B,1-��.��1/.:;9' 0:;9I1.?:;9'I 423.1@�B4156.?<n:;97.?<n:;8.?<n:;9U^�U�^U^�U�^U�U�TV�T�VTU�T�VT�T�PRpPpS0�0�PP
�V
�V
�
�TVTU�T�
�V
�V
�VUV�U�V�U�V�U�VU�U�U�U�T�T�T�T�T�T�P\\\P\SSSS]]PSP]P^0�P
�
�
�US�U�S�U�U�U�U�U�T]�T�]T]T�T�Q\�Q�\�Q�\Q�Q�Q�Q�PVPVPSSPSP\P
�
�
�
�UV�U�VUp��U�VTS�T�S
�UR�U�U�U�
�
�
�<����
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hxpathInternals.hparser.hxmlversion.h<built-in>	�KZ 
�._
�`
a�
J[�I� KIz���<X=��J	<KM��<M�Y@�NX
iJ���Q�/..xX�
���z ^ ..i<�
���k X .[XF
�9�.tW.t64tK6
��$�0�
�<t��
�.�tX	��J��~
��YL�g
=�
Y�
��tX.fp�~
����
fX���~
����
�~ <�.
�~ �t
�~.X�
�~.�.
�~.X��.ta�tKa
���X=^�=�X���`����/fJZ 
�
	tm
�	.��	ttv
�	
�	�r��ttW�tt	L":�{Y�t�P]Y/Xs.vf�
tX��	X�_xmlXPathCompExprparentuser2lastErrortmpNsNrlastxmlAttributeType_shortbufbase_IO_lock_toutputxmlFreestderrxmlErrorLevel_IO_buf_endnb_types_privatemessagemax_variables_unused_xmlDtdnodesSystemIDentitiesnode_xmlNodeSetxmlMalloc_IO_write_endunsigned intXML_ATTRIBUTE_CDATAnextversionxmlStrchr_freeres_listxmlChar_flagsxpathCtxxpathExprXPATH_XSLT_TREEpentitiesnsListstringval_xmlNs_old_offsetlevel__builtin_fwritexmlInitParserxmlErrorPtrvalueNrXML_ERR_ERRORaxiselementsintSubseterrorfuncfilenameprevXML_TEXT_NODExmlXPathObjectnodeTabcache_IO_read_baseXML_ENTITY_DECLxmlXPathFunctionxmlXPathNewContextxmlXPathFreeObjecthere_IO_save_endboolvalxmlCleanupParserindexmax_funcs_unusedxmlStrdupFuncXML_COMMENT_NODE_xmlXPathObjectmax_axislong long unsigned intfilevalueMaxxmlDocPtrsys_errlist_IO_backup_basexmlNsType_offsetXML_ERR_WARNINGxmlXPathTypePtrsys_nerr_xmlXPathContextvalue_filenoxmlXPathContextxmlXPathTypeprefixsize_t_vtable_offset_markersXML_XINCLUDE_ENDXPATH_STRINGxmlStrdupfloatvalnodeNrxpath1.cxmlDocstr1str2str3originflagsxmlXPathObjectTypecodexmlXPathContextPtr__fmtXML_ATTRIBUTE_NODEnb_variables_unusedtypesxmlParseFileXPATH_NODESETindex2XML_ATTRIBUTE_ENTITIESxmlNodexmlXPathObjectPtrxmlXPathVariableLookupFunc__stream_xmlError_xmlXPathTypechar__fprintf_chk_modeexecute_xpath_expressionnodeMaxencoding_IO_markernodesetval_IO_read_ptrint1proximityPositionxmlDictxmlStructuredErrorFuncXML_CDATA_SECTION_NODExmlXPathFuncLookupFuncXML_NAMESPACE_DECLusageoldNsXML_ATTRIBUTE_IDxmlXPathEvalExpressionXPATH_BOOLEAN_IO_write_basexmlMallocFunclong long intXML_ENTITY_NODEXML_XINCLUDE_STARTancestor_IO_save_base_xmlAttrdepthxmlXPathAxisatypehrefcontextopLimitdictxmlXPathFreeContextxmlXPathCompExprxmlDictPtrfuncHashmax_typescharsetXML_DTD_NODExmlXPathNINFxmlXPathAxisPtrparseFlagsfuncLookupFuncnb_axissize_freeres_buffunctionURIXML_NOTATION_NODEdebugNodexmlErrorxmlXPathParserContextPtr__pad5long unsigned intXML_ATTRIBUTE_DECLxmlMemStrdupargcxmlXPathAxisFunc_xmlXPathAxisnsHashopCountnamespacesargvlong doubleextSubsetxmlNodePtrtmpNsListxmlMemoryDumpxmlNodeSetPtrxmlFreeDocxmlElementTypexmlXPathParserContextpsvivarLookupFuncxmlXPathRegisterNsXML_ATTRIBUTE_ENTITYnsDef_IO_read_endrefsXML_ATTRIBUTE_NOTATIONshort intxmlHashTableXML_DOCUMENT_TYPE_NODEctxtlong intpropertiesXPATH_UNDEFINEDGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlXPathPINFxpathObjxmlXPathCompExprPtr_IO_wide_dataxptrxmlRealloc_xmlDocfprintfxmlHashTablePtrdomainXML_PI_NODEextraXML_ATTRIBUTE_IDREFstandalonenameXPATH_NUMBER_xmlDictprint_xpath_nodesXPATH_USERS_xmlXPathParserContext_wide_dataint2nb_funcs_unused_lock_IO_codecvt_codecvtregister_namespacesvalueFramestdin_IO_FILE__assert_failXML_ELEMENT_DECLXML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_NMTOKENStypeunsigned charxmlCheckVersionfunctionlineXML_ERR_FATALxmlNodeSet_IO_write_ptrnotationsExternalIDxmlNsPtrattributescontextSizexmlXPathConvertFuncXML_ELEMENT_NODEcontentfuncLookupDataXML_ERR_NONEXML_ATTRIBUTE_NMTOKENnsNr_xmlHashTablensListDupxmlReallocFuncstdoutXML_DOCUMENT_FRAG_NODExmlMallocAtomiccompressionfwrite__off_tvarHashsigned charXML_HTML_DOCUMENT_NODEuserDatashort unsigned intXML_ENTITY_REF_NODEXML_DOCUMENT_NODEmain__PRETTY_FUNCTION__xmlFreeFuncchildrendoublevarLookupData_chainuser_xmlNodeFILE_flags2XML_ATTRIBUTE_ENUMERATIONcompxmlNs_cur_columnvalueTab__off64_t_unused2_IO_buf_basexmlXPathNAN/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx��DO
Q`8�F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX��F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8�{F�B�A �A(�D0�
(A ABBA,4�E�D�G ~
AAA
�	
0)
?1Yt2��3��4��%�+YD�g.� �.���"�H@au�!"$&(*12345607��8�p��	��������%�x�K�@�h�c�9����������
P/DX+,-./ip�����������0��{$7NUh|������.annobin_xpath1.c.annobin_xpath1.c_end.annobin_xpath1.c.hot.annobin_xpath1.c_end.hot.annobin_xpath1.c.unlikely.annobin_xpath1.c_end.unlikely.annobin_xpath1.c.startup.annobin_xpath1.c_end.startup.annobin_xpath1.c.exit.annobin_xpath1.c_end.exit.annobin_usage.start.annobin_usage.endusage__PRETTY_FUNCTION__.7905.annobin_register_namespaces.start.annobin_register_namespaces.end__PRETTY_FUNCTION__.7923.annobin_print_xpath_nodes.start.annobin_print_xpath_nodes.end__PRETTY_FUNCTION__.7937.annobin_execute_xpath_expression.start.annobin_execute_xpath_expression.end__PRETTY_FUNCTION__.7914.annobin_main.start.annobin_main.end.LC2.LC3.LC4.LC0.LC1.LC9.LC8.LC7.LC6.LC5.LC11.LC17.LC15.LC13.LC14.LC16.LC12.LC10.LC20.LC23.LC22.LC21.LC19.LC18.LC24.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupstderr_GLOBAL_OFFSET_TABLE___fprintf_chkfwrite__assert_failregister_namespacesxmlStrdupxmlStrchrxmlXPathRegisterNsxmlFreeprint_xpath_nodesexecute_xpath_expressionxmlParseFilexmlXPathNewContextxmlXPathEvalExpressionstdoutxmlXPathFreeObjectxmlXPathFreeContextxmlFreeDocmainxmlInitParserxmlCheckVersionxmlCleanupParserxmlMemoryDumpc��������;��������"e��������.c��������:<��������?f��������Kc��������[=��������g*Us>��������z?��������g���������i���������j��������j��������k��������Bk��������Ol��������ac��������p@��������ze���������l���������c���������A���������f���������l���������c���������B���������f���������*�>��������C��������g��������*>��������%D��������*g��������[E��������je���������F���������G���������e��������$H��������.e��������Ye��������yI���������e���������J���������e���������E���������*���������>���������K���������g���������*���������>��������L��������
g��������:o��������Jp��������fh��������yq���������r���������m���������s���������t���������u���������c���������M���������e���������N���������c���������e���������t��������u��������O��������!c��������2P��������7f��������?u��������P*<\>��������cQ��������hg��������o*<{>���������R���������g��������`f���������e�������� 8���$,�P�X.���.�.��.��DL� 2 3 4 599�w��������"x��������6n��������?y��������Dz��������Zc��������kS��������pf��������x�����������������
,
1�	
1A
1�
/%
0*
1�8
1F
1�	M
1�T
1I[
1�
b
1	i
1�
p
1j	u
1�
�
1��
1Z�
1!�
1��
1W�
1��
1A	�
1R�
1y�
1�
1�
1�
1�*
1�7
1\D
1�Q
1^
1Uk
1�x
1o�
1��
1��
1��
1G�
1��
1v�
1��
1��
1A�
1�
1

1m!
1�/
1j;
1VC
1�j
1�u
1�
�
1��
1\
�
1p�
1��
1P�
1O
1�"
1�(
1'.
1�4
1�
:
1�@
1F
1�L
1R
1�	X
1c
^
1�d
1�
j
1ep
1v
1&|
1`�
1$�
1��
1	�
1��
1�
1C�
1!�
1�
1&	�
1��
1
�
1-�
1w�
1S	�
16�
1a
1�
1D(
1@6
17D
11R
1`
1*n
1"�
1��
1�	�
1;	�
1	�
1p�
1�
1�
1�
1D
1@*
178
11F
1T
1*b
1"~
1��
1��
1��
1��
1��
1��
1��
1�
�
1�
1D
1@
17-
11;
1I
1*W
1"s
1�
�
15�
1�
1��
1=�
1/�
1��
1N	�
1]

1
1	)
1�7
1�	N
1�S
1�_
1Rd
1?v
1l�
1��
1��
1*�
1D�
1�
1��
1��
1�
1�
1�
1�(
1D6
1@D
17R
11`
1n
1*|
1"�
1��
1	�
1�
1��
1J�
1F	
1++	
1�L	
1M
r	
1��	
1t	�	
15
�	
1�
�	
1

�	
1~�	
1��	
1u�	
1w�	
1��	
1B

1

1�

1�)

1�6

18C

1pP

1Q]

1Vj

1[w

1��

1��

1�	�

1��

1��

1��

1��

1z
�

1�

1h
19#
1�/
1�L
1�Z
1�h
1�v
1�
�
1��
1S�
1��
1��
1��
1J�
1��
1�
1�
1y
10

1\,
1�:
1�H
1�
V
1�d
1`r
1j�
1	�
1G�
1�
1g�
1��
1��
1��
1��
1)�
1�


1

1(

1�7

1F

1gU

1Ld

1
s

1q�

1��

1��

1��

1y�

1Q�

1�

1�

1�
1�
1= 
1�.
1�<
1�
J
1�X
1�g
1�y
1��
1��
1:�
1��
1D�
1��
1�	�
1��
1k�
1E�
1�
1m�
1q
1m
15
1*
1D7
1�D
1�Q
11^
1�k
1\x
1��
1�
1��
1�
1@�
1��
1��
1L�
1@
1
1�;
1Ka
1�m
1\z
1@�
1�
1�
1p�
1�
1

1.
1"
1�
;
1�H
1�
U
1rb
1[i0�
1��
-�
-�
1a�
-��
-��
-��
-��
1��
-U�
-Q�
-��
-��
1�*�
/�
-�
-�:
-�>
-�G
-K
-P2l@{h�h�
-A�
-?�
-o�
-m���h�V�
/0�
-��
-�
-�
-�
n-%=�Z%nHw
/��
-\�
-Z�
-��
-��]�����
-��
-��
-��
-���K'�0�L
-P
-Y
-0]
-.b�~c���9��*����*
1�$�;
1^F
-kJ
-SO
1�Z
-z^
-nc
1C
n
-r
-w
1��
-��
-��
1�
-��
-��
1*�
-A�
-1�
1�* �^�^�
-��
-��~.�7�S
-	W
-	a�r������
-H	�
-F	��������	;#_F�S��������* �./* O
1sZq
1|
-�	�
-t	�
1g�
-]
�
-M
�
1��
-�
-�
-�
-��
1^�
-g�
-]�
1�
�
-��
-��
1�*@�	�%
-'
)
-%
3�I�^�g��
-U
�
-S
�����
-�
�
-�
��
-�


-�
;%�;>SNkj�}���������,CDlY�fy*@������*@�
17�
1@�
1�*Y
1!98
1FC
-�
G
-�
L
1�W
-�[
-�d9Wm9W�
-�
-�9t�P�9�9&�9:�9C�9H9|9�,
1�
=
19I
1�[v
-<z
-2�	�	�
-��
-��&��&�&
-�
-�C&8@CI
/Y
-]
-
gdxp�d�d�d���	��*Y
1_
1_
1�
1�
1�
 
1�'
1'+
1'3
177
17?
1	C
1	L
1�P
1�Y
1�]
1�f
1Tj
1Ts
1�w
1��
1�
1�
1��
1��
1��
1��
1W�
1W�
1��
1��
1��
1�0g'g/A:ABBPBX�c�k�v�~������������	�	��0dd;%;-B;BC�N�V�a�i�t�|�����������������!B"X-b5UV]�h�p��n�����-�b���9@$9AbI�Thobw��V�n�%�����%�V�d�dn��!�)�4�<�\Bdbox�B�b�����K�����
�c0�8�k�s�~��W�W�^�^������������������

'5=)H)P.z��������������"�"�.��$�,Y7^?�J�R�]�e�p�x����/�1�J�^��������J^�A�I�T�\�g�o�z��	�	���1�1�J�����^�~�	�"	�-	�H	�P	�[	��	�	=�	=�	Q�	Q�	��	��	��	��	M�	M�	g�	g
l
l
�'
�/
�]
e
=p
=x
��
��
��
��
M�
M�
`�
`�
l�
l�
�
�
�'=2=:�E�M�[�c�n�v��M�M�Y�Y�l�l�x�x��A	MM�'�/�:�BMgQoizi�������:�:�M��������
�

�'
�/
�:
�U
�]
�h
�
�
�
��
�
;�
��
9�
999J9J9Q)9Q19W<9WD9oO9oW9sd9sl9�z9��9��9�9�9�9O�9O�9Q�9Q�9�9W9tP<DOW%b%jdxd�~�~���	�&��&�C�8Cd"p
+ 9COSd0V8n@�H�P�X�`�h�p�x��������������H�h���4�h��� 9(9���9 <��0�89.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9TFT9UFl9VF�(9WF�9X ��@8sp9&[,[6\T1@�{�9
L�	[�	�V@X}09
u�����@�}09AX
�X
��@�}09�,�,��@�}09�2�2�s8@~09A`�<@H~�9O�_\O�W@8�79h6-{H9;v@�09"��I@�@H�H9$��I@�@���9&�K�@`�09(�0R�0.a.�\aA\au\aL\a \a�\a�\a�\a\a\a$`a <�a`7@��x97�b�:c	hn��MPKi�Z!F&���2usr/share/doc/alt-libxml2-devel/examples/reader3.cnu�[���/**
 * section: xmlReader
 * synopsis: Show how to extract subdocuments with xmlReader
 * purpose: Demonstrate the use of xmlTextReaderPreservePattern() 
 *          to parse an XML file with the xmlReader while collecting
 *          only some subparts of the document.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader3
 * test: reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#if defined(LIBXML_READER_ENABLED) && defined(LIBXML_PATTERN_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)


/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse and print information about an XML file.
 *
 * Returns the resulting doc with just the elements preserved.
 */
static xmlDocPtr
extractFile(const char *filename, const xmlChar *pattern) {
    xmlDocPtr doc;
    xmlTextReaderPtr reader;
    int ret;

    /*
     * build an xmlReader for that file
     */
    reader = xmlReaderForFile(filename, NULL, 0);
    if (reader != NULL) {
        /*
	 * add the pattern to preserve
	 */
        if (xmlTextReaderPreservePattern(reader, pattern, NULL) < 0) {
            fprintf(stderr, "%s : failed add preserve pattern %s\n",
	            filename, (const char *) pattern);
	}
	/*
	 * Parse and traverse the tree, collecting the nodes in the process
	 */
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            ret = xmlTextReaderRead(reader);
        }
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
	    xmlFreeTextReader(reader);
	    return(NULL);
        }
	/*
	 * get the resulting nodes
	 */
	doc = xmlTextReaderCurrentDoc(reader);
	/*
	 * Free up the reader
	 */
        xmlFreeTextReader(reader);
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
	return(NULL);
    }
    return(doc);
}

int main(int argc, char **argv) {
    const char *filename = "test3.xml";
    const char *pattern = "preserved";
    xmlDocPtr doc;

    if (argc == 3) {
        filename = argv[1];
	pattern = argv[2];
    }

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    doc = extractFile(filename, (const xmlChar *) pattern);
    if (doc != NULL) {
        /*
	 * output the result.
	 */
        xmlDocDump(stdout, doc);
	/*
	 * don't forget to free up the doc
	 */
	xmlFreeDoc(doc);
    }


    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "Reader, Pattern or output support not compiled in\n");
    return(0);
}
#endif
PKi�Z���V�z�z.usr/share/doc/alt-libxml2-devel/examples/io1.onu�[���ELF>Pk@@=<

02/3.4-5��H��t
�1�ø�����@��U��SH��H�������u7H��t2�-��H��H��H��9�N�Hc�)���-H����[]��������f���H��H��t,�H�=�����u�1H��1��D��H��1�H��t�H�=����������GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONS
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��S�
R�H�
H�H�5H�=���x^H�H���H��E1�1�H����H��H��tH�����~LH�=H���H�����1�[�H�
��H�=���H�
��H�=���H�
�#�H�=�����5Cint�m�m��	�1%
3f
6	�
7	�
8	�
9	� 
:	�(
;	�0
<	�8
=	�@
@	�H
A	�P
B	�X
D>`
FDh
Hfp
Ift
Jtx
MQ�
NX�
OJ�
QZ�
Y
��
[e�
\p�
]D�
^	C�
_
)�
`f�
bv��+9�
�Z51`k
��5��%�����	f
������	�
J��<��	

��<��	
��x���C�������� ��(��0��8doc�<@ns��H��P��X��`�Ch�Qp�Qr�����C�������� �<(��0��8doc�<@�CH�CP�CX�C`��h��p�Cx��'<(C)�*�+�,� -�(.�0/�8doc0<@3fH4fL:�P;�X<�`=�h>�pids?Cx@C�URLA��Bf�D��EC�Ff�Hf��w��o0�����U�����C �<(bo`���C�������� ��(��0��8doc�<@ns��H��P�CX�%�&��P����C9�B3�	C	)M	#	C7	C)WC	I	�X	�
��
��
�	
��
�7	�cur�f	b
�	hf�p doci�!v	k
":#.$H%U	%T1%QO!�	�
":#.$H%U	%T1%QK!~	&":#.$H%U	%T1%Q#&S?%U

R&_�%U	%T	%Q	%R	&k�%Us&x�%Us%Q	%R0%X0&��%Us&��%Ts&�%Us'�'�&�E%U1&�\%U1$�%U1(VfW�H
)VC)V �*lenV,f ptrW�+�
]"""�
$�%U�T%T�U%Qs $ &(Df�y
,DCU(3C;��
*URI3�(#f*��
*URI#�-C.E.�.)-dfH.d�.d<�/011�2�2u1]2�2291�2f
0%U:;9I$>7I$>I&I	:;9

:;9I8:;9<
I!I/4:;9I?<!>I:;9(:;9
:;9I8
:;9I8:;9I&'I'I4:;9I4:;9I4:;9I4:;9I?.?:;9'I@�B 4:;9I�B!1R�BXYW"1�B#1$��1%���B&��1'��1(.:;9'I@�B):;9I�B*:;9I�B+1R�BUXYW,:;9I-.?:;9'I 4.:;9I/0.?<n:;1.?<n:;92.?<n:;9PSSPS
�
�
�UT�U�UTP�T�TQSQUT�U�U	s $ &�Q	s $ &�T�U�P�T�UTUT<�d��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlio1.cstring_fortified.hstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hxmlIO.hstring.hparser.hxinclude.hstdlib.h<built-in>	�KY
� 9\1
XK1.#1+%[.f��
F<X;B;	=
D.X<	gz�Y�K=X�.XL
��2jfK?,X�.X�	�Kx(�	�Q"��	X	�	J�\Y<	V n
�	�]
�"	v�f
�
__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned int__srcSystemIDXML_XINCLUDE_STARTnsDef_codecvtxmlXIncludeProcess_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flagsrlensqlRead_IO_buf_endmemcpyXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetxmlCharxmlCleanupParserxmlReadMemoryxmlRegisterInputCallbackscompressionlinexmlMallocAtomicxmlElementType_privatexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocstdinXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetsqlOpenshort unsigned intXML_ENTITY_DECLstrlenlast_IO_save_basesqlClose_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL__dest_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlistio1.c_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotations__lenXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupexitatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdict__builtin_memcpyXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEbufferintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATIONsqlMatch__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncincludexmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlDocDumpfwriteXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODEcontext_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENresultXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�(0WE�C�D |
CAD\;p*�E��
A
�	
1#
62Me3��4��5��
�	-wB WJwa�v�;~�����*�� "#%')+23456718����8��X�*>,-./0Oelq�����������.annobin_io1.c.annobin_io1.c_end.annobin_io1.c.hot.annobin_io1.c_end.hot.annobin_io1.c.unlikely.annobin_io1.c_end.unlikely.annobin_io1.c.startup.annobin_io1.c_end.startup.annobin_io1.c.exit.annobin_io1.c_end.exit.annobin_sqlClose.start.annobin_sqlClose.endsqlClose.annobin_sqlRead.start.annobin_sqlRead.endsqlRead.annobin_sqlOpen.start.annobin_sqlOpen.endsqlOpen.annobin_sqlMatch.start.annobin_sqlMatch.endsqlMatch.annobin_main.start.annobin_main.end.LC1.LC0.LC3.LC2.LC5.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_memcpymainxmlCheckVersionxmlRegisterInputCallbacksincludestrlenxmlReadMemoryxmlXIncludeProcessstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite��������@��������ZQ��������`���������;������������������<���������;�������� 8��$,PXw��w�w���w����D�L� 2 3 4 599S���������������� |'�,T��������7U��������?V��������N=��������UW��������eX��������pY��������xZ���������[���������\���������]���������^���������>���������_���������`���������^���������?���������_���������`���������^���������@���������_��������`��������!�
,
14
1h
1*
/@%
0*
1\8
1�?
1zM
1�T
1=[
1b
1�p
1Bu
1�
1��
1��
18�
1X�
1�
1,�
1��
1��
1�
1
1�
1l!
1l.
1�;
1	H
1nU
1b
1$o
1�|
1��
1��
1�
1h�
1��
1��
1��
1e�
15�
1��
1V
1�
1�&
12
1-:
1Aa
1�l
1��
1b�
1��
1��
1$�
1\�
1�
1
1�
1�%
1a+
1I1
1L7
1�=
1?C
1pI
1�O
1U
1h[
1�a
1�g
1m
1s
1Py
1r
1��
1�
1�
1��
1��
17�
1]�
1r�
1��
1��
1?�
1�
1��
1��
1
1,
1�
1-
1�;
1gI
1QW
1ce
1��
1��
1V�
1��
1��
1�
1C�
1��
1,
1�
1!
1�/
1g=
1QK
1cY
1�u
1��
1��
1K�
1��
1��
1��
1��
1Z�
1,�
1�
1
1�$
1g2
1Q@
1cN
1�j
1�x
1��
1��
1��
1K�
1��
19�
1w�
1-
1x
1� 
1�.
1VE
1	L
1�Q
1�V
1�c
1p
1�~
1c�
1��
1��
1��
1,�
1]�
1��
1,�
1�	
1
1�%
1g3
1QA
1cO
1�x
11�
1��
1��
15�
1��
1��
1�	
1�8	
1Y	
1Pe	
1
q	
1�}	
1|�	
1�	
1��	
1_�	�	
1��	U�	
1��	9

-



-
9�
9�8

-{<

-yF
9�W
!8p
9�y
9��

-��

-��
9��
"�
9��
9��

-��

-�9�!X'9@90U�b�o |�9C�9Y�"�9i�9|�9�9�"9�/9�F9�]9q
1d| �
1]�
-�
-�
1��
-r�
-j�
-��
-��
-(�
- �T�
/�
-�

-�	

-�


-�

-'

-#
^I

1zT
k

1]z

15�
��

-d�

-`�

10�
��

-��

-��

1x�

1&
1�
1�
1�/
1�;
19I
1M
1#T
1�X
1�`
1�d
1�l
1`p
1`y
1�}
1��
1��
1��
1�
1�
1��
1��
1��
1��
1��
1��
1,�
1,�
1x�
1}
9\9h9h%9�09�89�C9�K9�V9�^9{9��9��!8�9��9��"�9��9��!X OO&]1]9mGmOwr zL�L�]�]�m�m�w� �T�T�d�mw($0O;OC]N]Vmdmlw�T�W�W�]�]�^�T�]�]^'T/]:]B^d�l�w����������
+ 9LTTT Y(^@H�P9X9��9 4 `�t��9.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.8.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.data.rel.local.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupS@:AST:BSl:CS�(:DS�:E ��@�?�:&�,�6�T1@X@�:
L[�V@B0:
u�����@8B0:A�����@hB0:��
��
��@�B0:�2`%2�
-�
8@�B0:A�<@�B�:T�O@�E:i�d@�E�: u����!��@h`�:#��%@�@gH:%��%p�@Xg�:'�3&h�@Hh0:)�0�)��0y2.��2A�2u�2L�2 �2��2��2�2�2!�21�2 I�2�D@xhx:8h3	;P	�<�hZPKi�Z�����.usr/share/doc/alt-libxml2-devel/examples/io2.cnu�[���/**
 * section: InputOutput
 * synopsis: Output to char buffer
 * purpose: Demonstrate the use of xmlDocDumpMemory
 *          to output document to a character buffer
 * usage: io2
 * test: io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
 * author: John Fleck
 * copy: see Copyright for the status of this software.
 */

#include <libxml/parser.h>

#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)
int
main(void)
{

    xmlNodePtr n;
    xmlDocPtr doc;
    xmlChar *xmlbuff;
    int buffersize;

    /*
     * Create the document.
     */
    doc = xmlNewDoc(BAD_CAST "1.0");
    n = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
    xmlNodeSetContent(n, BAD_CAST "content");
    xmlDocSetRootElement(doc, n);

    /*
     * Dump the document to a buffer and print it
     * for demonstration purposes.
     */
    xmlDocDumpFormatMemory(doc, &xmlbuff, &buffersize, 1);
    printf("%s", (char *) xmlbuff);

    /*
     * Free associated memory.
     */
    xmlFree(xmlbuff);
    xmlFreeDoc(doc);

    return (0);

}
#else
#include <stdio.h>

int
main(void)
{
    fprintf(stderr,
            "library not configured with tree and output support\n");
    return (0);
}
#endif
PKi�ZT6o`��1usr/share/doc/alt-libxml2-devel/examples/xpath2.onu�[���ELF>�@@<;

/1.2-3,4H��tH��H�=�1�H��PH�
�DH�5H�=�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignxpath2.cnamefilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AWAVAUI��ATUSH�����4��
R�I�mM�eM�uH���M����M����H���H��H����H���H��H���\H��L���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$�I�WH�D$J�*H�1�~tH�M9�u�H���H���H�=H���H�����1�H��[]A\A]A^A_�H�
�"�H�=�I�}�����H�
��H�5H�=�H�=L��H��H���H���I�}����k���H�
�*�H�=�H�����H�=H��1�H���H�
�\H�5H�=�H�
�[H�5H�=�H�
�ZH�5H�=�usageupdate_xpath_nodesexample4/�5int�C�C���1.	3<	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	DG`	FMh	H<p	I<t	Jtx	MX�	Nf�	OS�	Qc�	Y
��	[n�	\y�	]M�	^	��	_
)�	`<�	b��
+B��c
5:it��
5��.�����<�������	Q��_
��	


�
_
��	

��x
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
�P
��X
��`
��h
�Xp
�Xr��
��
��
��
��
��
�� 
�E(
��0
��8doc
�E@
��H
��P
��X
��`
��h
��p
��x��
'E
(�
)�
*�
+�
,� 
-�(
.�0
/�8doc
0E@
3<H
4<L
:�P
;�X
<`
=�h
>�pids
?�x
@��URL
A��
B<�
D	�
E��
F<�
H<��^oR
w�
��0
��
�
�u
��
��
�� 
�E(
����`
��
��
��
��
��
�� 
��(
��0
��8doc
�E@ns
��H
��P
��X
��
���
%�
&	�^9		*	�B36	<	�K	)MW	]	�q	�)W}	�	��	�
�	
�	�	_�	�	L�	XN�
	O
<	P
<	Q�	R�		S�	T
< 	U�(	V�0	W�8	X
<@	Y
<D	Z�H	[�PM�
�	Z�
�
�
��
��*	�*	�K	�
	�q	'!.x,�
doc-�.�0	<1	<2�	4	< 5	<$6(8	<09	<4:�	8<	<@=	<D>�HA	PB	<XC�`F	<hG	<lJ	<pK�xL��O�	�P ��Q��T��W��X��[��\��_	�`	<�c��d�
�e�	�f�@icHk	<Pn�Xq5`r5hs	<p(�
")'�
X�fcur�����	<��
�� �<(�<,�40�!8�	<@��H�<P* r�
Q�S�	T	<	U	<	V�
R�x_e	r�| H~�		��	�	<	��	� 	��(	�	<0	��8	�	<@}����<��<���	��	����*:f<�FL�`f��l��	��	�:��`�$�����������	����z"{.����������"��8��	< i�	<!�	��
5�"U<2U�U/�UI� docV�W�
X�!B	�B
52CtC�!�	��
5t# <{�_$ 
<$ _%�-	�&�&�&�'(�((%aw�&z&n'(�(�)u�*T|+�*U	*T	*Q�*R	,ep	D&�-v+�*T1*Q	*R~,eh	�&�-v+�*U	*T1*Q*,ea&�-v+�*T1*Q	*Rv)�*Uv)�0*Us)�N*U~*Tv.�)�s*Uv)��*Ts)��*Us)��*Uv)��*Us)��*Us)�**U	*T	*Q\*R	)�i*U	*T	*Q[*R	+�*U	*T	*QZ*R	,e#&�-v+�*U	*T1*Q".)
**U

R..&.G.G�/d<�d�d<�01GB�u&T,eF&�-v2�*T1*Q	*R�U3GC4T'+�*U	*T	*QD*R	5
%6C
6Z75L555�55
�5
576596�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I:;9
:;9I84:;9I?<.:;9' :;9I4:;9I 4:;9I!4I4".:;9'I #.?:;9'I@�B$:;9I�B%1R�BUXYW&1�B'U(41�B)��1*���B+��1,1R�BXYW-1.��1/.?:;9'I 401.1@�B2���B131R�BUXYW415.?<n:;96.?<n:;97.?<n:;U�U�U�U�T]�T�T]�T�]\\\\\^^^^^VVVPSSPSPVVPVPP\\__�1�QR
�
�
�
�UR�U�U�U�
�<B{L��
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlxpath2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hdict.hxmlmemory.hhash.hxmlerror.hglobals.hxpath.hassert.hparser.hxmlversion.h<built-in>	�Z
�.]!�	L�Y�	J(�������=���J$
Xf/��<J��XJXJ<gjtX\����]Y/i��
tX���X�	Pt
�	����	9�
�	�w.
�z.��_xmlXPathCompExprparentuser2lastErrortmpNsNrlastxmlAttributeType_shortbufbase_IO_lock_txmlFreestderr_IO_buf_endnb_types_privatemessagemax_variables_unused_xmlDtdnodesSystemIDentitiesnode_xmlNodeSetxmlMallocxmlDocDump_IO_write_endunsigned intXML_ATTRIBUTE_CDATAnextversion_freeres_listxmlChar_flagsxpathCtxxpathExprXPATH_XSLT_TREEpentitiesstringval_xmlNs_old_offsetlevel__builtin_fwritexmlInitParserxmlErrorPtrvalueNrXML_ERR_ERRORaxiselementsintSubseterrorfuncfilenameprevXML_TEXT_NODExmlXPathObjectnodeTabcachexmlDictXML_ENTITY_DECLxmlXPathFunctionxmlXPathNewContextxmlXPathFreeObjecthere_IO_save_endboolvalxmlCleanupParserindexmax_funcs_unusedxmlStrdupFuncXML_COMMENT_NODE_xmlXPathObjectmax_axislong long unsigned intfilevalueMaxxmlDocPtrsys_errlist_IO_backup_basexmlNsType_offsetXML_ERR_WARNINGxmlXPathTypePtrsys_nerr_xmlXPathContextvalue_filenoxmlXPathContextxmlXPathTypeprefixsize_t_vtable_offset_markersXML_XINCLUDE_ENDXPATH_STRINGfloatvalnodeNr_IO_read_basexmlDocstr1str2str3originflagsxmlXPathObjectTypecodexmlXPathContextPtr__fmtXML_ATTRIBUTE_NODEnb_variables_unusedtypesxmlParseFileindex2XML_ATTRIBUTE_ENTITIESxmlNodexmlXPathObjectPtrxmlXPathVariableLookupFunc__stream_xmlError_xmlXPathTypechar__fprintf_chk_modenodeMaxencoding_IO_markernodesetval_IO_read_ptrint1proximityPositionxmlXPathFreeContextxmlStructuredErrorFuncXML_CDATA_SECTION_NODExmlXPathFuncLookupFuncXML_NAMESPACE_DECLusageoldNsxmlErrorLevelXML_ATTRIBUTE_IDxmlXPathEvalExpressionXPATH_BOOLEAN_IO_write_basexmlMallocFunclong long intXML_ENTITY_NODEXML_XINCLUDE_STARTancestor_IO_save_base_xmlAttrdepthxmlXPathAxisatypehrefcontextopLimitdictxmlXPathCompExprxmlDictPtrfuncHashmax_typescharsetXML_DTD_NODExmlXPathNINFxmlXPathAxisPtrparseFlagsfuncLookupFuncnb_axissize_freeres_buffunctionURIXML_NOTATION_NODEdebugNodexmlErrorxmlXPathParserContextPtr__pad5long unsigned intXML_ATTRIBUTE_DECLxmlMemStrdupargcxmlXPathAxisFunc_xmlXPathAxisnsHashopCountnamespacesargvlong doubleextSubsettmpNsListxmlMemoryDumpxmlNodeSetPtrxmlFreeDocxmlElementTypexmlXPathParserContextpsvivarLookupFuncXML_ATTRIBUTE_ENTITYnsDef_IO_read_endrefsXML_ATTRIBUTE_NOTATIONshort intxmlHashTableXML_DOCUMENT_TYPE_NODEctxtlong intpropertiesXPATH_UNDEFINEDGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlNodeSetContentxmlXPathPINFxpathObjxmlXPathCompExprPtr_IO_wide_dataxptrxmlRealloc_xmlDocfprintfxpath2.cxmlHashTablePtrdomainXML_PI_NODEextraXML_ATTRIBUTE_IDREFstandalonenameXPATH_NUMBER_xmlDictXPATH_NODESETXPATH_USERS_xmlXPathParserContext_wide_dataint2nb_funcs_unused_lock_IO_codecvt_codecvtxmlNodePtrvalueFramestdin_IO_FILE__assert_failXML_ELEMENT_DECLXML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_NMTOKENStypeunsigned charxmlCheckVersionfunctionlineXML_ERR_FATALxmlNodeSet_IO_write_ptrnotationsExternalIDxmlNsPtrattributescontextSizexmlXPathConvertFuncXML_ELEMENT_NODEcontentfuncLookupDataXML_ERR_NONEupdate_xpath_nodesXML_ATTRIBUTE_NMTOKENnsNr_xmlHashTablexmlReallocFuncstdoutXML_DOCUMENT_FRAG_NODExmlMallocAtomiccompressionfwrite__off_tvarHashsigned charXML_HTML_DOCUMENT_NODEuserDatashort unsigned intXML_ENTITY_REF_NODEXML_DOCUMENT_NODEmain__PRETTY_FUNCTION__xmlFreeFuncchildrendoublevarLookupData_chainuserexample4_xmlNodeFILE_flags2XML_ATTRIBUTE_ENUMERATIONcompxmlNs_cur_columnvalueTab__off64_t_unused2_IO_buf_basexmlXPathNAN/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�BcH0{F�B�B �E(�A0�A8�DP2
8A0A(B BBBA
�	
0)
?1Yt2��3��4�B%B+DX{j�(	!"$&(*12345607���	�0�'�����X�!�����+,-./*1GUc{hv��������$2.annobin_xpath2.c.annobin_xpath2.c_end.annobin_xpath2.c.hot.annobin_xpath2.c_end.hot.annobin_xpath2.c.unlikely.annobin_xpath2.c_end.unlikely.annobin_xpath2.c.startup.annobin_xpath2.c_end.startup.annobin_xpath2.c.exit.annobin_xpath2.c_end.exit.annobin_usage.start.annobin_usage.endusage__PRETTY_FUNCTION__.7902.annobin_main.start.annobin_main.end__PRETTY_FUNCTION__.7918__PRETTY_FUNCTION__.7911.LC2.LC0.LC1.LC3.LC10.LC9.LC8.LC7.LC6.LC5.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupstderr_GLOBAL_OFFSET_TABLE___fprintf_chk__assert_failmainxmlInitParserxmlCheckVersionxmlParseFilexmlXPathNewContextxmlXPathEvalExpressionxmlNodeSetContentxmlXPathFreeObjectxmlXPathFreeContextstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpfwriteN��������4��������&#��������25��������96��������>Q��������P�������� 1��B$,B + , - .22{S��������)T��������XU��������lV���������W���������X��������Y��������Z��������#[��������+\��������3]��������8^��������=_��������UN��������f7��������k`��������t���������#�5���������8���������Q���������N���������9���������P���������Z���������]������������������N���������:���������`���������]��������N��������;��������P��������!#$-5��������4<��������9Q��������@#$L5��������S=��������XQ��������_#$k5��������r>��������wQ��������
%
*\	
*�

*�
(�%
)*
*�8
*�F
*8	M
*cT
*�[
*�
b
*�i
*_
p
*	u
*O
�
*l�
*&�
*�
*��
*C�
*f�
*��
*�
*F�
*7
*�
*
*p*
*�7
*;D
*�Q
*�^
*k
*�x
**�
*��
*W�
*��
*G�
*b�
*U�
*t�
*B�
*-�
*o
*�
*9!
*v/
*%;
*VC
*Pj
*hu
*w
�
*��
*
�
*i�
*}�
*/�
*;
*�"
*x(
*.
*�4
*�
:
*q@
*�
F
*�L
*�
R
*	X
*
^
*�d
*k
j
*p
*�v
*�|
*?�
*��
*��
*��
*��
*�
*�
*�
�
*��
*��
*��
*��
*��
*2�
*��
*6�
*
*�
*�(
*�
6
*�
D
*1R
*`
* n
*�
*��
*A	�
*��
*��
*�
*�
�
*�
*�
*�
*�
*
*�
8
*1F
*T
* b
*~
*E�
*��
*c�
*��
*O�
*��
*m�
*�
�
*�
*�
*�

*�
-
*1;
*I
* W
*s
*<
�
*�
�
*��
*N�
*��
*%�
*G�
*��
*

*�
*�)
*H7
*A	N
*BS
*7_
*d
*�v
*K�
*Q�
*��
* �
*��
*��
*��
*��
*��
*Z
*�
*�(
*�6
*�
D
*�
R
*1`
*n
* |
*�
*��
*��
*��
*}�
*$�
*%	
*�
+	
*UL	
*�r	
*��	
*	�	
*��	
*�
�	
*��	
*]�	
*��	
*�	
*�	
*��	
*

*�


*Z

*�)

*�6

*C

*P

*+]

*0j

*5w

*s�

*M�

*3	�

*��

*��

*��

*��

*,
�

*�

*a
*�#
*�/
*�L
*�Z
*�h
*�v
*W
�
*|�
*�
*��
*R�
*��
*�
*b�
*��
*�
*2
*�
*,
*n:
*xH
*�
V
*�d
*:r
*#�
*��
*�
�
*�
�
*�
*|�
*S�
*��
*X�
*)�
*�


*�

*(

*�7

*�F

*AU

*1d

*�s

**�

*��

*_�

*��

*+�

*Q�

*��

*��

*�
*�
* 
*c.
*L<
*�
J
*�X
*�g
*�y
*,�
*��
*�
*?�
*)�
*p�
*L	�
*�
*8�
*�
�
*��
*�
*]
*G
*
*�*
*�7
*[D
*�Q
*^
*wk
*x
*��
*�
*��
*��
*�
�
*z�
*��
*�
*�

*�
*m;
*a
*�m
*z
*�
�
*��
*8�
*O�
*��
*�
*�
*"
*c
;
*�H
*M
U
*+b
*�o
*�{
*��
*j�
*�
�#�
*�
*��
*S�
*�
*J
*Z

*�
)#(H
*�U
*�
a
*�
k#�
*�
�2�
*��
&�
&�
*=�
&x�
&j�29�
(0�
&�
&�
&�
&�
&
&
(0
&^!
&T*
&�.
&�7
&J;
&FD2�M
(p]
&�a
&�j
&�n
&�s
(p|
&��
&��
& �
&�2��2��'��#�2��2�
&q
&o2�4�I2�R2�n
&�r
&�|2����2��2��
&��
&��2�X2\2p12�O2\2 t2/�27�2��2��2��2=!!#(+2\@M`#(j2{{��#(�2R�2R�
&��
&��2o�02#2-+2<82AE2xR2�f
*�
w
*�
*r��
&1�
&'���
&��
&��""%
(3
(8BI	Vi#v
*;
z
*;
�
*��
*��
*+�
*+�
*H
�
*��
*��
*��
*`�
*`�
*!�
*!�
*s�
*s�
*��
*��
*��
*��
*~�
*~
*�
*�
*
*
*�
*�'
*b+
*b22"2"#2R12R92jD2jL2{x2�2"�2"�2��2��2R�2R�2c�2c�2}�2}�2��2��2{29%2702}82�C2�K2�V2�^2i2q2{�29�2��2��2��2��2��2��2�2�2{212s2�&21292{^2_f2oq2oy2C�2}�2��2��2�2�2�2s�2��2��2C�2}2�2�2�#2�+2�J2�R2�]2�e2��2��2�2}�2��2��2�2}�2��2��2� 2�(2�92�A2�L2�T2�q2�y2����2��2����2��2�X�2R2o019DL!W!_"m"u=�=�B��"�
$ 2""#B029827@2}H2�P2�X2{p2�x2�2}�2���B�2�2{��2 42.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rodata.str1.8.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.groupF@9?FT9@Fl9AF�(9BF�9C �B@R�9&,641@�R�9
LH[H�V@HS09
u���@xS09A�����@�S09������@�S09�2�
92�
��8@T09A
{<@8TP9O�1\�3W@�X@,9h�({�+�v@Ȅ�
9"��1@�@`�H9$�2��@���9&��2P�@X�09(�0(6��0�D.� EA Eu EL E  E� E� E� E E E$ E <@Ex7@��097�E	:N	�N9��MPKi�ZT�@�g�g2usr/share/doc/alt-libxml2-devel/examples/reader2.onu�[���ELF>`Y@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AW�
RAVAUATUSH��H���H�C�1�H��H�D$�H��H���Of�H���H�߉Ń����H��H��H��H�HD��H��I���H��A���H��A���H��A���H��E��I��AU��D��H�5�1��XZM��t@L���L��(~H�5�1���M���H�5�1���5����
��&������u'H�����u<��H��1�[]A\A]A^A_�H�L$H�=H�1����H�L$H�=H�1����H�L$H�=H�1����--%d %d %s %d %d %.40s...
 %s
%s : failed to parse
Unable to open %s
Document %s does not validate
�
�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��
9*C
B36<CK)
MW]CqC)
W}����<DI @� @� @�*�*�K�
�qc�j��]a��*	]a]*	0	h�=	I	U	b	K
to	{	�	�	$$��	�	 U1 T	 R Xv Y~�	.
5�	�	 U1 T	 Q|�	0��	�	 U1 T	�	+��	�	 U:!�	� Us!
� Us!
 Us!
. Us!+
F Us!7
^ UsC
 U|�	!R��	"�	O
 T1 Q	 R���	!V
4�	"�	O
 T1 Q	 R���	!Y	�#�	
�"�	O
 T1 Q	 R��![
� U�� T0 QJ!h
� Us$t
�
 Us!�
	 U

R$�
$�
�%;b	&;�'<�(ret=	a%�	&�'�'�)ka�	&k �*)da�	&d�&d<�*+\,�
-+�+�+�+�+�+�+	U+Z.I+�.+v+
.9+
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!'I'I>I:;9(((.?:;9'I@�B:;9I�B1R�BUXYW1�BU41�B1R�BXYW��1 ���B!��1"1#1$��1%.:;9' &:;9I'4:;9I(4:;9I).?:;9'I 4*+.?<n:;9,6-.?<n:;..?<n:;9U�U�TS�T�P����PSSPSP1�PVVSSPVVP\Q\
�
�
��
�
�,�
U�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>!	�K�!j 	.!wX	�!w	JZ\J$�SXX@	�U�+<	/
�P
\::=tL
Z
:>X��
$�	w

��@<
Y=
tC;
.
__X�
�dX	[�J\YI/ _�
�.
p
�.	s
J�printf__off_txmlTextReaderNodeType_IO_read_ptrXML_PARSE_PEDANTIC_chainxmlStrdupFuncXML_PARSE_NODICT/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_t_shortbufXML_PARSE_NOXINCNODE_IO_buf_baseXML_PARSE_IGNORE_ENClong long unsigned intXML_PARSE_BIG_LINESreader_codecvtxmlTextReaderIsEmptyElementlong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobin_fileno_IO_read_endstreamFilelong int_flags_IO_buf_endstdin_xmlTextReaderputchar_IO_codecvt__printf_chkXML_PARSE_DTDATTR_offsetmainxmlTextReaderxmlCharxmlCleanupParserXML_PARSE_HUGEvalue_IO_markerunsigned int_freeres_bufxmlReallocFuncfprintfxmlMemoryDump__streamlong unsigned intxmlCheckVersionxmlFreeFuncxmlTextReaderHasValue_IO_write_ptrname__builtin_putcharsys_nerrprocessNodeshort unsigned intXML_PARSE_DTDLOAD_IO_save_basexmlFreeTextReaderXML_PARSE_OLD10xmlTextReaderDepthxmlMallocAtomic_lockXML_PARSE_DTDVALID_flags2_modestdoutxmlMallocXML_PARSE_NOWARNINGXML_PARSE_XINCLUDEXML_PARSE_OLDSAXxmlReallocfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_end_IO_lock_t_IO_FILE_old_offsetsys_errlist_markersxmlFreexmlTextReaderReadXML_PARSE_NSCLEANXML_PARSE_NOENTunsigned charshort intxmlTextReaderConstValue_IO_wide_data_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_PARSE_COMPACTreader2.clong doublecharxmlStrlen__off64_t_cur_column_IO_read_base_IO_save_endXML_PARSE_NONET__fmtXML_PARSE_NOBLANKSxmlTextReaderConstName__pad5_unused2stderrxmlMallocFuncXML_PARSE_SAX1_IO_backup_baseXML_PARSE_RECOVERXML_PARSE_NOCDATAargcxmlTextReaderIsValid_freeres_listXML_PARSE_NOERRORXML_PARSE_NOBASEFIX_wide_dataargv_IO_write_baseGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�T�Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBA
�	.+B/]y0��1��2� "$&(/01234.5-27<AF"K8P\l��)*+,-�������#9Uk~��������.annobin_reader2.c.annobin_reader2.c_end.annobin_reader2.c.hot.annobin_reader2.c_end.hot.annobin_reader2.c.unlikely.annobin_reader2.c_end.unlikely.annobin_reader2.c.startup.annobin_reader2.c_end.startup.annobin_reader2.c.exit.annobin_reader2.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.LC5.LC6.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderReadxmlTextReaderConstNamexmlTextReaderConstValuexmlTextReaderHasValuexmlTextReaderIsEmptyElementxmlTextReaderNodeTypexmlTextReaderDepth__printf_chkxmlStrlenputcharxmlTextReaderIsValidxmlFreeTextReaderxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++�&E��������>F��������TG��������gH��������w-���������I���������J���������K���������L���������M���������.���������N���������O���������/���������N��������0��������N��������!P��������+Q��������8R��������AS��������FT��������cU��������j1��������vV���������U���������2���������V���������U���������3���������V��������

#V
#�
#k
!�%
"*
#�8
#U?
#
H
#pO
#�V
#J]
#~k
#Up
#|
#�
#�
#
�
#^�
#%�
#=�
#*�
#K�
#��
#�
#�
#e
#�)
#�6
#8C
#+P
#E]
#5j
#dw
#�
#�
#��
#��
#K�
#��
#�
#;�
#�
#�
#�
#l
#�!
#�-
#�5
#\
#�g
#��
#q�
#r�
#��
#��
#�
#�
#<	
#�
#w+
#�L
#'r
#L�
#��
#`�
#��
#��
#Q�
#�
#��
#2�
#[�
#��
#��
#E�
#Z�
#N�
#�
#�

#�
#
#'%
#�.
#�7
#�@
#�L
#�Q
#y]
#;i
#�u
#4�
#��
#��
#w�
#��
#��+�
#��
�
�
#F�
C�
=�+=
!
�
� 
!)
�-
�6
e:
[C+fL
!@\
�`
�e
!@n
r
{
f
^�+��+��
��
��+���+��
!�
�

�+�%:+C+_
 c
h+~�+�+�
N�
L�+%�+k�+��+�+�/+�G+�_+�y+[�+[�
x�
v�+z��+|�+|�
�
�+�""9+�B+�`8o+��8�+B�+X�+/�+<�+*	+E	+J1	
#J>	
#�J	
#c	
#�p	
#|	
#��	
#��	
#�	
#U�	
#6�	
#L�	
#U�	
#��	
#��	
#��	
#��	
#n

#n

#�

#�

#�

#� 

# $

# ,

#0

#8

#(<

#(D

#
H

#
P

#�T

#�\

#�`

#�i

#<m

#<u

#�y

#��

#�

#�

#g�

#g�

#��

#��

#>�

#>++++�C+K+)V+)^+Ei+Eq+��+=�+A�+A�+@�+[�+��+E�+N�+N+Q+[+�%+�-+�8+�@+�e+]m+fx+f�+*�+*�+.�+.�+@�+[�+��+f�+�+�+*+t+{(+{0+;+C+*f+�n+�y+��+�+�+�+�+*�+��+���+��+ +(+3N+V+*a
�	x+[�+|��+|�+��"
++.+8+=+@ +[(+�@+XH+[P+fX+`+h+*�+��+��+��+�+�+�d+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@749P759h769�(779�78�!�'�1��,@x507	G�V��Q@�507ph�h�@�507<�<��@607����@8607��	8�@h607 �@�6�7,2�K;20
OO
�
J@�9�7[\n^�i@PN�7 ~00y@U07"�`��@@U�7$�0�@�V7&�0>"Z�0�).��)�)p�)G�)�)��)��)��)��)�)�) /�)p*@W75X*(8C	�2� W@PKi�Z��S0usr/share/doc/alt-libxml2-devel/examples/reader4nuȯ��#! /bin/sh

# reader4 - temporary wrapper script for .libs/reader4
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader4 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader4.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader4:reader4:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader4:reader4:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader4:reader4:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader4'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�˕���.usr/share/doc/alt-libxml2-devel/examples/tree1nuȯ��#! /bin/sh

# tree1 - temporary wrapper script for .libs/tree1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The tree1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file tree1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "tree1:tree1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "tree1:tree1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "tree1:tree1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'tree1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�U�3��/usr/share/doc/alt-libxml2-devel/examples/xpath1nuȯ��#! /bin/sh

# xpath1 - temporary wrapper script for .libs/xpath1
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The xpath1 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath1.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "xpath1:xpath1:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "xpath1:xpath1:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "xpath1:xpath1:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'xpath1'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z��R@a@a0usr/share/doc/alt-libxml2-devel/examples/tree1.onu�[���ELF>�R@@;:

.0-1,2+3H��tKUH�-SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�����GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignnode type: Element, name: %s
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��U�
RSH��Q�H�{1�1��H��H��t#H���H���H����Z1�[]�H�SH�5�1����error: could not parse file %s
��5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� ����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�2(
��0
��8doc
�2@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'2
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
02@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�e0
��
��
�K
��
��
�C 
�2(Xe`
��
�C
��
��
��
�� 
��(
��0
��8doc
�2@ns
��H
��P
�CX�
���
%��F��C9�B3��C	)M
		C'	C)W3	9	�H	������	���'	3ap��
3
a3�
doc5
�6�fF	L
w
� �!U1!T	"�e
!U

R"��
!T0!Q0"��
!Uv#�
"��
!Uv#��$Q�f�!�%f%
X&w �!U1!Tv#�
'ka�(k �)*\*
+q+
�+
+9%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<!7I>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BXYW1 ��1!���B"��1#��1$.:;9'@�B%1R�BUXYW&1�B'.?:;9'I 4(:;9I)*.?<n:;9+.?<n:;9U�U�TS�T�S0�PVPV0�P0�U�U�U0�USSU
�<QpD@�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree1.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h	U
� �t	�	j'�0J_X
a�
t	3K �\  tXJt [�]���Z/  	n %
 printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basemainpsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLtree1.c_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetxmlDocGetRootElementxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypeXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocXML_ATTRIBUTE_NOTATION_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_xmlDtdroot_element_lock_flags2_modecur_nodestdoutXML_PI_NODEprint_element_namesXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselementsxmlReadFile_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderra_nodeXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefxmlAttributeTypeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,QF�H�G \
AAEX��,LpP�F�D x
CAA
�	
/'
<0Uo1��2��3�Q7QK_p !#%')012345/6qv{����*+,-.���p�	*5.annobin_tree1.c.annobin_tree1.c_end.annobin_tree1.c.hot.annobin_tree1.c_end.hot.annobin_tree1.c.unlikely.annobin_tree1.c_end.unlikely.annobin_tree1.c.startup.annobin_tree1.c_end.startup.annobin_tree1.c.exit.annobin_tree1.c_end.exit.annobin_print_element_names.start.annobin_print_element_names.endprint_element_names.annobin_main.start.annobin_main.end.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE___printf_chkmainxmlCheckVersionxmlReadFilexmlDocGetRootElementxmlFreeDocxmlCleanupParser	0��������GB�������� -��Q$,Q ' ( ) *..pD��������(E��������8F��������@��������HG��������MH��������^1��������jB��������
!
&'
&
&1
$0%
%*
&c8
&�?
&HH
&vO
&V
&]
&�k
&=p
&|
&��
&{�
&�
&S�
&�
&'�
&��
&$�
&��
&�
&�
&Z
&+)
&�6
&�C
&MP
&]
&j
&Tw
&��
&��
&��
&o�
&N�
&��
&��
&��
&��
&U�
&	
&\
&:!
&�-
&5
&&\
&}g
&��
&f�
&k�
&C�
&��
&A�
&�	
&�
&Q
&�
&5!
&�'
&1-
&r3
&9
&�?
&�E
&�K
&6Q
&QW
&�]
&c
&�i
&o
&yu
&�{
&l�
&�
&I�
&��
&�
&�
&%�
&�
&3�
&��
&��
&x�
&��
&��
&�
&�
&�#
&m1
&&?
&LM
&j[
&��
&��
&*�
&��
&��
&��
&��
&9�
&��
&�	
&�
&m%
&&3
&LA
&jO
&�k
&�y
&��
&�
&��
&��
&��
&��
&.�
&��
&��
&�
&m
&&(
&L6
&jD
&�`
&�n
&�|
&��
&��
&F�
&��
&4�
&V�
&��
&L
&�
&p$
&*;
&B
&dG
&�L
&cY
&�f
&�t
&j�
&��
&��
&��
&��
&��
&��
&��
&��
&�

&m
&&)
&L7
&jE
&�n
&|
&��
&�
&q�
&��
&��
&h	
&b(	
&#I	
&$U	
&�a	
&�m	
&[y	
&��	
&��	.�	
&��	
"�	
"�	
&�	
"E�	
"=�	
"��	
"��	
&A�	
"$�	
"�	.W
.W"
,
.nB
M
.f
.,�
.<�
.D�
.L�
.Q�

&~�
�

&J�

"u
"o
&b
"�
"�8&
$6
"=:
";?KY$g
&x
&��
&��
&��
&��
&��
&��
&��
&��
&��
&v�
&v�
&��
&�....pE.M.X.`.Uk.Us.W�.W�.p�.�./�./�.4�.4�.V�.W�.i�.i.p$.,.<8.<@.CK.WS.pu}��M�M�Q������24
MM Q=4EMP
  .
8Q08Q@.H.pO�. P..symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group>@82>T83>l84>�(85>�86 �Q@h208&!,!6$41@�2�8
LX[X�V@(308
u,�,��@X3082���@�308������@�308�2�

�
8@�3082p-@4�8@2p T��O@�4�8`bks�in@hJh8!�6@~@�NH8#�v`�@O�8%��H�@�O08'�0 ]�0{(.��(2�(u�(L�( �(��(��(��(��(�(�( 4�(x/@P086H)�9A	 0F8PEPKi�Z��.��1usr/share/doc/alt-libxml2-devel/examples/parse2.cnu�[���/**
 * section: Parsing
 * synopsis: Parse and validate an XML file to a tree and free the result
 * purpose: Create a parser context for an XML file, then parse and validate
 *          the file, creating a tree, check the validation result
 *          and xmlFreeDoc() to free the resulting tree.
 * usage: parse2 test2.xml
 * test: parse2 test2.xml
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

/**
 * exampleFunc:
 * @filename: a filename or an URL
 *
 * Parse and validate the resource and free the resulting tree
 */
static void
exampleFunc(const char *filename) {
    xmlParserCtxtPtr ctxt; /* the parser context */
    xmlDocPtr doc; /* the resulting document tree */

    /* create a parser context */
    ctxt = xmlNewParserCtxt();
    if (ctxt == NULL) {
        fprintf(stderr, "Failed to allocate parser context\n");
	return;
    }
    /* parse the file, activating the DTD validation option */
    doc = xmlCtxtReadFile(ctxt, filename, NULL, XML_PARSE_DTDVALID);
    /* check if parsing succeeded */
    if (doc == NULL) {
        fprintf(stderr, "Failed to parse %s\n", filename);
    } else {
	/* check if validation succeeded */
        if (ctxt->valid == 0)
	    fprintf(stderr, "Failed to validate %s\n", filename);
	/* free up the resulting document */
	xmlFreeDoc(doc);
    }
    /* free up the parser context */
    xmlFreeParserCtxt(ctxt);
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    exampleFunc(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
PKi�Z������1usr/share/doc/alt-libxml2-devel/examples/xpath1.cnu�[���/** 
 * section: 	XPath
 * synopsis: 	Evaluate XPath expression and prints result node set.
 * purpose: 	Shows how to evaluate XPath expression and register 
 *          	known namespaces in XPath context.
 * usage:	xpath1 <xml-file> <xpath-expr> [<known-ns-list>]
 * test:	xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
 * author: 	Aleksey Sanin
 * copy: 	see Copyright for the status of this software.
 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>

#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
#include <libxml/xpathInternals.h>

#if defined(LIBXML_XPATH_ENABLED) && defined(LIBXML_SAX1_ENABLED)


static void usage(const char *name);
int  execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList);
int  register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList);
void print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output);

int 
main(int argc, char **argv) {
    /* Parse command line and process file */
    if((argc < 3) || (argc > 4)) {
	fprintf(stderr, "Error: wrong number of arguments.\n");
	usage(argv[0]);
	return(-1);
    } 
    
    /* Init libxml */     
    xmlInitParser();
    LIBXML_TEST_VERSION

    /* Do the main job */
    if(execute_xpath_expression(argv[1], BAD_CAST argv[2], (argc > 3) ? BAD_CAST argv[3] : NULL) < 0) {
	usage(argv[0]);
	return(-1);
    }

    /* Shutdown libxml */
    xmlCleanupParser();
    
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return 0;
}

/**
 * usage:
 * @name:		the program name.
 *
 * Prints usage information.
 */
static void 
usage(const char *name) {
    assert(name);
    
    fprintf(stderr, "Usage: %s <xml-file> <xpath-expr> [<known-ns-list>]\n", name);
    fprintf(stderr, "where <known-ns-list> is a list of known namespaces\n");
    fprintf(stderr, "in \"<prefix1>=<href1> <prefix2>=href2> ...\" format\n");
}

/**
 * execute_xpath_expression:
 * @filename:		the input XML filename.
 * @xpathExpr:		the xpath expression for evaluation.
 * @nsList:		the optional list of known namespaces in 
 *			"<prefix1>=<href1> <prefix2>=href2> ..." format.
 *
 * Parses input XML file, evaluates XPath expression and prints results.
 *
 * Returns 0 on success and a negative value otherwise.
 */
int 
execute_xpath_expression(const char* filename, const xmlChar* xpathExpr, const xmlChar* nsList) {
    xmlDocPtr doc;
    xmlXPathContextPtr xpathCtx; 
    xmlXPathObjectPtr xpathObj; 
    
    assert(filename);
    assert(xpathExpr);

    /* Load XML document */
    doc = xmlParseFile(filename);
    if (doc == NULL) {
	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
	return(-1);
    }

    /* Create xpath evaluation context */
    xpathCtx = xmlXPathNewContext(doc);
    if(xpathCtx == NULL) {
        fprintf(stderr,"Error: unable to create new XPath context\n");
        xmlFreeDoc(doc); 
        return(-1);
    }
    
    /* Register namespaces from list (if any) */
    if((nsList != NULL) && (register_namespaces(xpathCtx, nsList) < 0)) {
        fprintf(stderr,"Error: failed to register namespaces list \"%s\"\n", nsList);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* Evaluate xpath expression */
    xpathObj = xmlXPathEvalExpression(xpathExpr, xpathCtx);
    if(xpathObj == NULL) {
        fprintf(stderr,"Error: unable to evaluate xpath expression \"%s\"\n", xpathExpr);
        xmlXPathFreeContext(xpathCtx); 
        xmlFreeDoc(doc); 
        return(-1);
    }

    /* Print results */
    print_xpath_nodes(xpathObj->nodesetval, stdout);

    /* Cleanup */
    xmlXPathFreeObject(xpathObj);
    xmlXPathFreeContext(xpathCtx); 
    xmlFreeDoc(doc); 
    
    return(0);
}

/**
 * register_namespaces:
 * @xpathCtx:		the pointer to an XPath context.
 * @nsList:		the list of known namespaces in 
 *			"<prefix1>=<href1> <prefix2>=href2> ..." format.
 *
 * Registers namespaces from @nsList in @xpathCtx.
 *
 * Returns 0 on success and a negative value otherwise.
 */
int 
register_namespaces(xmlXPathContextPtr xpathCtx, const xmlChar* nsList) {
    xmlChar* nsListDup;
    xmlChar* prefix;
    xmlChar* href;
    xmlChar* next;
    
    assert(xpathCtx);
    assert(nsList);

    nsListDup = xmlStrdup(nsList);
    if(nsListDup == NULL) {
	fprintf(stderr, "Error: unable to strdup namespaces list\n");
	return(-1);	
    }
    
    next = nsListDup; 
    while(next != NULL) {
	/* skip spaces */
	while((*next) == ' ') next++;
	if((*next) == '\0') break;

	/* find prefix */
	prefix = next;
	next = (xmlChar*)xmlStrchr(next, '=');
	if(next == NULL) {
	    fprintf(stderr,"Error: invalid namespaces list format\n");
	    xmlFree(nsListDup);
	    return(-1);	
	}
	*(next++) = '\0';	
	
	/* find href */
	href = next;
	next = (xmlChar*)xmlStrchr(next, ' ');
	if(next != NULL) {
	    *(next++) = '\0';	
	}

	/* do register namespace */
	if(xmlXPathRegisterNs(xpathCtx, prefix, href) != 0) {
	    fprintf(stderr,"Error: unable to register NS with prefix=\"%s\" and href=\"%s\"\n", prefix, href);
	    xmlFree(nsListDup);
	    return(-1);	
	}
    }
    
    xmlFree(nsListDup);
    return(0);
}

/**
 * print_xpath_nodes:
 * @nodes:		the nodes set.
 * @output:		the output file handle.
 *
 * Prints the @nodes content to @output.
 */
void
print_xpath_nodes(xmlNodeSetPtr nodes, FILE* output) {
    xmlNodePtr cur;
    int size;
    int i;
    
    assert(output);
    size = (nodes) ? nodes->nodeNr : 0;
    
    fprintf(output, "Result (%d nodes):\n", size);
    for(i = 0; i < size; ++i) {
	assert(nodes->nodeTab[i]);
	
	if(nodes->nodeTab[i]->type == XML_NAMESPACE_DECL) {
	    xmlNsPtr ns;
	    
	    ns = (xmlNsPtr)nodes->nodeTab[i];
	    cur = (xmlNodePtr)ns->next;
	    if(cur->ns) { 
	        fprintf(output, "= namespace \"%s\"=\"%s\" for node %s:%s\n", 
		    ns->prefix, ns->href, cur->ns->href, cur->name);
	    } else {
	        fprintf(output, "= namespace \"%s\"=\"%s\" for node %s\n", 
		    ns->prefix, ns->href, cur->name);
	    }
	} else if(nodes->nodeTab[i]->type == XML_ELEMENT_NODE) {
	    cur = nodes->nodeTab[i];   	    
	    if(cur->ns) { 
    	        fprintf(output, "= element node \"%s:%s\"\n", 
		    cur->ns->href, cur->name);
	    } else {
    	        fprintf(output, "= element node \"%s\"\n", 
		    cur->name);
	    }
	} else {
	    cur = nodes->nodeTab[i];    
	    fprintf(output, "= node \"%s\": type %d\n", cur->name, cur->type);
	}
    }
}

#else
int main(void) {
    fprintf(stderr, "XPath support not compiled in\n");
    return 0;
}
#endif
PKi�Z���a??2usr/share/doc/alt-libxml2-devel/examples/reader2.cnu�[���/**
 * section: xmlReader
 * synopsis: Parse and validate an XML file with an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file
 *          validating the content in the process and activating options
 *          like entities substitution, and DTD attributes defaulting.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader2 <valid_xml_filename>
 * test: reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

/**
 * processNode:
 * @reader: the xmlReader
 *
 * Dump information about the current node
 */
static void
processNode(xmlTextReaderPtr reader) {
    const xmlChar *name, *value;

    name = xmlTextReaderConstName(reader);
    if (name == NULL)
	name = BAD_CAST "--";

    value = xmlTextReaderConstValue(reader);

    printf("%d %d %s %d %d", 
	    xmlTextReaderDepth(reader),
	    xmlTextReaderNodeType(reader),
	    name,
	    xmlTextReaderIsEmptyElement(reader),
	    xmlTextReaderHasValue(reader));
    if (value == NULL)
	printf("\n");
    else {
        if (xmlStrlen(value) > 40)
            printf(" %.40s...\n", value);
        else
	    printf(" %s\n", value);
    }
}

/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse, validate and print information about an XML file.
 */
static void
streamFile(const char *filename) {
    xmlTextReaderPtr reader;
    int ret;


    /*
     * Pass some special parsing options to activate DTD attribute defaulting,
     * entities substitution and DTD validation
     */
    reader = xmlReaderForFile(filename, NULL,
                 XML_PARSE_DTDATTR |  /* default DTD attributes */
		 XML_PARSE_NOENT |    /* substitute entities */
		 XML_PARSE_DTDVALID); /* validate with the DTD */
    if (reader != NULL) {
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            processNode(reader);
            ret = xmlTextReaderRead(reader);
        }
	/*
	 * Once the document has been fully parsed check the validation results
	 */
	if (xmlTextReaderIsValid(reader) != 1) {
	    fprintf(stderr, "Document %s does not validate\n", filename);
	}
        xmlFreeTextReader(reader);
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
        }
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
    }
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    streamFile(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
PKi�Z�濶�v�v2usr/share/doc/alt-libxml2-devel/examples/reader4.onu�[���ELF>h@@:9

-/,0+1*2UH��SH�������f�H�����t�H���H����H���H��tL��u H��H��H�51�[�]�@H�=H��H��1�[H��]�DH�
��H�=��f����h���f�H�
H����[H�=]�GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realign
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignfailed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
GA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AUATUS�H������I��A���
R�I�}1�1��H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H���H���L9�u�H���H��tH���H��1����H����[]A\A]�I�MH�=H�1����ӑ�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K9���CB3��C�)M		C	C)W+	1	�@	����������	
c�	
j�	�	5a��b5a5b6�	i7	a8��J�
� �!"Ts"Q	#�
"U

R#�
"T0"Q0#h�
"Uv#%�
"Uv"Q0"R0#h
"Uv#2""Uv$?#LG"Uv$X$e�%
�&)�	'ret	a(�'URL�)ka�&k �*)da�&d�&d<�*+h��u,�,�,�-�2��.q"U1"T	-�.�� �."T1"Q	�8*/
� �!}"U	"T1"QE-h
�
u/0�0�0�1�$2�
� �.}"U	"T1"QJ#��
"Uv#��
"Uv!2"Uv3Z34
I4
i4
4
3
v493�3\53
�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BXYW1�B 1!��1"���B#��1$��1%.:;9' &:;9I'4:;9I(4:;9I).?:;9'I 4*+.1@�B,41�B-1R�BUXYW.���B1/U04111R�BUXYW213.?<n:;94.?<n:;95.?<n:;U\�U�\T]�T�]PVPV2�P
�UV�U�V�U�P1�PPPPPVQVRV
�
�
�V�U�<��R_�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader4.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h<built-in>4	4
�Y!
�	X��	u\O9F
:JF�
: FX
: �A6
Mt
3JMX
3 M�
3 �D:
���
��
Mt
3JM�
3 Mt
3 X!	4K!
l!zXO�X^�\�g/	z�X�Y�
<v.]\YW�
<�e
printf__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvt__printf_chkExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrreader4.cnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modeprocessDocstdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesxmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLdocPtrreaderPtr_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODExmlReaderNewFileversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�@�A�D�D K
MFIK
FMJCKH8`�F�B�A �A(�I0�
(C ABBA
�	
.+
B/]y0��1��2!�9�DX� "$&(/01234.5jFo1ty~X�����)*+,-��&-;B�GWhy���.annobin_reader4.c.annobin_reader4.c_end.annobin_reader4.c.hot.annobin_reader4.c_end.hot.annobin_reader4.c.unlikely.annobin_reader4.c_end.unlikely.annobin_reader4.c.startup.annobin_reader4.c_end.startup.annobin_reader4.c.exit.annobin_reader4.c_end.exit.annobin_processDoc.start.annobin_processDoc.endprocessDoc.annobin_main.start.annobin_main.end.LC3.LC2.LC1.LC0.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.group_GLOBAL_OFFSET_TABLE_xmlTextReaderReadxmlTextReaderCurrentDoc__printf_chkstderr__fprintf_chkfwritemainxmlCheckVersionxmlReaderForFilexmlReaderNewFilexmlFreeDocxmlFreeTextReaderxmlCleanupParserxmlMemoryDump
D��������$D��������3E��������Z/��������sG���������0���������G���������1���������I���������G���������2��������hF���������H���������I�������� ,���$,� & ' ( )--�(K��������5L��������E��������oM��������w���������E���������N���������O���������P���������Q���������G���������3���������H��������
 
%+
%
%1
#�%
$*
%c8
%�?
%[H
%�O
%(V
%]
%�k
%9p
%|
%�
%��
%S�
%O�
%�
%#�
%�
%��
%��
%
%�
%V
%P)
%�6
%&C
%�P
%]
%j
%~w
%��
%�
%=�
%o�
%x�
%��
%��
%{�
%S�
%h�
%j
%�
%�!
%L-
%H5
%\\
%�g
%�
%b�
%��
%��
%�
%w�
%�
%�
%�
%� 
%�&
%g,
%g2
%�8
%&>
%�D
%J
%P
%IV
%�\
%�b
%
h
%$n
%;t
%yz
%��
%w�
%
�
%��
%��
%l�
%q�
%��
%��
%��
%S�
%3�
%��
%�
%4�
%�
%�
%
(
%�6
%KD
%HR
%j`
%��
%��
%��
%��
%��
%��
%a�
%p�
%�
%�
%

%�*
%K8
%HF
%jT
%�p
%~
%��
%��
%��
%��
%��
%��
%A�
%��
%�
%

%�
%K-
%H;
%jI
%�e
%�s
%��
%��
%��
%B�
%��
%0�
%��
%�
%�

%�
%�)
%�@
%G
%�L
%�Q
%�^
%�k
%�y
%j�
%��
%��
%��
%��
% �
%��
%��
%�
%

%� 
%K.
%H<
%jJ
%�s
%��
%��
%��
%�
%��
%��
%u 	
%#C	
%�H	
%7T	
%�`	
%�l	
%�x	
%Q�	
%��	
%h�	
%�	
%��	-�	
%6�	
!�	
!�	
%��	
!o�	
!g�	
%>�	
!�

!�

!4

!2

%7"

!Z&

!X/
-�8
-�T

!X

!}b
-�y
X�
-,�
-9�
-I�
-s�
-{-�#-�0-�H-�U-�i
%�v
%>�
%7�
%�
%M�
%��
%��
%M�
!�
!�
!2!
!**
!�.
!�7
!�;
!�DPM
#]
!Ya
!Wfl|F�p�
#P�
!��
!����1�����
!�

!�

�
4
�=

#�M

!�Q

!�V

#�n
�w

#��
�
��
�
�
(�
7
%^
%^

%�
%�
%�
%�&
%�*
%�3
%;7
%;@
%�D
%�M
%^Q
%^Y
%�]
%�f
%�j
%�r
%�v
%�~
%�
%�
%��
%�--'-'#-].-]6-�D-�L-�o-w-+�-+�-��-��-��-��-��-<�-H�-H�-��-�-�-�-�4-I<-]Z-�b-�-��-��X��
�
�G�G��������2:EM*Y*a/l�t��7�L���������G�g�gkl�!�)�4�<�YPallF�l���1������������
 -PPT` a(f0g8pPpXw`{h�p�x������������������������--�n�- d-.symtab.strtab.shstrtab.rela.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rodata.str1.1.rela.gnu.build.attributes.text.startup.rela.text.startup.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group/@74/T75/l76/�(77/�78 ��@x<P7&�,�6�41@�=�7
L�[��V@X>07
u�����@�>072�����@�>07�t	�t	��@�>07�2Hu
�8@?072
�-@H?87E�
�@@�@�7Qk�dS_@8[P7 tq#@o@�bH7"��# �@�b�7$��$V�@pe07&�0'(��0#1.�Q12Q1uQ1LQ1 Q1�Q1�Q1�Q1�Q1�Q1
X1 %x1� @�e0752�8C	�9��e6PKi�ZP�P ��/usr/share/doc/alt-libxml2-devel/examples/parse2nuȯ��#! /bin/sh

# parse2 - temporary wrapper script for .libs/parse2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The parse2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file parse2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "parse2:parse2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "parse2:parse2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "parse2:parse2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'parse2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�:�2usr/share/doc/alt-libxml2-devel/examples/test1.xmlnu�[���<doc/>
PKi�ZM��	�	2usr/share/doc/alt-libxml2-devel/examples/reader1.cnu�[���/**
 * section: xmlReader
 * synopsis: Parse an XML file with an xmlReader
 * purpose: Demonstrate the use of xmlReaderForFile() to parse an XML file
 *          and dump the information about the nodes found in the process.
 *          (Note that the XMLReader functions require libxml2 version later
 *          than 2.6.)
 * usage: reader1 <filename>
 * test: reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 * author: Daniel Veillard
 * copy: see Copyright for the status of this software.
 */

#include <stdio.h>
#include <libxml/xmlreader.h>

#ifdef LIBXML_READER_ENABLED

/**
 * processNode:
 * @reader: the xmlReader
 *
 * Dump information about the current node
 */
static void
processNode(xmlTextReaderPtr reader) {
    const xmlChar *name, *value;

    name = xmlTextReaderConstName(reader);
    if (name == NULL)
	name = BAD_CAST "--";

    value = xmlTextReaderConstValue(reader);

    printf("%d %d %s %d %d", 
	    xmlTextReaderDepth(reader),
	    xmlTextReaderNodeType(reader),
	    name,
	    xmlTextReaderIsEmptyElement(reader),
	    xmlTextReaderHasValue(reader));
    if (value == NULL)
	printf("\n");
    else {
        if (xmlStrlen(value) > 40)
            printf(" %.40s...\n", value);
        else
	    printf(" %s\n", value);
    }
}

/**
 * streamFile:
 * @filename: the file name to parse
 *
 * Parse and print information about an XML file.
 */
static void
streamFile(const char *filename) {
    xmlTextReaderPtr reader;
    int ret;

    reader = xmlReaderForFile(filename, NULL, 0);
    if (reader != NULL) {
        ret = xmlTextReaderRead(reader);
        while (ret == 1) {
            processNode(reader);
            ret = xmlTextReaderRead(reader);
        }
        xmlFreeTextReader(reader);
        if (ret != 0) {
            fprintf(stderr, "%s : failed to parse\n", filename);
        }
    } else {
        fprintf(stderr, "Unable to open %s\n", filename);
    }
}

int main(int argc, char **argv) {
    if (argc != 2)
        return(1);

    /*
     * this initialize the library and check potential ABI mismatches
     * between the version it was compiled for and the actual shared
     * library used.
     */
    LIBXML_TEST_VERSION

    streamFile(argv[1]);

    /*
     * Cleanup function for the XML library.
     */
    xmlCleanupParser();
    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}

#else
int main(void) {
    fprintf(stderr, "XInclude support not compiled in\n");
    return(0);
}
#endif
PKi�Z,No�&&3usr/share/doc/alt-libxml2-devel/examples/testWriternuȯ��#! /bin/sh

# testWriter - temporary wrapper script for .libs/testWriter
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The testWriter program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file testWriter.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "testWriter:testWriter:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "testWriter:testWriter:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "testWriter:testWriter:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'testWriter'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�ZJ��جج1usr/share/doc/alt-libxml2-devel/examples/parse2.onu�[���ELF>X�@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS����t��AT�
RUSH���L�c�H��H��tc�1�L��H���H��H��th���t!H���H�����[1�]A\�H�=L��1�H���H�
�"�H�=��H�=L��1�H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
1"�5Eint�m�m���1%	3f	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D>`	FDh	Hfp	Ift	Jtx	MQ�	NX�	OJ�	QZ�	Y
��	[e�	\p�	]D�	^	C�	_
)�	`f�	bv��
+9��Z
51`k��
5��%�����f�������	E�
&
@}�	~C	y	��	�g	�
 raw�
(	�	f0	�	f4	�58
��
# �h4{buf6�	8�	9�	:�
cur;�
 end<�
(	=	f0	>	f4col?	f8	E5@	F�H	G�
P	H�
X	I	f`idJ	fd
$��
&����	sax�O	�C	�v	�f	�f	��
 	��
(	�f0	�f4	�{8	�f@	�fD	�UH	�VP	�fX	�f\	�h`	�	fh	�7p	�	f�	�
f�	�f�	�f�	�f�	�f�	�����f����
 �f(�f,�[0�m8�m@�fH�fL�fP��
X��`��h�ap�fx�f|�a��f��{��f��f��f��f�C�f�f�C�f�f���[�	f�
f��
��
��
�f�f�f[ag� �(f0f4$f8%f<&V@'fH(0P-�X.2�/5�05�3+�4f�5f�6+�8f�95�
'�	�
)�	 A�	B|C|D�E�
*
�	�����>�K�X�� ��(�10�h8�u@��H��P�X�3`�Qh�^p��x������� ���"��������$��1��$��
�����<��C��e�������
0��
&�	
'C	
(�
	
)�
	
*T	
+T 	
,I(	
-T0	
.T8doc
/�@	
1�H	
2�P	
3fX	
4�\	
5�
`	
6�
h	
8�pURI
9�
x	
:f�	
;f�
1���
i

r

<
��
	


�%
�<
�		

��

� !
�I	
� [	
��

�U!x
�O
�C
��

��

�T
�T 
�T(
�T0
�T8doc
��@ns
�aH
��P
�CX
�a`
�Ch
�Qp
�Qraa�
�I
�C
��

��

�T
�T 
��(
�T0
�T8doc
��@
�CH
�CP
�CX
�C`
��
h
��
p
�CxZ�
'�
(C
)�

*�
+T
,T 
-T(
.T0
/T8doc
0�@
3fH
4fL
:IP
;IX
<g`
=�
h
>�
pids
?Cx
@C�URL
A�
�
Bf�
D��
EC�
Ff�
Hf�O<
�
�<
"
'�
0#+0
2�
3�
4
5 �
c1
6 �c2
7 �
8 � 
9 �
(
1�+���
w�

��0
�a
�g
��
��

��

�C 
��(��
�z`
�0
�C
��

��

�T
�T 
�T(
�C0
�C8doc
��@ns
�aH
�	P
�CX
�=mz
�a
�cI
%O
&�i������C�
<��LXN�	O
f	P
f	Q�	R�	S�	T
f 	U�(	V�0	W�8	X
f@	Y
fD	ZCH	[CPM����C�Z��
C�'
%"9&J-\P*�9�P�pRh	SC	Tg	Us	XV	Yf 	Zf$	[h(	]<0doc^v8	_f@	baH	cfP	dfT	eaXamh`	i>hV<
�
n�2����T#�(W+	X1	Z5	[5	\5	]5 �O`&Cbx	c5	d5	e+fn� 	

�x<�2���J	
{�
f>!�
|Cm!f�C�^��!{�C�
�
j���C�
�
�
w��
!�$C�
�
�>DhC�
f�
�
�������C�
�
ff�
I����C�
f����C�
�
�
�
�#3C�	�@FQC�@�kq�C�
[���C�
�
�)���C�
f5�@�J�T�`�j�v��������rx�C�
�
�
f[ff[��Cc��!f��a�aELy��((�g	�!�	� �	� 	� �	� � �!s6��!f�C�f?�9@B3��!C�)M��!C
C)W!�+����������
<D @�"""""" "@"�###### #@$2f��a!%2f%2a!&g!=-!'t!()�!)�!*�!* '�!+�!,�!-T1-Q	-R|*�!	i '�!+�!,�!-U	-T1-Q"*�!&	� .�!
�+�!,�!-T1-Q	-R|/�!0�!� -Us-T|-Q0-R@0�!!-Uv,"-Us0"F!-U

R/"/("�1�!2�3�	4docv5df�!2d�2d<�6Z78�8�8
8�6896�%U:;9I$>&I$>I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!
:;9I8:;9
:;9I8
:;9I8:;9
:;9I8:;9>I:;9(
:;9I8>I:;9:;9I'I (
!'I"(#($.?:;9'I@�B%:;9I�B&1R�BUXYW'1�B(U)41�B*1R�BXYW+1,��1-���B.1/��10��11.:;9' 2:;9I34:;9I44:;9I5.?:;9'I 46.?<n:;97.?<n:;8.?<n:;9U�U�TS�T�\\PSSPSPVPVPV
�
�,����
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlIO.hparser.hentities.hdict.hhash.hxmlerror.hxmlautomata.hvalid.hiconv.hencoding.hxmlmemory.hglobals.hxmlversion.h<built-in>!	1K�!j 	.!wX	XZ[J�] >	\���\Y/bJ:
�.	��
��	4>
�parentnodeInfoTablastErrorexternalfatalErrorSAXFuncXML_INTERNAL_GENERAL_ENTITYxmlAttributeTypexmlParserInputBuffer_shortbufhasInternalSubsetSAXFunc_IO_lock_t_xmlAutomataoutputXML_ELEMENT_CONTENT_ORisStandalonestderrfreeAttrsxmlErrorLevelspaceNr_IO_buf_end_privatemessage_xmlDtdflags_xmlEntitybufferinternalSubsetSAXFuncentitiesxmlErrorPtrXML_PARSER_MISCvstateNrXML_ELEMENT_CONTENT_ELEMENTXML_ELEMENT_CONTENT_PLUS_IO_write_endXML_PARSER_STARTXML_ATTRIBUTE_CDATAnextresolveEntitySAXFunc_xmlNode_freeres_listrawconsumedXML_PARSE_OLD10xmlChar_flagsXML_PARSER_PUBLIC_LITERALXML_ELEMENT_CONTENT_ONCEreferenceSAXFunccatalogsrefsdictNamespentities_xmlStartTagXML_PARSE_DTDLOAD_flags2XML_PARSE_IGNORE_ENCbegin_pos_xmlNs_old_offsetetypelevel__builtin_fwritemyDocxmlCharEncodingOutputFuncXML_ERR_ERRORXML_PARSE_NSCLEANintSubseterrorcharactersendDocumentSAXFuncstartDocumentSAXFuncfilenameprevunparsedEntityDeclSAXFuncXML_PARSER_PROLOG_xmlSAXLocatorXML_TEXT_NODEend_linecompressedendDocumentreference_xmlValidStatecommentdisableSAXXML_DTD_NODEnodeTabbegin_linexmlNewParserCtxtnexteXML_PARSE_UNKNOWNprocessingInstructionSAXFuncXML_ENTITY_DECLsizeentitiesstdoutsax2startElementNs_IO_save_endXML_PARSER_ENTITY_VALUEfatalErrorXML_INTERNAL_PREDEFINED_ENTITYxmlElementContentXML_INTERNAL_PARAMETER_ENTITYxmlStartTagXML_PARSER_COMMENT_xmlParserInputbaseignorableWhitespaceSAXFunclong long unsigned intvstateMaxxmlStrdupFuncXML_COMMENT_NODEstartElementwarningwellFormedendElementNsconsumedfilenodeInfoMaxfreeElemsNrxmlParserInputXML_NAMESPACE_DECLatts_xmlParserNodeInfoSeqxmlDocPtrentityDeclSAXFuncsys_errlistXML_PARSE_NOCDATAinSubsetnsWellFormedxmlNsTypexmlCleanupParser_offsetXML_PARSER_ATTRIBUTE_VALUEXML_ERR_WARNINGextSubsetsys_nerrownerinitializedXML_PARSE_RECOVERfprintf_filenoXML_EXTERNAL_GENERAL_PARSED_ENTITYXML_PARSE_XINCLUDEgetParameterEntitySAXFuncserrorend_posencoderprefixXML_PARSER_END_TAGxmlParserInputDeallocatesize_tentityDeclparse2.cXML_PARSE_PEDANTICwarningSAXFunc_markersXML_XINCLUDE_ENDXML_PARSE_NOBASEFIX_xmlBufnodeNrinputNrnotationDecl_IO_read_basexmlDocxmlElementContentOccurprogressiveXML_EXTERNAL_PARAMETER_ENTITY_xmlErrorentityXML_PARSER_SYSTEM_LITERALstr1str2str3XML_PARSER_DTDexampleFuncfreeXML_PARSER_ENTITY_DECLnodememXML_PARSE_NOBLANKScodestartDocumentlast__fmtxmlBufXML_ATTRIBUTE_NODEnodeInfo_xmlParserInputBuffernotationDeclSAXFuncsetDocumentLocatorresolveEntityXML_PARSE_DTDVALIDgetEntitySAXFuncXML_ATTRIBUTE_ENTITIESxmlNodeXML_PARSE_DTDATTRxmlAttrvalidnbentitiesloadsubset__streamcharatype__fprintf_chkgetSystemIdiconv_indocdictsetDocumentLocatorSAXFuncstr_xml_nsxmlMallocAtomicpushTab_IO_marker_xmlAutomataState_IO_read_ptrint1int2xmlDictxmlStructuredErrorFuncfreeAttrsNrextSubURIXML_CDATA_SECTION_NODEXML_PARSE_HUGEunsigned intxmlParserInputStateexternalSubsetxmlValidityErrorFuncXML_EXTERNAL_GENERAL_UNPARSED_ENTITYxmlAutomataStatePtrxmlAttrPtroldNsstr_xmlnsXML_ATTRIBUTE_IDXML_PARSE_NONETprocessingInstruction_IO_write_basexmlMallocFuncmainlong long intXML_ENTITY_NODESystemIDchildrenXML_XINCLUDE_STARTXML_PARSE_NOENTerrorSAXFunc_IO_save_baseiconv_out_xmlAttrdepthxmlParserCtxtnameNrhrefextSubSystemcontextdictparseModeignorableWhitespaceclosecallbackxmlDictPtrsizeentcopyinput_idXML_PARSE_BIG_LINES_xmlSAXHandlercharsetxmlValidCtxtrecoverynsTabparseFlagsxmlAutomataPtr_freeres_buf_IO_backup_baseXML_NOTATION_NODExmlError__pad5long unsigned intXML_ATTRIBUTE_DECLinputdirectoryXML_PARSER_PIxmlCharEncodingInputFuncxmlMemStrdupargcXML_ELEMENT_NODEXML_ELEMENT_CONTENT_PCDATAXML_PARSE_NOERRORXML_ELEMENT_CONTENT_MULT_modeXML_PARSE_PUSH_DOMXML_PARSER_EPILOGlong doublegetLineNumbernameTabtokenxmlMemoryDumpattsDefaultxmlFreeDocxmlElementTypexmlMallocpsvi_xmlValidCtxthasExternalSubsetxmlCtxtReadFilelinenumberscdataBlockSAXFunccharactersSAXFuncXML_ATTRIBUTE_ENTITYinstatexmlParserNodeInfoSeqnsDefXML_PARSER_CONTENTXML_PARSER_CDATA_SECTIONocur_IO_read_endXML_ATTRIBUTE_NOTATIONXML_PARSE_OLDSAXXML_PARSE_NOXINCNODEshort intxmlSAXLocatorPtrendElementSAXFuncxmlHashTableXML_DOCUMENT_TYPE_NODEXML_PARSER_START_TAGXML_ELEMENT_CONTENT_SEQXML_PARSE_READERctxtlong intpropertiesattallocsinternalSubsetoptionslengthreplaceEntitiesxmlInputReadCallbackchecked_xmlElementContentcheckIndexnodeMaxxmlEntityTypeXML_DOCUMENT_NODEattsSpecial_IO_wide_datastr_xmlnodeXML_PARSE_COMPACTxmlReallocgetEntity_xmlDochasInternalSubsetxmlFreexmlBufPtrkeepBlanksxmlHashTablePtrxmlParserNodeInforeadcallbackXML_PI_NODExmlInputCloseCallbackextraXML_ATTRIBUTE_IDREFXML_PARSER_IGNOREfreeElemsnodeInfoNrpedanticnamestateXML_PARSE_PUSH_SAX_xmlDictstartElementNsSAX2Func_lockxmlFreeParserCtxt_vtable_offsetxmlEntityPtrXML_PARSE_NOWARNINGXML_PARSER_EOF_wide_dataxmlCharEncodingHandlermaximumnode_seq_xmlEnumeration_xmlParserNodeInfogetColumnNumber_IO_codecvtcommentSAXFuncxmlNodePtrstdin_IO_FILExmlCharEncodingHandlerPtrrecord_infovstateTabxmlValidityWarningFuncXML_ELEMENT_DECLorigxmlEnumerationXML_ATTRIBUTE_IDREFSXML_ELEMENT_CONTENT_OPTXML_ATTRIBUTE_NMTOKENSXML_PARSE_DOMtypeunsigned charxmlCheckVersionvctxtgetParameterEntityhtmllineencodingXML_ERR_FATALattributeDecl_IO_write_ptriconv_tnotationsExternalIDattributes_xmlCharEncodingHandlerdomaincontentspacexmlElementContentPtr_xmlParserCtxtXML_PARSE_SAXxmlParserInputBufferPtrisStandaloneSAXFuncXML_ATTRIBUTE_NMTOKENelementDeclnsNrnameMaxinputTabstandalonemaxatts_xmlHashTablexmlReallocFunc_codecvtversionspaceTabXML_DOCUMENT_FRAG_NODEinputMaxcompressionfwritexmlParserInputPtrxmlSAXLocator__off_tXML_ERR_NONEargvsigned charXML_HTML_DOCUMENT_NODEuserDataxmlElementContentTypeshort unsigned intXML_ENTITY_REF_NODEintSubNameGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinxmlValidStateelementDeclSAXFuncnbCharsxmlFreeFunchasExternalSubsetSAXFuncxmlAutomataendElementNsSAX2FuncxmlEnumerationPtrgetPublicIdXML_PARSE_NODICTstartElementSAXFuncXML_PARSE_SAX1_chainvstatexmlAutomataStateFILEerrNounparsedEntityDeclXML_ATTRIBUTE_ENUMERATIONxmlParserModespaceMaxendElementnodelenxmlNselementsxmlParserCtxtPtr_cur_columncdataBlocknsMaxxmlEntityattributeDeclSAXFunc__off64_t_unused2_IO_buf_baseexternalSubsetSAXFunchasPErefsvalidate/builddir/build/BUILD/libxml2-2.10.2/doc/examplesGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,�Q�F�A �W
CBA
�	.)?/Yt0��1��2�� "$&(/01234.5#(-2>Ncw)*+,-���������%.annobin_parse2.c.annobin_parse2.c_end.annobin_parse2.c.hot.annobin_parse2.c_end.hot.annobin_parse2.c.unlikely.annobin_parse2.c_end.unlikely.annobin_parse2.c.startup.annobin_parse2.c_end.startup.annobin_parse2.c.exit.annobin_parse2.c_end.exit.annobin_main.start.annobin_main.end.LC2.LC0.LC1.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewParserCtxtxmlCtxtReadFilexmlFreeDocxmlFreeParserCtxtxmlCleanupParserxmlMemoryDumpstderr__fprintf_chkfwrite * $ % & '++�A��������%B��������?C��������XD��������`E��������eF��������jG��������xH���������-���������I���������H���������.���������J���������H���������/���������I��������

#q
#
#7
!0%
"*
#	8
##?
#�H
#�T
#?[
#�b
#�p
#%u
#��
#��
#�
�
#�
#E�
#�
#G�
#��
#Z�
#M�
#�
#
#!
#�.
#�
;
#�H
#FU
#b
#go
#�|
#��
#��
#J�
#z�
#2�
#��
#v�
#��
#�
#�
�
#
#�
#�&
#02
#�:
#�
a
#�l
#��
#�
#��
#��
#2�
#��
#=�
#e
#�	
#*
%
#{2
#U
?
#�L
#=f
#s
#r�
#!�
#��
#M�
#��
#��
#N�
#�
#Z
##.
#';
#C	H
#(U
#b
#F|
#��
#
�
#��
# �
#(�
#�
#a�
#�
#(
#F
#
#H*
#�7
#�D
#=Q
#�^
#|k
#�x
#[�
#>�
#��
#5�
#��
#$�
#�
#c
�
#.�
#�
#�
#5
#N$
#�2
#
@
#5N
#-\
#qj
#�x
#N�
#C�
#��
#f�
#Z�
#
�
#��
#��
#v�
#�
#�
#� 
#�
.
#�<
#_	J
#�X
#g
#t
v
#��
#��
#�
�
#��
#2
�
#o�
#Q�
#�
�
#��
#
#�

#�*
#09
#�H
#�
W
#9f
#�
u
#I�
#��
#��
#R�
#��
#A�
#��
#N�
#��
#	
#7
	
#i
)	
#�8	
#�	G	
#�V	
#5e	
#t	
#z
�	
#n
�	
#��	
#��	
#��	
#��	
#�
�	
#�	
#��	
#�


#�


#C'

#�5

#*C

#�Q

#�	_

#m

#{

#��

#?�

#$�

#;�

#�	�

#	�

#�

#��

#�

#"
#x
#A
#
#D1
#;?
#M
#r[
#i
#w
#��
#��
#A�
#�
#��
#�
#��
#��
#2�
#
#�

#�
#�'
#�	4
#A
#�N
#�h
#|u
#��
#Z�
#�
#m�
#��
#�
#;�
#��
#Y

#�	

#t

#D4

#�:

#�	@

#�F

#dL

#RR

#�X

#�^

#�d

#�j

#�p

#�v

#|

#	�

#N�

#k�

#5�

#��

#\�

#��

#O�

#`�

#��

##�

#��

#��

#��

#*
�

#�

#��

#N
#T

#T
#�"
#�/
#�<
#�J
#�b
#
p
#~
#��
#��
#��
#�	�
#�
#��
#��
#�	
#.
#%
#y3
##A
#�[
#$i
#w
#��
#��
#��
#�	�
#�
#��
#��
#c�
#�
#x
#Z
#m-
#�;
#�P
#"^
#l
#�z
#��
#��
#�	�
#�
#��
#��
#��
#F�
#h
#(
#"
#0
#(L
#�h
#�
v
#2
�
#y�
#�
�
#.�
#��
#��
#��
#��
#)�
#f�
#�
#�
#�
#�
#;,
#�:
#�H
#BV
#�~
#�
#��
#��
#|�
#�
#/�
#�
#c
�
#��
#��
#�

#�
#�)
#
7
#�E
#S
#*
n
#[
{
#��
#�
#��
#��
#��
#�	�
#�
#��
#�
#�
"
#y1
#J
#A
W
#
j
#�w
#��
#��
#Y�
#Y�
#��
#�
#H�
#1�
#��
#
#�
#�"
#z	/
#<
#I
#0V
##c
#	p
#	}
##	�
#%�
#*�
# �
#��
#c�
#7
#�
#�
#�
.
#:
#?
#�Q
#P]
#,h
#�t
#T�
#�
�
#~�
# �
#r�
#�
#��
#|�
#��
#[�
#,
#c

#(
#5
#�B
#J[
#�}
#8�
#o�
#��
#M�
#��
#�
#��
#��
#i�
#��
#��
#�
#c
#�
#8
#�D
#tQ
#�^
#Zk
#=�
#z�
#��
#o�
#X�
#(	�
#��
#w�
#��
#�
#)�
#��
#H	�
#��
#��
#��
#�
#��
#L�
#�
#�
#�
#� 
#�&
#�,
#3
#h?
#kK
#��
#��
#D�
#�
#
%
#�2
#�i
#�	v
#��
#^�
#�
#�
4
#�R
#�_
#��
#��
#�
#��
#��
#��
#�
#�
#7%
#�2
#&?
#�L
#�Y
#�f
#�
#��
#[�
#f
#.

#�
#�&
#�3
#H@
#�M
#�
Z
#�h
#$z
#q�
#��
#��
#y�
#i�
#g
#�,
#o8
#�
D
#
P
#<\
#w
#M}
#��
#��
#I
�
#
�
#��
#f�
#$�
#g	�
#�
#��
#4�
#��
#V�
#��
#|�
#��
#-�
#`�
#{
#k
#�
#�

#w*+A
#�L
P
U
#�`
Cd
=m+$v
!�
��
��
!�
��
��
N�
B�+u�+u�
��
��+�� +� +�5 
9 
�C +�T n +�w +�� � +�� � +)� +C!+\!+d.!+ G!+iT!+nh!
#7	u!
#��!
# �!
#_�!
#
�!
#�	�!
#�
�!
#�
�!
#��!
#�!
#n�!
#n�!
#��!
#��!
#U�!
#U"
#8"
#8"
#�"
#�"
#� "
#�)"
#;-"
#;++++�C+K+V+^+,i+,q+��+$�+d�+u�+��+,�+B�+B�+o�+u+�+�+�+�'+�N+FV+Ta+Ti+dt+u|+��+��+��+��+��+��+��+u�+��+�+�
++$+d+u+�0+8+��+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.8.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@709P719h729�(739�74�!�'�1��,@[07	G�V��Q@8[07ph�h�@h[07<�<��@�[07����@�[07��	8�@�[07 �@(\�7,2�#;2+OF5"J@�]�97[{.n�1,i@8��7 ~�30y@(�07"��3P�@X��7$�/4��@�7&�0�6i�03Q.�aQaQpaQGaQaQ�aQ�aQ�aQ�aQaQhQ /�QH*@�75�Q8?	�X,�@PKi�Z�\`��,usr/share/doc/alt-libxml2-devel/examples/io2nuȯ��#! /bin/sh

# io2 - temporary wrapper script for .libs/io2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The io2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file io2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "io2:io2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "io2:io2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "io2:io2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'io2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z�E8�}
}
0usr/share/doc/alt-libxml2-devel/examples/tree2.cnu�[���/* 
 * section:  Tree
 * synopsis: Creates a tree
 * purpose:  Shows how to create document, nodes and dump it to stdout or file.
 * usage:    tree2 <filename>  -Default output: stdout
 * test:     tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
 * author:   Lucas Brasilino <brasilino@recife.pe.gov.br>
 * copy:     see Copyright for the status of this software
 */

#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>

#if defined(LIBXML_TREE_ENABLED) && defined(LIBXML_OUTPUT_ENABLED)

/*
 *To compile this file using gcc you can type
 *gcc `xml2-config --cflags --libs` -o tree2 tree2.c
 */

/* A simple example how to create DOM. Libxml2 automagically 
 * allocates the necessary amount of memory to it.
*/
int
main(int argc, char **argv)
{
    xmlDocPtr doc = NULL;       /* document pointer */
    xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */
    char buff[256];
    int i, j;

    LIBXML_TEST_VERSION;

    /* 
     * Creates a new document, a node and set it as a root node
     */
    doc = xmlNewDoc(BAD_CAST "1.0");
    root_node = xmlNewDocNode(doc, NULL, BAD_CAST "root", NULL);
    xmlDocSetRootElement(doc, root_node);

    /*
     * Creates a DTD declaration. Isn't mandatory. 
     */
    xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd");

    /* 
     * xmlNewChild() creates a new node, which is "attached" as child node
     * of root_node node. 
     */
    xmlNewChild(root_node, NULL, BAD_CAST "node1",
                BAD_CAST "content of node 1");
    /* 
     * The same as above, but the new child node doesn't have a content 
     */
    xmlNewChild(root_node, NULL, BAD_CAST "node2", NULL);

    /* 
     * xmlNewProp() creates attributes, which is "attached" to an node.
     * It returns xmlAttrPtr, which isn't used here.
     */
    node =
        xmlNewChild(root_node, NULL, BAD_CAST "node3",
                    BAD_CAST "this node has attributes");
    xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes");
    xmlNewProp(node, BAD_CAST "foo", BAD_CAST "bar");

    /*
     * Here goes another way to create nodes. xmlNewNode() and xmlNewText
     * creates a node and a text node separately. They are "attached"
     * by xmlAddChild() 
     */
    node = xmlNewDocNode(doc, NULL, BAD_CAST "node4", NULL);
    node1 = xmlNewDocText(doc, BAD_CAST
                   "other way to create content (which is also a node)");
    xmlAddChild(node, node1);
    xmlAddChild(root_node, node);

    /* 
     * A simple loop that "automates" nodes creation 
     */
    for (i = 5; i < 7; i++) {
        sprintf(buff, "node%d", i);
        node = xmlNewChild(root_node, NULL, BAD_CAST buff, NULL);
        for (j = 1; j < 4; j++) {
            sprintf(buff, "node%d%d", i, j);
            node1 = xmlNewChild(node, NULL, BAD_CAST buff, NULL);
            xmlNewProp(node1, BAD_CAST "odd", BAD_CAST((j % 2) ? "no" : "yes"));
        }
    }

    /* 
     * Dumping document to stdio or file
     */
    xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1);

    /*free the document */
    xmlFreeDoc(doc);

    /*
     *Free the global variables that may
     *have been allocated by the parser.
     */
    xmlCleanupParser();

    /*
     * this is to debug memory for regression tests
     */
    xmlMemoryDump();
    return(0);
}
#else
int main(void) {
    fprintf(stderr, "tree support not compiled in\n");
    return(0);
}
#endif
PKi�Z�ٞ��u�u0usr/share/doc/alt-libxml2-devel/examples/tree2.onu�[���ELF>Hg@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1��H�=�1�H�1�H��I���L��H��I���H�
1�L��H�5�H�
1�L��H��1�H�1�L���H�
1�L��H��H�H�5H��H���H��H�H�5�1�H�1�L���H�5L��H���H��H���H��L��H�\$�A��H�
H��1���A��1�H��1�L���I��E��A��H�
H�ߺ�1��1�1�H��L���A��H�
H�HE�H�5H��A���A��u���ul�|$H�=~	H�D$H�x�H�L���L�����1�H��$dH3%(u$H��([]A\A]A^A_������noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node)e�5int�h�h���	�1%
3a
6	�
7	�
8	�
9	� 
:	�(
;	�0
<	�8
=	�@
@	�H
A	�P
B	�X
D>`
FDh
Hap
Iat
Jox
ML�
NS�
OJ�
QZ�
Y
{�
[e�
\p�
]D�
^	C�
_
)�
`a�
bv��+9�
�Z51`k
��5��%����a
�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
��
���
%�
&��K��C9�B3		C 	)M,	2	CF	C)WR	X	�g	������ 	���F	aO�l
aldoc��"�/�
r��}i	aja�S	�
 � �!�"Us"T~"Q
"R	"Xv#�!V
R � �!�"Us"T1"Q
"R	"Xv"Y~$�k"U

R$��"U	$��"U|"T0"Q	"R0$��"U|"T}$�"U|"T	"Q0"R	$�E"U}"T0"Q	"R	$�t"U}"T0"Q	"R0$��"U}"T0"Q	"R	$�"Us"T	"Q	$
"Us"T	"Q	$�>
"U|"T0"Q	"R0$c
"U|"T	${
"Us$�
"U}$��
"U}"T0"Qs"R0$��
"U"T0"Qs"R0$"T	$,,"T|"Q	"R1$9D"U|%F%S%_�
��5�&"a�'__s"�("�)*+
,

,
<,
�,
�,
M,
,
S,
�,
�,
,9+�-%U:;9I$>$>I7I&I	:;9

:;9I8:;9<
I!I/4:;9I?<!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B4:;9I1R�BUXYW 1�B!��1"���B#1R�BXYW$��1%��1&.?:;9'I 4':;9I(:;9I)*.?<n:;+.?<n:;9,.?<n:;9-.?<nU��}T��}0�P\\0�P]]0�PSPST0�PP5�Vv�v�v�1�^~�^^
�S
�S,O�N�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmltree2.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlversion.hparser.h<built-in>	7�IX��zX/X��=Ye=]zy4	v	�>�_
/�=
Z��]	O
1�
OfX	0!
L
�
3
��
MU	c
X��?�]YJ�...�XX__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessprintfnext_shortbufxmlNewChildXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned charxmlNodeGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECLbuff_fileno_IO_read_endencodinglong intoldNsparent_flagsxmlNewProp_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypesize_txmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocxmlMemoryDump_xmlAttrlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_basexmlNewDoc_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t__builtin___sprintf_chk_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenxmlSaveFormatFileEncunsigned charXML_DTD_NODEnodeversionentitiesxmlNewDocNodeshort intxmlNewDocText_IO_wide_datanotationsnode1xmlNodePtrXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatype__stack_chk_failXML_ATTRIBUTE_IDREFattributesxmlAddChildpropertiesXML_CDATA_SECTION_NODEdict__sprintf_chkXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODExmlDocSetRootElementintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATIONxmlCreateIntSubset__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTyperoot_nodeXML_DOCUMENT_FRAG_NODEargc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENtree2.cXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�LOF�B�B �B(�A0�F8�G�
8A0A(B BBBI
�	.'</Uo0��1��2�O "$&(/01234.5	
#(-.247:<SBGYMcSgYk_eqkxqv�|�������)*+,-�O�� 5HT_my�����.annobin_tree2.c.annobin_tree2.c_end.annobin_tree2.c.hot.annobin_tree2.c_end.hot.annobin_tree2.c.unlikely.annobin_tree2.c_end.unlikely.annobin_tree2.c.startup.annobin_tree2.c_end.startup.annobin_tree2.c.exit.annobin_tree2.c_end.exit.annobin_main.start.annobin_main.end.LC3.LC4.LC5.LC6.LC7.LC8.LC9.LC10.LC1.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC0.LC18.LC2.LC19.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlNewDocxmlNewDocNodexmlDocSetRootElementxmlCreateIntSubsetxmlNewChildxmlNewPropxmlNewDocTextxmlAddChild__sprintf_chkxmlSaveFormatFileEncxmlFreeDocxmlCleanupParserxmlMemoryDump__stack_chk_fail * $ % & '++O<R��������C-��������HS��������Q.��������^T��������lU��������s/��������.���������V���������0���������1���������W���������2���������W���������3���������4���������W���������5���������6���������X���������7���������8���������X���������9��������	T��������:��������Y��������&Z��������6Z��������@;��������Z[��������iW��������y<���������[���������W���������=���������5���������>���������X���������?���������@���������\��������]��������^��������
_��������K`��������

#(
#�
#*
!0%
"*
#�8
#�?
#EH
#kO
#�V
#]
#�k
#;p
#|
#�
#��
#��
#Q�
#�
#%�
#�
#��
#��
#�
#�
#c!
#.
#�;
#,H
#-U
#b
#o
#E|
#��
#�
#�
#i�
#?�
#��
#��
#�
#W�
#R�
#�
#M
#�&
#2
#�:
#a
#�l
#��
#o�
#S�
#��
#��
#!�
#�
#�
#�
#� 
#y&
#k,
#2
#Z8
#>
#�D
#�J
#;P
#3V
#�\
#yb
#h
#�n
#
t
#z
#��
#u�
#��
#��
#f�
#C�
#��
#��
#��
#��
#l�
#9�
#	�
# �
#�
#�
#�
#�(
#M6
#D
#JR
#d`
#��
#��
#n�
#��
#��
#��
#e�
#7�
#�
#�
#�
#M*
#8
#JF
#dT
#�p
#�~
#��
#W�
#��
#��
#��
#��
#+�
#��
#�
#�
#M
#-
#J;
#dI
#�e
#�s
#~�
#��
#��
#D�
#��
#2�
#6�
#��
#�

#�
#�)
#n@
#G
#�L
#�Q
#C^
#k
#�y
#d�
#��
#�
#w�
#��
#��
#��
#��
#�
#�
#M 
#.
#J<
#dJ
#�s
#,�
#��
# �
#��
#n�
#�
#��
#�	
#�!	
#_G	
#h	
#!t	
#��	
#��	
#;�	
#�	
#��	+�	
#R�	
�	
�	
#��	
@�	
<�	
��	
x

#1

�

�

#�!

N%

B*

#�5

�9

�>

#W

+[

!i

�m

�v
+:

!�

�

�

M�

K�
+^�
q�
+p�
+p
r
p
�
�+�<xS+@l+L�	�+b�
�+p�+��
+�/.<F+�f4u+��S�:�+��Y��+��g
c
+
0
k?
+Z
d
+*|
+:�
+m�
+��
+��
�+��-+E+R+_+O�
#\�
#f�
#��
#��
#��
#��
#-�
#-�
#��
#��
#��
#��
#S�
#S�
#s�
#s
#X

#X
#�
#� 
#b$
#b-
#V1
#V:
#�>
#�G
#�K
#�T
#uX
#u`
#2d
#2++(+(+O@+H+?S+?[+O�+;�+]�+]�+a�+a�+1�+8�+O�+;�+k�+k+o+o+3+8'+ON+;V+�b+�j+�u+�}+�+�+�+�+5�+5�+9�+;�+�+�+)�+�+�++:3+:?+:G+�R+�Z+/g+8o+E|+J�+O�+p�+p�+p�+��+��+��+��+5�+8+O+:'+^2qM+:U+^r+pz+��x�+p�+�
++:+S+Y+^0+8+O]+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@7A9P7B9h7C9�(7D9�7E�!�'�1��,@�<07	G�V��Q@�<07ph�h�@=07<�<��@0=07����@`=07��	8�@�=07 O@�=P7,2o
�;23O3iJ@BH7[��n" �i@X]�7 ~�#0y@d07"�$P�@Hd�7$�e$��@�d7&�0�&��0�/.�%0%0p%0G%0%0�%0�%0�%0�%0%0(0 /H0h*@�d75�0	8P	�9�e@PKi�Zx����/usr/share/doc/alt-libxml2-devel/examples/xpath2nuȯ��#! /bin/sh

# xpath2 - temporary wrapper script for .libs/xpath2
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The xpath2 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file xpath2.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "xpath2:xpath2:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "xpath2:xpath2:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "xpath2:xpath2:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'xpath2'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z+��4XX1usr/share/doc/alt-libxml2-devel/examples/parse3.onu�[���ELF>�I@@98	

,.+/*0)1GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��H���
R�E1�1ɾH�H�=�H��tH�����1�H���H�
��H�=���noname.xml<doc/>Failed to parse document
u�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K��C9�B3��C	)M		C&	C)W2	8	�G	������	���&	�)al��
�
1�
�
�
�
 #	S
 !".#U	#T1#QI$9�
#U	#T6#Q	#R0#X0%F$S�
#U

R%_%l&'�''a(doc�)da.'d�'d<�*+,
u,
-,
9-�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I4:;9I.?:;9'I@�B1R�BUXYW1�BU41�B 1R�BXYW!1"��1#���B$��1%��1&.:;9' ':;9I(4:;9I).?:;9'I 4*+.?<n:;,.?<n:;9-.?<n:;96�6�
�
�PP
�,l�O�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlparse3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hparser.hxmlversion.h<built-in>	(PzP�i�\�\Y	gt�
��__off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDXML_XINCLUDE_STARTnsDef_codecvt_private_xmlNsxmlNslong long intsigned char__builtin_fwriteGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flags_IO_buf_endstdinXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetxmlCharxmlCleanupParserxmlReadMemoryexample3FunccompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLlast_IO_save_base_cur_column_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitieselements_IO_write_endXML_ATTRIBUTE_DECL_IO_lock_t_IO_FILE_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdupatypeXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doublelengthparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_tdocument_IO_read_base_IO_save_endparse3.cXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypefwriteXML_DOCUMENT_FRAG_NODE_freeres_listextraXML_ENTITY_REF_NODE_wide_dataXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESmain_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�lHD
A
�	-)?.Yt/��0��1�l!#%'./0123-4#(-2>Ncw()*+,�l��������.annobin_parse3.c.annobin_parse3.c_end.annobin_parse3.c.hot.annobin_parse3.c_end.hot.annobin_parse3.c.unlikely.annobin_parse3.c_end.unlikely.annobin_parse3.c.startup.annobin_parse3.c_end.startup.annobin_parse3.c.exit.annobin_parse3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReadMemoryxmlFreeDocxmlCleanupParserxmlMemoryDumpstderrfwrite ) # $ % &**l@��������,��������&-��������+A��������8B��������=C��������BD��������PE��������a.��������fF��������

"$
"�
"*
 0%
!*
"\8
"�?
"@H
"LO
"V
"]
"xk
"2p
"|
"~�
"X�
"��
"H�
"�
"�
"��
"�
"��
"�
"�
"O
"+)
"]6
"�C
"#P
"]
"j
"Sw
"��
"9�
"��
"h�
"M�
"��
"��
"��
"��
"M�
"�
"[
"!
"�-
"�5
"�\
"rg
"��
"[�
"a�
"&�
"��
"�
"�
"�
"'
"f 
"&
"�,
"2
"h8
">
"�D
"�J
"�P
".V
"-\
"Zb
"h
"�n
"t
"rz
"��
"a�
"��
">�
"t�
"��
"��
"�
"��
"(�
"��
"��
"r�
"��
"��
"�
"�
"�(
"C6
"&D
"AR
"c`
"��
"��
"�
"��
"��
"��
"��
"E�
"�
"�
"�
"C*
"&8
"AF
"cT
"�p
"�~
"��
"��
"o�
"~�
"��
"��
"&�
"��
"�
"�
"C
"&-
"A;
"cI
"�e
"�s
"��
"t�
"��
";�
"g�
")�
",�
"��
""

"�
"M)
"@
"�G
":L
"]Q
"9^
"�k
"�y
"c�
"��
"m�
"��
"��
"��
"��
"��
"�
"�
"C 
"&.
"A<
"cJ
"�s
"��
"��
"i�
"�
"��
"��
"D	
"Z'	
"H	
"T	
"�`	
"�l	
"1x	
"��	
"��	
"�	*�	*�	
 �	
�	
�	
@�	
<�	
 �	
��	
��	*M
*M 

�$

�.
*j?
T
*/i
{
�
*<�
*�
*A�
*F�

"��

"��

"F
"p
"�!
"�/
"�3
":
"�>
"�G
"RK
"RT
"�X
"�`
"�d
"�m
"xq
"x**<*M *l@*H*<S\*Md*lo�*/�*;�*M�*i�*M�*j�
***<*M*l0*8*l^* *.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group*@6/*P60*h61*�(62*�63�!�'�1��,@P.06	G�V��Q@�.06ph�h�@�.06<�<��@�.06����@/06��	8�@@/06 l@p/�6,2�,@�y;@`0�6L1h_��Z@E�6o�0j@�F06!��P~@�F�6#�	��@pG6%�0�R�0%.�K%K%pK%GK%K%�K%�K%�K%�K%�K%P%  p%8@�G64�%�7>	P,��G1PKi�ZQw@0usr/share/doc/alt-libxml2-devel/examples/reader3nuȯ��#! /bin/sh

# reader3 - temporary wrapper script for .libs/reader3
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-15build2
#
# The reader3 program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
sed_quote_subst='s|\([`"$\\]\)|\\\1|g'

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /builddir/build/BUILD/libxml2-2.10.2/doc/examples; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/share/Modules/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin; export PATH; gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o \$progdir/\$file reader3.o  ../../.libs/libxml2.so -Wl,-rpath -Wl,/builddir/build/BUILD/libxml2-2.10.2/.libs -Wl,-rpath -Wl,/opt/alt/libxml2/usr/lib64)"

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
  # install mode needs the following variables:
  generated_by_libtool_version='2.4.6'
  notinst_deplibs=' ../../libxml2.la'
else
  # When we are sourced in execute mode, $file and $ECHO are already set.
  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
    file="$0"

# A function that is used when there is no print builtin or printf.
func_fallback_echo ()
{
  eval 'cat <<_LTECHO_EOF
$1
_LTECHO_EOF'
}
    ECHO="printf %s\\n"
  fi

# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string --lt-
# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
# --lt-dump-script. There is, deliberately, no --lt-help.
#
# The first argument to this parsing function should be the
# script's ../../libtool value, followed by no.
lt_option_debug=
func_parse_lt_options ()
{
  lt_script_arg0=$0
  shift
  for lt_opt
  do
    case "$lt_opt" in
    --lt-debug) lt_option_debug=1 ;;
    --lt-dump-script)
        lt_dump_D=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%/[^/]*$%%'`
        test "X$lt_dump_D" = "X$lt_script_arg0" && lt_dump_D=.
        lt_dump_F=`$ECHO "X$lt_script_arg0" | /usr/bin/sed -e 's/^X//' -e 's%^.*/%%'`
        cat "$lt_dump_D/$lt_dump_F"
        exit 0
      ;;
    --lt-*)
        $ECHO "Unrecognized --lt- option: '$lt_opt'" 1>&2
        exit 1
      ;;
    esac
  done

  # Print the debug banner immediately:
  if test -n "$lt_option_debug"; then
    echo "reader3:reader3:$LINENO: libtool wrapper (GNU libtool) 2.4.6 Debian-2.4.6-15build2" 1>&2
  fi
}

# Used when --lt-debug. Prints its arguments to stdout
# (redirection is the responsibility of the caller)
func_lt_dump_args ()
{
  lt_dump_args_N=1;
  for lt_arg
  do
    $ECHO "reader3:reader3:$LINENO: newargv[$lt_dump_args_N]: $lt_arg"
    lt_dump_args_N=`expr $lt_dump_args_N + 1`
  done
}

# Core function for launching the target application
func_exec_program_core ()
{

      if test -n "$lt_option_debug"; then
        $ECHO "reader3:reader3:$LINENO: newargv[0]: $progdir/$program" 1>&2
        func_lt_dump_args ${1+"$@"} 1>&2
      fi
      exec "$progdir/$program" ${1+"$@"}

      $ECHO "$0: cannot exec $program $*" 1>&2
      exit 1
}

# A function to encapsulate launching the target application
# Strips options in the --lt-* namespace from $@ and
# launches target application with the remaining arguments.
func_exec_program ()
{
  case " $* " in
  *\ --lt-*)
    for lt_wr_arg
    do
      case $lt_wr_arg in
      --lt-*) ;;
      *) set x "$@" "$lt_wr_arg"; shift;;
      esac
      shift
    done ;;
  esac
  func_exec_program_core ${1+"$@"}
}

  # Parse options
  func_parse_lt_options "$0" ${1+"$@"}

  # Find the directory that this script lives in.
  thisdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`
  test "x$thisdir" = "x$file" && thisdir=.

  # Follow symbolic links until we get to the real thisdir.
  file=`ls -ld "$file" | /usr/bin/sed -n 's/.*-> //p'`
  while test -n "$file"; do
    destdir=`$ECHO "$file" | /usr/bin/sed 's%/[^/]*$%%'`

    # If there was a directory component, then change thisdir.
    if test "x$destdir" != "x$file"; then
      case "$destdir" in
      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
      *) thisdir="$thisdir/$destdir" ;;
      esac
    fi

    file=`$ECHO "$file" | /usr/bin/sed 's%^.*/%%'`
    file=`ls -ld "$thisdir/$file" | /usr/bin/sed -n 's/.*-> //p'`
  done

  # Usually 'no', except on cygwin/mingw when embedded into
  # the cwrapper.
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
    # special case for '.'
    if test "$thisdir" = "."; then
      thisdir=`pwd`
    fi
    # remove .libs from thisdir
    case "$thisdir" in
    *[\\/].libs ) thisdir=`$ECHO "$thisdir" | /usr/bin/sed 's%[\\/][^\\/]*$%%'` ;;
    .libs )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=`cd "$thisdir" && pwd`
  test -n "$absdir" && thisdir="$absdir"

  program=lt-'reader3'
  progdir="$thisdir/.libs"

  if test ! -f "$progdir/$program" ||
     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /usr/bin/sed 1q`; \
       test "X$file" != "X$progdir/$program"; }; then

    file="$$-$program"

    if test ! -d "$progdir"; then
      mkdir "$progdir"
    else
      rm -f "$progdir/$file"
    fi

    # relink executable if necessary
    if test -n "$relink_command"; then
      if relink_command_output=`eval $relink_command 2>&1`; then :
      else
	$ECHO "$relink_command_output" >&2
	rm -f "$progdir/$file"
	exit 1
      fi
    fi

    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
    { rm -f "$progdir/$program";
      mv -f "$progdir/$file" "$progdir/$program"; }
    rm -f "$progdir/$file"
  fi

  if test -f "$progdir/$program"; then
    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
      # Run the actual program with our arguments.
      func_exec_program ${1+"$@"}
    fi
  else
    # The program doesn't exist.
    $ECHO "$0: error: '$progdir/$program' does not exist" 1>&2
    $ECHO "This script is just a wrapper for $program." 1>&2
    $ECHO "See the libtool documentation for more information." 1>&2
    exit 1
  fi
fi
PKi�Z���-�-5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-io1nuȯ��ELF>
@8&@8@@@@hh����� 00 0 � HH H ���  ���DDS�td���  P�td���\\Q�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUL���]�VH̊+�ڿ̎�A 
��|BE��)��qX9�* ��St �9 "���c��98  &  �(  -  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�0���>ui	I���U�Lc0 �
8 �
@ @   �� � � � 
�    (  p x � � � � 	� � � 
� � � � ��H��H�� H��t��H����5 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D��S�
R�Q���H�
�H�H�5\H�=�������x^H�� H���=���H��E1�1�H�[���W���H��H��tH���W�����~LH�=� H������H������G�������1�[�H�
� ��H�=�1�������H�
p ��H�=��
�����`���H�
I �#�H�=������9���f���1�I��^H��H���PTL�6H�
�H�=����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=~ ����d����] ]������w������H��t
�1 1�ø�����@��U��SH��H�������u7H��t2�- ��H��H��H��9�N�Hc�)�����-� H����[]��������f���H��H��t,�H�=�����u�� 1H���1��D��H��1�H��t�H�=�����������fD��AWI��AVI��AUA��ATL�%4 UH�-4 SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
;\
x����X����(���88���x(����H����������$���X�����zRx�����/D$4���FJw�?:*3$"\�����tP���(�\���WE�C�D |
CAD�����;�����*���E��
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBBD���
�
@ �r

X0 8 ���o0�h
�X 8��	���o���ox���o�oH���oH P
`
p
�
�
�
�
�
�
�
�
�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
/
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10
eGA$3p1113�UGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
�
GA*FORTIFY�EGA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�
�.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008Qhh(Y���a���oHH.n���oxx`}���B��8�

�@
@
��  ����e�XX
�hh]���\�((X�0 0�8 8�@ @�H H�X X��        
0 Z8 `l �%)PKi�Z����+�+6usr/share/doc/alt-libxml2-devel/examples/.libs/reader2nuȯ��ELF>�@8$@8@@@@hh�����   �(      ���  ���DDS�td���  P�tdhhh<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU{���a��y�r�-#��E_���A 
��|CE���qX9�<* jw��S� �9 �"{��.O�i�0  �  �  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64`0ui	�ti	����������L `    � � � � 
�    H P X ` h p x 	� 
� � � � � � � � � � ��H��H�y H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h���������%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D����t��AW�
RAVAUATUSH��H������H�C�1�H��H�D$�~���H��H���Of�H�����H�߉Ń����e���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���0���H��E��I��AU��D��H�5w�1��,���XZM��t@L���}���L��(~H�5\�1������M���H�5s�1�����5����
����&�������u'H�������u<����f���H��1�[]A\A]A^A_�H�L$H�=� H�1���v����H�L$H�=� H��1���U����H�L$H�=� H��1���4����f���1�I��^H��H���PTL�FH�
�H�=����2 �H�=Q H�J H9�tH� H��t	�����H�=! H�5 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%| UH�-| SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
Document %s does not validate
;<���p8����X�������X���x���PzRx�����/D$4����0FJw�?:*3$"\���� Tt�����Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB ���`  `P
�  ���o0�h
+0 ��	��	���o���oX���o�o���o  �������� 0@P`p��GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1P�GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
~GA*GOW*�GA$3a1��GA*p�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��+a���o6n���oXXp}����B�	�	��PP�pp0��� ��
�
%���
���p�hh<���(� � � �   �0 0��        
0 Z0 `` �#)PKi�Z�n�M��5usr/share/doc/alt-libxml2-devel/examples/.libs/parse1nuȯ��ELF>�	@8@8@@@@hh���pp `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td@@@<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�eeZ,�Y
��d0���,��T��A 
��|CE���qX9��* �S�c 9 �"�o�0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640�����L��ui	ti	`
 �
h
 P
p
 p
 � � � � � 	  � � � � � 	� 
� ��H��H�� H��t��H����5: �%; ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��S�
RH�����H�[1�1�H�����H��tH���v���������1�[�H�=� H�پH���-�����f.����1�I��^H��H���PTL�FH�
�H�=h���� �H�=! H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���_���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to parse %s
;<���p���������p���X`�������zRx����/D$4�����FJw�?:*3$"\�ptH���eP�w
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
P
p
 �&0
`
 h
 ���o0�h
A� ����	���o���oP���o�o*���ox
 `p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10�	GA$3p1113@	GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*@	�	GA*GOW*�GA$3a1�	%GA*�
GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��Aa���o** n���oPP`}����B����00�PP����p�@	@	��
�((�@@<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)PKi�Z�E�P-P-9usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader4nuȯ��ELF>�@�%@8@@@@hh���HH 00 0 � HH H ���  ���DDS�td���  P�td���DDQ�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUJy��B�Q���Ъ��mߕ�A 
��|CE���qX9�e* ��-v�� 9 "���SR0  ?  F     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�0ui	Wti	c�Lo���~����0 �
8 `
@ @ � � � 
� �    p x � � � � � 	� � 
� � � � ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D��AUATUS�H������I��A���
R�D���I�}1�1����H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H�����H���UL9�u�H������H��tH�����H��1��A����,�������H����[]A\A]�I�MH�= H��1���l�����f.���1�I��^H��H���PTL�FH�
�H�=������ �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����UH��SH���������f�H�������t�H���I���H����H���H��tL��u H��H��H�5t1�[�]�$���@H�=� H��H��1�[H�5�]����DH�
� ��H�=��k����f����h���f�H�
� H����[H�=�]�-���f.���AWI��AVI��AUA��ATL�%d UH�-d SL)�H���'���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���failed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
;@|���t\����,�������\���������4l���|zRx�����/D$4����FJw�?:*3$"\�����@t@����A�D�D K
MFIK
FMJCKH8�,����F�B�A �A(�I0�
(C ABBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB<���
`
@ ��

(0 8 ���o0xh
�X 8���	���o���o����o�oX���oH @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhYxx�a���oXX,n���o��p}����B��8�

�0
0
������E�((
�88y���D���P�0 0�8 8�@ @�H H�X X��        
0 Z0 `` @�$)PKi�Z:�d�+�+6usr/share/doc/alt-libxml2-devel/examples/.libs/reader1nuȯ��ELF>�@8$@8@@@@hh���   �  (( ( ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��
�PQ+��
%?��A 
��|CE���qX9�'j* Ub�S� �9 "{��:��i�0  �  �  x   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64K0ui	�ti	������L� � �    � � � 
� � 
   P X ` h p x � 	� � 
� � � � � � � � ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��AW�
RAVAUATUSH��H������H�C1�1�H��H�$���H��H���-fDH���������H���g���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���B���H��E��I��AU��D��H�5Y�1��>���XZM��t@L������L��(~H�5>�1������O���H�5U�1�����7����
����(���H�߉D$����D$��u����j���H��1�[]A\A]A^A_�H�$H�=~ H��1�������H�$H�=^ H��1���k����f���1�I��^H��H���PTL�FH�
�H�=8����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=~
 �	����d����u ]������w������AWI��AVI��AUA��ATL�%$
 UH�-$
 SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
;8l���l����������<���T,�������LzRx���/D$4���� FJw�?:*3$"\�Tt���Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBBH�����  K��

H  ���o0�h
8 �P	x�	���o���o���o�o����o(  0@P`p�������� GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
GA$3p1113@
EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*@
�GA*GOW*�GA$3a1UGA*�EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhpY��a���o��4n���o`}xx��BP	P	���
�
� �00�@
@
�HH
�XXJ���<���(� � �   �( (�8 8��        
0 Z0 `` �#)PKi�Z�I�̸�5usr/share/doc/alt-libxml2-devel/examples/.libs/parse3nuȯ��ELF>�	@8@8@@@@hh���hh `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td888<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��?ǒ.UДȡ�TI���A 
��|CE���qX9�* �St 9 �"�c��0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/opt/alt/libxml2/usr/lib640�����L��ui		`
 p
h
 0
p
 p
 � � � � �   � � � � � 	� 
� ��H��H�� H��t��H����5Z �%[ ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D��H���
R�~���E1�1ɾH��H�=����H��tH���d�������z���1�H���H�
� ��H�=������@��1�I��^H��H���PTL�FH�
�H�=h����" �H�=A H�: H9�tH� H��t	�����H�= H�5
 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�= �y����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noname.xml<doc/>Failed to parse document
;<����px�������X���XH��������zRx�����/D$4�����FJw�?:*3$"\���pt0���lHD
AD�p���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����p
0
p
 �
�
`
 h
 ���o0�h
0� �`��	���o���o8���o�o���ox
 @P`p���GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	GA$3p1113 	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA* 	�	GA*GOW*�GA$3a1�	GA*�
�
GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��0a���o n���o88P}����B``���00����p� 	 	���
�

�0�88<�xx��`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)PKi�ZX�x&�M�M<usr/share/doc/alt-libxml2-devel/examples/.libs/lt-testWriternuȯ��ELF>�@0F@8@@@@hh����8�8 �<�< �< t� �<�< �< ���  ���DDS�td���  P�tdh5h5h5ddQ�tdR�td�<�< �< pp/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��������D7?���&�@ @I&+�\�XX�<���|�CE���qXf��* ��,���PQkbz �9 �"���7������:&��Sv @ !0@ �H@ �8@ �@ �@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64�@ii
�ti	ui	�L���,���:�< ��< p�< �< �? �? 
�? �? �?  @ &0@ '8@ )�> �> �> �> �> �> ? ? 	? ?  ? 
(? 0? 8? @? H? P? X? `? h? p? x? �? �? �? �? �? �?  �? !�? "�? #�? $�? %��H��H��/ H��t��H����5z. �%{. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h ��������%e, D���%], D���%U, D���%M, D���%E, D���%=, D���%5, D���%-, D���%%, D���%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%}+ D���%u+ D���%m+ D���%e+ D��H���
R�^���H�=��H�=���H�=��:H�=���i����$���1�H���f.���1�I��^H��H���PTL�FH�
�H�=x�����* �H�=+ H��* H9�tH��* H��t	�����H�=�* H�5�* H)�H��H��H��?H�H�tH��* H��t��fD�����=�* u+UH�=r* H��tH�=' ����d�����* ]������w������AVAUATUSH��dH�%(H�D$1�H����H��H��I�����H��H����H���5���D�hI��C�|-��<$Hc���) I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc���) H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1����L��1�z) �H�=�������f�1��@M��H�<�LD�H�5f1�L������s����H�==1��z����Y��������U1�SH���o���H����1�1�H�H��H��������@H�5
H��������H�5�H�=C�>���H��H��H���������HH��t	H���( H�5�H���������H��H�5�H���]�������H��H�5�H���?�������H�5aH�=����H�5]H��H��H��1��]�������H��t	H���' H�5XH���������01���H��H�>H�5=��������1���H��H�*H�5&�������vH�5�H�=����H�5H��H��H��������.H��t	H��`' H�5�H�=�����H�5�H��H��H���p�������H��t	H��"' H���������H�5�H���+������CH�5�H���������,H��H�5�H����������1��
H��H�-H�5l������yH���������H�53H���������H�:H�5"H��������1��H��H��H�5�w������H���������/H���������H�5�H���0�����xLH��H�5�H���&�������H����������H���f�������XH��[]����H��H�=�[]���fDH��H�=�[]���fDH��H�=u[]����fDH��H�=5[]���fDH��H�=[]���fDH��H�=[]���fDH��H�=�[]�n���fDH��H�=m[]�V���fDH��H�=[]�>���ZH�=>[]�/���ff.�@��AUI��ATUSH������H�=KH����1�H��H���m���H��H����H��1�H��
1��.���H�=����H�5�
H���������H�5r
H�=�����H��H��I�����H�=����?M��t	L��$ H�5G
H���+������3H�6
H�53
H���������5H�$
H�5 
H��������H�5�H�=
�4���H��H�5�H��I��1�����H�=�����M��t	L��x# H�5�H���������1���H��H��H�5��|�������1���H��H��H�5��W�������H�59H�=����H�5�H��H��I���'������oM��t	L���" H�5�H�=`�N���H�5YH��H��I�������1M��t	L���" H���{������#H�5%H�������H�5H�������H�H�5H�������1��
H��H��H�5��Z�������H�������H�5�H���#���+H��H�5�H������]1��H��H�<H�5{�����(H������8H������(H�5YH�������H�IH�5RH�������H���;����H�����H�=,��xWH���x�L��H�5��H�=BH��H��t1H�}H���~�H������XH��[]A\A]���H�=�H��[]A\A]�*�f.�H��H�=
[]A\A]�
�f.�H��H�=][]A\A]���f.�H�=���H�=���H�=�{���@��AT1�I��USH��dH�%(H�D$1�H����H����1�1�H�D	H��H�������pH�55	H���!���)H�5	H�=k�f���H��H��H���(���`H��t	H��� H�5�H��������H��H�5�H�������H��H�5�H���g����H�5�H�=����H�5�H��H��H��1�����H��t	H��' H�5�H���@���H1���H��H�fH�5e�+����1���H��H�RH�5N����~H�5�H�=?�;�H�5:H��H��H�������>H��t	H��� H�5�H�=��H�5H��H��H������H��t	H��J H���*���"H�5�H���S���[H�5�H���<���DH��H�5�H���.����1��
H��H�UH�5��	����H�������H�5[H���������H�bH�5JH��������,1��H��H��H�5*����H���?���7H���/���'H�5H���X���xdH��H�5H���N�����H���������H�������H���.�H�4$L��H���H�<$���H�=y
��H�D$dH3%(��H��[]A\��H�=
�����f�H�=�
����f�H�=�����f�H�=Q
���f�H�=1���f�H�=�
���{����H�=�
�|��c����H�=)�d��K������H�=K�N��5���f���AUI��H�=ATUSH�����H�=LH����1�H��1�H��H���-�H��H����H��H���V�H��H��1����H�=jH��H���mH��1�H��1���H�=|���KH�5nH�=���H��H��I����H�=����M��t	L�� H�5CH���'����/H�2H�5/H���������H� H�5H��������H�5�H�=�0�H��H�5�H��I��1����H�=�����M��t	L��t H�5�H��������1���H��H��H�5��x�����1���H��H��H�5��S����kH�55H�=���H�5�H��H��I���#����KM��t	L��� H�5�H�=\�J�H�5UH��H��I��������
M��t	L��� H���w�����H�5!H��������H�5H��������H�H�5H���{�����1��
H��H��H�5��V����nH�������~H�5�H�������'H��H�5�H�������91��H��H�8H�5w������H�������H���|����H�5UH��������H�EH�5NH��������H���7�����H�����H�=0
��x3H���t�L��H��H�H�B�XH��[]A\A]���H�=�
H��[]A\A]�J�f.�H��H�=�[]A\A]�*�f.�H��H�=U[]A\A]�
�f.�H�=���H�=��H�=A�{���@��AWI��AVI��AUA��ATL�%� UH�-� SL)�H���'�H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���ConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d�����������h���X������x�4��hX���@zRx����/D$48�� FJw�?:*3$"\0��@tx��`F�B�B �A(�A0�D@�
0A(A BBBI����AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAp\@�lF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0�<�gF�F�A �D0�
 AABHpx�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBOx$��SHJD�X�eF�E�E �E(�H0�H8�G@n8A0A(B BBB����p�< �H
8)�< �< ���o0�p
��> 
�	���o���ox���o�o���o�< P`p�������� 0@P`p�������� 0@PGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�GA$3p1113p�(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1E)GA$3p1113�(5)GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��(
GA*FORTIFY�(%)GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS��(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp Y���a���oXn���oxx�}���B

��@@ �``�pp��8)8)
�H)H) �h5h5d��5�5���< �<��< �<��< �<��< �<��> �>H�@ @ @ @( 
0@ZH@``@�E)PKi�Z5؅��+�+7usr/share/doc/alt-libxml2-devel/examples/.libs/lt-tree2nuȯ��ELF>�@8$@8@@@@hh�����   �� 00 0 ���  ���DDS�td���  P�td   <<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUŎI�W���sF9Þ�$v�@ ��|CE���qXq* �K�a�� �9 ."���=S�p  ]  d  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64@ti	uii
�ui	��L� �  �( ( � � � 	� � X ` h p x � � 
� � 
� � � � � � � ��H��H�i H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1���H�=��t���1�H��1�H��I�����L��H��I������H�
g1�L��H�5V�h���H�
Y1�L��H�_���1�H�W1�L���m���H�
L1�L��H�Y�U���H��H�5LH��H���|���H��H�AH�5>�f���1�H�41�L������H�5DL��H�����H��H�����H��L��H�\$�v���A��H�
�H��1���A��r���1�H��1�L�����I��E��A��H�
�H�ߺ�1��?���1�1�H��L�����A��H�
!H�HE�H�5�H��A�����A��u���ul�|$H�=�~	H�D$H�x�H�ZL������L���I�������o���1�H��$dH3%(u$H��([]A\A]A^A_������A������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=y u+UH�=b H��tH�=�
 �Y����d����Q ]������w������AWI��AVI��AUA��ATL�%,
 UH�-,
 SL)�H���_���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`���pp����p��������X���� ���HzRx�`���/D$4��FJw�?:*3$"\���Lt����OF�B�B �B(�A0�F8�G�
8A0A(B BBBID�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����( �`

H   ���o0�`
�@ �� �	���o���o����o�o����o0 �
�
�
�
�
�
�
 0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1`
GA$3p1113�EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a1UGA*�EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``@Y���a���o��0n���o��`}  ��B����`
`
��
�
��������HH
�XX��  <�`` � �   �( (�0 0�@ @��      
0 Z `` �#)PKi�Z�A/��+�+9usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader1nuȯ��ELF>@8$@8@@@@hh���((   �  (( ( ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�H�F��&����=v�b���A 
��|CE���qX9�'j* Ub�S� �9 "{��:��i�0  �  �  x   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64K0ui	�ti	������L� � �    � � � 
� � 
   P X ` h p x � 	� � 
� � � � � � � � ��H��H�� H��t��H����5
 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D����t��AW�
RAVAUATUSH��H������H�C1�1�H��H�$���H��H���-fDH���������H���g���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���B���H��E��I��AU��D��H�5Y�1��>���XZM��t@L������L��(~H�5>�1������O���H�5U�1�����7����
����(���H�߉D$����D$��u����j���H��1�[]A\A]A^A_�H�$H�=^ H��1�������H�$H�=> H��1���k����f���1�I��^H��H���PTL�FH�
�H�=8����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=} u+UH�=B H��tH�=^
 �	����d����U ]������w������AWI��AVI��AUA��ATL�%
 UH�-
 SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
;8l���l����������<���T,�������LzRx���/D$4���� FJw�?:*3$"\�Tt���Q�G�B �B(�A0�A8�GP�XH`YXAPv
8C0A(B BBBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBBH�����  K�
h  ���o0�h
38 �x	��	���o���o@���o�o���o( @P`p�������� 0@GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1/GA$3p1113`
eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*`
�GA*GOW*�GA$3a10uGA*�eGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhpY��3a���o4n���o@@`}����Bx	x	���00 �PP�`
`
�hh
�xxJ���<�(� � �   �( (�8 8��        
0 Z0 `` �#)PKi�Z*��+�+5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-io2nuȯ��ELF>�
@8$@8@@@@hh����
�
 PP P �� hh h ���  ���DDS�td���  P�td���<<Q�tdR�tdPP P ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUj,i�_(����U��%YX��@ I��|�CE���qX* ����� 9 j�"�|S  �      libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 �L�ii
,ui	6ti	BP �X �` ` � � � � � 
  � � � � � 	� 
� � � 
��H��H�� H��t��H����5z �%{ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D��UH�=0SH��(dH�%(H�D$1����1�H�1�H��H���D���H�5H��H���b���H��H���7����H�T$H��H�t$���H�T$H�5�1�����H�|$�E H������H�L$dH3%(u	H��(1�[]��������1�I��^H��H���PTL�FH�
�H�=����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�u H��t��fD�����=u u+UH�=R H��tH�=� �9����d����M ]������w������AWI��AVI��AUA��ATL�%T UH�-T SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���1.0rootcontent%s;<����p ���������p���X`�������(zRx����/D$4����FJw�?:*3$"\�����,t�����E�H�D@�
CAAD�x���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�������` �N�
XP X ���o0h
�x �0�	���o���o����o�o����oh 	 	0	@	P	`	p	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�GA$3p11130
UGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*0
�
GA*GOW*�GA$3a1 eGA*�UGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y�a���o��$n���o��`}00��B�����		���	�	��0
0
%�XX
�hh���<����P P�X X�` `�h h�x x��      
0 Z `` �#)PKi�Z�u�ܸ-�-2usr/share/doc/alt-libxml2-devel/examples/.libs/io1nuȯ��ELF>�@8&@8@@@@hh���PP 00 0 � HH H ���  ���DDS�td���  P�td���\\Q�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��:X��>�I�fJO��A=��A 
��|BE��)��qX9�* ��St �9 "���c��98  &  �(  -  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlRegisterInputCallbacksxmlDocDumpxmlXIncludeProcessxmlMemoryDumpxmlReadMemorylibc.so.6exitstrlenstdoutmemcpystderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.14GLIBC_2.2.5LIBXML2_2.6.0LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64�0���>ui	I���U�Lc0 �
8 p
@ @   �� � � � 
�    (  p x � � � � 	� � � 
� � � � ��H��H�� H��t��H����5J �%K ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D��S�
R�Q���H�
�H�H�5\H�=�������x^H�
 H���=���H��E1�1�H�[���W���H��H��tH���W�����~LH�=� H������H������G�������1�[�H�
� ��H�=�1�������H�
� ��H�=��
�����`���H�
y �#�H�=������9���f���1�I��^H��H���PTL�6H�
�H�=����� �H�=	 H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=r H��tH�=� ����d����� ]������w������H��t
�a 1�ø�����@��U��SH��H�������u7H��t2�-0 ��H��H��H��9�N�Hc�)�����- H����[]��������f���H��H��t,�H�=�����u�� 1H���1��D��H��1�H��t�H�=�����������fD��AWI��AVI��AUA��ATL�%d UH�-d SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���<list><people>a</people><people>b</people></list>failed to register SQL handler
failed to parse the including file
<?xml version='1.0'?>
<document xmlns:xi="http://www.w3.org/2003/XInclude">
  <p>List of people:</p>
  <xi:include href="sql:select_name_from_people"/>
</document>
sql:include.xmlXInclude processing failed
;\
x����X����(���88���x(����H����������$���X�����zRx�����/D$4���FJw�?:*3$"\�����tP���(�\���WE�C�D |
CAD�����;�����*���E��
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBBD���
p
@ �r�	
(0 8 ���o0�h
�X 8��	���o���oP���o�o���oH  
0
@
P
`
p
�
�
�
�
�
�
�
�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1
5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
�
GA*FORTIFY�GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�
�.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008Qhh(Y���a���o.n���oPP`}���B��8��	�	�

���
�
����e�((
�88]���\���X�0 0�8 8�@ @�H H�X X��        
0 Z8 `l �%)PKi�Z^m�4�-�-8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-xpath1nuȯ��ELF>0@0&@8@@@@hh���88   �0 (( ( ���  ���DDS�td���  P�td���\\Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUo���:��L���GB5k�S�A K��|�BE��)��qX9�@* S2r�� 9 c"s`�����\�@  �(  �  N0  �  U   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64(0ui	�ti	��L�  �    � � � 	� 
�    (  0  P X ` h p x � � � 
� � � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D��U�G�SH��H����wB�������
R�
���1҃�t$H�sH�{�V��xC�}����X���1�H��[]�H�S��H�
" �"�H�=!
�|���H�;�����H�;����f���1�I��^H��H���PTL��H�
_H�=H����� �H�=� H�� H9�tH�n H��t	�����H�=q H�5j H)�H��H��H��?H�H�tH�5 H��t��fD�����=] u+UH�= H��tH�=. ����d����5 ]������w����H��H��t[H��H�=� �1�H���Z����4H�
� �H�=��-����3H�
� H���H�=�����H�
.	�BH�5�H�=3����ff.�f���AVAUATUSH���jH���BH��H�����I��H���H���
fDH���< t���tk�=H����H�����L�h� L������H��t*�L��H��H��L�p������u7M��tL����L��H��H�������uL��� 1�[]A\A]A^�H�=� M��H��1�H�L�����L��� [�����]A\A]A^�H�
d �&�H�=����L��M [�����]A\A]A^�H�
0 �(�H�=����������e���H�
i��H�5!H�=,���H�
J��H�5H�=�r���f���AVAUATUSH����I��H��H���\�1�H���H�����������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H��1����I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH��H��1��N���XZI9�u�[]A\A]A^�fDH�ѾL��H��1��#����r���fDI��I�оH��H��1�����K����H�ѾH��1�H�������&���f�[H��1�]H��A\�A]1�A^���H�
i��H�5AH�=n���H�
J��H�5"H�=4���f���AUATUSH��H���EI��H���H��I���R���H��H��ttH�����H��H����M��tL��H���&�������H��L������I��H��tYH�xH�5� ���L���s���H�����H������1�H��[]A\A]�H�=? H�پ1�H�~����������L��H��H�= �1����H���-���H�����������L��H����H�
� �*�H�=B�5���H���}���������b���H�
,�[H�5�H�=O�4���H�

�ZH�5�H�='����D��AWI��AVI��AUA��ATL�%D UH�-D SL)�H���g���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath1.cxpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\
�������p���x`����������Pp�����`���`zRx���/D$4� FJw�?:*3$"\�t�����DO
Q`������F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX�8����F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8P����{F�B�A �A(�D0�
(A ABBA,���E�D�G ~
AAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB�����  (�H
(  ���o0p
	8 ��	�	���o���oX���o�o���o( �������� 0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1H_GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1`5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY �
GA*FORTIFY�GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS �.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp�Y	a���o8n���oXXP}���B�	�	��HH�pp �����
�
��((
�@@���\�  � � �   �( (�8 8��         
0 Z@ `` �%)PKi�Z�T�˸+�+4usr/share/doc/alt-libxml2-devel/examples/.libs/tree2nuȯ��ELF>�@8$@8@@@@hh���``   �� 00 0 ���  ���DDS�td���  P�td<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUy�UhStc���5��/4���@ ��|CE���qXq* �K�a�� �9 ."���=S�p  ]  d  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlNewDocTextxmlCheckVersionxmlSaveFormatFileEncxmlNewDocxmlCleanupParserxmlFreeDocxmlNewPropxmlCreateIntSubsetxmlMemoryDumpxmlNewDocNodexmlDocSetRootElementxmlNewChildxmlAddChildlibc.so.6__stack_chk_fail__cxa_finalize__sprintf_chk__libc_start_main_edata__bss_start_endGLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64@ti	uii
�ui	��L� �  `( ( � � � 	� � X ` h p x � � 
� � 
� � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D��AWAVAUATU�SH��(H�t$�|$�
RdH�%(H��$1���H�=��t���1�H��1�H��I�����L��H��I������H�
g1�L��H�5V�h���H�
Y1�L��H�_���1�H�W1�L���m���H�
L1�L��H�Y�U���H��H�5LH��H���|���H��H�AH�5>�f���1�H�41�L������H�5DL��H�����H��H�����H��L��H�\$�v���A��H�
�H��1���A��r���1�H��1�L�����I��E��A��H�
�H�ߺ�1��?���1�1�H��L�����A��H�
!H�HE�H�5�H��A�����A��u���ul�|$H�=�~	H�D$H�x�H�ZL������L���I�������o���1�H��$dH3%(u$H��([]A\A]A^A_������A������1�I��^H��H���PTL�FH�
�H�=������ �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=�
 �Y����d����q ]������w������AWI��AVI��AUA��ATL�%L
 UH�-L
 SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noyes-1.0roottree2.dtdcontent of node 1node1node2this node has attributesnode3attributebarfoonode4node%dnode%d%doddUTF-8other way to create content (which is also a node);<`���pp����p��������X���� ���HzRx�`���/D$4��FJw�?:*3$"\���Lt����OF�B�B �B(�A0�F8�G�
8A0A(B BBBID�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB����`( �8

(   ���o0�`
�@ ����	���o���o����o�ob���o0 p
�
�
�
�
�
�
�
�
 0@P`GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18
�GA$3p1113p%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p�GA*GOW*�GA$3a1�5GA*�%GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``@Y���a���obb0n���o��`}����B����8
8
�`
`
�pp�pp��((
�88��<�@@ � �   �( (�0 0�@ @��      
0 Z `` �#)PKi�ZҊk�PP7usr/share/doc/alt-libxml2-devel/examples/.libs/lt-tree1nuȯ��ELF>�	@�@8@@@@hh���8
8
 `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td���DDQ�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU����0��j;<�\~W�8dF���@ ��|CE���qX* ��S�c 9 �"o�� � � libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui	
ti	`
 �
h
 @
p
 p
 � � � � � 	� � � � � 	� 
� ��H��H�� H��t��H����5J �%K ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D����t��U�
RSH��Q���H�{1�1����H��H��t#H�����H���H���d������Z1�[]�H�SH�5�1��"�������1�I��^H��H���PTL��H�
/H�=h���� �H�=1 H�* H9�tH�� H��t	�����H�= H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�= ����d����� ]������w����H��tKUH�-�SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�������f.�D��AWI��AVI��AUA��ATL�%T UH�-T SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���node type: Element, name: %s
error: could not parse file %s
;D����x����p������`����0�������`zRx�x���/D$4����FJw�?:*3$"\X���p,t���QF�H�G \
AAEX��,�����pP�F�D x
CAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB8����
@
p
 �% 
h`
 h
 ���o0�`
k� �x��	���o���oX���o�o4���ox
 P`p����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1 �	GA$3p11130	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�	uGA$3p1113�
eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
UGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``hY��ka���o44n���oXX`}����Bxx��  �@@����p�0	0	5�hh
�xxH���D�0�`
 `
�h
 h
�p
 p
�x
 x
�� �x�  
0Z``@�)PKi�Z�ȸ+�+9usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader3nuȯ��ELF>
@8$@8@@@@hh���(( 88 8 � PP P ���  ���DDS�td���  P�td���<<Q�tdR�td88 8 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU;����K����i.�A 
��|BE��)��qX9�* ��7��� 9 ("���pS\8  I  (  P  !   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64P���a���o�L}����ui	�ti	�8 �
@ �
H H � � � 	� 
�    (  x � � � � � � � � 
� � � ��H��H�� H��t��H����5 �% ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1�������%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D��ATL�%�UH�-�S��uH�nL�f�
R�C���1�1�H�����H��H����1�L��H�������x[f.�H���(�����t�ubH������H��H���\���H��tH�=� H������H������+�������[1�]A\�H�=� M��H��1�H���o����H�=f H��1�H���P���H������H�=? H��1�H���)�������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=� ����d����] ]������w������AWI��AVI��AUA��ATL�%, UH�-, SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
;<h���p8������������X����x���(zRx�����/D$4��FJw�?:*3$"\�����,t@���F�H�H ��
CBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�H����
�
H �0

h8 @ ���o0xh
�`  	 �	���o���o����o�op���oP `
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a10
/
GA$3p1113�eGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a10
uGA*�
eGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhYxx�a���opp,n���o���}  ��B		 �0
0
�P
P
��  ������hh
�xxp���<�((�8 8�@ @�H H�P P�` `��        
0 Z8 `` �#)PKi�Z�0�ڸ�8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse1nuȯ��ELF>�	@8@8@@@@hh����� `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�tdppp<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�3`���ۭ�V���{��06��A 
��|CE���qX9��* �S�c 9 �"�o�0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlMemoryDumplibc.so.6__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui	ti	`
 �
h
 �
p
 p
 � � � � � 	  � � � � � 	� 
� ��H��H�q H��t��H����5
 �% ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%} D���%u D���%m D���%e D����t��S�
RH�����H�[1�1�H�����H��tH���v���������1�[�H�=a H�پH���-�����f.����1�I��^H��H���PTL�FH�
�H�=h����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=� ����d����u ]������w������AWI��AVI��AUA��ATL�%t UH�-t SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to parse %s
;<���p���������p���X`�������zRx����/D$4�����FJw�?:*3$"\�ptH���eP�w
AD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
�
p
 �&X
H`
 h
 ���o0�h
l� ����	���o���ox���o�oT���ox
 �������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1X
GA$3p1113p	EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*p	�	GA*GOW*�GA$3a1
UGA*�
EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��la���oTT n���oxx`}����B����XX�����		p�p	p	��HH
�XX�pp<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)PKi�Z]^�0P-P-5usr/share/doc/alt-libxml2-devel/examples/.libs/parse4nuȯ��ELF>p
@�%@8@@@@hh����� (( ( � @@ @ ���  ���DDS�td���  P�tdPPPDDQ�tdR�td(( ( ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�o��� (��P"W�i�[���A 
��|CE���qX9��* �a� 9 "��	��S�qC8  0  7  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 �LH�ii
Wui	ati	m( P0 8 8 � � � � � 	   h p x � � 	� 
� � � 
� � � � � ��H��H�� H��t��H����5R �%S ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
���������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R���H�{H�5�����H�� H����L�cH�\$H�������M��H��1�1�����H��H��u��D1ɉ�H��H������H�������1�H��H�����D�mH��H�]����E��tdH���V���H�=_ ��������p���1�����H�=2 L��1�H������H�KH�= H��1�������H�=� L��1�H������z���H�
� �"�H�=��K����`����������1�I��^H��H���PTL�fH�
�H�=8����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=
 u+UH�=� H��tH�= ����d����� ]������w����H��H�
� �����H����AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���rbFailed to parse %s
Failed to create parser context !
;D����x���������� ���`����0�������XzRx�����/D$40����FJw�?:*3$"\�����tP���DZ<������F�B�A �A(�D@r
(A ABBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB@���P8 �y�	
�( 0 ���o0�h
�P P���	���o���oX���o�o$���o@ 
 
0
@
P
`
p
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�
GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh(Y���a���o$$.n���oXX`}����B��P��	�	�

���
�
����%���
�H�PPD���(�( (�0 0�8 8�@ @�P P��        
0 Z8 `` @�$)PKi�Zz���P-P-8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-xpath2nuȯ��ELF>�@�%@8@@@@hh���   �  00 0 ���  ���DDS�td���  P�td���DDQ�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU��MK��_5
}��UE��:��A 
��|BE��)��qX9��.* S �`�� 9 sQ"`����J�8  r  <(  y  C   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640ui	�ti	��L� `   ( ( � � � 
� � 
   (  X ` h p x � � 	� � 
� � � � � � � ��H��H� H��t��H����5R �%S ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D��AWAVAUI��ATUSH�����4�����
R�#���I�mM�eM�uH���M����M����H������H��H����H��� ���H��H���\H��L���Y���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$���I�WH�D$J�*H�1�~tH�M9�u�H�����H�����H�= H������H���)�������o���1�H��[]A\A]A^A_�H�
� �"�H�=N���I�}�����H�
���H�5�H�=����H�=} L��H���Y���H������H�����I�}����k���H�
A �*�H�=���H���c�����H�= H��1�H�����H�
s�\H�5#H�=8��H�
T�[H�5H�=����H�
5�ZH�5�H�=����D��1�I��^H��H���PTL��H�
H�=X����2 �H�=Q H�J H9�tH� H��t	�����H�=! H�5 H)�H��H��H��?H�H�tH�� H��t��fD�����= u+UH�=� H��tH�=� �9����d����� ]������w����H��tH��H�=� �1�H���~���PH�
��DH�5�H�=��~���f.�@��AWI��AVI��AUA��ATL�%< UH�-< SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath2.cfilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
usageupdate_xpath_nodesexample4;@L���t\����\�������\�����������\zRx�x���/D$4���FJw�?:*3$"\����t���BcH�����{F�B�B �E(�A0�A8�DP2
8A0A(B BBBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB(���` ( ��

8   ���o0�h
�@ �H	X�	���o���o���o�o����o0  0@P`p��������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
�GA$3p1113
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�EGA$3p1113�5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�%GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhpY���a���o��4n���oP}XX��BH	H	���
�
��
�
��

5�88
�PPQ���D���0� �   �( (�0 0�@ @��        
0 Z8 `` @�$)PKi�Z�k�+�+8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse2nuȯ��ELF>p@8$@8@@@@hh����� HH H �� `` ` ���  ���DDS�td���  P�tdD
D
D
<<Q�tdR�tdHH H ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�֛�.x8)����P��A 
��|CE���qX9���* �S� �9 �"�u�c0      �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640����L-�ui	<ti	HH PP X X � � � � 	� 
   � � � � � � 
� � � 
� ��H��H�� H��t��H����52 �%3 ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q�������%� D���%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D����t��AT�
RUSH���`���L�c�G���H��H��tc�1�L��H���]���H��H��th���t!H���4���H������g����R���[1�]A\�H�= L��1�H������H�
� �"�H�=��/����H�=� L��1�H������f.�@��1�I��^H��H���PTL�FH�
�H�=�����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=
 u+UH�=� H��tH�=& �	����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
;8����l�����L����,���T��������$zRx����/D$4�����FJw�?:*3$"\����,t�����Q�F�A �W
CBAD�8���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�`���PX �T	
�H P ���o00h
�p �(P�	���o���o����o�o����o` P	`	p	�	�	�	�	�	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1	�GA$3p1113�
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
bGA*GOW*�GA$3a1��GA*`�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y00�a���o��&n���o��`}PP��B((��		�@	@	���	�	���
�
E���
���[�D
D
<��
�
�H H�P P�X X�` `�p p��        
0 Z0 `` �#)PKi�Z?:�P-P-6usr/share/doc/alt-libxml2-devel/examples/.libs/reader4nuȯ��ELF>�@�%@8@@@@hh��� 00 0 � HH H ���  ���DDS�td���  P�td���DDQ�tdR�td00 0 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUu�r
	�d����]
��C�h�A 
��|CE���qX9�e* ��-v�� 9 "���SR0  ?  F     libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlFreeTextReaderxmlReaderNewFilexmlCheckVersionxmlCleanupParserxmlFreeDocxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__printf_chk__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30LIBXML2_2.5.0LIBXML2_2.6.0/opt/alt/libxml2/usr/lib64�0ui	Wti	c�Lo���~����0 p
8 0
@ @ � � � 
� �    p x � � � � � 	� � 
� � � � ��H��H�� H��t��H����5Z �%[ ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!�������%� D���%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D��AUATUS�H������I��A���
R�D���I�}1�1����H��H��tuH���A��t1A�D$�I�]M�d�H�31�1�H��H�����H���UL9�u�H������H��tH�����H��1��A����,�������H����[]A\A]�I�MH�=� H��1���l�����f.���1�I��^H��H���PTL�FH�
�H�=�����" �H�=A H�: H9�tH� H��t	�����H�= H�5
 H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����UH��SH���������f�H�������t�H���I���H����H���H��tL��u H��H��H�5t1�[�]�$���@H�=) H��H��1�[H�5�]����DH�
 ��H�=��k����f����h���f�H�
� H����[H�=�]�-���f.���AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���failed to obtain document
Failed to obtain URL
%s: Failed to parse
%s: Processed ok
%s: failed to create reader
;@|���t\����,�������\���������4l���|zRx�����/D$4����FJw�?:*3$"\�����@t@����A�D�D K
MFIK
FMJCKH8�,����F�B�A �A(�I0�
(C ABBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB<��p
0
@ ���	
�0 8 ���o0xh
�X 8���	���o���o`���o�o.���oH 
 
0
@
P
`
p
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�	�GA$3p1113�sGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004QhhYxx�a���o..,n���o``p}����B��8��	�	�

���
�
����E���
�y���D���P�0 0�8 8�@ @�H H�X X��        
0 Z0 `` @�$)PKi�Z3?��PP4usr/share/doc/alt-libxml2-devel/examples/.libs/tree1nuȯ��ELF>p	@�@8@@@@hh���

 `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�td���DDQ�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUQ6�K�4�慁�o�./��B��@ ��|CE���qX* ��S�c 9 �"o�� � � libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlReadFilexmlCleanupParserxmlFreeDocxmlDocGetRootElementlibc.so.6__printf_chk__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640�����L��ui	
ti	`
 P
h
 
p
 p
 � � � � � 	� � � � � 	� 
� ��H��H�� H��t��H����5z �%{ ��h�������h��������h�������h�������h�������h�������h��������% D���%� D���%� D���%� D���%� D���%� D���%� D����t��U�
RSH��Q���H�{1�1����H��H��t#H�����H���H���d������Z1�[]�H�SH�5�1��"�������1�I��^H��H���PTL��H�
/H�=h����B �H�=a H�Z H9�tH�. H��t	�����H�=1 H�5* H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=> ����d����� ]������w����H��tKUH�-�SH��H���{tH�{����H�[0H��u�H��[]�@H�SH��1�������f.�D��AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���node type: Element, name: %s
error: could not parse file %s
;D����x����p������`����0�������`zRx�x���/D$4����FJw�?:*3$"\X���p,t���QF�H�G \
AAEX��,�����pP�F�D x
CAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB8���P

p
 �%�
8`
 h
 ���o0�`
@� �H��	���o���o(���o�o���ox
  0@P`p�GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��	GA$3p1113	�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�	EGA$3p1113�
5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�
%GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o000Q``hY��@a���on���o((`}����BHH���������p�		5�88
�HHH���D���0�`
 `
�h
 h
�p
 p
�x
 x
�� �x�  
0Z``@�)PKi�Z�;s԰-�-5usr/share/doc/alt-libxml2-devel/examples/.libs/xpath1nuȯ��ELF>@0&@8@@@@hh���   �0 (( ( ���  ���DDS�td���  P�td���\\Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUq�e�K�J��"F�)Cf���A K��|�BE��)��qX9�@* S2r�� 9 c"s`�����\�@  �(  �  N0  �  U   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathRegisterNsxmlXPathNewContextxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlStrdupxmlFreeDocxmlFreexmlXPathFreeContextxmlInitParserxmlMemoryDumpxmlStrchrlibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib64(0ui	�ti	��L� � �    � � � 	� 
�    (  0  P X ` h p x � � � 
� � � � � � � � ��H��H�� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D���%m D���%e D��U�G�SH��H����wB�������
R�
���1҃�t$H�sH�{�V��xC�}����X���1�H��[]�H�S��H�
R �"�H�=!
�|���H�;�����H�;����f���1�I��^H��H���PTL��H�
_H�=H����� �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�e H��t��fD�����=� u+UH�=B H��tH�=^ ����d����e ]������w����H��H��t[H��H�= �1�H���Z����4H�
� �H�=��-����3H�
� H���H�=�����H�
.	�BH�5�H�=3����ff.�f���AVAUATUSH���jH���BH��H�����I��H���H���
fDH���< t���tk�=H����H�����L�h� L������H��t*�L��H��H��L�p������u7M��tL����L��H��H�������uL��� 1�[]A\A]A^�H�=� M��H��1�H�L�����L��� [�����]A\A]A^�H�
� �&�H�=����L��} [�����]A\A]A^�H�
` �(�H�=����������e���H�
i��H�5!H�=,���H�
J��H�5H�=�r���f���AVAUATUSH����I��H��H���\�1�H���H�����������I�FH�H���J�S�L�-�L�$��O�A����H�@HH����H�HI�оH��H��1����I9�t`I�FH�H��H����D�@H�PA��u�H�H�qHH�yH�HH��tXH��L�NI�оWH��H��1��N���XZI9�u�[]A\A]A^�fDH�ѾL��H��1��#����r���fDI��I�оH��H��1�����K����H�ѾH��1�H�������&���f�[H��1�]H��A\�A]1�A^���H�
i��H�5AH�=n���H�
J��H�5"H�=4���f���AUATUSH��H���EI��H���H��I���R���H��H��ttH�����H��H����M��tL��H���&�������H��L������I��H��tYH�xH�5� ���L���s���H�����H������1�H��[]A\A]�H�=o H�پ1�H�~����������L��H��H�=A �1����H���-���H�����������L��H����H�
 �*�H�=B�5���H���}���������b���H�
,�[H�5�H�=O�4���H�

�ZH�5�H�='����D��AWI��AVI��AUA��ATL�%t UH�-t SL)�H���g���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath1.cxpathCtxnsListoutputResult (%d nodes):
nodes->nodeTab[i]= element node "%s:%s"
= element node "%s"
= node "%s": type %d
filenamexpathExprUsage: %s <xml-file> <xpath-expr> [<known-ns-list>]
where <known-ns-list> is a list of known namespaces
in "<prefix1>=<href1> <prefix2>=href2> ..." format
Error: unable to strdup namespaces list
Error: invalid namespaces list format
Error: unable to register NS with prefix="%s" and href="%s"
= namespace "%s"="%s" for node %s:%s
= namespace "%s"="%s" for node %s
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: failed to register namespaces list "%s"
Error: unable to evaluate xpath expression "%s"
Error: wrong number of arguments.
print_xpath_nodesregister_namespacesexecute_xpath_expressionusage;\
�������p���x`����������Pp�����`���`zRx���/D$4� FJw�?:*3$"\�t�����DO
Q`������F�B�B �A(�A0��
(A BBBAj
(F BBBAg
(F BBBAX�8����F�B�B �A(�A0��8M@R8A0F
(A BBBGi
(F IGDE8P����{F�B�A �A(�D0�
(A ABBA,���E�D�G ~
AAAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB������  (�
�  ���o0p
�8 ��	x	���o���o(���o�o����o( P`p�������� 0@PGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1/GA$3p1113p
{GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a10GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�{
GA*FORTIFY��GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS�{.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp�Y�a���o��8n���o((P}xx�B�	�	���@@ �``�p
p
����
����\���� � �   �( (�8 8��         
0 Z@ `` �%)PK i�Z:oRP-P-8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse4nuȯ��ELF>�
@�%@8@@@@hh����� (( ( � @@ @ ���  ���DDS�td���  P�td���DDQ�tdR�td(( ( ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�a�g���"I����j��4�A 
��|CE���qX9��* �a� 9 "��	��S�qC8  0  7  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseChunkxmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlCreatePushParserCtxtxmlMemoryDumplibc.so.6fopen__stack_chk_fail__fprintf_chkfclosestderrfwritefread__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64 �LH�ii
Wui	ati	m( �0 @8 8 � � � � � 	   h p x � � 	� 
� � � 
� � � � � ��H��H�� H��t��H����5" �%# ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
���������%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D���%� D���%� D��AUATUSH��dH�%(H�D$1����tH�T$dH3%(�^H��[]A\A]�H��
R���H�{H�5�����H�� H����L�cH�\$H�������M��H��1�1�����H��H��u��D1ɉ�H��H������H�������1�H��H�����D�mH��H�]����E��tdH���V���H�=/ ��������p���1�����H�= L��1�H������H�KH�=� H��1�������H�=� L��1�H������z���H�
� �"�H�=��K����`����������1�I��^H��H���PTL�fH�
�H�=8���� �H�=1 H�* H9�tH�� H��t	�����H�= H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w����H��H�
� �����H����AWI��AVI��AUA��ATL�%\ UH�-\ SL)�H���'���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���rbFailed to parse %s
Failed to create parser context !
;D����x���������� ���`����0�������XzRx�����/D$40����FJw�?:*3$"\�����tP���DZ<������F�B�A �A(�D@r
(A ABBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB@����@8 �y

(( 0 ���o0�h
�P P���	���o���o����o�oP���o@ @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1
�
GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�
5GA$3p1113�%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY�GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh(Y���a���oPP.n���o��`}����B��P�

�0
0
��  ��%�((
�88H���D���(�( (�0 0�8 8�@ @�P P��        
0 Z8 `` @�$)PK i�Z�YP���8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse3nuȯ��ELF>�	@8@8@@@@hh����� `
`
 `
 �� x
x
 x
 ���  ���DDS�td���  P�tdhhh<<Q�tdR�td`
`
 `
 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU!�c�&[{[;��|�Xl�~�e�A 
��|CE���qX9�* �St 9 �"�c��0 � � �  libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlCleanupParserxmlFreeDocxmlMemoryDumpxmlReadMemorylibc.so.6stderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib640�����L��ui		`
 �
h
 `
p
 p
 � � � � �   � � � � � 	� 
� ��H��H�� H��t��H����5* �%+ ��h�������h��������h�������h�������h�������h�������h��������%� D���%� D���%� D���%� D���%� D���%� D���%� D��H���
R�~���E1�1ɾH��H�=����H��tH���d�������z���1�H���H�
| ��H�=������@��1�I��^H��H���PTL�FH�
�H�=h����� �H�= H�
 H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� �y����d����� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H���W���H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���noname.xml<doc/>Failed to parse document
;<����px�������X���XH��������zRx�����/D$4�����FJw�?:*3$"\���pt0���lHD
AD�p���eF�E�E �E(�H0�H8�G@n8A0A(B BBB������
`
p
 �8
(`
 h
 ���o0�h
[� ����	���o���oh���o�oD���ox
 p������GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a18�	GA$3p1113P	%GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*P	�	GA*GOW*�GA$3a1�	5GA*�
%GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��[a���oDD n���ohhP}����B����88�``����p�P	P	��((
�880�hh<�����`
 `
�h
 h
�p
 p
�x
 x
�� �x�    
0Z0``�)PK i�ZL�׸+�+5usr/share/doc/alt-libxml2-devel/examples/.libs/parse2nuȯ��ELF>@@8$@8@@@@hh���PP HH H �� `` ` ���  ���DDS�td���  P�td


<<Q�tdR�tdHH H ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�s�N�g���󠍜��DA�A 
��|CE���qX9���* �S� �9 �"�u�c0      �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlCheckVersionxmlFreeParserCtxtxmlCleanupParserxmlFreeDocxmlNewParserCtxtxmlMemoryDumpxmlCtxtReadFilelibc.so.6__fprintf_chkstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.0LIBXML2_2.4.30GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib640����L-�ui	<ti	HH  P �X X � � � � 	� 
   � � � � � � 
� � � 
� ��H��H�� H��t��H����5b �%c ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q�������%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%} D���%u D����t��AT�
RUSH���`���L�c�G���H��H��tc�1�L��H���]���H��H��th���t!H���4���H������g����R���[1�]A\�H�=D L��1�H������H�
% �"�H�=��/����H�= L��1�H������f.�@��1�I��^H��H���PTL�FH�
�H�=�����r �H�=� H�� H9�tH�^ H��t	�����H�=a H�5Z H)�H��H��H��?H�H�tH�% H��t��fD�����== u+UH�= H��tH�=V �	����d���� ]������w������AWI��AVI��AUA��ATL�%� UH�-� SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���Failed to allocate parser context
Failed to parse %s
Failed to validate %s
;8����l�����L����,���T��������$zRx����/D$4�����FJw�?:*3$"\����,t�����Q�F�A �W
CBAD�8���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�`��� �X �T�
�H P ���o00h
op �(�	���o���o����o�o����o`  	0	@	P	`	p	�	�	�	�	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�oGA$3p1113`
�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*`
2GA*GOW*�GA$3a1p�GA*0�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y00oa���o��&n���o��`}((��B�����		���	�	��`
`
E���
���[�

<�P
P
�H H�P P�X X�` `�p p��        
0 Z0 `` �#)PK i�ZM0��M�M9usr/share/doc/alt-libxml2-devel/examples/.libs/testWriternuȯ��ELF>�@0F@8@@@@hh����8�8 �<�< �< t� �<�< �< ���  ���DDS�td���  P�td858585ddQ�tdR�td�<�< �< pp/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�ݿ�"%
�Y_��b�&�@ @I&+�\�XX�<���|�CE���qXf��* ��,���PQkbz �9 �"���7������:&��Sv @ !0@ �H@ �8@ �@ �@ libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlSaveFileEncxmlTextWriterEndElementxmlTextWriterWriteAttributexmlTextWriterEndDocumentxmlTextWriterWriteElementxmlBufferFreexmlTextWriterWriteFormatElementxmlCheckVersionxmlNewTextWriterTreexmlNewDocxmlCleanupParserxmlNewTextWriterFilenamexmlFindCharEncodingHandlerxmlFreeDocxmlMallocxmlNewTextWriterDocxmlTextWriterStartDocumentxmlTextWriterWriteFormatCommentxmlFreeTextWriterxmlFreexmlBufferCreatexmlMemoryDumpxmlTextWriterWriteCommentxmlReallocxmlNewDocNodexmlNewTextWriterMemoryxmlDocSetRootElementxmlTextWriterStartElementlibc.so.6__printf_chkfopen__stack_chk_failstrlenfputsfclose__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.4GLIBC_2.3.4GLIBC_2.2.5LIBXML2_2.4.30LIBXML2_2.6.3LIBXML2_2.6.0/opt/alt/libxml2/usr/lib64�@ii
�ti	ui	�L���,���:�< ��< @�< �< �? �? 
�? �? �?  @ &0@ '8@ )�> �> �> �> �> �> ? ? 	? ?  ? 
(? 0? 8? @? H? P? X? `? h? p? x? �? �? �? �? �? �?  �? !�? "�? #�? $�? %��H��H��/ H��t��H����5�. �%�. ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h��Q������h��A������h��1������h��!������h��������h��������h������h ��������%�, D���%�, D���%�, D���%}, D���%u, D���%m, D���%e, D���%], D���%U, D���%M, D���%E, D���%=, D���%5, D���%-, D���%%, D���%, D���%, D���%
, D���%, D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D���%�+ D��H���
R�^���H�=��H�=���H�=��:H�=���i����$���1�H���f.���1�I��^H��H���PTL�FH�
�H�=x����+ �H�=1+ H�*+ H9�tH��* H��t	�����H�=+ H�5�* H)�H��H��H��?H�H�tH��* H��t��fD�����=�* u+UH�=�* H��tH�=>' ����d�����* ]������w������AVAUATUSH��dH�%(H�D$1�H����H��H��I�����H��H����H���5���D�hI��C�|-��<$Hc��-* I��H����D�t$H�L$H��H��H��S��xw�T$��D)��uI�$L��pHc���) H��Hc$�H�L$dH3%(H����H��[]A\A]A^��H�5�1����L��1��) �H�=�������f�1��@M��H�<�LD�H�5f1�L������s����H�==1��z����Y��������U1�SH���o���H����1�1�H�H��H��������@H�5
H��������H�5�H�=C�>���H��H��H���������HH��t	H���( H�5�H���������H��H�5�H���]�������H��H�5�H���?�������H�5aH�=����H�5]H��H��H��1��]�������H��t	H��/( H�5XH���������01���H��H�>H�5=��������1���H��H�*H�5&�������vH�5�H�=����H�5H��H��H��������.H��t	H���' H�5�H�=�����H�5�H��H��H���p�������H��t	H��R' H���������H�5�H���+������CH�5�H���������,H��H�5�H����������1��
H��H�-H�5l������yH���������H�53H���������H�:H�5"H��������1��H��H��H�5�w������H���������/H���������H�5�H���0�����xLH��H�5�H���&�������H����������H���f�������XH��[]����H��H�=�[]���fDH��H�=�[]���fDH��H�=u[]����fDH��H�=5[]���fDH��H�=[]���fDH��H�=[]���fDH��H�=�[]�n���fDH��H�=m[]�V���fDH��H�=[]�>���ZH�=>[]�/���ff.�@��AUI��ATUSH������H�=KH����1�H��H���m���H��H����H��1�H��
1��.���H�=����H�5�
H���������H�5r
H�=�����H��H��I�����H�=����?M��t	L��B$ H�5G
H���+������3H�6
H�53
H���������5H�$
H�5 
H��������H�5�H�=
�4���H��H�5�H��I��1�����H�=�����M��t	L���# H�5�H���������1���H��H��H�5��|�������1���H��H��H�5��W�������H�59H�=����H�5�H��H��I���'������oM��t	L��	# H�5�H�=`�N���H�5YH��H��I�������1M��t	L���" H���{������#H�5%H�������H�5H�������H�H�5H�������1��
H��H��H�5��Z�������H�������H�5�H���#���+H��H�5�H������]1��H��H�<H�5{�����(H������8H������(H�5YH�������H�IH�5RH�������H���;����H�����H�=,��xWH���x�L��H�5��H�=BH��H��t1H�}H���~�H������XH��[]A\A]���H�=�H��[]A\A]�*�f.�H��H�=
[]A\A]�
�f.�H��H�=][]A\A]���f.�H�=���H�=���H�=�{���@��AT1�I��USH��dH�%(H�D$1�H����H����1�1�H�D	H��H�������pH�55	H���!���)H�5	H�=k�f���H��H��H���(���`H��t	H��� H�5�H��������H��H�5�H�������H��H�5�H���g����H�5�H�=����H�5�H��H��H��1�����H��t	H��W H�5�H���@���H1���H��H�fH�5e�+����1���H��H�RH�5N����~H�5�H�=?�;�H�5:H��H��H�������>H��t	H��� H�5�H�=��H�5H��H��H������H��t	H��z H���*���"H�5�H���S���[H�5�H���<���DH��H�5�H���.����1��
H��H�UH�5��	����H�������H�5[H���������H�bH�5JH��������,1��H��H��H�5*����H���?���7H���/���'H�5H���X���xdH��H�5H���N�����H���������H�������H���.�H�4$L��H���H�<$���H�=y
��H�D$dH3%(��H��[]A\��H�=
�����f�H�=�
����f�H�=�����f�H�=Q
���f�H�=1���f�H�=�
���{����H�=�
�|��c����H�=)�d��K������H�=K�N��5���f���AUI��H�=ATUSH�����H�=LH����1�H��1�H��H���-�H��H����H��H���V�H��H��1����H�=jH��H���mH��1�H��1���H�=|���KH�5nH�=���H��H��I����H�=����M��t	L��> H�5CH���'����/H�2H�5/H���������H� H�5H��������H�5�H�=�0�H��H�5�H��I��1����H�=�����M��t	L��� H�5�H��������1���H��H��H�5��x�����1���H��H��H�5��S����kH�55H�=���H�5�H��H��I���#����KM��t	L�� H�5�H�=\�J�H�5UH��H��I��������
M��t	L��� H���w�����H�5!H��������H�5H��������H�H�5H���{�����1��
H��H��H�5��V����nH�������~H�5�H�������'H��H�5�H�������91��H��H�8H�5w������H�������H���|����H�5UH��������H�EH�5NH��������H���7�����H�����H�=0
��x3H���t�L��H��H�H�B�XH��[]A\A]���H�=�
H��[]A\A]�J�f.�H��H�=�[]A\A]�*�f.�H��H�=U[]A\A]�
�f.�H�=���H�=��H�=A�{���@��AWI��AVI��AUA��ATL�%� UH�-� SL)�H���/�H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���ConvertInput: no memISO-8859-1EXAMPLEORDER1.0versiondexml:lang<�>HEADER%010dX_ORDER_ID%dCUSTOMER_IDM�llerNAME_1J�rgNAME_2ENTRIESENTRY<Test>ARTICLEENTRY_NO<Test 2>FOOTERThis is a text.TEXTwwriter1.tmpwriter2.tmpwriter3.tmpwriter4.tmpConvertInput: no encoding handler found for '%s'
ConvertInput: conversion wasn't successful.ConvertInput: conversion wasn't successful. converted: %i octets.
testXmlwriterFilename: Error creating the xml writertestXmlwriterFilename: Error at xmlTextWriterStartDocumenttestXmlwriterFilename: Error at xmlTextWriterStartElementThis is a comment with special chars: <�>testXmlwriterFilename: Error at xmlTextWriterWriteCommenttestXmlwriterFilename: Error at xmlTextWriterWriteAttributeThis is another comment with special chars: %stestXmlwriterFilename: Error at xmlTextWriterWriteFormatCommenttestXmlwriterFilename: Error at xmlTextWriterWriteFormatElementtestXmlwriterFilename: Error at xmlTextWriterWriteElementtestXmlwriterFilename: Error at xmlTextWriterEndElementtestXmlwriterFilename: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error creating the xml buffertestXmlwriterMemory: Error creating the xml writertestXmlwriterMemory: Error at xmlTextWriterStartDocumenttestXmlwriterMemory: Error at xmlTextWriterStartElementtestXmlwriterMemory: Error at xmlTextWriterWriteCommenttestXmlwriterMemory: Error at xmlTextWriterWriteAttributetestXmlwriterMemory: Error at xmlTextWriterWriteFormatCommenttestXmlwriterMemory: Error at xmlTextWriterWriteFormatElementtestXmlwriterMemory: Error at xmlTextWriterWriteElementtestXmlwriterMemory: Error at xmlTextWriterEndElementtestXmlwriterMemory: Error at xmlTextWriterEndDocumenttestXmlwriterMemory: Error at fopentestXmlwriterDoc: Error creating the xml writertestXmlwriterDoc: Error at xmlTextWriterStartDocumenttestXmlwriterDoc: Error at xmlTextWriterStartElementtestXmlwriterDoc: Error at xmlTextWriterWriteCommenttestXmlwriterDoc: Error at xmlTextWriterWriteAttributetestXmlwriterDoc: Error at xmlTextWriterWriteFormatCommenttestXmlwriterDoc: Error at xmlTextWriterWriteFormatElementtestXmlwriterDoc: Error at xmlTextWriterWriteElementtestXmlwriterDoc: Error at xmlTextWriterEndElementtestXmlwriterDoc: Error at xmlTextWriterEndDocumenttestXmlwriterTree: Error creating the xml document treetestXmlwriterTree: Error creating the xml nodetestXmlwriterTree: Error creating the xml writertestXmlwriterTree: Error at xmlTextWriterStartDocumenttestXmlwriterTree: Error at xmlTextWriterWriteCommenttestXmlwriterTree: Error at xmlTextWriterStartElementtestXmlwriterTree: Error at xmlTextWriterWriteAttributetestXmlwriterTree: Error at xmlTextWriterWriteFormatCommenttestXmlwriterTree: Error at xmlTextWriterWriteFormatElementtestXmlwriterTree: Error at xmlTextWriterWriteElementtestXmlwriterTree: Error at xmlTextWriterEndElementtestXmlwriterTree: Error at xmlTextWriterEndDocument;d�����������h���X������x�4��hX���@zRx����/D$48�� FJw�?:*3$"\0��@tx��`F�B�B �A(�A0�D@�
0A(A BBBI����AE�C�D G
DAHD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAKD
HAEAHAp\@�lF�E�A �A(�D0�
(D ABBLK
(A ABBOD
(H ABBOD
(H ABBO0�<�gF�F�A �D0�
 AABHpx�lF�L�A �A(�D0�
(D ABBHK
(A ABBOD
(H ABBOD
(H ABBOx$��SHJD�X�eF�E�E �E(�H0�H8�G@n8A0A(B BBB����@�< �H�
)�< �< ���o0�p
c�> ��	���o���oP���o�o�
���o�<  0@P`p�������� 0@P`p�������� GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��GA$3p1113@�(GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�)GA$3p1113�()GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��(
GA*FORTIFY�(�(GA+GLIBCXX_ASSERTIONSGA+GLIBCXX_ASSERTIONS��(.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o00<Qpp Y��ca���o�
�
Xn���oPP�}���B������ �00�@@��))
�)) �8585d��5�5���< �<��< �<��< �<��< �<��> �>H�@ @ @ @( 
0@ZH@``@�E)PK i�Z<����+�+9usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader2nuȯ��ELF>�@8$@8@@@@hh���   �(      ���  ���DDS�td���  P�td���<<Q�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�@��$�fv.<��8�,Kjƶ�A 
��|CE���qX9�<* jw��S� �9 �"{��.O�i�0  �  �  �   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderHasValuexmlFreeTextReaderxmlTextReaderIsEmptyElementxmlTextReaderIsValidxmlCheckVersionxmlTextReaderConstValuexmlStrlenxmlCleanupParserxmlTextReaderNodeTypexmlTextReaderConstNamexmlTextReaderReadxmlMemoryDumpxmlTextReaderDepthxmlReaderForFilelibc.so.6__printf_chkputchar__fprintf_chkstderr__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.6.0LIBXML2_2.5.7LIBXML2_2.4.30/builddir/build/BUILD/libxml2-2.10.2/.libs:/opt/alt/libxml2/usr/lib64`0ui	�ti	����������L � P  � � � � 
�    H P X ` h p x 	� 
� � � � � � � � � � ��H��H�Q H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h������h�������h���������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D���%� D���%� D���%� D���%� D����t��AW�
RAVAUATUSH��H������H�C�1�H��H�D$�~���H��H���Of�H�����H�߉Ń����e���H��H��H��H��HD�����H��I�����H��A�����H��A�����H��A���0���H��E��I��AU��D��H�5w�1��,���XZM��t@L���}���L��(~H�5\�1������M���H�5s�1�����5����
����&�������u'H�������u<����f���H��1�[]A\A]A^A_�H�L$H�=� H�1���v����H�L$H�=� H��1���U����H�L$H�=� H��1���4����f���1�I��^H��H���PTL�FH�
�H�=���� �H�=! H� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=� H��tH�=� ����d����� ]������w������AWI��AVI��AUA��ATL�%L UH�-L SL)�H�����H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���--%d %d %s %d %d %.40s...
%s : failed to parse
Unable to open %s
Document %s does not validate
;<���p8����X�������X���x���PzRx�����/D$4����0FJw�?:*3$"\���� Tt�����Q�G�B �B(�A0�A8�GP�XH`YXAPx
8C0A(B BBBAD�����eF�E�E �E(�H0�H8�G@n8A0A(B BBB ����P `x
  ���o0�h
V0 ��	��	���o���o����o�oF���o  ����� 0@P`p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1x�GA$3p1113�
GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*�
�GA*GOW*�GA$3a1�%GA*�GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Y��Va���oFF6n���o��p}����B�	�	��xx���0��� ��
�
%�
�((p���<���(� � � �   �0 0��        
0 Z0 `` �#)PK i�Zi.^��+�+2usr/share/doc/alt-libxml2-devel/examples/.libs/io2nuȯ��ELF>�
@8$@8@@@@hh����
�
 PP P �� hh h ���  ���DDS�td���  P�td```<<Q�tdR�tdPP P ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNUZ�ܐuO1ܧ�]:D��8x/�@ I��|�CE���qX* ����� 9 j�"�|S  �      libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlDocDumpFormatMemoryxmlNodeSetContentxmlNewDocxmlFreeDocxmlFreexmlNewDocNodexmlDocSetRootElementlibc.so.6__printf_chk__stack_chk_fail__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.4.30GLIBC_2.4GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64 �L�ii
,ui	6ti	BP �X p` ` � � � � � 
  � � � � � 	� 
� � � 
��H��H� H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a�������% D���%� D���%� D���%� D���%� D���%� D���%� D���%� D���%� D��UH�=0SH��(dH�%(H�D$1����1�H�1�H��H���D���H�5H��H���b���H��H���7����H�T$H��H�t$���H�T$H�5�1�����H�|$�e H������H�L$dH3%(u	H��(1�[]��������1�I��^H��H���PTL�FH�
�H�=����� �H�= H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=r H��tH�=� �9����d����m ]������w������AWI��AVI��AUA��ATL�%t UH�-t SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���1.0rootcontent%s;<����p ���������p���X`�������(zRx����/D$4����FJw�?:*3$"\�����,t�����E�H�D@�
CAAD�x���eF�E�E �E(�H0�H8�G@n8A0A(B BBB������p` �N�
8P X ���o0h
ix ���	���o���o����o�o����oh �		 	0	@	P	`	p	GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1��
GA$3p1113
5GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*
�
GA*GOW*�GA$3a1EGA*�5GA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o004Qhh�Yia���o��$n���o��`}��B������������	�	��

%�88
�HH�``<����P P�X X�` `�h h�x x��      
0 Z `` �#)PK i�Z~_�0P-P-5usr/share/doc/alt-libxml2-devel/examples/.libs/xpath2nuȯ��ELF>P@�%@8@@@@hh�����   �  00 0 ���  ���DDS�td���  P�tdtttDDQ�tdR�td  ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�>�$*���EZVd�Y���ѕ��A 
��|BE��)��qX9��.* S �`�� 9 sQ"`����J�8  r  <(  y  C   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlParseFilexmlXPathNewContextxmlNodeSetContentxmlCheckVersionxmlXPathFreeObjectxmlXPathEvalExpressionxmlCleanupParserxmlFreeDocxmlDocDumpxmlXPathFreeContextxmlInitParserxmlMemoryDumplibc.so.6__assert_fail__fprintf_chkstdoutstderrfwrite__cxa_finalize__libc_start_main_edata__bss_start_endGLIBC_2.2.5GLIBC_2.3.4LIBXML2_2.4.30/opt/alt/libxml2/usr/lib640ui	�ti	��L� 0  �( ( � � � 
� � 
   (  X ` h p x � � 	� � 
� � � � � � � ��H��H�1 H��t��H����5� �%� ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1������h��!������h
��������h��������h�������%} D���%u D���%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D���%
 D���% D��AWAVAUI��ATUSH�����4�����
R�#���I�mM�eM�uH���M����M����H������H��H����H��� ���H��H���\H��L���Y���H���L�xM��twA���xoI�wHc�L�,�H�<�H������M��H��I)��DI��J�<*H����L��H�D$���I�WH�D$J�*H�1�~tH�M9�u�H�����H�����H�=1 H������H���)�������o���1�H��[]A\A]A^A_�H�
� �"�H�=N���I�}�����H�
���H�5�H�=����H�=� L��H���Y���H������H�����I�}����k���H�
q �*�H�=���H���c�����H�=J H��1�H�����H�
s�\H�5#H�=8��H�
T�[H�5H�=����H�
5�ZH�5�H�=����D��1�I��^H��H���PTL��H�
H�=X����b �H�=� H�z H9�tH�N H��t	�����H�=Q H�5J H)�H��H��H��?H�H�tH� H��t��fD�����=5 u+UH�=� H��tH�=
 �9����d����
 ]������w����H��tH��H�=� �1�H���~���PH�
��DH�5�H�=��~���f.�@��AWI��AVI��AUA��ATL�%l UH�-l SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���xpath2.cfilenamexpathExprvaluenodes->nodeTab[i]Usage: %s <xml-file> <xpath-expr> <value>
Error: wrong number of arguments.
Error: unable to parse file "%s"
Error: unable to create new XPath context
Error: unable to evaluate xpath expression "%s"
usageupdate_xpath_nodesexample4;@L���t\����\�������\�����������\zRx�x���/D$4���FJw�?:*3$"\����t���BcH�����{F�B�B �E(�A0�A8�DP2
8A0A(B BBBAD����eF�E�E �E(�H0�H8�G@n8A0A(B BBB(���0�( ��

   ���o0�h
�@ �	(�	���o���o����o�o����o0 �
�
�
 0@P`p�����GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1�
GA$3p1113��GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*�GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA$3a1�GA$3p1113�GA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GOW*GA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realign
GA*FORTIFY��GA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhpY���a���o��4n���o��P}((��B		���
�
��
�
������5�
�  Q�ttD���0� �   �( (�0 0�@ @��        
0 Z8 `` @�$)PK i�Z����+�+6usr/share/doc/alt-libxml2-devel/examples/.libs/reader3nuȯ��ELF>�@8$@8@@@@hh��� 88 8 � PP P ���  ���DDS�td���  P�td���<<Q�tdR�td88 8 ��/lib64/ld-linux-x86-64.so.2GNU�GNUGNU�/�S/���o��k�s��A 
��|BE��)��qX9�* ��7��� 9 ("���pS\8  I  (  P  !   libxml2.so.2_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablexmlTextReaderPreservePatternxmlFreeTextReaderxmlCheckVersionxmlCleanupParserxmlFreeDocxmlDocDumpxmlTextReaderCurrentDocxmlTextReaderReadxmlMemoryDumpxmlReaderForFilelibc.so.6__fprintf_chkstdoutstderr__cxa_finalize__libc_start_main_edata__bss_start_endLIBXML2_2.6.3LIBXML2_2.6.0LIBXML2_2.4.30LIBXML2_2.5.0GLIBC_2.2.5GLIBC_2.3.4/opt/alt/libxml2/usr/lib64P���a���o�L}����ui	�ti	�8 �
@ �
H H � � � 	� 
�    (  x � � � � � � � � 
� � � ��H��H�� H��t��H����52 �%3 ��h�������h��������h�������h�������h�������h�������h�������h��q������h��a������h	��Q������h
��A������h��1�������%m D���%e D���%] D���%U D���%M D���%E D���%= D���%5 D���%- D���%% D���% D���% D��ATL�%�UH�-�S��uH�nL�f�
R�C���1�1�H�����H��H����1�L��H�������x[f.�H���(�����t�ubH������H��H���\���H��tH�=� H������H������+�������[1�]A\�H�=� M��H��1�H���o����H�=� H��1�H���P���H������H�=_ H��1�H���)�������1�I��^H��H���PTL�FH�
�H�=������ �H�=� H�� H9�tH�� H��t	�����H�=� H�5� H)�H��H��H��?H�H�tH�� H��t��fD�����=� u+UH�=b H��tH�=� ����d����} ]������w������AWI��AVI��AUA��ATL�%L UH�-L SL)�H������H��t1��L��L��D��A��H��H9�u�H��[]A\A]A^A_�ff.������H��H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
;<h���p8������������X����x���(zRx�����/D$4��FJw�?:*3$"\�����,t@���F�H�H ��
CBAD� ���eF�E�E �E(�H0�H8�G@n8A0A(B BBB�H����
�
H �

H8 @ ���o0xh
�`  ���	���o���ox���o�oF���oP @
P
`
p
�
�
�
�
�
�
�
�
GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-23)GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GA$3a1

GA$3p1113�EGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+omit_frame_pointerGA+stack_clashGA!stack_realignGA*��GA*GOW*�GA$3a1
UGA*�
EGA*GOW*
GA*FORTIFYGA+GLIBCXX_ASSERTIONS.shstrtab.interp.note.gnu.property.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.gnu.build.attributes���� &�� 4$G���o008QhhYxx�a���oFF,n���oxx�}����B�� �

�0
0
��������HH
�XXp���<��8 8�@ @�H H�P P�` `��        
0 Z8 `` �#)PK i�Zǩ�k�k2usr/share/doc/alt-libxml2-devel/examples/reader3.onu�[���ELF>]@@:9	

-/,0+1*2GA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA$3p1113GA$running gcc 8.5.0 20210514GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA*GOW*�GA*GA+stack_clashGA*cf_protection
GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*GA!GA+omit_frame_pointerGA*GA!stack_realignGA*GA!stack_realignGA*GA+stack_clashGA*cf_protectionGA+omit_frame_pointerGA*GA*GOW*�GA!
GA*FORTIFYGA+GLIBCXX_ASSERTIONS��ATL�%UH�-S��uH�nL�f�
R�1�1�H���H��H����1�L��H�����x[f.�H�����t�ubH���H��H���H��tH�=H���H�����[1�]A\�H�=M��H��1�H����H�=H��1�H��H����H�=H��1�H���preservedtest3.xml%s : failed to parse
Unable to open %s
%s : failed add preserve pattern %s
�
�5int�h�h���1 	3a	6	�	7	�	8	�	9	� 	:	�(	;	�0	<	�8	=	�@	@	�H	A	�P	B	�X	D9`	F?h	Hap	Iat	Jox	ML�	NS�	OE�	QU�	Y
{�	[`�	\k�	]?�	^	C�	_
)�	`a�	bq��
+4��U
5,[f��
5�� �����a�������	E��<
��	


���<
��	

��x
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
��X
��`
�Ch
�Lp
�Lr��
��
�C
��
��
��
�� 
�7(
��0
��8doc
�7@
�CH
�CP
�CX
�C`
��h
��p
�Cx��
'7
(C
)�
*�
+�
,� 
-�(
.�0
/�8doc
07@
3aH
4aL
:�P
;�X
<�`
=�h
>�pids
?Cx
@C�URL
A��
Ba�
D��
EC�
Fa�
Ha��
w�
�j0
��
��
�P
��
��
�C 
�7(]j`
��
�C
��
��
��
�� 
��(
��0
��8doc
�7@ns
��H
��P
�CX�
%�
&��K9���CB3��C�)M		C	C)W+	1	�@	����������	
c�	
j�	�	Ja��JaJ�K�L�docM��[N�� !�!�!�"
",
�
#
#
$1
%T1%Q	%Rv%X|"
7
M#
#
$1
%T1%Q	%Rv"
D	�#
#
$1
%T1%Q	%Rv&=
�%Uv%T0%Q0&J
�%Us%T|%Q0&W
%Us&c
 %Us&p
8%Us$p
%Us&|
g%U

R&�
%Tv&�
�%Uv'�
'�
�(�
)�)2�*doc�+ �	*ret!	a,da1
)d�)d<�-.Z/
I/

.
�/
.
v./
�/
/9.�%U:;9I$>$>I&I:;9	
:;9I8
:;9<I
!I/4:;9I?<7I!>I:;9(:;9
:;9I8
:;9I8:;9I'I'I.?:;9'I@�B:;9I�B4:;9I�B4:;9I�B1R�BUXYW1�B U!41�B"1R�BXYW#1$��1%���B&��1'��1(.:;9'I ):;9I*4:;9I+4:;9I,.?:;9'I 4-..?<n:;9/.?<n:;9U�U�T�T�
�VV
�\\V0�0�\\\VVVPVPSSPSPP
�
�
�,gQ�
/usr/include/bits/usr/lib/gcc/x86_64-redhat-linux/8/include/usr/include/bits/types/usr/include../../include/libxmlreader3.cstdio2.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hsys_errlist.hxmlstring.htree.hxmlmemory.hglobals.hxmlreader.hxmlversion.hparser.h!	�K!
%	YK
RXZC�	�
�	�	�	[R	�8	@]	\��\Y X
� 8
�.
Q-
�R�#	h. 
�___off_t_IO_read_ptr_chainxmlStrdupFunc/builddir/build/BUILD/libxml2-2.10.2/doc/examplessize_tnext_shortbufXML_NAMESPACE_DECLprevtype_IO_buf_basepsvilong long unsigned intSystemIDreadernsDef_codecvt_private_xmlNsxmlNslong long intsigned charGNU C17 8.5.0 20210514 (Red Hat 8.5.0-24) -m64 -mtune=generic -march=x86-64 -g -O2 -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection=full -fPIE -fplugin=gcc-annobinXML_ELEMENT_DECL_fileno_IO_read_endencodinglong intoldNsparent_flagsextractFile_IO_buf_endstdin_xmlTextReaderXML_XINCLUDE_END_IO_codecvtExternalID_old_offset_offsetmainxmlTextReaderxmlCharxmlCleanupParsercompressionlinexmlMallocAtomicxmlElementTypexmlDocPtrXML_COMMENT_NODExmlMalloc_xmlDocXML_NOTATION_NODEunsigned int_freeres_bufxmlReallocFuncxmlDocfprintfxmlMemoryDump_xmlAttr__streamlong unsigned intxmlCheckVersionxmlFreeFuncXML_ELEMENT_NODE_IO_write_ptrnamesys_nerrcharsetcontextshort unsigned intXML_ENTITY_DECLXML_XINCLUDE_STARTlast_IO_save_basexmlFreeTextReader_xmlDtd_lock_flags2_modestdoutXML_PI_NODEXML_ATTRIBUTE_IDprefixstandaloneextSubsetxmlRealloccontentpentitiesfilenamexmlReaderForFilexmlTextReaderPtr_IO_write_endXML_ATTRIBUTE_DECLreader3.c_IO_lock_t_IO_FILEpatternxmlTextReaderPreservePattern_IO_markerXML_ENTITY_NODEsys_errlist_markersrefsxmlFreexmlTextReaderReadxmlNsTypechildrenunsigned charXML_DTD_NODEversionentitiesshort int_IO_wide_datanotationsXML_DOCUMENT_TYPE_NODE_xmlNode_vtable_offsetFILExmlMemStrdup__fprintf_chkXML_ATTRIBUTE_IDREFattributespropertiesXML_CDATA_SECTION_NODEdictXML_ATTRIBUTE_NODElong doubleparseFlagschar_xmlDictXML_TEXT_NODEintSubset__off64_t_cur_column_IO_read_base_IO_save_endXML_ATTRIBUTE_ENUMERATION__fmtXML_ATTRIBUTE_NMTOKENS__pad5XML_ATTRIBUTE_IDREFSXML_ATTRIBUTE_ENTITY_unused2stderrXML_HTML_DOCUMENT_NODExmlMallocFuncxmlFreeDoc_IO_backup_basehrefXML_ATTRIBUTE_NOTATIONxmlAttributeTypexmlDocDumpXML_DOCUMENT_FRAG_NODEargcxmlTextReaderCurrentDoc_freeres_listextraXML_ENTITY_REF_NODE_wide_dataatypeelementsXML_DOCUMENT_NODEXML_ATTRIBUTE_ENTITIESargv_IO_write_baseXML_ATTRIBUTE_NMTOKENXML_ATTRIBUTE_CDATAGCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-24)GNU�zRx�,F�H�H ��
CBA
�	.+B/]y0��1��2 "$&(/01234.5-2
7<A*FRbw�)*+,-������18CN_mt.annobin_reader3.c.annobin_reader3.c_end.annobin_reader3.c.hot.annobin_reader3.c_end.hot.annobin_reader3.c.unlikely.annobin_reader3.c_end.unlikely.annobin_reader3.c.startup.annobin_reader3.c_end.startup.annobin_reader3.c.exit.annobin_reader3.c_end.exit.annobin_main.start.annobin_main.end.LC0.LC1.LC2.LC3.LC4.text.group.text.hot.group.text.unlikely.group.text.startup.group.text.exit.groupmain_GLOBAL_OFFSET_TABLE_xmlCheckVersionxmlReaderForFilexmlTextReaderPreservePatternxmlTextReaderReadxmlTextReaderCurrentDocxmlFreeTextReaderstdoutxmlDocDumpxmlFreeDocxmlCleanupParserxmlMemoryDumpstderr__fprintf_chk * $ % & '++	-��������.��������)C��������5D��������NE��������dF��������uG���������H���������I���������J���������K���������L���������M���������N���������/���������O���������N���������0���������O���������H���������N��������1��������O��������

#
#
#*
!@%
"*
#\8
#�?
#6H
#�O
#�V
#�]
#�k
#p
#|
#��
#��
#.�
#+�
#�
#��
#�
#��
#��
#�
#�
#>
#4)
#�6
#C
#�P
#]
#�j
#bw
#��
#��
#,�
#h�
#\�
#��
#��
#n�
#F�
#C�
#Y
#j
#�!
#;-
##5
#\\
#pg
#��
#J�
#p�
#��
#��
#w�
#�
#�
#�
#� 
#�&
#Z,
#g2
#w8
#>
#�D
#J
#P
#$V
#�\
#�b
#�h
#n
#t
#rz
#�
#_�
#��
#��
#��
#[�
#`�
#u�
#��
#��
#B�
#"�
#��
#��
##�
#�
#�
#�(
#�6
#/D
#$R
#c`
#��
#��
#z�
#��
#��
#��
#T�
#T�
#�
#�
#�
#�*
#/8
#$F
#cT
#�p
#~
#�
#o�
#��
#|�
#��
#��
#�
#��
#�
#�
#�
#/-
#$;
#cI
#�e
#�s
#��
#��
#��
#�
#��
#�
#��
#��
#�

#�
#�)
#z@
#�G
#�L
#�Q
#�^
#�k
#�y
#c�
#��
#��
#��
#��
#��
#|�
#��
#�
#�
#� 
#/.
#$<
#cJ
#�s
#y�
#��
#_�
#��
#��
#��
#P 	
#C	
#�H	
#T	
#�`	
#�l	
#�x	
#@�	
#��	
#P�	
#��	
#��	+�	
#)�	
�	
�	
#��	
A�	
=�	
#��	
�

z

#7

�

�$

0(

*1
+-:

!J

�N

{W

�[

�`

!i

m

v

]z

S�

��

��
+��
+��

�

�
+��
�
+��
+�
6
4'+�=R+�[+�w
d{
b�+�*�+9�+R�+h	+y!+�9+�O+-h+��+��+��+��
#2�
#��
#7�
#�

#f

#�$

#<2

#M6

#M>

#�B

#�K

#?O

#?X

#�\

#�d

#.h

#.q

#Bu

#B}

#��

#��

#�

#�

#��

#��

#��

#��

#n�

#n++(+(+A+I+,T+,\+�+�+�
�+�+�+��+�+�+#��+#�+�+�+0+�8+�C+�K+�W+_+�+-�+��+��+��+��+�+-�+�+��+��+��++%+�0+�8+�]+<e+Qp+Qx+��+��+��+��+�+�+�+h�+x�+��+�+�+�6+�>+�Id+�l+w*
++-+�+�+� +�(+@+H+`+ +.symtab.strtab.shstrtab.text.data.bss.rela.gnu.build.attributes.text.hot.rela.gnu.build.attributes.hot.text.unlikely.rela.gnu.build.attributes.unlikely.rela.gnu.build.attributes.startup.text.exit.rela.gnu.build.attributes.exit.rela.gnu.build.attributes.text.startup.rela.text.startup.rodata.str1.1.rodata.str1.8.rela.debug_info.debug_abbrev.rela.debug_loc.rela.debug_aranges.rela.debug_ranges.rela.debug_line.debug_str.comment.text.hot.zzz.text.unlikely.zzz.text.startup.zzz.text.exit.zzz.note.GNU-stack.note.gnu.property.rela.eh_frame.group9@729P739h749�(759�76�!�'�1��,@707	G�V��Q@8707ph�h�@h707<�<��@�707����@�707��	8�@�707 @(8(7,29=;2x%O��
J@P: 7[Y�n��i@pSH7 ~~ 0y@�Y07"�� `�@�Y�7$�!k�@�Z7&�0y#��0h,.��,�,p�,G�,�,��,��,��,��,�,�, /�,H*@�Z75-�8A	�4��Z@PK i�ZY&[[,usr/share/doc/alt-libxml2-devel/xmllint.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <acronym class="acronym">XML</acronym> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmllint</code>  [ <code class="option">--version</code>  |   <code class="option">--debug</code>  |   <code class="option">--shell</code>  |   <code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code>  |   <code class="option">--debugent</code>  |   <code class="option">--copy</code>  |   <code class="option">--recover</code>  |   <code class="option">--noent</code>  |   <code class="option">--noout</code>  |   <code class="option">--nonet</code>  |   <code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code>  |   <code class="option">--load-trace</code>  |   <code class="option">--htmlout</code>  |   <code class="option">--nowrap</code>  |   <code class="option">--valid</code>  |   <code class="option">--postvalid</code>  |   <code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code>  |   <code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code>  |   <code class="option">--timing</code>  |   <code class="option">--output <em class="replaceable"><code>FILE</code></em></code>  |   <code class="option">--repeat</code>  |   <code class="option">--insert</code>  |   <code class="option">--compress</code>  |   <code class="option">--html</code>  |   <code class="option">--xmlout</code>  |   <code class="option">--push</code>  |   <code class="option">--memory</code>  |   <code class="option">--maxmem <em class="replaceable"><code>NBBYTES</code></em></code>  |   <code class="option">--nowarning</code>  |   <code class="option">--noblanks</code>  |   <code class="option">--nocdata</code>  |   <code class="option">--format</code>  |   <code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code>  |   <code class="option">--dropdtd</code>  |   <code class="option">--nsclean</code>  |   <code class="option">--testIO</code>  |   <code class="option">--catalogs</code>  |   <code class="option">--nocatalogs</code>  |   <code class="option">--auto</code>  |   <code class="option">--xinclude</code>  |   <code class="option">--noxincludenode</code>  |   <code class="option">--loaddtd</code>  |   <code class="option">--dtdattr</code>  |   <code class="option">--stream</code>  |   <code class="option">--walker</code>  |   <code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code>  |   <code class="option">--chkregister</code>  |   <code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--c14n</code> ] { <em class="replaceable"><code>XML-FILE(S)</code></em>...  |   - }</p></div><div class="cmdsynopsis"><p><code class="command">xmllint</code>   <code class="option">--help</code> </p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
		The <span class="command"><strong>xmllint</strong></span> program parses one or more <acronym class="acronym">XML</acronym> files,
		specified on the command line as <em class="replaceable"><code>XML-FILE</code></em>
		(or the standard input if the filename provided
		is <span class="bold"><strong>-</strong></span> ). It prints various types of
		output, depending upon the options selected. It is useful for detecting
		errors both in <acronym class="acronym">XML</acronym> code and in
		the <acronym class="acronym">XML</acronym> parser itself.
	</p><p><span class="command"><strong>xmllint</strong></span> is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
		<span class="command"><strong>xmllint</strong></span> accepts the following options (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">--auto</code></span></dt><dd><p>Generate a small document for testing purposes.</p></dd><dt><span class="term"><code class="option">--catalogs</code></span></dt><dd><p>
			Use the <acronym class="acronym">SGML</acronym> catalog(s) from <code class="envar">SGML_CATALOG_FILES</code>.
			Otherwise <acronym class="acronym">XML</acronym> catalogs starting
			from <code class="filename">/etc/xml/catalog</code> are used by default.
		</p></dd><dt><span class="term"><code class="option">--chkregister</code></span></dt><dd><p>
			Turn on node registration. Useful for developers testing <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> node tracking code.
		</p></dd><dt><span class="term"><code class="option">--compress</code></span></dt><dd><p>
			Turn on <span class="citerefentry"><span class="refentrytitle">gzip</span>(1)</span> compression of output.
		</p></dd><dt><span class="term"><code class="option">--copy</code></span></dt><dd><p>Test the internal copy implementation.</p></dd><dt><span class="term"><code class="option">--c14n</code></span></dt><dd><p>
			Use the W3C <acronym class="acronym">XML</acronym> Canonicalisation (<acronym class="acronym">C14N</acronym>) to
			serialize the result of parsing to <code class="filename">stdout</code>.
			It keeps comments in the result.
		</p></dd><dt><span class="term"><code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code></span></dt><dd><p>
			Use the <acronym class="acronym">DTD</acronym> specified by
			an <em class="replaceable"><code>URL</code></em> for validation.
		</p></dd><dt><span class="term"><code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code></span></dt><dd><p>
			Use the <acronym class="acronym">DTD</acronym> specified by a Formal Public
			Identifier <em class="replaceable"><code>FPI</code></em> for validation, note that this
			will require a catalog exporting that Formal Public Identifier to work.
		</p></dd><dt><span class="term"><code class="option">--debug</code></span></dt><dd><p>
			Parse a file and output an annotated tree of the
			in-memory version of the document.
		</p></dd><dt><span class="term"><code class="option">--debugent</code></span></dt><dd><p>Debug the entities defined in the document.</p></dd><dt><span class="term"><code class="option">--dropdtd</code></span></dt><dd><p>Remove <acronym class="acronym">DTD</acronym> from output.</p></dd><dt><span class="term"><code class="option">--dtdattr</code></span></dt><dd><p>
			Fetch external <acronym class="acronym">DTD</acronym> and populate the tree with
			inherited attributes.
		</p></dd><dt><span class="term"><code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code></span></dt><dd><p>Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.</p></dd><dt><span class="term"><code class="option">--format</code></span></dt><dd><p>
			Reformat and reindent the output. The <code class="envar">XMLLINT_INDENT</code>
			environment variable controls the indentation. The default value is two
			spaces "  ").
		</p></dd><dt><span class="term"><code class="option">--help</code></span></dt><dd><p>Print out a short usage summary for <span class="command"><strong>xmllint</strong></span>.</p></dd><dt><span class="term"><code class="option">--html</code></span></dt><dd><p>Use the <acronym class="acronym">HTML</acronym> parser.</p></dd><dt><span class="term"><code class="option">--htmlout</code></span></dt><dd><p>
			Output results as an <acronym class="acronym">HTML</acronym> file. This
			causes <span class="command"><strong>xmllint</strong></span> to output the necessary <acronym class="acronym">HTML</acronym>
			tags surrounding the result tree output so the results can be
			displayed/viewed in a browser.
		</p></dd><dt><span class="term"><code class="option">--insert</code></span></dt><dd><p>Test for valid insertions.</p></dd><dt><span class="term"><code class="option">--loaddtd</code></span></dt><dd><p>Fetch an external <acronym class="acronym">DTD</acronym>.</p></dd><dt><span class="term"><code class="option">--load-trace</code></span></dt><dd><p>
			Display all the documents loaded during the processing
			to <code class="filename">stderr</code>.
		</p></dd><dt><span class="term"><code class="option">--maxmem <em class="replaceable"><code>NNBYTES</code></em></code></span></dt><dd><p>
			Test the parser memory support. <em class="replaceable"><code>NNBYTES</code></em>
			is the maximum number of bytes the library is allowed to allocate.
			This can also be used to make sure batch processing
			of <acronym class="acronym">XML</acronym> files will not exhaust the virtual memory
			of the server running them.
		</p></dd><dt><span class="term"><code class="option">--memory</code></span></dt><dd><p>Parse from memory.</p></dd><dt><span class="term"><code class="option">--noblanks</code></span></dt><dd><p>Drop ignorable blank spaces.</p></dd><dt><span class="term"><code class="option">--nocatalogs</code></span></dt><dd><p>Do not use any catalogs.</p></dd><dt><span class="term"><code class="option">--nocdata</code></span></dt><dd><p>Substitute CDATA section by equivalent text nodes.</p></dd><dt><span class="term"><code class="option">--noent</code></span></dt><dd><p>
			Substitute entity values for entity references. By default, <span class="command"><strong>xmllint</strong></span>
			leaves entity references in place.
		</p></dd><dt><span class="term"><code class="option">--nonet</code></span></dt><dd><p>
			Do not use the Internet to fetch <acronym class="acronym">DTD</acronym>s or entities.
		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
			Suppress output. By default, <span class="command"><strong>xmllint</strong></span> outputs the result tree.
		</p></dd><dt><span class="term"><code class="option">--nowarning</code></span></dt><dd><p>Do not emit warnings from the parser and/or validator.</p></dd><dt><span class="term"><code class="option">--nowrap</code></span></dt><dd><p>Do not output <acronym class="acronym">HTML</acronym> doc wrapper.</p></dd><dt><span class="term"><code class="option">--noxincludenode</code></span></dt><dd><p>
			Do XInclude processing but do not generate XInclude start and end nodes.
		</p></dd><dt><span class="term"><code class="option">--nsclean</code></span></dt><dd><p>Remove redundant namespace declarations.</p></dd><dt><span class="term"><code class="option">--output <em class="replaceable"><code>FILE</code></em></code></span></dt><dd><p>
			Define a file path where <span class="command"><strong>xmllint</strong></span> will save the result of parsing.
			Usually the programs build a tree and save it
			on <code class="filename">stdout</code>, with this option
			the result <acronym class="acronym">XML</acronym> instance will be saved onto a file.
		</p></dd><dt><span class="term"><code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code></span></dt><dd><p>
			Use the (space- or colon-separated) list of filesystem paths specified
			by <em class="replaceable"><code>PATHS</code></em> to load <acronym class="acronym">DTD</acronym>s or
			entities. Enclose space-separated lists by quotation marks.
		</p></dd><dt><span class="term"><code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code></span></dt><dd><p>
			Used to exercise the pattern recognition engine, which can be used
			with the reader interface to the parser. It allows to select some
			nodes in the document based on an XPath (subset) expression. Used
			for debugging.
		</p></dd><dt><span class="term"><code class="option">--postvalid</code></span></dt><dd><p>Validate after parsing has completed.</p></dd><dt><span class="term"><code class="option">--push</code></span></dt><dd><p>Use the push mode of the parser.</p></dd><dt><span class="term"><code class="option">--recover</code></span></dt><dd><p>Output any parsable portions of an invalid document.</p></dd><dt><span class="term"><code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
			Use RelaxNG file named <em class="replaceable"><code>SCHEMA</code></em>
			for validation.
		</p></dd><dt><span class="term"><code class="option">--repeat</code></span></dt><dd><p>Repeat 100 times, for timing or profiling.</p></dd><dt><span class="term"><code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
			Use a W3C <acronym class="acronym">XML</acronym> Schema file
			named <em class="replaceable"><code>SCHEMA</code></em> for validation.
		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
			Run a navigating shell. Details on available commands in shell mode
			are below (see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>).
		</p></dd><dt><span class="term"><code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code></span></dt><dd><p>
			Run an XPath expression given as argument and print the
			result. In case of a nodeset result, each node in the
			node set is serialized in full in the output. In case
			of an empty node set the "XPath set is empty" result
			will be shown and an error exit code will be returned.
		</p></dd><dt><span class="term"><code class="option">--stream</code></span></dt><dd><p>
			Use streaming <acronym class="acronym">API</acronym> - useful when used in combination
			with <code class="option">--relaxng</code> or <code class="option">--valid</code> options
			for validation of files that are too large to be held in memory.
		</p></dd><dt><span class="term"><code class="option">--testIO</code></span></dt><dd><p>Test user input/output support.</p></dd><dt><span class="term"><code class="option">--timing</code></span></dt><dd><p>
			Output information about the time it takes <span class="command"><strong>xmllint</strong></span> to perform the
			various steps.
		</p></dd><dt><span class="term"><code class="option">--valid</code></span></dt><dd><p>
			Determine if the document is a valid instance of the included
			Document Type Definition (<acronym class="acronym">DTD</acronym>).
			A <acronym class="acronym">DTD</acronym> to be validated against also can be
			specified at the command line using the <code class="option">--dtdvalid</code>
			option. By default, <span class="command"><strong>xmllint</strong></span> also checks to determine if the
			document is well-formed.
		</p></dd><dt><span class="term"><code class="option">--version</code></span></dt><dd><p>
			Display the version of <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> used.
		</p></dd><dt><span class="term"><code class="option">--walker</code></span></dt><dd><p>
			Test the walker module, which is a reader interface but for a
			document tree, instead of using the reader <acronym class="acronym">API</acronym> on
			an unparsed document it works on an existing in-memory tree. Used for
			debugging.
		</p></dd><dt><span class="term"><code class="option">--xinclude</code></span></dt><dd><p>Do XInclude processing.</p></dd><dt><span class="term"><code class="option">--xmlout</code></span></dt><dd><p>
			Used in conjunction with <code class="option">--html</code>. Usually
			when <acronym class="acronym">HTML</acronym> is parsed the document is saved with
			the <acronym class="acronym">HTML</acronym> serializer. But with this option the
			resulting document is saved with the <acronym class="acronym">XML</acronym>
			serializer. This is primarily used to
			generate <acronym class="acronym">XHTML</acronym> from <acronym class="acronym">HTML</acronym> input.
		</p></dd></dl></div></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
		<span class="command"><strong>xmllint</strong></span> offers an interactive shell mode invoked with
		the <code class="option">--shell</code> command. Available commands in shell mode
		include (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>base</strong></span></span></dt><dd><p>Display <acronym class="acronym">XML</acronym> base of the node.</p></dd><dt><span class="term"><span class="command"><strong>bye</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>cat <em class="replaceable"><code>NODE</code></em></strong></span></span></dt><dd><p>Display the given node or the current one.</p></dd><dt><span class="term"><span class="command"><strong>cd <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Change the current node to the given path (if unique) or root if no
			argument is given.
		</p></dd><dt><span class="term"><span class="command"><strong>dir <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Dumps information about the node (namespace, attributes, content).
		</p></dd><dt><span class="term"><span class="command"><strong>du <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
			Show the structure of the subtree under the given path or the current node.
		</p></dd><dt><span class="term"><span class="command"><strong>exit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>help</strong></span></span></dt><dd><p>Show this help.</p></dd><dt><span class="term"><span class="command"><strong>free</strong></span></span></dt><dd><p>Display memory usage.</p></dd><dt><span class="term"><span class="command"><strong>load <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Load a new document with the given filename.</p></dd><dt><span class="term"><span class="command"><strong>ls <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>List contents of the given path or the current directory.</p></dd><dt><span class="term"><span class="command"><strong>pwd</strong></span></span></dt><dd><p>Display the path to the current node.</p></dd><dt><span class="term"><span class="command"><strong>quit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>save <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>
			Save the current document to the given filename or to the original name.
		</p></dd><dt><span class="term"><code class="option">validate</code></span></dt><dd><p>Check the document for errors.</p></dd><dt><span class="term"><span class="command"><strong>write <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Write the current node to the given filename.</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">SGML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">SGML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">SGML_CATALOG_FILES</code> environment variable to a list
			of catalogs. An empty one should deactivate loading the
			default <code class="filename">/etc/sgml/catalog</code> catalog.
		</p></dd><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
			list of catalogs. Use percent-encoding to escape spaces or other characters.
			An empty variable should deactivate loading the default <code class="filename">/etc/xml/catalog</code> catalog.
		</p></dd><dt><span class="term"><code class="envar">XML_DEBUG_CATALOG</code></span></dt><dd><p>Setting the environment variable <code class="envar">XML_DEBUG_CATALOG</code>
			to <em class="parameter"><code>non-zero</code></em> using the <span class="command"><strong>export</strong></span>
			command outputs debugging information related to catalog operations.
		</p></dd><dt><span class="term"><code class="envar">XMLLINT_INDENT</code></span></dt><dd><p>Setting the environment variable <code class="envar">XMLLINT_INDENT</code>
			controls the indentation. The default value is two spaces "  ".
		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
		<span class="command"><strong>xmllint</strong></span> return codes provide information that can be used when
		calling it from scripts.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Unclassified</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Error in <acronym class="acronym">DTD</acronym></p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">5</span></span></dt><dd><p>Error in schema compilation</p></dd><dt><span class="term"><span class="errorcode">6</span></span></dt><dd><p>Error writing output</p></dd><dt><span class="term"><span class="errorcode">7</span></span></dt><dd><p>
			Error in pattern (generated when <code class="option">--pattern</code> option is used)
		</p></dd><dt><span class="term"><span class="errorcode">8</span></span></dt><dd><p>
			Error in Reader registration (generated
			when <code class="option">--chkregister</code> option is used)
		</p></dd><dt><span class="term"><span class="errorcode">9</span></span></dt><dd><p>Out of memory error</p></dd><dt><span class="term"><span class="errorcode">10</span></span></dt><dd><p>XPath evaluation error</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
	</p><p>
		More information can be found at
		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
				</p></li></ul></div><p>
	</p></div></div></body></html>
PK i�Z/ͽ��6�6/usr/share/doc/alt-libxml2-devel/xmlcatalog.htmlnu�[���<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; 
		Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
		or <acronym class="acronym">SGML</acronym> catalog files.
	</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmlcatalog</code>  [ <code class="option">--sgml</code>  |   <code class="option">--shell</code>  |   <code class="option">--create</code>  |   <code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code>  |   
			[ 
					<code class="option">--add
					 <em class="replaceable"><code>TYPE</code></em>
					 <em class="replaceable"><code>ORIG</code></em>
					 <em class="replaceable"><code>REPLACE</code></em>
					</code>
				  |   <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]		
		  |   <code class="option">--noout</code>  |   <code class="option">--no-super-update</code>  |   
			[ <code class="option">-v</code>  |   <code class="option">--verbose</code> ]
		 ] {<em class="replaceable"><code>CATALOGFILE</code></em>} {<em class="replaceable"><code>ENTITIES</code></em>...}</p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
		manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
		is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.
	</p><p>
		Its functions can be invoked from a single command from the command line,
		or it can perform multiple functions in interactive mode. It can operate
		on both <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
	</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
		<code class="option">--add
		 <em class="replaceable"><code>TYPE</code></em>
		 <em class="replaceable"><code>ORIG</code></em>
		 <em class="replaceable"><code>REPLACE</code></em>
		</code>
	</span></dt><dd><p>
			Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
			used. The <code class="option">--add</code> option will not overwrite
			<code class="filename">CATALOGFILE</code>, outputting
			to <code class="filename">stdout</code>, unless
			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
			catalog constructs will have only a single argument.
		</p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
			If the <code class="option">--add</code> option is used following
			the <code class="option">--sgml</code> option, only a single argument,
			a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
			the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
			a file that contains references to other included <acronym class="acronym">SGML</acronym>
			catalog files.
		</p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
			Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
			to <code class="filename">stdout</code>,
			ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
			used, in which case it creates a new catalog
			file <em class="replaceable"><code>filename</code></em>.
		</p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
			Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
			matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
			option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
			outputting to <code class="filename">stdout</code>,
			unless <code class="option">--noout</code> is used.
		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
			Save output to the named file rather than outputting
			to <code class="filename">stdout</code>.
		</p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
			Do not update the <acronym class="acronym">SGML</acronym> super catalog.
		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
			Run a shell allowing interactive queries on catalog
			file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
			commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
		</p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
			Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
			and <code class="option">--del</code> options.
		</p></dd><dt><span class="term"><code class="option">-v</code>, </span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>Output debugging information.</p></dd></dl></div><p>
		Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
		(imposed with options like <code class="option">--add</code>) will result in a lookup
		of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
		catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
		corresponding entries will be output to the command line. This mode of
		operation, together with <code class="option">--shell</code> mode and non-modifying
		(i.e. without <code class="option">--noout</code>) direct actions, allows for
		a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
		specification (possibly expressed as "" in the shell
		environment) appointing the default system catalog. That simplifies the
		handling when its exact location is irrelevant but the respective built-in
		still needs to be consulted.
	</p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
		Invoking <span class="command"><strong>xmlcatalog</strong></span> with
		the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
		a command line shell allowing interactive access to the catalog file
		identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
		provides a command line prompt after which the following commands (described in
		alphabetical order) can be entered.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
		<code class="option">add
		 <em class="replaceable"><code>TYPE</code></em>
		 <em class="replaceable"><code>ORIG</code></em>
		 <em class="replaceable"><code>REPLACE</code></em>
		</code>
	</span></dt><dd><p>
			Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
			used. The <code class="option">--add</code> option will not overwrite
			<code class="filename">CATALOGFILE</code>, outputting
			to <code class="filename">stdout</code>, unless
			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
			catalog constructs will have only a single argument.
		</p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
			Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
		</p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
			Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
		</p></dd><dt><span class="term"><code class="option">dump</code></span></dt><dd><p>Print the current catalog.</p></dd><dt><span class="term"><code class="option">exit</code></span></dt><dd><p>Quit the shell.</p></dd><dt><span class="term"><code class="option">public <em class="replaceable"><code>PUBLIC-ID</code></em></code></span></dt><dd><p>
			Execute a Formal Public Identifier lookup of the catalog entry
			for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
			output to the command line.
		</p></dd><dt><span class="term"><code class="option">quiet</code></span></dt><dd><p>Stop printing debugging statements.</p></dd><dt><span class="term"><code class="option">system <em class="replaceable"><code>SYSTEM-ID</code></em></code></span></dt><dd><p>
			Execute a Formal Public Identifier lookup of the catalog entry
			for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
			output to the command line.
		</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
			queries to the user's own set of catalogs. This can be done by setting
			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
			list of catalogs. Use percent-encoding to escape spaces or other characters.
			An empty variable should deactivate loading the default <code class="filename">/etc/xml/catalog</code> catalog.
		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
		<span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
		calling it from scripts.
	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Failed to remove an entry from the catalog</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Failed to save to the catalog, check file permissions</p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Failed to add an entry to the catalog</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Failed to look up an entry in the catalog</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
	</p><p>
		More information can be found at
		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
				</p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
					at <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support" target="_top">https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support</a>
				</p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
					page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
				</p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
					<a class="ulink" href="http://www.oasis-open.org/committees/entity/spec.html" target="_top">http://www.oasis-open.org/committees/entity/spec.html</a>
				</p></li></ul></div><p>
	</p></div></div></body></html>
PK i�Z��.��usr/share/aclocal/libxml.m4nu�[���# Configure paths for LIBXML2
# Simon Josefsson 2020-02-12
# Fix autoconf 2.70+ warnings
# Mike Hommey 2004-06-19
# use CPPFLAGS instead of CFLAGS
# Toshio Kuratomi 2001-04-21
# Adapted from:
# Configure paths for GLIB
# Owen Taylor     97-11-3

dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for XML, and define XML_CPPFLAGS and XML_LIBS
dnl
AC_DEFUN([AM_PATH_XML2],[ 
AC_ARG_WITH(xml-prefix,
            [  --with-xml-prefix=PFX   Prefix where libxml is installed (optional)],
            xml_config_prefix="$withval", xml_config_prefix="")
AC_ARG_WITH(xml-exec-prefix,
            [  --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional)],
            xml_config_exec_prefix="$withval", xml_config_exec_prefix="")
AC_ARG_ENABLE(xmltest,
              [  --disable-xmltest       Do not try to compile and run a test LIBXML program],,
              enable_xmltest=yes)

  if test x$xml_config_exec_prefix != x ; then
     xml_config_args="$xml_config_args"
     if test x${XML2_CONFIG+set} != xset ; then
        XML2_CONFIG=$xml_config_exec_prefix/bin/xml2-config
     fi
  fi
  if test x$xml_config_prefix != x ; then
     xml_config_args="$xml_config_args --prefix=$xml_config_prefix"
     if test x${XML2_CONFIG+set} != xset ; then
        XML2_CONFIG=$xml_config_prefix/bin/xml2-config
     fi
  fi

  AC_PATH_PROG(XML2_CONFIG, xml2-config, no)
  min_xml_version=ifelse([$1], ,2.0.0,[$1])
  AC_MSG_CHECKING(for libxml - version >= $min_xml_version)
  no_xml=""
  if test "$XML2_CONFIG" = "no" ; then
    no_xml=yes
  else
    XML_CPPFLAGS=`$XML2_CONFIG $xml_config_args --cflags`
    XML_LIBS=`$XML2_CONFIG $xml_config_args --libs`
    xml_config_major_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
    xml_config_minor_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
    xml_config_micro_version=`$XML2_CONFIG $xml_config_args --version | \
           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
    if test "x$enable_xmltest" = "xyes" ; then
      ac_save_CPPFLAGS="$CPPFLAGS"
      ac_save_LIBS="$LIBS"
      CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
      LIBS="$XML_LIBS $LIBS"
dnl
dnl Now check if the installed libxml is sufficiently new.
dnl (Also sanity checks the results of xml2-config to some extent)
dnl
      rm -f conf.xmltest
      AC_RUN_IFELSE(
            [AC_LANG_SOURCE([[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <libxml/xmlversion.h>

int 
main()
{
  int xml_major_version, xml_minor_version, xml_micro_version;
  int major, minor, micro;
  char *tmp_version;

  system("touch conf.xmltest");

  /* Capture xml2-config output via autoconf/configure variables */
  /* HP/UX 9 (%@#!) writes to sscanf strings */
  tmp_version = (char *)strdup("$min_xml_version");
  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
     printf("%s, bad version string from xml2-config\n", "$min_xml_version");
     exit(1);
   }
   free(tmp_version);

   /* Capture the version information from the header files */
   tmp_version = (char *)strdup(LIBXML_DOTTED_VERSION);
   if (sscanf(tmp_version, "%d.%d.%d", &xml_major_version, &xml_minor_version, &xml_micro_version) != 3) {
     printf("%s, bad version string from libxml includes\n", "LIBXML_DOTTED_VERSION");
     exit(1);
   }
   free(tmp_version);

 /* Compare xml2-config output to the libxml headers */
  if ((xml_major_version != $xml_config_major_version) ||
      (xml_minor_version != $xml_config_minor_version) ||
      (xml_micro_version != $xml_config_micro_version))
    {
      printf("*** libxml header files (version %d.%d.%d) do not match\n",
         xml_major_version, xml_minor_version, xml_micro_version);
      printf("*** xml2-config (version %d.%d.%d)\n",
         $xml_config_major_version, $xml_config_minor_version, $xml_config_micro_version);
      return 1;
    } 
/* Compare the headers to the library to make sure we match */
  /* Less than ideal -- doesn't provide us with return value feedback, 
   * only exits if there's a serious mismatch between header and library.
   */
    LIBXML_TEST_VERSION;

    /* Test that the library is greater than our minimum version */
    if ((xml_major_version > major) ||
        ((xml_major_version == major) && (xml_minor_version > minor)) ||
        ((xml_major_version == major) && (xml_minor_version == minor) &&
        (xml_micro_version >= micro)))
      {
        return 0;
       }
     else
      {
        printf("\n*** An old version of libxml (%d.%d.%d) was found.\n",
               xml_major_version, xml_minor_version, xml_micro_version);
        printf("*** You need a version of libxml newer than %d.%d.%d.\n",
           major, minor, micro);
        printf("***\n");
        printf("*** If you have already installed a sufficiently new version, this error\n");
        printf("*** probably means that the wrong copy of the xml2-config shell script is\n");
        printf("*** being found. The easiest way to fix this is to remove the old version\n");
        printf("*** of LIBXML, but you can also set the XML2_CONFIG environment to point to the\n");
        printf("*** correct copy of xml2-config. (In this case, you will have to\n");
        printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n");
        printf("*** so that the correct libraries are found at run-time))\n");
    }
  return 1;
}
]])],, no_xml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
       CPPFLAGS="$ac_save_CPPFLAGS"
       LIBS="$ac_save_LIBS"
     fi
  fi

  if test "x$no_xml" = x ; then
     AC_MSG_RESULT(yes (version $xml_config_major_version.$xml_config_minor_version.$xml_config_micro_version))
     ifelse([$2], , :, [$2])     
  else
     AC_MSG_RESULT(no)
     if test "$XML2_CONFIG" = "no" ; then
       echo "*** The xml2-config script installed by LIBXML could not be found"
       echo "*** If libxml was installed in PREFIX, make sure PREFIX/bin is in"
       echo "*** your path, or set the XML2_CONFIG environment variable to the"
       echo "*** full path to xml2-config."
     else
       if test -f conf.xmltest ; then
        :
       else
          echo "*** Could not run libxml test program, checking why..."
          CPPFLAGS="$CPPFLAGS $XML_CPPFLAGS"
          LIBS="$LIBS $XML_LIBS"
	  AC_LINK_IFELSE(
            [AC_LANG_PROGRAM([[
#include <libxml/xmlversion.h>
#include <stdio.h>
]],    [[ LIBXML_TEST_VERSION; return 0;]])],
        [ echo "*** The test program compiled, but did not run. This usually means"
          echo "*** that the run-time linker is not finding LIBXML or finding the wrong"
          echo "*** version of LIBXML. If it is not finding LIBXML, you'll need to set your"
          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
          echo "*** is required on your system"
          echo "***"
          echo "*** If you have an old version installed, it is best to remove it, although"
          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
        [ echo "*** The test program failed to compile or link. See the file config.log for the"
          echo "*** exact error that occurred. This usually means LIBXML was incorrectly installed"
          echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
          echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
          CPPFLAGS="$ac_save_CPPFLAGS"
          LIBS="$ac_save_LIBS"
       fi
     fi

     XML_CPPFLAGS=""
     XML_LIBS=""
     ifelse([$3], , :, [$3])
  fi
  AC_SUBST(XML_CPPFLAGS)
  AC_SUBST(XML_LIBS)
  rm -f conf.xmltest
])
PK i�Zk�s>~�~�/usr/share/gtk-doc/html/libxml2/libxml2-SAX.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SAX: Old SAX version 1 handler, deprecated</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">SAX</span></h2>
<p>SAX - Old SAX version 1 handler, deprecated</p>
<p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
<p> WARNING: this module is deprecated !</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void	<a href="#attribute">attribute</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#attributeDecl">attributeDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
void	<a href="#cdataBlock">cdataBlock</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
void	<a href="#characters">characters</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
int	<a href="#checkNamespace">checkNamespace</a>			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
void	<a href="#comment">comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#elementDecl">elementDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
void	<a href="#endDocument">endDocument</a>			(void * ctx);
void	<a href="#endElement">endElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#entityDecl">entityDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#externalSubset">externalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#getColumnNumber">getColumnNumber</a>			(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getEntity">getEntity</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#getLineNumber">getLineNumber</a>			(void * ctx);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#getNamespace">getNamespace</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#getParameterEntity">getParameterEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getPublicId">getPublicId</a>		(void * ctx);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#getSystemId">getSystemId</a>		(void * ctx);
void	<a href="#globalNamespace">globalNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
int	<a href="#hasExternalSubset">hasExternalSubset</a>		(void * ctx);
int	<a href="#hasInternalSubset">hasInternalSubset</a>		(void * ctx);
void	<a href="#ignorableWhitespace">ignorableWhitespace</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
void	<a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning);
void	<a href="#internalSubset">internalSubset</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#isStandalone">isStandalone</a>			(void * ctx);
void	<a href="#namespaceDecl">namespaceDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
void	<a href="#notationDecl">notationDecl</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#processingInstruction">processingInstruction</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
void	<a href="#reference">reference</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#resolveEntity">resolveEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#setDocumentLocator">setDocumentLocator</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
void	<a href="#setNamespace">setNamespace</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#startDocument">startDocument</a>			(void * ctx);
void	<a href="#startElement">startElement</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
void	<a href="#unparsedEntityDecl">unparsedEntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="attribute"></a>attribute ()</h3>
<pre class="programlisting">void	attribute			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element. DEPRECATED: use xmlSAX2Attribute()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeDecl"></a>attributeDecl ()</h3>
<pre class="programlisting">void	attributeDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed DEPRECATED: use xmlSAX2AttributeDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="cdataBlock"></a>cdataBlock ()</h3>
<pre class="programlisting">void	cdataBlock			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="characters"></a>characters ()</h3>
<pre class="programlisting">void	characters			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="checkNamespace"></a>checkNamespace ()</h3>
<pre class="programlisting">int	checkNamespace			(void * ctx, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br>
</pre>
<p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespace</tt></i>:</span></td>
<td>the namespace to check against</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="comment"></a>comment ()</h3>
<pre class="programlisting">void	comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed. DEPRECATED: use xmlSAX2Comment()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="elementDecl"></a>elementDecl ()</h3>
<pre class="programlisting">void	elementDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endDocument"></a>endDocument ()</h3>
<pre class="programlisting">void	endDocument			(void * ctx)<br>
</pre>
<p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElement"></a>endElement ()</h3>
<pre class="programlisting">void	endElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when the end of an element has been detected. DEPRECATED: use xmlSAX2EndElement()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="entityDecl"></a>entityDecl ()</h3>
<pre class="programlisting">void	entityDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="externalSubset"></a>externalSubset ()</h3>
<pre class="programlisting">void	externalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getColumnNumber"></a>getColumnNumber ()</h3>
<pre class="programlisting">int	getColumnNumber			(void * ctx)<br>
</pre>
<p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getEntity"></a>getEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntity		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getLineNumber"></a>getLineNumber ()</h3>
<pre class="programlisting">int	getLineNumber			(void * ctx)<br>
</pre>
<p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getNamespace"></a>getNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	getNamespace		(void * ctx)<br>
</pre>
<p>Get the current element namespace. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getParameterEntity"></a>getParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getPublicId"></a>getPublicId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getPublicId		(void * ctx)<br>
</pre>
<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getSystemId"></a>getSystemId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	getSystemId		(void * ctx)<br>
</pre>
<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd DEPRECATED: use xmlSAX2GetSystemId()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="globalNamespace"></a>globalNamespace ()</h3>
<pre class="programlisting">void	globalNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>An old global namespace has been parsed. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace associated URN</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasExternalSubset"></a>hasExternalSubset ()</h3>
<pre class="programlisting">int	hasExternalSubset		(void * ctx)<br>
</pre>
<p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasInternalSubset"></a>hasInternalSubset ()</h3>
<pre class="programlisting">int	hasInternalSubset		(void * ctx)<br>
</pre>
<p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3>
<pre class="programlisting">void	ignorableWhitespace		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a> DEPRECATED: use xmlSAX2IgnorableWhitespace()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	inithtmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br>
</pre>
<p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	initxmlDefaultSAXHandler	(<a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>					 int warning)<br>
</pre>
<p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>warning</tt></i>:</span></td>
<td>flag if non-zero sets the handler warning procedure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="internalSubset"></a>internalSubset ()</h3>
<pre class="programlisting">void	internalSubset			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isStandalone"></a>isStandalone ()</h3>
<pre class="programlisting">int	isStandalone			(void * ctx)<br>
</pre>
<p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namespaceDecl"></a>namespaceDecl ()</h3>
<pre class="programlisting">void	namespaceDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>A namespace has been parsed. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace associated URN</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="notationDecl"></a>notationDecl ()</h3>
<pre class="programlisting">void	notationDecl			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="processingInstruction"></a>processingInstruction ()</h3>
<pre class="programlisting">void	processingInstruction		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="reference"></a>reference ()</h3>
<pre class="programlisting">void	reference			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected. DEPRECATED: use xmlSAX2Reference()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="resolveEntity"></a>resolveEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>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()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setDocumentLocator"></a>setDocumentLocator ()</h3>
<pre class="programlisting">void	setDocumentLocator		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setNamespace"></a>setNamespace ()</h3>
<pre class="programlisting">void	setNamespace			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Set the current element namespace. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startDocument"></a>startDocument ()</h3>
<pre class="programlisting">void	startDocument			(void * ctx)<br>
</pre>
<p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElement"></a>startElement ()</h3>
<pre class="programlisting">void	startElement			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>called when an opening tag has been processed. DEPRECATED: use xmlSAX2StartElement()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3>
<pre class="programlisting">void	unparsedEntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�G��]�]4usr/share/gtk-doc/html/libxml2/libxml2-HTMLtree.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">HTMLtree</span></h2>
<p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
<p>this module implements a few function needed to process tree in an HTML specific way. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
void	<a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlDocDump">htmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
void	<a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#htmlGetMetaEncoding">htmlGetMetaEncoding</a>	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);
int	<a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDoc">htmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
int	<a href="#htmlNodeDump">htmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format);
void	<a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlSaveFile">htmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
int	<a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
int	<a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="HTML_COMMENT_NODE">Macro </a>HTML_COMMENT_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
</pre>
<p>Macro. A <a href="libxml2-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml2-SAX.html#comment">comment</a> in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_ENTITY_REF_NODE">Macro </a>HTML_ENTITY_REF_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
</pre>
<p>Macro. An entity <a href="libxml2-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml2-SAX.html#reference">reference</a> in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
</pre>
<p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing instruction in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_PRESERVE_NODE">Macro </a>HTML_PRESERVE_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
</pre>
<p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3>
<pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
</pre>
<p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocContentDumpFormatOutput"></a>htmlDocContentDumpFormatOutput ()</h3>
<pre class="programlisting">void	htmlDocContentDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocContentDumpOutput"></a>htmlDocContentDumpOutput ()</h3>
<pre class="programlisting">void	htmlDocContentDumpOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML document. Formatting return/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDump"></a>htmlDocDump ()</h3>
<pre class="programlisting">int	htmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an HTML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDumpMemory"></a>htmlDocDumpMemory ()</h3>
<pre class="programlisting">void	htmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
</pre>
<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocDumpMemoryFormat"></a>htmlDocDumpMemoryFormat ()</h3>
<pre class="programlisting">void	htmlDocDumpMemoryFormat		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
</pre>
<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and it's size. It's up to the caller to free the memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlGetMetaEncoding"></a>htmlGetMetaEncoding ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	htmlGetMetaEncoding	(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br>
</pre>
<p>Encoding definition lookup in the Meta tags</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current encoding as flagged in the HTML source</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsBooleanAttr"></a>htmlIsBooleanAttr ()</h3>
<pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Determine if a given <a href="libxml2-SAX.html#attribute">attribute</a> is a boolean attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a> to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>false if the <a href="libxml2-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewDoc"></a>htmlNewDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
</pre>
<p>Creates a new HTML document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>URI for the dtd, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID of the DTD, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewDocNoDtD"></a>htmlNewDocNoDtD ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlNewDocNoDtD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
</pre>
<p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>URI for the dtd, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID of the DTD, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document, do not initialize the DTD if not provided</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDump"></a>htmlNodeDump ()</h3>
<pre class="programlisting">int	htmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFile"></a>htmlNodeDumpFile ()</h3>
<pre class="programlisting">void	htmlNodeDumpFile		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the FILE pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFileFormat"></a>htmlNodeDumpFileFormat ()</h3>
<pre class="programlisting">int	htmlNodeDumpFileFormat		(FILE * out, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in the doc encoding</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the FILE pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpFormatOutput"></a>htmlNodeDumpFormatOutput ()</h3>
<pre class="programlisting">void	htmlNodeDumpFormatOutput	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeDumpOutput"></a>htmlNodeDumpOutput ()</h3>
<pre class="programlisting">void	htmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the HTML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string (unused)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFile"></a>htmlSaveFile ()</h3>
<pre class="programlisting">int	htmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFileEnc"></a>htmlSaveFileEnc ()</h3>
<pre class="programlisting">int	htmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSaveFileFormat"></a>htmlSaveFileFormat ()</h3>
<pre class="programlisting">int	htmlSaveFileFormat		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an HTML document to a file using a given encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSetMetaEncoding"></a>htmlSetMetaEncoding ()</h3>
<pre class="programlisting">int	htmlSetMetaEncoding		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br>
</pre>
<p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just the META flag associated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�
(��7usr/share/gtk-doc/html/libxml2/libxml2-xmlautomata.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlautomata: API to build regexp automata</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlautomata</span></h2>
<p>xmlautomata - API to build regexp automata</p>
<p>the API to build regexp automata </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
typedef <a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a href="#xmlAutomataPtr">xmlAutomataPtr</a>;
typedef struct _xmlAutomataState <a href="#xmlAutomataState">xmlAutomataState</a>;
typedef <a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a href="#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlAutomataCompile">xmlAutomataCompile</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
int	<a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
int	<a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewState">xmlAutomataNewState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data);
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	<a href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data);
int	<a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
void	<a href="#xmlFreeAutomata">xmlFreeAutomata</a>			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	<a href="#xmlNewAutomata">xmlNewAutomata</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomata">Structure </a>xmlAutomata</h3>
<pre class="programlisting">struct _xmlAutomata {
The content of this structure is not made public by the API.
} xmlAutomata;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
</pre>
<p>A libxml automata description, It can be compiled into a regexp</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataState">Structure </a>xmlAutomataState</h3>
<pre class="programlisting">struct _xmlAutomataState {
The content of this structure is not made public by the API.
} xmlAutomataState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataStatePtr">Typedef </a>xmlAutomataStatePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * xmlAutomataStatePtr;
</pre>
<p>A state int the automata description,</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataCompile"></a>xmlAutomataCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlAutomataCompile	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled regexp or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataGetInitState"></a>xmlAutomataGetInitState ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataGetInitState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Initial state lookup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the initial state of the automata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataIsDeterminist"></a>xmlAutomataIsDeterminist ()</h3>
<pre class="programlisting">int	xmlAutomataIsDeterminist	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Checks if an automata is determinist.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if not, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewAllTrans"></a>xmlAutomataNewAllTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewAllTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 int lax)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>lax</tt></i>:</span></td>
<td>allow to transition if not all all transitions have been activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountTrans"></a>xmlAutomataNewCountTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountTrans2"></a>xmlAutomataNewCountTrans2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCountedTrans"></a>xmlAutomataNewCountedTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCountedTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>counter</tt></i>:</span></td>
<td>the counter associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCounter"></a>xmlAutomataNewCounter ()</h3>
<pre class="programlisting">int	xmlAutomataNewCounter		(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 int min, <br>					 int max)<br>
</pre>
<p>Create a new counter</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimal value on the counter</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximal value on the counter</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the counter number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewCounterTrans"></a>xmlAutomataNewCounterTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewCounterTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 int counter)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>counter</tt></i>:</span></td>
<td>the counter associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewEpsilon"></a>xmlAutomataNewEpsilon ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewEpsilon	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewNegTrans"></a>xmlAutomataNewNegTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewNegTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>						 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the first input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewOnceTrans"></a>xmlAutomataNewOnceTrans ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>						 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>						 int min, <br>						 int max, <br>						 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewOnceTrans2"></a>xmlAutomataNewOnceTrans2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewOnceTrans2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 int min, <br>							 int max, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the minimum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the maximum successive occurrences of token</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewState"></a>xmlAutomataNewState ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Create a new disconnected state in the automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewTransition"></a>xmlAutomataNewTransition ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataNewTransition2"></a>xmlAutomataNewTransition2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	xmlAutomataNewTransition2	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>							 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>							 void * data)<br>
</pre>
<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>the starting point of the transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>the target point of the transition or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the first input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>token2</tt></i>:</span></td>
<td>the second input string associated to that transition</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data passed to the callback function if the transition is activated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the target state or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAutomataSetFinalState"></a>xmlAutomataSetFinalState ()</h3>
<pre class="programlisting">int	xmlAutomataSetFinalState	(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>					 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br>
</pre>
<p>Makes that state a final state</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>state</tt></i>:</span></td>
<td>a state in this automata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeAutomata"></a>xmlFreeAutomata ()</h3>
<pre class="programlisting">void	xmlFreeAutomata			(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
</pre>
<p>Free an automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>am</tt></i>:</span></td>
<td>an automata</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewAutomata"></a>xmlNewAutomata ()</h3>
<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	xmlNewAutomata		(void)<br>
</pre>
<p>Create a new automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object or NULL in case of failure</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zw�-5usr/share/gtk-doc/html/libxml2/libxml2-xmlmodule.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlmodule: dynamic module loading</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlmodule</span></h2>
<p>xmlmodule - dynamic module loading</p>
<p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
<p>Author(s): Joel W. Reed </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
typedef enum <a href="#xmlModuleOption">xmlModuleOption</a>;
typedef <a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * <a href="#xmlModulePtr">xmlModulePtr</a>;
int	<a href="#xmlModuleClose">xmlModuleClose</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
int	<a href="#xmlModuleFree">xmlModuleFree</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	<a href="#xmlModuleOpen">xmlModuleOpen</a>		(const char * name, <br>					 int options);
int	<a href="#xmlModuleSymbol">xmlModuleSymbol</a>			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlModule">Structure </a>xmlModule</h3>
<pre class="programlisting">struct _xmlModule {
The content of this structure is not made public by the API.
} xmlModule;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleOption">Enum </a>xmlModuleOption</h3>
<pre class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
    <a name="XML_MODULE_LAZY">XML_MODULE_LAZY</a> = 1 /* lazy binding */
    <a name="XML_MODULE_LOCAL">XML_MODULE_LOCAL</a> = 2 /*  local binding */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
</pre>
<p>A handle to a dynamically loaded module</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleClose"></a>xmlModuleClose ()</h3>
<pre class="programlisting">int	xmlModuleClose			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
</pre>
<p>The close operations unload the associated module and free the data associated to the module.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module handle</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of argument error and -2 if the module could not be closed/unloaded.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleFree"></a>xmlModuleFree ()</h3>
<pre class="programlisting">int	xmlModuleFree			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
</pre>
<p>The free operations free the data associated to the module but does not unload the associated shared library which may still be in use.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module handle</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of argument error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleOpen"></a>xmlModuleOpen ()</h3>
<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>	xmlModuleOpen		(const char * name, <br>					 int options)<br>
</pre>
<p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options are not yet implemented.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the module name</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a handle for the module or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlModuleSymbol"></a>xmlModuleSymbol ()</h3>
<pre class="programlisting">int	xmlModuleSymbol			(<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>					 const char * name, <br>					 void ** symbol)<br>
</pre>
<p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>module</tt></i>:</span></td>
<td>the module</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the symbol</td>
</tr>
<tr>
<td><span class="term"><i><tt>symbol</tt></i>:</span></td>
<td>the resulting symbol address</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the symbol was found, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z+�~�q�q4usr/share/gtk-doc/html/libxml2/libxml2-encoding.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>encoding: interface for the encoding conversion functions</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">encoding</span></h2>
<p>encoding - interface for the encoding conversion functions</p>
<p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br>					 const char * alias);
int	<a href="#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler);
int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
typedef int <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
typedef int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void);
void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void);
int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias);
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br>					 int len);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
const char *	<a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias);
void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void);
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name);
void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3>
<pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
    <a name="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 /* No char encoding detected */
    <a name="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 /* No char encoding detected */
    <a name="XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a> = 1 /* UTF-8 */
    <a name="XML_CHAR_ENCODING_UTF16LE">XML_CHAR_ENCODING_UTF16LE</a> = 2 /* UTF-16 little endian */
    <a name="XML_CHAR_ENCODING_UTF16BE">XML_CHAR_ENCODING_UTF16BE</a> = 3 /* UTF-16 big endian */
    <a name="XML_CHAR_ENCODING_UCS4LE">XML_CHAR_ENCODING_UCS4LE</a> = 4 /* UCS-4 little endian */
    <a name="XML_CHAR_ENCODING_UCS4BE">XML_CHAR_ENCODING_UCS4BE</a> = 5 /* UCS-4 big endian */
    <a name="XML_CHAR_ENCODING_EBCDIC">XML_CHAR_ENCODING_EBCDIC</a> = 6 /* EBCDIC uh! */
    <a name="XML_CHAR_ENCODING_UCS4_2143">XML_CHAR_ENCODING_UCS4_2143</a> = 7 /* UCS-4 unusual ordering */
    <a name="XML_CHAR_ENCODING_UCS4_3412">XML_CHAR_ENCODING_UCS4_3412</a> = 8 /* UCS-4 unusual ordering */
    <a name="XML_CHAR_ENCODING_UCS2">XML_CHAR_ENCODING_UCS2</a> = 9 /* UCS-2 */
    <a name="XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a> = 10 /* ISO-8859-1 ISO Latin 1 */
    <a name="XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a> = 11 /* ISO-8859-2 ISO Latin 2 */
    <a name="XML_CHAR_ENCODING_8859_3">XML_CHAR_ENCODING_8859_3</a> = 12 /* ISO-8859-3 */
    <a name="XML_CHAR_ENCODING_8859_4">XML_CHAR_ENCODING_8859_4</a> = 13 /* ISO-8859-4 */
    <a name="XML_CHAR_ENCODING_8859_5">XML_CHAR_ENCODING_8859_5</a> = 14 /* ISO-8859-5 */
    <a name="XML_CHAR_ENCODING_8859_6">XML_CHAR_ENCODING_8859_6</a> = 15 /* ISO-8859-6 */
    <a name="XML_CHAR_ENCODING_8859_7">XML_CHAR_ENCODING_8859_7</a> = 16 /* ISO-8859-7 */
    <a name="XML_CHAR_ENCODING_8859_8">XML_CHAR_ENCODING_8859_8</a> = 17 /* ISO-8859-8 */
    <a name="XML_CHAR_ENCODING_8859_9">XML_CHAR_ENCODING_8859_9</a> = 18 /* ISO-8859-9 */
    <a name="XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a> = 19 /* ISO-2022-JP */
    <a name="XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a> = 20 /* Shift_JIS */
    <a name="XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a> = 21 /* EUC-JP */
    <a name="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 /*  pure ASCII */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingHandler">Structure </a>xmlCharEncodingHandler</h3>
<pre class="programlisting">struct _xmlCharEncodingHandler {
    char *	name
    <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	input
    <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	output
    iconv_t	iconv_in
    iconv_t	iconv_out
    struct _uconv_t *	uconv_in
    struct _uconv_t *	uconv_out
} xmlCharEncodingHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingHandlerPtr">Typedef </a>xmlCharEncodingHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingInputFunc"></a>Function type xmlCharEncodingInputFunc</h3>
<pre class="programlisting">int	xmlCharEncodingInputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the UTF-8 result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of chars in the original encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncodingOutputFunc"></a>Function type xmlCharEncodingOutputFunc</h3>
<pre class="programlisting">int	xmlCharEncodingOutputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="UTF8Toisolat1"></a>UTF8Toisolat1 ()</h3>
<pre class="programlisting">int	UTF8Toisolat1			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isolat1ToUTF8"></a>isolat1ToUTF8 ()</h3>
<pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of ISO Latin 1 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddEncodingAlias"></a>xmlAddEncodingAlias ()</h3>
<pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br>					 const char * alias)<br>
</pre>
<p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncCloseFunc"></a>xmlCharEncCloseFunc ()</h3>
<pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br>
</pre>
<p>Generic front-end for encoding handler close function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncFirstLine"></a>xmlCharEncFirstLine ()</h3>
<pre class="programlisting">int	xmlCharEncFirstLine		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself to 45 chars.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncInFunc"></a>xmlCharEncInFunc ()</h3>
<pre class="programlisting">int	xmlCharEncInFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Generic front-end for the encoding handler input function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharEncOutFunc"></a>xmlCharEncOutFunc ()</h3>
<pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
</pre>
<p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>char encoding transformation data structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupCharEncodingHandlers"></a>xmlCleanupCharEncodingHandlers ()</h3>
<pre class="programlisting">void	xmlCleanupCharEncodingHandlers	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the memory allocated for the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3>
<pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br>
</pre>
<p>Unregisters all aliases</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3>
<pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br>
</pre>
<p>Unregisters an encoding alias @alias</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDetectCharEncoding"></a>xmlDetectCharEncoding ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlDetectCharEncoding	(const unsigned char * in, <br>					 int len)<br>
</pre>
<p>Guess the encoding of the entity using the first bytes of the entity content according to the non-normative appendix F of the XML-1.0 recommendation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is UTF4 variant).</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of the XML_CHAR_ENCODING_... values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br>
</pre>
<p>Search in the registered set the handler able to read/write that encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>a string describing the char encoding.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the handler or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCharEncodingHandler"></a>xmlGetCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlGetCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Search in the registered set the handler able to read/write that encoding.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the handler or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCharEncodingName"></a>xmlGetCharEncodingName ()</h3>
<pre class="programlisting">const char *	xmlGetCharEncodingName	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 Character Encoding in Entities</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the canonical name for the given encoding</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetEncodingAlias"></a>xmlGetEncodingAlias ()</h3>
<pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br>
</pre>
<p>Lookup an encoding name for the given alias.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>alias</tt></i>:</span></td>
<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise the original name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitCharEncodingHandlers"></a>xmlInitCharEncodingHandlers ()</h3>
<pre class="programlisting">void	xmlInitCharEncodingHandlers	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the char encoding support, it registers the default encoding supported. NOTE: while public, this function usually doesn't need to be called in normal processing.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCharEncodingHandler"></a>xmlNewCharEncodingHandler ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br>
</pre>
<p>Create and registers an xmlCharEncodingHandler.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case of error).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharEncoding"></a>xmlParseCharEncoding ()</h3>
<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	xmlParseCharEncoding	(const char * name)<br>
</pre>
<p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the encoding name as parsed, in UTF-8 format (ASCII actually)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of the XML_CHAR_ENCODING_... values or <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterCharEncodingHandler"></a>xmlRegisterCharEncodingHandler ()</h3>
<pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>Register the char encoding handler, surprising, isn't it ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler block</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z,��I����3usr/share/gtk-doc/html/libxml2/libxml2-globals.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>globals: interface for all global variables of the library</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">globals</span></h2>
<p>globals - interface for all global variables of the library</p>
<p>all the global variables and thread handling for those variables is handled by this module.  The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
void	<a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>		(void);
<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void);
void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v);
<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
int	<a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>	(int v);
int	<a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>	(int v);
int	<a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>	(int v);
int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v);
int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v);
int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v);
<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v);
<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v);
<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
int	<a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>	(int v);
void	<a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
void	<a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v);
const char *	<a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>	(const char * v);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlGlobalState">Structure </a>xmlGlobalState</h3>
<pre class="programlisting">struct _xmlGlobalState {
    const char *	xmlParserVersion
    <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a>	xmlDefaultSAXLocator
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	xmlDefaultSAXHandler
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	docbDefaultSAXHandler	: unused
    <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>	htmlDefaultSAXHandler
    <a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a>	xmlFree
    <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMalloc
    <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a>	xmlMemStrdup
    <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a>	xmlRealloc
    <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a>	xmlGenericError
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	xmlStructuredError
    void *	xmlGenericErrorContext
    int	oldXMLWDcompatibility
    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlBufferAllocScheme
    int	xmlDefaultBufferSize
    int	xmlSubstituteEntitiesDefaultValue
    int	xmlDoValidityCheckingDefaultValue
    int	xmlGetWarningsDefaultValue
    int	xmlKeepBlanksDefaultValue
    int	xmlLineNumbersDefaultValue
    int	xmlLoadExtDtdDefaultValue
    int	xmlParserDebugEntities
    int	xmlPedanticParserDefaultValue
    int	xmlSaveNoEmptyTags
    int	xmlIndentTreeOutput
    const char *	xmlTreeIndentString
    <a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefaultValue
    <a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefaultValue
    <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMallocAtomic
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	xmlLastError
    <a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameValue
    <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
    void *	xmlStructuredErrorContext
} xmlGlobalState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGlobalStatePtr">Typedef </a>xmlGlobalStatePtr</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * xmlGlobalStatePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
<pre class="programlisting">void	xmlDeregisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Signature for the deregistration callback of a discarded node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
</pre>
<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI to write to</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type xmlParserInputBufferCreateFilenameFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI to read from</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the requested source encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
<pre class="programlisting">void	xmlRegisterNodeFunc		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Signature for the registration callback of a created node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
<pre class="programlisting">int oldXMLWDcompatibility;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3>
<pre class="programlisting">int xmlDefaultBufferSize;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3>
<pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFree">Variable </a>xmlFree</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericError">Variable </a>xmlGenericError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3>
<pre class="programlisting">void * xmlGenericErrorContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3>
<pre class="programlisting">int xmlGetWarningsDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3>
<pre class="programlisting">int xmlIndentTreeOutput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3>
<pre class="programlisting">int xmlKeepBlanksDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLastError">Variable </a>xmlLastError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3>
<pre class="programlisting">int xmlLineNumbersDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3>
<pre class="programlisting">int xmlLoadExtDtdDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
<pre class="programlisting">int xmlParserDebugEntities;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
<pre class="programlisting">const char * xmlParserVersion;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3>
<pre class="programlisting">int xmlPedanticParserDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3>
<pre class="programlisting">int xmlSaveNoEmptyTags;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredError">Variable </a>xmlStructuredError</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3>
<pre class="programlisting">void * xmlStructuredErrorContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3>
<pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3>
<pre class="programlisting">const char * xmlTreeIndentString;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3>
<pre class="programlisting">void	xmlCleanupGlobals		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Additional cleanup for multi-threading</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
</pre>
<p>Registers a callback for node destruction</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new DeregisterNodeFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the deregistration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3>
<pre class="programlisting">void	xmlInitGlobals			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Additional initialisation for multi-threading</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3>
<pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br>
</pre>
<p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>gs</tt></i>:</span></td>
<td>a pointer to a newly allocated global state</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p>Registers a callback for URI output file handling</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new OutputBufferCreateFilenameFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p>Registers a callback for URI input file handling</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new ParserInputBufferCreateFilenameFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
</pre>
<p>Registers a callback for node creation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>function pointer to the new RegisterNodeFunc</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old value of the registration function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
<pre class="programlisting">int	xmlThrDefDefaultBufferSize	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefDoValidityCheckingDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefGetWarningsDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
<pre class="programlisting">int	xmlThrDefIndentTreeOutput	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefKeepBlanksDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefLineNumbersDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefLoadExtDtdDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3>
<pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlThrDefRegisterNodeDefault	(<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
<pre class="programlisting">int	xmlThrDefSaveNoEmptyTags	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
<pre class="programlisting">void	xmlThrDefSetGenericErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
<pre class="programlisting">void	xmlThrDefSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
<pre class="programlisting">int	xmlThrDefSubstituteEntitiesDefaultValue	(int v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
<pre class="programlisting">const char *	xmlThrDefTreeIndentString	(const char * v)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>v</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z^^e]�]�1usr/share/gtk-doc/html/libxml2/libxml2-xpath.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpath: XML Path Language implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpath</span></h2>
<p>xpath - XML Path Language implementation</p>
<p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
typedef struct _xmlNodeSet <a href="#xmlNodeSet">xmlNodeSet</a>;
typedef <a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * <a href="#xmlNodeSetPtr">xmlNodeSetPtr</a>;
typedef struct _xmlXPathAxis <a href="#xmlXPathAxis">xmlXPathAxis</a>;
typedef <a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * <a href="#xmlXPathAxisPtr">xmlXPathAxisPtr</a>;
typedef struct _xmlXPathCompExpr <a href="#xmlXPathCompExpr">xmlXPathCompExpr</a>;
typedef <a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * <a href="#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>;
typedef struct _xmlXPathContext <a href="#xmlXPathContext">xmlXPathContext</a>;
typedef <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * <a href="#xmlXPathContextPtr">xmlXPathContextPtr</a>;
typedef enum <a href="#xmlXPathError">xmlXPathError</a>;
typedef <a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * <a href="#xmlXPathFuncPtr">xmlXPathFuncPtr</a>;
typedef struct _xmlXPathFunct <a href="#xmlXPathFunct">xmlXPathFunct</a>;
typedef struct _xmlXPathObject <a href="#xmlXPathObject">xmlXPathObject</a>;
typedef <a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * <a href="#xmlXPathObjectPtr">xmlXPathObjectPtr</a>;
typedef enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a>;
typedef struct _xmlXPathParserContext <a href="#xmlXPathParserContext">xmlXPathParserContext</a>;
typedef <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * <a href="#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>;
typedef struct _xmlXPathType <a href="#xmlXPathType">xmlXPathType</a>;
typedef <a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * <a href="#xmlXPathTypePtr">xmlXPathTypePtr</a>;
typedef struct _xmlXPathVariable <a href="#xmlXPathVariable">xmlXPathVariable</a>;
typedef <a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a href="#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
double	<a href="#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>	(int val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>	(int val);
int	<a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
double	<a href="#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
double	<a href="#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>	(double val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>	(double val);
int	<a href="#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
double	<a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
int	<a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
double	<a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathCastToString">xmlXPathCastToString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
int	<a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCompile">xmlXPathCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
int	<a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
int	<a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathConvertString">xmlXPathConvertString</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	<a href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEval">xmlXPathEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
void	<a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
void	<a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
void	<a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
void	<a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathInit">xmlXPathInit</a>			(void);
int	<a href="#xmlXPathIsInf">xmlXPathIsInf</a>			(double val);
int	<a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>			(double val);
<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPathNewContext">xmlXPathNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNodeEval">xmlXPathNodeEval</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
long	<a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3>
<pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
</pre>
<p>check namespaces at compilation</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3>
<pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
</pre>
<p>forbid variables in expression</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_LOCATIONSET">Macro </a>XPATH_LOCATIONSET</h3>
<pre class="programlisting">#define <a href="#XPATH_LOCATIONSET">XPATH_LOCATIONSET</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_POINT">Macro </a>XPATH_POINT</h3>
<pre class="programlisting">#define <a href="#XPATH_POINT">XPATH_POINT</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XPATH_RANGE">Macro </a>XPATH_RANGE</h3>
<pre class="programlisting">#define <a href="#XPATH_RANGE">XPATH_RANGE</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetGetLength">Macro </a>xmlXPathNodeSetGetLength</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
</pre>
<p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetIsEmpty">Macro </a>xmlXPathNodeSetIsEmpty</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
</pre>
<p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetItem">Macro </a>xmlXPathNodeSetItem</h3>
<pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
</pre>
<p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of range (0 to length-1)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>index</tt></i>:</span></td>
<td>index of a node in the set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSet">Structure </a>xmlNodeSet</h3>
<pre class="programlisting">struct _xmlNodeSet {
    int	nodeNr	: number of nodes in the set
    int	nodeMax	: size of the array as allocated
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes in no particular order @@ with_ns to check whether nam
} xmlNodeSet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3>
<pre class="programlisting">struct _xmlXPathAxis {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the axis name
    <a href="libxml2-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func	: the search function
} xmlXPathAxis;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompExpr">Structure </a>xmlXPathCompExpr</h3>
<pre class="programlisting">struct _xmlXPathCompExpr {
The content of this structure is not made public by the API.
} xmlXPathCompExpr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompExprPtr">Typedef </a>xmlXPathCompExprPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * xmlXPathCompExprPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContext">Structure </a>xmlXPathContext</h3>
<pre class="programlisting">struct _xmlXPathContext {
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: The current document
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: The current node
    int	nb_variables_unused	: unused (hash table)
    int	max_variables_unused	: unused (hash table)
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	varHash	: Hash table of defined variables
    int	nb_types	: number of defined types
    int	max_types	: max number of types
    <a href="libxml2-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>	types	: Array of defined types
    int	nb_funcs_unused	: unused (hash table)
    int	max_funcs_unused	: unused (hash table)
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	funcHash	: Hash table of defined funcs
    int	nb_axis	: number of defined axis
    int	max_axis	: max number of axis
    <a href="libxml2-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>	axis	: Array of defined axis the namespace nodes of the context node
    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	namespaces	: Array of namespaces
    int	nsNr	: number of namespace in scope
    void *	user	: function to free extra variables
    int	contextSize	: the context size
    int	proximityPosition	: the proximity position extra stuff for XPointer
    int	xptr	: is this an XPointer context?
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	here	: for here()
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	origin	: for origin() the set of namespace declarations in scope for the expre
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash	: The namespaces hash table
    <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc	: variable lookup func
    void *	varLookupData	: variable lookup data Possibility to link in an extra item
    void *	extra	: needed for XSLT The function name and URI when calling a function
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	function
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	functionURI	: function lookup function and data
    <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc	: function lookup func
    void *	funcLookupData	: function lookup data temporary namespace lists kept for walking the n
    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList	: Array of namespaces
    int	tmpNsNr	: number of namespaces in scope error reporting mechanism
    void *	userData	: user specific data block
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	error	: the callback in case of errors
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError	: the last error
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	debugNode	: the source node XSLT dictionary
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary if any
    int	flags	: flags to control compilation Cache for reusal of XPath objects
    void *	cache	: Resource limits
    unsigned long	opLimit
    unsigned long	opCount
    int	depth
} xmlXPathContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContextPtr">Typedef </a>xmlXPathContextPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * xmlXPathContextPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathError">Enum </a>xmlXPathError</h3>
<pre class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
    <a name="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
    <a name="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
    <a name="XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a> = 2
    <a name="XPATH_START_LITERAL_ERROR">XPATH_START_LITERAL_ERROR</a> = 3
    <a name="XPATH_VARIABLE_REF_ERROR">XPATH_VARIABLE_REF_ERROR</a> = 4
    <a name="XPATH_UNDEF_VARIABLE_ERROR">XPATH_UNDEF_VARIABLE_ERROR</a> = 5
    <a name="XPATH_INVALID_PREDICATE_ERROR">XPATH_INVALID_PREDICATE_ERROR</a> = 6
    <a name="XPATH_EXPR_ERROR">XPATH_EXPR_ERROR</a> = 7
    <a name="XPATH_UNCLOSED_ERROR">XPATH_UNCLOSED_ERROR</a> = 8
    <a name="XPATH_UNKNOWN_FUNC_ERROR">XPATH_UNKNOWN_FUNC_ERROR</a> = 9
    <a name="XPATH_INVALID_OPERAND">XPATH_INVALID_OPERAND</a> = 10
    <a name="XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> = 11
    <a name="XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> = 12
    <a name="XPATH_INVALID_CTXT_SIZE">XPATH_INVALID_CTXT_SIZE</a> = 13
    <a name="XPATH_INVALID_CTXT_POSITION">XPATH_INVALID_CTXT_POSITION</a> = 14
    <a name="XPATH_MEMORY_ERROR">XPATH_MEMORY_ERROR</a> = 15
    <a name="XPTR_SYNTAX_ERROR">XPTR_SYNTAX_ERROR</a> = 16
    <a name="XPTR_RESOURCE_ERROR">XPTR_RESOURCE_ERROR</a> = 17
    <a name="XPTR_SUB_RESOURCE_ERROR">XPTR_SUB_RESOURCE_ERROR</a> = 18
    <a name="XPATH_UNDEF_PREFIX_ERROR">XPATH_UNDEF_PREFIX_ERROR</a> = 19
    <a name="XPATH_ENCODING_ERROR">XPATH_ENCODING_ERROR</a> = 20
    <a name="XPATH_INVALID_CHAR_ERROR">XPATH_INVALID_CHAR_ERROR</a> = 21
    <a name="XPATH_INVALID_CTXT">XPATH_INVALID_CTXT</a> = 22
    <a name="XPATH_STACK_ERROR">XPATH_STACK_ERROR</a> = 23
    <a name="XPATH_FORBID_VARIABLE_ERROR">XPATH_FORBID_VARIABLE_ERROR</a> = 24
    <a name="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25
    <a name="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3>
<pre class="programlisting">struct _xmlXPathFunct {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
    <a href="libxml2-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func	: the evaluation function
} xmlXPathFunct;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObject">Structure </a>xmlXPathObject</h3>
<pre class="programlisting">struct _xmlXPathObject {
    <a href="libxml2-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>	type
    <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	nodesetval
    int	boolval
    double	floatval
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	stringval
    void *	user
    int	index
    void *	user2
    int	index2
} xmlXPathObject;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectPtr">Typedef </a>xmlXPathObjectPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * xmlXPathObjectPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectType">Enum </a>xmlXPathObjectType</h3>
<pre class="programlisting">enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a> {
    <a name="XPATH_UNDEFINED">XPATH_UNDEFINED</a> = 0
    <a name="XPATH_NODESET">XPATH_NODESET</a> = 1
    <a name="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
    <a name="XPATH_NUMBER">XPATH_NUMBER</a> = 3
    <a name="XPATH_STRING">XPATH_STRING</a> = 4
    <a name="XPATH_POINT">XPATH_POINT</a> = 5
    <a name="XPATH_RANGE">XPATH_RANGE</a> = 6
    <a name="XPATH_LOCATIONSET">XPATH_LOCATIONSET</a> = 7
    <a name="XPATH_USERS">XPATH_USERS</a> = 8
    <a name="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 /*  An XSLT value tree, non modifiable */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParserContext">Structure </a>xmlXPathParserContext</h3>
<pre class="programlisting">struct _xmlXPathParserContext {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: the current char being parsed
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: the full expression
    int	error	: error code
    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	context	: the evaluation context
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the current value
    int	valueNr	: number of values stacked
    int	valueMax	: max number of values stacked
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	valueTab	: stack of values
    <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	comp	: the precompiled expression
    int	xptr	: it this an XPointer expression
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor	: used for walking preceding axis
    int	valueFrame	: used to limit Pop on the stack
} xmlXPathParserContext;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParserContextPtr">Typedef </a>xmlXPathParserContextPtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * xmlXPathParserContextPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathType">Structure </a>xmlXPathType</h3>
<pre class="programlisting">struct _xmlXPathType {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the type name
    <a href="libxml2-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func	: the conversion function
} xmlXPathType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariable">Structure </a>xmlXPathVariable</h3>
<pre class="programlisting">struct _xmlXPathVariable {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the variable name
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the value
} xmlXPathVariable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariablePtr">Typedef </a>xmlXPathVariablePtr</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * xmlXPathVariablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAxisFunc"></a>Function type xmlXPathAxisFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathAxisFunc	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br>
</pre>
<p>An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and repeat until the function returns NULL indicating the end of the axis traversal.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath interpreter context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the previous node being explored on that axis</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next node in that axis or NULL if at the end of the axis.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertFunc"></a>Function type xmlXPathConvertFunc</h3>
<pre class="programlisting">int	xmlXPathConvertFunc		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>					 int type)<br>
</pre>
<p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the number of the target type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalFunc"></a>Function type xmlXPathEvalFunc</h3>
<pre class="programlisting">void	xmlXPathEvalFunc		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>An XPath evaluation function, the parameters are on the XPath context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments passed to the function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFuncLookupFunc"></a>Function type xmlXPathFuncLookupFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFuncLookupFunc	(void * ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Prototype for callbacks used to plug function lookup in the XPath engine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>name of the function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name hosting this function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath function or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunction"></a>Function type xmlXPathFunction</h3>
<pre class="programlisting">void	xmlXPathFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath interprestation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookupFunc"></a>Function type xmlXPathVariableLookupFunc</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupFunc	(void * ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Prototype for callbacks used to plug variable lookup in the XPath engine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>name of the variable</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name hosting this variable</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath object value or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3>
<pre class="programlisting">double xmlXPathNAN;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3>
<pre class="programlisting">double xmlXPathNINF;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3>
<pre class="programlisting">double xmlXPathPINF;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastBooleanToNumber	(int val)<br>
</pre>
<p>Converts a boolean to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastBooleanToString	(int val)<br>
</pre>
<p>Converts a boolean to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastNodeSetToBoolean	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastNodeSetToNumber	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeSetToString	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
</pre>
<p>Converts a node-set to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastNodeToNumber	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Converts a node to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNodeToString	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Converts a node to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastNumberToBoolean	(double val)<br>
</pre>
<p>Converts a number to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastNumberToString	(double val)<br>
</pre>
<p>Converts a number to its string value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly allocated string.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastStringToBoolean	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Converts a string to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastStringToNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Converts a string to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCastToBoolean		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an XPath object to its boolean value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3>
<pre class="programlisting">double	xmlXPathCastToNumber		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an XPath object to its number value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its string() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3>
<pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Compare two nodes w.r.t document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node1</tt></i>:</span></td>
<td>the first node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>the second node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Compile an XPath expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathCompiledEval	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the Precompiled XPath expression in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompiledEvalToBoolean"></a>xmlXPathCompiledEvalToBoolean ()</h3>
<pre class="programlisting">int	xmlXPathCompiledEvalToBoolean	(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContextSetCache"></a>xmlXPathContextSetCache ()</h3>
<pre class="programlisting">int	xmlXPathContextSetCache		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 int active, <br>					 int value, <br>					 int options)<br>
</pre>
<p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently no effect.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>active</tt></i>:</span></td>
<td>enables/disables (creates/frees) the cache</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value with semantics dependent on @options</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (currently only the value 0 is used)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the setting succeeded, and -1 on API or internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertBoolean	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its boolean() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertNumber	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its number() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathConvertString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Converts an existing object to its string() equivalent</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCtxtCompile"></a>xmlXPathCtxtCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCtxtCompile	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Compile an XPath expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEval"></a>xmlXPathEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Alias for xmlXPathEval().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3>
<pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
</pre>
<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>res</tt></i>:</span></td>
<td>the Predicate Expression evaluation result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if predicate is true, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3>
<pre class="programlisting">void	xmlXPathFreeCompExpr		(<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XPATH comp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3>
<pre class="programlisting">void	xmlXPathFreeContext		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3>
<pre class="programlisting">void	xmlXPathFreeNodeSet		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br>
</pre>
<p>Free the NodeSet compound (not the actual nodes !).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3>
<pre class="programlisting">void	xmlXPathFreeNodeSetList		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>an existing NodeSetList object</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3>
<pre class="programlisting">void	xmlXPathFreeObject		(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the object to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathInit"></a>xmlXPathInit ()</h3>
<pre class="programlisting">void	xmlXPathInit			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the XPath environment</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3>
<pre class="programlisting">int	xmlXPathIsInf			(double val)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3>
<pre class="programlisting">int	xmlXPathIsNaN			(double val)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the value is a NaN, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeEval"></a>xmlXPathNodeEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The context node is not restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to to use as the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetCreate	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an initial xmlNodePtr, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathObjectCopy	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>allocate a new copy of a given object</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the original object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3>
<pre class="programlisting">long	xmlXPathOrderDocElems		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes with the document order Like for line information, the order is kept in the element-&gt;content field, the value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an input document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements found in the document or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetContextNode"></a>xmlXPathSetContextNode ()</h3>
<pre class="programlisting">int	xmlXPathSetContextNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Sets 'node' as the context node. The node must be in the same document as that associated with the context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to to use as the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error or 0 if successful</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z(�(�88)usr/share/gtk-doc/html/libxml2/index.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>libxml2 Reference Manual</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">libxml2 Reference Manual</span></h2>
<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
(but usable outside of the Gnome platform), it is free software available
under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
License</a>. XML itself is a metalanguage to design markup languages, i.e.
text language where semantic and structure are added to the content using
extra "markup" information enclosed between angle brackets. HTML is the most
well-known markup language. Though the library is written in C, a variety of
language bindings make it available in other environments.</p>
<p>Libxml2 implements a number of existing standards related to markup
languages:</p>
<ul>
<li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a>
</li>
<li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a>
</li>
<li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a>
</li>
<li>
<a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a>
</li>
<li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>
</li>
<li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a>
</li>
<li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a>
</li>
<li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a>
</li>
<li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
[UTF-16] Unicode encodings, and more if using iconv support</li>
<li>part of SGML Open Technical Resolution TR9401:1997</li>
<li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a>
</li>
<li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a>
</li>
<li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a>
</li>
<li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
2001</a>
</li>
<li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
April 2004</li>
</ul>
</body>
</html>
PK i�ZȈ��@�@6usr/share/gtk-doc/html/libxml2/libxml2-schematron.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>schematron: XML Schematron implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">schematron</span></h2>
<p>schematron - XML Schematron implementation</p>
<p>interface to the XML Schematron validity checking. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
typedef struct _xmlSchematronParserCtxt <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a>;
typedef <a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * <a href="#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>;
typedef <a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * <a href="#xmlSchematronPtr">xmlSchematronPtr</a>;
typedef struct _xmlSchematronValidCtxt <a href="#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a>;
typedef <a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * <a href="#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>;
typedef enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a>;
void	<a href="#xmlSchematronFree">xmlSchematronFree</a>		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema);
void	<a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	<a href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>	(const char * URL);
<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	<a href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options);
<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	<a href="#xmlSchematronParse">xmlSchematronParse</a>	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>	(void * ctx, <br>						 const char * msg, <br>						 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematron">Structure </a>xmlSchematron</h3>
<pre class="programlisting">struct _xmlSchematron {
The content of this structure is not made public by the API.
} xmlSchematron;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParserCtxt">Structure </a>xmlSchematronParserCtxt</h3>
<pre class="programlisting">struct _xmlSchematronParserCtxt {
The content of this structure is not made public by the API.
} xmlSchematronParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParserCtxtPtr">Typedef </a>xmlSchematronParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * xmlSchematronParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * xmlSchematronPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidCtxt">Structure </a>xmlSchematronValidCtxt</h3>
<pre class="programlisting">struct _xmlSchematronValidCtxt {
The content of this structure is not made public by the API.
} xmlSchematronValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidCtxtPtr">Typedef </a>xmlSchematronValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidOptions">Enum </a>xmlSchematronValidOptions</h3>
<pre class="programlisting">enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
    <a name="XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a> = 1 /* quiet no report */
    <a name="XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a> = 2 /* build a textual report */
    <a name="XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a> = 4 /* output SVRL */
    <a name="XML_SCHEMATRON_OUT_ERROR">XML_SCHEMATRON_OUT_ERROR</a> = 8 /* output via xmlStructuredErrorFunc */
    <a name="XML_SCHEMATRON_OUT_FILE">XML_SCHEMATRON_OUT_FILE</a> = 256 /* output to a file descriptor */
    <a name="XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a> = 512 /* output to a buffer */
    <a name="XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a> = 1024 /*  output to I/O mechanism */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidityErrorFunc"></a>Function type xmlSchematronValidityErrorFunc</h3>
<pre class="programlisting">void	xmlSchematronValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from a Schematron validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidityWarningFunc"></a>Function type xmlSchematronValidityWarningFunc</h3>
<pre class="programlisting">void	xmlSchematronValidityWarningFunc	(void * ctx, <br>						 const char * msg, <br>						 ... ...)<br>
</pre>
<p>Signature of a warning callback from a Schematron validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFree"></a>xmlSchematronFree ()</h3>
<pre class="programlisting">void	xmlSchematronFree		(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br>
</pre>
<p>Deallocate a Schematron structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFreeParserCtxt"></a>xmlSchematronFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlSchematronFreeParserCtxt	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronFreeValidCtxt"></a>xmlSchematronFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlSchematronFreeValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewDocParserCtxt"></a>xmlSchematronNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the parsing process.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewMemParserCtxt"></a>xmlSchematronNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewParserCtxt"></a>xmlSchematronNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>	xmlSchematronNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronNewValidCtxt"></a>xmlSchematronNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>	xmlSchematronNewValidCtxt	(<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>							 int options)<br>
</pre>
<p>Create an XML Schematrons validation context based on the given schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML Schematrons</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronParse"></a>xmlSchematronParse ()</h3>
<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>	xmlSchematronParse	(<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML Schematron structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronSetValidStructuredErrors"></a>xmlSchematronSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchematronSetValidStructuredErrors	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Schematron validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchematronValidateDoc"></a>xmlSchematronValidateDoc ()</h3>
<pre class="programlisting">int	xmlSchematronValidateDoc	(<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br>
</pre>
<p>Validate a tree instance against the schematron</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>instance</tt></i>:</span></td>
<td>the document instance tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of internal error and an error count otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�Sz�����4usr/share/gtk-doc/html/libxml2/libxml2-debugXML.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>debugXML: Tree debugging APIs</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">debugXML</span></h2>
<p>debugXML - Tree debugging APIs</p>
<p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
typedef <a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a href="#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval);
int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
void	<a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlLsCountNode">xmlLsCountNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output);
int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
typedef int <a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br>					 const char * arg);
void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt);
int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3>
<pre class="programlisting">struct _xmlShellCtxt {
    char *	filename
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	pctxt
    int	loaded
    FILE *	output
    <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
} xmlShellCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCmd"></a>Function type xmlShellCmd</h3>
<pre class="programlisting">int	xmlShellCmd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>This is a generic signature for the XML shell functions.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a string argument</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a first node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>a second node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int, negative returns indicating errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellReadlineFunc"></a>Function type xmlShellReadlineFunc</h3>
<pre class="programlisting">char *	xmlShellReadlineFunc		(char * prompt)<br>
</pre>
<p>This is a generic signature for the XML shell input function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prompt</tt></i>:</span></td>
<td>a string prompt</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string which will be freed by the Shell.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBoolToText"></a>xmlBoolToText ()</h3>
<pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br>
</pre>
<p>Convenient way to turn bool into text</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>boolval</tt></i>:</span></td>
<td>a bool to turn into text</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to either "True" or "False"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugCheckDocument"></a>xmlDebugCheckDocument ()</h3>
<pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Check the document for potential content problems, and output the errors to @output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of errors found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpAttr"></a>xmlDebugDumpAttr ()</h3>
<pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpAttrList"></a>xmlDebugDumpAttrList ()</h3>
<pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDTD"></a>xmlDebugDumpDTD ()</h3>
<pre class="programlisting">void	xmlDebugDumpDTD			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Dumps debug information for the DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the DTD</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDocument"></a>xmlDebugDumpDocument ()</h3>
<pre class="programlisting">void	xmlDebugDumpDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information for the document, it's recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpDocumentHead"></a>xmlDebugDumpDocumentHead ()</h3>
<pre class="programlisting">void	xmlDebugDumpDocumentHead	(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information concerning the document, not recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpEntities"></a>xmlDebugDumpEntities ()</h3>
<pre class="programlisting">void	xmlDebugDumpEntities		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Dumps debug information for all the entities in use by the document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpNode"></a>xmlDebugDumpNode ()</h3>
<pre class="programlisting">void	xmlDebugDumpNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the element node, it is recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpNodeList"></a>xmlDebugDumpNodeList ()</h3>
<pre class="programlisting">void	xmlDebugDumpNodeList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the list of element node, it is recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpOneNode"></a>xmlDebugDumpOneNode ()</h3>
<pre class="programlisting">void	xmlDebugDumpOneNode		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth)<br>
</pre>
<p>Dumps debug information for the element node, it is not recursive</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDebugDumpString"></a>xmlDebugDumpString ()</h3>
<pre class="programlisting">void	xmlDebugDumpString		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Dumps information about the string, shorten it if necessary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLsCountNode"></a>xmlLsCountNode ()</h3>
<pre class="programlisting">int	xmlLsCountNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Count the children of @node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to count</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of children of @node.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLsOneNode"></a>xmlLsOneNode ()</h3>
<pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Dump to @output the type and name of @node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShell"></a>xmlShell ()</h3>
<pre class="programlisting">void	xmlShell			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output)<br>
</pre>
<p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the initial document</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the line reading function</td>
</tr>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the output FILE*, defaults to stdout if NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellBase"></a>xmlShellBase ()</h3>
<pre class="programlisting">int	xmlShellBase			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "base" dumps the current XML base of the node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellCat"></a>xmlShellCat ()</h3>
<pre class="programlisting">int	xmlShellCat			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellDir"></a>xmlShellDir ()</h3>
<pre class="programlisting">int	xmlShellDir			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, content).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellDu"></a>xmlShellDu ()</h3>
<pre class="programlisting">int	xmlShellDu			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node defining a subtree</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellList"></a>xmlShellList ()</h3>
<pre class="programlisting">int	xmlShellList			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellLoad"></a>xmlShellLoad ()</h3>
<pre class="programlisting">int	xmlShellLoad			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "load" loads a new document specified by the filename</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 if loading failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintNode"></a>xmlShellPrintNode ()</h3>
<pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Print node to the output FILE</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a non-null node to print to the output FILE</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintXPathError"></a>xmlShellPrintXPathError ()</h3>
<pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br>					 const char * arg)<br>
</pre>
<p>Print the xpath error to libxml default error channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>errorType</tt></i>:</span></td>
<td>valid xpath error id</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>the argument that cause xpath to fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPrintXPathResult"></a>xmlShellPrintXPathResult ()</h3>
<pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br>
</pre>
<p>Prints result to the output FILE</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a valid result generated by an xpath evaluation</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellPwd"></a>xmlShellPwd ()</h3>
<pre class="programlisting">int	xmlShellPwd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellSave"></a>xmlShellSave ()</h3>
<pre class="programlisting">int	xmlShellSave			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "save" Write the current document to the filename, or it's original name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name (optional)</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellValidate"></a>xmlShellValidate ()</h3>
<pre class="programlisting">int	xmlShellValidate		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the DTD URI (optional)</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlShellWrite"></a>xmlShellWrite ()</h3>
<pre class="programlisting">int	xmlShellWrite			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
</pre>
<p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the shell context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in the tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>node2</tt></i>:</span></td>
<td>unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zc�I�I�5usr/share/gtk-doc/html/libxml2/libxml2-xmlstring.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlstring: set of routines to process strings</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlstring</span></h2>
<p>xmlstring - set of routines to process strings</p>
<p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
typedef unsigned char <a href="#xmlChar">xmlChar</a>;
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrdup">xmlCharStrdup</a>		(const char * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCharStrndup">xmlCharStrndup</a>		(const char * cur, <br>					 int len);
int	<a href="#xmlCheckUTF8">xmlCheckUTF8</a>			(const unsigned char * utf);
int	<a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>			(const unsigned char * utf, <br>					 int * len);
int	<a href="#xmlStrEqual">xmlStrEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
int	<a href="#xmlStrPrintf">xmlStrPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...);
int	<a href="#xmlStrQEqual">xmlStrQEqual</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlStrVPrintf">xmlStrVPrintf</a>			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap);
int	<a href="#xmlStrcasecmp">xmlStrcasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcasestr">xmlStrcasestr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrcat">xmlStrcat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrchr">xmlStrchr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
int	<a href="#xmlStrcmp">xmlStrcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrdup">xmlStrdup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
int	<a href="#xmlStrlen">xmlStrlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlStrncasecmp">xmlStrncasecmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncat">xmlStrncat</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrncatNew">xmlStrncatNew</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
int	<a href="#xmlStrncmp">xmlStrncmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrndup">xmlStrndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrstr">xmlStrstr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStrsub">xmlStrsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len);
int	<a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
int	<a href="#xmlUTF8Size">xmlUTF8Size</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
int	<a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
int	<a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos);
int	<a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="BAD_CAST">Macro </a>BAD_CAST</h3>
<pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
</pre>
<p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know its safe.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChar">Typedef </a>xmlChar</h3>
<pre class="programlisting">unsigned char xmlChar;
</pre>
<p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back impossible).</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrdup		(const char * cur)<br>
</pre>
<p>a strdup for char's to xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input char *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCharStrndup		(const char * cur, <br>					 int len)<br>
</pre>
<p>a strndup for char's to xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input char *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @cur</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckUTF8"></a>xmlCheckUTF8 ()</h3>
<pre class="programlisting">int	xmlCheckUTF8			(const unsigned char * utf)<br>
</pre>
<p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>Pointer to putative UTF-8 encoded string.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>value: true if @utf is valid.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetUTF8Char"></a>xmlGetUTF8Char ()</h3>
<pre class="programlisting">int	xmlGetUTF8Char			(const unsigned char * utf, <br>					 int * len)<br>
</pre>
<p>Read the first UTF8 character from @utf</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next character is completely contained within the sequence.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case of error)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrEqual"></a>xmlStrEqual ()</h3>
<pre class="programlisting">int	xmlStrEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>Check if both strings are equal of have same content. Should be a bit more readable and faster than xmlStrcmp()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if they are equal, 0 if they are different</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrPrintf"></a>xmlStrPrintf ()</h3>
<pre class="programlisting">int	xmlStrPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Formats @msg and places result into @buf.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the result buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the result buffer length.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message with printf formatting.</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrQEqual"></a>xmlStrQEqual ()</h3>
<pre class="programlisting">int	xmlStrQEqual			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Check if a QName is Equal to a given string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pref</tt></i>:</span></td>
<td>the prefix of the QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the localname of the QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if they are equal, 0 if they are different</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrVPrintf"></a>xmlStrVPrintf ()</h3>
<pre class="programlisting">int	xmlStrVPrintf			(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>					 int len, <br>					 const char * msg, <br>					 va_list ap)<br>
</pre>
<p>Formats @msg and places result into @buf.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the result buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the result buffer length.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message with printf formatting.</td>
</tr>
<tr>
<td><span class="term"><i><tt>ap</tt></i>:</span></td>
<td>extra parameters for the message.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3>
<pre class="programlisting">int	xmlStrcasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>a strcasecmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcasestr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>a case-ignoring strstr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcat"></a>xmlStrcat ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br>
</pre>
<p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>add</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrchr"></a>xmlStrchr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br>
</pre>
<p>a strchr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrcmp"></a>xmlStrcmp ()</h3>
<pre class="programlisting">int	xmlStrcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
</pre>
<p>a strcmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrdup"></a>xmlStrdup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrdup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrlen"></a>xmlStrlen ()</h3>
<pre class="programlisting">int	xmlStrlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>length of a xmlChar's string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3>
<pre class="programlisting">int	xmlStrncasecmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>a strncasecmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the max comparison length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncat"></a>xmlStrncat ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>					 int len)<br>
</pre>
<p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
</tr>
<tr>
<td><span class="term"><i><tt>add</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of @add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncatNew"></a>xmlStrncatNew ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @str2 or &lt; 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrncmp"></a>xmlStrncmp ()</h3>
<pre class="programlisting">int	xmlStrncmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>					 int len)<br>
</pre>
<p>a strncmp for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str1</tt></i>:</span></td>
<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>str2</tt></i>:</span></td>
<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the max comparison length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the integer result of the comparison</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrndup"></a>xmlStrndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int len)<br>
</pre>
<p>a strndup for array of xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @cur</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrstr"></a>xmlStrstr ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrstr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>a strstr for xmlChar's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrsub"></a>xmlStrsub ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Extract a substring of a given string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the index of the first char (zero based)</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the substring</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Charcmp"></a>xmlUTF8Charcmp ()</h3>
<pre class="programlisting">int	xmlUTF8Charcmp			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br>
</pre>
<p>compares the two UCS4 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf1</tt></i>:</span></td>
<td>pointer to first UTF8 char</td>
</tr>
<tr>
<td><span class="term"><i><tt>utf2</tt></i>:</span></td>
<td>pointer to second UTF8 char</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>result of the compare as with <a href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Size"></a>xmlUTF8Size ()</h3>
<pre class="programlisting">int	xmlUTF8Size			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
</pre>
<p>calculates the internal size of a UTF8 character</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>pointer to the UTF8 character</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the numbers of bytes in the character, -1 on format error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strlen"></a>xmlUTF8Strlen ()</h3>
<pre class="programlisting">int	xmlUTF8Strlen			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
</pre>
<p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the string or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strloc"></a>xmlUTF8Strloc ()</h3>
<pre class="programlisting">int	xmlUTF8Strloc			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br>
</pre>
<p>a function to provide the relative location of a UTF8 char</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>utfchar</tt></i>:</span></td>
<td>the UTF8 character to be found</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the relative character position of the desired char or -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strndup"></a>xmlUTF8Strndup ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strndup		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
</pre>
<p>a strndup for array of UTF8's</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len of @utf (in chars)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new UTF8 * or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strpos"></a>xmlUTF8Strpos ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int pos)<br>
</pre>
<p>a function to provide the equivalent of fetching a character from a string array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>the input UTF8 *</td>
</tr>
<tr>
<td><span class="term"><i><tt>pos</tt></i>:</span></td>
<td>the position of the desired UTF8 char (in chars)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the UTF8 character or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strsize"></a>xmlUTF8Strsize ()</h3>
<pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int len)<br>
</pre>
<p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUTF8Strsub"></a>xmlUTF8Strsub ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>utf</tt></i>:</span></td>
<td>a sequence of UTF-8 encoded bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>relative pos of first char</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>total number to copy</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to a newly created string or NULL if any problem</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�ߚ���5usr/share/gtk-doc/html/libxml2/libxml2-xmlwriter.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlwriter: text writing API for XML</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlwriter</span></h2>
<p>xmlwriter - text writing API for XML</p>
<p>text writing API for XML </p>
<p>Author(s): Alfred Mickautsch &lt;alfred@mickautsch.de&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
typedef struct _xmlTextWriter <a href="#xmlTextWriter">xmlTextWriter</a>;
typedef <a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a href="#xmlTextWriterPtr">xmlTextWriterPtr</a>;
void	<a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriter">xmlNewTextWriter</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>	(const char * uri, <br>							 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression);
<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	<a href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression);
int	<a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent);
int	<a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
int	<a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
int	<a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
int	<a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone);
int	<a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
int	<a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
int	<a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len);
int	<a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
int	<a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
int	<a href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
int	<a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
int	<a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...);
int	<a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...);
int	<a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...);
int	<a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
int	<a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
int	<a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDocType">Macro </a>xmlTextWriterWriteDocType</h3>
<pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
</pre>
<p>this macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteProcessingInstruction">Macro </a>xmlTextWriterWriteProcessingInstruction</h3>
<pre class="programlisting">#define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
</pre>
<p>This macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriter">Structure </a>xmlTextWriter</h3>
<pre class="programlisting">struct _xmlTextWriter {
The content of this structure is not made public by the API.
} xmlTextWriter;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * xmlTextWriterPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeTextWriter"></a>xmlFreeTextWriter ()</h3>
<pre class="programlisting">void	xmlFreeTextWriter		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Deallocate all the resources associated to the writer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriter"></a>xmlNewTextWriter ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriter	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterDoc"></a>xmlNewTextWriterDoc ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterDoc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc as output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>address of a <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterFilename"></a>xmlNewTextWriterFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterFilename	(const char * uri, <br>							 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri as output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>the URI of the resource for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterMemory"></a>xmlNewTextWriterMemory ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterMemory	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf as output TODO: handle compression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterPushParser"></a>xmlNewTextWriterPushParser ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterPushParser	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextWriterTree"></a>xmlNewTextWriterTree ()</h3>
<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>	xmlNewTextWriterTree	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 int compression)<br>
</pre>
<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc as output starting at @node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>compress the output?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndAttribute"></a>xmlTextWriterEndAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterEndAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndCDATA"></a>xmlTextWriterEndCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterEndCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml CDATA section.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndComment"></a>xmlTextWriterEndComment ()</h3>
<pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTD"></a>xmlTextWriterEndDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndDocument"></a>xmlTextWriterEndDocument ()</h3>
<pre class="programlisting">int	xmlTextWriterEndDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndElement"></a>xmlTextWriterEndElement ()</h3>
<pre class="programlisting">int	xmlTextWriterEndElement		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterEndPI"></a>xmlTextWriterEndPI ()</h3>
<pre class="programlisting">int	xmlTextWriterEndPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterFlush"></a>xmlTextWriterFlush ()</h3>
<pre class="programlisting">int	xmlTextWriterFlush		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Flush the output buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterFullEndElement"></a>xmlTextWriterFullEndElement ()</h3>
<pre class="programlisting">int	xmlTextWriterFullEndElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>End the current xml element. Writes an end tag even if the element is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetIndent"></a>xmlTextWriterSetIndent ()</h3>
<pre class="programlisting">int	xmlTextWriterSetIndent		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int indent)<br>
</pre>
<p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>indent</tt></i>:</span></td>
<td>do indentation?</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetIndentString"></a>xmlTextWriterSetIndentString ()</h3>
<pre class="programlisting">int	xmlTextWriterSetIndentString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Set string indentation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterSetQuoteChar"></a>xmlTextWriterSetQuoteChar ()</h3>
<pre class="programlisting">int	xmlTextWriterSetQuoteChar	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br>
</pre>
<p>Set the character used for quoting attributes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>quotechar</tt></i>:</span></td>
<td>the quote character</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 on error or 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartAttribute"></a>xmlTextWriterStartAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartAttributeNS"></a>xmlTextWriterStartAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a> with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartCDATA"></a>xmlTextWriterStartCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterStartCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Start an xml CDATA section.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartComment"></a>xmlTextWriterStartComment ()</h3>
<pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
</pre>
<p>Start an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTD"></a>xmlTextWriterStartDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
</pre>
<p>Start an xml DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDAttlist"></a>xmlTextWriterStartDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDElement"></a>xmlTextWriterStartDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDTDEntity"></a>xmlTextWriterStartDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartDocument"></a>xmlTextWriterStartDocument ()</h3>
<pre class="programlisting">int	xmlTextWriterStartDocument	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * version, <br>					 const char * encoding, <br>					 const char * standalone)<br>
</pre>
<p>Start a new xml document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the xml version ("1.0") or NULL for default ("1.0")</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding or NULL for default</td>
</tr>
<tr>
<td><span class="term"><i><tt>standalone</tt></i>:</span></td>
<td>"yes" or "no" or NULL for default</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartElement"></a>xmlTextWriterStartElement ()</h3>
<pre class="programlisting">int	xmlTextWriterStartElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Start an xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartElementNS"></a>xmlTextWriterStartElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterStartElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Start an xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterStartPI"></a>xmlTextWriterStartPI ()</h3>
<pre class="programlisting">int	xmlTextWriterStartPI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br>
</pre>
<p>Start an xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteAttribute"></a>xmlTextWriterWriteAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteAttributeNS"></a>xmlTextWriterWriteAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteBase64"></a>xmlTextWriterWriteBase64 ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteBase64	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Write an base64 encoded xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>binary data</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the position within the data of the first byte to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of bytes to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteBinHex"></a>xmlTextWriterWriteBinHex ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteBinHex	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * data, <br>					 int start, <br>					 int len)<br>
</pre>
<p>Write a BinHex encoded xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>binary data</td>
</tr>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the position within the data of the first byte to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of bytes to encode</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteCDATA"></a>xmlTextWriterWriteCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteCDATA		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>CDATA content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteComment"></a>xmlTextWriterWriteComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#comment">comment</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTD"></a>xmlTextWriterWriteDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTD		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br>
</pre>
<p>Write a DTD.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>subset</tt></i>:</span></td>
<td>string content of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDAttlist"></a>xmlTextWriterWriteDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDElement"></a>xmlTextWriterWriteDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDEntity"></a>xmlTextWriterWriteDTDEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 int pe, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDExternalEntity"></a>xmlTextWriterWriteDTDExternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
</pre>
<p>Write a DTD external entity. The entity must have been started with <a href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDExternalEntityContents"></a>xmlTextWriterWriteDTDExternalEntityContents ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDExternalEntityContents	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
</pre>
<p>Write the contents of a DTD external entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
<td>the xml notation name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDInternalEntity"></a>xmlTextWriterWriteDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 int pe, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>content of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteDTDNotation"></a>xmlTextWriterWriteDTDNotation ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteDTDNotation	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
</pre>
<p>Write a DTD entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the xml notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteElement"></a>xmlTextWriterWriteElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>element content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteElementNS"></a>xmlTextWriterWriteElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>element content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatAttribute"></a>xmlTextWriterWriteFormatAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatAttributeNS"></a>xmlTextWriterWriteFormatAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml attribute.with namespace support</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatCDATA"></a>xmlTextWriterWriteFormatCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatComment"></a>xmlTextWriterWriteFormatComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTD"></a>xmlTextWriterWriteFormatDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a DTD with a formatted markup declarations part.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDAttlist"></a>xmlTextWriterWriteFormatDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDElement"></a>xmlTextWriterWriteFormatDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatDTDInternalEntity"></a>xmlTextWriterWriteFormatDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 ... ...)<br>
</pre>
<p>Write a formatted DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatElement"></a>xmlTextWriterWriteFormatElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatElementNS"></a>xmlTextWriterWriteFormatElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 ... ...)<br>
</pre>
<p>Write a formatted xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatPI"></a>xmlTextWriterWriteFormatPI ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatRaw"></a>xmlTextWriterWriteFormatRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteFormatString"></a>xmlTextWriterWriteFormatString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
</pre>
<p>Write a formatted xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the format</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWritePI"></a>xmlTextWriterWritePI ()</h3>
<pre class="programlisting">int	xmlTextWriterWritePI		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteRaw"></a>xmlTextWriterWriteRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteRaw		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write a raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteRawLen"></a>xmlTextWriterWriteRawLen ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteRawLen	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Write an xml text. TODO: what about entities and special chars??</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>length of the text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteString"></a>xmlTextWriterWriteString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Write an xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>text string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatAttribute"></a>xmlTextWriterWriteVFormatAttribute ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatAttributeNS"></a>xmlTextWriterWriteVFormatAttributeNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml attribute.with namespace support</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>
<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatCDATA"></a>xmlTextWriterWriteVFormatCDATA ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatCDATA	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatComment"></a>xmlTextWriterWriteVFormatComment ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write an xml comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTD"></a>xmlTextWriterWriteVFormatDTD ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTD	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a DTD with a formatted markup declarations part.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
<td>the public identifier, which is an alternative to the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
<td>the system identifier, which is the URI of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDAttlist"></a>xmlTextWriterWriteVFormatDTDAttlist ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted DTD ATTLIST.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD ATTLIST</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDElement"></a>xmlTextWriterWriteVFormatDTDElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted DTD element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD element</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatDTDInternalEntity"></a>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatDTDInternalEntity	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>							 int pe, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const char * format, <br>							 va_list argptr)<br>
</pre>
<p>Write a formatted DTD internal entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>pe</tt></i>:</span></td>
<td>TRUE if this is a parameter entity, FALSE if not</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the DTD entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatElement"></a>xmlTextWriterWriteVFormatElement ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatElement	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatElementNS"></a>xmlTextWriterWriteVFormatElementNS ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatElementNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>						 const char * format, <br>						 va_list argptr)<br>
</pre>
<p>Write a formatted xml element with namespace support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>element local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatPI"></a>xmlTextWriterWriteVFormatPI ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatPI	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml PI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>PI target</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatRaw"></a>xmlTextWriterWriteVFormatRaw ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatRaw	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted raw xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextWriterWriteVFormatString"></a>xmlTextWriterWriteVFormatString ()</h3>
<pre class="programlisting">int	xmlTextWriterWriteVFormatString	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 va_list argptr)<br>
</pre>
<p>Write a formatted xml text.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>writer</tt></i>:</span></td>
<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>format string (see printf)</td>
</tr>
<tr>
<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
<td>pointer to the first member of the variable argument list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z��\V\V3usr/share/gtk-doc/html/libxml2/libxml2-nanoftp.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>nanoftp: minimal FTP implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">nanoftp</span></h2>
<p>nanoftp - minimal FTP implementation</p>
<p>minimal FTP implementation allowing to fetch resources like external subset. This module is DEPRECATED, do not use any of its functions. </p>
<p> WARNING: this module is deprecated !</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
#define <a href="#SOCKET">SOCKET</a>;
typedef void <a href="#ftpDataCallback">ftpDataCallback</a>			(void * userData, <br>					 const char * data, <br>					 int len);
typedef void <a href="#ftpListCallback">ftpListCallback</a>			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute);
int	<a href="#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>		(void * ctx);
void	<a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>		(void);
int	<a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>			(void * ctx);
int	<a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>	(void * ctx);
int	<a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>		(void * ctx);
void *	<a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>		(const char * server, <br>					 int port);
int	<a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>			(void * ctx, <br>					 const char * directory);
int	<a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>			(void * ctx, <br>					 const char * file);
void	<a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>		(void * ctx);
int	<a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>		(void * ctx);
int	<a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>		(void * ctx);
<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	<a href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>		(void * ctx, <br>					 const char * filename);
void	<a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>			(void);
int	<a href="#xmlNanoFTPList">xmlNanoFTPList</a>			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename);
void *	<a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>		(const char * URL);
void *	<a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>			(const char * URL);
void	<a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type);
int	<a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>			(void * ctx);
int	<a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
void	<a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>		(const char * URL);
int	<a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>		(void * ctx, <br>					 const char * URL);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3>
<pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
</pre>
<p>macro used to provide portability of code to windows sockets the value to be used when the socket is not valid</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="SOCKET">Macro </a>SOCKET</h3>
<pre class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
</pre>
<p>macro used to provide portability of code to windows sockets</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ftpDataCallback"></a>Function type ftpDataCallback</h3>
<pre class="programlisting">void	ftpDataCallback			(void * userData, <br>					 const char * data, <br>					 int len)<br>
</pre>
<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user provided context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data received</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>its size in bytes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ftpListCallback"></a>Function type ftpListCallback</h3>
<pre class="programlisting">void	ftpListCallback			(void * userData, <br>					 const char * filename, <br>					 const char * attrib, <br>					 const char * owner, <br>					 const char * group, <br>					 unsigned long size, <br>					 int links, <br>					 int year, <br>					 const char * month, <br>					 int day, <br>					 int hour, <br>					 int minute)<br>
</pre>
<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that only one of year and day:minute are specified.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>user provided data for the callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name (including "-&gt;" when links are shown)</td>
</tr>
<tr>
<td><span class="term"><i><tt>attrib</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>owner</tt></i>:</span></td>
<td>the owner string</td>
</tr>
<tr>
<td><span class="term"><i><tt>group</tt></i>:</span></td>
<td>the group string</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the file size</td>
</tr>
<tr>
<td><span class="term"><i><tt>links</tt></i>:</span></td>
<td>the link count</td>
</tr>
<tr>
<td><span class="term"><i><tt>year</tt></i>:</span></td>
<td>the year</td>
</tr>
<tr>
<td><span class="term"><i><tt>month</tt></i>:</span></td>
<td>the month</td>
</tr>
<tr>
<td><span class="term"><i><tt>day</tt></i>:</span></td>
<td>the day</td>
</tr>
<tr>
<td><span class="term"><i><tt>hour</tt></i>:</span></td>
<td>the hour</td>
</tr>
<tr>
<td><span class="term"><i><tt>minute</tt></i>:</span></td>
<td>the minute</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCheckResponse"></a>xmlNanoFTPCheckResponse ()</h3>
<pre class="programlisting">int	xmlNanoFTPCheckResponse		(void * ctx)<br>
</pre>
<p>Check if there is a response from the FTP server after a command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the code number, or 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCleanup"></a>xmlNanoFTPCleanup ()</h3>
<pre class="programlisting">void	xmlNanoFTPCleanup		(void)<br>
</pre>
<p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPClose"></a>xmlNanoFTPClose ()</h3>
<pre class="programlisting">int	xmlNanoFTPClose			(void * ctx)<br>
</pre>
<p>Close the connection and both control and transport</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCloseConnection"></a>xmlNanoFTPCloseConnection ()</h3>
<pre class="programlisting">int	xmlNanoFTPCloseConnection	(void * ctx)<br>
</pre>
<p>Close the data connection from the server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPConnect"></a>xmlNanoFTPConnect ()</h3>
<pre class="programlisting">int	xmlNanoFTPConnect		(void * ctx)<br>
</pre>
<p>Tries to open a control connection</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPConnectTo"></a>xmlNanoFTPConnectTo ()</h3>
<pre class="programlisting">void *	xmlNanoFTPConnectTo		(const char * server, <br>					 int port)<br>
</pre>
<p>Tries to open a control connection to the given server/port</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>server</tt></i>:</span></td>
<td>an FTP server name</td>
</tr>
<tr>
<td><span class="term"><i><tt>port</tt></i>:</span></td>
<td>the port (use 21 if 0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an fTP context or NULL if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPCwd"></a>xmlNanoFTPCwd ()</h3>
<pre class="programlisting">int	xmlNanoFTPCwd			(void * ctx, <br>					 const char * directory)<br>
</pre>
<p>Tries to change the remote directory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>directory</tt></i>:</span></td>
<td>a directory on the server</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if CWD worked, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPDele"></a>xmlNanoFTPDele ()</h3>
<pre class="programlisting">int	xmlNanoFTPDele			(void * ctx, <br>					 const char * file)<br>
</pre>
<p>Tries to delete an item (file or directory) from server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a file or directory on the server</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if DELE worked, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPFreeCtxt"></a>xmlNanoFTPFreeCtxt ()</h3>
<pre class="programlisting">void	xmlNanoFTPFreeCtxt		(void * ctx)<br>
</pre>
<p>Frees the context after closing the connection.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGet"></a>xmlNanoFTPGet ()</h3>
<pre class="programlisting">int	xmlNanoFTPGet			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
</pre>
<p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a size of 0 block.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>the user callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user callback data</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file to retrieve</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetConnection"></a>xmlNanoFTPGetConnection ()</h3>
<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetConnection		(void * ctx)<br>
</pre>
<p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetResponse"></a>xmlNanoFTPGetResponse ()</h3>
<pre class="programlisting">int	xmlNanoFTPGetResponse		(void * ctx)<br>
</pre>
<p>Get the response from the FTP server after a command.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the code number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPGetSocket"></a>xmlNanoFTPGetSocket ()</h3>
<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>	xmlNanoFTPGetSocket		(void * ctx, <br>					 const char * filename)<br>
</pre>
<p>Initiate fetch of the given file from the server.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file to retrieve (or NULL if path is in context).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the socket for the data connection, or &lt;0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPInit"></a>xmlNanoFTPInit ()</h3>
<pre class="programlisting">void	xmlNanoFTPInit			(void)<br>
</pre>
<p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the hostname</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPList"></a>xmlNanoFTPList ()</h3>
<pre class="programlisting">int	xmlNanoFTPList			(void * ctx, <br>					 <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>					 void * userData, <br>					 const char * filename)<br>
</pre>
<p>Do a listing on the server. All files info are passed back in the callbacks.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>the user callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>the user callback data</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>optional files to list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPNewCtxt"></a>xmlNanoFTPNewCtxt ()</h3>
<pre class="programlisting">void *	xmlNanoFTPNewCtxt		(const char * URL)<br>
</pre>
<p>Allocate and initialize a new FTP context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL used to initialize the context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an FTP context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPOpen"></a>xmlNanoFTPOpen ()</h3>
<pre class="programlisting">void *	xmlNanoFTPOpen			(const char * URL)<br>
</pre>
<p>Start to fetch the given ftp:// resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL to the resource</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an FTP context, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPProxy"></a>xmlNanoFTPProxy ()</h3>
<pre class="programlisting">void	xmlNanoFTPProxy			(const char * host, <br>					 int port, <br>					 const char * user, <br>					 const char * passwd, <br>					 int type)<br>
</pre>
<p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and ftp_proxy_password environment variables.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>host</tt></i>:</span></td>
<td>the proxy host name</td>
</tr>
<tr>
<td><span class="term"><i><tt>port</tt></i>:</span></td>
<td>the proxy port</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>the proxy user name</td>
</tr>
<tr>
<td><span class="term"><i><tt>passwd</tt></i>:</span></td>
<td>the proxy password</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of proxy 1 for using SITE, 2 for USER a@b</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPQuit"></a>xmlNanoFTPQuit ()</h3>
<pre class="programlisting">int	xmlNanoFTPQuit			(void * ctx)<br>
</pre>
<p>Send a QUIT command to the server</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPRead"></a>xmlNanoFTPRead ()</h3>
<pre class="programlisting">int	xmlNanoFTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
</pre>
<p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is a blocking call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dest</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the buffer length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPScanProxy"></a>xmlNanoFTPScanProxy ()</h3>
<pre class="programlisting">void	xmlNanoFTPScanProxy		(const char * URL)<br>
</pre>
<p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The proxy URL used to initialize the proxy context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoFTPUpdateURL"></a>xmlNanoFTPUpdateURL ()</h3>
<pre class="programlisting">int	xmlNanoFTPUpdateURL		(void * ctx, <br>					 const char * URL)<br>
</pre>
<p>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be established.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an FTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL used to update the context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if Ok, -1 in case of error (other host).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�ZHkl�\�\�5usr/share/gtk-doc/html/libxml2/libxml2-xmlregexp.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlregexp: regular expressions handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlsave.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlregexp</span></h2>
<p>xmlregexp - regular expressions handling</p>
<p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
typedef <a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a href="#xmlExpCtxtPtr">xmlExpCtxtPtr</a>;
typedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
typedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
typedef enum <a href="#xmlExpNodeType">xmlExpNodeType</a>;
typedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
typedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
typedef struct _xmlRegexp <a href="#xmlRegexp">xmlRegexp</a>;
typedef <a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a href="#xmlRegexpPtr">xmlRegexpPtr</a>;
int	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
int	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len);
int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len);
int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
int	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr);
void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
typedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata);
int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
int	<a href="#xmlRegExecPushString">xmlRegExecPushString</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data);
int	<a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data);
void	<a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
void	<a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	<a href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data);
<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	<a href="#xmlRegexpCompile">xmlRegexpCompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
int	<a href="#xmlRegexpExec">xmlRegexpExec</a>			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
int	<a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
void	<a href="#xmlRegexpPrint">xmlRegexpPrint</a>			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3>
<pre class="programlisting">struct _xmlExpCtxt {
The content of this structure is not made public by the API.
} xmlExpCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNode">Structure </a>xmlExpNode</h3>
<pre class="programlisting">struct _xmlExpNode {
The content of this structure is not made public by the API.
} xmlExpNode;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3>
<pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
    <a name="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
    <a name="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
    <a name="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
    <a name="XML_EXP_SEQ">XML_EXP_SEQ</a> = 3
    <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
    <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3>
<pre class="programlisting">struct _xmlRegExecCtxt {
The content of this structure is not made public by the API.
} xmlRegExecCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
</pre>
<p>A libxml progressive regular expression evaluation context</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexp">Structure </a>xmlRegexp</h3>
<pre class="programlisting">struct _xmlRegexp {
The content of this structure is not made public by the API.
} xmlRegexp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
</pre>
<p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecCallbacks"></a>Function type xmlRegExecCallbacks</h3>
<pre class="programlisting">void	xmlRegExecCallbacks		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata)<br>
</pre>
<p>Callback function when doing a transition in the automata</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>the regular expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>token</tt></i>:</span></td>
<td>the current token string</td>
</tr>
<tr>
<td><span class="term"><i><tt>transdata</tt></i>:</span></td>
<td>transition data</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputdata</tt></i>:</span></td>
<td>input data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="emptyExp">Variable </a>emptyExp</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="forbiddenExp">Variable </a>forbiddenExp</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtNbCons"></a>xmlExpCtxtNbCons ()</h3>
<pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Debugging facility provides the number of allocated nodes over lifetime</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of nodes ever allocated or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpCtxtNbNodes"></a>xmlExpCtxtNbNodes ()</h3>
<pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Debugging facility provides the number of allocated nodes at a that point</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of nodes in use or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpDump"></a>xmlExpDump ()</h3>
<pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
</pre>
<p>Serialize the expression as compiled to the buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>a buffer to receive the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>the compiled expression</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpExpDerive"></a>xmlExpExpDerive ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
</pre>
<p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the englobing expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>the subexpression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting expression or NULL in case of internal error, the result must be freed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpFree"></a>xmlExpFree ()</h3>
<pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Dereference the expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpFreeCtxt"></a>xmlExpFreeCtxt ()</h3>
<pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
</pre>
<p>Free an expression context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an expression context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpGetLanguage"></a>xmlExpGetLanguage ()</h3>
<pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len)<br>
</pre>
<p>Find all the strings used in @exp and store them in @list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>langList</tt></i>:</span></td>
<td>where to store the tokens</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the allocated length of @list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpGetStart"></a>xmlExpGetStart ()</h3>
<pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len)<br>
</pre>
<p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>tokList</tt></i>:</span></td>
<td>where to store the tokens</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the allocated length of @list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpIsNillable"></a>xmlExpIsNillable ()</h3>
<pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if nillable, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpMaxToken"></a>xmlExpMaxToken ()</h3>
<pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
</pre>
<p>Indicate the maximum number of input a expression can accept</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>a compiled expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the maximum length or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewAtom"></a>xmlExpNewAtom ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Get the atom associated to this name from that context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the atom name</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the atom name length in byte (or -1);</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewCtxt"></a>xmlExpNewCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Creates a new context for manipulating expressions</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>maxNodes</tt></i>:</span></td>
<td>the maximum number of nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>optional dictionary to use internally</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewOr"></a>xmlExpNewOr ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
</pre>
<p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>left</tt></i>:</span></td>
<td>left expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>right</tt></i>:</span></td>
<td>right expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewRange"></a>xmlExpNewRange ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max)<br>
</pre>
<p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>subset</tt></i>:</span></td>
<td>the expression to be repeated</td>
</tr>
<tr>
<td><span class="term"><i><tt>min</tt></i>:</span></td>
<td>the lower bound for the repetition</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the upper bound for the repetition, -1 means infinite</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpNewSeq"></a>xmlExpNewSeq ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
</pre>
<p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>left</tt></i>:</span></td>
<td>left expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>right</tt></i>:</span></td>
<td>right expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpParse"></a>xmlExpParse ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr)<br>
</pre>
<p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>expr</tt></i>:</span></td>
<td>the 0 terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new expression or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpRef"></a>xmlExpRef ()</h3>
<pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
</pre>
<p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpStringDerive"></a>xmlExpStringDerive ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expression context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the string len in bytes if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting expression or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExpSubsume"></a>xmlExpSubsume ()</h3>
<pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
</pre>
<p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the expressions context</td>
</tr>
<tr>
<td><span class="term"><i><tt>exp</tt></i>:</span></td>
<td>the englobing expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>the subexpression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 if false and -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecErrInfo"></a>xmlRegExecErrInfo ()</h3>
<pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
</pre>
<p>Extract error information from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context generating an error</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>return value for the error string</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
<td>pointer to the number of accepted values IN/OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
<td>return number of negative transitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>values</tt></i>:</span></td>
<td>pointer to the array of acceptable values</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
<td>return value if this was a terminal state</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecNextValues"></a>xmlRegExecNextValues ()</h3>
<pre class="programlisting">int	xmlRegExecNextValues		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
</pre>
<p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
<td>pointer to the number of accepted values IN/OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
<td>return number of negative transitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>values</tt></i>:</span></td>
<td>pointer to the array of acceptable values</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
<td>return value if this was a terminal state</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3>
<pre class="programlisting">int	xmlRegExecPushString		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 void * data)<br>
</pre>
<p>Push one input token in the execution context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context or NULL to indicate the end</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the token to reuse in callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3>
<pre class="programlisting">int	xmlRegExecPushString2		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>					 void * data)<br>
</pre>
<p>Push one input token in the execution context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regexp execution context or NULL to indicate the end</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the first string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>value2</tt></i>:</span></td>
<td>the second string token input</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>data associated to the token to reuse in callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3>
<pre class="programlisting">void	xmlRegFreeExecCtxt		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br>
</pre>
<p>Free the structures associated to a regular expression evaluation context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>exec</tt></i>:</span></td>
<td>a regular expression evaluation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3>
<pre class="programlisting">void	xmlRegFreeRegexp		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
</pre>
<p>Free a regexp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>the regexp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>	xmlRegNewExecCtxt	(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>						 <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>						 void * data)<br>
</pre>
<p>Build a context used for progressive evaluation of a regexp.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>a precompiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>callback</tt></i>:</span></td>
<td>a callback function used for handling progresses in the automata matching phase</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the context data associated to the callback in this context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	xmlRegexpCompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br>
</pre>
<p>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>a regular expression string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled expression or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3>
<pre class="programlisting">int	xmlRegexpExec			(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Check if the regular expression generates the value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the value to check against the regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it matches, 0 if not and a negative value in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3>
<pre class="programlisting">int	xmlRegexpIsDeterminist		(<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br>
</pre>
<p>Check if the regular expression is determinist</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the compiled regular expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it yes, 0 if not and a negative value in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3>
<pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
</pre>
<p>Print the content of the compiled regular expression</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file for the output debug</td>
</tr>
<tr>
<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
<td>the compiled regexp</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z��G�\?\?4usr/share/gtk-doc/html/libxml2/libxml2-nanohttp.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>nanohttp: minimal HTTP implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">nanohttp</span></h2>
<p>nanohttp - minimal HTTP implementation</p>
<p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">const char *	<a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>	(void * ctx);
void	<a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>		(void);
void	<a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>		(void * ctx);
int	<a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>	(void * ctx);
const char *	<a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>	(void * ctx);
int	<a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType);
void	<a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>			(void);
void *	<a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen);
void *	<a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen);
const char *	<a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>	(void * ctx);
void *	<a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>			(const char * URL, <br>					 char ** contentType);
void *	<a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir);
int	<a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>			(void * ctx, <br>					 void * dest, <br>					 int len);
const char *	<a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>	(void * ctx);
int	<a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>		(void * ctx);
int	<a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>			(void * ctxt, <br>					 const char * filename);
void	<a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>		(const char * URL);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPAuthHeader	(void * ctx)<br>
</pre>
<p>Get the authentication header of an HTTP context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3>
<pre class="programlisting">void	xmlNanoHTTPCleanup		(void)<br>
</pre>
<p>Cleanup the HTTP protocol layer.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3>
<pre class="programlisting">void	xmlNanoHTTPClose		(void * ctx)<br>
</pre>
<p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPContentLength"></a>xmlNanoHTTPContentLength ()</h3>
<pre class="programlisting">int	xmlNanoHTTPContentLength	(void * ctx)<br>
</pre>
<p>Provides the specified content length from the HTTP header.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content length element was not included in the response header.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPEncoding"></a>xmlNanoHTTPEncoding ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPEncoding	(void * ctx)<br>
</pre>
<p>Provides the specified encoding if specified in the HTTP headers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified encoding or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3>
<pre class="programlisting">int	xmlNanoHTTPFetch		(const char * URL, <br>					 const char * filename, <br>					 char ** contentType)<br>
</pre>
<p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename where the content should be saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3>
<pre class="programlisting">void	xmlNanoHTTPInit			(void)<br>
</pre>
<p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPMethod		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 const char * headers, <br>					 int ilen)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>method</tt></i>:</span></td>
<td>the HTTP method to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input string if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>the Content-Type information IN and OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>headers</tt></i>:</span></td>
<td>the extra headers</td>
</tr>
<tr>
<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
<td>input length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPMethodRedir		(const char * URL, <br>					 const char * method, <br>					 const char * input, <br>					 char ** contentType, <br>					 char ** redir, <br>					 const char * headers, <br>					 int ilen)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding the given extra headers and the input buffer for the request content.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>method</tt></i>:</span></td>
<td>the HTTP method to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input string if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>the Content-Type information IN and OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>redir</tt></i>:</span></td>
<td>the redirected URL OUT</td>
</tr>
<tr>
<td><span class="term"><i><tt>headers</tt></i>:</span></td>
<td>the extra headers</td>
</tr>
<tr>
<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
<td>input length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPMimeType"></a>xmlNanoHTTPMimeType ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPMimeType	(void * ctx)<br>
</pre>
<p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified Mime-Type or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPOpen			(const char * URL, <br>					 char ** contentType)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3>
<pre class="programlisting">void *	xmlNanoHTTPOpenRedir		(const char * URL, <br>					 char ** contentType, <br>					 char ** redir)<br>
</pre>
<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The URL to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
<td>if available the Content-Type information will be returned at that location</td>
</tr>
<tr>
<td><span class="term"><i><tt>redir</tt></i>:</span></td>
<td>if available the redirected URL will be returned</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the caller</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3>
<pre class="programlisting">int	xmlNanoHTTPRead			(void * ctx, <br>					 void * dest, <br>					 int len)<br>
</pre>
<p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is a blocking call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dest</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the buffer length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPRedir"></a>xmlNanoHTTPRedir ()</h3>
<pre class="programlisting">const char *	xmlNanoHTTPRedir	(void * ctx)<br>
</pre>
<p>Provides the specified redirection URL if available from the HTTP header.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the specified redirection URL or NULL if not redirected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3>
<pre class="programlisting">int	xmlNanoHTTPReturnCode		(void * ctx)<br>
</pre>
<p>Get the latest HTTP return code received</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the HTTP return code for the request.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3>
<pre class="programlisting">int	xmlNanoHTTPSave			(void * ctxt, <br>					 const char * filename)<br>
</pre>
<p>This function saves the output of the HTTP transaction to a file It closes and free the context at the end</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the HTTP context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename where the content should be saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 in case of success.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3>
<pre class="programlisting">void	xmlNanoHTTPScanProxy		(const char * URL)<br>
</pre>
<p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The proxy URL used to initialize the proxy context</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zq�S�y3y30usr/share/gtk-doc/html/libxml2/libxml2-c14n.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">c14n</span></h2>
<p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
<p>the c14n modules provides a  "Canonical XML" implementation</p>
<p>Author(s): Aleksey Sanin &lt;aleksey@aleksey.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
int	<a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
int	<a href="#xmlC14NDocSave">xmlC14NDocSave</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression);
int	<a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
int	<a href="#xmlC14NExecute">xmlC14NExecute</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NMode">Enum </a>xmlC14NMode</h3>
<pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
    <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Original C14N 1.0 spec */
    <a name="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 /* Exclusive C14N 1.0 spec */
    <a name="XML_C14N_1_1">XML_C14N_1_1</a> = 2 /*  C14N 1.1 spec */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NIsVisibleCallback"></a>Function type xmlC14NIsVisibleCallback</h3>
<pre class="programlisting">int	xmlC14NIsVisibleCallback	(void * user_data, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Signature for a C14N callback on visible nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>user data</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node should be included</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocDumpMemory"></a>xmlC14NDocDumpMemory ()</h3>
<pre class="programlisting">int	xmlC14NDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br>
</pre>
<p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocSave"></a>xmlC14NDocSave ()</h3>
<pre class="programlisting">int	xmlC14NDocSave			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 const char * filename, <br>					 int compression)<br>
</pre>
<p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename to store canonical XML image</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NDocSaveTo"></a>xmlC14NDocSaveTo ()</h3>
<pre class="programlisting">int	xmlC14NDocSaveTo		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
</pre>
<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>non-negative value on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlC14NExecute"></a>xmlC14NExecute ()</h3>
<pre class="programlisting">int	xmlC14NExecute			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>					 void * user_data, <br>					 int mode, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>					 int with_comments, <br>					 <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
</pre>
<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document for canonization</td>
</tr>
<tr>
<td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td>
<td>the function to use to determine is node visible or not</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the c14n mode (see @xmlC14NMode)</td>
</tr>
<tr>
<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)</td>
</tr>
<tr>
<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
<td>include comments in the result (!=0) or not (==0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>non-negative value on success or a negative value on fail</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z��
�^^5usr/share/gtk-doc/html/libxml2/libxml2-xmlmemory.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlmemory: interface for the memory allocator</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlmodule.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlmemory</span></h2>
<p>xmlmemory - interface for the memory allocator</p>
<p>provides interfaces for the memory allocator, including debugging capabilities. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
#define <a href="#xmlMalloc">xmlMalloc</a>;
#define <a href="#xmlMallocAtomic">xmlMallocAtomic</a>;
#define <a href="#xmlMemStrdup">xmlMemStrdup</a>;
#define <a href="#xmlRealloc">xmlRealloc</a>;
void	<a href="#xmlCleanupMemory">xmlCleanupMemory</a>		(void);
typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a>			(void * mem);
int	<a href="#xmlGcMemGet">xmlGcMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
int	<a href="#xmlGcMemSetup">xmlGcMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
int	<a href="#xmlInitMemory">xmlInitMemory</a>			(void);
void *	<a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>		(size_t size, <br>					 const char * file, <br>					 int line);
typedef void * <a href="#xmlMallocFunc">xmlMallocFunc</a>			(size_t size);
void *	<a href="#xmlMallocLoc">xmlMallocLoc</a>			(size_t size, <br>					 const char * file, <br>					 int line);
int	<a href="#xmlMemBlocks">xmlMemBlocks</a>			(void);
void	<a href="#xmlMemDisplay">xmlMemDisplay</a>			(FILE * fp);
void	<a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>		(FILE * fp, <br>					 long nbBytes);
void	<a href="#xmlMemFree">xmlMemFree</a>			(void * ptr);
int	<a href="#xmlMemGet">xmlMemGet</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
void *	<a href="#xmlMemMalloc">xmlMemMalloc</a>			(size_t size);
void *	<a href="#xmlMemRealloc">xmlMemRealloc</a>			(void * ptr, <br>					 size_t size);
int	<a href="#xmlMemSetup">xmlMemSetup</a>			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
void	<a href="#xmlMemShow">xmlMemShow</a>			(FILE * fp, <br>					 int nr);
char *	<a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>			(const char * str, <br>					 const char * file, <br>					 int line);
int	<a href="#xmlMemUsed">xmlMemUsed</a>			(void);
void	<a href="#xmlMemoryDump">xmlMemoryDump</a>			(void);
char *	<a href="#xmlMemoryStrdup">xmlMemoryStrdup</a>			(const char * str);
typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>			(void * mem, <br>					 size_t size);
void *	<a href="#xmlReallocLoc">xmlReallocLoc</a>			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line);
typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a>			(const char * str);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3>
<pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
</pre>
<p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeFunc"></a>Function type xmlFreeFunc</h3>
<pre class="programlisting">void	xmlFreeFunc			(void * mem)<br>
</pre>
<p>Signature for a free() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>an already allocated block of memory</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocFunc"></a>Function type xmlMallocFunc</h3>
<pre class="programlisting">void *	xmlMallocFunc			(size_t size)<br>
</pre>
<p>Signature for a malloc() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size requested in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the newly allocated block or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReallocFunc"></a>Function type xmlReallocFunc</h3>
<pre class="programlisting">void *	xmlReallocFunc			(void * mem, <br>					 size_t size)<br>
</pre>
<p>Signature for a realloc() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>an already allocated block of memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the new size requested in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the newly reallocated block or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStrdupFunc"></a>Function type xmlStrdupFunc</h3>
<pre class="programlisting">char *	xmlStrdupFunc			(const char * str)<br>
</pre>
<p>Signature for an strdup() implementation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the copy of the string or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupMemory"></a>xmlCleanupMemory ()</h3>
<pre class="programlisting">void	xmlCleanupMemory		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free up all the memory allocated by the library for its own use. This should not be called by user level code.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGcMemGet"></a>xmlGcMemGet ()</h3>
<pre class="programlisting">int	xmlGcMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
</pre>
<p>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>place to save the free() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>place to save the malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
<td>place to save the atomic malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>place to save the realloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>place to save the strdup() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGcMemSetup"></a>xmlGcMemSetup ()</h3>
<pre class="programlisting">int	xmlGcMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br>
</pre>
<p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>the free() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>the malloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
<td>the malloc() function to use for atomic allocations</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>the realloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>the strdup() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitMemory"></a>xmlInitMemory ()</h3>
<pre class="programlisting">int	xmlInitMemory			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the memory layer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocAtomicLoc"></a>xmlMallocAtomicLoc ()</h3>
<pre class="programlisting">void *	xmlMallocAtomicLoc		(size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an unsigned int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMallocLoc"></a>xmlMallocLoc ()</h3>
<pre class="programlisting">void *	xmlMallocLoc			(size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemBlocks"></a>xmlMemBlocks ()</h3>
<pre class="programlisting">int	xmlMemBlocks			(void)<br>
</pre>
<p>Provides the number of memory areas currently allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int representing the number of blocks</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemDisplay"></a>xmlMemDisplay ()</h3>
<pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br>
</pre>
<p>show in-extenso the memory blocks allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemDisplayLast"></a>xmlMemDisplayLast ()</h3>
<pre class="programlisting">void	xmlMemDisplayLast		(FILE * fp, <br>					 long nbBytes)<br>
</pre>
<p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between two places at runtime.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbBytes</tt></i>:</span></td>
<td>the amount of memory to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemFree"></a>xmlMemFree ()</h3>
<pre class="programlisting">void	xmlMemFree			(void * ptr)<br>
</pre>
<p>a free() equivalent, with error checking.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the memory block pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemGet"></a>xmlMemGet ()</h3>
<pre class="programlisting">int	xmlMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
</pre>
<p>Provides the memory access functions set currently in use</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>place to save the free() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>place to save the malloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>place to save the realloc() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>place to save the strdup() function in use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemMalloc"></a>xmlMemMalloc ()</h3>
<pre class="programlisting">void *	xmlMemMalloc			(size_t size)<br>
</pre>
<p>a malloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemRealloc"></a>xmlMemRealloc ()</h3>
<pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br>					 size_t size)<br>
</pre>
<p>a realloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the initial memory block pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemSetup"></a>xmlMemSetup ()</h3>
<pre class="programlisting">int	xmlMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br>
</pre>
<p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
<td>the free() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
<td>the malloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
<td>the realloc() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
<td>the strdup() function to use</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemShow"></a>xmlMemShow ()</h3>
<pre class="programlisting">void	xmlMemShow			(FILE * fp, <br>					 int nr)<br>
</pre>
<p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fp</tt></i>:</span></td>
<td>a FILE descriptor used as the output file</td>
</tr>
<tr>
<td><span class="term"><i><tt>nr</tt></i>:</span></td>
<td>number of entries to dump</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemStrdupLoc"></a>xmlMemStrdupLoc ()</h3>
<pre class="programlisting">char *	xmlMemStrdupLoc			(const char * str, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a strdup() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the initial string pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new string or NULL if allocation error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemUsed"></a>xmlMemUsed ()</h3>
<pre class="programlisting">int	xmlMemUsed			(void)<br>
</pre>
<p>Provides the amount of memory currently allocated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int representing the amount of memory allocated.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemoryDump"></a>xmlMemoryDump ()</h3>
<pre class="programlisting">void	xmlMemoryDump			(void)<br>
</pre>
<p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMemoryStrdup"></a>xmlMemoryStrdup ()</h3>
<pre class="programlisting">char *	xmlMemoryStrdup			(const char * str)<br>
</pre>
<p>a strdup() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the initial string pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new string or NULL if allocation error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReallocLoc"></a>xmlReallocLoc ()</h3>
<pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br>					 size_t size, <br>					 const char * file, <br>					 int line)<br>
</pre>
<p>a realloc() equivalent, with logging of the allocation info.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
<td>the initial memory block pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>an int specifying the size in byte to allocate.</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z<1k�A�A1usr/share/gtk-doc/html/libxml2/libxml2-xlink.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xlink: unfinished XLink detection module</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xlink</span></h2>
<p>xlink - unfinished XLink detection module</p>
<p>unfinished XLink detection module </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkHRef">xlinkHRef</a>;
typedef struct _xlinkHandler <a href="#xlinkHandler">xlinkHandler</a>;
typedef <a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * <a href="#xlinkHandlerPtr">xlinkHandlerPtr</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkRole">xlinkRole</a>;
typedef enum <a href="#xlinkShow">xlinkShow</a>;
typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkTitle">xlinkTitle</a>;
typedef enum <a href="#xlinkType">xlinkType</a>;
typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	<a href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>	(void);
<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	<a href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>	(void);
<a href="libxml2-xlink.html#xlinkType">xlinkType</a>	<a href="#xlinkIsLink">xlinkIsLink</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a>		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func);
void	<a href="#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a>		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler);
typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xlinkActuate">Enum </a>xlinkActuate</h3>
<pre class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
    <a name="XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a> = 0
    <a name="XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a> = 1
    <a name="XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHRef">Typedef </a>xlinkHRef</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHandler">Structure </a>xlinkHandler</h3>
<pre class="programlisting">struct _xlinkHandler {
    <a href="libxml2-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>	simple
    <a href="libxml2-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>	extended
    <a href="libxml2-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>	set
} xlinkHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkRole">Typedef </a>xlinkRole</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkShow">Enum </a>xlinkShow</h3>
<pre class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
    <a name="XLINK_SHOW_NONE">XLINK_SHOW_NONE</a> = 0
    <a name="XLINK_SHOW_NEW">XLINK_SHOW_NEW</a> = 1
    <a name="XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a> = 2
    <a name="XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkTitle">Typedef </a>xlinkTitle</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkType">Enum </a>xlinkType</h3>
<pre class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
    <a name="XLINK_TYPE_NONE">XLINK_TYPE_NONE</a> = 0
    <a name="XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a> = 1
    <a name="XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a> = 2
    <a name="XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkExtendedLinkFunk"></a>Function type xlinkExtendedLinkFunk</h3>
<pre class="programlisting">void	xlinkExtendedLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbArcs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>					 <a href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>					 <a href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
</pre>
<p>This is the prototype for a extended link detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
<td>the number of locators detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
<td>pointer to the array of locator hrefs</td>
</tr>
<tr>
<td><span class="term"><i><tt>roles</tt></i>:</span></td>
<td>pointer to the array of locator roles</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbArcs</tt></i>:</span></td>
<td>the number of arcs detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>pointer to the array of source roles found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>pointer to the array of target roles found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>show</tt></i>:</span></td>
<td>array of values for the show attributes found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>actuate</tt></i>:</span></td>
<td>array of values for the actuate attributes found on the arcs</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
<td>the number of titles detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>titles</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>langs</tt></i>:</span></td>
<td>array of xml:lang values for the titles</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkExtendedLinkSetFunk"></a>Function type xlinkExtendedLinkSetFunk</h3>
<pre class="programlisting">void	xlinkExtendedLinkSetFunk	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int nbLocators, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>					 int nbTitles, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
</pre>
<p>This is the prototype for a extended link set detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
<td>the number of locators detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
<td>pointer to the array of locator hrefs</td>
</tr>
<tr>
<td><span class="term"><i><tt>roles</tt></i>:</span></td>
<td>pointer to the array of locator roles</td>
</tr>
<tr>
<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
<td>the number of titles detected on the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>titles</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>langs</tt></i>:</span></td>
<td>array of xml:lang values for the titles</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkNodeDetectFunc"></a>Function type xlinkNodeDetectFunc</h3>
<pre class="programlisting">void	xlinkNodeDetectFunc		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon link detection.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to check</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSimpleLinkFunk"></a>Function type xlinkSimpleLinkFunk</h3>
<pre class="programlisting">void	xlinkSimpleLinkFunk		(void * ctx, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>					 const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>					 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br>
</pre>
<p>This is the prototype for a simple link detection callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node carrying the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the target of the link</td>
</tr>
<tr>
<td><span class="term"><i><tt>role</tt></i>:</span></td>
<td>the role string</td>
</tr>
<tr>
<td><span class="term"><i><tt>title</tt></i>:</span></td>
<td>the link title</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkGetDefaultDetect"></a>xlinkGetDefaultDetect ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br>
</pre>
<p>Get the default xlink detection routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current function or NULL;</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkGetDefaultHandler"></a>xlinkGetDefaultHandler ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br>
</pre>
<p>Get the default xlink handler.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkIsLink"></a>xlinkIsLink ()</h3>
<pre class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a>	xlinkIsLink		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but tries to detect and return the appropriate link type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node pointer itself</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no link detected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSetDefaultDetect"></a>xlinkSetDefaultDetect ()</h3>
<pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br>
</pre>
<p>Set the default xlink detection routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>pointer to the new detection routine.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xlinkSetDefaultHandler"></a>xlinkSetDefaultHandler ()</h3>
<pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br>
</pre>
<p>Set the default xlink handlers</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new value for the xlink handler block</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z|�����'usr/share/gtk-doc/html/libxml2/home.pngnu�[����PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�1��KvIDATx�Օ�kq�?�rC���p�	~C�np��CAAJ.B-\'G�]:ܠ���C�
-(�8���Ԁ!�fD�����ғklbR�oy�x����wpðIJ�<�of_�-@����RH����f֟t����^����ښ�$Q���|��p����g�v;X^^&�s�(bww�Z�F���9���&�3඙
��^IR�ZUE.0Z]]U��
�PY�M�8�H�GI��������e�kqq�Ҁ�!��
$��۬��3�n
�e��{-/seee��Ì�X����O�ͷ$�8==U�S������Q�RR��'�9-�s���+B^ �C�ەs���<o��3�KKKt:j��J�$I����<'�s�8�{�������z��j�(M�Q7u$�,����B�.�ތ�Ձ;���F�p�����Y�z�3k��E�	���e���!S���$��v����0KR�o�0��l6999�j�sssT*�ׅv�v�
>�+%��<7��W��	��:�2IEND�B`�PK i�Zӌ$^N�N�6usr/share/gtk-doc/html/libxml2/libxml2-xmlschemas.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlschemas: incomplete XML Schemas structure implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlsave.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlschemas</span></h2>
<p>xmlschemas - incomplete XML Schemas structure implementation</p>
<p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
typedef struct _xmlSchemaParserCtxt <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a href="#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * <a href="#xmlSchemaPtr">xmlSchemaPtr</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * <a href="#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>;
typedef struct _xmlSchemaSAXPlug <a href="#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a>;
typedef struct _xmlSchemaValidCtxt <a href="#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a>;
typedef <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a href="#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
typedef enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>;
typedef enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>;
void	<a href="#xmlSchemaDump">xmlSchemaDump</a>			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlSchemaFree">xmlSchemaFree</a>			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
void	<a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
int	<a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlSchemaIsValid">xmlSchemaIsValid</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	<a href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>	(const char * URL);
<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	<a href="#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	<a href="#xmlSchemaParse">xmlSchemaParse</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	<a href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data);
int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug);
void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
int	<a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options);
int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename);
void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt);
int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data);
typedef void <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef int <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line);
typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchema">Structure </a>xmlSchema</h3>
<pre class="programlisting">struct _xmlSchema {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: schema name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    int	flags
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	typeDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attrgrpDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	elemDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	notaDecl
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	schemasImports
    void *	_private	: unused by the library for users or bindings
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	groupDecl
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
    void *	includes	: the includes, this is opaque for now
    int	preserve	: whether to free the document
    int	counter	: used to give anonymous components unique names
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef	: All identity-constraint defs.
    void *	volatiles	: Obsolete
} xmlSchema;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParserCtxt">Structure </a>xmlSchemaParserCtxt</h3>
<pre class="programlisting">struct _xmlSchemaParserCtxt {
The content of this structure is not made public by the API.
} xmlSchemaParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParserCtxtPtr">Typedef </a>xmlSchemaParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * xmlSchemaParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlugPtr">Typedef </a>xmlSchemaSAXPlugPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlugStruct">Structure </a>xmlSchemaSAXPlugStruct</h3>
<pre class="programlisting">struct _xmlSchemaSAXPlug {
The content of this structure is not made public by the API.
} xmlSchemaSAXPlugStruct;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxt">Structure </a>xmlSchemaValidCtxt</h3>
<pre class="programlisting">struct _xmlSchemaValidCtxt {
The content of this structure is not made public by the API.
} xmlSchemaValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtPtr">Typedef </a>xmlSchemaValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * xmlSchemaValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidError">Enum </a>xmlSchemaValidError</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a> {
    <a name="XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a> = 0
    <a name="XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a> = 1
    <a name="XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a> = 2
    <a name="XML_SCHEMAS_ERR_NOTTOPLEVEL">XML_SCHEMAS_ERR_NOTTOPLEVEL</a> = 3
    <a name="XML_SCHEMAS_ERR_MISSING">XML_SCHEMAS_ERR_MISSING</a> = 4
    <a name="XML_SCHEMAS_ERR_WRONGELEM">XML_SCHEMAS_ERR_WRONGELEM</a> = 5
    <a name="XML_SCHEMAS_ERR_NOTYPE">XML_SCHEMAS_ERR_NOTYPE</a> = 6
    <a name="XML_SCHEMAS_ERR_NOROLLBACK">XML_SCHEMAS_ERR_NOROLLBACK</a> = 7
    <a name="XML_SCHEMAS_ERR_ISABSTRACT">XML_SCHEMAS_ERR_ISABSTRACT</a> = 8
    <a name="XML_SCHEMAS_ERR_NOTEMPTY">XML_SCHEMAS_ERR_NOTEMPTY</a> = 9
    <a name="XML_SCHEMAS_ERR_ELEMCONT">XML_SCHEMAS_ERR_ELEMCONT</a> = 10
    <a name="XML_SCHEMAS_ERR_HAVEDEFAULT">XML_SCHEMAS_ERR_HAVEDEFAULT</a> = 11
    <a name="XML_SCHEMAS_ERR_NOTNILLABLE">XML_SCHEMAS_ERR_NOTNILLABLE</a> = 12
    <a name="XML_SCHEMAS_ERR_EXTRACONTENT">XML_SCHEMAS_ERR_EXTRACONTENT</a> = 13
    <a name="XML_SCHEMAS_ERR_INVALIDATTR">XML_SCHEMAS_ERR_INVALIDATTR</a> = 14
    <a name="XML_SCHEMAS_ERR_INVALIDELEM">XML_SCHEMAS_ERR_INVALIDELEM</a> = 15
    <a name="XML_SCHEMAS_ERR_NOTDETERMINIST">XML_SCHEMAS_ERR_NOTDETERMINIST</a> = 16
    <a name="XML_SCHEMAS_ERR_CONSTRUCT">XML_SCHEMAS_ERR_CONSTRUCT</a> = 17
    <a name="XML_SCHEMAS_ERR_INTERNAL">XML_SCHEMAS_ERR_INTERNAL</a> = 18
    <a name="XML_SCHEMAS_ERR_NOTSIMPLE">XML_SCHEMAS_ERR_NOTSIMPLE</a> = 19
    <a name="XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN</a> = 20
    <a name="XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID</a> = 21
    <a name="XML_SCHEMAS_ERR_VALUE">XML_SCHEMAS_ERR_VALUE</a> = 22
    <a name="XML_SCHEMAS_ERR_FACET">XML_SCHEMAS_ERR_FACET</a> = 23
    <a name="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
    <a name="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidOption">Enum </a>xmlSchemaValidOption</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
    <a name="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 /*  Default/fixed: create an attribute node * or an element's text node on the instance. * */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityErrorFunc"></a>Function type xmlSchemaValidityErrorFunc</h3>
<pre class="programlisting">void	xmlSchemaValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from an XSD validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityLocatorFunc"></a>Function type xmlSchemaValidityLocatorFunc</h3>
<pre class="programlisting">int	xmlSchemaValidityLocatorFunc	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line)<br>
</pre>
<p>A schemas validation locator, a callback called by the validator. This is used when file or node information are not available to find out what file and line number are affected</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>user provided context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>returned file information</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>returned line information</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidityWarningFunc"></a>Function type xmlSchemaValidityWarningFunc</h3>
<pre class="programlisting">void	xmlSchemaValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of a warning callback from an XSD validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaDump"></a>xmlSchemaDump ()</h3>
<pre class="programlisting">void	xmlSchemaDump			(FILE * output, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Dump a Schema structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFree"></a>xmlSchemaFree ()</h3>
<pre class="programlisting">void	xmlSchemaFree			(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Deallocate a Schema structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeParserCtxt"></a>xmlSchemaFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlSchemaFreeParserCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeValidCtxt"></a>xmlSchemaFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlSchemaFreeValidCtxt		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetParserErrors"></a>xmlSchemaGetParserErrors ()</h3>
<pre class="programlisting">int	xmlSchemaGetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the callback information used to handle errors for a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XMl-Schema parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetValidErrors"></a>xmlSchemaGetValidErrors ()</h3>
<pre class="programlisting">int	xmlSchemaGetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XML-Schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaIsValid"></a>xmlSchemaIsValid ()</h3>
<pre class="programlisting">int	xmlSchemaIsValid		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Check if any error was detected during validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewDocParserCtxt"></a>xmlSchemaNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewMemParserCtxt"></a>xmlSchemaNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewParserCtxt"></a>xmlSchemaNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>	xmlSchemaNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewValidCtxt"></a>xmlSchemaNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>	xmlSchemaNewValidCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Create an XML Schemas validation context based on the given schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML Schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaParse"></a>xmlSchemaParse ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>	xmlSchemaParse		(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML Schema structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXPlug"></a>xmlSchemaSAXPlug ()</h3>
<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>	xmlSchemaSAXPlug	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>						 void ** user_data)<br>
</pre>
<p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are replaced by new pointers but the calls to the original will be maintained.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a pointer to the original <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>a pointer to the original SAX user data pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSAXUnplug"></a>xmlSchemaSAXUnplug ()</h3>
<pre class="programlisting">int	xmlSchemaSAXUnplug		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br>
</pre>
<p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>plug</tt></i>:</span></td>
<td>a data structure returned by <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetParserErrors"></a>xmlSchemaSetParserErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetParserErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetParserStructuredErrors"></a>xmlSchemaSetParserStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetParserStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidErrors"></a>xmlSchemaSetValidErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidOptions"></a>xmlSchemaSetValidOptions ()</h3>
<pre class="programlisting">int	xmlSchemaSetValidOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Sets the options to be used during the validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of an API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaSetValidStructuredErrors"></a>xmlSchemaSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlSchemaSetValidStructuredErrors	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtGetOptions"></a>xmlSchemaValidCtxtGetOptions ()</h3>
<pre class="programlisting">int	xmlSchemaValidCtxtGetOptions	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Get the validation context options.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the option combination or -1 on error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidCtxtGetParserCtxt"></a>xmlSchemaValidCtxtGetParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlSchemaValidCtxtGetParserCtxt	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
</pre>
<p>allow access to the parser context of the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context of the schema validation context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateDoc"></a>xmlSchemaValidateDoc ()</h3>
<pre class="programlisting">int	xmlSchemaValidateDoc		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Validate a document tree in memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a parsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFile"></a>xmlSchemaValidateFile ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFile		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 int options)<br>
</pre>
<p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI of the instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a future set of options, currently unused</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateOneElement"></a>xmlSchemaValidateOneElement ()</h3>
<pre class="programlisting">int	xmlSchemaValidateOneElement	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Validate a branch of a tree, starting with the given @elem.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateSetFilename"></a>xmlSchemaValidateSetFilename ()</h3>
<pre class="programlisting">void	xmlSchemaValidateSetFilename	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename)<br>
</pre>
<p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the file name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateSetLocator"></a>xmlSchemaValidateSetLocator ()</h3>
<pre class="programlisting">void	xmlSchemaValidateSetLocator	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt)<br>
</pre>
<p>Allows to set a locator function to the validation context, which will be used to provide file and line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the locator function pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the locator context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateStream"></a>xmlSchemaValidateStream ()</h3>
<pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data)<br>
</pre>
<p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a schema validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input to use for reading the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an optional encoding information</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler for the resulting events</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>the context to provide to the SAX handler.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�ZZ��ff2usr/share/gtk-doc/html/libxml2/libxml2-parser.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>parser: the core parser module</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">parser</span></h2>
<p>parser - the core parser module</p>
<p>Interfaces, constants and types related to the XML parser </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
typedef enum <a href="#xmlFeature">xmlFeature</a>;
typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>;
typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
typedef void <a href="#commentSAXFunc">commentSAXFunc</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
typedef void <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>		(void * ctx);
typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
typedef void <a href="#errorSAXFunc">errorSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getEntitySAXFunc">getEntitySAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	(void * ctx);
typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	(void * ctx);
typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef int <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>		(void * ctx);
typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
typedef void <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>		(void * ctx);
typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
typedef void <a href="#warningSAXFunc">warningSAXFunc</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
long	<a href="#xmlByteConsumed">xmlByteConsumed</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlCleanupParser">xmlCleanupParser</a>		(void);
void	<a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
void	<a href="#xmlClearParserCtxt">xmlClearParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding);
int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void);
int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result);
int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br>					 const char ** result);
int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
void	<a href="#xmlInitParser">xmlInitParser</a>			(void);
int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val);
int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void);
int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
int	<a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover);
int	<a href="#xmlParseChunk">xmlParseChunk</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
int	<a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlParseDTD">xmlParseDTD</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseDoc">xmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
int	<a href="#xmlParseDocument">xmlParseDocument</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseEntity">xmlParseEntity</a>		(const char * filename);
int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename);
<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br>					 int size);
void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
unsigned long	<a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
int	<a href="#xmlParserInputGrow">xmlParserInputGrow</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
int	<a href="#xmlParserInputRead">xmlParserInputRead</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len);
int	<a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>	(int val);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadDoc">xmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFd">xmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadFile">xmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadIO">xmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlReadMemory">xmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br>					 int size);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFile">xmlSAXParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data);
int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename);
int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size);
void	<a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value);
void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename);
void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3>
<pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3>
<pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
</pre>
<p>The default version of XML used: 1.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3>
<pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3>
<pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
</pre>
<p>Special constant found in SAX2 blocks initialized fields</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3>
<pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
</pre>
<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFeature">Enum </a>xmlFeature</h3>
<pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
    <a name="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1
    <a name="XML_WITH_TREE">XML_WITH_TREE</a> = 2
    <a name="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3
    <a name="XML_WITH_PUSH">XML_WITH_PUSH</a> = 4
    <a name="XML_WITH_READER">XML_WITH_READER</a> = 5
    <a name="XML_WITH_PATTERN">XML_WITH_PATTERN</a> = 6
    <a name="XML_WITH_WRITER">XML_WITH_WRITER</a> = 7
    <a name="XML_WITH_SAX1">XML_WITH_SAX1</a> = 8
    <a name="XML_WITH_FTP">XML_WITH_FTP</a> = 9
    <a name="XML_WITH_HTTP">XML_WITH_HTTP</a> = 10
    <a name="XML_WITH_VALID">XML_WITH_VALID</a> = 11
    <a name="XML_WITH_HTML">XML_WITH_HTML</a> = 12
    <a name="XML_WITH_LEGACY">XML_WITH_LEGACY</a> = 13
    <a name="XML_WITH_C14N">XML_WITH_C14N</a> = 14
    <a name="XML_WITH_CATALOG">XML_WITH_CATALOG</a> = 15
    <a name="XML_WITH_XPATH">XML_WITH_XPATH</a> = 16
    <a name="XML_WITH_XPTR">XML_WITH_XPTR</a> = 17
    <a name="XML_WITH_XINCLUDE">XML_WITH_XINCLUDE</a> = 18
    <a name="XML_WITH_ICONV">XML_WITH_ICONV</a> = 19
    <a name="XML_WITH_ISO8859X">XML_WITH_ISO8859X</a> = 20
    <a name="XML_WITH_UNICODE">XML_WITH_UNICODE</a> = 21
    <a name="XML_WITH_REGEXP">XML_WITH_REGEXP</a> = 22
    <a name="XML_WITH_AUTOMATA">XML_WITH_AUTOMATA</a> = 23
    <a name="XML_WITH_EXPR">XML_WITH_EXPR</a> = 24
    <a name="XML_WITH_SCHEMAS">XML_WITH_SCHEMAS</a> = 25
    <a name="XML_WITH_SCHEMATRON">XML_WITH_SCHEMATRON</a> = 26
    <a name="XML_WITH_MODULES">XML_WITH_MODULES</a> = 27
    <a name="XML_WITH_DEBUG">XML_WITH_DEBUG</a> = 28
    <a name="XML_WITH_DEBUG_MEM">XML_WITH_DEBUG_MEM</a> = 29
    <a name="XML_WITH_DEBUG_RUN">XML_WITH_DEBUG_RUN</a> = 30
    <a name="XML_WITH_ZLIB">XML_WITH_ZLIB</a> = 31
    <a name="XML_WITH_ICU">XML_WITH_ICU</a> = 32
    <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
    <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /*  just to be sure of allocation size */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputState">Enum </a>xmlParserInputState</h3>
<pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> {
    <a name="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 /* nothing is to be parsed */
    <a name="XML_PARSER_START">XML_PARSER_START</a> = 0 /* nothing has been parsed */
    <a name="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 /* Misc* before int subset */
    <a name="XML_PARSER_PI">XML_PARSER_PI</a> = 2 /* Within a processing instruction */
    <a name="XML_PARSER_DTD">XML_PARSER_DTD</a> = 3 /* within some DTD content */
    <a name="XML_PARSER_PROLOG">XML_PARSER_PROLOG</a> = 4 /* Misc* after internal subset */
    <a name="XML_PARSER_COMMENT">XML_PARSER_COMMENT</a> = 5 /* within a comment */
    <a name="XML_PARSER_START_TAG">XML_PARSER_START_TAG</a> = 6 /* within a start tag */
    <a name="XML_PARSER_CONTENT">XML_PARSER_CONTENT</a> = 7 /* within the content */
    <a name="XML_PARSER_CDATA_SECTION">XML_PARSER_CDATA_SECTION</a> = 8 /* within a CDATA section */
    <a name="XML_PARSER_END_TAG">XML_PARSER_END_TAG</a> = 9 /* within a closing tag */
    <a name="XML_PARSER_ENTITY_DECL">XML_PARSER_ENTITY_DECL</a> = 10 /* within an entity declaration */
    <a name="XML_PARSER_ENTITY_VALUE">XML_PARSER_ENTITY_VALUE</a> = 11 /* within an entity value in a decl */
    <a name="XML_PARSER_ATTRIBUTE_VALUE">XML_PARSER_ATTRIBUTE_VALUE</a> = 12 /* within an attribute value */
    <a name="XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a> = 13 /* within a SYSTEM value */
    <a name="XML_PARSER_EPILOG">XML_PARSER_EPILOG</a> = 14 /* the Misc* after the last end tag */
    <a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */
    <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /*  within a PUBLIC value */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserMode">Enum </a>xmlParserMode</h3>
<pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
    <a name="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0
    <a name="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1
    <a name="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2
    <a name="XML_PARSE_PUSH_DOM">XML_PARSE_PUSH_DOM</a> = 3
    <a name="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4
    <a name="XML_PARSE_READER">XML_PARSE_READER</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3>
<pre class="programlisting">struct _xmlParserNodeInfo {
    const struct _xmlNode *	node	: Position &amp; line # that text that created the node begins &amp; ends on
    unsigned long	begin_pos
    unsigned long	begin_line
    unsigned long	end_pos
    unsigned long	end_line
} xmlParserNodeInfo;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3>
<pre class="programlisting">struct _xmlParserNodeInfoSeq {
    unsigned long	maximum
    unsigned long	length
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	buffer
} xmlParserNodeInfoSeq;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserOption">Enum </a>xmlParserOption</h3>
<pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
    <a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */
    <a name="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 /* substitute entities */
    <a name="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 /* load the external subset */
    <a name="XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> = 8 /* default DTD attributes */
    <a name="XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> = 16 /* validate with the DTD */
    <a name="XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> = 32 /* suppress error reports */
    <a name="XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */
    <a name="XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */
    <a name="XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */
    <a name="XML_PARSE_SAX1">XML_PARSE_SAX1</a> = 512 /* use the SAX1 interface internally */
    <a name="XML_PARSE_XINCLUDE">XML_PARSE_XINCLUDE</a> = 1024 /* Implement XInclude substitution */
    <a name="XML_PARSE_NONET">XML_PARSE_NONET</a> = 2048 /* Forbid network access */
    <a name="XML_PARSE_NODICT">XML_PARSE_NODICT</a> = 4096 /* Do not reuse the context dictionary */
    <a name="XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> = 8192 /* remove redundant namespaces declarations */
    <a name="XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> = 16384 /* merge CDATA as text nodes */
    <a name="XML_PARSE_NOXINCNODE">XML_PARSE_NOXINCNODE</a> = 32768 /* do not generate XINCLUDE START/END nodes */
    <a name="XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> = 65536 /* compact small text nodes; no modification of the tree allowed afterwards (will possibly crash if you try to modify the tree) */
    <a name="XML_PARSE_OLD10">XML_PARSE_OLD10</a> = 131072 /* parse using XML-1.0 before update 5 */
    <a name="XML_PARSE_NOBASEFIX">XML_PARSE_NOBASEFIX</a> = 262144 /* do not fixup XINCLUDE xml:base uris */
    <a name="XML_PARSE_HUGE">XML_PARSE_HUGE</a> = 524288 /* relax any hardcoded limit from the parser */
    <a name="XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> = 1048576 /* parse using SAX2 interface before 2.7.0 */
    <a name="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */
    <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /*  Store big lines numbers in text PSVI field */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3>
<pre class="programlisting">struct _xmlSAXHandlerV1 {
    <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
    <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
    <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
    <a href="libxml2-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
    <a href="libxml2-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
    <a href="libxml2-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
    <a href="libxml2-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
    <a href="libxml2-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
    <a href="libxml2-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
    <a href="libxml2-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
    <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
    <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
    <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
    <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
    <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
    <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
    <a href="libxml2-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
    <a href="libxml2-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
    <a href="libxml2-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
    <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
    <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
    <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
    <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
    <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
    unsigned int	initialized
} xmlSAXHandlerV1;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStartTag">Structure </a>xmlStartTag</h3>
<pre class="programlisting">struct _xmlStartTag {
The content of this structure is not made public by the API.
} xmlStartTag;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeDeclSAXFunc"></a>Function type attributeDeclSAXFunc</h3>
<pre class="programlisting">void	attributeDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="attributeSAXFunc"></a>Function type attributeSAXFunc</h3>
<pre class="programlisting">void	attributeSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="cdataBlockSAXFunc"></a>Function type cdataBlockSAXFunc</h3>
<pre class="programlisting">void	cdataBlockSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>Called when a pcdata block has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="charactersSAXFunc"></a>Function type charactersSAXFunc</h3>
<pre class="programlisting">void	charactersSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>Receiving some chars from the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="commentSAXFunc"></a>Function type commentSAXFunc</h3>
<pre class="programlisting">void	commentSAXFunc			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="elementDeclSAXFunc"></a>Function type elementDeclSAXFunc</h3>
<pre class="programlisting">void	elementDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endDocumentSAXFunc"></a>Function type endDocumentSAXFunc</h3>
<pre class="programlisting">void	endDocumentSAXFunc		(void * ctx)<br>
</pre>
<p>Called when the document end has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElementNsSAX2Func"></a>Function type endElementNsSAX2Func</h3>
<pre class="programlisting">void	endElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="endElementSAXFunc"></a>Function type endElementSAXFunc</h3>
<pre class="programlisting">void	endElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Called when the end of an element has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="entityDeclSAXFunc"></a>Function type entityDeclSAXFunc</h3>
<pre class="programlisting">void	entityDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="errorSAXFunc"></a>Function type errorSAXFunc</h3>
<pre class="programlisting">void	errorSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an error messages, callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="externalSubsetSAXFunc"></a>Function type externalSubsetSAXFunc</h3>
<pre class="programlisting">void	externalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="fatalErrorSAXFunc"></a>Function type fatalErrorSAXFunc</h3>
<pre class="programlisting">void	fatalErrorSAXFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, error() get all the callbacks for errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getEntitySAXFunc"></a>Function type getEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getEntitySAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="getParameterEntitySAXFunc"></a>Function type getParameterEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	getParameterEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasExternalSubsetSAXFunc"></a>Function type hasExternalSubsetSAXFunc</h3>
<pre class="programlisting">int	hasExternalSubsetSAXFunc	(void * ctx)<br>
</pre>
<p>Does this document has an external subset?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="hasInternalSubsetSAXFunc"></a>Function type hasInternalSubsetSAXFunc</h3>
<pre class="programlisting">int	hasInternalSubsetSAXFunc	(void * ctx)<br>
</pre>
<p>Does this document has an internal subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="ignorableWhitespaceSAXFunc"></a>Function type ignorableWhitespaceSAXFunc</h3>
<pre class="programlisting">void	ignorableWhitespaceSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="internalSubsetSAXFunc"></a>Function type internalSubsetSAXFunc</h3>
<pre class="programlisting">void	internalSubsetSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="isStandaloneSAXFunc"></a>Function type isStandaloneSAXFunc</h3>
<pre class="programlisting">int	isStandaloneSAXFunc		(void * ctx)<br>
</pre>
<p>Is this document tagged standalone?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="notationDeclSAXFunc"></a>Function type notationDeclSAXFunc</h3>
<pre class="programlisting">void	notationDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="processingInstructionSAXFunc"></a>Function type processingInstructionSAXFunc</h3>
<pre class="programlisting">void	processingInstructionSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="referenceSAXFunc"></a>Function type referenceSAXFunc</h3>
<pre class="programlisting">void	referenceSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="resolveEntitySAXFunc"></a>Function type resolveEntitySAXFunc</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	resolveEntitySAXFunc	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>Callback: 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</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3>
<pre class="programlisting">void	setDocumentLocatorSAXFunc	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startDocumentSAXFunc"></a>Function type startDocumentSAXFunc</h3>
<pre class="programlisting">void	startDocumentSAXFunc		(void * ctx)<br>
</pre>
<p>Called when the document start being processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElementNsSAX2Func"></a>Function type startElementNsSAX2Func</h3>
<pre class="programlisting">void	startElementNsSAX2Func		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
</pre>
<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
<td>number of namespace definitions on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>pointer to the array of prefix/URI pairs namespace definitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
<td>the number of attributes on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
<td>the number of defaulted attributes. The defaulted ones are at the end of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>attributes</tt></i>:</span></td>
<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="startElementSAXFunc"></a>Function type startElementSAXFunc</h3>
<pre class="programlisting">void	startElementSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>Called when an opening tag has been processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="unparsedEntityDeclSAXFunc"></a>Function type unparsedEntityDeclSAXFunc</h3>
<pre class="programlisting">void	unparsedEntityDeclSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="warningSAXFunc"></a>Function type warningSAXFunc</h3>
<pre class="programlisting">void	warningSAXFunc			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a warning messages, callback.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlExternalEntityLoader"></a>Function type xmlExternalEntityLoader</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlExternalEntityLoader	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br>
</pre>
<p>External entity loaders types.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>The System ID of the resource requested</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>The Public ID of the resource requested</td>
</tr>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the entity input parser.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputDeallocate"></a>Function type xmlParserInputDeallocate</h3>
<pre class="programlisting">void	xmlParserInputDeallocate	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Callback for freeing some parser input allocations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to deallocate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3>
<pre class="programlisting">long	xmlByteConsumed			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3>
<pre class="programlisting">void	xmlCleanupParser		(void)<br>
</pre>
<p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3>
<pre class="programlisting">void	xmlClearNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
</pre>
<p>-- Clear (release memory and reinitialize) node info sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3>
<pre class="programlisting">void	xmlClearParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Clear (release owned resources) and reinitialize a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateDocParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>Creates a parser context for an XML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateIOParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a parser context for using the XML parser with an existing I/O stream</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename)<br>
</pre>
<p>Create a parser context for using the XML parser in push mode. If @buffer and @size are non-NULL, the data is used to detect the encoding. The remaining <a href="libxml2-SAX.html#characters">characters</a> will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning reports.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadIO		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadMemory	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3>
<pre class="programlisting">void	xmlCtxtReset			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Reset a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3>
<pre class="programlisting">int	xmlCtxtResetPush		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding)<br>
</pre>
<p>Reset a push parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and 1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
<pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Applies the options to the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br>
</pre>
<p>Get the default external entity resolver function for the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetFeature"></a>xmlGetFeature ()</h3>
<pre class="programlisting">int	xmlGetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result)<br>
</pre>
<p>Read the current value of one feature of this parser instance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML/HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the feature name</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>location to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3>
<pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br>					 const char ** result)<br>
</pre>
<p>Copy at most *@len feature names into the @result array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the features name array (input/output)</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>an array of string to be filled with the features name.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasFeature"></a>xmlHasFeature ()</h3>
<pre class="programlisting">int	xmlHasFeature			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br>
</pre>
<p>Examines if the library has been compiled with a given feature.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>feature</tt></i>:</span></td>
<td>the feature to be examined</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Load and parse a DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an Input Buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3>
<pre class="programlisting">void	xmlInitNodeInfoSeq		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
</pre>
<p>-- Initialize (set to initial state) node info sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitParser"></a>xmlInitParser ()</h3>
<pre class="programlisting">void	xmlInitParser			(void)<br>
</pre>
<p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3>
<pre class="programlisting">int	xmlInitParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Initialize a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3>
<pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br>
</pre>
<p>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and ignorableWhitespace() are only generated when running the parser in validating mode and when the current element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X . Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, indentation is not generated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3>
<pre class="programlisting">int	xmlLineNumbersDefault		(int val)<br>
</pre>
<p>Set and return the previous value for enabling line numbers in elements contents. This may break on old application and is turned off by default.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Load an external entity, note that the use of this function for unparsed entities may generate problems</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the Public ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context in which the entity is called or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewIOInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an I/O Input</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br>
</pre>
<p>Allocate and initialize a new parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3>
<pre class="programlisting">int	xmlParseBalancedChunkMemory	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to (must not be NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3>
<pre class="programlisting">int	xmlParseBalancedChunkMemoryRecover	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 int depth, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br>						 int recover)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to (must not be NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>recover</tt></i>:</span></td>
<td>return nodes even if the data is broken (use 0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some extent.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseChunk"></a>xmlParseChunk ()</h3>
<pre class="programlisting">int	xmlParseChunk			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
</pre>
<p>Parse a Chunk of memory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte of the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
<td>last chunk indicator</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3>
<pre class="programlisting">int	xmlParseCtxtExternalEntity	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse an external general entity within an existing parsing context An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the existing parsing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDTD"></a>xmlParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlParseDTD		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Load and parse an external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>a NAME* containing the External ID of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>a NAME* containing the URL to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDoc"></a>xmlParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDocument"></a>xmlParseDocument ()</h3>
<pre class="programlisting">int	xmlParseDocument		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntity"></a>xmlParseEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseEntity		(const char * filename)<br>
</pre>
<p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3>
<pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3>
<pre class="programlisting">int	xmlParseExternalEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse an external general entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the chunk pertains to</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks (possibly NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>Used for loop detection, use 0</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseFile"></a>xmlParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseFile		(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree if the file was wellformed, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseInNodeContext"></a>xmlParseInNodeContext ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
</pre>
<p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the context node</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>datalen</tt></i>:</span></td>
<td>the input string length in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>lst</tt></i>:</span></td>
<td>the return value for the set of parsed nodes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error code otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMemory"></a>xmlParseMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseMemory		(const char * buffer, <br>					 int size)<br>
</pre>
<p>parse an XML in-memory block and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3>
<pre class="programlisting">void	xmlParserAddNodeInfo		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br>
</pre>
<p>Insert node info record into the sorted sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>info</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3>
<pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	xmlParserFindNodeInfo	(const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Find the parser node info struct for a given node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an XML node within the tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3>
<pre class="programlisting">unsigned long	xmlParserFindNodeInfoIndex	(const <a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>						 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p><a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index that the info record for the given node is or should be at in a sorted sequence</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>seq</tt></i>:</span></td>
<td>a node info sequence pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an XML node pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a long indicating the position of the record</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3>
<pre class="programlisting">int	xmlParserInputGrow		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
</pre>
<p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and keep already read data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an indicative size for the lookahead</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3>
<pre class="programlisting">int	xmlParserInputRead		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>					 int len)<br>
</pre>
<p>This function was internal and is deprecated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an indicative size for the lookahead</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 as this is an error to use it.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3>
<pre class="programlisting">int	xmlPedanticParserDefault	(int val)<br>
</pre>
<p>Set and return the previous value for enabling pedantic warnings.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadDoc"></a>xmlReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadFd"></a>xmlReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadFile"></a>xmlReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadIO"></a>xmlReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML document from I/O functions and source and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReadMemory"></a>xmlReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
</pre>
<p>parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a tree is tried anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverFile		(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlRecoverMemory	(const char * buffer, <br>					 int size)<br>
</pre>
<p>parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to build a tree is tried anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Load and parse an external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>a NAME* containing the External ID of the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>a NAME* containing the URL to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseDoc		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery)<br>
</pre>
<p>parse an XML in-memory document and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseEntity	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename)<br>
</pre>
<p>parse an XML external entity out of context and build a tree. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseFileWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename, <br>					 int recovery, <br>					 void * data)<br>
</pre>
<p>parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemory	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * buffer, <br>					 int size, <br>					 int recovery)<br>
</pre>
<p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read not Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlSAXParseMemoryWithData	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 const char * buffer, <br>						 int size, <br>						 int recovery, <br>						 void * data)<br>
</pre>
<p>parse an XML in-memory block and use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3>
<pre class="programlisting">int	xmlSAXUserParseFile		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename)<br>
</pre>
<p>parse an XML file and call the given SAX handler routines. Automatic support for ZLIB/Compress compressed document is provided</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success or a error number otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3>
<pre class="programlisting">int	xmlSAXUserParseMemory		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size)<br>
</pre>
<p>A better SAX parsing routine. parse an XML in-memory buffer and call the given SAX handler routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an in-memory XML document input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the XML document in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success or a error number otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3>
<pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br>
</pre>
<p>Changes the defaultexternal entity resolver function for the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the new entity resolver function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetFeature"></a>xmlSetFeature ()</h3>
<pre class="programlisting">int	xmlSetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value)<br>
</pre>
<p>Change the current value of one feature of this parser instance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML/HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the feature name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>pointer to the location of the new value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case or error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3>
<pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename)<br>
</pre>
<p>Setup the parser context to parse a new buffer; Clears any prior contents from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStopParser"></a>xmlStopParser ()</h3>
<pre class="programlisting">void	xmlStopParser			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Blocks further parser processing</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3>
<pre class="programlisting">int	xmlSubstituteEntitiesDefault	(int val)<br>
</pre>
<p>Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no substitution, 1 for substitution.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z>?+Y��3usr/share/gtk-doc/html/libxml2/libxml2-catalog.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>catalog: interfaces to the Catalog handling system</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">catalog</span></h2>
<p>catalog - interfaces to the Catalog handling system</p>
<p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
typedef struct _xmlCatalog <a href="#xmlCatalog">xmlCatalog</a>;
typedef enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>;
typedef enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>;
typedef <a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * <a href="#xmlCatalogPtr">xmlCatalogPtr</a>;
int	<a href="#xmlACatalogAdd">xmlACatalogAdd</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
void	<a href="#xmlACatalogDump">xmlACatalogDump</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out);
int	<a href="#xmlACatalogRemove">xmlACatalogRemove</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolve">xmlACatalogResolve</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogAdd">xmlCatalogAdd</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
void *	<a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
void	<a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>		(void);
int	<a href="#xmlCatalogConvert">xmlCatalogConvert</a>		(void);
void	<a href="#xmlCatalogDump">xmlCatalogDump</a>			(FILE * out);
void	<a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>		(void * catalogs);
<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	<a href="#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>	(void);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetPublic">xmlCatalogGetPublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
int	<a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogRemove">xmlCatalogRemove</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolve">xmlCatalogResolve</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
int	<a href="#xmlCatalogSetDebug">xmlCatalogSetDebug</a>		(int level);
<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	<a href="#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a>	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);
void	<a href="#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);
int	<a href="#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a>		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
void	<a href="#xmlFreeCatalog">xmlFreeCatalog</a>			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
void	<a href="#xmlInitializeCatalog">xmlInitializeCatalog</a>		(void);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadACatalog">xmlLoadACatalog</a>		(const char * filename);
int	<a href="#xmlLoadCatalog">xmlLoadCatalog</a>			(const char * filename);
void	<a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>			(const char * pathss);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>	(const char * filename);
<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	<a href="#xmlNewCatalog">xmlNewCatalog</a>		(int sgml);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseCatalogFile">xmlParseCatalogFile</a>	(const char * filename);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_CATALOGS_NAMESPACE">Macro </a>XML_CATALOGS_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
</pre>
<p>The namespace for the XML Catalogs elements.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3>
<pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
</pre>
<p>The specific XML Catalog Processing Instruction name.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalog">Structure </a>xmlCatalog</h3>
<pre class="programlisting">struct _xmlCatalog {
The content of this structure is not made public by the API.
} xmlCatalog;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3>
<pre class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
    <a name="XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a> = 0
    <a name="XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a> = 1
    <a name="XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a> = 2
    <a name="XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3>
<pre class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
    <a name="XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a> = 0
    <a name="XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> = 1
    <a name="XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogAdd"></a>xmlACatalogAdd ()</h3>
<pre class="programlisting">int	xmlACatalogAdd			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
</pre>
<p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of record to add to the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>the system, public or prefix to match</td>
</tr>
<tr>
<td><span class="term"><i><tt>replace</tt></i>:</span></td>
<td>the replacement value for the match</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogDump"></a>xmlACatalogDump ()</h3>
<pre class="programlisting">void	xmlACatalogDump			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 FILE * out)<br>
</pre>
<p>Dump the given catalog to the given file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the file.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogRemove"></a>xmlACatalogRemove ()</h3>
<pre class="programlisting">int	xmlACatalogRemove		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Remove an entry from the catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries removed if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolve"></a>xmlACatalogResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolve	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolvePublic"></a>xmlACatalogResolvePublic ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog local <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolveSystem"></a>xmlACatalogResolveSystem ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveSystem	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog resource for a system ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlACatalogResolveURI"></a>xmlACatalogResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolveURI	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAdd"></a>xmlCatalogAdd ()</h3>
<pre class="programlisting">int	xmlCatalogAdd			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
</pre>
<p>Add an entry in the catalog, it may overwrite existing but different entries. If called before any other catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of record to add to the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>the system, public or prefix to match</td>
</tr>
<tr>
<td><span class="term"><i><tt>replace</tt></i>:</span></td>
<td>the replacement value for the match</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogAddLocal"></a>xmlCatalogAddLocal ()</h3>
<pre class="programlisting">void *	xmlCatalogAddLocal		(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br>
</pre>
<p>Add the new entry to the catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL to a new local catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the updated list</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogCleanup"></a>xmlCatalogCleanup ()</h3>
<pre class="programlisting">void	xmlCatalogCleanup		(void)<br>
</pre>
<p>Free up all the memory associated with catalogs</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogConvert"></a>xmlCatalogConvert ()</h3>
<pre class="programlisting">int	xmlCatalogConvert		(void)<br>
</pre>
<p>Convert all the SGML catalog entries as XML ones</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries converted if successful, -1 otherwise</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogDump"></a>xmlCatalogDump ()</h3>
<pre class="programlisting">void	xmlCatalogDump			(FILE * out)<br>
</pre>
<p>Dump all the global catalog content to the given file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>the file.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogFreeLocal"></a>xmlCatalogFreeLocal ()</h3>
<pre class="programlisting">void	xmlCatalogFreeLocal		(void * catalogs)<br>
</pre>
<p>Free up the memory associated to the catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetDefaults"></a>xmlCatalogGetDefaults ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br>
</pre>
<p>Used to get the user preference w.r.t. to what catalogs should be accepted</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetPublic"></a>xmlCatalogGetPublic ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogGetSystem"></a>xmlCatalogGetSystem ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogIsEmpty"></a>xmlCatalogIsEmpty ()</h3>
<pre class="programlisting">int	xmlCatalogIsEmpty		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Check is a catalog is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>should this create an SGML catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogLocalResolve"></a>xmlCatalogLocalResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolve	(void * catalogs, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogLocalResolveURI"></a>xmlCatalogLocalResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogLocalResolveURI	(void * catalogs, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
<td>a document's list of catalogs</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogRemove"></a>xmlCatalogRemove ()</h3>
<pre class="programlisting">int	xmlCatalogRemove		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Remove an entry from the catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries removed if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolve"></a>xmlCatalogResolve ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolve	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Do a complete resolution lookup of an External Identifier</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolvePublic"></a>xmlCatalogResolvePublic ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
</pre>
<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
<td>the public ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolveSystem"></a>xmlCatalogResolveSystem ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
</pre>
<p>Try to lookup the catalog resource for a system ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
<td>the system ID string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogResolveURI"></a>xmlCatalogResolveURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolveURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>Do a complete resolution lookup of an URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDebug"></a>xmlCatalogSetDebug ()</h3>
<pre class="programlisting">int	xmlCatalogSetDebug		(int level)<br>
</pre>
<p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the debug level of catalogs required</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the catalog debugging level</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDefaultPrefer"></a>xmlCatalogSetDefaultPrefer ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br>
</pre>
<p>Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prefer</tt></i>:</span></td>
<td>the default preference for delegation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value of the default preference for delegation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCatalogSetDefaults"></a>xmlCatalogSetDefaults ()</h3>
<pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br>
</pre>
<p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>allow</tt></i>:</span></td>
<td>what catalogs should be accepted</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlConvertSGMLCatalog"></a>xmlConvertSGMLCatalog ()</h3>
<pre class="programlisting">int	xmlConvertSGMLCatalog		(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Convert all the SGML catalog entries as XML ones</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>the catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of entries converted if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeCatalog"></a>xmlFreeCatalog ()</h3>
<pre class="programlisting">void	xmlFreeCatalog			(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
</pre>
<p>Free the memory allocated to a Catalog</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>catal</tt></i>:</span></td>
<td>a Catalog</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeCatalog"></a>xmlInitializeCatalog ()</h3>
<pre class="programlisting">void	xmlInitializeCatalog		(void)<br>
</pre>
<p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadACatalog"></a>xmlLoadACatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadACatalog		(const char * filename)<br>
</pre>
<p>Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled recursively.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the catalog parsed or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadCatalog"></a>xmlLoadCatalog ()</h3>
<pre class="programlisting">int	xmlLoadCatalog			(const char * filename)<br>
</pre>
<p>Load the catalog and makes its definitions effective for the default external entity loader. It will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadCatalogs"></a>xmlLoadCatalogs ()</h3>
<pre class="programlisting">void	xmlLoadCatalogs			(const char * pathss)<br>
</pre>
<p>Load the catalogs and makes their definitions effective for the default external entity loader. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>pathss</tt></i>:</span></td>
<td>a list of directories separated by a colon or a space.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLoadSGMLSuperCatalog"></a>xmlLoadSGMLSuperCatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlLoadSGMLSuperCatalog	(const char * filename)<br>
</pre>
<p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the catalog parsed or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCatalog"></a>xmlNewCatalog ()</h3>
<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>	xmlNewCatalog		(int sgml)<br>
</pre>
<p>create a new Catalog.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sgml</tt></i>:</span></td>
<td>should this create an SGML catalog</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCatalogFile"></a>xmlParseCatalogFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlParseCatalogFile	(const char * filename)<br>
</pre>
<p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zh>�?w4w4:usr/share/gtk-doc/html/libxml2/libxml2-xpathInternals.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpathInternals: internal interfaces for XML Path Language implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpathInternals</span></h2>
<p>xpathInternals - internal interfaces for XML Path Language implementation</p>
<p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
#define <a href="#XP_ERROR">XP_ERROR</a>(X);
#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#valuePush">valuePush</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict);
void	<a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth);
void	<a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDifference">xmlXPathDifference</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinct">xmlXPathDistinct</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
void	<a href="#xmlXPathDivValues">xmlXPathDivValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathEqualValues">xmlXPathEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathErr">xmlXPathErr</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error);
void	<a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
void	<a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	<a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
int	<a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathIntersection">xmlXPathIntersection</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
int	<a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeading">xmlXPathLeading</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathModValues">xmlXPathModValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathMultValues">xmlXPathMultValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>	(int val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewCString">xmlXPathNewCString</a>	(const char * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewFloat">xmlXPathNewFloat</a>	(double val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	<a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewString">xmlXPathNewString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextChild">xmlXPathNextChild</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextParent">xmlXPathNextParent</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
int	<a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
int	<a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
int	<a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
void	<a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
void	<a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
void	<a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val);
void	<a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
int	<a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathNsLookup">xmlXPathNsLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
void	<a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseNCName">xmlXPathParseNCName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathParseName">xmlXPathParseName</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
int	<a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void *	<a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
double	<a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlXPathPopString">xmlXPathPopString</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
int	<a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
void	<a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt);
int	<a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
int	<a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
int	<a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data);
int	<a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
void	<a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
void	<a href="#xmlXPathRoot">xmlXPathRoot</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
double	<a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
void	<a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubValues">xmlXPathSubValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailing">xmlXPathTrailing</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	<a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>	(void * val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapString">xmlXPathWrapString</a>	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
void	<a href="#xmlXPatherror">xmlXPatherror</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3>
<pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3>
<pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3>
<pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
</pre>
<p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3>
<pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
</pre>
<p>Macro to check that the number of args passed to an XPath function matches.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>the number of expected args</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3>
<pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
</pre>
<p>Macro to return from the function if an XPath error was detected.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3>
<pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
</pre>
<p>Macro to return 0 from the function if an XPath error was detected.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3>
<pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
</pre>
<p>Macro to check that the value on top of the XPath stack is of a given type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
<td>the XPath type</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3>
<pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
</pre>
<p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
<td>the XPath type</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XP_ERROR">Macro </a>XP_ERROR</h3>
<pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
</pre>
<p>Macro to raise an XPath error and return.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>X</tt></i>:</span></td>
<td>the error code</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XP_ERROR0">Macro </a>XP_ERROR0</h3>
<pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
</pre>
<p>Macro to raise an XPath error and return 0.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>X</tt></i>:</span></td>
<td>the error code</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3>
<pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
</pre>
<p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
</pre>
<p>Empties a node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
</pre>
<p>Get the context node of an XPath context. Returns the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
</pre>
<p>Get the document of an XPath context. Returns the context document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3>
<pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
</pre>
<p>Get the error code of an XPath context. Returns the context error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
</pre>
<p>Pushes the boolean @val on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a boolean</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
</pre>
<p>Pushes an empty node-set on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
</pre>
<p>Pushes an empty string on the stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
</pre>
<p>Pushes user data on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>user data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
</pre>
<p>Pushes false on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
</pre>
<p>Pushes the node-set @ns on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a node-set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
</pre>
<p>Pushes the double @val on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a double</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
</pre>
<p>Pushes the string @str on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3>
<pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
</pre>
<p>Pushes true on the context stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
</pre>
<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
</pre>
<p>Raises an error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3>
<pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
</pre>
<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3>
<pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
</pre>
<p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3>
<pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
</pre>
<p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="valuePop"></a>valuePop ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops the top XPath object from the value stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath evaluation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the XPath object just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="valuePush"></a>valuePush ()</h3>
<pre class="programlisting">int	valuePush			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath evaluation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the XPath object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of items on the value stack, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3>
<pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3>
<pre class="programlisting">void	xmlXPathBooleanFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3>
<pre class="programlisting">void	xmlXPathCeilingFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3>
<pre class="programlisting">int	xmlXPathCompareValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int inf, <br>					 int strict)<br>
</pre>
<p>Implement the compare operation on XPath objects: @arg1 &lt; @arg2 (1, 1, ... @arg1 &lt;= @arg2 (1, 0, ... @arg1 &gt; @arg2 (0, 1, ... @arg1 &gt;= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and only if the first number is less than the second number. The &lt;= comparison will be true if and only if the first number is less than or equal to the second number. The &gt; comparison will be true if and only if the first number is greater than the second number. The &gt;= comparison will be true if and only if the first number is greater than or equal to the second number.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inf</tt></i>:</span></td>
<td>less than (1) or greater than (0)</td>
</tr>
<tr>
<td><span class="term"><i><tt>strict</tt></i>:</span></td>
<td>is the comparison strict</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the comparison succeeded, 0 if it failed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3>
<pre class="programlisting">void	xmlXPathConcatFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3>
<pre class="programlisting">void	xmlXPathContainsFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3>
<pre class="programlisting">void	xmlXPathCountFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the count() XPath function number count(node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3>
<pre class="programlisting">void	xmlXPathDebugDumpCompExpr	(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>					 int depth)<br>
</pre>
<p>Dumps the tree of the compiled XPath expression.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>the indentation level.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3>
<pre class="programlisting">void	xmlXPathDebugDumpObject		(FILE * output, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>					 int depth)<br>
</pre>
<p>Dump the content of the object for debugging purposes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the FILE * to dump the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the object to inspect</td>
</tr>
<tr>
<td><span class="term"><i><tt>depth</tt></i>:</span></td>
<td>indentation level</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDifference	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the difference between the two node sets, or nodes1 if nodes2 is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinct	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
</pre>
<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by document order, then #exslSetsDistinctSorted is called with the sorted node-set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathDistinctSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
</pre>
<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3>
<pre class="programlisting">void	xmlXPathDivValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3>
<pre class="programlisting">int	xmlXPathEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the results of the test.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathErr"></a>xmlXPathErr ()</h3>
<pre class="programlisting">void	xmlXPathErr			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int error)<br>
</pre>
<p>Handle an XPath error</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>error</tt></i>:</span></td>
<td>the error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3>
<pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3>
<pre class="programlisting">int	xmlXPathEvaluatePredicateResult	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
</pre>
<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the position of the context node in the context node list (as returned by the position function) and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>res</tt></i>:</span></td>
<td>the Predicate Expression evaluation result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if predicate is true, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3>
<pre class="programlisting">void	xmlXPathFalseFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the false() XPath function boolean false()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3>
<pre class="programlisting">void	xmlXPathFloorFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest to positive infinity) number that is not greater than the argument and that is an integer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3>
<pre class="programlisting">void	xmlXPathFreeParserContext	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the Function array of the context for the given function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>	xmlXPathFunctionLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Search in the Function array of the context for the given function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the function namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3>
<pre class="programlisting">int	xmlXPathHasSameNodes		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3>
<pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of <a href="libxml2-SAX.html#characters">characters</a> matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathIntersection	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a node set comprising the nodes that are within both the node sets passed as arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3>
<pre class="programlisting">int	xmlXPathIsNodeType		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 'node'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>a name string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3>
<pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3>
<pre class="programlisting">void	xmlXPathLastFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the last() XPath function number last() The last function returns the number of nodes in the context node list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeading		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3>
<pre class="programlisting">void	xmlXPathLocalNameFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the local-name() XPath function string local-name(node-set?) The local-name function returns a string containing the local part of the name of the node in the argument node-set that is first in document order. If the node-set is empty or the first node has no name, an empty string is returned. If the argument is omitted it defaults to the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3>
<pre class="programlisting">void	xmlXPathModValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3>
<pre class="programlisting">void	xmlXPathMultValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3>
<pre class="programlisting">void	xmlXPathNamespaceURIFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri function returns a string containing the namespace URI of the expanded name of the node in the argument node-set that is first in document order. If the node-set is empty, the first node has no name, or the expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewBoolean	(int val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the boolean value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewCString	(const char * val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewFloat	(double val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the double value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSet	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the single Node @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewNodeSetList	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and initialize it with the Nodeset @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an existing NodeSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>	xmlXPathNewParserContext	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>							 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPath expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNewValueTree	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree (XSLT) and initialize it with the tree root @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestor	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "ancestor" direction the ancestor axis contains the ancestors of the context node; the ancestors of the context node consist of the parent of context node and the parent's parent and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the parent's parent is the second node on the axis</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAncestorOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "ancestor-or-self" direction he ancestor-or-self axis contains the context node and ancestors of the context node in reverse document order; thus the context node is the first node on the axis, and the context node's parent the second; parent here is defined the same as with the parent axis.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextAttribute	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "attribute" direction TODO: support DTD inherited default attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextChild	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "child" direction The child axis contains the children of the context node in document order.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendant	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "descendant" direction the descendant axis contains the descendants of the context node in document order; a descendant is a child or a child of a child and so on.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextDescendantOrSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "descendant-or-self" direction the descendant-or-self axis contains the context node and the descendants of the context node in document order; thus the context node is the first node on the axis, and the first child of the context node is the second node on the axis</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "following-sibling" direction The following-sibling axis contains the following siblings of the context node in document order.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextNamespace	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "namespace" direction the namespace axis contains the namespace nodes of the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the context node is an element We keep the XML namespace node at the end of the list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextParent	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "parent" direction The parent axis contains the parent of the context node, if there is one.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPrecedingSibling	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "preceding-sibling" direction The preceding-sibling axis contains the preceding siblings of the context node in reverse document order; the first preceding sibling is first on the axis; the sibling preceding that node is the second on the axis and so on.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextSelf	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Traversal function for the "self" direction The self axis contains just the context node itself</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node in the traversal</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element following that axis</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeading	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeLeadingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAdd		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAddNs		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>add a new namespace node to an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the hosting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a the namespace node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetAddUnique	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version when we are sure the node is not already in the set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3>
<pre class="programlisting">int	xmlXPathNodeSetContains		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>checks whether @cur contains @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true (1) if @cur contains @val, false (0) otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetDel		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
</pre>
<p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetFreeNs		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs to be freed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the XPath namespace node found in a nodeset.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeSetMerge	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br>
</pre>
<p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and copied from @val2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val1</tt></i>:</span></td>
<td>the first NodeSet or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>val2</tt></i>:</span></td>
<td>the second NodeSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>@val1 once extended or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetRemove		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>					 int val)<br>
</pre>
<p>Removes an entry from an existing NodeSet list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the index to remove</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3>
<pre class="programlisting">void	xmlXPathNodeSetSort		(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
</pre>
<p>Sort the node set in document order</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>set</tt></i>:</span></td>
<td>the node set</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathNodeTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain @node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3>
<pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace <a href="libxml2-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml2-SAX.html#characters">characters</a> are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3>
<pre class="programlisting">int	xmlXPathNotEqualValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the results of the test.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3>
<pre class="programlisting">void	xmlXPathNotFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is false, and false otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathNsLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search in the namespace declaration array of the context for the given namespace name associated to the given prefix</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3>
<pre class="programlisting">void	xmlXPathNumberFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the number() XPath function number number(object?)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseNCName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>parse an XML namespace non qualified name. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathParseName"></a>xmlXPathParseName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathParseName	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3>
<pre class="programlisting">int	xmlXPathPopBoolean		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the boolean</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3>
<pre class="programlisting">void *	xmlXPathPopExternal		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops an external object from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the object</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathPopNodeSet	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node-set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3>
<pre class="programlisting">double	xmlXPathPopNumber		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathPopString	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XPath parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3>
<pre class="programlisting">void	xmlXPathPositionFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the position() XPath function number position() The position function returns the position of the context node in the context node list. The first position is 1, and so the last position will be equal to last().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3>
<pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Registers all default XPath functions in this context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3>
<pre class="programlisting">int	xmlXPathRegisterFunc		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
</pre>
<p>Register a new function. If @f is NULL it unregisters the function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the function implementation or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3>
<pre class="programlisting">void	xmlXPathRegisterFuncLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>					 void * funcCtxt)<br>
</pre>
<p>Registers an external mechanism to do function lookup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the lookup function</td>
</tr>
<tr>
<td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td>
<td>the lookup data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3>
<pre class="programlisting">int	xmlXPathRegisterFuncNS		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
</pre>
<p>Register a new function. If @f is NULL it unregisters the function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the function name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the function namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the function implementation or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3>
<pre class="programlisting">int	xmlXPathRegisterNs		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix cannot be NULL or empty string</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3>
<pre class="programlisting">int	xmlXPathRegisterVariable	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the variable value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3>
<pre class="programlisting">void	xmlXPathRegisterVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>					 void * data)<br>
</pre>
<p>register an external mechanism to do variable lookup</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the lookup function</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the lookup data</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3>
<pre class="programlisting">int	xmlXPathRegisterVariableNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
</pre>
<p>Register a new variable value. If @value is NULL it unregisters the variable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the variable namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the variable value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredFuncsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered functions</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredNsCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered variables</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3>
<pre class="programlisting">void	xmlXPathRegisteredVariablesCleanup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
</pre>
<p>Cleanup the XPath context data associated to registered variables</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3>
<pre class="programlisting">void	xmlXPathRoot			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Initialize the context to the root of the document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3>
<pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is closest to positive infinity is returned.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3>
<pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3>
<pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles negative values : '-' Number.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>A string to scan</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the double value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3>
<pre class="programlisting">void	xmlXPathStringFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the string() XPath function string string(object?) The string function converts an object to a string as follows: - A node-set is converted to a string by returning the value of the node in the node-set that is first in document order. If the node-set is empty, an empty string is returned. - A number is converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity + negative infinity is converted to the string -Infinity + if the number is an integer, the number is represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign (-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a decimal point with at least one digit before the decimal point and at least one digit after the decimal point, preceded by a minus sign (-) if the number is negative; there must be no leading zeros before the decimal point apart possibly from the one required digit immediately before the decimal point; beyond the one required digit after the decimal point there must be as many, but only as many, more digits as are needed to uniquely distinguish the number from all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The boolean true value is converted to the string true. If the argument is omitted, it defaults to a node-set with the context node as its only member.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3>
<pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml2-SAX.html#characters">characters</a> in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3>
<pre class="programlisting">void	xmlXPathSubValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringAfterFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring-after() XPath function string substring-after(string, string) The substring-after function returns the substring of the first argument string that follows the first occurrence of the second argument string in the first argument string, or the empty stringi if the first argument string does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and substring-after("1999/04/01","19") returns 99/04/01.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringBeforeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring-before() XPath function string substring-before(string, string) The substring-before function returns the substring of the first argument string that precedes the first occurrence of the second argument string in the first argument string, or the empty string if the first argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") returns 1999.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3>
<pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those <a href="libxml2-SAX.html#characters">characters</a> for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3>
<pre class="programlisting">void	xmlXPathSumFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of the nodes in the argument node-set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailing	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>	xmlXPathTrailingSorted	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>					 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
</pre>
<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
<td>a node-set, sorted by document order</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3>
<pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml2-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3>
<pre class="programlisting">void	xmlXPathTrueFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the true() XPath function boolean true()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3>
<pre class="programlisting">void	xmlXPathValueFlipSign		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>Implement the unary - operation on an XPath object The numeric operators convert their operands to numbers as if by calling the number function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the Variable array of the context for the given variable value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookupNS	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
</pre>
<p>Search in the Variable array of the context for the given variable value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the variable name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
<td>the variable namespace URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a copy of the value or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapCString	(char * val)<br>
</pre>
<p>Wraps a string into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapExternal	(void * val)<br>
</pre>
<p>Wraps the @val data into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the user data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
</pre>
<p>Wrap the Nodeset @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathWrapString	(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
</pre>
<p>Wraps the @val string into an XPath object.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPatherror"></a>xmlXPatherror ()</h3>
<pre class="programlisting">void	xmlXPatherror			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 const char * file, <br>					 int line, <br>					 int no)<br>
</pre>
<p>Formats an error message.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPath Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file name</td>
</tr>
<tr>
<td><span class="term"><i><tt>line</tt></i>:</span></td>
<td>the line number</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the error number</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�ZE�/�q�q�6usr/share/gtk-doc/html/libxml2/libxml2-xmlunicode.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlunicode: Unicode character APIs</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlunicode</span></h2>
<p>xmlunicode - Unicode character APIs</p>
<p>API for the Unicode character APIs  This file is automatically generated from the UCS description files of the Unicode Character Database</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">int	<a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>		(int code);
int	<a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>	(int code);
int	<a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>			(int code);
int	<a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>	(int code);
int	<a href="#xmlUCSIsArabicPresentationFormsB">xmlUCSIsArabicPresentationFormsB</a>	(int code);
int	<a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>		(int code);
int	<a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>			(int code);
int	<a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>		(int code);
int	<a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>			(int code);
int	<a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>			(int code, <br>					 const char * block);
int	<a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>		(int code);
int	<a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>		(int code);
int	<a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>	(int code);
int	<a href="#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>		(int code);
int	<a href="#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>		(int code);
int	<a href="#xmlUCSIsBuhid">xmlUCSIsBuhid</a>			(int code);
int	<a href="#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityIdeographs">xmlUCSIsCJKCompatibilityIdeographs</a>	(int code);
int	<a href="#xmlUCSIsCJKCompatibilityIdeographsSupplement">xmlUCSIsCJKCompatibilityIdeographsSupplement</a>	(int code);
int	<a href="#xmlUCSIsCJKRadicalsSupplement">xmlUCSIsCJKRadicalsSupplement</a>	(int code);
int	<a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a>	(int code);
int	<a href="#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a>	(int code);
int	<a href="#xmlUCSIsCat">xmlUCSIsCat</a>			(int code, <br>					 const char * cat);
int	<a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>			(int code);
int	<a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>			(int code);
int	<a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>			(int code);
int	<a href="#xmlUCSIsCatCo">xmlUCSIsCatCo</a>			(int code);
int	<a href="#xmlUCSIsCatCs">xmlUCSIsCatCs</a>			(int code);
int	<a href="#xmlUCSIsCatL">xmlUCSIsCatL</a>			(int code);
int	<a href="#xmlUCSIsCatLl">xmlUCSIsCatLl</a>			(int code);
int	<a href="#xmlUCSIsCatLm">xmlUCSIsCatLm</a>			(int code);
int	<a href="#xmlUCSIsCatLo">xmlUCSIsCatLo</a>			(int code);
int	<a href="#xmlUCSIsCatLt">xmlUCSIsCatLt</a>			(int code);
int	<a href="#xmlUCSIsCatLu">xmlUCSIsCatLu</a>			(int code);
int	<a href="#xmlUCSIsCatM">xmlUCSIsCatM</a>			(int code);
int	<a href="#xmlUCSIsCatMc">xmlUCSIsCatMc</a>			(int code);
int	<a href="#xmlUCSIsCatMe">xmlUCSIsCatMe</a>			(int code);
int	<a href="#xmlUCSIsCatMn">xmlUCSIsCatMn</a>			(int code);
int	<a href="#xmlUCSIsCatN">xmlUCSIsCatN</a>			(int code);
int	<a href="#xmlUCSIsCatNd">xmlUCSIsCatNd</a>			(int code);
int	<a href="#xmlUCSIsCatNl">xmlUCSIsCatNl</a>			(int code);
int	<a href="#xmlUCSIsCatNo">xmlUCSIsCatNo</a>			(int code);
int	<a href="#xmlUCSIsCatP">xmlUCSIsCatP</a>			(int code);
int	<a href="#xmlUCSIsCatPc">xmlUCSIsCatPc</a>			(int code);
int	<a href="#xmlUCSIsCatPd">xmlUCSIsCatPd</a>			(int code);
int	<a href="#xmlUCSIsCatPe">xmlUCSIsCatPe</a>			(int code);
int	<a href="#xmlUCSIsCatPf">xmlUCSIsCatPf</a>			(int code);
int	<a href="#xmlUCSIsCatPi">xmlUCSIsCatPi</a>			(int code);
int	<a href="#xmlUCSIsCatPo">xmlUCSIsCatPo</a>			(int code);
int	<a href="#xmlUCSIsCatPs">xmlUCSIsCatPs</a>			(int code);
int	<a href="#xmlUCSIsCatS">xmlUCSIsCatS</a>			(int code);
int	<a href="#xmlUCSIsCatSc">xmlUCSIsCatSc</a>			(int code);
int	<a href="#xmlUCSIsCatSk">xmlUCSIsCatSk</a>			(int code);
int	<a href="#xmlUCSIsCatSm">xmlUCSIsCatSm</a>			(int code);
int	<a href="#xmlUCSIsCatSo">xmlUCSIsCatSo</a>			(int code);
int	<a href="#xmlUCSIsCatZ">xmlUCSIsCatZ</a>			(int code);
int	<a href="#xmlUCSIsCatZl">xmlUCSIsCatZl</a>			(int code);
int	<a href="#xmlUCSIsCatZp">xmlUCSIsCatZp</a>			(int code);
int	<a href="#xmlUCSIsCatZs">xmlUCSIsCatZs</a>			(int code);
int	<a href="#xmlUCSIsCherokee">xmlUCSIsCherokee</a>		(int code);
int	<a href="#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>	(int code);
int	<a href="#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>	(int code);
int	<a href="#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>	(int code);
int	<a href="#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>	(int code);
int	<a href="#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>		(int code);
int	<a href="#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>		(int code);
int	<a href="#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>	(int code);
int	<a href="#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>		(int code);
int	<a href="#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>	(int code);
int	<a href="#xmlUCSIsDeseret">xmlUCSIsDeseret</a>			(int code);
int	<a href="#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>		(int code);
int	<a href="#xmlUCSIsDingbats">xmlUCSIsDingbats</a>		(int code);
int	<a href="#xmlUCSIsEnclosedAlphanumerics">xmlUCSIsEnclosedAlphanumerics</a>	(int code);
int	<a href="#xmlUCSIsEnclosedCJKLettersandMonths">xmlUCSIsEnclosedCJKLettersandMonths</a>	(int code);
int	<a href="#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a>		(int code);
int	<a href="#xmlUCSIsGeneralPunctuation">xmlUCSIsGeneralPunctuation</a>	(int code);
int	<a href="#xmlUCSIsGeometricShapes">xmlUCSIsGeometricShapes</a>		(int code);
int	<a href="#xmlUCSIsGeorgian">xmlUCSIsGeorgian</a>		(int code);
int	<a href="#xmlUCSIsGothic">xmlUCSIsGothic</a>			(int code);
int	<a href="#xmlUCSIsGreek">xmlUCSIsGreek</a>			(int code);
int	<a href="#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>		(int code);
int	<a href="#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>		(int code);
int	<a href="#xmlUCSIsGujarati">xmlUCSIsGujarati</a>		(int code);
int	<a href="#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>		(int code);
int	<a href="#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>	(int code);
int	<a href="#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a>	(int code);
int	<a href="#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>		(int code);
int	<a href="#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>		(int code);
int	<a href="#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>			(int code);
int	<a href="#xmlUCSIsHebrew">xmlUCSIsHebrew</a>			(int code);
int	<a href="#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>	(int code);
int	<a href="#xmlUCSIsHighSurrogates">xmlUCSIsHighSurrogates</a>		(int code);
int	<a href="#xmlUCSIsHiragana">xmlUCSIsHiragana</a>		(int code);
int	<a href="#xmlUCSIsIPAExtensions">xmlUCSIsIPAExtensions</a>		(int code);
int	<a href="#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a>	(int code);
int	<a href="#xmlUCSIsKanbun">xmlUCSIsKanbun</a>			(int code);
int	<a href="#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>		(int code);
int	<a href="#xmlUCSIsKannada">xmlUCSIsKannada</a>			(int code);
int	<a href="#xmlUCSIsKatakana">xmlUCSIsKatakana</a>		(int code);
int	<a href="#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>	(int code);
int	<a href="#xmlUCSIsKhmer">xmlUCSIsKhmer</a>			(int code);
int	<a href="#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>		(int code);
int	<a href="#xmlUCSIsLao">xmlUCSIsLao</a>			(int code);
int	<a href="#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>	(int code);
int	<a href="#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>		(int code);
int	<a href="#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a>	(int code);
int	<a href="#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>		(int code);
int	<a href="#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>	(int code);
int	<a href="#xmlUCSIsLimbu">xmlUCSIsLimbu</a>			(int code);
int	<a href="#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>	(int code);
int	<a href="#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>	(int code);
int	<a href="#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>		(int code);
int	<a href="#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>		(int code);
int	<a href="#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>	(int code);
int	<a href="#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>	(int code);
int	<a href="#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>	(int code);
int	<a href="#xmlUCSIsMongolian">xmlUCSIsMongolian</a>		(int code);
int	<a href="#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>		(int code);
int	<a href="#xmlUCSIsMyanmar">xmlUCSIsMyanmar</a>			(int code);
int	<a href="#xmlUCSIsNumberForms">xmlUCSIsNumberForms</a>		(int code);
int	<a href="#xmlUCSIsOgham">xmlUCSIsOgham</a>			(int code);
int	<a href="#xmlUCSIsOldItalic">xmlUCSIsOldItalic</a>		(int code);
int	<a href="#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>	(int code);
int	<a href="#xmlUCSIsOriya">xmlUCSIsOriya</a>			(int code);
int	<a href="#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>			(int code);
int	<a href="#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>	(int code);
int	<a href="#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>		(int code);
int	<a href="#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>		(int code);
int	<a href="#xmlUCSIsRunic">xmlUCSIsRunic</a>			(int code);
int	<a href="#xmlUCSIsShavian">xmlUCSIsShavian</a>			(int code);
int	<a href="#xmlUCSIsSinhala">xmlUCSIsSinhala</a>			(int code);
int	<a href="#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>	(int code);
int	<a href="#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>	(int code);
int	<a href="#xmlUCSIsSpecials">xmlUCSIsSpecials</a>		(int code);
int	<a href="#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>	(int code);
int	<a href="#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>	(int code);
int	<a href="#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>	(int code);
int	<a href="#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>	(int code);
int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>	(int code);
int	<a href="#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>	(int code);
int	<a href="#xmlUCSIsSyriac">xmlUCSIsSyriac</a>			(int code);
int	<a href="#xmlUCSIsTagalog">xmlUCSIsTagalog</a>			(int code);
int	<a href="#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>		(int code);
int	<a href="#xmlUCSIsTags">xmlUCSIsTags</a>			(int code);
int	<a href="#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>			(int code);
int	<a href="#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>	(int code);
int	<a href="#xmlUCSIsTamil">xmlUCSIsTamil</a>			(int code);
int	<a href="#xmlUCSIsTelugu">xmlUCSIsTelugu</a>			(int code);
int	<a href="#xmlUCSIsThaana">xmlUCSIsThaana</a>			(int code);
int	<a href="#xmlUCSIsThai">xmlUCSIsThai</a>			(int code);
int	<a href="#xmlUCSIsTibetan">xmlUCSIsTibetan</a>			(int code);
int	<a href="#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>		(int code);
int	<a href="#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>	(int code);
int	<a href="#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>	(int code);
int	<a href="#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>	(int code);
int	<a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>		(int code);
int	<a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>		(int code);
int	<a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>	(int code);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsAegeanNumbers"></a>xmlUCSIsAegeanNumbers ()</h3>
<pre class="programlisting">int	xmlUCSIsAegeanNumbers		(int code)<br>
</pre>
<p>Check whether the character is part of AegeanNumbers UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3>
<pre class="programlisting">int	xmlUCSIsAlphabeticPresentationForms	(int code)<br>
</pre>
<p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3>
<pre class="programlisting">int	xmlUCSIsArabic			(int code)<br>
</pre>
<p>Check whether the character is part of Arabic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3>
<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsA	(int code)<br>
</pre>
<p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3>
<pre class="programlisting">int	xmlUCSIsArabicPresentationFormsB	(int code)<br>
</pre>
<p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3>
<pre class="programlisting">int	xmlUCSIsArmenian		(int code)<br>
</pre>
<p>Check whether the character is part of Armenian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3>
<pre class="programlisting">int	xmlUCSIsArrows			(int code)<br>
</pre>
<p>Check whether the character is part of Arrows UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3>
<pre class="programlisting">int	xmlUCSIsBasicLatin		(int code)<br>
</pre>
<p>Check whether the character is part of BasicLatin UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3>
<pre class="programlisting">int	xmlUCSIsBengali			(int code)<br>
</pre>
<p>Check whether the character is part of Bengali UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3>
<pre class="programlisting">int	xmlUCSIsBlock			(int code, <br>					 const char * block)<br>
</pre>
<p>Check whether the character is part of the UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>block</tt></i>:</span></td>
<td>UCS block name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 on unknown block</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3>
<pre class="programlisting">int	xmlUCSIsBlockElements		(int code)<br>
</pre>
<p>Check whether the character is part of BlockElements UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3>
<pre class="programlisting">int	xmlUCSIsBopomofo		(int code)<br>
</pre>
<p>Check whether the character is part of Bopomofo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3>
<pre class="programlisting">int	xmlUCSIsBopomofoExtended	(int code)<br>
</pre>
<p>Check whether the character is part of BopomofoExtended UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3>
<pre class="programlisting">int	xmlUCSIsBoxDrawing		(int code)<br>
</pre>
<p>Check whether the character is part of BoxDrawing UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3>
<pre class="programlisting">int	xmlUCSIsBraillePatterns		(int code)<br>
</pre>
<p>Check whether the character is part of BraillePatterns UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsBuhid"></a>xmlUCSIsBuhid ()</h3>
<pre class="programlisting">int	xmlUCSIsBuhid			(int code)<br>
</pre>
<p>Check whether the character is part of Buhid UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsByzantineMusicalSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibility	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibility UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityForms	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographs	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKRadicalsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKSymbolsandPunctuation	(int code)<br>
</pre>
<p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographs	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3>
<pre class="programlisting">int	xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code)<br>
</pre>
<p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3>
<pre class="programlisting">int	xmlUCSIsCat			(int code, <br>					 const char * cat)<br>
</pre>
<p>Check whether the character is part of the UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>cat</tt></i>:</span></td>
<td>UCS Category name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 on unknown category</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3>
<pre class="programlisting">int	xmlUCSIsCatC			(int code)<br>
</pre>
<p>Check whether the character is part of C UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCc			(int code)<br>
</pre>
<p>Check whether the character is part of Cc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCf			(int code)<br>
</pre>
<p>Check whether the character is part of Cf UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCo			(int code)<br>
</pre>
<p>Check whether the character is part of Co UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatCs			(int code)<br>
</pre>
<p>Check whether the character is part of Cs UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3>
<pre class="programlisting">int	xmlUCSIsCatL			(int code)<br>
</pre>
<p>Check whether the character is part of L UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLl			(int code)<br>
</pre>
<p>Check whether the character is part of Ll UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLm			(int code)<br>
</pre>
<p>Check whether the character is part of Lm UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLo			(int code)<br>
</pre>
<p>Check whether the character is part of Lo UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLt			(int code)<br>
</pre>
<p>Check whether the character is part of Lt UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3>
<pre class="programlisting">int	xmlUCSIsCatLu			(int code)<br>
</pre>
<p>Check whether the character is part of Lu UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3>
<pre class="programlisting">int	xmlUCSIsCatM			(int code)<br>
</pre>
<p>Check whether the character is part of M UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMc			(int code)<br>
</pre>
<p>Check whether the character is part of Mc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMe			(int code)<br>
</pre>
<p>Check whether the character is part of Me UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3>
<pre class="programlisting">int	xmlUCSIsCatMn			(int code)<br>
</pre>
<p>Check whether the character is part of Mn UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3>
<pre class="programlisting">int	xmlUCSIsCatN			(int code)<br>
</pre>
<p>Check whether the character is part of N UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNd			(int code)<br>
</pre>
<p>Check whether the character is part of Nd UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNl			(int code)<br>
</pre>
<p>Check whether the character is part of Nl UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatNo			(int code)<br>
</pre>
<p>Check whether the character is part of No UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3>
<pre class="programlisting">int	xmlUCSIsCatP			(int code)<br>
</pre>
<p>Check whether the character is part of P UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPc			(int code)<br>
</pre>
<p>Check whether the character is part of Pc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPd			(int code)<br>
</pre>
<p>Check whether the character is part of Pd UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPe			(int code)<br>
</pre>
<p>Check whether the character is part of Pe UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPf			(int code)<br>
</pre>
<p>Check whether the character is part of Pf UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPi			(int code)<br>
</pre>
<p>Check whether the character is part of Pi UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPo			(int code)<br>
</pre>
<p>Check whether the character is part of Po UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatPs			(int code)<br>
</pre>
<p>Check whether the character is part of Ps UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3>
<pre class="programlisting">int	xmlUCSIsCatS			(int code)<br>
</pre>
<p>Check whether the character is part of S UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSc			(int code)<br>
</pre>
<p>Check whether the character is part of Sc UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSk			(int code)<br>
</pre>
<p>Check whether the character is part of Sk UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSm			(int code)<br>
</pre>
<p>Check whether the character is part of Sm UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3>
<pre class="programlisting">int	xmlUCSIsCatSo			(int code)<br>
</pre>
<p>Check whether the character is part of So UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZ			(int code)<br>
</pre>
<p>Check whether the character is part of Z UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZl			(int code)<br>
</pre>
<p>Check whether the character is part of Zl UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZp			(int code)<br>
</pre>
<p>Check whether the character is part of Zp UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3>
<pre class="programlisting">int	xmlUCSIsCatZs			(int code)<br>
</pre>
<p>Check whether the character is part of Zs UCS Category</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3>
<pre class="programlisting">int	xmlUCSIsCherokee		(int code)<br>
</pre>
<p>Check whether the character is part of Cherokee UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarks	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningHalfMarks	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCombiningMarksforSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3>
<pre class="programlisting">int	xmlUCSIsControlPictures		(int code)<br>
</pre>
<p>Check whether the character is part of ControlPictures UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsCurrencySymbols		(int code)<br>
</pre>
<p>Check whether the character is part of CurrencySymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCypriotSyllabary"></a>xmlUCSIsCypriotSyllabary ()</h3>
<pre class="programlisting">int	xmlUCSIsCypriotSyllabary	(int code)<br>
</pre>
<p>Check whether the character is part of CypriotSyllabary UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3>
<pre class="programlisting">int	xmlUCSIsCyrillic		(int code)<br>
</pre>
<p>Check whether the character is part of Cyrillic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsCyrillicSupplement"></a>xmlUCSIsCyrillicSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsCyrillicSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of CyrillicSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3>
<pre class="programlisting">int	xmlUCSIsDeseret			(int code)<br>
</pre>
<p>Check whether the character is part of Deseret UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3>
<pre class="programlisting">int	xmlUCSIsDevanagari		(int code)<br>
</pre>
<p>Check whether the character is part of Devanagari UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3>
<pre class="programlisting">int	xmlUCSIsDingbats		(int code)<br>
</pre>
<p>Check whether the character is part of Dingbats UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3>
<pre class="programlisting">int	xmlUCSIsEnclosedAlphanumerics	(int code)<br>
</pre>
<p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3>
<pre class="programlisting">int	xmlUCSIsEnclosedCJKLettersandMonths	(int code)<br>
</pre>
<p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3>
<pre class="programlisting">int	xmlUCSIsEthiopic		(int code)<br>
</pre>
<p>Check whether the character is part of Ethiopic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3>
<pre class="programlisting">int	xmlUCSIsGeneralPunctuation	(int code)<br>
</pre>
<p>Check whether the character is part of GeneralPunctuation UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3>
<pre class="programlisting">int	xmlUCSIsGeometricShapes		(int code)<br>
</pre>
<p>Check whether the character is part of GeometricShapes UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3>
<pre class="programlisting">int	xmlUCSIsGeorgian		(int code)<br>
</pre>
<p>Check whether the character is part of Georgian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3>
<pre class="programlisting">int	xmlUCSIsGothic			(int code)<br>
</pre>
<p>Check whether the character is part of Gothic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3>
<pre class="programlisting">int	xmlUCSIsGreek			(int code)<br>
</pre>
<p>Check whether the character is part of Greek UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3>
<pre class="programlisting">int	xmlUCSIsGreekExtended		(int code)<br>
</pre>
<p>Check whether the character is part of GreekExtended UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGreekandCoptic"></a>xmlUCSIsGreekandCoptic ()</h3>
<pre class="programlisting">int	xmlUCSIsGreekandCoptic		(int code)<br>
</pre>
<p>Check whether the character is part of GreekandCoptic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3>
<pre class="programlisting">int	xmlUCSIsGujarati		(int code)<br>
</pre>
<p>Check whether the character is part of Gujarati UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3>
<pre class="programlisting">int	xmlUCSIsGurmukhi		(int code)<br>
</pre>
<p>Check whether the character is part of Gurmukhi UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3>
<pre class="programlisting">int	xmlUCSIsHalfwidthandFullwidthForms	(int code)<br>
</pre>
<p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulCompatibilityJamo	(int code)<br>
</pre>
<p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulJamo		(int code)<br>
</pre>
<p>Check whether the character is part of HangulJamo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3>
<pre class="programlisting">int	xmlUCSIsHangulSyllables		(int code)<br>
</pre>
<p>Check whether the character is part of HangulSyllables UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHanunoo"></a>xmlUCSIsHanunoo ()</h3>
<pre class="programlisting">int	xmlUCSIsHanunoo			(int code)<br>
</pre>
<p>Check whether the character is part of Hanunoo UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3>
<pre class="programlisting">int	xmlUCSIsHebrew			(int code)<br>
</pre>
<p>Check whether the character is part of Hebrew UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsHighPrivateUseSurrogates	(int code)<br>
</pre>
<p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsHighSurrogates		(int code)<br>
</pre>
<p>Check whether the character is part of HighSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3>
<pre class="programlisting">int	xmlUCSIsHiragana		(int code)<br>
</pre>
<p>Check whether the character is part of Hiragana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsIPAExtensions		(int code)<br>
</pre>
<p>Check whether the character is part of IPAExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3>
<pre class="programlisting">int	xmlUCSIsIdeographicDescriptionCharacters	(int code)<br>
</pre>
<p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3>
<pre class="programlisting">int	xmlUCSIsKanbun			(int code)<br>
</pre>
<p>Check whether the character is part of Kanbun UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3>
<pre class="programlisting">int	xmlUCSIsKangxiRadicals		(int code)<br>
</pre>
<p>Check whether the character is part of KangxiRadicals UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3>
<pre class="programlisting">int	xmlUCSIsKannada			(int code)<br>
</pre>
<p>Check whether the character is part of Kannada UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3>
<pre class="programlisting">int	xmlUCSIsKatakana		(int code)<br>
</pre>
<p>Check whether the character is part of Katakana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKatakanaPhoneticExtensions"></a>xmlUCSIsKatakanaPhoneticExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsKatakanaPhoneticExtensions	(int code)<br>
</pre>
<p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3>
<pre class="programlisting">int	xmlUCSIsKhmer			(int code)<br>
</pre>
<p>Check whether the character is part of Khmer UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsKhmerSymbols"></a>xmlUCSIsKhmerSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsKhmerSymbols		(int code)<br>
</pre>
<p>Check whether the character is part of KhmerSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3>
<pre class="programlisting">int	xmlUCSIsLao			(int code)<br>
</pre>
<p>Check whether the character is part of Lao UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3>
<pre class="programlisting">int	xmlUCSIsLatin1Supplement	(int code)<br>
</pre>
<p>Check whether the character is part of Latin-1Supplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedA		(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtended-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedAdditional	(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3>
<pre class="programlisting">int	xmlUCSIsLatinExtendedB		(int code)<br>
</pre>
<p>Check whether the character is part of LatinExtended-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsLetterlikeSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLimbu"></a>xmlUCSIsLimbu ()</h3>
<pre class="programlisting">int	xmlUCSIsLimbu			(int code)<br>
</pre>
<p>Check whether the character is part of Limbu UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLinearBIdeograms"></a>xmlUCSIsLinearBIdeograms ()</h3>
<pre class="programlisting">int	xmlUCSIsLinearBIdeograms	(int code)<br>
</pre>
<p>Check whether the character is part of LinearBIdeograms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLinearBSyllabary"></a>xmlUCSIsLinearBSyllabary ()</h3>
<pre class="programlisting">int	xmlUCSIsLinearBSyllabary	(int code)<br>
</pre>
<p>Check whether the character is part of LinearBSyllabary UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3>
<pre class="programlisting">int	xmlUCSIsLowSurrogates		(int code)<br>
</pre>
<p>Check whether the character is part of LowSurrogates UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3>
<pre class="programlisting">int	xmlUCSIsMalayalam		(int code)<br>
</pre>
<p>Check whether the character is part of Malayalam UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMathematicalAlphanumericSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3>
<pre class="programlisting">int	xmlUCSIsMathematicalOperators	(int code)<br>
</pre>
<p>Check whether the character is part of MathematicalOperators UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousSymbolsandArrows"></a>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousSymbolsandArrows	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3>
<pre class="programlisting">int	xmlUCSIsMiscellaneousTechnical	(int code)<br>
</pre>
<p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3>
<pre class="programlisting">int	xmlUCSIsMongolian		(int code)<br>
</pre>
<p>Check whether the character is part of Mongolian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsMusicalSymbols		(int code)<br>
</pre>
<p>Check whether the character is part of MusicalSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3>
<pre class="programlisting">int	xmlUCSIsMyanmar			(int code)<br>
</pre>
<p>Check whether the character is part of Myanmar UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3>
<pre class="programlisting">int	xmlUCSIsNumberForms		(int code)<br>
</pre>
<p>Check whether the character is part of NumberForms UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3>
<pre class="programlisting">int	xmlUCSIsOgham			(int code)<br>
</pre>
<p>Check whether the character is part of Ogham UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3>
<pre class="programlisting">int	xmlUCSIsOldItalic		(int code)<br>
</pre>
<p>Check whether the character is part of OldItalic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3>
<pre class="programlisting">int	xmlUCSIsOpticalCharacterRecognition	(int code)<br>
</pre>
<p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3>
<pre class="programlisting">int	xmlUCSIsOriya			(int code)<br>
</pre>
<p>Check whether the character is part of Oriya UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsOsmanya"></a>xmlUCSIsOsmanya ()</h3>
<pre class="programlisting">int	xmlUCSIsOsmanya			(int code)<br>
</pre>
<p>Check whether the character is part of Osmanya UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPhoneticExtensions"></a>xmlUCSIsPhoneticExtensions ()</h3>
<pre class="programlisting">int	xmlUCSIsPhoneticExtensions	(int code)<br>
</pre>
<p>Check whether the character is part of PhoneticExtensions UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3>
<pre class="programlisting">int	xmlUCSIsPrivateUse		(int code)<br>
</pre>
<p>Check whether the character is part of PrivateUse UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsPrivateUseArea"></a>xmlUCSIsPrivateUseArea ()</h3>
<pre class="programlisting">int	xmlUCSIsPrivateUseArea		(int code)<br>
</pre>
<p>Check whether the character is part of PrivateUseArea UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3>
<pre class="programlisting">int	xmlUCSIsRunic			(int code)<br>
</pre>
<p>Check whether the character is part of Runic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsShavian"></a>xmlUCSIsShavian ()</h3>
<pre class="programlisting">int	xmlUCSIsShavian			(int code)<br>
</pre>
<p>Check whether the character is part of Shavian UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3>
<pre class="programlisting">int	xmlUCSIsSinhala			(int code)<br>
</pre>
<p>Check whether the character is part of Sinhala UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3>
<pre class="programlisting">int	xmlUCSIsSmallFormVariants	(int code)<br>
</pre>
<p>Check whether the character is part of SmallFormVariants UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3>
<pre class="programlisting">int	xmlUCSIsSpacingModifierLetters	(int code)<br>
</pre>
<p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3>
<pre class="programlisting">int	xmlUCSIsSpecials		(int code)<br>
</pre>
<p>Check whether the character is part of Specials UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3>
<pre class="programlisting">int	xmlUCSIsSuperscriptsandSubscripts	(int code)<br>
</pre>
<p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalArrowsA"></a>xmlUCSIsSupplementalArrowsA ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalArrowsA	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalArrowsB"></a>xmlUCSIsSupplementalArrowsB ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalArrowsB	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementalMathematicalOperators"></a>xmlUCSIsSupplementalMathematicalOperators ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementalMathematicalOperators	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementaryPrivateUseAreaA"></a>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaA	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSupplementaryPrivateUseAreaB"></a>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3>
<pre class="programlisting">int	xmlUCSIsSupplementaryPrivateUseAreaB	(int code)<br>
</pre>
<p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3>
<pre class="programlisting">int	xmlUCSIsSyriac			(int code)<br>
</pre>
<p>Check whether the character is part of Syriac UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTagalog"></a>xmlUCSIsTagalog ()</h3>
<pre class="programlisting">int	xmlUCSIsTagalog			(int code)<br>
</pre>
<p>Check whether the character is part of Tagalog UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTagbanwa"></a>xmlUCSIsTagbanwa ()</h3>
<pre class="programlisting">int	xmlUCSIsTagbanwa		(int code)<br>
</pre>
<p>Check whether the character is part of Tagbanwa UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3>
<pre class="programlisting">int	xmlUCSIsTags			(int code)<br>
</pre>
<p>Check whether the character is part of Tags UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTaiLe"></a>xmlUCSIsTaiLe ()</h3>
<pre class="programlisting">int	xmlUCSIsTaiLe			(int code)<br>
</pre>
<p>Check whether the character is part of TaiLe UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTaiXuanJingSymbols"></a>xmlUCSIsTaiXuanJingSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsTaiXuanJingSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3>
<pre class="programlisting">int	xmlUCSIsTamil			(int code)<br>
</pre>
<p>Check whether the character is part of Tamil UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3>
<pre class="programlisting">int	xmlUCSIsTelugu			(int code)<br>
</pre>
<p>Check whether the character is part of Telugu UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3>
<pre class="programlisting">int	xmlUCSIsThaana			(int code)<br>
</pre>
<p>Check whether the character is part of Thaana UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3>
<pre class="programlisting">int	xmlUCSIsThai			(int code)<br>
</pre>
<p>Check whether the character is part of Thai UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3>
<pre class="programlisting">int	xmlUCSIsTibetan			(int code)<br>
</pre>
<p>Check whether the character is part of Tibetan UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsUgaritic"></a>xmlUCSIsUgaritic ()</h3>
<pre class="programlisting">int	xmlUCSIsUgaritic		(int code)<br>
</pre>
<p>Check whether the character is part of Ugaritic UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3>
<pre class="programlisting">int	xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code)<br>
</pre>
<p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsVariationSelectors"></a>xmlUCSIsVariationSelectors ()</h3>
<pre class="programlisting">int	xmlUCSIsVariationSelectors	(int code)<br>
</pre>
<p>Check whether the character is part of VariationSelectors UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsVariationSelectorsSupplement"></a>xmlUCSIsVariationSelectorsSupplement ()</h3>
<pre class="programlisting">int	xmlUCSIsVariationSelectorsSupplement	(int code)<br>
</pre>
<p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3>
<pre class="programlisting">int	xmlUCSIsYiRadicals		(int code)<br>
</pre>
<p>Check whether the character is part of YiRadicals UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3>
<pre class="programlisting">int	xmlUCSIsYiSyllables		(int code)<br>
</pre>
<p>Check whether the character is part of YiSyllables UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUCSIsYijingHexagramSymbols"></a>xmlUCSIsYijingHexagramSymbols ()</h3>
<pre class="programlisting">int	xmlUCSIsYijingHexagramSymbols	(int code)<br>
</pre>
<p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>code</tt></i>:</span></td>
<td>UCS code point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z��.i�i�1usr/share/gtk-doc/html/libxml2/libxml2-valid.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>valid: The DTD validation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">valid</span></h2>
<p>valid - The DTD validation</p>
<p>API for the DTD handling and the validity checking </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
typedef struct _xmlHashTable <a href="#xmlAttributeTable">xmlAttributeTable</a>;
typedef <a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a href="#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlElementTable">xmlElementTable</a>;
typedef <a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * <a href="#xmlElementTablePtr">xmlElementTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlIDTable">xmlIDTable</a>;
typedef <a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * <a href="#xmlIDTablePtr">xmlIDTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlNotationTable">xmlNotationTable</a>;
typedef <a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * <a href="#xmlNotationTablePtr">xmlNotationTablePtr</a>;
typedef struct _xmlHashTable <a href="#xmlRefTable">xmlRefTable</a>;
typedef <a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * <a href="#xmlRefTablePtr">xmlRefTablePtr</a>;
typedef struct _xmlValidCtxt <a href="#xmlValidCtxt">xmlValidCtxt</a>;
typedef <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * <a href="#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
typedef struct _xmlValidState <a href="#xmlValidState">xmlValidState</a>;
typedef <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * <a href="#xmlValidStatePtr">xmlValidStatePtr</a>;
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlAddElementDecl">xmlAddElementDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	<a href="#xmlAddID">xmlAddID</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlAddNotationDecl">xmlAddNotationDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	<a href="#xmlAddRef">xmlAddRef</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	<a href="#xmlCopyAttributeTable">xmlCopyAttributeTable</a>	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlCopyElementContent">xmlCopyElementContent</a>	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	<a href="#xmlCopyElementTable">xmlCopyElementTable</a>	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCopyEnumeration">xmlCopyEnumeration</a>	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	<a href="#xmlCopyNotationTable">xmlCopyNotationTable</a>	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlCreateEnumeration">xmlCreateEnumeration</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
void	<a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
void	<a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
void	<a href="#xmlDumpElementTable">xmlDumpElementTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
void	<a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
void	<a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
void	<a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
void	<a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
void	<a href="#xmlFreeElementContent">xmlFreeElementContent</a>		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
void	<a href="#xmlFreeElementTable">xmlFreeElementTable</a>		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
void	<a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
void	<a href="#xmlFreeIDTable">xmlFreeIDTable</a>			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
void	<a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
void	<a href="#xmlFreeRefTable">xmlFreeRefTable</a>			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
void	<a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur);
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	<a href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	<a href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	<a href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlGetID">xmlGetID</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlGetRefs">xmlGetRefs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
int	<a href="#xmlIsID">xmlIsID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
int	<a href="#xmlIsMixedElement">xmlIsMixedElement</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlIsRef">xmlIsRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewDocElementContent">xmlNewDocElementContent</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlNewElementContent">xmlNewElementContent</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	<a href="#xmlNewValidCtxt">xmlNewValidCtxt</a>		(void);
int	<a href="#xmlRemoveID">xmlRemoveID</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
int	<a href="#xmlRemoveRef">xmlRemoveRef</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
void	<a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
void	<a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob);
int	<a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max);
int	<a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlValidateElement">xmlValidateElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlValidateElementDecl">xmlValidateElementDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
int	<a href="#xmlValidateNameValue">xmlValidateNameValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
int	<a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
int	<a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidateOneElement">xmlValidateOneElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlValidatePopElement">xmlValidatePopElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
int	<a href="#xmlValidatePushCData">xmlValidatePushCData</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
int	<a href="#xmlValidatePushElement">xmlValidatePushElement</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
int	<a href="#xmlValidateRoot">xmlValidateRoot</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_VCTXT_DTD_VALIDATED">Macro </a>XML_VCTXT_DTD_VALIDATED</h3>
<pre class="programlisting">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
</pre>
<p>Set after <a href="libxml2-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> was called.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_VCTXT_USE_PCTXT">Macro </a>XML_VCTXT_USE_PCTXT</h3>
<pre class="programlisting">#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
</pre>
<p>Set if the validation context is part of a parser context.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeTable">Structure </a>xmlAttributeTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlAttributeTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeTablePtr">Typedef </a>xmlAttributeTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * xmlAttributeTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTable">Structure </a>xmlElementTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlElementTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTablePtr">Typedef </a>xmlElementTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * xmlElementTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDTable">Structure </a>xmlIDTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlIDTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationTable">Structure </a>xmlNotationTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlNotationTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationTablePtr">Typedef </a>xmlNotationTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * xmlNotationTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefTable">Structure </a>xmlRefTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlRefTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3>
<pre class="programlisting">struct _xmlValidCtxt {
    void *	userData	: user specific data block
    <a href="libxml2-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error	: the callback in case of errors
    <a href="libxml2-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning	: the callback in case of warning Node analysis stack used when validat
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
    unsigned int	flags	: internal flags
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
    int	valid	: temporary validity check result state state used for non-determinist
    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
    int	vstateNr	: Depth of the validation stack
    int	vstateMax	: Max depth of the validation stack
    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstateTab	: array of validation states
    <a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	am	: the automata
    <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	state	: used to build the automata
    void *	am
    void *	state
} xmlValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidState">Structure </a>xmlValidState</h3>
<pre class="programlisting">struct _xmlValidState {
The content of this structure is not made public by the API.
} xmlValidState;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidityErrorFunc"></a>Function type xmlValidityErrorFunc</h3>
<pre class="programlisting">void	xmlValidityErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Callback called when a validity error is found. This is a message oriented function similar to an *printf function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the string to format *printf like vararg</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>remaining arguments to the format</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidityWarningFunc"></a>Function type xmlValidityWarningFunc</h3>
<pre class="programlisting">void	xmlValidityWarningFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the user.</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the string to format *printf like vararg</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>remaining arguments to the format</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>Register a new <a href="libxml2-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default type</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>if it's an enumeration, the associated list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not new, otherwise the <a href="libxml2-SAX.html#attribute">attribute</a> decl</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>Register a new element declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element content tree or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddID"></a>xmlAddID ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>	xmlAddID		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Register a new id declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value name</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Register a new notation declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>pointer to the DTD</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>PublicID</tt></i>:</span></td>
<td>the public identifier or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system identifier or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddRef"></a>xmlAddRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>	xmlAddRef		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Register a new ref declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value name</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the Ref</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>Build a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDocElementContent"></a>xmlCopyDocElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Build a copy of an element content description.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the element declaration</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>An element content pointer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>An element content pointer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>Build a copy of an element table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
</pre>
<p>Copy an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the tree to copy.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>Build a copy of a notation table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>A notation table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>create and initialize an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the enumeration name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3>
<pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
</pre>
<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> declaration</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3>
<pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3>
<pre class="programlisting">void	xmlDumpElementDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>This will dump the content of the element declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>An element table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3>
<pre class="programlisting">void	xmlDumpElementTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the element table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3>
<pre class="programlisting">void	xmlDumpNotationDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
</pre>
<p>This will dump the content the notation declaration as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>nota</tt></i>:</span></td>
<td>A notation declaration</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3>
<pre class="programlisting">void	xmlDumpNotationTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the notation table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>A notation table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3>
<pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDocElementContent"></a>xmlFreeDocElementContent ()</h3>
<pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Free an element content structure. The whole subtree is removed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the element declaration</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the element content tree to free</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3>
<pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
</pre>
<p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the element content tree to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3>
<pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an element hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An element table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3>
<pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
</pre>
<p>free an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the tree to free.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3>
<pre class="programlisting">void	xmlFreeIDTable			(<a href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an ID hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An id table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3>
<pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An notation table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3>
<pre class="programlisting">void	xmlFreeRefTable			(<a href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Deallocate the memory used by an Ref hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An ref table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlFreeValidCtxt		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br>
</pre>
<p>Free a validation context structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the validation context to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlGetDtdNotationDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search the DTD for the description of this notation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the notation name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search the DTD for the description of this qualified <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlGetDtdQElementDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Search the DTD for the description of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a pointer to the DtD to search</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetID"></a>xmlGetID ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
</pre>
<p>Search the <a href="libxml2-SAX.html#attribute">attribute</a> declaring the given ID</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the ID value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise the <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetRefs"></a>xmlGetRefs ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlGetRefs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Find the set of references for the supplied ID.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>pointer to the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the ID value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not found, otherwise node set for the ID.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsID"></a>xmlIsID ()</h3>
<pre class="programlisting">int	xmlIsID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the lookup result</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3>
<pre class="programlisting">int	xmlIsMixedElement		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no, 1 if yes, and -1 if no element description is available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsRef"></a>xmlIsRef ()</h3>
<pre class="programlisting">int	xmlIsRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or 1 depending on the lookup result</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocElementContent"></a>xmlNewDocElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
</pre>
<p>Allocate an element content structure for the document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the subelement name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of element content decl</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new element content structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
</pre>
<p>Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the subelement name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of element content decl</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new element content structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlNewValidCtxt		(void)<br>
</pre>
<p>Allocate a validation context structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the new validation context structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveID"></a>xmlRemoveID ()</h3>
<pre class="programlisting">int	xmlRemoveID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if the lookup failed and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3>
<pre class="programlisting">int	xmlRemoveRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
</pre>
<p>DEPRECATED, do not use. This function will be removed from the public API. Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if the lookup failed and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3>
<pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
</pre>
<p>This will dump the content of the element content definition Intended just for the debug routine</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the buffer size</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>englob</tt></i>:</span></td>
<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3>
<pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
</pre>
<p>Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>An element table</td>
</tr>
<tr>
<td><span class="term"><i><tt>englob</tt></i>:</span></td>
<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3>
<pre class="programlisting">int	xmlValidBuildContentModel	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>(Re)Build the automata associated to the content model of this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element declaration node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, 0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the parent</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3>
<pre class="programlisting">int	xmlValidGetPotentialChildren	(<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int * len, <br>					 int max)<br>
</pre>
<p>Build/extend a list of potential children allowed by the content tree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctree</tt></i>:</span></td>
<td>an element content tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>names</tt></i>:</span></td>
<td>an array to store the list of child names</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>a pointer to the number of element in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of element in the list, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3>
<pre class="programlisting">int	xmlValidGetValidElements	(<a href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>					 <a href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>					 int max)<br>
</pre>
<p>This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prev</tt></i>:</span></td>
<td>an element to insert after</td>
</tr>
<tr>
<td><span class="term"><i><tt>next</tt></i>:</span></td>
<td>an element to insert next</td>
</tr>
<tr>
<td><span class="term"><i><tt>names</tt></i>:</span></td>
<td>an array to store the list of child names</td>
</tr>
<tr>
<td><span class="term"><i><tt>max</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the parent</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3>
<pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
</pre>
<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3>
<pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given <a href="libxml2-SAX.html#attribute">attribute</a> value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3>
<pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3>
<pre class="programlisting">int	xmlValidateDocumentFinal	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDtd"></a>xmlValidateDtd ()</h3>
<pre class="programlisting">int	xmlValidateDtd			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>a dtd instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3>
<pre class="programlisting">int	xmlValidateDtdFinal		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 if invalid and -1 if not well-formed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateElement"></a>xmlValidateElement ()</h3>
<pre class="programlisting">int	xmlValidateElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Try to validate the subtree under an element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3>
<pre class="programlisting">int	xmlValidateElementDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
</pre>
<p>Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3>
<pre class="programlisting">int	xmlValidateNameValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Name production</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Name value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3>
<pre class="programlisting">int	xmlValidateNamesValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Names production</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Names value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3>
<pre class="programlisting">int	xmlValidateNmtokenValue		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Nmtoken value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3>
<pre class="programlisting">int	xmlValidateNmtokensValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>an Nmtokens value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3>
<pre class="programlisting">int	xmlValidateNotationDecl		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
</pre>
<p>Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>nota</tt></i>:</span></td>
<td>a notation definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3>
<pre class="programlisting">int	xmlValidateNotationUse		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the notation name to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3>
<pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3>
<pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each <a href="libxml2-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3>
<pre class="programlisting">int	xmlValidateOneNamespace		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>an namespace declaration instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3>
<pre class="programlisting">int	xmlValidatePopElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
</pre>
<p>Pop the element end from the validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>qname</tt></i>:</span></td>
<td>the qualified name as appearing in the serialization</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3>
<pre class="programlisting">int	xmlValidatePushCData		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
</pre>
<p>check the CData parsed for validation in the current stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>some character data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3>
<pre class="programlisting">int	xmlValidatePushElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname)<br>
</pre>
<p>Push a new element start on the validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>qname</tt></i>:</span></td>
<td>the qualified name as appearing in the serialization</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3>
<pre class="programlisting">int	xmlValidateRoot			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if valid or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�ZCZ��%usr/share/gtk-doc/html/libxml2/up.pngnu�[����PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�2.�E��#IDATx��=J�@F�o�]
!+��2��[Z�<@/�<����X�
ڭ�2�0v����…�j0�l�vV��A`���	�t*i��Hҭ~x�R~'IUU�9�#O��my�eJ�TeY�Gv�@x�O#�;2E>9��|t$D�9nnB���j��BRIsI��:H�8�U�����P��N�1fc�sN�95M㧖ɵ��束��1~�pE�e$�I����	�7nrD�f!;�`����'�yk��I���䲤sI_]��y�����^^I>O>�������?YBIEND�B`�PK i�ZD���'usr/share/gtk-doc/html/libxml2/left.pngnu�[����PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�1&��[(XIDATx���!O�PE��*���ID%~ꊯ���"p�'�ŏ�`sܖ��rKf����� h�mi��I�z}�ܯI���.p�\�`x��l�?l�[�,H����k<�#�c�%\�AUx[�S�7�n6����r���zE���s���1�������j@��NL$ݤi�0�5/�}��\E���KIo�͓$a0�j�d�F�b�kI�����Ah>�W�lC'?�tk;|/�t*I��N���Z�^`�y�4��N�r]׮ �J���<�����ڐt����`�X��1@p�䀸d���Z')h���K�	�$V?%�]��+�L�sgU�K�"�w5�3O����IEND�B`�PK i�Z��Eybyb4usr/share/gtk-doc/html/libxml2/libxml2-xpointer.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xpointer: API to handle XML Pointers</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xpointer</span></h2>
<p>xpointer - API to handle XML Pointers</p>
<p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
typedef <a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a href="#xmlLocationSetPtr">xmlLocationSetPtr</a>;
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
void	<a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start);
<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlLocationSet">Structure </a>xmlLocationSet</h3>
<pre class="programlisting">struct _xmlLocationSet {
    int	locNr	: number of locations in the set
    int	locMax	: size of the array as allocated
    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	locTab	: array of locations
} xmlLocationSet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
</pre>
<p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the XPointer result from the evaluation.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
</pre>
<p>Evaluate the XPath Location Path in the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the XPointer expression</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the XPointer context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3>
<pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
</pre>
<p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPointer Parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3>
<pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br>
</pre>
<p>Free the LocationSet compound (not the actual ranges !).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>obj</tt></i>:</span></td>
<td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an initial xmlXPathObjectPtr, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
</pre>
<p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3>
<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br>
</pre>
<p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val1</tt></i>:</span></td>
<td>the first LocationSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>val2</tt></i>:</span></td>
<td>the second LocationSet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>val1 once extended or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3>
<pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val)<br>
</pre>
<p>Removes an entry from an existing LocationSet list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the initial range set</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the index to remove</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting and ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br>
</pre>
<p>Create a new XPointer context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>here</tt></i>:</span></td>
<td>the node that directly contains the XPointer being evaluated or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>origin</tt></i>:</span></td>
<td>the element from which a user or program initiated traversal of the link, or NULL.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>set</tt></i>:</span></td>
<td>a node set</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the start NodePtr value</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the end NodePtr value or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>startindex</tt></i>:</span></td>
<td>the start index</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>endindex</tt></i>:</span></td>
<td>the ending index</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending object</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting node</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting point</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
</pre>
<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>start</tt></i>:</span></td>
<td>the starting point</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>the ending point</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3>
<pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
</pre>
<p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XPointer Parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
<td>the number of args</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3>
<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br>
</pre>
<p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the LocationSet value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�E�����0usr/share/gtk-doc/html/libxml2/libxml2-tree.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tree: interfaces for tree manipulation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">tree</span></h2>
<p>tree - interfaces for tree manipulation</p>
<p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
#define <a href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
#define <a href="#XML_XML_ID">XML_XML_ID</a>;
#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
#define <a href="#xmlRootNode">xmlRootNode</a>;
typedef struct _xmlAttr <a href="#xmlAttr">xmlAttr</a>;
typedef <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * <a href="#xmlAttrPtr">xmlAttrPtr</a>;
typedef struct _xmlAttribute <a href="#xmlAttribute">xmlAttribute</a>;
typedef enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>;
typedef <a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * <a href="#xmlAttributePtr">xmlAttributePtr</a>;
typedef enum <a href="#xmlAttributeType">xmlAttributeType</a>;
typedef struct _xmlBuf <a href="#xmlBuf">xmlBuf</a>;
typedef <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * <a href="#xmlBufPtr">xmlBufPtr</a>;
typedef struct _xmlBuffer <a href="#xmlBuffer">xmlBuffer</a>;
typedef enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>;
typedef <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * <a href="#xmlBufferPtr">xmlBufferPtr</a>;
typedef struct _xmlDOMWrapCtxt <a href="#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a>;
typedef <a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * <a href="#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>;
typedef struct _xmlDoc <a href="#xmlDoc">xmlDoc</a>;
typedef enum <a href="#xmlDocProperties">xmlDocProperties</a>;
typedef <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * <a href="#xmlDocPtr">xmlDocPtr</a>;
typedef struct _xmlDtd <a href="#xmlDtd">xmlDtd</a>;
typedef <a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * <a href="#xmlDtdPtr">xmlDtdPtr</a>;
typedef struct _xmlElement <a href="#xmlElement">xmlElement</a>;
typedef struct _xmlElementContent <a href="#xmlElementContent">xmlElementContent</a>;
typedef enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a>;
typedef <a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * <a href="#xmlElementContentPtr">xmlElementContentPtr</a>;
typedef enum <a href="#xmlElementContentType">xmlElementContentType</a>;
typedef <a href="libxml2-tree.html#xmlElement">xmlElement</a> * <a href="#xmlElementPtr">xmlElementPtr</a>;
typedef enum <a href="#xmlElementType">xmlElementType</a>;
typedef enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a>;
typedef struct _xmlEntity <a href="#xmlEntity">xmlEntity</a>;
typedef <a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * <a href="#xmlEntityPtr">xmlEntityPtr</a>;
typedef struct _xmlEnumeration <a href="#xmlEnumeration">xmlEnumeration</a>;
typedef <a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * <a href="#xmlEnumerationPtr">xmlEnumerationPtr</a>;
typedef struct _xmlID <a href="#xmlID">xmlID</a>;
typedef <a href="libxml2-tree.html#xmlID">xmlID</a> * <a href="#xmlIDPtr">xmlIDPtr</a>;
typedef struct _xmlNode <a href="#xmlNode">xmlNode</a>;
typedef <a href="libxml2-tree.html#xmlNode">xmlNode</a> * <a href="#xmlNodePtr">xmlNodePtr</a>;
typedef struct _xmlNotation <a href="#xmlNotation">xmlNotation</a>;
typedef <a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * <a href="#xmlNotationPtr">xmlNotationPtr</a>;
typedef struct _xmlNs <a href="#xmlNs">xmlNs</a>;
typedef <a href="libxml2-tree.html#xmlNs">xmlNs</a> * <a href="#xmlNsPtr">xmlNsPtr</a>;
typedef <a href="libxml2-tree.html#xmlElementType">xmlElementType</a> <a href="#xmlNsType">xmlNsType</a>;
typedef struct _xmlOutputBuffer <a href="#xmlOutputBuffer">xmlOutputBuffer</a>;
typedef <a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * <a href="#xmlOutputBufferPtr">xmlOutputBufferPtr</a>;
typedef struct _xmlParserCtxt <a href="#xmlParserCtxt">xmlParserCtxt</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * <a href="#xmlParserCtxtPtr">xmlParserCtxtPtr</a>;
typedef struct _xmlParserInput <a href="#xmlParserInput">xmlParserInput</a>;
typedef struct _xmlParserInputBuffer <a href="#xmlParserInputBuffer">xmlParserInputBuffer</a>;
typedef <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * <a href="#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>;
typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * <a href="#xmlParserInputPtr">xmlParserInputPtr</a>;
typedef struct _xmlRef <a href="#xmlRef">xmlRef</a>;
typedef <a href="libxml2-tree.html#xmlRef">xmlRef</a> * <a href="#xmlRefPtr">xmlRefPtr</a>;
typedef struct _xmlSAXHandler <a href="#xmlSAXHandler">xmlSAXHandler</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * <a href="#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>;
typedef struct _xmlSAXLocator <a href="#xmlSAXLocator">xmlSAXLocator</a>;
typedef <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a href="#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChild">xmlAddChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddChildList">xmlAddChildList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddNextSibling">xmlAddNextSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlAddSibling">xmlAddSibling</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
void	<a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufContent">xmlBufContent</a>		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufEnd">xmlBufEnd</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
int	<a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
size_t	<a href="#xmlBufNodeDump">xmlBufNodeDump</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
size_t	<a href="#xmlBufShrink">xmlBufShrink</a>			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len);
size_t	<a href="#xmlBufUse">xmlBufUse</a>			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
int	<a href="#xmlBufferAdd">xmlBufferAdd</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlBufferAddHead">xmlBufferAddHead</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
int	<a href="#xmlBufferCCat">xmlBufferCCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str);
int	<a href="#xmlBufferCat">xmlBufferCat</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferContent">xmlBufferContent</a>	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreate">xmlBufferCreate</a>		(void);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateSize">xmlBufferCreateSize</a>	(size_t size);
<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	<a href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>	(void * mem, <br>					 size_t size);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBufferDetach">xmlBufferDetach</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
int	<a href="#xmlBufferDump">xmlBufferDump</a>			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void	<a href="#xmlBufferEmpty">xmlBufferEmpty</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
void	<a href="#xmlBufferFree">xmlBufferFree</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
int	<a href="#xmlBufferGrow">xmlBufferGrow</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
int	<a href="#xmlBufferLength">xmlBufferLength</a>			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
int	<a href="#xmlBufferResize">xmlBufferResize</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size);
void	<a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
int	<a href="#xmlBufferShrink">xmlBufferShrink</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len);
void	<a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
void	<a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string);
void	<a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildQName">xmlBuildQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len);
unsigned long	<a href="#xmlChildElementCount">xmlChildElementCount</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCopyDoc">xmlCopyDoc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCopyDtd">xmlCopyDtd</a>		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespace">xmlCopyNamespace</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNode">xmlCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCopyNodeList">xmlCopyNodeList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyProp">xmlCopyProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlCopyPropList">xmlCopyPropList</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCreateIntSubset">xmlCreateIntSubset</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
int	<a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options);
int	<a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options);
void	<a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	<a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>	(void);
int	<a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options);
int	<a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNode">xmlDocCopyNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlDocDump">xmlDocDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format);
void	<a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format);
void	<a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size);
void	<a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding);
int	<a href="#xmlDocFormatDump">xmlDocFormatDump</a>		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocGetRootElement">xmlDocGetRootElement</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlDocSetRootElement">xmlDocSetRootElement</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
void	<a href="#xmlElemDump">xmlElemDump</a>			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlFirstElementChild">xmlFirstElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
void	<a href="#xmlFreeDoc">xmlFreeDoc</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
void	<a href="#xmlFreeDtd">xmlFreeDtd</a>			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
void	<a href="#xmlFreeNode">xmlFreeNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#xmlFreeNodeList">xmlFreeNodeList</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
void	<a href="#xmlFreeNs">xmlFreeNs</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
void	<a href="#xmlFreeNsList">xmlFreeNsList</a>			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
void	<a href="#xmlFreeProp">xmlFreeProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
void	<a href="#xmlFreePropList">xmlFreePropList</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>	(void);
int	<a href="#xmlGetCompressMode">xmlGetCompressMode</a>		(void);
int	<a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlGetIntSubset">xmlGetIntSubset</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlGetLastChild">xmlGetLastChild</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent);
long	<a href="#xmlGetLineNo">xmlGetLineNo</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNodePath">xmlGetNodePath</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	<a href="#xmlGetNsList">xmlGetNsList</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetNsProp">xmlGetNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlGetProp">xmlGetProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasNsProp">xmlHasNsProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlHasProp">xmlHasProp</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlIsBlankNode">xmlIsBlankNode</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
int	<a href="#xmlIsXHTML">xmlIsXHTML</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlLastElementChild">xmlLastElementChild</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCDataBlock">xmlNewCDataBlock</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewCharRef">xmlNewCharRef</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewChild">xmlNewChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewComment">xmlNewComment</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlNewDoc">xmlNewDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocComment">xmlNewDocComment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocFragment">xmlNewDocFragment</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNode">xmlNewDocNode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocPI">xmlNewDocPI</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewDocProp">xmlNewDocProp</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsProp">xmlNewNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewPI">xmlNewPI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlNewProp">xmlNewProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewReference">xmlNewReference</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewText">xmlNewText</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextChild">xmlNewTextChild</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewTextLen">xmlNewTextLen</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNextElementSibling">xmlNextElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
void	<a href="#xmlNodeAddContent">xmlNodeAddContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
int	<a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeDump">xmlNodeDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format);
void	<a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetBase">xmlNodeGetBase</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetContent">xmlNodeGetContent</a>	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeGetLang">xmlNodeGetLang</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
int	<a href="#xmlNodeIsText">xmlNodeIsText</a>			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNodeListGetString">xmlNodeListGetString</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine);
void	<a href="#xmlNodeSetBase">xmlNodeSetBase</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
void	<a href="#xmlNodeSetContent">xmlNodeSetContent</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
void	<a href="#xmlNodeSetLang">xmlNodeSetLang</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
void	<a href="#xmlNodeSetName">xmlNodeSetName</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlReconciliateNs">xmlReconciliateNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
int	<a href="#xmlRemoveProp">xmlRemoveProp</a>			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlReplaceNode">xmlReplaceNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#xmlSaveFile">xmlSaveFile</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
int	<a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#xmlSaveFileTo">xmlSaveFileTo</a>			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding);
int	<a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format);
int	<a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
int	<a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNs">xmlSearchNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
void	<a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
void	<a href="#xmlSetCompressMode">xmlSetCompressMode</a>		(int mode);
void	<a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode);
void	<a href="#xmlSetListDoc">xmlSetListDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
void	<a href="#xmlSetNs">xmlSetNs</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetNsProp">xmlSetNsProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	<a href="#xmlSetProp">xmlSetProp</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName2">xmlSplitQName2</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName3">xmlSplitQName3</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringGetNodeList">xmlStringGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int	<a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlUnsetProp">xmlUnsetProp</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlValidateNCName">xmlValidateNCName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateNMToken">xmlValidateNMToken</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateName">xmlValidateName</a>			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
int	<a href="#xmlValidateQName">xmlValidateQName</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="BASE_BUFFER_SIZE">Macro </a>BASE_BUFFER_SIZE</h3>
<pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
</pre>
<p>default buffer size 4000.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML2_NEW_BUFFER">Macro </a>LIBXML2_NEW_BUFFER</h3>
<pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
</pre>
<p>Macro used to express that the API use the new buffers for <a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was introduced in 2.9.0.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DOCB_DOCUMENT_NODE">Macro </a>XML_DOCB_DOCUMENT_NODE</h3>
<pre class="programlisting">#define <a href="#XML_DOCB_DOCUMENT_NODE">XML_DOCB_DOCUMENT_NODE</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3>
<pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
</pre>
<p>Macro to extract the content pointer of a node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3>
<pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
</pre>
<p>Macro to extract the line number of an element node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_LOCAL_NAMESPACE">Macro </a>XML_LOCAL_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
</pre>
<p>A namespace declaration node.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XML_ID">Macro </a>XML_XML_ID</h3>
<pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a>;
</pre>
<p>This is the name for the special xml:id <a href="libxml2-SAX.html#attribute">attribute</a></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3>
<pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
</pre>
<p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChildrenNode">Macro </a>xmlChildrenNode</h3>
<pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
</pre>
<p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRootNode">Macro </a>xmlRootNode</h3>
<pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a>;
</pre>
<p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttr">Structure </a>xmlAttr</h3>
<pre class="programlisting">struct _xmlAttr {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_NODE, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the property
    struct _xmlNode *	children	: the value of the property
    struct _xmlNode *	last	: NULL
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlAttr *	next	: next sibling link
    struct _xmlAttr *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: the <a href="libxml2-SAX.html#attribute">attribute</a> type if validating
    void *	psvi	: for type/PSVI information
} xmlAttr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttribute">Structure </a>xmlAttribute</h3>
<pre class="programlisting">struct _xmlAttribute {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Attribute name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    struct _xmlAttribute *	nexth	: next in hash table
    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: The <a href="libxml2-SAX.html#attribute">attribute</a> type
    <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>	def	: the default
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defaultValue	: or the default value
    <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	tree	: or the enumeration tree if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	elem	: Element holding the <a href="libxml2-SAX.html#attribute">attribute</a>
} xmlAttribute;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeDefault">Enum </a>xmlAttributeDefault</h3>
<pre class="programlisting">enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> {
    <a name="XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a> = 1
    <a name="XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a> = 2
    <a name="XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> = 3
    <a name="XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttributeType">Enum </a>xmlAttributeType</h3>
<pre class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
    <a name="XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a> = 1
    <a name="XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a> = 2
    <a name="XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a> = 3
    <a name="XML_ATTRIBUTE_IDREFS">XML_ATTRIBUTE_IDREFS</a> = 4
    <a name="XML_ATTRIBUTE_ENTITY">XML_ATTRIBUTE_ENTITY</a> = 5
    <a name="XML_ATTRIBUTE_ENTITIES">XML_ATTRIBUTE_ENTITIES</a> = 6
    <a name="XML_ATTRIBUTE_NMTOKEN">XML_ATTRIBUTE_NMTOKEN</a> = 7
    <a name="XML_ATTRIBUTE_NMTOKENS">XML_ATTRIBUTE_NMTOKENS</a> = 8
    <a name="XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> = 9
    <a name="XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a> = 10
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuf">Structure </a>xmlBuf</h3>
<pre class="programlisting">struct _xmlBuf {
The content of this structure is not made public by the API.
} xmlBuf;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
</pre>
<p>A pointer to a buffer structure, the actual structure internals are not public</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuffer">Structure </a>xmlBuffer</h3>
<pre class="programlisting">struct _xmlBuffer {
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: The buffer content UTF8
    unsigned int	use	: The buffer size used
    unsigned int	size	: The buffer size
    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc	: The realloc method
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	contentIO	: in IO mode we may have a different base
} xmlBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAllocationScheme">Enum </a>xmlBufferAllocationScheme</h3>
<pre class="programlisting">enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
    <a name="XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> = 1 /* double each time one need to grow */
    <a name="XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> = 2 /* grow only to the minimal size */
    <a name="XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a> = 3 /* immutable buffer */
    <a name="XML_BUFFER_ALLOC_IO">XML_BUFFER_ALLOC_IO</a> = 4 /* special allocation scheme used for I/O */
    <a name="XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> = 5 /* exact up to a threshold, and doubleit thereafter */
    <a name="XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a> = 6 /*  limit the upper size of the buffer */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3>
<pre class="programlisting">struct _xmlDOMWrapCtxt {
    void *	_private	: * The type of this context, just in case we need specialized * context
    int	type	: * Internal namespace map used for various operations. *
    void *	namespaceMap	: * Use this one to acquire an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> intended for node-&gt;ns. * (Note t
    <a href="libxml2-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	getNsForNodeFunc
} xmlDOMWrapCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCtxtPtr">Typedef </a>xmlDOMWrapCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * xmlDOMWrapCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDoc">Structure </a>xmlDoc</h3>
<pre class="programlisting">struct _xmlDoc {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DOCUMENT_NODE, must be second !
    char *	name	: name/filename/URI of the document
    struct _xmlNode *	children	: the document tree
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: autoreference to itself End of common part
    int	compression	: level of zlib compression
    int	standalone	: standalone document (no external refs) 1 if standalone="yes" 0 if sta
    struct _xmlDtd *	intSubset	: the document internal subset
    struct _xmlDtd *	extSubset	: the document external subset
    struct _xmlNs *	oldNs	: Global namespace, the old way
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: external initial encoding, if any
    void *	ids	: Hash table for ID attributes if any
    void *	refs	: Hash table for IDREFs attributes if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URL	: The URI for that document
    int	charset	: Internal flag for charset handling, actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
    struct _xmlDict *	dict	: dict used to allocate names or NULL
    void *	psvi	: for type/PSVI information
    int	parseFlags	: set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document
    int	properties	: set of <a href="libxml2-tree.html#xmlDocProperties">xmlDocProperties</a> for this document set at the end of parsing
} xmlDoc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocProperties">Enum </a>xmlDocProperties</h3>
<pre class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
    <a name="XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a> = 1 /* document is XML well formed */
    <a name="XML_DOC_NSVALID">XML_DOC_NSVALID</a> = 2 /* document is Namespace valid */
    <a name="XML_DOC_OLD10">XML_DOC_OLD10</a> = 4 /* parsed with old XML-1.0 parser */
    <a name="XML_DOC_DTDVALID">XML_DOC_DTDVALID</a> = 8 /* DTD validation was successful */
    <a name="XML_DOC_XINCLUDE">XML_DOC_XINCLUDE</a> = 16 /* XInclude substitution was done */
    <a name="XML_DOC_USERBUILT">XML_DOC_USERBUILT</a> = 32 /* Document was built using the API and not by parsing an instance */
    <a name="XML_DOC_INTERNAL">XML_DOC_INTERNAL</a> = 64 /* built for internal processing */
    <a name="XML_DOC_HTML">XML_DOC_HTML</a> = 128 /*  parsed or built HTML document */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDtd">Structure </a>xmlDtd</h3>
<pre class="programlisting">struct _xmlDtd {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DTD_NODE, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Name of the DTD
    struct _xmlNode *	children	: the value of the property link
    struct _xmlNode *	last	: last child link
    struct _xmlDoc *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    void *	notations	: Hash table for notations if any
    void *	elements	: Hash table for elements if any
    void *	attributes	: Hash table for attributes if any
    void *	entities	: Hash table for entities if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC DTD
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC DTD
    void *	pentities	: Hash table for param entities if any
} xmlDtd;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElement">Structure </a>xmlElement</h3>
<pre class="programlisting">struct _xmlElement {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ELEMENT_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
    struct _xmlNode *	children	: NULL
    struct _xmlNode *	last	: NULL
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>	etype	: The type
    <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	content	: the allowed element content
    <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	attributes	: List of the declared attributes
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: the validating regexp
    void *	contModel
} xmlElement;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContent">Structure </a>xmlElementContent</h3>
<pre class="programlisting">struct _xmlElementContent {
    <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a>	type	: PCDATA, ELEMENT, SEQ or OR
    <a href="libxml2-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur	: ONCE, OPT, MULT or PLUS
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
    struct _xmlElementContent *	c1	: first child
    struct _xmlElementContent *	c2	: second child
    struct _xmlElementContent *	parent	: parent
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: Namespace prefix
} xmlElementContent;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentOccur">Enum </a>xmlElementContentOccur</h3>
<pre class="programlisting">enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a> {
    <a name="XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a> = 1
    <a name="XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a> = 2
    <a name="XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a> = 3
    <a name="XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentPtr">Typedef </a>xmlElementContentPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * xmlElementContentPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementContentType">Enum </a>xmlElementContentType</h3>
<pre class="programlisting">enum <a href="#xmlElementContentType">xmlElementContentType</a> {
    <a name="XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a> = 1
    <a name="XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a> = 2
    <a name="XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a> = 3
    <a name="XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementType">Enum </a>xmlElementType</h3>
<pre class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
    <a name="XML_ELEMENT_NODE">XML_ELEMENT_NODE</a> = 1
    <a name="XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a> = 2
    <a name="XML_TEXT_NODE">XML_TEXT_NODE</a> = 3
    <a name="XML_CDATA_SECTION_NODE">XML_CDATA_SECTION_NODE</a> = 4
    <a name="XML_ENTITY_REF_NODE">XML_ENTITY_REF_NODE</a> = 5
    <a name="XML_ENTITY_NODE">XML_ENTITY_NODE</a> = 6
    <a name="XML_PI_NODE">XML_PI_NODE</a> = 7
    <a name="XML_COMMENT_NODE">XML_COMMENT_NODE</a> = 8
    <a name="XML_DOCUMENT_NODE">XML_DOCUMENT_NODE</a> = 9
    <a name="XML_DOCUMENT_TYPE_NODE">XML_DOCUMENT_TYPE_NODE</a> = 10
    <a name="XML_DOCUMENT_FRAG_NODE">XML_DOCUMENT_FRAG_NODE</a> = 11
    <a name="XML_NOTATION_NODE">XML_NOTATION_NODE</a> = 12
    <a name="XML_HTML_DOCUMENT_NODE">XML_HTML_DOCUMENT_NODE</a> = 13
    <a name="XML_DTD_NODE">XML_DTD_NODE</a> = 14
    <a name="XML_ELEMENT_DECL">XML_ELEMENT_DECL</a> = 15
    <a name="XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a> = 16
    <a name="XML_ENTITY_DECL">XML_ENTITY_DECL</a> = 17
    <a name="XML_NAMESPACE_DECL">XML_NAMESPACE_DECL</a> = 18
    <a name="XML_XINCLUDE_START">XML_XINCLUDE_START</a> = 19
    <a name="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20 /*  XML_DOCB_DOCUMENT_NODE= 21 removed */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3>
<pre class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
    <a name="XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a> = 0
    <a name="XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a> = 1
    <a name="XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a> = 2
    <a name="XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a> = 3
    <a name="XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntity">Structure </a>xmlEntity</h3>
<pre class="programlisting">struct _xmlEntity {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ENTITY_DECL, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Entity name
    struct _xmlNode *	children	: First child link
    struct _xmlNode *	last	: Last child link
    struct _xmlDtd *	parent	: -&gt; DTD
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	orig	: content without ref substitution
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: content or ndata if unparsed
    int	length	: the content length
    <a href="libxml2-entities.html#xmlEntityType">xmlEntityType</a>	etype	: The entity type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC Entity
    struct _xmlEntity *	nexte	: unused
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
    int	owner	: does the entity own the childrens
    int	checked	: was the entity content checked this is also used to count entities *
} xmlEntity;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEnumeration">Structure </a>xmlEnumeration</h3>
<pre class="programlisting">struct _xmlEnumeration {
    struct _xmlEnumeration *	next	: next one
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
} xmlEnumeration;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEnumerationPtr">Typedef </a>xmlEnumerationPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * xmlEnumerationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlID">Structure </a>xmlID</h3>
<pre class="programlisting">struct _xmlID {
    struct _xmlID *	next	: next ID
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The ID name
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
    int	lineno	: The line number if attr is not available
    struct _xmlDoc *	doc	: The document holding the ID
} xmlID;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNode">Structure </a>xmlNode</h3>
<pre class="programlisting">struct _xmlNode {
    void *	_private	: application data
    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: type number, must be second !
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the node, or the entity
    struct _xmlNode *	children	: parent-&gt;childs link
    struct _xmlNode *	last	: last child link
    struct _xmlNode *	parent	: child-&gt;parent link
    struct _xmlNode *	next	: next sibling link
    struct _xmlNode *	prev	: previous sibling link
    struct _xmlDoc *	doc	: the containing document End of common part
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: the content
    struct _xmlAttr *	properties	: properties list
    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	nsDef	: namespace definitions on this node
    void *	psvi	: for type/PSVI information
    unsigned short	line	: line number
    unsigned short	extra	: extra data for XPath/XSLT
} xmlNode;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotation">Structure </a>xmlNotation</h3>
<pre class="programlisting">struct _xmlNotation {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Notation name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	PublicID	: Public identifier, if any
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: System identifier, if any
} xmlNotation;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNs">Structure </a>xmlNs</h3>
<pre class="programlisting">struct _xmlNs {
    struct _xmlNs *	next	: next Ns link for this node
    <a href="libxml2-tree.html#xmlNsType">xmlNsType</a>	type	: global or local
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	href	: URL for the namespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: prefix for the namespace
    void *	_private	: application data
    struct _xmlDoc *	context	: normally an <a href="libxml2-tree.html#xmlDoc">xmlDoc</a>
} xmlNs;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNsType">Typedef </a>xmlNsType</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3>
<pre class="programlisting">struct _xmlOutputBuffer {
    void *	context
    <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>	writecallback
    <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>	closecallback
    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8 or ISOLatin
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	conv	: if encoder != NULL buffer for output
    int	written	: total number of byte written
    int	error
} xmlOutputBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferPtr">Typedef </a>xmlOutputBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * xmlOutputBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3>
<pre class="programlisting">struct _xmlParserCtxt {
    struct _xmlSAXHandler *	sax	: The SAX handler
    void *	userData	: For SAX interface only, used by DOM build
    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc	: the document being built
    int	wellFormed	: is the document well formed
    int	replaceEntities	: shall we replace entities ?
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the declared encoding, if any
    int	standalone	: standalone document
    int	html	: an HTML(1) document * 3 is HTML after &lt;head&gt; * 10 is HTML after &lt;body
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input	: Current input stream
    int	inputNr	: Number of current input streams
    int	inputMax	: Max number of input streams
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> *	inputTab	: stack of inputs Node analysis stack only used for DOM building
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
    int	record_info	: Whether node info should be kept
    <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>	node_seq	: info about each node parsed
    int	errNo	: error code
    int	hasExternalSubset	: <a href="libxml2-SAX.html#reference">reference</a> and external subset
    int	hasPErefs	: the internal subset has PE refs
    int	external	: are we parsing an external entity
    int	valid	: is the document valid
    int	validate	: shall we try to validate ?
    <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a>	vctxt	: The validity context
    <a href="libxml2-parser.html#xmlParserInputState">xmlParserInputState</a>	instate	: current type of input
    int	token	: next char look-ahead
    char *	directory	: the data directory Node name stack
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Current parsed Node
    int	nameNr	: Depth of the parsing stack
    int	nameMax	: Max depth of the parsing stack
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nameTab	: array of nodes
    long	nbChars	: unused
    long	checkIndex	: used by progressive parsing lookup
    int	keepBlanks	: ugly but ...
    int	disableSAX	: SAX callbacks are disabled
    int	inSubset	: Parsing is in int 1/ext 2 subset
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	intSubName	: name of subset
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubURI	: URI of external subset
    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubSystem	: SYSTEM ID of external subset xml:space values
    int *	space	: Should the parser preserve spaces
    int	spaceNr	: Depth of the parsing stack
    int	spaceMax	: Max depth of the parsing stack
    int *	spaceTab	: array of space infos
    int	depth	: to prevent entity substitution loops
    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	entity	: used to check entities boundaries
    int	charset	: encoding of the in-memory content actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
    int	nodelen	: Those two fields are there to
    int	nodemem	: Speed up large node parsing
    int	pedantic	: signal pedantic warnings
    void *	_private	: For user data, libxml won't touch it
    int	loadsubset	: should the external subset be loaded
    int	linenumbers	: set line number in element content
    void *	catalogs	: document's own catalog
    int	recovery	: run in recovery mode
    int	progressive	: is this a progressive parsing
    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary for the parser
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	atts	: array for the attributes callbacks
    int	maxatts	: the size of the array
    int	docdict	: * pre-interned strings *
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xmlns
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml_ns	: * Everything below is used only by the new SAX mode *
    int	sax2	: operating in the new SAX mode
    int	nsNr	: the number of inherited namespaces
    int	nsMax	: the size of the arrays
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nsTab	: the array of prefix/namespace name
    int *	attallocs	: which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
    <a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> *	pushTab	: array of data for push
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsDefault	: defaulted attributes if any
    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsSpecial	: non-CDATA attributes if any
    int	nsWellFormed	: is the document XML Namespace okay
    int	options	: * Those fields are needed only for streaming parsing so far *
    int	dictNames	: Use dictionary names for the tree
    int	freeElemsNr	: number of freed element nodes
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	freeElems	: List of freed element nodes
    int	freeAttrsNr	: number of freed attributes nodes
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs	: * the complete error information for the last error. *
    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError
    <a href="libxml2-parser.html#xmlParserMode">xmlParserMode</a>	parseMode	: the parser mode
    unsigned long	nbentities	: number of entities references
    unsigned long	sizeentities	: size of parsed entities for use by HTML non-recursive parser
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfo	: Current NodeInfo
    int	nodeInfoNr	: Depth of the parsing stack
    int	nodeInfoMax	: Max depth of the parsing stack
    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfoTab	: array of nodeInfos
    int	input_id	: we need to label inputs
    unsigned long	sizeentcopy	: volume of entity copy
} xmlParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInput">Structure </a>xmlParserInput</h3>
<pre class="programlisting">struct _xmlParserInput {
    <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf	: UTF-8 encoded buffer
    const char *	filename	: The file analyzed, if any
    const char *	directory	: the directory/base of the file
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base of the array to parse
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: Current char being parsed
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	end	: end of the array to parse
    int	length	: length if known
    int	line	: Current line
    int	col	: * NOTE: consumed is only tested for equality in the parser code, *
    unsigned long	consumed	: How many xmlChars already consumed
    <a href="libxml2-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	free	: function to deallocate the base
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the encoding string for entity
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the version string for entity
    int	standalone	: Was that entity marked standalone
    int	id	: an unique identifier for the entity
} xmlParserInput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBuffer">Structure </a>xmlParserInputBuffer</h3>
<pre class="programlisting">struct _xmlParserInputBuffer {
    void *	context
    <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>	readcallback
    <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>	closecallback
    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8
    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	raw	: if encoder != NULL buffer for raw input
    int	compressed	: -1=unknown, 0=not compressed, 1=compressed
    int	error
    unsigned long	rawconsumed	: amount consumed from raw
} xmlParserInputBuffer;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferPtr">Typedef </a>xmlParserInputBufferPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * xmlParserInputBufferPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputPtr">Typedef </a>xmlParserInputPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * xmlParserInputPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRef">Structure </a>xmlRef</h3>
<pre class="programlisting">struct _xmlRef {
    struct _xmlRef *	next	: next Ref
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The Ref name
    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
    int	lineno	: The line number if attr is not available
} xmlRef;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3>
<pre class="programlisting">struct _xmlSAXHandler {
    <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>	internalSubset
    <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>	isStandalone
    <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>	hasInternalSubset
    <a href="libxml2-parser.html#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>	hasExternalSubset
    <a href="libxml2-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a>	resolveEntity
    <a href="libxml2-parser.html#getEntitySAXFunc">getEntitySAXFunc</a>	getEntity
    <a href="libxml2-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a>	entityDecl
    <a href="libxml2-parser.html#notationDeclSAXFunc">notationDeclSAXFunc</a>	notationDecl
    <a href="libxml2-parser.html#attributeDeclSAXFunc">attributeDeclSAXFunc</a>	attributeDecl
    <a href="libxml2-parser.html#elementDeclSAXFunc">elementDeclSAXFunc</a>	elementDecl
    <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
    <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
    <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
    <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
    <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
    <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
    <a href="libxml2-parser.html#charactersSAXFunc">charactersSAXFunc</a>	characters
    <a href="libxml2-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>	ignorableWhitespace
    <a href="libxml2-parser.html#processingInstructionSAXFunc">processingInstructionSAXFunc</a>	processingInstruction
    <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
    <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
    <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
    <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
    <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
    unsigned int	initialized	: The following fields are extensions available only on version 2
    void *	_private
    <a href="libxml2-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a>	startElementNs
    <a href="libxml2-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>	endElementNs
    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	serror
} xmlSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3>
<pre class="programlisting">struct _xmlSAXLocator {
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getPublicId)	getPublicId
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getSystemId)	getSystemId
    int(*getLineNumber)	getLineNumber
    int(*getColumnNumber)	getColumnNumber
} xmlSAXLocator;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapAcquireNsFunction"></a>Function type xmlDOMWrapAcquireNsFunction</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlDOMWrapAcquireNsFunction	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br>
</pre>
<p>A function called to acquire namespaces (xmlNs) from the wrapper.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a DOM wrapper context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the context node (element or attribute)</td>
</tr>
<tr>
<td><span class="term"><i><tt>nsName</tt></i>:</span></td>
<td>the requested namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td>
<td>the requested namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddChild"></a>xmlAddChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. All tree manipulation functions can safely move nodes within a document. But when moving nodes from one document to another, references to namespaces in element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes are NOT fixed. In this case, you MUST call <a href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after the move operation to avoid memory errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the child or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddChildList"></a>xmlAddChildList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChildList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be freed) See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first node in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last child or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new node or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If the new node was already inserted in a document it is first unlinked from its existing context. If the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new node or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddSibling"></a>xmlAddSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) If the new element was already inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the child node</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the new node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new element or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAttrSerializeTxtContent"></a>xmlAttrSerializeTxtContent ()</h3>
<pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>Serialize text <a href="libxml2-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> node</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the text content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufContent"></a>xmlBufContent ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufContent		(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br>
</pre>
<p>Function to extract the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufEnd"></a>xmlBufEnd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufEnd		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
</pre>
<p>Function to extract the end of the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the end of the internal content or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufGetNodeContent"></a>xmlBufGetNodeContent ()</h3>
<pre class="programlisting">int	xmlBufGetNodeContent		(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buf with this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>a buffer <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufNodeDump"></a>xmlBufNodeDump ()</h3>
<pre class="programlisting">size_t	xmlBufNodeDump			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
</pre>
<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufShrink"></a>xmlBufShrink ()</h3>
<pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len)<br>
</pre>
<p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte removed or 0 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufUse"></a>xmlBufUse ()</h3>
<pre class="programlisting">size_t	xmlBufUse			(const <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
</pre>
<p>Function to get the length of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the length of data in the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3>
<pre class="programlisting">int	xmlBufferAdd			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of #xmlChar to add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3>
<pre class="programlisting">int	xmlBufferAddHead		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
</pre>
<p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of #xmlChar to add</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3>
<pre class="programlisting">int	xmlBufferCCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * str)<br>
</pre>
<p>Append a zero terminated C string to an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the C char string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCat"></a>xmlBufferCat ()</h3>
<pre class="programlisting">int	xmlBufferCat			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Append a zero terminated string to an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to add to</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the #xmlChar string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferContent"></a>xmlBufferContent ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferContent	(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
</pre>
<p>Function to extract the content of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreate		(void)<br>
</pre>
<p>routine to create an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateSize	(size_t size)<br>
</pre>
<p>routine to create an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>initial size of buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>	xmlBufferCreateStatic	(void * mem, <br>					 size_t size)<br>
</pre>
<p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and is expected to be present until the end of the buffer lifetime.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory area</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferDetach"></a>xmlBufferDetach ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBufferDetach		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty content. This doesn't work with immutable buffers as they can't be reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous string contained by the buffer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferDump"></a>xmlBufferDump ()</h3>
<pre class="programlisting">int	xmlBufferDump			(FILE * file, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Dumps an XML buffer to a FILE *.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of #xmlChar written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3>
<pre class="programlisting">void	xmlBufferEmpty			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>empty a buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferFree"></a>xmlBufferFree ()</h3>
<pre class="programlisting">void	xmlBufferFree			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
</pre>
<p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3>
<pre class="programlisting">int	xmlBufferGrow			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
</pre>
<p>Grow the available space of an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the minimum free size to allocate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new available space or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferLength"></a>xmlBufferLength ()</h3>
<pre class="programlisting">int	xmlBufferLength			(const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
</pre>
<p>Function to get the length of a buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the length of data in the internal content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferResize"></a>xmlBufferResize ()</h3>
<pre class="programlisting">int	xmlBufferResize			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size)<br>
</pre>
<p>Resize a buffer to accommodate minimum size of @size.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to resize</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the desired size</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of problems, 1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3>
<pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
</pre>
<p>Sets the allocation scheme for this buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to tune</td>
</tr>
<tr>
<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
<td>allocation scheme to use</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3>
<pre class="programlisting">int	xmlBufferShrink			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
</pre>
<p>Remove the beginning of an XML buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the buffer to dump</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of #xmlChar removed, or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3>
<pre class="programlisting">void	xmlBufferWriteCHAR		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>routine which manages and grows an output buffer. This one adds xmlChars at the end of the buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3>
<pre class="programlisting">void	xmlBufferWriteChar		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const char * string)<br>
</pre>
<p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3>
<pre class="programlisting">void	xmlBufferWriteQuotedString	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
</pre>
<p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar string, checking first if it holds quote or double-quotes internally</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>string</tt></i>:</span></td>
<td>the string to add</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildQName"></a>xmlBuildQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>					 int len)<br>
</pre>
<p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ncname</tt></i>:</span></td>
<td>the Name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>memory</tt></i>:</span></td>
<td>preallocated memory</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>preallocated memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChildElementCount"></a>xmlChildElementCount ()</h3>
<pre class="programlisting">unsigned long	xmlChildElementCount	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the current number of child nodes of that element which are element nodes. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the count of element child or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCopyDoc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int recursive)<br>
</pre>
<p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, namespaces and entities.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>recursive</tt></i>:</span></td>
<td>if not zero do a recursive copy.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlDocPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCopyDtd		(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
</pre>
<p>Do a copy of the dtd.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
<td>the dtd</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlDtdPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespace	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Do a copy of the namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNsPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlCopyNamespaceList	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Do a copy of an namespace list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNsPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNode"></a>xmlCopyNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int extended)<br>
</pre>
<p>Do a copy of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>extended</tt></i>:</span></td>
<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCopyNodeList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the first node in the list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyProp"></a>xmlCopyProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Do a copy of the attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the element where the <a href="libxml2-SAX.html#attribute">attribute</a> will be grafted</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlAttrPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the element where the attributes will be grafted</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlAttrPtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCreateIntSubset	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Create the internal subset of a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the DTD name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external (PUBLIC) ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new DTD structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapAdoptNode"></a>xmlDOMWrapAdoptNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options)<br>
</pre>
<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the optional context for custom processing</td>
</tr>
<tr>
<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
<td>the optional sourceDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to start with</td>
</tr>
<tr>
<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
<td>the destination doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
<td>the optional new parent of @node in @destDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapCloneNode"></a>xmlDOMWrapCloneNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options)<br>
</pre>
<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the optional context for custom processing</td>
</tr>
<tr>
<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
<td>the optional sourceDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to start with</td>
</tr>
<tr>
<td><span class="term"><i><tt>resNode</tt></i>:</span></td>
<td>the clone of the given @node</td>
</tr>
<tr>
<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
<td>the destination doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
<td>the optional new parent of @node in @destDoc</td>
</tr>
<tr>
<td><span class="term"><i><tt>deep</tt></i>:</span></td>
<td>descend into child if set</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapFreeCtxt"></a>xmlDOMWrapFreeCtxt ()</h3>
<pre class="programlisting">void	xmlDOMWrapFreeCtxt		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br>
</pre>
<p>Frees the DOM-wrapper context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the DOM-wrapper context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapNewCtxt"></a>xmlDOMWrapNewCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>	xmlDOMWrapNewCtxt	(void)<br>
</pre>
<p>Allocates and initializes a new DOM-wrapper context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapReconcileNamespaces"></a>xmlDOMWrapReconcileNamespaces ()</h3>
<pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options)<br>
</pre>
<p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>DOM wrapper context, unused at the moment</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the element-node</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>option flags</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if succeeded, -1 otherwise and on API/internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDOMWrapRemoveNode"></a>xmlDOMWrapRemoveNode ()</h3>
<pre class="programlisting">int	xmlDOMWrapRemoveNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int options)<br>
</pre>
<p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This function was not intensively tested.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a DOM wrapper context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the doc</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node to be removed.</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>set of options, unused at the moment</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extended)<br>
</pre>
<p>Do a copy of the node to a given document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>extended</tt></i>:</span></td>
<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and namespaces (when applicable)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocCopyNodeList"></a>xmlDocCopyNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocCopyNodeList	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Do a recursive copy of the node list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the target document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the first node in the list.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlNodePtr, or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDump"></a>xmlDocDump ()</h3>
<pre class="programlisting">int	xmlDocDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an XML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3>
<pre class="programlisting">void	xmlDocDumpFormatMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size, <br>					 int format)<br>
</pre>
<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3>
<pre class="programlisting">void	xmlDocDumpFormatMemoryEnc	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding, <br>					 int format)<br>
</pre>
<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
<td>Document to generate XML text from</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>Memory pointer for allocated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
<td>Length of the generated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
<td>Character encoding to use when generating XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3>
<pre class="programlisting">void	xmlDocDumpMemory		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>					 int * size)<br>
</pre>
<p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not included in the returned size.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>OUT: the memory pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>OUT: the memory length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3>
<pre class="programlisting">void	xmlDocDumpMemoryEnc		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>					 int * doc_txt_len, <br>					 const char * txt_encoding)<br>
</pre>
<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
<td>Document to generate XML text from</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
<td>Memory pointer for allocated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
<td>Length of the generated XML text</td>
</tr>
<tr>
<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
<td>Character encoding to use when generating XML text</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3>
<pre class="programlisting">int	xmlDocFormatDump		(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
</pre>
<p>Dump an XML document to an open FILE.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocGetRootElement	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the #xmlNodePtr for the root or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlDocSetRootElement	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br>
</pre>
<p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc ...).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>root</tt></i>:</span></td>
<td>the new document root element, if root is NULL no action is taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the old root element if any was found, NULL if root was NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlElemDump"></a>xmlElemDump ()</h3>
<pre class="programlisting">void	xmlElemDump			(FILE * f, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the FILE * for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFirstElementChild"></a>xmlFirstElementChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlFirstElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the first child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first element child or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3>
<pre class="programlisting">void	xmlFreeDoc			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Free up all the structures used by a document, tree included.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>pointer to the document</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3>
<pre class="programlisting">void	xmlFreeDtd			(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br>
</pre>
<p>Free a DTD structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the DTD structure to free up</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNode"></a>xmlFreeNode ()</h3>
<pre class="programlisting">void	xmlFreeNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child from the list, use xmlUnlinkNode() first.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3>
<pre class="programlisting">void	xmlFreeNodeList			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first node in the list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNs"></a>xmlFreeNs ()</h3>
<pre class="programlisting">void	xmlFreeNs			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Free up the structures associated to a namespace</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the namespace pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3>
<pre class="programlisting">void	xmlFreeNsList			(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
</pre>
<p>Free up all the structures associated to the chained namespaces.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first namespace pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeProp"></a>xmlFreeProp ()</h3>
<pre class="programlisting">void	xmlFreeProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Free one attribute, all the content is freed too</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePropList"></a>xmlFreePropList ()</h3>
<pre class="programlisting">void	xmlFreePropList			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Free a property and all its siblings, all the children are freed too.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the first property in the list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br>
</pre>
<p>Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current allocation scheme</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3>
<pre class="programlisting">int	xmlGetCompressMode		(void)<br>
</pre>
<p>get the default compression mode used, ZLIB based.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 (uncompressed) to 9 (max compression)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3>
<pre class="programlisting">int	xmlGetDocCompressMode		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>get the compression ratio for a document, ZLIB based</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 (uncompressed) to 9 (max compression)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlGetIntSubset		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
</pre>
<p>Get the internal subset of a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the DTD structure or NULL if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlGetLastChild		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br>
</pre>
<p>Search the last child of a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last child or NULL if none.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3>
<pre class="programlisting">long	xmlGetLineNo			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>valid node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the line number if successful, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml2-SAX.html#attribute">attribute</a> in no namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNodePath		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Build a structure based Path for the given node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new path or NULL in case of error. The caller must free the returned string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNsList"></a>xmlGetNsList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	xmlGetNsList		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Search all the namespace applying to a given element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no namespace if defined</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the URI of the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetProp"></a>xmlGetProp ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search for an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off. Note that a namespace of NULL indicates to use the default namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the URI of the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHasProp"></a>xmlHasProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Search an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values unless DTD use has been turned off.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3>
<pre class="programlisting">int	xmlIsBlankNode			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 yes, 0 no</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3>
<pre class="programlisting">int	xmlIsXHTML			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br>
</pre>
<p>Try to find if the document correspond to an XHTML DTD</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>systemID</tt></i>:</span></td>
<td>the system identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
<td>the public identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLastElementChild"></a>xmlLastElementChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlLastElementChild	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
</pre>
<p>Finds the last child node of that element which is a Element node Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last element child or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCDataBlock	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Creation of a new node containing a CDATA block.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the CDATA block content content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the block</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the char ref string, starting with # or "&amp;# ... ;"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewChild"></a>xmlNewChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the child</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML content of the child if any.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewComment"></a>xmlNewComment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Use of this function is DISCOURAGED in favor of xmlNewDocComment. Creation of a new node containing a comment.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDoc"></a>xmlNewDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlNewDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br>
</pre>
<p>Creates a new XML document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocFragment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Creation of a new Fragment node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document owning the fragment</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNodeEatName	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the XML text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocPI"></a>xmlNewDocPI ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocPI		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a processing instruction element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the target document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the processing instruction name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocRawNode	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocText"></a>xmlNewDocText ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocText		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new text node within a document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocTextLen	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Creation of a new text node with an extra content length parameter. The text node pertain to a given document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the text len.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewDtd"></a>xmlNewDtd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlNewDtd		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the DTD name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new DTD structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document carrying the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the URI associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix for the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL this functionality had been removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNode"></a>xmlNewNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of xmlNewDocNode.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNodeEatName	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of xmlNewDocNodeEatName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the node name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's name.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNs"></a>xmlNewNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewNs		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use href==NULL in the case of an element creation where the namespace was not defined.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the element carrying the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the URI associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix for the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new namespace pointer or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property tagged with a namespace and carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsPropEatName	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property tagged with a namespace and carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewPI"></a>xmlNewPI ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewPI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a processing instruction element. Use of this function is DISCOURAGED in favor of xmlNewDocPI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the processing instruction name</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the PI content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewProp"></a>xmlNewProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Create a new property carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the holding node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewReference"></a>xmlNewReference ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#reference">reference</a> name, or the <a href="libxml2-SAX.html#reference">reference</a> string with &amp; and ;</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewText"></a>xmlNewText ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewText		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new text node. Use of this function is DISCOURAGED in favor of xmlNewDocText.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if @content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity representations.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>the parent node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the child</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content of the child if any.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewTextLen		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen. Creation of a new text node with an extra parameter for the content's length</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the text content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the text len.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new node object.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNextElementSibling"></a>xmlNextElementSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNextElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next element sibling or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3>
<pre class="programlisting">void	xmlNodeAddContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>extra content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3>
<pre class="programlisting">void	xmlNodeAddContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>extra content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size of @content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeBufGetContent"></a>xmlNodeBufGetContent ()</h3>
<pre class="programlisting">int	xmlNodeBufGetContent		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted. Fills up the buffer @buffer with this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeDump"></a>xmlNodeDump ()</h3>
<pre class="programlisting">int	xmlNodeDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format)<br>
</pre>
<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written to the buffer or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3>
<pre class="programlisting">void	xmlNodeDumpOutput		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int level, <br>					 int format, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>the XML buffer output</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>level</tt></i>:</span></td>
<td>the imbrication level for indenting</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>is formatting allowed</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>an optional encoding string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetBase		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base (5.1.3), use doc-&gt;URL in this case</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document the node pertains to</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetContent	(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references are substituted.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3>
<pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
</pre>
<p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being checked</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3>
<pre class="programlisting">int	xmlNodeIsText			(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
</pre>
<p>Is this node a Text node ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 yes, 0 no</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
</pre>
<p>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a Node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
<td>should we replace entity contents or show their external form</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
</pre>
<p>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>a Node list</td>
</tr>
<tr>
<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
<td>should we replace entity contents or show their external form</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3>
<pre class="programlisting">void	xmlNodeSetBase			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri)<br>
</pre>
<p>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>the new base URI</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3>
<pre class="programlisting">void	xmlNodeSetContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the new value of the content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3>
<pre class="programlisting">void	xmlNodeSetContentLen		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. xmlEncodeSpecialChars().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being modified</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the new value of the content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size of @content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3>
<pre class="programlisting">void	xmlNodeSetLang			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
</pre>
<p>Set the language of a node, i.e. the values of the xml:lang attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>lang</tt></i>:</span></td>
<td>the language description</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3>
<pre class="programlisting">void	xmlNodeSetName			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Set (or reset) the name of a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the new tag name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3>
<pre class="programlisting">void	xmlNodeSetSpacePreserve		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val)<br>
</pre>
<p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node being changed</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the xml:space value ("0": default, 1: "preserve")</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPreviousElementSibling"></a>xmlPreviousElementSibling ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlPreviousElementSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Finds the first closest previous sibling of the node which is an element node. Note the handling of entities references is different than in the W3C DOM element traversal spec since we don't have back <a href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous element sibling or NULL if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3>
<pre class="programlisting">int	xmlReconciliateNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
</pre>
<p>This function checks that all the namespaces declared within the given tree are properly declared. This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on @tree at the top of the given subtree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node defining the subtree to reconciliate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of namespace declarations created or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3>
<pre class="programlisting">int	xmlRemoveProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
<p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace definition attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlReplaceNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Unlink the old node from its current context, prune the new one at the same place. If @cur was already inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in xmlAddChild.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the old node</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the @old node</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFile"></a>xmlSaveFile ()</h3>
<pre class="programlisting">int	xmlSaveFile			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
</pre>
<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3>
<pre class="programlisting">int	xmlSaveFileEnc			(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML document, converting it to the given encoding</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the name of an encoding (or NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3>
<pre class="programlisting">int	xmlSaveFileTo			(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding)<br>
</pre>
<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output I/O buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding if any assuming the I/O layer handles the transcoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3>
<pre class="programlisting">int	xmlSaveFormatFile		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 int format)<br>
</pre>
<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename (or URL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3>
<pre class="programlisting">int	xmlSaveFormatFileEnc		(const char * filename, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an XML document to a file or an URL.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URL to output</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document being saved</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the name of the encoding to use or NULL.</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces be added.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3>
<pre class="programlisting">int	xmlSaveFormatFileTo		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>					 const char * encoding, <br>					 int format)<br>
</pre>
<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not available after this call.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an output I/O buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding if any assuming the I/O layer handles the transcoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>format</tt></i>:</span></td>
<td>should formatting spaces been added</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of failure.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSearchNs"></a>xmlSearchNs ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
</pre>
<p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you will be in troubles !!! A warning is generated to cover this case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
<td>the namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace pointer or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlSearchNsByHref	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br>
</pre>
<p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return NULL otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the current node</td>
</tr>
<tr>
<td><span class="term"><i><tt>href</tt></i>:</span></td>
<td>the namespace value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace pointer or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3>
<pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
</pre>
<p>Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
<td>allocation method to use</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3>
<pre class="programlisting">void	xmlSetCompressMode		(int mode)<br>
</pre>
<p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the compression ratio</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3>
<pre class="programlisting">void	xmlSetDocCompressMode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int mode)<br>
</pre>
<p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max compression)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>mode</tt></i>:</span></td>
<td>the compression ratio</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3>
<pre class="programlisting">void	xmlSetListDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>update all nodes in the list to point to the right document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>the first element</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetNs"></a>xmlSetNs ()</h3>
<pre class="programlisting">void	xmlSetNs			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
</pre>
<p>Associate a namespace to a node, a posteriori.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>a namespace pointer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetProp"></a>xmlSetProp ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name (a QName)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3>
<pre class="programlisting">void	xmlSetTreeDoc			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>update all nodes under the tree to point to the right document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the top element</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the full QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int * len)<br>
</pre>
<p>parse an XML qualified name string,i</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the full QName</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>an int *</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the first child</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringLenGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value of the text</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the string value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the first child</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextConcat"></a>xmlTextConcat ()</h3>
<pre class="programlisting">int	xmlTextConcat			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len)<br>
</pre>
<p>Concat the given string at the end of the existing node content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>@content length</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextMerge"></a>xmlTextMerge ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br>
</pre>
<p>Merge two text nodes into one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>first</tt></i>:</span></td>
<td>the first text node</td>
</tr>
<tr>
<td><span class="term"><i><tt>second</tt></i>:</span></td>
<td>the second text node being merged</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first text node augmented</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3>
<pre class="programlisting">void	xmlUnlinkNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Unlink a node from it's current context, the node is not freed If one need to free the node, use xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do not have pointer to their parent.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the node</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3>
<pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3>
<pre class="programlisting">int	xmlUnsetProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful, -1 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3>
<pre class="programlisting">int	xmlValidateNCName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3>
<pre class="programlisting">int	xmlValidateNMToken		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of NMToken</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateName"></a>xmlValidateName ()</h3>
<pre class="programlisting">int	xmlValidateName			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of Name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlValidateQName"></a>xmlValidateQName ()</h3>
<pre class="programlisting">int	xmlValidateQName		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int space)<br>
</pre>
<p>Check that a value conforms to the lexical space of QName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>space</tt></i>:</span></td>
<td>allow spaces in front and end of the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zl��k��(usr/share/gtk-doc/html/libxml2/right.pngnu�[����PNG


IHDR�w=�bKGD�������	pHYs��~�tIME�2I%�=eIDATx���!o�@��.'**M0$��$�?1~�vIeEu�Ll�&��4�䝠��B�ݛ��|�>�$ݶ�oc<���A��׀X��</zq
��HR��W���! CA�b��A$�I�J�ӕۀ�IAerN6�)�+c Y�V�f�� Y�����  �cF��+p�y�icIJ��(a�u���ڸ-T�Ʉ�b�bI�3�
ɲ`L���P]�p8��e?9�LR`�B�	ð�h�ݲ���kI�m�1��C3��}H����K��9:h�|򦒴�;0�(��*���gw��'�o�z�2��n׽y	x���r�޼<XôqjnAz�۹\��/wj��K�IEND�B`�PK i�Zz`;|�I�I4usr/share/gtk-doc/html/libxml2/libxml2-xmlerror.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlerror: error handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlerror</span></h2>
<p>xmlerror - error handling</p>
<p>the API used to report errors </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlError <a href="#xmlError">xmlError</a>;
typedef enum <a href="#xmlErrorDomain">xmlErrorDomain</a>;
typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
void	<a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler);
int	<a href="#xmlCopyError">xmlCopyError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>	(void * ctx);
void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx);
typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	<a href="#xmlGetLastError">xmlGetLastError</a>		(void);
void	<a href="#xmlParserError">xmlParserError</a>			(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlParserValidityError">xmlParserValidityError</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlParserWarning">xmlParserWarning</a>		(void * ctx, <br>					 const char * msg, <br>					 ... ...);
void	<a href="#xmlResetError">xmlResetError</a>			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
void	<a href="#xmlResetLastError">xmlResetLastError</a>		(void);
void	<a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
void	<a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlError">Structure </a>xmlError</h3>
<pre class="programlisting">struct _xmlError {
    int	domain	: What part of the library raised this error
    int	code	: The error code, e.g. an <a href="libxml2-xmlerror.html#xmlParserError">xmlParserError</a>
    char *	message	: human-readable informative error message
    <a href="libxml2-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a>	level	: how consequent is the error
    char *	file	: the filename
    int	line	: the line number if available
    char *	str1	: extra string information
    char *	str2	: extra string information
    char *	str3	: extra string information
    int	int1	: extra number information
    int	int2	: error column # or 0 if N/A (todo: rename field when we would brk ABI)
    void *	ctxt	: the parser context if available
    void *	node	: the node in the tree
} xmlError;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3>
<pre class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
    <a name="XML_FROM_NONE">XML_FROM_NONE</a> = 0
    <a name="XML_FROM_PARSER">XML_FROM_PARSER</a> = 1 /* The XML parser */
    <a name="XML_FROM_TREE">XML_FROM_TREE</a> = 2 /* The tree module */
    <a name="XML_FROM_NAMESPACE">XML_FROM_NAMESPACE</a> = 3 /* The XML Namespace module */
    <a name="XML_FROM_DTD">XML_FROM_DTD</a> = 4 /* The XML DTD validation with parser contex */
    <a name="XML_FROM_HTML">XML_FROM_HTML</a> = 5 /* The HTML parser */
    <a name="XML_FROM_MEMORY">XML_FROM_MEMORY</a> = 6 /* The memory allocator */
    <a name="XML_FROM_OUTPUT">XML_FROM_OUTPUT</a> = 7 /* The serialization code */
    <a name="XML_FROM_IO">XML_FROM_IO</a> = 8 /* The Input/Output stack */
    <a name="XML_FROM_FTP">XML_FROM_FTP</a> = 9 /* The FTP module */
    <a name="XML_FROM_HTTP">XML_FROM_HTTP</a> = 10 /* The HTTP module */
    <a name="XML_FROM_XINCLUDE">XML_FROM_XINCLUDE</a> = 11 /* The XInclude processing */
    <a name="XML_FROM_XPATH">XML_FROM_XPATH</a> = 12 /* The XPath module */
    <a name="XML_FROM_XPOINTER">XML_FROM_XPOINTER</a> = 13 /* The XPointer module */
    <a name="XML_FROM_REGEXP">XML_FROM_REGEXP</a> = 14 /* The regular expressions module */
    <a name="XML_FROM_DATATYPE">XML_FROM_DATATYPE</a> = 15 /* The W3C XML Schemas Datatype module */
    <a name="XML_FROM_SCHEMASP">XML_FROM_SCHEMASP</a> = 16 /* The W3C XML Schemas parser module */
    <a name="XML_FROM_SCHEMASV">XML_FROM_SCHEMASV</a> = 17 /* The W3C XML Schemas validation module */
    <a name="XML_FROM_RELAXNGP">XML_FROM_RELAXNGP</a> = 18 /* The Relax-NG parser module */
    <a name="XML_FROM_RELAXNGV">XML_FROM_RELAXNGV</a> = 19 /* The Relax-NG validator module */
    <a name="XML_FROM_CATALOG">XML_FROM_CATALOG</a> = 20 /* The Catalog module */
    <a name="XML_FROM_C14N">XML_FROM_C14N</a> = 21 /* The Canonicalization module */
    <a name="XML_FROM_XSLT">XML_FROM_XSLT</a> = 22 /* The XSLT engine from libxslt */
    <a name="XML_FROM_VALID">XML_FROM_VALID</a> = 23 /* The XML DTD validation with valid context */
    <a name="XML_FROM_CHECK">XML_FROM_CHECK</a> = 24 /* The error checking module */
    <a name="XML_FROM_WRITER">XML_FROM_WRITER</a> = 25 /* The xmlwriter module */
    <a name="XML_FROM_MODULE">XML_FROM_MODULE</a> = 26 /* The dynamically loaded module modul */
    <a name="XML_FROM_I18N">XML_FROM_I18N</a> = 27 /* The module handling character conversion */
    <a name="XML_FROM_SCHEMATRONV">XML_FROM_SCHEMATRONV</a> = 28 /* The Schematron validator module */
    <a name="XML_FROM_BUFFER">XML_FROM_BUFFER</a> = 29 /* The buffers module */
    <a name="XML_FROM_URI">XML_FROM_URI</a> = 30 /*  The URI module */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3>
<pre class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
    <a name="XML_ERR_NONE">XML_ERR_NONE</a> = 0
    <a name="XML_ERR_WARNING">XML_ERR_WARNING</a> = 1 /* A simple warning */
    <a name="XML_ERR_ERROR">XML_ERR_ERROR</a> = 2 /* A recoverable error */
    <a name="XML_ERR_FATAL">XML_ERR_FATAL</a> = 3 /*  A fatal error */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserErrors">Enum </a>xmlParserErrors</h3>
<pre class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
    <a name="XML_ERR_OK">XML_ERR_OK</a> = 0
    <a name="XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a> = 1 /* 1 */
    <a name="XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a> = 2 /* 2 */
    <a name="XML_ERR_DOCUMENT_START">XML_ERR_DOCUMENT_START</a> = 3 /* 3 */
    <a name="XML_ERR_DOCUMENT_EMPTY">XML_ERR_DOCUMENT_EMPTY</a> = 4 /* 4 */
    <a name="XML_ERR_DOCUMENT_END">XML_ERR_DOCUMENT_END</a> = 5 /* 5 */
    <a name="XML_ERR_INVALID_HEX_CHARREF">XML_ERR_INVALID_HEX_CHARREF</a> = 6 /* 6 */
    <a name="XML_ERR_INVALID_DEC_CHARREF">XML_ERR_INVALID_DEC_CHARREF</a> = 7 /* 7 */
    <a name="XML_ERR_INVALID_CHARREF">XML_ERR_INVALID_CHARREF</a> = 8 /* 8 */
    <a name="XML_ERR_INVALID_CHAR">XML_ERR_INVALID_CHAR</a> = 9 /* 9 */
    <a name="XML_ERR_CHARREF_AT_EOF">XML_ERR_CHARREF_AT_EOF</a> = 10 /* 10 */
    <a name="XML_ERR_CHARREF_IN_PROLOG">XML_ERR_CHARREF_IN_PROLOG</a> = 11 /* 11 */
    <a name="XML_ERR_CHARREF_IN_EPILOG">XML_ERR_CHARREF_IN_EPILOG</a> = 12 /* 12 */
    <a name="XML_ERR_CHARREF_IN_DTD">XML_ERR_CHARREF_IN_DTD</a> = 13 /* 13 */
    <a name="XML_ERR_ENTITYREF_AT_EOF">XML_ERR_ENTITYREF_AT_EOF</a> = 14 /* 14 */
    <a name="XML_ERR_ENTITYREF_IN_PROLOG">XML_ERR_ENTITYREF_IN_PROLOG</a> = 15 /* 15 */
    <a name="XML_ERR_ENTITYREF_IN_EPILOG">XML_ERR_ENTITYREF_IN_EPILOG</a> = 16 /* 16 */
    <a name="XML_ERR_ENTITYREF_IN_DTD">XML_ERR_ENTITYREF_IN_DTD</a> = 17 /* 17 */
    <a name="XML_ERR_PEREF_AT_EOF">XML_ERR_PEREF_AT_EOF</a> = 18 /* 18 */
    <a name="XML_ERR_PEREF_IN_PROLOG">XML_ERR_PEREF_IN_PROLOG</a> = 19 /* 19 */
    <a name="XML_ERR_PEREF_IN_EPILOG">XML_ERR_PEREF_IN_EPILOG</a> = 20 /* 20 */
    <a name="XML_ERR_PEREF_IN_INT_SUBSET">XML_ERR_PEREF_IN_INT_SUBSET</a> = 21 /* 21 */
    <a name="XML_ERR_ENTITYREF_NO_NAME">XML_ERR_ENTITYREF_NO_NAME</a> = 22 /* 22 */
    <a name="XML_ERR_ENTITYREF_SEMICOL_MISSING">XML_ERR_ENTITYREF_SEMICOL_MISSING</a> = 23 /* 23 */
    <a name="XML_ERR_PEREF_NO_NAME">XML_ERR_PEREF_NO_NAME</a> = 24 /* 24 */
    <a name="XML_ERR_PEREF_SEMICOL_MISSING">XML_ERR_PEREF_SEMICOL_MISSING</a> = 25 /* 25 */
    <a name="XML_ERR_UNDECLARED_ENTITY">XML_ERR_UNDECLARED_ENTITY</a> = 26 /* 26 */
    <a name="XML_WAR_UNDECLARED_ENTITY">XML_WAR_UNDECLARED_ENTITY</a> = 27 /* 27 */
    <a name="XML_ERR_UNPARSED_ENTITY">XML_ERR_UNPARSED_ENTITY</a> = 28 /* 28 */
    <a name="XML_ERR_ENTITY_IS_EXTERNAL">XML_ERR_ENTITY_IS_EXTERNAL</a> = 29 /* 29 */
    <a name="XML_ERR_ENTITY_IS_PARAMETER">XML_ERR_ENTITY_IS_PARAMETER</a> = 30 /* 30 */
    <a name="XML_ERR_UNKNOWN_ENCODING">XML_ERR_UNKNOWN_ENCODING</a> = 31 /* 31 */
    <a name="XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> = 32 /* 32 */
    <a name="XML_ERR_STRING_NOT_STARTED">XML_ERR_STRING_NOT_STARTED</a> = 33 /* 33 */
    <a name="XML_ERR_STRING_NOT_CLOSED">XML_ERR_STRING_NOT_CLOSED</a> = 34 /* 34 */
    <a name="XML_ERR_NS_DECL_ERROR">XML_ERR_NS_DECL_ERROR</a> = 35 /* 35 */
    <a name="XML_ERR_ENTITY_NOT_STARTED">XML_ERR_ENTITY_NOT_STARTED</a> = 36 /* 36 */
    <a name="XML_ERR_ENTITY_NOT_FINISHED">XML_ERR_ENTITY_NOT_FINISHED</a> = 37 /* 37 */
    <a name="XML_ERR_LT_IN_ATTRIBUTE">XML_ERR_LT_IN_ATTRIBUTE</a> = 38 /* 38 */
    <a name="XML_ERR_ATTRIBUTE_NOT_STARTED">XML_ERR_ATTRIBUTE_NOT_STARTED</a> = 39 /* 39 */
    <a name="XML_ERR_ATTRIBUTE_NOT_FINISHED">XML_ERR_ATTRIBUTE_NOT_FINISHED</a> = 40 /* 40 */
    <a name="XML_ERR_ATTRIBUTE_WITHOUT_VALUE">XML_ERR_ATTRIBUTE_WITHOUT_VALUE</a> = 41 /* 41 */
    <a name="XML_ERR_ATTRIBUTE_REDEFINED">XML_ERR_ATTRIBUTE_REDEFINED</a> = 42 /* 42 */
    <a name="XML_ERR_LITERAL_NOT_STARTED">XML_ERR_LITERAL_NOT_STARTED</a> = 43 /* 43 */
    <a name="XML_ERR_LITERAL_NOT_FINISHED">XML_ERR_LITERAL_NOT_FINISHED</a> = 44 /* 44 */
    <a name="XML_ERR_COMMENT_NOT_FINISHED">XML_ERR_COMMENT_NOT_FINISHED</a> = 45 /* 45 */
    <a name="XML_ERR_PI_NOT_STARTED">XML_ERR_PI_NOT_STARTED</a> = 46 /* 46 */
    <a name="XML_ERR_PI_NOT_FINISHED">XML_ERR_PI_NOT_FINISHED</a> = 47 /* 47 */
    <a name="XML_ERR_NOTATION_NOT_STARTED">XML_ERR_NOTATION_NOT_STARTED</a> = 48 /* 48 */
    <a name="XML_ERR_NOTATION_NOT_FINISHED">XML_ERR_NOTATION_NOT_FINISHED</a> = 49 /* 49 */
    <a name="XML_ERR_ATTLIST_NOT_STARTED">XML_ERR_ATTLIST_NOT_STARTED</a> = 50 /* 50 */
    <a name="XML_ERR_ATTLIST_NOT_FINISHED">XML_ERR_ATTLIST_NOT_FINISHED</a> = 51 /* 51 */
    <a name="XML_ERR_MIXED_NOT_STARTED">XML_ERR_MIXED_NOT_STARTED</a> = 52 /* 52 */
    <a name="XML_ERR_MIXED_NOT_FINISHED">XML_ERR_MIXED_NOT_FINISHED</a> = 53 /* 53 */
    <a name="XML_ERR_ELEMCONTENT_NOT_STARTED">XML_ERR_ELEMCONTENT_NOT_STARTED</a> = 54 /* 54 */
    <a name="XML_ERR_ELEMCONTENT_NOT_FINISHED">XML_ERR_ELEMCONTENT_NOT_FINISHED</a> = 55 /* 55 */
    <a name="XML_ERR_XMLDECL_NOT_STARTED">XML_ERR_XMLDECL_NOT_STARTED</a> = 56 /* 56 */
    <a name="XML_ERR_XMLDECL_NOT_FINISHED">XML_ERR_XMLDECL_NOT_FINISHED</a> = 57 /* 57 */
    <a name="XML_ERR_CONDSEC_NOT_STARTED">XML_ERR_CONDSEC_NOT_STARTED</a> = 58 /* 58 */
    <a name="XML_ERR_CONDSEC_NOT_FINISHED">XML_ERR_CONDSEC_NOT_FINISHED</a> = 59 /* 59 */
    <a name="XML_ERR_EXT_SUBSET_NOT_FINISHED">XML_ERR_EXT_SUBSET_NOT_FINISHED</a> = 60 /* 60 */
    <a name="XML_ERR_DOCTYPE_NOT_FINISHED">XML_ERR_DOCTYPE_NOT_FINISHED</a> = 61 /* 61 */
    <a name="XML_ERR_MISPLACED_CDATA_END">XML_ERR_MISPLACED_CDATA_END</a> = 62 /* 62 */
    <a name="XML_ERR_CDATA_NOT_FINISHED">XML_ERR_CDATA_NOT_FINISHED</a> = 63 /* 63 */
    <a name="XML_ERR_RESERVED_XML_NAME">XML_ERR_RESERVED_XML_NAME</a> = 64 /* 64 */
    <a name="XML_ERR_SPACE_REQUIRED">XML_ERR_SPACE_REQUIRED</a> = 65 /* 65 */
    <a name="XML_ERR_SEPARATOR_REQUIRED">XML_ERR_SEPARATOR_REQUIRED</a> = 66 /* 66 */
    <a name="XML_ERR_NMTOKEN_REQUIRED">XML_ERR_NMTOKEN_REQUIRED</a> = 67 /* 67 */
    <a name="XML_ERR_NAME_REQUIRED">XML_ERR_NAME_REQUIRED</a> = 68 /* 68 */
    <a name="XML_ERR_PCDATA_REQUIRED">XML_ERR_PCDATA_REQUIRED</a> = 69 /* 69 */
    <a name="XML_ERR_URI_REQUIRED">XML_ERR_URI_REQUIRED</a> = 70 /* 70 */
    <a name="XML_ERR_PUBID_REQUIRED">XML_ERR_PUBID_REQUIRED</a> = 71 /* 71 */
    <a name="XML_ERR_LT_REQUIRED">XML_ERR_LT_REQUIRED</a> = 72 /* 72 */
    <a name="XML_ERR_GT_REQUIRED">XML_ERR_GT_REQUIRED</a> = 73 /* 73 */
    <a name="XML_ERR_LTSLASH_REQUIRED">XML_ERR_LTSLASH_REQUIRED</a> = 74 /* 74 */
    <a name="XML_ERR_EQUAL_REQUIRED">XML_ERR_EQUAL_REQUIRED</a> = 75 /* 75 */
    <a name="XML_ERR_TAG_NAME_MISMATCH">XML_ERR_TAG_NAME_MISMATCH</a> = 76 /* 76 */
    <a name="XML_ERR_TAG_NOT_FINISHED">XML_ERR_TAG_NOT_FINISHED</a> = 77 /* 77 */
    <a name="XML_ERR_STANDALONE_VALUE">XML_ERR_STANDALONE_VALUE</a> = 78 /* 78 */
    <a name="XML_ERR_ENCODING_NAME">XML_ERR_ENCODING_NAME</a> = 79 /* 79 */
    <a name="XML_ERR_HYPHEN_IN_COMMENT">XML_ERR_HYPHEN_IN_COMMENT</a> = 80 /* 80 */
    <a name="XML_ERR_INVALID_ENCODING">XML_ERR_INVALID_ENCODING</a> = 81 /* 81 */
    <a name="XML_ERR_EXT_ENTITY_STANDALONE">XML_ERR_EXT_ENTITY_STANDALONE</a> = 82 /* 82 */
    <a name="XML_ERR_CONDSEC_INVALID">XML_ERR_CONDSEC_INVALID</a> = 83 /* 83 */
    <a name="XML_ERR_VALUE_REQUIRED">XML_ERR_VALUE_REQUIRED</a> = 84 /* 84 */
    <a name="XML_ERR_NOT_WELL_BALANCED">XML_ERR_NOT_WELL_BALANCED</a> = 85 /* 85 */
    <a name="XML_ERR_EXTRA_CONTENT">XML_ERR_EXTRA_CONTENT</a> = 86 /* 86 */
    <a name="XML_ERR_ENTITY_CHAR_ERROR">XML_ERR_ENTITY_CHAR_ERROR</a> = 87 /* 87 */
    <a name="XML_ERR_ENTITY_PE_INTERNAL">XML_ERR_ENTITY_PE_INTERNAL</a> = 88 /* 88 */
    <a name="XML_ERR_ENTITY_LOOP">XML_ERR_ENTITY_LOOP</a> = 89 /* 89 */
    <a name="XML_ERR_ENTITY_BOUNDARY">XML_ERR_ENTITY_BOUNDARY</a> = 90 /* 90 */
    <a name="XML_ERR_INVALID_URI">XML_ERR_INVALID_URI</a> = 91 /* 91 */
    <a name="XML_ERR_URI_FRAGMENT">XML_ERR_URI_FRAGMENT</a> = 92 /* 92 */
    <a name="XML_WAR_CATALOG_PI">XML_WAR_CATALOG_PI</a> = 93 /* 93 */
    <a name="XML_ERR_NO_DTD">XML_ERR_NO_DTD</a> = 94 /* 94 */
    <a name="XML_ERR_CONDSEC_INVALID_KEYWORD">XML_ERR_CONDSEC_INVALID_KEYWORD</a> = 95 /* 95 */
    <a name="XML_ERR_VERSION_MISSING">XML_ERR_VERSION_MISSING</a> = 96 /* 96 */
    <a name="XML_WAR_UNKNOWN_VERSION">XML_WAR_UNKNOWN_VERSION</a> = 97 /* 97 */
    <a name="XML_WAR_LANG_VALUE">XML_WAR_LANG_VALUE</a> = 98 /* 98 */
    <a name="XML_WAR_NS_URI">XML_WAR_NS_URI</a> = 99 /* 99 */
    <a name="XML_WAR_NS_URI_RELATIVE">XML_WAR_NS_URI_RELATIVE</a> = 100 /* 100 */
    <a name="XML_ERR_MISSING_ENCODING">XML_ERR_MISSING_ENCODING</a> = 101 /* 101 */
    <a name="XML_WAR_SPACE_VALUE">XML_WAR_SPACE_VALUE</a> = 102 /* 102 */
    <a name="XML_ERR_NOT_STANDALONE">XML_ERR_NOT_STANDALONE</a> = 103 /* 103 */
    <a name="XML_ERR_ENTITY_PROCESSING">XML_ERR_ENTITY_PROCESSING</a> = 104 /* 104 */
    <a name="XML_ERR_NOTATION_PROCESSING">XML_ERR_NOTATION_PROCESSING</a> = 105 /* 105 */
    <a name="XML_WAR_NS_COLUMN">XML_WAR_NS_COLUMN</a> = 106 /* 106 */
    <a name="XML_WAR_ENTITY_REDEFINED">XML_WAR_ENTITY_REDEFINED</a> = 107 /* 107 */
    <a name="XML_ERR_UNKNOWN_VERSION">XML_ERR_UNKNOWN_VERSION</a> = 108 /* 108 */
    <a name="XML_ERR_VERSION_MISMATCH">XML_ERR_VERSION_MISMATCH</a> = 109 /* 109 */
    <a name="XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a> = 110 /* 110 */
    <a name="XML_ERR_USER_STOP">XML_ERR_USER_STOP</a> = 111 /* 111 */
    <a name="XML_ERR_COMMENT_ABRUPTLY_ENDED">XML_ERR_COMMENT_ABRUPTLY_ENDED</a> = 112 /* 112 */
    <a name="XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a> = 200
    <a name="XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a> = 201 /* 201 */
    <a name="XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a> = 202 /* 202 */
    <a name="XML_NS_ERR_ATTRIBUTE_REDEFINED">XML_NS_ERR_ATTRIBUTE_REDEFINED</a> = 203 /* 203 */
    <a name="XML_NS_ERR_EMPTY">XML_NS_ERR_EMPTY</a> = 204 /* 204 */
    <a name="XML_NS_ERR_COLON">XML_NS_ERR_COLON</a> = 205 /* 205 */
    <a name="XML_DTD_ATTRIBUTE_DEFAULT">XML_DTD_ATTRIBUTE_DEFAULT</a> = 500
    <a name="XML_DTD_ATTRIBUTE_REDEFINED">XML_DTD_ATTRIBUTE_REDEFINED</a> = 501 /* 501 */
    <a name="XML_DTD_ATTRIBUTE_VALUE">XML_DTD_ATTRIBUTE_VALUE</a> = 502 /* 502 */
    <a name="XML_DTD_CONTENT_ERROR">XML_DTD_CONTENT_ERROR</a> = 503 /* 503 */
    <a name="XML_DTD_CONTENT_MODEL">XML_DTD_CONTENT_MODEL</a> = 504 /* 504 */
    <a name="XML_DTD_CONTENT_NOT_DETERMINIST">XML_DTD_CONTENT_NOT_DETERMINIST</a> = 505 /* 505 */
    <a name="XML_DTD_DIFFERENT_PREFIX">XML_DTD_DIFFERENT_PREFIX</a> = 506 /* 506 */
    <a name="XML_DTD_ELEM_DEFAULT_NAMESPACE">XML_DTD_ELEM_DEFAULT_NAMESPACE</a> = 507 /* 507 */
    <a name="XML_DTD_ELEM_NAMESPACE">XML_DTD_ELEM_NAMESPACE</a> = 508 /* 508 */
    <a name="XML_DTD_ELEM_REDEFINED">XML_DTD_ELEM_REDEFINED</a> = 509 /* 509 */
    <a name="XML_DTD_EMPTY_NOTATION">XML_DTD_EMPTY_NOTATION</a> = 510 /* 510 */
    <a name="XML_DTD_ENTITY_TYPE">XML_DTD_ENTITY_TYPE</a> = 511 /* 511 */
    <a name="XML_DTD_ID_FIXED">XML_DTD_ID_FIXED</a> = 512 /* 512 */
    <a name="XML_DTD_ID_REDEFINED">XML_DTD_ID_REDEFINED</a> = 513 /* 513 */
    <a name="XML_DTD_ID_SUBSET">XML_DTD_ID_SUBSET</a> = 514 /* 514 */
    <a name="XML_DTD_INVALID_CHILD">XML_DTD_INVALID_CHILD</a> = 515 /* 515 */
    <a name="XML_DTD_INVALID_DEFAULT">XML_DTD_INVALID_DEFAULT</a> = 516 /* 516 */
    <a name="XML_DTD_LOAD_ERROR">XML_DTD_LOAD_ERROR</a> = 517 /* 517 */
    <a name="XML_DTD_MISSING_ATTRIBUTE">XML_DTD_MISSING_ATTRIBUTE</a> = 518 /* 518 */
    <a name="XML_DTD_MIXED_CORRUPT">XML_DTD_MIXED_CORRUPT</a> = 519 /* 519 */
    <a name="XML_DTD_MULTIPLE_ID">XML_DTD_MULTIPLE_ID</a> = 520 /* 520 */
    <a name="XML_DTD_NO_DOC">XML_DTD_NO_DOC</a> = 521 /* 521 */
    <a name="XML_DTD_NO_DTD">XML_DTD_NO_DTD</a> = 522 /* 522 */
    <a name="XML_DTD_NO_ELEM_NAME">XML_DTD_NO_ELEM_NAME</a> = 523 /* 523 */
    <a name="XML_DTD_NO_PREFIX">XML_DTD_NO_PREFIX</a> = 524 /* 524 */
    <a name="XML_DTD_NO_ROOT">XML_DTD_NO_ROOT</a> = 525 /* 525 */
    <a name="XML_DTD_NOTATION_REDEFINED">XML_DTD_NOTATION_REDEFINED</a> = 526 /* 526 */
    <a name="XML_DTD_NOTATION_VALUE">XML_DTD_NOTATION_VALUE</a> = 527 /* 527 */
    <a name="XML_DTD_NOT_EMPTY">XML_DTD_NOT_EMPTY</a> = 528 /* 528 */
    <a name="XML_DTD_NOT_PCDATA">XML_DTD_NOT_PCDATA</a> = 529 /* 529 */
    <a name="XML_DTD_NOT_STANDALONE">XML_DTD_NOT_STANDALONE</a> = 530 /* 530 */
    <a name="XML_DTD_ROOT_NAME">XML_DTD_ROOT_NAME</a> = 531 /* 531 */
    <a name="XML_DTD_STANDALONE_WHITE_SPACE">XML_DTD_STANDALONE_WHITE_SPACE</a> = 532 /* 532 */
    <a name="XML_DTD_UNKNOWN_ATTRIBUTE">XML_DTD_UNKNOWN_ATTRIBUTE</a> = 533 /* 533 */
    <a name="XML_DTD_UNKNOWN_ELEM">XML_DTD_UNKNOWN_ELEM</a> = 534 /* 534 */
    <a name="XML_DTD_UNKNOWN_ENTITY">XML_DTD_UNKNOWN_ENTITY</a> = 535 /* 535 */
    <a name="XML_DTD_UNKNOWN_ID">XML_DTD_UNKNOWN_ID</a> = 536 /* 536 */
    <a name="XML_DTD_UNKNOWN_NOTATION">XML_DTD_UNKNOWN_NOTATION</a> = 537 /* 537 */
    <a name="XML_DTD_STANDALONE_DEFAULTED">XML_DTD_STANDALONE_DEFAULTED</a> = 538 /* 538 */
    <a name="XML_DTD_XMLID_VALUE">XML_DTD_XMLID_VALUE</a> = 539 /* 539 */
    <a name="XML_DTD_XMLID_TYPE">XML_DTD_XMLID_TYPE</a> = 540 /* 540 */
    <a name="XML_DTD_DUP_TOKEN">XML_DTD_DUP_TOKEN</a> = 541 /* 541 */
    <a name="XML_HTML_STRUCURE_ERROR">XML_HTML_STRUCURE_ERROR</a> = 800
    <a name="XML_HTML_UNKNOWN_TAG">XML_HTML_UNKNOWN_TAG</a> = 801 /* 801 */
    <a name="XML_HTML_INCORRECTLY_OPENED_COMMENT">XML_HTML_INCORRECTLY_OPENED_COMMENT</a> = 802 /* 802 */
    <a name="XML_RNGP_ANYNAME_ATTR_ANCESTOR">XML_RNGP_ANYNAME_ATTR_ANCESTOR</a> = 1000
    <a name="XML_RNGP_ATTR_CONFLICT">XML_RNGP_ATTR_CONFLICT</a> = 1001 /* 1001 */
    <a name="XML_RNGP_ATTRIBUTE_CHILDREN">XML_RNGP_ATTRIBUTE_CHILDREN</a> = 1002 /* 1002 */
    <a name="XML_RNGP_ATTRIBUTE_CONTENT">XML_RNGP_ATTRIBUTE_CONTENT</a> = 1003 /* 1003 */
    <a name="XML_RNGP_ATTRIBUTE_EMPTY">XML_RNGP_ATTRIBUTE_EMPTY</a> = 1004 /* 1004 */
    <a name="XML_RNGP_ATTRIBUTE_NOOP">XML_RNGP_ATTRIBUTE_NOOP</a> = 1005 /* 1005 */
    <a name="XML_RNGP_CHOICE_CONTENT">XML_RNGP_CHOICE_CONTENT</a> = 1006 /* 1006 */
    <a name="XML_RNGP_CHOICE_EMPTY">XML_RNGP_CHOICE_EMPTY</a> = 1007 /* 1007 */
    <a name="XML_RNGP_CREATE_FAILURE">XML_RNGP_CREATE_FAILURE</a> = 1008 /* 1008 */
    <a name="XML_RNGP_DATA_CONTENT">XML_RNGP_DATA_CONTENT</a> = 1009 /* 1009 */
    <a name="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE">XML_RNGP_DEF_CHOICE_AND_INTERLEAVE</a> = 1010 /* 1010 */
    <a name="XML_RNGP_DEFINE_CREATE_FAILED">XML_RNGP_DEFINE_CREATE_FAILED</a> = 1011 /* 1011 */
    <a name="XML_RNGP_DEFINE_EMPTY">XML_RNGP_DEFINE_EMPTY</a> = 1012 /* 1012 */
    <a name="XML_RNGP_DEFINE_MISSING">XML_RNGP_DEFINE_MISSING</a> = 1013 /* 1013 */
    <a name="XML_RNGP_DEFINE_NAME_MISSING">XML_RNGP_DEFINE_NAME_MISSING</a> = 1014 /* 1014 */
    <a name="XML_RNGP_ELEM_CONTENT_EMPTY">XML_RNGP_ELEM_CONTENT_EMPTY</a> = 1015 /* 1015 */
    <a name="XML_RNGP_ELEM_CONTENT_ERROR">XML_RNGP_ELEM_CONTENT_ERROR</a> = 1016 /* 1016 */
    <a name="XML_RNGP_ELEMENT_EMPTY">XML_RNGP_ELEMENT_EMPTY</a> = 1017 /* 1017 */
    <a name="XML_RNGP_ELEMENT_CONTENT">XML_RNGP_ELEMENT_CONTENT</a> = 1018 /* 1018 */
    <a name="XML_RNGP_ELEMENT_NAME">XML_RNGP_ELEMENT_NAME</a> = 1019 /* 1019 */
    <a name="XML_RNGP_ELEMENT_NO_CONTENT">XML_RNGP_ELEMENT_NO_CONTENT</a> = 1020 /* 1020 */
    <a name="XML_RNGP_ELEM_TEXT_CONFLICT">XML_RNGP_ELEM_TEXT_CONFLICT</a> = 1021 /* 1021 */
    <a name="XML_RNGP_EMPTY">XML_RNGP_EMPTY</a> = 1022 /* 1022 */
    <a name="XML_RNGP_EMPTY_CONSTRUCT">XML_RNGP_EMPTY_CONSTRUCT</a> = 1023 /* 1023 */
    <a name="XML_RNGP_EMPTY_CONTENT">XML_RNGP_EMPTY_CONTENT</a> = 1024 /* 1024 */
    <a name="XML_RNGP_EMPTY_NOT_EMPTY">XML_RNGP_EMPTY_NOT_EMPTY</a> = 1025 /* 1025 */
    <a name="XML_RNGP_ERROR_TYPE_LIB">XML_RNGP_ERROR_TYPE_LIB</a> = 1026 /* 1026 */
    <a name="XML_RNGP_EXCEPT_EMPTY">XML_RNGP_EXCEPT_EMPTY</a> = 1027 /* 1027 */
    <a name="XML_RNGP_EXCEPT_MISSING">XML_RNGP_EXCEPT_MISSING</a> = 1028 /* 1028 */
    <a name="XML_RNGP_EXCEPT_MULTIPLE">XML_RNGP_EXCEPT_MULTIPLE</a> = 1029 /* 1029 */
    <a name="XML_RNGP_EXCEPT_NO_CONTENT">XML_RNGP_EXCEPT_NO_CONTENT</a> = 1030 /* 1030 */
    <a name="XML_RNGP_EXTERNALREF_EMTPY">XML_RNGP_EXTERNALREF_EMTPY</a> = 1031 /* 1031 */
    <a name="XML_RNGP_EXTERNAL_REF_FAILURE">XML_RNGP_EXTERNAL_REF_FAILURE</a> = 1032 /* 1032 */
    <a name="XML_RNGP_EXTERNALREF_RECURSE">XML_RNGP_EXTERNALREF_RECURSE</a> = 1033 /* 1033 */
    <a name="XML_RNGP_FORBIDDEN_ATTRIBUTE">XML_RNGP_FORBIDDEN_ATTRIBUTE</a> = 1034 /* 1034 */
    <a name="XML_RNGP_FOREIGN_ELEMENT">XML_RNGP_FOREIGN_ELEMENT</a> = 1035 /* 1035 */
    <a name="XML_RNGP_GRAMMAR_CONTENT">XML_RNGP_GRAMMAR_CONTENT</a> = 1036 /* 1036 */
    <a name="XML_RNGP_GRAMMAR_EMPTY">XML_RNGP_GRAMMAR_EMPTY</a> = 1037 /* 1037 */
    <a name="XML_RNGP_GRAMMAR_MISSING">XML_RNGP_GRAMMAR_MISSING</a> = 1038 /* 1038 */
    <a name="XML_RNGP_GRAMMAR_NO_START">XML_RNGP_GRAMMAR_NO_START</a> = 1039 /* 1039 */
    <a name="XML_RNGP_GROUP_ATTR_CONFLICT">XML_RNGP_GROUP_ATTR_CONFLICT</a> = 1040 /* 1040 */
    <a name="XML_RNGP_HREF_ERROR">XML_RNGP_HREF_ERROR</a> = 1041 /* 1041 */
    <a name="XML_RNGP_INCLUDE_EMPTY">XML_RNGP_INCLUDE_EMPTY</a> = 1042 /* 1042 */
    <a name="XML_RNGP_INCLUDE_FAILURE">XML_RNGP_INCLUDE_FAILURE</a> = 1043 /* 1043 */
    <a name="XML_RNGP_INCLUDE_RECURSE">XML_RNGP_INCLUDE_RECURSE</a> = 1044 /* 1044 */
    <a name="XML_RNGP_INTERLEAVE_ADD">XML_RNGP_INTERLEAVE_ADD</a> = 1045 /* 1045 */
    <a name="XML_RNGP_INTERLEAVE_CREATE_FAILED">XML_RNGP_INTERLEAVE_CREATE_FAILED</a> = 1046 /* 1046 */
    <a name="XML_RNGP_INTERLEAVE_EMPTY">XML_RNGP_INTERLEAVE_EMPTY</a> = 1047 /* 1047 */
    <a name="XML_RNGP_INTERLEAVE_NO_CONTENT">XML_RNGP_INTERLEAVE_NO_CONTENT</a> = 1048 /* 1048 */
    <a name="XML_RNGP_INVALID_DEFINE_NAME">XML_RNGP_INVALID_DEFINE_NAME</a> = 1049 /* 1049 */
    <a name="XML_RNGP_INVALID_URI">XML_RNGP_INVALID_URI</a> = 1050 /* 1050 */
    <a name="XML_RNGP_INVALID_VALUE">XML_RNGP_INVALID_VALUE</a> = 1051 /* 1051 */
    <a name="XML_RNGP_MISSING_HREF">XML_RNGP_MISSING_HREF</a> = 1052 /* 1052 */
    <a name="XML_RNGP_NAME_MISSING">XML_RNGP_NAME_MISSING</a> = 1053 /* 1053 */
    <a name="XML_RNGP_NEED_COMBINE">XML_RNGP_NEED_COMBINE</a> = 1054 /* 1054 */
    <a name="XML_RNGP_NOTALLOWED_NOT_EMPTY">XML_RNGP_NOTALLOWED_NOT_EMPTY</a> = 1055 /* 1055 */
    <a name="XML_RNGP_NSNAME_ATTR_ANCESTOR">XML_RNGP_NSNAME_ATTR_ANCESTOR</a> = 1056 /* 1056 */
    <a name="XML_RNGP_NSNAME_NO_NS">XML_RNGP_NSNAME_NO_NS</a> = 1057 /* 1057 */
    <a name="XML_RNGP_PARAM_FORBIDDEN">XML_RNGP_PARAM_FORBIDDEN</a> = 1058 /* 1058 */
    <a name="XML_RNGP_PARAM_NAME_MISSING">XML_RNGP_PARAM_NAME_MISSING</a> = 1059 /* 1059 */
    <a name="XML_RNGP_PARENTREF_CREATE_FAILED">XML_RNGP_PARENTREF_CREATE_FAILED</a> = 1060 /* 1060 */
    <a name="XML_RNGP_PARENTREF_NAME_INVALID">XML_RNGP_PARENTREF_NAME_INVALID</a> = 1061 /* 1061 */
    <a name="XML_RNGP_PARENTREF_NO_NAME">XML_RNGP_PARENTREF_NO_NAME</a> = 1062 /* 1062 */
    <a name="XML_RNGP_PARENTREF_NO_PARENT">XML_RNGP_PARENTREF_NO_PARENT</a> = 1063 /* 1063 */
    <a name="XML_RNGP_PARENTREF_NOT_EMPTY">XML_RNGP_PARENTREF_NOT_EMPTY</a> = 1064 /* 1064 */
    <a name="XML_RNGP_PARSE_ERROR">XML_RNGP_PARSE_ERROR</a> = 1065 /* 1065 */
    <a name="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME</a> = 1066 /* 1066 */
    <a name="XML_RNGP_PAT_ATTR_ATTR">XML_RNGP_PAT_ATTR_ATTR</a> = 1067 /* 1067 */
    <a name="XML_RNGP_PAT_ATTR_ELEM">XML_RNGP_PAT_ATTR_ELEM</a> = 1068 /* 1068 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ATTR">XML_RNGP_PAT_DATA_EXCEPT_ATTR</a> = 1069 /* 1069 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ELEM">XML_RNGP_PAT_DATA_EXCEPT_ELEM</a> = 1070 /* 1070 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_EMPTY">XML_RNGP_PAT_DATA_EXCEPT_EMPTY</a> = 1071 /* 1071 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_GROUP">XML_RNGP_PAT_DATA_EXCEPT_GROUP</a> = 1072 /* 1072 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE">XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE</a> = 1073 /* 1073 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_LIST">XML_RNGP_PAT_DATA_EXCEPT_LIST</a> = 1074 /* 1074 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE">XML_RNGP_PAT_DATA_EXCEPT_ONEMORE</a> = 1075 /* 1075 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_REF">XML_RNGP_PAT_DATA_EXCEPT_REF</a> = 1076 /* 1076 */
    <a name="XML_RNGP_PAT_DATA_EXCEPT_TEXT">XML_RNGP_PAT_DATA_EXCEPT_TEXT</a> = 1077 /* 1077 */
    <a name="XML_RNGP_PAT_LIST_ATTR">XML_RNGP_PAT_LIST_ATTR</a> = 1078 /* 1078 */
    <a name="XML_RNGP_PAT_LIST_ELEM">XML_RNGP_PAT_LIST_ELEM</a> = 1079 /* 1079 */
    <a name="XML_RNGP_PAT_LIST_INTERLEAVE">XML_RNGP_PAT_LIST_INTERLEAVE</a> = 1080 /* 1080 */
    <a name="XML_RNGP_PAT_LIST_LIST">XML_RNGP_PAT_LIST_LIST</a> = 1081 /* 1081 */
    <a name="XML_RNGP_PAT_LIST_REF">XML_RNGP_PAT_LIST_REF</a> = 1082 /* 1082 */
    <a name="XML_RNGP_PAT_LIST_TEXT">XML_RNGP_PAT_LIST_TEXT</a> = 1083 /* 1083 */
    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME">XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME</a> = 1084 /* 1084 */
    <a name="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME">XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME</a> = 1085 /* 1085 */
    <a name="XML_RNGP_PAT_ONEMORE_GROUP_ATTR">XML_RNGP_PAT_ONEMORE_GROUP_ATTR</a> = 1086 /* 1086 */
    <a name="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR">XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR</a> = 1087 /* 1087 */
    <a name="XML_RNGP_PAT_START_ATTR">XML_RNGP_PAT_START_ATTR</a> = 1088 /* 1088 */
    <a name="XML_RNGP_PAT_START_DATA">XML_RNGP_PAT_START_DATA</a> = 1089 /* 1089 */
    <a name="XML_RNGP_PAT_START_EMPTY">XML_RNGP_PAT_START_EMPTY</a> = 1090 /* 1090 */
    <a name="XML_RNGP_PAT_START_GROUP">XML_RNGP_PAT_START_GROUP</a> = 1091 /* 1091 */
    <a name="XML_RNGP_PAT_START_INTERLEAVE">XML_RNGP_PAT_START_INTERLEAVE</a> = 1092 /* 1092 */
    <a name="XML_RNGP_PAT_START_LIST">XML_RNGP_PAT_START_LIST</a> = 1093 /* 1093 */
    <a name="XML_RNGP_PAT_START_ONEMORE">XML_RNGP_PAT_START_ONEMORE</a> = 1094 /* 1094 */
    <a name="XML_RNGP_PAT_START_TEXT">XML_RNGP_PAT_START_TEXT</a> = 1095 /* 1095 */
    <a name="XML_RNGP_PAT_START_VALUE">XML_RNGP_PAT_START_VALUE</a> = 1096 /* 1096 */
    <a name="XML_RNGP_PREFIX_UNDEFINED">XML_RNGP_PREFIX_UNDEFINED</a> = 1097 /* 1097 */
    <a name="XML_RNGP_REF_CREATE_FAILED">XML_RNGP_REF_CREATE_FAILED</a> = 1098 /* 1098 */
    <a name="XML_RNGP_REF_CYCLE">XML_RNGP_REF_CYCLE</a> = 1099 /* 1099 */
    <a name="XML_RNGP_REF_NAME_INVALID">XML_RNGP_REF_NAME_INVALID</a> = 1100 /* 1100 */
    <a name="XML_RNGP_REF_NO_DEF">XML_RNGP_REF_NO_DEF</a> = 1101 /* 1101 */
    <a name="XML_RNGP_REF_NO_NAME">XML_RNGP_REF_NO_NAME</a> = 1102 /* 1102 */
    <a name="XML_RNGP_REF_NOT_EMPTY">XML_RNGP_REF_NOT_EMPTY</a> = 1103 /* 1103 */
    <a name="XML_RNGP_START_CHOICE_AND_INTERLEAVE">XML_RNGP_START_CHOICE_AND_INTERLEAVE</a> = 1104 /* 1104 */
    <a name="XML_RNGP_START_CONTENT">XML_RNGP_START_CONTENT</a> = 1105 /* 1105 */
    <a name="XML_RNGP_START_EMPTY">XML_RNGP_START_EMPTY</a> = 1106 /* 1106 */
    <a name="XML_RNGP_START_MISSING">XML_RNGP_START_MISSING</a> = 1107 /* 1107 */
    <a name="XML_RNGP_TEXT_EXPECTED">XML_RNGP_TEXT_EXPECTED</a> = 1108 /* 1108 */
    <a name="XML_RNGP_TEXT_HAS_CHILD">XML_RNGP_TEXT_HAS_CHILD</a> = 1109 /* 1109 */
    <a name="XML_RNGP_TYPE_MISSING">XML_RNGP_TYPE_MISSING</a> = 1110 /* 1110 */
    <a name="XML_RNGP_TYPE_NOT_FOUND">XML_RNGP_TYPE_NOT_FOUND</a> = 1111 /* 1111 */
    <a name="XML_RNGP_TYPE_VALUE">XML_RNGP_TYPE_VALUE</a> = 1112 /* 1112 */
    <a name="XML_RNGP_UNKNOWN_ATTRIBUTE">XML_RNGP_UNKNOWN_ATTRIBUTE</a> = 1113 /* 1113 */
    <a name="XML_RNGP_UNKNOWN_COMBINE">XML_RNGP_UNKNOWN_COMBINE</a> = 1114 /* 1114 */
    <a name="XML_RNGP_UNKNOWN_CONSTRUCT">XML_RNGP_UNKNOWN_CONSTRUCT</a> = 1115 /* 1115 */
    <a name="XML_RNGP_UNKNOWN_TYPE_LIB">XML_RNGP_UNKNOWN_TYPE_LIB</a> = 1116 /* 1116 */
    <a name="XML_RNGP_URI_FRAGMENT">XML_RNGP_URI_FRAGMENT</a> = 1117 /* 1117 */
    <a name="XML_RNGP_URI_NOT_ABSOLUTE">XML_RNGP_URI_NOT_ABSOLUTE</a> = 1118 /* 1118 */
    <a name="XML_RNGP_VALUE_EMPTY">XML_RNGP_VALUE_EMPTY</a> = 1119 /* 1119 */
    <a name="XML_RNGP_VALUE_NO_CONTENT">XML_RNGP_VALUE_NO_CONTENT</a> = 1120 /* 1120 */
    <a name="XML_RNGP_XMLNS_NAME">XML_RNGP_XMLNS_NAME</a> = 1121 /* 1121 */
    <a name="XML_RNGP_XML_NS">XML_RNGP_XML_NS</a> = 1122 /* 1122 */
    <a name="XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a> = 1200
    <a name="XML_XPATH_NUMBER_ERROR">XML_XPATH_NUMBER_ERROR</a> = 1201 /* 1201 */
    <a name="XML_XPATH_UNFINISHED_LITERAL_ERROR">XML_XPATH_UNFINISHED_LITERAL_ERROR</a> = 1202 /* 1202 */
    <a name="XML_XPATH_START_LITERAL_ERROR">XML_XPATH_START_LITERAL_ERROR</a> = 1203 /* 1203 */
    <a name="XML_XPATH_VARIABLE_REF_ERROR">XML_XPATH_VARIABLE_REF_ERROR</a> = 1204 /* 1204 */
    <a name="XML_XPATH_UNDEF_VARIABLE_ERROR">XML_XPATH_UNDEF_VARIABLE_ERROR</a> = 1205 /* 1205 */
    <a name="XML_XPATH_INVALID_PREDICATE_ERROR">XML_XPATH_INVALID_PREDICATE_ERROR</a> = 1206 /* 1206 */
    <a name="XML_XPATH_EXPR_ERROR">XML_XPATH_EXPR_ERROR</a> = 1207 /* 1207 */
    <a name="XML_XPATH_UNCLOSED_ERROR">XML_XPATH_UNCLOSED_ERROR</a> = 1208 /* 1208 */
    <a name="XML_XPATH_UNKNOWN_FUNC_ERROR">XML_XPATH_UNKNOWN_FUNC_ERROR</a> = 1209 /* 1209 */
    <a name="XML_XPATH_INVALID_OPERAND">XML_XPATH_INVALID_OPERAND</a> = 1210 /* 1210 */
    <a name="XML_XPATH_INVALID_TYPE">XML_XPATH_INVALID_TYPE</a> = 1211 /* 1211 */
    <a name="XML_XPATH_INVALID_ARITY">XML_XPATH_INVALID_ARITY</a> = 1212 /* 1212 */
    <a name="XML_XPATH_INVALID_CTXT_SIZE">XML_XPATH_INVALID_CTXT_SIZE</a> = 1213 /* 1213 */
    <a name="XML_XPATH_INVALID_CTXT_POSITION">XML_XPATH_INVALID_CTXT_POSITION</a> = 1214 /* 1214 */
    <a name="XML_XPATH_MEMORY_ERROR">XML_XPATH_MEMORY_ERROR</a> = 1215 /* 1215 */
    <a name="XML_XPTR_SYNTAX_ERROR">XML_XPTR_SYNTAX_ERROR</a> = 1216 /* 1216 */
    <a name="XML_XPTR_RESOURCE_ERROR">XML_XPTR_RESOURCE_ERROR</a> = 1217 /* 1217 */
    <a name="XML_XPTR_SUB_RESOURCE_ERROR">XML_XPTR_SUB_RESOURCE_ERROR</a> = 1218 /* 1218 */
    <a name="XML_XPATH_UNDEF_PREFIX_ERROR">XML_XPATH_UNDEF_PREFIX_ERROR</a> = 1219 /* 1219 */
    <a name="XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a> = 1220 /* 1220 */
    <a name="XML_XPATH_INVALID_CHAR_ERROR">XML_XPATH_INVALID_CHAR_ERROR</a> = 1221 /* 1221 */
    <a name="XML_TREE_INVALID_HEX">XML_TREE_INVALID_HEX</a> = 1300
    <a name="XML_TREE_INVALID_DEC">XML_TREE_INVALID_DEC</a> = 1301 /* 1301 */
    <a name="XML_TREE_UNTERMINATED_ENTITY">XML_TREE_UNTERMINATED_ENTITY</a> = 1302 /* 1302 */
    <a name="XML_TREE_NOT_UTF8">XML_TREE_NOT_UTF8</a> = 1303 /* 1303 */
    <a name="XML_SAVE_NOT_UTF8">XML_SAVE_NOT_UTF8</a> = 1400
    <a name="XML_SAVE_CHAR_INVALID">XML_SAVE_CHAR_INVALID</a> = 1401 /* 1401 */
    <a name="XML_SAVE_NO_DOCTYPE">XML_SAVE_NO_DOCTYPE</a> = 1402 /* 1402 */
    <a name="XML_SAVE_UNKNOWN_ENCODING">XML_SAVE_UNKNOWN_ENCODING</a> = 1403 /* 1403 */
    <a name="XML_REGEXP_COMPILE_ERROR">XML_REGEXP_COMPILE_ERROR</a> = 1450
    <a name="XML_IO_UNKNOWN">XML_IO_UNKNOWN</a> = 1500
    <a name="XML_IO_EACCES">XML_IO_EACCES</a> = 1501 /* 1501 */
    <a name="XML_IO_EAGAIN">XML_IO_EAGAIN</a> = 1502 /* 1502 */
    <a name="XML_IO_EBADF">XML_IO_EBADF</a> = 1503 /* 1503 */
    <a name="XML_IO_EBADMSG">XML_IO_EBADMSG</a> = 1504 /* 1504 */
    <a name="XML_IO_EBUSY">XML_IO_EBUSY</a> = 1505 /* 1505 */
    <a name="XML_IO_ECANCELED">XML_IO_ECANCELED</a> = 1506 /* 1506 */
    <a name="XML_IO_ECHILD">XML_IO_ECHILD</a> = 1507 /* 1507 */
    <a name="XML_IO_EDEADLK">XML_IO_EDEADLK</a> = 1508 /* 1508 */
    <a name="XML_IO_EDOM">XML_IO_EDOM</a> = 1509 /* 1509 */
    <a name="XML_IO_EEXIST">XML_IO_EEXIST</a> = 1510 /* 1510 */
    <a name="XML_IO_EFAULT">XML_IO_EFAULT</a> = 1511 /* 1511 */
    <a name="XML_IO_EFBIG">XML_IO_EFBIG</a> = 1512 /* 1512 */
    <a name="XML_IO_EINPROGRESS">XML_IO_EINPROGRESS</a> = 1513 /* 1513 */
    <a name="XML_IO_EINTR">XML_IO_EINTR</a> = 1514 /* 1514 */
    <a name="XML_IO_EINVAL">XML_IO_EINVAL</a> = 1515 /* 1515 */
    <a name="XML_IO_EIO">XML_IO_EIO</a> = 1516 /* 1516 */
    <a name="XML_IO_EISDIR">XML_IO_EISDIR</a> = 1517 /* 1517 */
    <a name="XML_IO_EMFILE">XML_IO_EMFILE</a> = 1518 /* 1518 */
    <a name="XML_IO_EMLINK">XML_IO_EMLINK</a> = 1519 /* 1519 */
    <a name="XML_IO_EMSGSIZE">XML_IO_EMSGSIZE</a> = 1520 /* 1520 */
    <a name="XML_IO_ENAMETOOLONG">XML_IO_ENAMETOOLONG</a> = 1521 /* 1521 */
    <a name="XML_IO_ENFILE">XML_IO_ENFILE</a> = 1522 /* 1522 */
    <a name="XML_IO_ENODEV">XML_IO_ENODEV</a> = 1523 /* 1523 */
    <a name="XML_IO_ENOENT">XML_IO_ENOENT</a> = 1524 /* 1524 */
    <a name="XML_IO_ENOEXEC">XML_IO_ENOEXEC</a> = 1525 /* 1525 */
    <a name="XML_IO_ENOLCK">XML_IO_ENOLCK</a> = 1526 /* 1526 */
    <a name="XML_IO_ENOMEM">XML_IO_ENOMEM</a> = 1527 /* 1527 */
    <a name="XML_IO_ENOSPC">XML_IO_ENOSPC</a> = 1528 /* 1528 */
    <a name="XML_IO_ENOSYS">XML_IO_ENOSYS</a> = 1529 /* 1529 */
    <a name="XML_IO_ENOTDIR">XML_IO_ENOTDIR</a> = 1530 /* 1530 */
    <a name="XML_IO_ENOTEMPTY">XML_IO_ENOTEMPTY</a> = 1531 /* 1531 */
    <a name="XML_IO_ENOTSUP">XML_IO_ENOTSUP</a> = 1532 /* 1532 */
    <a name="XML_IO_ENOTTY">XML_IO_ENOTTY</a> = 1533 /* 1533 */
    <a name="XML_IO_ENXIO">XML_IO_ENXIO</a> = 1534 /* 1534 */
    <a name="XML_IO_EPERM">XML_IO_EPERM</a> = 1535 /* 1535 */
    <a name="XML_IO_EPIPE">XML_IO_EPIPE</a> = 1536 /* 1536 */
    <a name="XML_IO_ERANGE">XML_IO_ERANGE</a> = 1537 /* 1537 */
    <a name="XML_IO_EROFS">XML_IO_EROFS</a> = 1538 /* 1538 */
    <a name="XML_IO_ESPIPE">XML_IO_ESPIPE</a> = 1539 /* 1539 */
    <a name="XML_IO_ESRCH">XML_IO_ESRCH</a> = 1540 /* 1540 */
    <a name="XML_IO_ETIMEDOUT">XML_IO_ETIMEDOUT</a> = 1541 /* 1541 */
    <a name="XML_IO_EXDEV">XML_IO_EXDEV</a> = 1542 /* 1542 */
    <a name="XML_IO_NETWORK_ATTEMPT">XML_IO_NETWORK_ATTEMPT</a> = 1543 /* 1543 */
    <a name="XML_IO_ENCODER">XML_IO_ENCODER</a> = 1544 /* 1544 */
    <a name="XML_IO_FLUSH">XML_IO_FLUSH</a> = 1545 /* 1545 */
    <a name="XML_IO_WRITE">XML_IO_WRITE</a> = 1546 /* 1546 */
    <a name="XML_IO_NO_INPUT">XML_IO_NO_INPUT</a> = 1547 /* 1547 */
    <a name="XML_IO_BUFFER_FULL">XML_IO_BUFFER_FULL</a> = 1548 /* 1548 */
    <a name="XML_IO_LOAD_ERROR">XML_IO_LOAD_ERROR</a> = 1549 /* 1549 */
    <a name="XML_IO_ENOTSOCK">XML_IO_ENOTSOCK</a> = 1550 /* 1550 */
    <a name="XML_IO_EISCONN">XML_IO_EISCONN</a> = 1551 /* 1551 */
    <a name="XML_IO_ECONNREFUSED">XML_IO_ECONNREFUSED</a> = 1552 /* 1552 */
    <a name="XML_IO_ENETUNREACH">XML_IO_ENETUNREACH</a> = 1553 /* 1553 */
    <a name="XML_IO_EADDRINUSE">XML_IO_EADDRINUSE</a> = 1554 /* 1554 */
    <a name="XML_IO_EALREADY">XML_IO_EALREADY</a> = 1555 /* 1555 */
    <a name="XML_IO_EAFNOSUPPORT">XML_IO_EAFNOSUPPORT</a> = 1556 /* 1556 */
    <a name="XML_XINCLUDE_RECURSION">XML_XINCLUDE_RECURSION</a> = 1600
    <a name="XML_XINCLUDE_PARSE_VALUE">XML_XINCLUDE_PARSE_VALUE</a> = 1601 /* 1601 */
    <a name="XML_XINCLUDE_ENTITY_DEF_MISMATCH">XML_XINCLUDE_ENTITY_DEF_MISMATCH</a> = 1602 /* 1602 */
    <a name="XML_XINCLUDE_NO_HREF">XML_XINCLUDE_NO_HREF</a> = 1603 /* 1603 */
    <a name="XML_XINCLUDE_NO_FALLBACK">XML_XINCLUDE_NO_FALLBACK</a> = 1604 /* 1604 */
    <a name="XML_XINCLUDE_HREF_URI">XML_XINCLUDE_HREF_URI</a> = 1605 /* 1605 */
    <a name="XML_XINCLUDE_TEXT_FRAGMENT">XML_XINCLUDE_TEXT_FRAGMENT</a> = 1606 /* 1606 */
    <a name="XML_XINCLUDE_TEXT_DOCUMENT">XML_XINCLUDE_TEXT_DOCUMENT</a> = 1607 /* 1607 */
    <a name="XML_XINCLUDE_INVALID_CHAR">XML_XINCLUDE_INVALID_CHAR</a> = 1608 /* 1608 */
    <a name="XML_XINCLUDE_BUILD_FAILED">XML_XINCLUDE_BUILD_FAILED</a> = 1609 /* 1609 */
    <a name="XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a> = 1610 /* 1610 */
    <a name="XML_XINCLUDE_MULTIPLE_ROOT">XML_XINCLUDE_MULTIPLE_ROOT</a> = 1611 /* 1611 */
    <a name="XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a> = 1612 /* 1612 */
    <a name="XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a> = 1613 /* 1613 */
    <a name="XML_XINCLUDE_INCLUDE_IN_INCLUDE">XML_XINCLUDE_INCLUDE_IN_INCLUDE</a> = 1614 /* 1614 */
    <a name="XML_XINCLUDE_FALLBACKS_IN_INCLUDE">XML_XINCLUDE_FALLBACKS_IN_INCLUDE</a> = 1615 /* 1615 */
    <a name="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE">XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE</a> = 1616 /* 1616 */
    <a name="XML_XINCLUDE_DEPRECATED_NS">XML_XINCLUDE_DEPRECATED_NS</a> = 1617 /* 1617 */
    <a name="XML_XINCLUDE_FRAGMENT_ID">XML_XINCLUDE_FRAGMENT_ID</a> = 1618 /* 1618 */
    <a name="XML_CATALOG_MISSING_ATTR">XML_CATALOG_MISSING_ATTR</a> = 1650
    <a name="XML_CATALOG_ENTRY_BROKEN">XML_CATALOG_ENTRY_BROKEN</a> = 1651 /* 1651 */
    <a name="XML_CATALOG_PREFER_VALUE">XML_CATALOG_PREFER_VALUE</a> = 1652 /* 1652 */
    <a name="XML_CATALOG_NOT_CATALOG">XML_CATALOG_NOT_CATALOG</a> = 1653 /* 1653 */
    <a name="XML_CATALOG_RECURSION">XML_CATALOG_RECURSION</a> = 1654 /* 1654 */
    <a name="XML_SCHEMAP_PREFIX_UNDEFINED">XML_SCHEMAP_PREFIX_UNDEFINED</a> = 1700
    <a name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE">XML_SCHEMAP_ATTRFORMDEFAULT_VALUE</a> = 1701 /* 1701 */
    <a name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF">XML_SCHEMAP_ATTRGRP_NONAME_NOREF</a> = 1702 /* 1702 */
    <a name="XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a> = 1703 /* 1703 */
    <a name="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a> = 1704 /* 1704 */
    <a name="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE">XML_SCHEMAP_ELEMFORMDEFAULT_VALUE</a> = 1705 /* 1705 */
    <a name="XML_SCHEMAP_ELEM_NONAME_NOREF">XML_SCHEMAP_ELEM_NONAME_NOREF</a> = 1706 /* 1706 */
    <a name="XML_SCHEMAP_EXTENSION_NO_BASE">XML_SCHEMAP_EXTENSION_NO_BASE</a> = 1707 /* 1707 */
    <a name="XML_SCHEMAP_FACET_NO_VALUE">XML_SCHEMAP_FACET_NO_VALUE</a> = 1708 /* 1708 */
    <a name="XML_SCHEMAP_FAILED_BUILD_IMPORT">XML_SCHEMAP_FAILED_BUILD_IMPORT</a> = 1709 /* 1709 */
    <a name="XML_SCHEMAP_GROUP_NONAME_NOREF">XML_SCHEMAP_GROUP_NONAME_NOREF</a> = 1710 /* 1710 */
    <a name="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI">XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a> = 1711 /* 1711 */
    <a name="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME">XML_SCHEMAP_IMPORT_REDEFINE_NSNAME</a> = 1712 /* 1712 */
    <a name="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a> = 1713 /* 1713 */
    <a name="XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a> = 1714 /* 1714 */
    <a name="XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a> = 1715 /* 1715 */
    <a name="XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a> = 1716 /* 1716 */
    <a name="XML_SCHEMAP_INVALID_FACET_VALUE">XML_SCHEMAP_INVALID_FACET_VALUE</a> = 1717 /* 1717 */
    <a name="XML_SCHEMAP_INVALID_MAXOCCURS">XML_SCHEMAP_INVALID_MAXOCCURS</a> = 1718 /* 1718 */
    <a name="XML_SCHEMAP_INVALID_MINOCCURS">XML_SCHEMAP_INVALID_MINOCCURS</a> = 1719 /* 1719 */
    <a name="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE">XML_SCHEMAP_INVALID_REF_AND_SUBTYPE</a> = 1720 /* 1720 */
    <a name="XML_SCHEMAP_INVALID_WHITE_SPACE">XML_SCHEMAP_INVALID_WHITE_SPACE</a> = 1721 /* 1721 */
    <a name="XML_SCHEMAP_NOATTR_NOREF">XML_SCHEMAP_NOATTR_NOREF</a> = 1722 /* 1722 */
    <a name="XML_SCHEMAP_NOTATION_NO_NAME">XML_SCHEMAP_NOTATION_NO_NAME</a> = 1723 /* 1723 */
    <a name="XML_SCHEMAP_NOTYPE_NOREF">XML_SCHEMAP_NOTYPE_NOREF</a> = 1724 /* 1724 */
    <a name="XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a> = 1725 /* 1725 */
    <a name="XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a> = 1726 /* 1726 */
    <a name="XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a> = 1727 /* 1727 */
    <a name="XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a> = 1728 /* 1728 */
    <a name="XML_SCHEMAP_UNKNOWN_ALL_CHILD">XML_SCHEMAP_UNKNOWN_ALL_CHILD</a> = 1729 /* 1729 */
    <a name="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD">XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD</a> = 1730 /* 1730 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTR_CHILD">XML_SCHEMAP_UNKNOWN_ATTR_CHILD</a> = 1731 /* 1731 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD">XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD</a> = 1732 /* 1732 */
    <a name="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP">XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP</a> = 1733 /* 1733 */
    <a name="XML_SCHEMAP_UNKNOWN_BASE_TYPE">XML_SCHEMAP_UNKNOWN_BASE_TYPE</a> = 1734 /* 1734 */
    <a name="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD">XML_SCHEMAP_UNKNOWN_CHOICE_CHILD</a> = 1735 /* 1735 */
    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD</a> = 1736 /* 1736 */
    <a name="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD">XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD</a> = 1737 /* 1737 */
    <a name="XML_SCHEMAP_UNKNOWN_ELEM_CHILD">XML_SCHEMAP_UNKNOWN_ELEM_CHILD</a> = 1738 /* 1738 */
    <a name="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD">XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD</a> = 1739 /* 1739 */
    <a name="XML_SCHEMAP_UNKNOWN_FACET_CHILD">XML_SCHEMAP_UNKNOWN_FACET_CHILD</a> = 1740 /* 1740 */
    <a name="XML_SCHEMAP_UNKNOWN_FACET_TYPE">XML_SCHEMAP_UNKNOWN_FACET_TYPE</a> = 1741 /* 1741 */
    <a name="XML_SCHEMAP_UNKNOWN_GROUP_CHILD">XML_SCHEMAP_UNKNOWN_GROUP_CHILD</a> = 1742 /* 1742 */
    <a name="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a> = 1743 /* 1743 */
    <a name="XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a> = 1744 /* 1744 */
    <a name="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a> = 1745 /* 1745 */
    <a name="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a> = 1746 /* 1746 */
    <a name="XML_SCHEMAP_UNKNOWN_REF">XML_SCHEMAP_UNKNOWN_REF</a> = 1747 /* 1747 */
    <a name="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD">XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD</a> = 1748 /* 1748 */
    <a name="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD">XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a> = 1749 /* 1749 */
    <a name="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD">XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a> = 1750 /* 1750 */
    <a name="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a> = 1751 /* 1751 */
    <a name="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a> = 1752 /* 1752 */
    <a name="XML_SCHEMAP_UNKNOWN_TYPE">XML_SCHEMAP_UNKNOWN_TYPE</a> = 1753 /* 1753 */
    <a name="XML_SCHEMAP_UNKNOWN_UNION_CHILD">XML_SCHEMAP_UNKNOWN_UNION_CHILD</a> = 1754 /* 1754 */
    <a name="XML_SCHEMAP_ELEM_DEFAULT_FIXED">XML_SCHEMAP_ELEM_DEFAULT_FIXED</a> = 1755 /* 1755 */
    <a name="XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a> = 1756 /* 1756 */
    <a name="XML_SCHEMAP_FAILED_LOAD">XML_SCHEMAP_FAILED_LOAD</a> = 1757 /* 1757 */
    <a name="XML_SCHEMAP_NOTHING_TO_PARSE">XML_SCHEMAP_NOTHING_TO_PARSE</a> = 1758 /* 1758 */
    <a name="XML_SCHEMAP_NOROOT">XML_SCHEMAP_NOROOT</a> = 1759 /* 1759 */
    <a name="XML_SCHEMAP_REDEFINED_GROUP">XML_SCHEMAP_REDEFINED_GROUP</a> = 1760 /* 1760 */
    <a name="XML_SCHEMAP_REDEFINED_TYPE">XML_SCHEMAP_REDEFINED_TYPE</a> = 1761 /* 1761 */
    <a name="XML_SCHEMAP_REDEFINED_ELEMENT">XML_SCHEMAP_REDEFINED_ELEMENT</a> = 1762 /* 1762 */
    <a name="XML_SCHEMAP_REDEFINED_ATTRGROUP">XML_SCHEMAP_REDEFINED_ATTRGROUP</a> = 1763 /* 1763 */
    <a name="XML_SCHEMAP_REDEFINED_ATTR">XML_SCHEMAP_REDEFINED_ATTR</a> = 1764 /* 1764 */
    <a name="XML_SCHEMAP_REDEFINED_NOTATION">XML_SCHEMAP_REDEFINED_NOTATION</a> = 1765 /* 1765 */
    <a name="XML_SCHEMAP_FAILED_PARSE">XML_SCHEMAP_FAILED_PARSE</a> = 1766 /* 1766 */
    <a name="XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a> = 1767 /* 1767 */
    <a name="XML_SCHEMAP_DEF_AND_PREFIX">XML_SCHEMAP_DEF_AND_PREFIX</a> = 1768 /* 1768 */
    <a name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a> = 1769 /* 1769 */
    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 /* 1770 */
    <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 /* 1771 */
    <a name="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 /* 1772 */
    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 /* 1773 */
    <a name="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 /* 1774 */
    <a name="XML_SCHEMAP_RECURSIVE">XML_SCHEMAP_RECURSIVE</a> = 1775 /* 1775 */
    <a name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a> = 1776 /* 1776 */
    <a name="XML_SCHEMAP_INVALID_ATTR_COMBINATION">XML_SCHEMAP_INVALID_ATTR_COMBINATION</a> = 1777 /* 1777 */
    <a name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION">XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION</a> = 1778 /* 1778 */
    <a name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD">XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD</a> = 1779 /* 1779 */
    <a name="XML_SCHEMAP_INVALID_ATTR_NAME">XML_SCHEMAP_INVALID_ATTR_NAME</a> = 1780 /* 1780 */
    <a name="XML_SCHEMAP_REF_AND_CONTENT">XML_SCHEMAP_REF_AND_CONTENT</a> = 1781 /* 1781 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a> = 1782 /* 1782 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a> = 1783 /* 1783 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a> = 1784 /* 1784 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_4">XML_SCHEMAP_CT_PROPS_CORRECT_4</a> = 1785 /* 1785 */
    <a name="XML_SCHEMAP_CT_PROPS_CORRECT_5">XML_SCHEMAP_CT_PROPS_CORRECT_5</a> = 1786 /* 1786 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1</a> = 1787 /* 1787 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1</a> = 1788 /* 1788 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2</a> = 1789 /* 1789 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2</a> = 1790 /* 1790 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3</a> = 1791 /* 1791 */
    <a name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER">XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a> = 1792 /* 1792 */
    <a name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE">XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE</a> = 1793 /* 1793 */
    <a name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a> = 1794 /* 1794 */
    <a name="XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a> = 1795 /* 1795 */
    <a name="XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a> = 1796 /* 1796 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1</a> = 1797 /* 1797 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2</a> = 1798 /* 1798 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3</a> = 1799 /* 1799 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a> = 1800 /* 1800 */
    <a name="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1801
    <a name="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1802 /* 1802 */
    <a name="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1803 /* 1803 */
    <a name="XML_SCHEMAV_MISSING">XML_SCHEMAV_MISSING</a> = 1804 /* 1804 */
    <a name="XML_SCHEMAV_WRONGELEM">XML_SCHEMAV_WRONGELEM</a> = 1805 /* 1805 */
    <a name="XML_SCHEMAV_NOTYPE">XML_SCHEMAV_NOTYPE</a> = 1806 /* 1806 */
    <a name="XML_SCHEMAV_NOROLLBACK">XML_SCHEMAV_NOROLLBACK</a> = 1807 /* 1807 */
    <a name="XML_SCHEMAV_ISABSTRACT">XML_SCHEMAV_ISABSTRACT</a> = 1808 /* 1808 */
    <a name="XML_SCHEMAV_NOTEMPTY">XML_SCHEMAV_NOTEMPTY</a> = 1809 /* 1809 */
    <a name="XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a> = 1810 /* 1810 */
    <a name="XML_SCHEMAV_HAVEDEFAULT">XML_SCHEMAV_HAVEDEFAULT</a> = 1811 /* 1811 */
    <a name="XML_SCHEMAV_NOTNILLABLE">XML_SCHEMAV_NOTNILLABLE</a> = 1812 /* 1812 */
    <a name="XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a> = 1813 /* 1813 */
    <a name="XML_SCHEMAV_INVALIDATTR">XML_SCHEMAV_INVALIDATTR</a> = 1814 /* 1814 */
    <a name="XML_SCHEMAV_INVALIDELEM">XML_SCHEMAV_INVALIDELEM</a> = 1815 /* 1815 */
    <a name="XML_SCHEMAV_NOTDETERMINIST">XML_SCHEMAV_NOTDETERMINIST</a> = 1816 /* 1816 */
    <a name="XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a> = 1817 /* 1817 */
    <a name="XML_SCHEMAV_INTERNAL">XML_SCHEMAV_INTERNAL</a> = 1818 /* 1818 */
    <a name="XML_SCHEMAV_NOTSIMPLE">XML_SCHEMAV_NOTSIMPLE</a> = 1819 /* 1819 */
    <a name="XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a> = 1820 /* 1820 */
    <a name="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1821 /* 1821 */
    <a name="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1822 /* 1822 */
    <a name="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1823 /* 1823 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1824 /* 1824 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1825 /* 1825 */
    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1826 /* 1826 */
    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1827 /* 1827 */
    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1828 /* 1828 */
    <a name="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1829 /* 1829 */
    <a name="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1830 /* 1830 */
    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1831 /* 1831 */
    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1832 /* 1832 */
    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1833 /* 1833 */
    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1834 /* 1834 */
    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1835 /* 1835 */
    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1836 /* 1836 */
    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1837 /* 1837 */
    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1838 /* 1838 */
    <a name="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1839 /* 1839 */
    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1840 /* 1840 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1841 /* 1841 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1842 /* 1842 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1843 /* 1843 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1844 /* 1844 */
    <a name="XML_SCHEMAV_CVC_ELT_1">XML_SCHEMAV_CVC_ELT_1</a> = 1845 /* 1845 */
    <a name="XML_SCHEMAV_CVC_ELT_2">XML_SCHEMAV_CVC_ELT_2</a> = 1846 /* 1846 */
    <a name="XML_SCHEMAV_CVC_ELT_3_1">XML_SCHEMAV_CVC_ELT_3_1</a> = 1847 /* 1847 */
    <a name="XML_SCHEMAV_CVC_ELT_3_2_1">XML_SCHEMAV_CVC_ELT_3_2_1</a> = 1848 /* 1848 */
    <a name="XML_SCHEMAV_CVC_ELT_3_2_2">XML_SCHEMAV_CVC_ELT_3_2_2</a> = 1849 /* 1849 */
    <a name="XML_SCHEMAV_CVC_ELT_4_1">XML_SCHEMAV_CVC_ELT_4_1</a> = 1850 /* 1850 */
    <a name="XML_SCHEMAV_CVC_ELT_4_2">XML_SCHEMAV_CVC_ELT_4_2</a> = 1851 /* 1851 */
    <a name="XML_SCHEMAV_CVC_ELT_4_3">XML_SCHEMAV_CVC_ELT_4_3</a> = 1852 /* 1852 */
    <a name="XML_SCHEMAV_CVC_ELT_5_1_1">XML_SCHEMAV_CVC_ELT_5_1_1</a> = 1853 /* 1853 */
    <a name="XML_SCHEMAV_CVC_ELT_5_1_2">XML_SCHEMAV_CVC_ELT_5_1_2</a> = 1854 /* 1854 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_1">XML_SCHEMAV_CVC_ELT_5_2_1</a> = 1855 /* 1855 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_1</a> = 1856 /* 1856 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1">XML_SCHEMAV_CVC_ELT_5_2_2_2_1</a> = 1857 /* 1857 */
    <a name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2">XML_SCHEMAV_CVC_ELT_5_2_2_2_2</a> = 1858 /* 1858 */
    <a name="XML_SCHEMAV_CVC_ELT_6">XML_SCHEMAV_CVC_ELT_6</a> = 1859 /* 1859 */
    <a name="XML_SCHEMAV_CVC_ELT_7">XML_SCHEMAV_CVC_ELT_7</a> = 1860 /* 1860 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_1">XML_SCHEMAV_CVC_ATTRIBUTE_1</a> = 1861 /* 1861 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_2">XML_SCHEMAV_CVC_ATTRIBUTE_2</a> = 1862 /* 1862 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_3">XML_SCHEMAV_CVC_ATTRIBUTE_3</a> = 1863 /* 1863 */
    <a name="XML_SCHEMAV_CVC_ATTRIBUTE_4">XML_SCHEMAV_CVC_ATTRIBUTE_4</a> = 1864 /* 1864 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1</a> = 1865 /* 1865 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a> = 1866 /* 1866 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a> = 1867 /* 1867 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_4</a> = 1868 /* 1868 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1</a> = 1869 /* 1869 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2</a> = 1870 /* 1870 */
    <a name="XML_SCHEMAV_ELEMENT_CONTENT">XML_SCHEMAV_ELEMENT_CONTENT</a> = 1871 /* 1871 */
    <a name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING">XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING</a> = 1872 /* 1872 */
    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_1</a> = 1873 /* 1873 */
    <a name="XML_SCHEMAV_CVC_AU">XML_SCHEMAV_CVC_AU</a> = 1874 /* 1874 */
    <a name="XML_SCHEMAV_CVC_TYPE_1">XML_SCHEMAV_CVC_TYPE_1</a> = 1875 /* 1875 */
    <a name="XML_SCHEMAV_CVC_TYPE_2">XML_SCHEMAV_CVC_TYPE_2</a> = 1876 /* 1876 */
    <a name="XML_SCHEMAV_CVC_IDC">XML_SCHEMAV_CVC_IDC</a> = 1877 /* 1877 */
    <a name="XML_SCHEMAV_CVC_WILDCARD">XML_SCHEMAV_CVC_WILDCARD</a> = 1878 /* 1878 */
    <a name="XML_SCHEMAV_MISC">XML_SCHEMAV_MISC</a> = 1879 /* 1879 */
    <a name="XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a> = 1900
    <a name="XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a> = 1901 /* 1901 */
    <a name="XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a> = 1902 /* 1902 */
    <a name="XML_XPTR_EXTRA_OBJECTS">XML_XPTR_EXTRA_OBJECTS</a> = 1903 /* 1903 */
    <a name="XML_C14N_CREATE_CTXT">XML_C14N_CREATE_CTXT</a> = 1950
    <a name="XML_C14N_REQUIRES_UTF8">XML_C14N_REQUIRES_UTF8</a> = 1951 /* 1951 */
    <a name="XML_C14N_CREATE_STACK">XML_C14N_CREATE_STACK</a> = 1952 /* 1952 */
    <a name="XML_C14N_INVALID_NODE">XML_C14N_INVALID_NODE</a> = 1953 /* 1953 */
    <a name="XML_C14N_UNKNOW_NODE">XML_C14N_UNKNOW_NODE</a> = 1954 /* 1954 */
    <a name="XML_C14N_RELATIVE_NAMESPACE">XML_C14N_RELATIVE_NAMESPACE</a> = 1955 /* 1955 */
    <a name="XML_FTP_PASV_ANSWER">XML_FTP_PASV_ANSWER</a> = 2000
    <a name="XML_FTP_EPSV_ANSWER">XML_FTP_EPSV_ANSWER</a> = 2001 /* 2001 */
    <a name="XML_FTP_ACCNT">XML_FTP_ACCNT</a> = 2002 /* 2002 */
    <a name="XML_FTP_URL_SYNTAX">XML_FTP_URL_SYNTAX</a> = 2003 /* 2003 */
    <a name="XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a> = 2020
    <a name="XML_HTTP_USE_IP">XML_HTTP_USE_IP</a> = 2021 /* 2021 */
    <a name="XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a> = 2022 /* 2022 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a> = 3000
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a> = 3001 /* 3001 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a> = 3002 /* 3002 */
    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a> = 3003 /* 3003 */
    <a name="XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a> = 3004 /* 3004 */
    <a name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a> = 3005 /* 3005 */
    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 /* 3006 */
    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 /* 3007 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 /* 3008 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 /* 3009 */
    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 /* 3010 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 /* 3011 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 /* 3012 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 /* 3013 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 /* 3014 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 /* 3015 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 /* 3016 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 /* 3017 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 /* 3018 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 /* 3019 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 /* 3020 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a> = 3021 /* 3021 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a> = 3022 /* 3022 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a> = 3023 /* 3023 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a> = 3024 /* 3024 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a> = 3025 /* 3025 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a> = 3026 /* 3026 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a> = 3027 /* 3027 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a> = 3028 /* 3028 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a> = 3029 /* 3029 */
    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a> = 3030 /* 3030 */
    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a> = 3031 /* 3031 */
    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a> = 3032 /* 3032 */
    <a name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a> = 3033 /* 3033 */
    <a name="XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a> = 3034 /* 3034 */
    <a name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a> = 3035 /* 3035 */
    <a name="XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a> = 3036 /* 3036 */
    <a name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE">XML_SCHEMAP_S4S_ATTR_INVALID_VALUE</a> = 3037 /* 3037 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_1">XML_SCHEMAP_SRC_ELEMENT_1</a> = 3038 /* 3038 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_2_1">XML_SCHEMAP_SRC_ELEMENT_2_1</a> = 3039 /* 3039 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_2_2">XML_SCHEMAP_SRC_ELEMENT_2_2</a> = 3040 /* 3040 */
    <a name="XML_SCHEMAP_SRC_ELEMENT_3">XML_SCHEMAP_SRC_ELEMENT_3</a> = 3041 /* 3041 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_1">XML_SCHEMAP_P_PROPS_CORRECT_1</a> = 3042 /* 3042 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_1">XML_SCHEMAP_P_PROPS_CORRECT_2_1</a> = 3043 /* 3043 */
    <a name="XML_SCHEMAP_P_PROPS_CORRECT_2_2">XML_SCHEMAP_P_PROPS_CORRECT_2_2</a> = 3044 /* 3044 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_2">XML_SCHEMAP_E_PROPS_CORRECT_2</a> = 3045 /* 3045 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_3">XML_SCHEMAP_E_PROPS_CORRECT_3</a> = 3046 /* 3046 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_4">XML_SCHEMAP_E_PROPS_CORRECT_4</a> = 3047 /* 3047 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_5">XML_SCHEMAP_E_PROPS_CORRECT_5</a> = 3048 /* 3048 */
    <a name="XML_SCHEMAP_E_PROPS_CORRECT_6">XML_SCHEMAP_E_PROPS_CORRECT_6</a> = 3049 /* 3049 */
    <a name="XML_SCHEMAP_SRC_INCLUDE">XML_SCHEMAP_SRC_INCLUDE</a> = 3050 /* 3050 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_1">XML_SCHEMAP_SRC_ATTRIBUTE_1</a> = 3051 /* 3051 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_2">XML_SCHEMAP_SRC_ATTRIBUTE_2</a> = 3052 /* 3052 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1">XML_SCHEMAP_SRC_ATTRIBUTE_3_1</a> = 3053 /* 3053 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2">XML_SCHEMAP_SRC_ATTRIBUTE_3_2</a> = 3054 /* 3054 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_4">XML_SCHEMAP_SRC_ATTRIBUTE_4</a> = 3055 /* 3055 */
    <a name="XML_SCHEMAP_NO_XMLNS">XML_SCHEMAP_NO_XMLNS</a> = 3056 /* 3056 */
    <a name="XML_SCHEMAP_NO_XSI">XML_SCHEMAP_NO_XSI</a> = 3057 /* 3057 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_1">XML_SCHEMAP_COS_VALID_DEFAULT_1</a> = 3058 /* 3058 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_1</a> = 3059 /* 3059 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1</a> = 3060 /* 3060 */
    <a name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2">XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2</a> = 3061 /* 3061 */
    <a name="XML_SCHEMAP_CVC_SIMPLE_TYPE">XML_SCHEMAP_CVC_SIMPLE_TYPE</a> = 3062 /* 3062 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_1">XML_SCHEMAP_COS_CT_EXTENDS_1_1</a> = 3063 /* 3063 */
    <a name="XML_SCHEMAP_SRC_IMPORT_1_1">XML_SCHEMAP_SRC_IMPORT_1_1</a> = 3064 /* 3064 */
    <a name="XML_SCHEMAP_SRC_IMPORT_1_2">XML_SCHEMAP_SRC_IMPORT_1_2</a> = 3065 /* 3065 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2">XML_SCHEMAP_SRC_IMPORT_2</a> = 3066 /* 3066 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2_1">XML_SCHEMAP_SRC_IMPORT_2_1</a> = 3067 /* 3067 */
    <a name="XML_SCHEMAP_SRC_IMPORT_2_2">XML_SCHEMAP_SRC_IMPORT_2_2</a> = 3068 /* 3068 */
    <a name="XML_SCHEMAP_INTERNAL">XML_SCHEMAP_INTERNAL</a> = 3069 /* 3069 non-W3C */
    <a name="XML_SCHEMAP_NOT_DETERMINISTIC">XML_SCHEMAP_NOT_DETERMINISTIC</a> = 3070 /* 3070 non-W3C */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1</a> = 3071 /* 3071 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2</a> = 3072 /* 3072 */
    <a name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3">XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3</a> = 3073 /* 3073 */
    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_1">XML_SCHEMAP_MG_PROPS_CORRECT_1</a> = 3074 /* 3074 */
    <a name="XML_SCHEMAP_MG_PROPS_CORRECT_2">XML_SCHEMAP_MG_PROPS_CORRECT_2</a> = 3075 /* 3075 */
    <a name="XML_SCHEMAP_SRC_CT_1">XML_SCHEMAP_SRC_CT_1</a> = 3076 /* 3076 */
    <a name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3">XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3</a> = 3077 /* 3077 */
    <a name="XML_SCHEMAP_AU_PROPS_CORRECT_2">XML_SCHEMAP_AU_PROPS_CORRECT_2</a> = 3078 /* 3078 */
    <a name="XML_SCHEMAP_A_PROPS_CORRECT_2">XML_SCHEMAP_A_PROPS_CORRECT_2</a> = 3079 /* 3079 */
    <a name="XML_SCHEMAP_C_PROPS_CORRECT">XML_SCHEMAP_C_PROPS_CORRECT</a> = 3080 /* 3080 */
    <a name="XML_SCHEMAP_SRC_REDEFINE">XML_SCHEMAP_SRC_REDEFINE</a> = 3081 /* 3081 */
    <a name="XML_SCHEMAP_SRC_IMPORT">XML_SCHEMAP_SRC_IMPORT</a> = 3082 /* 3082 */
    <a name="XML_SCHEMAP_WARN_SKIP_SCHEMA">XML_SCHEMAP_WARN_SKIP_SCHEMA</a> = 3083 /* 3083 */
    <a name="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA">XML_SCHEMAP_WARN_UNLOCATED_SCHEMA</a> = 3084 /* 3084 */
    <a name="XML_SCHEMAP_WARN_ATTR_REDECL_PROH">XML_SCHEMAP_WARN_ATTR_REDECL_PROH</a> = 3085 /* 3085 */
    <a name="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH">XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH</a> = 3086 /* 3085 */
    <a name="XML_SCHEMAP_AG_PROPS_CORRECT">XML_SCHEMAP_AG_PROPS_CORRECT</a> = 3087 /* 3086 */
    <a name="XML_SCHEMAP_COS_CT_EXTENDS_1_2">XML_SCHEMAP_COS_CT_EXTENDS_1_2</a> = 3088 /* 3087 */
    <a name="XML_SCHEMAP_AU_PROPS_CORRECT">XML_SCHEMAP_AU_PROPS_CORRECT</a> = 3089 /* 3088 */
    <a name="XML_SCHEMAP_A_PROPS_CORRECT_3">XML_SCHEMAP_A_PROPS_CORRECT_3</a> = 3090 /* 3089 */
    <a name="XML_SCHEMAP_COS_ALL_LIMITED">XML_SCHEMAP_COS_ALL_LIMITED</a> = 3091 /* 3090 */
    <a name="XML_SCHEMATRONV_ASSERT">XML_SCHEMATRONV_ASSERT</a> = 4000 /* 4000 */
    <a name="XML_SCHEMATRONV_REPORT">XML_SCHEMATRONV_REPORT</a> = 4001
    <a name="XML_MODULE_OPEN">XML_MODULE_OPEN</a> = 4900 /* 4900 */
    <a name="XML_MODULE_CLOSE">XML_MODULE_CLOSE</a> = 4901 /* 4901 */
    <a name="XML_CHECK_FOUND_ELEMENT">XML_CHECK_FOUND_ELEMENT</a> = 5000
    <a name="XML_CHECK_FOUND_ATTRIBUTE">XML_CHECK_FOUND_ATTRIBUTE</a> = 5001 /* 5001 */
    <a name="XML_CHECK_FOUND_TEXT">XML_CHECK_FOUND_TEXT</a> = 5002 /* 5002 */
    <a name="XML_CHECK_FOUND_CDATA">XML_CHECK_FOUND_CDATA</a> = 5003 /* 5003 */
    <a name="XML_CHECK_FOUND_ENTITYREF">XML_CHECK_FOUND_ENTITYREF</a> = 5004 /* 5004 */
    <a name="XML_CHECK_FOUND_ENTITY">XML_CHECK_FOUND_ENTITY</a> = 5005 /* 5005 */
    <a name="XML_CHECK_FOUND_PI">XML_CHECK_FOUND_PI</a> = 5006 /* 5006 */
    <a name="XML_CHECK_FOUND_COMMENT">XML_CHECK_FOUND_COMMENT</a> = 5007 /* 5007 */
    <a name="XML_CHECK_FOUND_DOCTYPE">XML_CHECK_FOUND_DOCTYPE</a> = 5008 /* 5008 */
    <a name="XML_CHECK_FOUND_FRAGMENT">XML_CHECK_FOUND_FRAGMENT</a> = 5009 /* 5009 */
    <a name="XML_CHECK_FOUND_NOTATION">XML_CHECK_FOUND_NOTATION</a> = 5010 /* 5010 */
    <a name="XML_CHECK_UNKNOWN_NODE">XML_CHECK_UNKNOWN_NODE</a> = 5011 /* 5011 */
    <a name="XML_CHECK_ENTITY_TYPE">XML_CHECK_ENTITY_TYPE</a> = 5012 /* 5012 */
    <a name="XML_CHECK_NO_PARENT">XML_CHECK_NO_PARENT</a> = 5013 /* 5013 */
    <a name="XML_CHECK_NO_DOC">XML_CHECK_NO_DOC</a> = 5014 /* 5014 */
    <a name="XML_CHECK_NO_NAME">XML_CHECK_NO_NAME</a> = 5015 /* 5015 */
    <a name="XML_CHECK_NO_ELEM">XML_CHECK_NO_ELEM</a> = 5016 /* 5016 */
    <a name="XML_CHECK_WRONG_DOC">XML_CHECK_WRONG_DOC</a> = 5017 /* 5017 */
    <a name="XML_CHECK_NO_PREV">XML_CHECK_NO_PREV</a> = 5018 /* 5018 */
    <a name="XML_CHECK_WRONG_PREV">XML_CHECK_WRONG_PREV</a> = 5019 /* 5019 */
    <a name="XML_CHECK_NO_NEXT">XML_CHECK_NO_NEXT</a> = 5020 /* 5020 */
    <a name="XML_CHECK_WRONG_NEXT">XML_CHECK_WRONG_NEXT</a> = 5021 /* 5021 */
    <a name="XML_CHECK_NOT_DTD">XML_CHECK_NOT_DTD</a> = 5022 /* 5022 */
    <a name="XML_CHECK_NOT_ATTR">XML_CHECK_NOT_ATTR</a> = 5023 /* 5023 */
    <a name="XML_CHECK_NOT_ATTR_DECL">XML_CHECK_NOT_ATTR_DECL</a> = 5024 /* 5024 */
    <a name="XML_CHECK_NOT_ELEM_DECL">XML_CHECK_NOT_ELEM_DECL</a> = 5025 /* 5025 */
    <a name="XML_CHECK_NOT_ENTITY_DECL">XML_CHECK_NOT_ENTITY_DECL</a> = 5026 /* 5026 */
    <a name="XML_CHECK_NOT_NS_DECL">XML_CHECK_NOT_NS_DECL</a> = 5027 /* 5027 */
    <a name="XML_CHECK_NO_HREF">XML_CHECK_NO_HREF</a> = 5028 /* 5028 */
    <a name="XML_CHECK_WRONG_PARENT">XML_CHECK_WRONG_PARENT</a> = 5029 /* 5029 */
    <a name="XML_CHECK_NS_SCOPE">XML_CHECK_NS_SCOPE</a> = 5030 /* 5030 */
    <a name="XML_CHECK_NS_ANCESTOR">XML_CHECK_NS_ANCESTOR</a> = 5031 /* 5031 */
    <a name="XML_CHECK_NOT_UTF8">XML_CHECK_NOT_UTF8</a> = 5032 /* 5032 */
    <a name="XML_CHECK_NO_DICT">XML_CHECK_NO_DICT</a> = 5033 /* 5033 */
    <a name="XML_CHECK_NOT_NCNAME">XML_CHECK_NOT_NCNAME</a> = 5034 /* 5034 */
    <a name="XML_CHECK_OUTSIDE_DICT">XML_CHECK_OUTSIDE_DICT</a> = 5035 /* 5035 */
    <a name="XML_CHECK_WRONG_NAME">XML_CHECK_WRONG_NAME</a> = 5036 /* 5036 */
    <a name="XML_CHECK_NAME_NOT_NULL">XML_CHECK_NAME_NOT_NULL</a> = 5037 /* 5037 */
    <a name="XML_I18N_NO_NAME">XML_I18N_NO_NAME</a> = 6000
    <a name="XML_I18N_NO_HANDLER">XML_I18N_NO_HANDLER</a> = 6001 /* 6001 */
    <a name="XML_I18N_EXCESS_HANDLER">XML_I18N_EXCESS_HANDLER</a> = 6002 /* 6002 */
    <a name="XML_I18N_CONV_FAILED">XML_I18N_CONV_FAILED</a> = 6003 /* 6003 */
    <a name="XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a> = 6004 /* 6004 */
    <a name="XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a> = 7000
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGenericErrorFunc"></a>Function type xmlGenericErrorFunc</h3>
<pre class="programlisting">void	xmlGenericErrorFunc		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of the function to use when there is an error and no parsing or validity context available .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>a parsing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>the extra arguments of the varargs to format the message</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredErrorFunc"></a>Function type xmlStructuredErrorFunc</h3>
<pre class="programlisting">void	xmlStructuredErrorFunc		(void * userData, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br>
</pre>
<p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>user provided data for the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>error</tt></i>:</span></td>
<td>the error being raised.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="initGenericErrorDefaultFunc"></a>initGenericErrorDefaultFunc ()</h3>
<pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br>
</pre>
<p>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyError"></a>xmlCopyError ()</h3>
<pre class="programlisting">int	xmlCopyError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
</pre>
<p>Save the original error to the new place.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>from</tt></i>:</span></td>
<td>a source error</td>
</tr>
<tr>
<td><span class="term"><i><tt>to</tt></i>:</span></td>
<td>a target error</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br>
</pre>
<p>Get the last parsing error registered.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if no error occurred or a pointer to the error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtResetLastError"></a>xmlCtxtResetLastError ()</h3>
<pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br>
</pre>
<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLastError"></a>xmlGetLastError ()</h3>
<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br>
</pre>
<p>Get the last global error registered. This is per thread if compiled with thread support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if no error occurred or a pointer to the error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserError"></a>xmlParserError ()</h3>
<pre class="programlisting">void	xmlParserError			(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an error messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserPrintFileContext"></a>xmlParserPrintFileContext ()</h3>
<pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Displays current context within the input content for error tracking</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserPrintFileInfo"></a>xmlParserPrintFileInfo ()</h3>
<pre class="programlisting">void	xmlParserPrintFileInfo		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Displays the associated file and line information for the current input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserValidityError"></a>xmlParserValidityError ()</h3>
<pre class="programlisting">void	xmlParserValidityError		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserValidityWarning"></a>xmlParserValidityWarning ()</h3>
<pre class="programlisting">void	xmlParserValidityWarning	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserWarning"></a>xmlParserWarning ()</h3>
<pre class="programlisting">void	xmlParserWarning		(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message to display/transmit</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra parameters for the message display</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlResetError"></a>xmlResetError ()</h3>
<pre class="programlisting">void	xmlResetError			(<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br>
</pre>
<p>Cleanup the error.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>pointer to the error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlResetLastError"></a>xmlResetLastError ()</h3>
<pre class="programlisting">void	xmlResetLastError		(void)<br>
</pre>
<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetGenericErrorFunc"></a>xmlSetGenericErrorFunc ()</h3>
<pre class="programlisting">void	xmlSetGenericErrorFunc		(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
</pre>
<p>Function to reset the handler and the error context for out of context error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must be set separately for each thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the new error handling context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new handler function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetStructuredErrorFunc"></a>xmlSetStructuredErrorFunc ()</h3>
<pre class="programlisting">void	xmlSetStructuredErrorFunc	(void * ctx, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
</pre>
<p>Function to reset the handler and the error context for out of context structured error messages. This simply means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must be set separately for each thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the new error handling context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the new handler function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Ze�%�W�W�;usr/share/gtk-doc/html/libxml2/libxml2-parserInternals.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>parserInternals: internals routines and limits exported by the parser.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-pattern.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">parserInternals</span></h2>
<p>parserInternals - internals routines and limits exported by the parser.</p>
<p>this module exports a number of internal parsing routines they are not really all intended for applications but can prove useful doing low level processing. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
#define <a href="#IS_BLANK">IS_BLANK</a>(c);
#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
#define <a href="#IS_CHAR">IS_CHAR</a>(c);
#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
#define <a href="#IS_LETTER">IS_LETTER</a>(c);
#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br>							 const char * encoding);
void	<a href="#htmlInitAutoClose">htmlInitAutoClose</a>		(void);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#inputPush">inputPush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#namePush">namePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#nodePush">nodePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value);
int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>	(const char * filename);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br>						 int options);
int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
typedef void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
void	<a href="#xmlErrMemory">xmlErrMemory</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra);
void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewStringInputStream">xmlNewStringInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
void	<a href="#xmlNextChar">xmlNextChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttValue">xmlParseAttValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseAttribute">xmlParseAttribute</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
void	<a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseAttributeType">xmlParseAttributeType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
void	<a href="#xmlParseCDSect">xmlParseCDSect</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseCharData">xmlParseCharData</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata);
int	<a href="#xmlParseCharRef">xmlParseCharRef</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseComment">xmlParseComment</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseContent">xmlParseContent</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
void	<a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseElement">xmlParseElement</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
int	<a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
int	<a href="#xmlParseElementDecl">xmlParseElementDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	<a href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncName">xmlParseEncName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseEndTag">xmlParseEndTag</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlParseEntityRef">xmlParseEntityRef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseEntityValue">xmlParseEntityValue</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
int	<a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseEnumerationType">xmlParseEnumerationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseExternalID">xmlParseExternalID</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict);
void	<a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParsePEReference">xmlParsePEReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePubidLiteral">xmlParsePubidLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseSystemLiteral">xmlParseSystemLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseTextDecl">xmlParseTextDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionInfo">xmlParseVersionInfo</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionNum">xmlParseVersionNum</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParseXMLDecl">xmlParseXMLDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
int	<a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
int	<a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="INPUT_CHUNK">Macro </a>INPUT_CHUNK</h3>
<pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
</pre>
<p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_ASCII_DIGIT">Macro </a>IS_ASCII_DIGIT</h3>
<pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
</pre>
<p>Macro to check [0-9]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3>
<pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
</pre>
<p>Macro to check [a-zA-Z]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3>
<pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BLANK">Macro </a>IS_BLANK</h3>
<pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3>
<pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
</pre>
<p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3>
<pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any byte character in the accepted range</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an byte value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_CHAR">Macro </a>IS_CHAR</h3>
<pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3>
<pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_COMBINING">Macro </a>IS_COMBINING</h3>
<pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3>
<pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
</pre>
<p>Always false (all combining chars &gt; 0xff)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_DIGIT">Macro </a>IS_DIGIT</h3>
<pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3>
<pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte argument</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3>
<pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3>
<pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
</pre>
<p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte argument</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3>
<pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_LETTER">Macro </a>IS_LETTER</h3>
<pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3>
<pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
</pre>
<p>Macro behaves like IS_LETTER, but only check base chars</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3>
<pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
</pre>
<p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an UNICODE value (int)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3>
<pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
</pre>
<p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3>
<pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
</pre>
<p>Skips to the next '&gt;' char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3>
<pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
</pre>
<p>Skips to the next '&lt;' char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="SKIP_EOL">Macro </a>SKIP_EOL</h3>
<pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
</pre>
<p>Skips the end of line chars.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>p</tt></i>:</span></td>
<td>and UTF8 string pointer</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_DICTIONARY_LIMIT">Macro </a>XML_MAX_DICTIONARY_LIMIT</h3>
<pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
</pre>
<p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_LOOKUP_LIMIT">Macro </a>XML_MAX_LOOKUP_LIMIT</h3>
<pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
</pre>
<p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3>
<pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
</pre>
<p>Identifiers can be longer, but this will be more costly at runtime.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3>
<pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
</pre>
<p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage in face of "unfriendly' content Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3>
<pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
</pre>
<p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. Introduced in 2.9.0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_BOTH">Macro </a>XML_SUBSTITUTE_BOTH</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
</pre>
<p>Both general and parameter entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_NONE">Macro </a>XML_SUBSTITUTE_NONE</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
</pre>
<p>If no entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_PEREF">Macro </a>XML_SUBSTITUTE_PEREF</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
</pre>
<p>Whether parameter entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SUBSTITUTE_REF">Macro </a>XML_SUBSTITUTE_REF</h3>
<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
</pre>
<p>Whether general entities need to be substituted.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityReferenceFunc"></a>Function type xmlEntityReferenceFunc</h3>
<pre class="programlisting">void	xmlEntityReferenceFunc		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)<br>
</pre>
<p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ent</tt></i>:</span></td>
<td>the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>firstNode</tt></i>:</span></td>
<td>the fist node in the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>lastNode</tt></i>:</span></td>
<td>the last nod in the chunk</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3>
<pre class="programlisting">unsigned int xmlParserMaxDepth;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringComment">Variable </a>xmlStringComment</h3>
<pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringText">Variable </a>xmlStringText</h3>
<pre class="programlisting">const xmlCharxmlStringText[] xmlStringText;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringTextNoenc">Variable </a>xmlStringTextNoenc</h3>
<pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateFileParserCtxt	(const char * filename, <br>							 const char * encoding)<br>
</pre>
<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3>
<pre class="programlisting">void	htmlInitAutoClose		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. This is a no-op now.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inputPop"></a>inputPop ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top parser input from the input stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the input just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="inputPush"></a>inputPush ()</h3>
<pre class="programlisting">int	inputPush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br>
</pre>
<p>Pushes a new parser input on top of the input stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namePop"></a>namePop ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top element name from the name stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the name just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="namePush"></a>namePush ()</h3>
<pre class="programlisting">int	namePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Pushes a new element name on top of the name stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="nodePop"></a>nodePop ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Pops the top element node from the node stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the node just removed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="nodePush"></a>nodePush ()</h3>
<pre class="programlisting">int	nodePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br>
</pre>
<p>Pushes a new element node on top of the node stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the element node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, the index in the stack otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3>
<pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
</pre>
<p>Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>lang</tt></i>:</span></td>
<td>pointer to the string value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if correct 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyChar"></a>xmlCopyChar ()</h3>
<pre class="programlisting">int	xmlCopyChar			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
</pre>
<p>append the char value in the array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>Ignored, compatibility</td>
</tr>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3>
<pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
</pre>
<p>append the char value in the array</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the char value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the entity URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the entity PUBLIC ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>a possible base for the target URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateFileParserCtxt	(const char * filename)<br>
</pre>
<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create a parser context for an XML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateURLParserCtxt	(const char * filename, <br>						 int options)<br>
</pre>
<p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time and for file accesses</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3>
<pre class="programlisting">int	xmlCurrentChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len)<br>
</pre>
<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the char read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current char value and its length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>This function is deprecated, we now always process entities content through <a href="libxml2-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the len to decode (in bytes !), -1 for no size limit</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlErrMemory"></a>xmlErrMemory ()</h3>
<pre class="programlisting">void	xmlErrMemory			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * extra)<br>
</pre>
<p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>extra</tt></i>:</span></td>
<td>extra information</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3>
<pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>Free up an input stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3>
<pre class="programlisting">void	xmlHandleEntity			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
</pre>
<p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>entity</tt></i>:</span></td>
<td>an XML entity pointer.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsLetter"></a>xmlIsLetter ()</h3>
<pre class="programlisting">int	xmlIsLetter			(int c)<br>
</pre>
<p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>an unicode character (int)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if not, non-zero otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local part, and prefix is updated to get the Prefix if any.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
</pre>
<p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>entity</tt></i>:</span></td>
<td>an Entity pointer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename)<br>
</pre>
<p>Create a new input stream based on a file or an URL.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename to use as entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Create a new input stream structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br>
</pre>
<p>Create a new input stream based on a memory buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>an memory buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new input stream</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNextChar"></a>xmlNextChar ()</h3>
<pre class="programlisting">void	xmlNextChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Skip to the next char input char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a value for an <a href="libxml2-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml2-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml2-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml2-SAX.html#attribute">attribute</a> value - an entity <a href="libxml2-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml2-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the AttValue parsed or NULL. The value has to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
</pre>
<p>parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name, and the value in *value.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3>
<pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>: parse the Attribute list def for an element [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3>
<pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
</pre>
<p>parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml2-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml2-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml2-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml2-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the enumeration tree built while parsing</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3>
<pre class="programlisting">void	xmlParseCDSect			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharData"></a>xmlParseCharData ()</h3>
<pre class="programlisting">void	xmlParseCharData		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int cdata)<br>
</pre>
<p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cdata</tt></i>:</span></td>
<td>int indicating whether we are within a CDATA section</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3>
<pre class="programlisting">int	xmlParseCharRef			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value parsed (as an int), 0 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseComment"></a>xmlParseComment ()</h3>
<pre class="programlisting">void	xmlParseComment			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseContent"></a>xmlParseContent ()</h3>
<pre class="programlisting">void	xmlParseContent			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3>
<pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
</pre>
<p>Parse an <a href="libxml2-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml2-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml2-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml2-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml2-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3>
<pre class="programlisting">void	xmlParseDocTypeDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type declaration must match the element type of the root element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElement"></a>xmlParseElement ()</h3>
<pre class="programlisting">void	xmlParseElement			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The Name in an element's end-tag must match the element type in the start-tag.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementChildrenContentDecl"></a>xmlParseElementChildrenContentDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
</pre>
<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml2-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
<td>the input used for the current entity, needed for boundary checks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the tree of <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element hierarchy.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3>
<pre class="programlisting">int	xmlParseElementContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br>
</pre>
<p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the element being defined.</td>
</tr>
<tr>
<td><span class="term"><i><tt>result</tt></i>:</span></td>
<td>the Element Content pointer will be stored here if any</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type of element content XML_ELEMENT_TYPE_xxx</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3>
<pre class="programlisting">int	xmlParseElementDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: Unique Element Type Declaration ] No element type may be declared more than once</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type of the element, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseElementMixedContentDecl"></a>xmlParseElementMixedContentDecl ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementMixedContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
</pre>
<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single mixed-content declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>inputchk</tt></i>:</span></td>
<td>the input used for the current entity, needed for boundary checks</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the list of the <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element choices</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEncName"></a>xmlParseEncName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the encoding name value or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEncodingDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName "'") this setups the conversion filters.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the encoding value or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3>
<pre class="programlisting">void	xmlParseEndTag			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3>
<pre class="programlisting">void	xmlParseEntityDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlParseEntityRef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. Similarly, the declaration of a general entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list declaration. Note that if entities are declared in the external subset or in external parameter entities, a non-validating processor is not obligated to read and process their declarations; for such documents, the rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseEntityValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br>
</pre>
<p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>orig</tt></i>:</span></td>
<td>if non-NULL store a copy of the original entity value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the EntityValue parsed with <a href="libxml2-SAX.html#reference">reference</a> substituted or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3>
<pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
</pre>
<p>parse an Enumerated <a href="libxml2-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the enumeration tree built while parsing</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Enumeration <a href="libxml2-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseExternalID	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>					 int strict)<br>
</pre>
<p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
<td>a xmlChar** receiving PubidLiteral</td>
</tr>
<tr>
<td><span class="term"><i><tt>strict</tt></i>:</span></td>
<td>indicate whether we should restrict parsing to only production [75], see NOTE below</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID set.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3>
<pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external identifier</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the system identifier (or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3>
<pre class="programlisting">void	xmlParseMarkupDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested with markup declarations. That is to say, if either the first character or the last character of a markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, parameter-entity references can occur only where markup declarations can occur, not within markup declarations. (This does not apply to references that occur in external parameter entities or to the external subset.)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseMisc"></a>xmlParseMisc ()</h3>
<pre class="programlisting">void	xmlParseMisc			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseName"></a>xmlParseName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 Name)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Name parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3>
<pre class="programlisting">void	xmlParseNamespace		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Nmtoken parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3>
<pre class="programlisting">void	xmlParseNotationDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an Notation <a href="libxml2-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3>
<pre class="programlisting">void	xmlParsePEReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse PEReference declarations The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePI"></a>xmlParsePI ()</h3>
<pre class="programlisting">void	xmlParsePI			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePITarget"></a>xmlParsePITarget ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePITarget	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the PITarget name or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParsePubidLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the PubidLiteral parsed or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string parser or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseReference"></a>xmlParseReference ()</h3>
<pre class="programlisting">void	xmlParseReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3>
<pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml2-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a start of tag either for rule element or EmptyElement. In both case we don't parse the tag closing chars. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the element name parsed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseSystemLiteral	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the SystemLiteral parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3>
<pre class="programlisting">void	xmlParseTextDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionInfo	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= S? '=' S?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the version string, e.g. "1.0"</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseVersionNum	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that level</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string giving the XML version number, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3>
<pre class="programlisting">void	xmlParseXMLDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3>
<pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>[69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml2-SAX.html#reference">reference</a> within DTDs</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3>
<pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3>
<pre class="programlisting">void	xmlParserInputShrink		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br>
</pre>
<p>This function removes used input for the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>an XML parser input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopInput"></a>xmlPopInput ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPushInput"></a>xmlPushInput ()</h3>
<pre class="programlisting">int	xmlPushInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
</pre>
<p>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>an XML parser input fragment (entity, XML fragment ...).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error or the index in the input stack</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlScanName"></a>xmlScanName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml2-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S Name)*</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the Name parsed or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3>
<pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br>
</pre>
<p>Set the function to call call back when a xml <a href="libxml2-SAX.html#reference">reference</a> has been made</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>func</tt></i>:</span></td>
<td>A valid function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3>
<pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>skip all blanks character found at that point in the input streams. It pops up finished entities in the process if allowable at that point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of space chars skipped</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSplitQName"></a>xmlSplitQName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
</pre>
<p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local part, and prefix is updated to get the Prefix if any.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3>
<pre class="programlisting">int	xmlStringCurrentChar		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len)<br>
</pre>
<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>pointer to the beginning of the char</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>pointer to the length of the char read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current char value and its length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStringLenDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>						 int len, <br>						 int what, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>						 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
</pre>
<p>Takes a entity string content and process to do the adequate substitutions. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the input string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the string length</td>
</tr>
<tr>
<td><span class="term"><i><tt>what</tt></i>:</span></td>
<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>end</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end2</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>end3</tt></i>:</span></td>
<td>an end marker xmlChar, 0 if none</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the encoding value (number)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchInputEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>DEPRECATED: Use <a href="libxml2-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the input stream</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the encoding handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3>
<pre class="programlisting">int	xmlSwitchToEncoding		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
<p>change the input functions when discovering the character encoding of a given entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>handler</tt></i>:</span></td>
<td>the encoding handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�e�+Z�Z�<usr/share/gtk-doc/html/libxml2/libxml2-schemasInternals.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>schemasInternals: internal interfaces for XML Schemas</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">schemasInternals</span></h2>
<p>schemasInternals - internal interfaces for XML Schemas</p>
<p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
typedef struct _xmlSchemaAnnot <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a href="#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>;
typedef struct _xmlSchemaAttribute <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a>;
typedef struct _xmlSchemaAttributeGroup <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * <a href="#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>;
typedef struct _xmlSchemaAttributeLink <a href="#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * <a href="#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * <a href="#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>;
typedef enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a>;
typedef struct _xmlSchemaElement <a href="#xmlSchemaElement">xmlSchemaElement</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a href="#xmlSchemaElementPtr">xmlSchemaElementPtr</a>;
typedef struct _xmlSchemaFacet <a href="#xmlSchemaFacet">xmlSchemaFacet</a>;
typedef struct _xmlSchemaFacetLink <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a href="#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a href="#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>;
typedef struct _xmlSchemaNotation <a href="#xmlSchemaNotation">xmlSchemaNotation</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a href="#xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>;
typedef struct _xmlSchemaType <a href="#xmlSchemaType">xmlSchemaType</a>;
typedef struct _xmlSchemaTypeLink <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a href="#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a href="#xmlSchemaTypePtr">xmlSchemaTypePtr</a>;
typedef enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>;
typedef struct _xmlSchemaVal <a href="#xmlSchemaVal">xmlSchemaVal</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a href="#xmlSchemaValPtr">xmlSchemaValPtr</a>;
typedef enum <a href="#xmlSchemaValType">xmlSchemaValType</a>;
typedef struct _xmlSchemaWildcard <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a>;
typedef struct _xmlSchemaWildcardNs <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a href="#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>;
typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a href="#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>;
void	<a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
void	<a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_LAX">Macro </a>XML_SCHEMAS_ANYATTR_LAX</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
</pre>
<p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_SKIP">Macro </a>XML_SCHEMAS_ANYATTR_SKIP</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
</pre>
<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANYATTR_STRICT">Macro </a>XML_SCHEMAS_ANYATTR_STRICT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
</pre>
<p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_LAX">Macro </a>XML_SCHEMAS_ANY_LAX</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
</pre>
<p>Used by wildcards. Validate if type found, don't worry if not found</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_SKIP">Macro </a>XML_SCHEMAS_ANY_SKIP</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
</pre>
<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ANY_STRICT">Macro </a>XML_SCHEMAS_ANY_STRICT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
</pre>
<p>Used by wildcards. Apply strict validation rules</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
</pre>
<p>Whether this attr. group contains attr. group references.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro </a>XML_SCHEMAS_ATTRGROUP_MARKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
</pre>
<p>Marks the attr group as marked; used for circular checks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro </a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
</pre>
<p>The attr group was redefined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
</pre>
<p>the <a href="libxml2-SAX.html#attribute">attribute</a> has a fixed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_GLOBAL">Macro </a>XML_SCHEMAS_ATTR_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
</pre>
<p>allow elements in no namespace</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
</pre>
<p>this is set when the "type" and "ref" references have been resolved.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro </a>XML_SCHEMAS_ATTR_NSDEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
</pre>
<p>allow elements in no namespace</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_OPTIONAL">Macro </a>XML_SCHEMAS_ATTR_USE_OPTIONAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is optional.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_PROHIBITED">Macro </a>XML_SCHEMAS_ATTR_USE_PROHIBITED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
</pre>
<p>Used by wildcards. The <a href="libxml2-SAX.html#attribute">attribute</a> is prohibited.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ATTR_USE_REQUIRED">Macro </a>XML_SCHEMAS_ATTR_USE_REQUIRED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
</pre>
<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is required.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
</pre>
<p>the schema has "extension" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
</pre>
<p>the schema has "restriction" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
</pre>
<p>the schema has "substitution" in the set of blockDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro </a>XML_SCHEMAS_ELEM_ABSTRACT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
</pre>
<p>the element is abstract</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT">Macro </a>XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
</pre>
<p>the "block" <a href="libxml2-SAX.html#attribute">attribute</a> is absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
</pre>
<p>disallowed substitutions are absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
</pre>
<p>disallowed substitutions: "restriction"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
</pre>
<p>disallowed substitutions: "substitution"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
</pre>
<p>a helper flag for the search of circular references.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_DEFAULT">Macro </a>XML_SCHEMAS_ELEM_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
</pre>
<p>the element has a default value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro </a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
</pre>
<p>substitution group exclusions are absent</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
</pre>
<p>substitution group exclusions: "extension"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
</pre>
<p>substitution group exclusions: "restriction"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_FIXED">Macro </a>XML_SCHEMAS_ELEM_FIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
</pre>
<p>the element has a fixed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_GLOBAL">Macro </a>XML_SCHEMAS_ELEM_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
</pre>
<p>the element is global</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
</pre>
<p>this is set when the elem decl has been checked against all constraints</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
</pre>
<p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_NILLABLE">Macro </a>XML_SCHEMAS_ELEM_NILLABLE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
</pre>
<p>the element is nillable</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro </a>XML_SCHEMAS_ELEM_NSDEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
</pre>
<p>allow elements in no namespace Obsolete, not used anymore.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_REF">Macro </a>XML_SCHEMAS_ELEM_REF</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
</pre>
<p>the element is a <a href="libxml2-SAX.html#reference">reference</a> to a type</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro </a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
</pre>
<p>the declaration is a substitution group head</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro </a>XML_SCHEMAS_ELEM_TOPLEVEL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
</pre>
<p>the element is top level obsolete: use <a href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_COLLAPSE">Macro </a>XML_SCHEMAS_FACET_COLLAPSE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
</pre>
<p>collapse the types of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_PRESERVE">Macro </a>XML_SCHEMAS_FACET_PRESERVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
</pre>
<p>preserve the type of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_REPLACE">Macro </a>XML_SCHEMAS_FACET_REPLACE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
</pre>
<p>replace the type of the facet</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FACET_UNKNOWN">Macro </a>XML_SCHEMAS_FACET_UNKNOWN</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
</pre>
<p>unknown facet handling</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
</pre>
<p>the schema has "extension" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
</pre>
<p>the schema has "list" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
</pre>
<p>the schema has "restriction" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
</pre>
<p>the schema has "union" in the set of finalDefault.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro </a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
</pre>
<p>the schema is currently including an other schema with no target namespace.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_QUALIF_ATTR">Macro </a>XML_SCHEMAS_QUALIF_ATTR</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
</pre>
<p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_QUALIF_ELEM">Macro </a>XML_SCHEMAS_QUALIF_ELEM</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
</pre>
<p>Reflects elementFormDefault == qualified in an XML schema document.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro </a>XML_SCHEMAS_TYPE_ABSTRACT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
</pre>
<p>the simple/complexType is abstract.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
</pre>
<p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
</pre>
<p>the complexType has a 'block' of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
</pre>
<p>the complexType has a 'block' of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro </a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
</pre>
<p>Marks the item as a builtin primitive.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
</pre>
<p>the simple or complex type has a derivation method of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
</pre>
<p>the simple or complex type has a derivation method of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro </a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
</pre>
<p>indicates if the facets need a computed value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
</pre>
<p>the simpleType has a final of "default".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
</pre>
<p>the complexType has a final of "extension".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro </a>XML_SCHEMAS_TYPE_FINAL_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
</pre>
<p>the simpleType has a final of "list".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
</pre>
<p>the simpleType/complexType has a final of "restriction".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro </a>XML_SCHEMAS_TYPE_FINAL_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
</pre>
<p>the simpleType has a final of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro </a>XML_SCHEMAS_TYPE_FIXUP_1</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
</pre>
<p>First stage of fixup was done.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_GLOBAL">Macro </a>XML_SCHEMAS_TYPE_GLOBAL</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
</pre>
<p>the type is global</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro </a>XML_SCHEMAS_TYPE_HAS_FACETS</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
</pre>
<p>has facets</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
</pre>
<p>indicates that the type is invalid</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
</pre>
<p>indicates that the type was typefixed</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_MARKED">Macro </a>XML_SCHEMAS_TYPE_MARKED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
</pre>
<p>Marks the item as marked; used for circular checks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_MIXED">Macro </a>XML_SCHEMAS_TYPE_MIXED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
</pre>
<p>the element content type is mixed</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro </a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
</pre>
<p>indicates if the facets (pattern) need a normalized value</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">Macro </a>XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
</pre>
<p>the complexType owns an <a href="libxml2-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_REDEFINED">Macro </a>XML_SCHEMAS_TYPE_REDEFINED</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
</pre>
<p>The type was redefined.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
</pre>
<p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety flags occur then it's automatically absent.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
</pre>
<p>the simpleType has a variety of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro </a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
</pre>
<p>the simpleType has a variety of "list".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro </a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
</pre>
<p>the simpleType has a variety of "union".</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
</pre>
<p>a whitespace-facet value of "collapse"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
</pre>
<p>a whitespace-facet value of "preserve"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
</pre>
<p>a whitespace-facet value of "replace"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro </a>XML_SCHEMAS_WILDCARD_COMPLETE</h3>
<pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
</pre>
<p>If the wildcard is complete.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3>
<pre class="programlisting">struct _xmlSchemaAnnot {
    struct _xmlSchemaAnnot *	next
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	content	: the annotation
} xmlSchemaAnnot;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAnnotPtr">Typedef </a>xmlSchemaAnnotPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * xmlSchemaAnnotPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttribute">Structure </a>xmlSchemaAttribute</h3>
<pre class="programlisting">struct _xmlSchemaAttribute {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> (not used?)
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the declaration
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeName	: the local name of the type definition
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeNs	: the ns URI of the type definition
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base	: Deprecated; not used
    int	occurs	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defValue	: The initial value of the value constraint
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    int	flags
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl	: Deprecated; not used
} xmlSchemaAttribute;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeGroup">Structure </a>xmlSchemaAttributeGroup</h3>
<pre class="programlisting">struct _xmlSchemaAttributeGroup {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> if in a group ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	flags
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    void *	attrUses
} xmlSchemaAttributeGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeGroupPtr">Typedef </a>xmlSchemaAttributeGroupPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * xmlSchemaAttributeGroupPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeLink">Structure </a>xmlSchemaAttributeLink</h3>
<pre class="programlisting">struct _xmlSchemaAttributeLink {
    struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> link ...
    struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml2-SAX.html#attribute">attribute</a>
} xmlSchemaAttributeLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributeLinkPtr">Typedef </a>xmlSchemaAttributeLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * xmlSchemaAttributeLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaAttributePtr">Typedef </a>xmlSchemaAttributePtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaContentType">Enum </a>xmlSchemaContentType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a> {
    <a name="XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a> = 0
    <a name="XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a> = 1
    <a name="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
    <a name="XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a> = 3
    <a name="XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a> = 4
    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5 /* Obsolete */
    <a name="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
    <a name="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaElement">Structure </a>xmlSchemaElement</h3>
<pre class="programlisting">struct _xmlSchemaElement {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaType *	next	: Not used?
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	flags
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namedType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namedTypeNs
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroup
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroupNs
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	scope
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value of the value constraint.
    struct _xmlSchemaElement *	refDecl	: This will now be used for the substitution group affiliation
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Obsolete for WXS, maybe used for RelaxNG
    <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint.
    void *	idcs	: The identity-constraint defs
} xmlSchemaElement;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaElementPtr">Typedef </a>xmlSchemaElementPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * xmlSchemaElementPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3>
<pre class="programlisting">struct _xmlSchemaFacet {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	fixed	: XML_SCHEMAS_FACET_PRESERVE, etc.
    int	whitespace
    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val	: The compiled value
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp	: The regex for patterns
} xmlSchemaFacet;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetLink">Structure </a>xmlSchemaFacetLink</h3>
<pre class="programlisting">struct _xmlSchemaFacetLink {
    struct _xmlSchemaFacetLink *	next	: the next facet link ...
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
} xmlSchemaFacetLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetLinkPtr">Typedef </a>xmlSchemaFacetLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFacetPtr">Typedef </a>xmlSchemaFacetPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * xmlSchemaFacetPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNotation">Structure </a>xmlSchemaNotation</h3>
<pre class="programlisting">struct _xmlSchemaNotation {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	identifier
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
} xmlSchemaNotation;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNotationPtr">Typedef </a>xmlSchemaNotationPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * xmlSchemaNotationPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaType">Structure </a>xmlSchemaType</h3>
<pre class="programlisting">struct _xmlSchemaType {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    struct _xmlSchemaType *	next	: the next type if in a sequence ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	flags
    <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base type's local name
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	baseNs	: Base type's target namespace
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType	: The base type component
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets	: Local facets
    struct _xmlSchemaType *	redef	: Deprecated; not used
    int	recurse	: Obsolete
    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a> *	attributeUses	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
    int	builtInType	: Type of built-in types.
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes	: member-types if a union type.
    <a href="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet	: All facets (incl. inherited)
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef	: Used for the simple content of complex types. Could we use @subtypes
    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Holds the automaton of the content model
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
    void *	attrUses
} xmlSchemaType;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeLink">Structure </a>xmlSchemaTypeLink</h3>
<pre class="programlisting">struct _xmlSchemaTypeLink {
    struct _xmlSchemaTypeLink *	next	: the next type link ...
    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked type
} xmlSchemaTypeLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeLinkPtr">Typedef </a>xmlSchemaTypeLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * xmlSchemaTypeLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * xmlSchemaTypePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
    <a name="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 /* A built-in datatype */
    <a name="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
    <a name="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
    <a name="XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a> = 4
    <a name="XML_SCHEMA_TYPE_COMPLEX">XML_SCHEMA_TYPE_COMPLEX</a> = 5
    <a name="XML_SCHEMA_TYPE_SEQUENCE">XML_SCHEMA_TYPE_SEQUENCE</a> = 6
    <a name="XML_SCHEMA_TYPE_CHOICE">XML_SCHEMA_TYPE_CHOICE</a> = 7
    <a name="XML_SCHEMA_TYPE_ALL">XML_SCHEMA_TYPE_ALL</a> = 8
    <a name="XML_SCHEMA_TYPE_SIMPLE_CONTENT">XML_SCHEMA_TYPE_SIMPLE_CONTENT</a> = 9
    <a name="XML_SCHEMA_TYPE_COMPLEX_CONTENT">XML_SCHEMA_TYPE_COMPLEX_CONTENT</a> = 10
    <a name="XML_SCHEMA_TYPE_UR">XML_SCHEMA_TYPE_UR</a> = 11
    <a name="XML_SCHEMA_TYPE_RESTRICTION">XML_SCHEMA_TYPE_RESTRICTION</a> = 12
    <a name="XML_SCHEMA_TYPE_EXTENSION">XML_SCHEMA_TYPE_EXTENSION</a> = 13
    <a name="XML_SCHEMA_TYPE_ELEMENT">XML_SCHEMA_TYPE_ELEMENT</a> = 14
    <a name="XML_SCHEMA_TYPE_ATTRIBUTE">XML_SCHEMA_TYPE_ATTRIBUTE</a> = 15
    <a name="XML_SCHEMA_TYPE_ATTRIBUTEGROUP">XML_SCHEMA_TYPE_ATTRIBUTEGROUP</a> = 16
    <a name="XML_SCHEMA_TYPE_GROUP">XML_SCHEMA_TYPE_GROUP</a> = 17
    <a name="XML_SCHEMA_TYPE_NOTATION">XML_SCHEMA_TYPE_NOTATION</a> = 18
    <a name="XML_SCHEMA_TYPE_LIST">XML_SCHEMA_TYPE_LIST</a> = 19
    <a name="XML_SCHEMA_TYPE_UNION">XML_SCHEMA_TYPE_UNION</a> = 20
    <a name="XML_SCHEMA_TYPE_ANY_ATTRIBUTE">XML_SCHEMA_TYPE_ANY_ATTRIBUTE</a> = 21
    <a name="XML_SCHEMA_TYPE_IDC_UNIQUE">XML_SCHEMA_TYPE_IDC_UNIQUE</a> = 22
    <a name="XML_SCHEMA_TYPE_IDC_KEY">XML_SCHEMA_TYPE_IDC_KEY</a> = 23
    <a name="XML_SCHEMA_TYPE_IDC_KEYREF">XML_SCHEMA_TYPE_IDC_KEYREF</a> = 24
    <a name="XML_SCHEMA_TYPE_PARTICLE">XML_SCHEMA_TYPE_PARTICLE</a> = 25
    <a name="XML_SCHEMA_TYPE_ATTRIBUTE_USE">XML_SCHEMA_TYPE_ATTRIBUTE_USE</a> = 26
    <a name="XML_SCHEMA_FACET_MININCLUSIVE">XML_SCHEMA_FACET_MININCLUSIVE</a> = 1000
    <a name="XML_SCHEMA_FACET_MINEXCLUSIVE">XML_SCHEMA_FACET_MINEXCLUSIVE</a> = 1001
    <a name="XML_SCHEMA_FACET_MAXINCLUSIVE">XML_SCHEMA_FACET_MAXINCLUSIVE</a> = 1002
    <a name="XML_SCHEMA_FACET_MAXEXCLUSIVE">XML_SCHEMA_FACET_MAXEXCLUSIVE</a> = 1003
    <a name="XML_SCHEMA_FACET_TOTALDIGITS">XML_SCHEMA_FACET_TOTALDIGITS</a> = 1004
    <a name="XML_SCHEMA_FACET_FRACTIONDIGITS">XML_SCHEMA_FACET_FRACTIONDIGITS</a> = 1005
    <a name="XML_SCHEMA_FACET_PATTERN">XML_SCHEMA_FACET_PATTERN</a> = 1006
    <a name="XML_SCHEMA_FACET_ENUMERATION">XML_SCHEMA_FACET_ENUMERATION</a> = 1007
    <a name="XML_SCHEMA_FACET_WHITESPACE">XML_SCHEMA_FACET_WHITESPACE</a> = 1008
    <a name="XML_SCHEMA_FACET_LENGTH">XML_SCHEMA_FACET_LENGTH</a> = 1009
    <a name="XML_SCHEMA_FACET_MAXLENGTH">XML_SCHEMA_FACET_MAXLENGTH</a> = 1010
    <a name="XML_SCHEMA_FACET_MINLENGTH">XML_SCHEMA_FACET_MINLENGTH</a> = 1011
    <a name="XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a> = 2000
    <a name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a> = 2001
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3>
<pre class="programlisting">struct _xmlSchemaVal {
The content of this structure is not made public by the API.
} xmlSchemaVal;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * xmlSchemaValPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
    <a name="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
    <a name="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
    <a name="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
    <a name="XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a> = 3
    <a name="XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a> = 4
    <a name="XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a> = 5
    <a name="XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a> = 6
    <a name="XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a> = 7
    <a name="XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a> = 8
    <a name="XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a> = 9
    <a name="XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a> = 10
    <a name="XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a> = 11
    <a name="XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a> = 12
    <a name="XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a> = 13
    <a name="XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a> = 14
    <a name="XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a> = 15
    <a name="XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a> = 16
    <a name="XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a> = 17
    <a name="XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a> = 18
    <a name="XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a> = 19
    <a name="XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a> = 20
    <a name="XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a> = 21
    <a name="XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a> = 22
    <a name="XML_SCHEMAS_ID">XML_SCHEMAS_ID</a> = 23
    <a name="XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a> = 24
    <a name="XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a> = 25
    <a name="XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a> = 26
    <a name="XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a> = 27
    <a name="XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a> = 28
    <a name="XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a> = 29
    <a name="XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a> = 30
    <a name="XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a> = 31
    <a name="XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a> = 32
    <a name="XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a> = 33
    <a name="XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a> = 34
    <a name="XML_SCHEMAS_INT">XML_SCHEMAS_INT</a> = 35
    <a name="XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a> = 36
    <a name="XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a> = 37
    <a name="XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a> = 38
    <a name="XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a> = 39
    <a name="XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a> = 40
    <a name="XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a> = 41
    <a name="XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a> = 42
    <a name="XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a> = 43
    <a name="XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a> = 44
    <a name="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
    <a name="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcard">Structure </a>xmlSchemaWildcard</h3>
<pre class="programlisting">struct _xmlSchemaWildcard {
    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
    <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
    int	minOccurs	: Deprecated; not used
    int	maxOccurs	: Deprecated; not used
    int	processContents
    int	any	: Indicates if the ns constraint is of ##any
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	nsSet	: The list of allowed namespaces
    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet	: The negated namespace
    int	flags
} xmlSchemaWildcard;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardNs">Structure </a>xmlSchemaWildcardNs</h3>
<pre class="programlisting">struct _xmlSchemaWildcardNs {
    struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
} xmlSchemaWildcardNs;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardNsPtr">Typedef </a>xmlSchemaWildcardNsPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWildcardPtr">Typedef </a>xmlSchemaWildcardPtr</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * xmlSchemaWildcardPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeType"></a>xmlSchemaFreeType ()</h3>
<pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
</pre>
<p>Deallocate a Schema Type structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>a schema type structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeWildcard"></a>xmlSchemaFreeWildcard ()</h3>
<pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br>
</pre>
<p>Deallocates a wildcard structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>wildcard</tt></i>:</span></td>
<td>a wildcard structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zx�y�����0usr/share/gtk-doc/html/libxml2/libxml2-SAX2.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SAX2: SAX2 parser interface used to build the DOM tree</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">SAX2</span></h2>
<p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
<p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">void	<a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>	(void);
void	<a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>	(void);
void	<a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
void	<a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
void	<a href="#xmlSAX2Characters">xmlSAX2Characters</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#xmlSAX2Comment">xmlSAX2Comment</a>			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
void	<a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
void	<a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>		(void * ctx);
void	<a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
void	<a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>		(void * ctx);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>	(void * ctx);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>	(void * ctx);
int	<a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>	(void * ctx);
int	<a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>	(void * ctx);
void	<a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len);
void	<a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning);
void	<a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
void	<a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
int	<a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>		(void * ctx);
void	<a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
void	<a href="#xmlSAX2Reference">xmlSAX2Reference</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
void	<a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
void	<a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>		(void * ctx);
void	<a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
void	<a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
void	<a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
int	<a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>		(int version);
int	<a href="#xmlSAXVersion">xmlSAXVersion</a>			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int version);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3>
<pre class="programlisting">void	htmlDefaultSAXHandlerInit	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX handler</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3>
<pre class="programlisting">void	xmlDefaultSAXHandlerInit	(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX2 handler</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2AttributeDecl"></a>xmlSAX2AttributeDecl ()</h3>
<pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
</pre>
<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
</tr>
<tr>
<td><span class="term"><i><tt>def</tt></i>:</span></td>
<td>the type of default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
</tr>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>the tree of enumerated value set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2CDataBlock"></a>xmlSAX2CDataBlock ()</h3>
<pre class="programlisting">void	xmlSAX2CDataBlock		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len)<br>
</pre>
<p>called when a pcdata block has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>The pcdata content</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the block length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Characters"></a>xmlSAX2Characters ()</h3>
<pre class="programlisting">void	xmlSAX2Characters		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some chars from the parser.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Comment"></a>xmlSAX2Comment ()</h3>
<pre class="programlisting">void	xmlSAX2Comment			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ElementDecl"></a>xmlSAX2ElementDecl ()</h3>
<pre class="programlisting">void	xmlSAX2ElementDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
</pre>
<p>An element definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the element type</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the element value tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndDocument"></a>xmlSAX2EndDocument ()</h3>
<pre class="programlisting">void	xmlSAX2EndDocument		(void * ctx)<br>
</pre>
<p>called when the document end has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndElement"></a>xmlSAX2EndElement ()</h3>
<pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when the end of an element has been detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The element name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EndElementNs"></a>xmlSAX2EndElementNs ()</h3>
<pre class="programlisting">void	xmlSAX2EndElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
</pre>
<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2EntityDecl"></a>xmlSAX2EntityDecl ()</h3>
<pre class="programlisting">void	xmlSAX2EntityDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>An entity definition has been parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity value (without processing).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ExternalSubset"></a>xmlSAX2ExternalSubset ()</h3>
<pre class="programlisting">void	xmlSAX2ExternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on external subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetColumnNumber"></a>xmlSAX2GetColumnNumber ()</h3>
<pre class="programlisting">int	xmlSAX2GetColumnNumber		(void * ctx)<br>
</pre>
<p>Provide the column number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetEntity"></a>xmlSAX2GetEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetEntity	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get an entity by name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetLineNumber"></a>xmlSAX2GetLineNumber ()</h3>
<pre class="programlisting">int	xmlSAX2GetLineNumber		(void * ctx)<br>
</pre>
<p>Provide the line number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetParameterEntity"></a>xmlSAX2GetParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlSAX2GetParameterEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Get a parameter entity by name</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetPublicId"></a>xmlSAX2GetPublicId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetPublicId	(void * ctx)<br>
</pre>
<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2GetSystemId"></a>xmlSAX2GetSystemId ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSAX2GetSystemId	(void * ctx)<br>
</pre>
<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2HasExternalSubset"></a>xmlSAX2HasExternalSubset ()</h3>
<pre class="programlisting">int	xmlSAX2HasExternalSubset	(void * ctx)<br>
</pre>
<p>Does this document has an external subset</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2HasInternalSubset"></a>xmlSAX2HasInternalSubset ()</h3>
<pre class="programlisting">int	xmlSAX2HasInternalSubset	(void * ctx)<br>
</pre>
<p>Does this document has an internal subset</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2IgnorableWhitespace"></a>xmlSAX2IgnorableWhitespace ()</h3>
<pre class="programlisting">void	xmlSAX2IgnorableWhitespace	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
</pre>
<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InitDefaultSAXHandler"></a>xmlSAX2InitDefaultSAXHandler ()</h3>
<pre class="programlisting">void	xmlSAX2InitDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int warning)<br>
</pre>
<p>Initialize the default XML SAX2 handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>warning</tt></i>:</span></td>
<td>flag if non-zero sets the handler warning procedure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InitHtmlDefaultSAXHandler"></a>xmlSAX2InitHtmlDefaultSAXHandler ()</h3>
<pre class="programlisting">void	xmlSAX2InitHtmlDefaultSAXHandler	(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br>
</pre>
<p>Initialize the default HTML SAX2 handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2InternalSubset"></a>xmlSAX2InternalSubset ()</h3>
<pre class="programlisting">void	xmlSAX2InternalSubset		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
</pre>
<p>Callback on internal subset declaration.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the root element name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the external ID</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the SYSTEM ID (e.g. filename or URL)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2IsStandalone"></a>xmlSAX2IsStandalone ()</h3>
<pre class="programlisting">int	xmlSAX2IsStandalone		(void * ctx)<br>
</pre>
<p>Is this document tagged standalone ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2NotationDecl"></a>xmlSAX2NotationDecl ()</h3>
<pre class="programlisting">void	xmlSAX2NotationDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>What to do when a notation declaration has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ProcessingInstruction"></a>xmlSAX2ProcessingInstruction ()</h3>
<pre class="programlisting">void	xmlSAX2ProcessingInstruction	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
</pre>
<p>A processing instruction has been parsed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>the target name</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the PI data's</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2Reference"></a>xmlSAX2Reference ()</h3>
<pre class="programlisting">void	xmlSAX2Reference		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The entity name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2ResolveEntity"></a>xmlSAX2ResolveEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
</pre>
<p>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</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3>
<pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>loc</tt></i>:</span></td>
<td>A SAX Locator</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartDocument"></a>xmlSAX2StartDocument ()</h3>
<pre class="programlisting">void	xmlSAX2StartDocument		(void * ctx)<br>
</pre>
<p>called when the document start being processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartElement"></a>xmlSAX2StartElement ()</h3>
<pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
</pre>
<p>called when an opening tag has been processed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
<td>The element name, including namespace prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>atts</tt></i>:</span></td>
<td>An array of name/value attributes pairs, NULL terminated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2StartElementNs"></a>xmlSAX2StartElementNs ()</h3>
<pre class="programlisting">void	xmlSAX2StartElementNs		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 int nb_namespaces, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>					 int nb_attributes, <br>					 int nb_defaulted, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
</pre>
<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>localname</tt></i>:</span></td>
<td>the local name of the element</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the element namespace prefix if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the element namespace name if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
<td>number of namespace definitions on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>pointer to the array of prefix/URI pairs namespace definitions</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
<td>the number of attributes on that node</td>
</tr>
<tr>
<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
<td>the number of defaulted attributes.</td>
</tr>
<tr>
<td><span class="term"><i><tt>attributes</tt></i>:</span></td>
<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAX2UnparsedEntityDecl"></a>xmlSAX2UnparsedEntityDecl ()</h3>
<pre class="programlisting">void	xmlSAX2UnparsedEntityDecl	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
</pre>
<p>What to do when an unparsed entity declaration is parsed</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the user data (XML parser context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The name of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
<td>The public ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
<td>The system ID of the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
<td>the name of the notation</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3>
<pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br>
</pre>
<p>Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the version, 1 or 2</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous value in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSAXVersion"></a>xmlSAXVersion ()</h3>
<pre class="programlisting">int	xmlSAXVersion			(<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>					 int version)<br>
</pre>
<p>Initialize the default XML SAX handler according to the version</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
<td>the SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the version, 1 or 2</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�ZA�R�R�0usr/share/gtk-doc/html/libxml2/libxml2-hash.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hash: Chained hash tables</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">hash</span></h2>
<p>hash - Chained hash tables</p>
<p>This module implements the hash table support used in various places in the library. </p>
<p>Author(s): Bjorn Reese &lt;bjorn.reese@systematic.dk&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
typedef struct _xmlHashTable <a href="#xmlHashTable">xmlHashTable</a>;
typedef <a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * <a href="#xmlHashTablePtr">xmlHashTablePtr</a>;
int	<a href="#xmlHashAddEntry">xmlHashAddEntry</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata);
int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata);
int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata);
typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
void *	<a href="#xmlHashQLookup">xmlHashQLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
void	<a href="#xmlHashScan">xmlHashScan</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data);
void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data);
typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
int	<a href="#xmlHashSize">xmlHashSize</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
int	<a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3>
<pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
</pre>
<p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on s390 broke) so it is disabled now</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>fptr</tt></i>:</span></td>
<td>pointer to a function</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashTable">Structure </a>xmlHashTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlHashTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCopier"></a>Function type xmlHashCopier</h3>
<pre class="programlisting">void *	xmlHashCopier			(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback to copy data from a hash.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the data or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashDeallocator"></a>Function type xmlHashDeallocator</h3>
<pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback to free data from a hash.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanner"></a>Function type xmlHashScanner</h3>
<pre class="programlisting">void	xmlHashScanner			(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Callback when scanning data in a hash with the simple scanner.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra scanner data</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScannerFull"></a>Function type xmlHashScannerFull</h3>
<pre class="programlisting">void	xmlHashScannerFull		(void * payload, <br>					 void * data, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Callback when scanning data in a hash with the full scanner.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>payload</tt></i>:</span></td>
<td>the data in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra scanner data</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>the second name associated</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>the third name associated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3>
<pre class="programlisting">int	xmlHashAddEntry			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3>
<pre class="programlisting">int	xmlHashAddEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3>
<pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCopy"></a>xmlHashCopy ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the copier function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new table or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCreate"></a>xmlHashCreate ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br>
</pre>
<p>Create a new xmlHashTablePtr.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCreateDict"></a>xmlHashCreateDict ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>a dictionary to use for the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created object, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashDefaultDeallocator"></a>xmlHashDefaultDeallocator ()</h3>
<pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Free a hash table entry with xmlFree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>entry</tt></i>:</span></td>
<td>the hash table entry</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entry's name</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashFree"></a>xmlHashFree ()</h3>
<pre class="programlisting">void	xmlHashFree			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for items in the hash</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup"></a>xmlHashLookup ()</h3>
<pre class="programlisting">void *	xmlHashLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Find the userdata specified by the @name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3>
<pre class="programlisting">void *	xmlHashLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3>
<pre class="programlisting">void *	xmlHashLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3>
<pre class="programlisting">void *	xmlHashQLookup			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Find the userdata specified by the QName @prefix:@name/@name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3>
<pre class="programlisting">void *	xmlHashQLookup2			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
</pre>
<p>Find the userdata specified by the QNames tuple</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
<td>the second prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3>
<pre class="programlisting">void *	xmlHashQLookup3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
<td>the second prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix3</tt></i>:</span></td>
<td>the third prefix of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the a pointer to the userdata</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3>
<pre class="programlisting">int	xmlHashRemoveEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for removed item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the removal succeeded and -1 in case of error or not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan"></a>xmlHashScan ()</h3>
<pre class="programlisting">void	xmlHashScan			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan3"></a>xmlHashScan3 ()</h3>
<pre class="programlisting">void	xmlHashScan3			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3>
<pre class="programlisting">void	xmlHashScanFull			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3>
<pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>					 void * data)<br>
</pre>
<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>extra data passed to f</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashSize"></a>xmlHashSize ()</h3>
<pre class="programlisting">int	xmlHashSize			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br>
</pre>
<p>Query the number of elements installed in the hash @table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the hash table or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry2		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3>
<pre class="programlisting">int	xmlHashUpdateEntry3		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>					 void * userdata, <br>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
</pre>
<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
<td>a second name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
<td>a third name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
<td>a pointer to the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the deallocator function for replaced item (if any)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 the addition succeeded and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�I�44(usr/share/gtk-doc/html/libxml2/style.cssnu�[���.synopsis, .classsynopsis 
{
  background: #eeeeee;
  border: solid 1px #aaaaaa;
  padding: 0.5em;
}
.programlisting 
{
  background: #eeeeff;
  border: solid 1px #aaaaff;
  padding: 0.5em;
}
.variablelist 
{
  padding: 4px;
  margin-left: 3em;
}
.variablelist td:first-child
{
  vertical-align: top;
}
table.navigation 
{
  background: #ffeeee;
  border: solid 1px #ffaaaa;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.navigation a 
{
  color: #770000;
}
.navigation a:visited 
{
  color: #550000;
}
.navigation .title 
{
  font-size: 200%;
}
div.refnamediv 
{
  margin-top: 2em;
}
div.gallery-float 
{
  float: left;
  padding: 10px;
}
div.gallery-float img 
{
  border-style: none;
}
div.gallery-spacer 
{
  clear: both;
}
a
{
  text-decoration: none;
}
a:hover
{
  text-decoration: underline;
  color: #FF0000;
}
PK i�Z!� � �3usr/share/gtk-doc/html/libxml2/libxml2-relaxng.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>relaxng: implementation of the Relax-NG validation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-pattern.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">relaxng</span></h2>
<p>relaxng - implementation of the Relax-NG validation</p>
<p>implementation of the Relax-NG validation </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
typedef struct _xmlRelaxNGParserCtxt <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a href="#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>;
typedef enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * <a href="#xmlRelaxNGPtr">xmlRelaxNGPtr</a>;
typedef struct _xmlRelaxNGValidCtxt <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a>;
typedef <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a href="#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
void	<a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>		(void);
void	<a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
void	<a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
void	<a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
int	<a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx);
int	<a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>		(void);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	<a href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>	(const char * URL);
<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	<a href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
int	<a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len);
int	<a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
int	<a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNG">Structure </a>xmlRelaxNG</h3>
<pre class="programlisting">struct _xmlRelaxNG {
The content of this structure is not made public by the API.
} xmlRelaxNG;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3>
<pre class="programlisting">struct _xmlRelaxNGParserCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3>
<pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
    <a name="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
    <a name="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
    <a name="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3>
<pre class="programlisting">struct _xmlRelaxNGValidCtxt {
The content of this structure is not made public by the API.
} xmlRelaxNGValidCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3>
<pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
    <a name="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
    <a name="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
    <a name="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
    <a name="XML_RELAXNG_ERR_TYPEVAL">XML_RELAXNG_ERR_TYPEVAL</a> = 3
    <a name="XML_RELAXNG_ERR_DUPID">XML_RELAXNG_ERR_DUPID</a> = 4
    <a name="XML_RELAXNG_ERR_TYPECMP">XML_RELAXNG_ERR_TYPECMP</a> = 5
    <a name="XML_RELAXNG_ERR_NOSTATE">XML_RELAXNG_ERR_NOSTATE</a> = 6
    <a name="XML_RELAXNG_ERR_NODEFINE">XML_RELAXNG_ERR_NODEFINE</a> = 7
    <a name="XML_RELAXNG_ERR_LISTEXTRA">XML_RELAXNG_ERR_LISTEXTRA</a> = 8
    <a name="XML_RELAXNG_ERR_LISTEMPTY">XML_RELAXNG_ERR_LISTEMPTY</a> = 9
    <a name="XML_RELAXNG_ERR_INTERNODATA">XML_RELAXNG_ERR_INTERNODATA</a> = 10
    <a name="XML_RELAXNG_ERR_INTERSEQ">XML_RELAXNG_ERR_INTERSEQ</a> = 11
    <a name="XML_RELAXNG_ERR_INTEREXTRA">XML_RELAXNG_ERR_INTEREXTRA</a> = 12
    <a name="XML_RELAXNG_ERR_ELEMNAME">XML_RELAXNG_ERR_ELEMNAME</a> = 13
    <a name="XML_RELAXNG_ERR_ATTRNAME">XML_RELAXNG_ERR_ATTRNAME</a> = 14
    <a name="XML_RELAXNG_ERR_ELEMNONS">XML_RELAXNG_ERR_ELEMNONS</a> = 15
    <a name="XML_RELAXNG_ERR_ATTRNONS">XML_RELAXNG_ERR_ATTRNONS</a> = 16
    <a name="XML_RELAXNG_ERR_ELEMWRONGNS">XML_RELAXNG_ERR_ELEMWRONGNS</a> = 17
    <a name="XML_RELAXNG_ERR_ATTRWRONGNS">XML_RELAXNG_ERR_ATTRWRONGNS</a> = 18
    <a name="XML_RELAXNG_ERR_ELEMEXTRANS">XML_RELAXNG_ERR_ELEMEXTRANS</a> = 19
    <a name="XML_RELAXNG_ERR_ATTREXTRANS">XML_RELAXNG_ERR_ATTREXTRANS</a> = 20
    <a name="XML_RELAXNG_ERR_ELEMNOTEMPTY">XML_RELAXNG_ERR_ELEMNOTEMPTY</a> = 21
    <a name="XML_RELAXNG_ERR_NOELEM">XML_RELAXNG_ERR_NOELEM</a> = 22
    <a name="XML_RELAXNG_ERR_NOTELEM">XML_RELAXNG_ERR_NOTELEM</a> = 23
    <a name="XML_RELAXNG_ERR_ATTRVALID">XML_RELAXNG_ERR_ATTRVALID</a> = 24
    <a name="XML_RELAXNG_ERR_CONTENTVALID">XML_RELAXNG_ERR_CONTENTVALID</a> = 25
    <a name="XML_RELAXNG_ERR_EXTRACONTENT">XML_RELAXNG_ERR_EXTRACONTENT</a> = 26
    <a name="XML_RELAXNG_ERR_INVALIDATTR">XML_RELAXNG_ERR_INVALIDATTR</a> = 27
    <a name="XML_RELAXNG_ERR_DATAELEM">XML_RELAXNG_ERR_DATAELEM</a> = 28
    <a name="XML_RELAXNG_ERR_VALELEM">XML_RELAXNG_ERR_VALELEM</a> = 29
    <a name="XML_RELAXNG_ERR_LISTELEM">XML_RELAXNG_ERR_LISTELEM</a> = 30
    <a name="XML_RELAXNG_ERR_DATATYPE">XML_RELAXNG_ERR_DATATYPE</a> = 31
    <a name="XML_RELAXNG_ERR_VALUE">XML_RELAXNG_ERR_VALUE</a> = 32
    <a name="XML_RELAXNG_ERR_LIST">XML_RELAXNG_ERR_LIST</a> = 33
    <a name="XML_RELAXNG_ERR_NOGRAMMAR">XML_RELAXNG_ERR_NOGRAMMAR</a> = 34
    <a name="XML_RELAXNG_ERR_EXTRADATA">XML_RELAXNG_ERR_EXTRADATA</a> = 35
    <a name="XML_RELAXNG_ERR_LACKDATA">XML_RELAXNG_ERR_LACKDATA</a> = 36
    <a name="XML_RELAXNG_ERR_INTERNAL">XML_RELAXNG_ERR_INTERNAL</a> = 37
    <a name="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
    <a name="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidityErrorFunc"></a>Function type xmlRelaxNGValidityErrorFunc</h3>
<pre class="programlisting">void	xmlRelaxNGValidityErrorFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of an error callback from a Relax-NG validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidityWarningFunc"></a>Function type xmlRelaxNGValidityWarningFunc</h3>
<pre class="programlisting">void	xmlRelaxNGValidityWarningFunc	(void * ctx, <br>					 const char * msg, <br>					 ... ...)<br>
</pre>
<p>Signature of a warning callback from a Relax-NG validation</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>...</tt></i>:</span></td>
<td>extra arguments</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3>
<pre class="programlisting">void	xmlRelaxNGCleanupTypes		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type library associated to RelaxNG</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3>
<pre class="programlisting">void	xmlRelaxNGDump			(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Dump a RelaxNG structure back</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3>
<pre class="programlisting">void	xmlRelaxNGDumpTree		(FILE * output, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Dump the transformed RelaxNG tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>output</tt></i>:</span></td>
<td>the file output</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3>
<pre class="programlisting">void	xmlRelaxNGFree			(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Deallocate a RelaxNG structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a schema structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3>
<pre class="programlisting">void	xmlRelaxNGFreeParserCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3>
<pre class="programlisting">void	xmlRelaxNGFreeValidCtxt		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br>
</pre>
<p>Free the resources associated to the schema validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the schema validation context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3>
<pre class="programlisting">int	xmlRelaxNGGetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the callback information used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of failure, 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3>
<pre class="programlisting">int	xmlRelaxNGGetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br>					 void ** ctx)<br>
</pre>
<p>Get the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function result</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context result</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error and 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGInitTypes"></a>xmlRelaxNGInitTypes ()</h3>
<pre class="programlisting">int	xmlRelaxNGInitTypes		(void)<br>
</pre>
<p>Initialize the default type libraries.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewDocParserCtxt	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewMemParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array containing the schemas</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>	xmlRelaxNGNewParserCtxt	(const char * URL)<br>
</pre>
<p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the location of the schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the parser context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>	xmlRelaxNGNewValidCtxt	(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Create an XML RelaxNGs validation context based on the given schema</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled XML RelaxNGs</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the validation context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3>
<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	xmlRelaxNGParse		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse a schema definition resource and build an internal XML Schema structure which can be used to validate instances.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetParserErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a validation context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetParserStructuredErrors"></a>xmlRelaxNGSetParserStructuredErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetParserStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the callback functions used to handle errors for a parsing context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the error callback</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>contextual data for the callbacks</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
</pre>
<p>Set the error and warning callback information</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>err</tt></i>:</span></td>
<td>the error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>warn</tt></i>:</span></td>
<td>the warning function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGSetValidStructuredErrors"></a>xmlRelaxNGSetValidStructuredErrors ()</h3>
<pre class="programlisting">void	xmlRelaxNGSetValidStructuredErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx)<br>
</pre>
<p>Set the structured error callback</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>serror</tt></i>:</span></td>
<td>the structured error function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
<td>the functions context</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidateDoc		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Validate a document tree in memory.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a Relax-NG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a parsed document tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidateFullElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePopElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Pop the element end from the RelaxNG validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePushCData	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>					 int len)<br>
</pre>
<p>check the CData parsed for validation in the current stack</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>some character data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or -1 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3>
<pre class="programlisting">int	xmlRelaxNGValidatePushElement	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
</pre>
<p>Push a new element start on the RelaxNG validation stack.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the validation context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRelaxParserSetFlag"></a>xmlRelaxParserSetFlag ()</h3>
<pre class="programlisting">int	xmlRelaxParserSetFlag		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 int flags)<br>
</pre>
<p>Semi private function used to pass information to a parser context which are a combination of <a href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a RelaxNG parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of flags values</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z��HH6usr/share/gtk-doc/html/libxml2/libxml2-xmlversion.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlversion: compile-time version information</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlversion</span></h2>
<p>xmlversion - compile-time version information</p>
<p>compile-time version information for the XML library </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
#define <a href="#WITH_TRIO">WITH_TRIO</a>;
#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
void	<a href="#xmlCheckVersion">xmlCheckVersion</a>			(int version);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3>
<pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
</pre>
<p>Macro used to signal to GCC unused function parameters</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3>
<pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
</pre>
<p>Whether the memory debugging is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3>
<pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
</pre>
<p>Macro used to indicate to GCC this is an allocator function</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3>
<pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
</pre>
<p>Macro used to indicate to GCC the parameter are printf like</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
</pre>
<p>Whether the automata interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_C14N_ENABLED">Macro </a>LIBXML_C14N_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
</pre>
<p>Whether the Canonicalization support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_CATALOG_ENABLED">Macro </a>LIBXML_CATALOG_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
</pre>
<p>Whether the Catalog support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DEBUG_ENABLED">Macro </a>LIBXML_DEBUG_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
</pre>
<p>Whether Debugging module is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DEBUG_RUNTIME">Macro </a>LIBXML_DEBUG_RUNTIME</h3>
<pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
</pre>
<p>Whether the runtime debugging is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DOTTED_VERSION">Macro </a>LIBXML_DOTTED_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
</pre>
<p>the version string like "1.2.3"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
</pre>
<p>Whether the formal expressions interfaces are compiled in This code is unused and disabled unconditionally for now.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
</pre>
<p>Whether the FTP support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_HTML_ENABLED">Macro </a>LIBXML_HTML_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
</pre>
<p>Whether the HTML support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_HTTP_ENABLED">Macro </a>LIBXML_HTTP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
</pre>
<p>Whether the HTTP support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ICONV_ENABLED">Macro </a>LIBXML_ICONV_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
</pre>
<p>Whether iconv support is available</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ICU_ENABLED">Macro </a>LIBXML_ICU_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
</pre>
<p>Whether icu support is available</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ISO8859X_ENABLED">Macro </a>LIBXML_ISO8859X_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
</pre>
<p>Whether ISO-8859-* support is made available in case iconv is not</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_LEGACY_ENABLED">Macro </a>LIBXML_LEGACY_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
</pre>
<p>Whether the deprecated APIs are compiled in for compatibility</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_LZMA_ENABLED">Macro </a>LIBXML_LZMA_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
</pre>
<p>Whether the Lzma support is compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_MODULES_ENABLED">Macro </a>LIBXML_MODULES_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
</pre>
<p>Whether the module interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_MODULE_EXTENSION">Macro </a>LIBXML_MODULE_EXTENSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
</pre>
<p>the string suffix used by dynamic modules (usually shared libraries)</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_OUTPUT_ENABLED">Macro </a>LIBXML_OUTPUT_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
</pre>
<p>Whether the serialization/saving support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_PATTERN_ENABLED">Macro </a>LIBXML_PATTERN_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
</pre>
<p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_PUSH_ENABLED">Macro </a>LIBXML_PUSH_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
</pre>
<p>Whether the push parsing interfaces are configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_READER_ENABLED">Macro </a>LIBXML_READER_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
</pre>
<p>Whether the xmlReader parsing interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_REGEXP_ENABLED">Macro </a>LIBXML_REGEXP_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
</pre>
<p>Whether the regular expressions interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SAX1_ENABLED">Macro </a>LIBXML_SAX1_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
</pre>
<p>Whether the older SAX1 interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SCHEMAS_ENABLED">Macro </a>LIBXML_SCHEMAS_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
</pre>
<p>Whether the Schemas validation interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_SCHEMATRON_ENABLED">Macro </a>LIBXML_SCHEMATRON_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
</pre>
<p>Whether the Schematron validation interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_TEST_VERSION">Macro </a>LIBXML_TEST_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
</pre>
<p>Macro to check that the libxml version in use is compatible with the version the software has been compiled against</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_THREAD_ALLOC_ENABLED">Macro </a>LIBXML_THREAD_ALLOC_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
</pre>
<p>Whether the allocation hooks are per-thread</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_THREAD_ENABLED">Macro </a>LIBXML_THREAD_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
</pre>
<p>Whether the thread support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_TREE_ENABLED">Macro </a>LIBXML_TREE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
</pre>
<p>Whether the DOM like tree manipulation API support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_UNICODE_ENABLED">Macro </a>LIBXML_UNICODE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
</pre>
<p>Whether the Unicode related interfaces are compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VALID_ENABLED">Macro </a>LIBXML_VALID_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
</pre>
<p>Whether the DTD validation support is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
</pre>
<p>the version number: 1.2.3 value is 10203</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION_EXTRA">Macro </a>LIBXML_VERSION_EXTRA</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
</pre>
<p>extra version information, used to show a git commit description</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_VERSION_STRING">Macro </a>LIBXML_VERSION_STRING</h3>
<pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
</pre>
<p>the version number string, 1.2.3 value is "10203"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_WRITER_ENABLED">Macro </a>LIBXML_WRITER_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
</pre>
<p>Whether the xmlWriter saving interface is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XINCLUDE_ENABLED">Macro </a>LIBXML_XINCLUDE_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
</pre>
<p>Whether XInclude is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPATH_ENABLED">Macro </a>LIBXML_XPATH_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
</pre>
<p>Whether XPath is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPTR_ENABLED">Macro </a>LIBXML_XPTR_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
</pre>
<p>Whether XPointer is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_XPTR_LOCS_ENABLED">Macro </a>LIBXML_XPTR_LOCS_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
</pre>
<p>Whether support for XPointer locations is configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_ZLIB_ENABLED">Macro </a>LIBXML_ZLIB_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
</pre>
<p>Whether the Zlib support is compiled in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3>
<pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
</pre>
<p>defined if the trio support should not be configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="WITH_TRIO">Macro </a>WITH_TRIO</h3>
<pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
</pre>
<p>defined if the trio support need to be configured in</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XML_DEPRECATED">Macro </a>XML_DEPRECATED</h3>
<pre class="programlisting">#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
</pre>
<p>Macro used to indicate that a function, variable, type or struct member is deprecated.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckVersion"></a>xmlCheckVersion ()</h3>
<pre class="programlisting">void	xmlCheckVersion			(int version)<br>
</pre>
<p>check the compiled lib version against the include one. This can warn or immediately kill the application</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>version</tt></i>:</span></td>
<td>the include version number</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�uX?8?83usr/share/gtk-doc/html/libxml2/libxml2-xmlsave.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlsave: the XML document serializer</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlsave</span></h2>
<p>xmlsave - the XML document serializer</p>
<p>API to save document or subtree of document </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
typedef <a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a href="#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>;
typedef enum <a href="#xmlSaveOption">xmlSaveOption</a>;
int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlSaveFlush">xmlSaveFlush</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToIO">xmlSaveToIO</a>		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * encoding, <br>					 int options);
long	<a href="#xmlSaveTree">xmlSaveTree</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3>
<pre class="programlisting">struct _xmlSaveCtxt {
The content of this structure is not made public by the API.
} xmlSaveCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveOption">Enum </a>xmlSaveOption</h3>
<pre class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
    <a name="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 /* format save output */
    <a name="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 /* drop the xml declaration */
    <a name="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 /* no empty tags */
    <a name="XML_SAVE_NO_XHTML">XML_SAVE_NO_XHTML</a> = 8 /* disable XHTML1 specific rules */
    <a name="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 /* force XHTML1 specific rules */
    <a name="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 /* force XML serialization on HTML doc */
    <a name="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 /* force HTML serialization on XML doc */
    <a name="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 /*  format with non-significant whitespace */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveClose"></a>xmlSaveClose ()</h3>
<pre class="programlisting">int	xmlSaveClose			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
</pre>
<p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveDoc"></a>xmlSaveDoc ()</h3>
<pre class="programlisting">long	xmlSaveDoc			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveFlush"></a>xmlSaveFlush ()</h3>
<pre class="programlisting">int	xmlSaveFlush			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
</pre>
<p>Flush a document saving context, i.e. make sure that all bytes have been output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveSetAttrEscape"></a>xmlSaveSetAttrEscape ()</h3>
<pre class="programlisting">int	xmlSaveSetAttrEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
</pre>
<p>Set a custom escaping function to be used for text in <a href="libxml2-SAX.html#attribute">attribute</a> content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>escape</tt></i>:</span></td>
<td>the escaping function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveSetEscape"></a>xmlSaveSetEscape ()</h3>
<pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
</pre>
<p>Set a custom escaping function to be used for text in element content</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>escape</tt></i>:</span></td>
<td>the escaping function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if successful or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToBuffer"></a>xmlSaveToBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a buffer with the encoding and the options given</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToFd"></a>xmlSaveToFd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFd		(int fd, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a file descriptor with the encoding and the options given.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToFilename"></a>xmlSaveToFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToFilename	(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file name or an URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveToIO"></a>xmlSaveToIO ()</h3>
<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create a document saving context serializing to a file descriptor with the encoding and the options given</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
<td>an I/O write function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the encoding name to use or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a set of xmlSaveOptions</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new serialization context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveTree"></a>xmlSaveTree ()</h3>
<pre class="programlisting">long	xmlSaveTree			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
<p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>a document saving context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�@��52523usr/share/gtk-doc/html/libxml2/libxml2-threads.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>threads: interfaces for thread handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-schematron.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">threads</span></h2>
<p>threads - interfaces for thread handling</p>
<p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
typedef struct _xmlRMutex <a href="#xmlRMutex">xmlRMutex</a>;
typedef <a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * <a href="#xmlRMutexPtr">xmlRMutexPtr</a>;
void	<a href="#xmlCleanupThreads">xmlCleanupThreads</a>		(void);
int	<a href="#xmlDllMain">xmlDllMain</a>			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved);
void	<a href="#xmlFreeMutex">xmlFreeMutex</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void);
int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void);
void	<a href="#xmlInitThreads">xmlInitThreads</a>			(void);
int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void);
void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void);
void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	<a href="#xmlNewMutex">xmlNewMutex</a>		(void);
<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	<a href="#xmlNewRMutex">xmlNewRMutex</a>		(void);
void	<a href="#xmlRMutexLock">xmlRMutexLock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
void	<a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
void	<a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutex">Structure </a>xmlMutex</h3>
<pre class="programlisting">struct _xmlMutex {
The content of this structure is not made public by the API.
} xmlMutex;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutex">Structure </a>xmlRMutex</h3>
<pre class="programlisting">struct _xmlRMutex {
The content of this structure is not made public by the API.
} xmlRMutex;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3>
<pre class="programlisting">void	xmlCleanupThreads		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. xmlCleanupThreads() is used to to cleanup all the thread related data of the libxml2 library once processing has ended. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDllMain"></a>xmlDllMain ()</h3>
<pre class="programlisting">int	xmlDllMain			(void * hinstDLL, <br>					 unsigned long fdwReason, <br>					 void * lpvReserved)<br>
</pre>
<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>fdwReason</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>lpvReserved</tt></i>:</span></td>
<td></td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeMutex"></a>xmlFreeMutex ()</h3>
<pre class="programlisting">void	xmlFreeMutex			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeRMutex"></a>xmlFreeRMutex ()</h3>
<pre class="programlisting">void	xmlFreeRMutex			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br>
</pre>
<p>xmlGetGlobalState() is called to retrieve the global state for a thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the thread global state or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
<pre class="programlisting">int	xmlGetThreadId			(void)<br>
</pre>
<p>xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the current thread ID number</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitThreads"></a>xmlInitThreads ()</h3>
<pre class="programlisting">void	xmlInitThreads			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. xmlInitThreads() is used to to initialize all the thread related data of the libxml2 library.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
<pre class="programlisting">int	xmlIsMainThread			(void)<br>
</pre>
<p>xmlIsMainThread() check whether the current thread is the main thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the current thread is the main thread, 0 otherwise</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLockLibrary"></a>xmlLockLibrary ()</h3>
<pre class="programlisting">void	xmlLockLibrary			(void)<br>
</pre>
<p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexLock"></a>xmlMutexLock ()</h3>
<pre class="programlisting">void	xmlMutexLock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlMutexLock() is used to lock a libxml2 token.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlMutexUnlock"></a>xmlMutexUnlock ()</h3>
<pre class="programlisting">void	xmlMutexUnlock			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
</pre>
<p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the simple mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewMutex"></a>xmlNewMutex ()</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>	xmlNewMutex		(void)<br>
</pre>
<p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new simple mutex pointer or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewRMutex"></a>xmlNewRMutex ()</h3>
<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>	xmlNewRMutex		(void)<br>
</pre>
<p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a recursive fashion.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reentrant mutex pointer or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexLock"></a>xmlRMutexLock ()</h3>
<pre class="programlisting">void	xmlRMutexLock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRMutexUnlock"></a>xmlRMutexUnlock ()</h3>
<pre class="programlisting">void	xmlRMutexUnlock			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
</pre>
<p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>tok</tt></i>:</span></td>
<td>the reentrant mutex</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlUnlockLibrary"></a>xmlUnlockLibrary ()</h3>
<pre class="programlisting">void	xmlUnlockLibrary		(void)<br>
</pre>
<p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z"G�"����/usr/share/gtk-doc/html/libxml2/libxml2.devhelp2nu�[���<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://www.devhelp.net/book" title="libxml2 Reference Manual" link="index.html" author="" name="libxml2">
  <chapters>
    <sub name="API" link="general.html">
      <sub name="HTMLparser" link="libxml2-HTMLparser.html"/>
      <sub name="HTMLtree" link="libxml2-HTMLtree.html"/>
      <sub name="SAX" link="libxml2-SAX.html"/>
      <sub name="SAX2" link="libxml2-SAX2.html"/>
      <sub name="c14n" link="libxml2-c14n.html"/>
      <sub name="catalog" link="libxml2-catalog.html"/>
      <sub name="chvalid" link="libxml2-chvalid.html"/>
      <sub name="debugXML" link="libxml2-debugXML.html"/>
      <sub name="dict" link="libxml2-dict.html"/>
      <sub name="encoding" link="libxml2-encoding.html"/>
      <sub name="entities" link="libxml2-entities.html"/>
      <sub name="globals" link="libxml2-globals.html"/>
      <sub name="hash" link="libxml2-hash.html"/>
      <sub name="list" link="libxml2-list.html"/>
      <sub name="nanoftp" link="libxml2-nanoftp.html"/>
      <sub name="nanohttp" link="libxml2-nanohttp.html"/>
      <sub name="parser" link="libxml2-parser.html"/>
      <sub name="parserInternals" link="libxml2-parserInternals.html"/>
      <sub name="pattern" link="libxml2-pattern.html"/>
      <sub name="relaxng" link="libxml2-relaxng.html"/>
      <sub name="schemasInternals" link="libxml2-schemasInternals.html"/>
      <sub name="schematron" link="libxml2-schematron.html"/>
      <sub name="threads" link="libxml2-threads.html"/>
      <sub name="tree" link="libxml2-tree.html"/>
      <sub name="uri" link="libxml2-uri.html"/>
      <sub name="valid" link="libxml2-valid.html"/>
      <sub name="xinclude" link="libxml2-xinclude.html"/>
      <sub name="xlink" link="libxml2-xlink.html"/>
      <sub name="xmlIO" link="libxml2-xmlIO.html"/>
      <sub name="xmlautomata" link="libxml2-xmlautomata.html"/>
      <sub name="xmlerror" link="libxml2-xmlerror.html"/>
      <sub name="xmlexports" link="libxml2-xmlexports.html"/>
      <sub name="xmlmemory" link="libxml2-xmlmemory.html"/>
      <sub name="xmlmodule" link="libxml2-xmlmodule.html"/>
      <sub name="xmlreader" link="libxml2-xmlreader.html"/>
      <sub name="xmlregexp" link="libxml2-xmlregexp.html"/>
      <sub name="xmlsave" link="libxml2-xmlsave.html"/>
      <sub name="xmlschemas" link="libxml2-xmlschemas.html"/>
      <sub name="xmlschemastypes" link="libxml2-xmlschemastypes.html"/>
      <sub name="xmlstring" link="libxml2-xmlstring.html"/>
      <sub name="xmlunicode" link="libxml2-xmlunicode.html"/>
      <sub name="xmlversion" link="libxml2-xmlversion.html"/>
      <sub name="xmlwriter" link="libxml2-xmlwriter.html"/>
      <sub name="xpath" link="libxml2-xpath.html"/>
      <sub name="xpathInternals" link="libxml2-xpathInternals.html"/>
      <sub name="xpointer" link="libxml2-xpointer.html"/>
    </sub>
  </chapters>
  <functions>
    <keyword type="macro" name="ATTRIBUTE_UNUSED" link="libxml2-xmlversion.html#ATTRIBUTE_UNUSED"/>
    <keyword type="macro" name="BAD_CAST" link="libxml2-xmlstring.html#BAD_CAST"/>
    <keyword type="macro" name="BASE_BUFFER_SIZE" link="libxml2-tree.html#BASE_BUFFER_SIZE"/>
    <keyword type="macro" name="CAST_TO_BOOLEAN" link="libxml2-xpathInternals.html#CAST_TO_BOOLEAN"/>
    <keyword type="macro" name="CAST_TO_NUMBER" link="libxml2-xpathInternals.html#CAST_TO_NUMBER"/>
    <keyword type="macro" name="CAST_TO_STRING" link="libxml2-xpathInternals.html#CAST_TO_STRING"/>
    <keyword type="macro" name="CHECK_ARITY" link="libxml2-xpathInternals.html#CHECK_ARITY"/>
    <keyword type="macro" name="CHECK_ERROR" link="libxml2-xpathInternals.html#CHECK_ERROR"/>
    <keyword type="macro" name="CHECK_ERROR0" link="libxml2-xpathInternals.html#CHECK_ERROR0"/>
    <keyword type="macro" name="CHECK_TYPE" link="libxml2-xpathInternals.html#CHECK_TYPE"/>
    <keyword type="macro" name="CHECK_TYPE0" link="libxml2-xpathInternals.html#CHECK_TYPE0"/>
    <keyword type="macro" name="DEBUG_MEMORY" link="libxml2-xmlmemory.html#DEBUG_MEMORY"/>
    <keyword type="macro" name="DEBUG_MEMORY_LOCATION" link="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION"/>
    <keyword type="macro" name="HTML_COMMENT_NODE" link="libxml2-HTMLtree.html#HTML_COMMENT_NODE"/>
    <keyword type="macro" name="HTML_ENTITY_REF_NODE" link="libxml2-HTMLtree.html#HTML_ENTITY_REF_NODE"/>
    <keyword type="macro" name="HTML_PI_NODE" link="libxml2-HTMLtree.html#HTML_PI_NODE"/>
    <keyword type="macro" name="HTML_PRESERVE_NODE" link="libxml2-HTMLtree.html#HTML_PRESERVE_NODE"/>
    <keyword type="macro" name="HTML_TEXT_NODE" link="libxml2-HTMLtree.html#HTML_TEXT_NODE"/>
    <keyword type="macro" name="INPUT_CHUNK" link="libxml2-parserInternals.html#INPUT_CHUNK"/>
    <keyword type="macro" name="INVALID_SOCKET" link="libxml2-nanoftp.html#INVALID_SOCKET"/>
    <keyword type="macro" name="IS_ASCII_DIGIT" link="libxml2-parserInternals.html#IS_ASCII_DIGIT"/>
    <keyword type="macro" name="IS_ASCII_LETTER" link="libxml2-parserInternals.html#IS_ASCII_LETTER"/>
    <keyword type="macro" name="IS_BASECHAR" link="libxml2-parserInternals.html#IS_BASECHAR"/>
    <keyword type="macro" name="IS_BLANK" link="libxml2-parserInternals.html#IS_BLANK"/>
    <keyword type="macro" name="IS_BLANK_CH" link="libxml2-parserInternals.html#IS_BLANK_CH"/>
    <keyword type="macro" name="IS_BYTE_CHAR" link="libxml2-parserInternals.html#IS_BYTE_CHAR"/>
    <keyword type="macro" name="IS_CHAR" link="libxml2-parserInternals.html#IS_CHAR"/>
    <keyword type="macro" name="IS_CHAR_CH" link="libxml2-parserInternals.html#IS_CHAR_CH"/>
    <keyword type="macro" name="IS_COMBINING" link="libxml2-parserInternals.html#IS_COMBINING"/>
    <keyword type="macro" name="IS_COMBINING_CH" link="libxml2-parserInternals.html#IS_COMBINING_CH"/>
    <keyword type="macro" name="IS_DIGIT" link="libxml2-parserInternals.html#IS_DIGIT"/>
    <keyword type="macro" name="IS_DIGIT_CH" link="libxml2-parserInternals.html#IS_DIGIT_CH"/>
    <keyword type="macro" name="IS_EXTENDER" link="libxml2-parserInternals.html#IS_EXTENDER"/>
    <keyword type="macro" name="IS_EXTENDER_CH" link="libxml2-parserInternals.html#IS_EXTENDER_CH"/>
    <keyword type="macro" name="IS_IDEOGRAPHIC" link="libxml2-parserInternals.html#IS_IDEOGRAPHIC"/>
    <keyword type="macro" name="IS_LETTER" link="libxml2-parserInternals.html#IS_LETTER"/>
    <keyword type="macro" name="IS_LETTER_CH" link="libxml2-parserInternals.html#IS_LETTER_CH"/>
    <keyword type="macro" name="IS_PUBIDCHAR" link="libxml2-parserInternals.html#IS_PUBIDCHAR"/>
    <keyword type="macro" name="IS_PUBIDCHAR_CH" link="libxml2-parserInternals.html#IS_PUBIDCHAR_CH"/>
    <keyword type="macro" name="LIBXML2_NEW_BUFFER" link="libxml2-tree.html#LIBXML2_NEW_BUFFER"/>
    <keyword type="macro" name="LIBXML_ATTR_ALLOC_SIZE" link="libxml2-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE"/>
    <keyword type="macro" name="LIBXML_ATTR_FORMAT" link="libxml2-xmlversion.html#LIBXML_ATTR_FORMAT"/>
    <keyword type="macro" name="LIBXML_AUTOMATA_ENABLED" link="libxml2-xmlversion.html#LIBXML_AUTOMATA_ENABLED"/>
    <keyword type="macro" name="LIBXML_C14N_ENABLED" link="libxml2-xmlversion.html#LIBXML_C14N_ENABLED"/>
    <keyword type="macro" name="LIBXML_CATALOG_ENABLED" link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
    <keyword type="macro" name="LIBXML_DEBUG_ENABLED" link="libxml2-xmlversion.html#LIBXML_DEBUG_ENABLED"/>
    <keyword type="macro" name="LIBXML_DEBUG_RUNTIME" link="libxml2-xmlversion.html#LIBXML_DEBUG_RUNTIME"/>
    <keyword type="macro" name="LIBXML_DLL_IMPORT" link="libxml2-xmlexports.html#LIBXML_DLL_IMPORT"/>
    <keyword type="macro" name="LIBXML_DOTTED_VERSION" link="libxml2-xmlversion.html#LIBXML_DOTTED_VERSION"/>
    <keyword type="macro" name="LIBXML_EXPR_ENABLED" link="libxml2-xmlversion.html#LIBXML_EXPR_ENABLED"/>
    <keyword type="macro" name="LIBXML_FTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_FTP_ENABLED"/>
    <keyword type="macro" name="LIBXML_HTML_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTML_ENABLED"/>
    <keyword type="macro" name="LIBXML_HTTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTTP_ENABLED"/>
    <keyword type="macro" name="LIBXML_ICONV_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICONV_ENABLED"/>
    <keyword type="macro" name="LIBXML_ICU_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICU_ENABLED"/>
    <keyword type="macro" name="LIBXML_ISO8859X_ENABLED" link="libxml2-xmlversion.html#LIBXML_ISO8859X_ENABLED"/>
    <keyword type="macro" name="LIBXML_LEGACY_ENABLED" link="libxml2-xmlversion.html#LIBXML_LEGACY_ENABLED"/>
    <keyword type="macro" name="LIBXML_LZMA_ENABLED" link="libxml2-xmlversion.html#LIBXML_LZMA_ENABLED"/>
    <keyword type="macro" name="LIBXML_MODULES_ENABLED" link="libxml2-xmlversion.html#LIBXML_MODULES_ENABLED"/>
    <keyword type="macro" name="LIBXML_MODULE_EXTENSION" link="libxml2-xmlversion.html#LIBXML_MODULE_EXTENSION"/>
    <keyword type="macro" name="LIBXML_OUTPUT_ENABLED" link="libxml2-xmlversion.html#LIBXML_OUTPUT_ENABLED"/>
    <keyword type="macro" name="LIBXML_PATTERN_ENABLED" link="libxml2-xmlversion.html#LIBXML_PATTERN_ENABLED"/>
    <keyword type="macro" name="LIBXML_PUSH_ENABLED" link="libxml2-xmlversion.html#LIBXML_PUSH_ENABLED"/>
    <keyword type="macro" name="LIBXML_READER_ENABLED" link="libxml2-xmlversion.html#LIBXML_READER_ENABLED"/>
    <keyword type="macro" name="LIBXML_REGEXP_ENABLED" link="libxml2-xmlversion.html#LIBXML_REGEXP_ENABLED"/>
    <keyword type="macro" name="LIBXML_SAX1_ENABLED" link="libxml2-xmlversion.html#LIBXML_SAX1_ENABLED"/>
    <keyword type="macro" name="LIBXML_SCHEMAS_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMAS_ENABLED"/>
    <keyword type="macro" name="LIBXML_SCHEMATRON_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMATRON_ENABLED"/>
    <keyword type="macro" name="LIBXML_TEST_VERSION" link="libxml2-xmlversion.html#LIBXML_TEST_VERSION"/>
    <keyword type="macro" name="LIBXML_THREAD_ALLOC_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED"/>
    <keyword type="macro" name="LIBXML_THREAD_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ENABLED"/>
    <keyword type="macro" name="LIBXML_TREE_ENABLED" link="libxml2-xmlversion.html#LIBXML_TREE_ENABLED"/>
    <keyword type="macro" name="LIBXML_UNICODE_ENABLED" link="libxml2-xmlversion.html#LIBXML_UNICODE_ENABLED"/>
    <keyword type="macro" name="LIBXML_VALID_ENABLED" link="libxml2-xmlversion.html#LIBXML_VALID_ENABLED"/>
    <keyword type="macro" name="LIBXML_VERSION" link="libxml2-xmlversion.html#LIBXML_VERSION"/>
    <keyword type="macro" name="LIBXML_VERSION_EXTRA" link="libxml2-xmlversion.html#LIBXML_VERSION_EXTRA"/>
    <keyword type="macro" name="LIBXML_VERSION_STRING" link="libxml2-xmlversion.html#LIBXML_VERSION_STRING"/>
    <keyword type="macro" name="LIBXML_WRITER_ENABLED" link="libxml2-xmlversion.html#LIBXML_WRITER_ENABLED"/>
    <keyword type="macro" name="LIBXML_XINCLUDE_ENABLED" link="libxml2-xmlversion.html#LIBXML_XINCLUDE_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPATH_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPATH_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPTR_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_ENABLED"/>
    <keyword type="macro" name="LIBXML_XPTR_LOCS_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_LOCS_ENABLED"/>
    <keyword type="macro" name="LIBXML_ZLIB_ENABLED" link="libxml2-xmlversion.html#LIBXML_ZLIB_ENABLED"/>
    <keyword type="macro" name="MOVETO_ENDTAG" link="libxml2-parserInternals.html#MOVETO_ENDTAG"/>
    <keyword type="macro" name="MOVETO_STARTTAG" link="libxml2-parserInternals.html#MOVETO_STARTTAG"/>
    <keyword type="macro" name="SKIP_EOL" link="libxml2-parserInternals.html#SKIP_EOL"/>
    <keyword type="macro" name="SOCKET" link="libxml2-nanoftp.html#SOCKET"/>
    <keyword type="macro" name="WITHOUT_TRIO" link="libxml2-xmlversion.html#WITHOUT_TRIO"/>
    <keyword type="macro" name="WITH_TRIO" link="libxml2-xmlversion.html#WITH_TRIO"/>
    <keyword type="macro" name="XINCLUDE_FALLBACK" link="libxml2-xinclude.html#XINCLUDE_FALLBACK"/>
    <keyword type="macro" name="XINCLUDE_HREF" link="libxml2-xinclude.html#XINCLUDE_HREF"/>
    <keyword type="macro" name="XINCLUDE_NODE" link="libxml2-xinclude.html#XINCLUDE_NODE"/>
    <keyword type="macro" name="XINCLUDE_NS" link="libxml2-xinclude.html#XINCLUDE_NS"/>
    <keyword type="macro" name="XINCLUDE_OLD_NS" link="libxml2-xinclude.html#XINCLUDE_OLD_NS"/>
    <keyword type="macro" name="XINCLUDE_PARSE" link="libxml2-xinclude.html#XINCLUDE_PARSE"/>
    <keyword type="macro" name="XINCLUDE_PARSE_ENCODING" link="libxml2-xinclude.html#XINCLUDE_PARSE_ENCODING"/>
    <keyword type="macro" name="XINCLUDE_PARSE_TEXT" link="libxml2-xinclude.html#XINCLUDE_PARSE_TEXT"/>
    <keyword type="macro" name="XINCLUDE_PARSE_XML" link="libxml2-xinclude.html#XINCLUDE_PARSE_XML"/>
    <keyword type="macro" name="XINCLUDE_PARSE_XPOINTER" link="libxml2-xinclude.html#XINCLUDE_PARSE_XPOINTER"/>
    <keyword type="macro" name="XMLCALL" link="libxml2-xmlexports.html#XMLCALL"/>
    <keyword type="macro" name="XMLCDECL" link="libxml2-xmlexports.html#XMLCDECL"/>
    <keyword type="macro" name="XMLPUBFUN" link="libxml2-xmlexports.html#XMLPUBFUN"/>
    <keyword type="macro" name="XMLPUBLIC" link="libxml2-xmlexports.html#XMLPUBLIC"/>
    <keyword type="macro" name="XMLPUBVAR" link="libxml2-xmlexports.html#XMLPUBVAR"/>
    <keyword type="macro" name="XML_CAST_FPTR" link="libxml2-hash.html#XML_CAST_FPTR"/>
    <keyword type="macro" name="XML_CATALOGS_NAMESPACE" link="libxml2-catalog.html#XML_CATALOGS_NAMESPACE"/>
    <keyword type="macro" name="XML_CATALOG_PI" link="libxml2-catalog.html#XML_CATALOG_PI"/>
    <keyword type="macro" name="XML_COMPLETE_ATTRS" link="libxml2-parser.html#XML_COMPLETE_ATTRS"/>
    <keyword type="macro" name="XML_DEFAULT_VERSION" link="libxml2-parser.html#XML_DEFAULT_VERSION"/>
    <keyword type="macro" name="XML_DEPRECATED" link="libxml2-xmlversion.html#XML_DEPRECATED"/>
    <keyword type="macro" name="XML_DETECT_IDS" link="libxml2-parser.html#XML_DETECT_IDS"/>
    <keyword type="macro" name="XML_DOCB_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCB_DOCUMENT_NODE"/>
    <keyword type="macro" name="XML_GET_CONTENT" link="libxml2-tree.html#XML_GET_CONTENT"/>
    <keyword type="macro" name="XML_GET_LINE" link="libxml2-tree.html#XML_GET_LINE"/>
    <keyword type="macro" name="XML_LOCAL_NAMESPACE" link="libxml2-tree.html#XML_LOCAL_NAMESPACE"/>
    <keyword type="macro" name="XML_MAX_DICTIONARY_LIMIT" link="libxml2-parserInternals.html#XML_MAX_DICTIONARY_LIMIT"/>
    <keyword type="macro" name="XML_MAX_LOOKUP_LIMIT" link="libxml2-parserInternals.html#XML_MAX_LOOKUP_LIMIT"/>
    <keyword type="macro" name="XML_MAX_NAMELEN" link="libxml2-parserInternals.html#XML_MAX_NAMELEN"/>
    <keyword type="macro" name="XML_MAX_NAME_LENGTH" link="libxml2-parserInternals.html#XML_MAX_NAME_LENGTH"/>
    <keyword type="macro" name="XML_MAX_TEXT_LENGTH" link="libxml2-parserInternals.html#XML_MAX_TEXT_LENGTH"/>
    <keyword type="macro" name="XML_SAX2_MAGIC" link="libxml2-parser.html#XML_SAX2_MAGIC"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_LAX" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_SKIP" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP"/>
    <keyword type="macro" name="XML_SCHEMAS_ANYATTR_STRICT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_LAX" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_LAX"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_SKIP" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_SKIP"/>
    <keyword type="macro" name="XML_SCHEMAS_ANY_STRICT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANY_STRICT"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_HAS_REFS" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_HAS_REFS"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_MARKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_MARKED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_REDEFINED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_REDEFINED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_FIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_FIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_NSDEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_OPTIONAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_PROHIBITED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED"/>
    <keyword type="macro" name="XML_SCHEMAS_ATTR_USE_REQUIRED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_ABSTRACT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_CIRCULAR" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_CIRCULAR"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FINAL_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_FIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_NILLABLE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_NSDEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_REF" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_REF"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD"/>
    <keyword type="macro" name="XML_SCHEMAS_ELEM_TOPLEVEL" link="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_COLLAPSE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_PRESERVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_REPLACE" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE"/>
    <keyword type="macro" name="XML_SCHEMAS_FACET_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_FINAL_DEFAULT_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_INCLUDING_CONVERT_NS" link="libxml2-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS"/>
    <keyword type="macro" name="XML_SCHEMAS_QUALIF_ATTR" link="libxml2-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR"/>
    <keyword type="macro" name="XML_SCHEMAS_QUALIF_ELEM" link="libxml2-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_ABSTRACT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_ABSTRACT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_DEFAULT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FINAL_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_FIXUP_1" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_FIXUP_1"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_GLOBAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_HAS_FACETS" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_HAS_FACETS"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_INTERNAL_INVALID" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_INVALID"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_MARKED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_MARKED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_MIXED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_NORMVALUENEEDED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_NORMVALUENEEDED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_REDEFINED" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_REDEFINED"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_ABSENT" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_LIST" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_VARIETY_UNION" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE"/>
    <keyword type="macro" name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE" link="libxml2-schemasInternals.html#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE"/>
    <keyword type="macro" name="XML_SCHEMAS_WILDCARD_COMPLETE" link="libxml2-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE"/>
    <keyword type="macro" name="XML_SKIP_IDS" link="libxml2-parser.html#XML_SKIP_IDS"/>
    <keyword type="macro" name="XML_SUBSTITUTE_BOTH" link="libxml2-parserInternals.html#XML_SUBSTITUTE_BOTH"/>
    <keyword type="macro" name="XML_SUBSTITUTE_NONE" link="libxml2-parserInternals.html#XML_SUBSTITUTE_NONE"/>
    <keyword type="macro" name="XML_SUBSTITUTE_PEREF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF"/>
    <keyword type="macro" name="XML_SUBSTITUTE_REF" link="libxml2-parserInternals.html#XML_SUBSTITUTE_REF"/>
    <keyword type="macro" name="XML_VCTXT_DTD_VALIDATED" link="libxml2-valid.html#XML_VCTXT_DTD_VALIDATED"/>
    <keyword type="macro" name="XML_VCTXT_USE_PCTXT" link="libxml2-valid.html#XML_VCTXT_USE_PCTXT"/>
    <keyword type="macro" name="XML_XML_ID" link="libxml2-tree.html#XML_XML_ID"/>
    <keyword type="macro" name="XML_XML_NAMESPACE" link="libxml2-tree.html#XML_XML_NAMESPACE"/>
    <keyword type="macro" name="XML_XPATH_CHECKNS" link="libxml2-xpath.html#XML_XPATH_CHECKNS"/>
    <keyword type="macro" name="XML_XPATH_NOVAR" link="libxml2-xpath.html#XML_XPATH_NOVAR"/>
    <keyword type="macro" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
    <keyword type="macro" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
    <keyword type="macro" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
    <keyword type="macro" name="XP_ERROR" link="libxml2-xpathInternals.html#XP_ERROR"/>
    <keyword type="macro" name="XP_ERROR0" link="libxml2-xpathInternals.html#XP_ERROR0"/>
    <keyword type="macro" name="htmlDefaultSubelement" link="libxml2-HTMLparser.html#htmlDefaultSubelement"/>
    <keyword type="macro" name="htmlElementAllowedHereDesc" link="libxml2-HTMLparser.html#htmlElementAllowedHereDesc"/>
    <keyword type="macro" name="htmlRequiredAttrs" link="libxml2-HTMLparser.html#htmlRequiredAttrs"/>
    <keyword type="macro" name="xmlChildrenNode" link="libxml2-tree.html#xmlChildrenNode"/>
    <keyword type="macro" name="xmlIsBaseCharQ" link="libxml2-chvalid.html#xmlIsBaseCharQ"/>
    <keyword type="macro" name="xmlIsBaseChar_ch" link="libxml2-chvalid.html#xmlIsBaseChar_ch"/>
    <keyword type="macro" name="xmlIsBlankQ" link="libxml2-chvalid.html#xmlIsBlankQ"/>
    <keyword type="macro" name="xmlIsBlank_ch" link="libxml2-chvalid.html#xmlIsBlank_ch"/>
    <keyword type="macro" name="xmlIsCharQ" link="libxml2-chvalid.html#xmlIsCharQ"/>
    <keyword type="macro" name="xmlIsChar_ch" link="libxml2-chvalid.html#xmlIsChar_ch"/>
    <keyword type="macro" name="xmlIsCombiningQ" link="libxml2-chvalid.html#xmlIsCombiningQ"/>
    <keyword type="macro" name="xmlIsDigitQ" link="libxml2-chvalid.html#xmlIsDigitQ"/>
    <keyword type="macro" name="xmlIsDigit_ch" link="libxml2-chvalid.html#xmlIsDigit_ch"/>
    <keyword type="macro" name="xmlIsExtenderQ" link="libxml2-chvalid.html#xmlIsExtenderQ"/>
    <keyword type="macro" name="xmlIsExtender_ch" link="libxml2-chvalid.html#xmlIsExtender_ch"/>
    <keyword type="macro" name="xmlIsIdeographicQ" link="libxml2-chvalid.html#xmlIsIdeographicQ"/>
    <keyword type="macro" name="xmlIsPubidCharQ" link="libxml2-chvalid.html#xmlIsPubidCharQ"/>
    <keyword type="macro" name="xmlIsPubidChar_ch" link="libxml2-chvalid.html#xmlIsPubidChar_ch"/>
    <keyword type="macro" name="xmlRootNode" link="libxml2-tree.html#xmlRootNode"/>
    <keyword type="macro" name="xmlTextWriterWriteDocType" link="libxml2-xmlwriter.html#xmlTextWriterWriteDocType"/>
    <keyword type="macro" name="xmlTextWriterWriteProcessingInstruction" link="libxml2-xmlwriter.html#xmlTextWriterWriteProcessingInstruction"/>
    <keyword type="macro" name="xmlXPathCheckError" link="libxml2-xpathInternals.html#xmlXPathCheckError"/>
    <keyword type="macro" name="xmlXPathEmptyNodeSet" link="libxml2-xpathInternals.html#xmlXPathEmptyNodeSet"/>
    <keyword type="macro" name="xmlXPathGetContextNode" link="libxml2-xpathInternals.html#xmlXPathGetContextNode"/>
    <keyword type="macro" name="xmlXPathGetDocument" link="libxml2-xpathInternals.html#xmlXPathGetDocument"/>
    <keyword type="macro" name="xmlXPathGetError" link="libxml2-xpathInternals.html#xmlXPathGetError"/>
    <keyword type="macro" name="xmlXPathNodeSetGetLength" link="libxml2-xpath.html#xmlXPathNodeSetGetLength"/>
    <keyword type="macro" name="xmlXPathNodeSetIsEmpty" link="libxml2-xpath.html#xmlXPathNodeSetIsEmpty"/>
    <keyword type="macro" name="xmlXPathNodeSetItem" link="libxml2-xpath.html#xmlXPathNodeSetItem"/>
    <keyword type="macro" name="xmlXPathReturnBoolean" link="libxml2-xpathInternals.html#xmlXPathReturnBoolean"/>
    <keyword type="macro" name="xmlXPathReturnEmptyNodeSet" link="libxml2-xpathInternals.html#xmlXPathReturnEmptyNodeSet"/>
    <keyword type="macro" name="xmlXPathReturnEmptyString" link="libxml2-xpathInternals.html#xmlXPathReturnEmptyString"/>
    <keyword type="macro" name="xmlXPathReturnExternal" link="libxml2-xpathInternals.html#xmlXPathReturnExternal"/>
    <keyword type="macro" name="xmlXPathReturnFalse" link="libxml2-xpathInternals.html#xmlXPathReturnFalse"/>
    <keyword type="macro" name="xmlXPathReturnNodeSet" link="libxml2-xpathInternals.html#xmlXPathReturnNodeSet"/>
    <keyword type="macro" name="xmlXPathReturnNumber" link="libxml2-xpathInternals.html#xmlXPathReturnNumber"/>
    <keyword type="macro" name="xmlXPathReturnString" link="libxml2-xpathInternals.html#xmlXPathReturnString"/>
    <keyword type="macro" name="xmlXPathReturnTrue" link="libxml2-xpathInternals.html#xmlXPathReturnTrue"/>
    <keyword type="macro" name="xmlXPathSetArityError" link="libxml2-xpathInternals.html#xmlXPathSetArityError"/>
    <keyword type="macro" name="xmlXPathSetError" link="libxml2-xpathInternals.html#xmlXPathSetError"/>
    <keyword type="macro" name="xmlXPathSetTypeError" link="libxml2-xpathInternals.html#xmlXPathSetTypeError"/>
    <keyword type="macro" name="xmlXPathStackIsExternal" link="libxml2-xpathInternals.html#xmlXPathStackIsExternal"/>
    <keyword type="macro" name="xmlXPathStackIsNodeSet" link="libxml2-xpathInternals.html#xmlXPathStackIsNodeSet"/>
    <keyword type="enum" name="HTML_DEPRECATED" link="libxml2-HTMLparser.html#HTML_DEPRECATED"/>
    <keyword type="enum" name="HTML_INVALID" link="libxml2-HTMLparser.html#HTML_INVALID"/>
    <keyword type="enum" name="HTML_NA" link="libxml2-HTMLparser.html#HTML_NA"/>
    <keyword type="enum" name="HTML_PARSE_COMPACT" link="libxml2-HTMLparser.html#HTML_PARSE_COMPACT"/>
    <keyword type="enum" name="HTML_PARSE_IGNORE_ENC" link="libxml2-HTMLparser.html#HTML_PARSE_IGNORE_ENC"/>
    <keyword type="enum" name="HTML_PARSE_NOBLANKS" link="libxml2-HTMLparser.html#HTML_PARSE_NOBLANKS"/>
    <keyword type="enum" name="HTML_PARSE_NODEFDTD" link="libxml2-HTMLparser.html#HTML_PARSE_NODEFDTD"/>
    <keyword type="enum" name="HTML_PARSE_NOERROR" link="libxml2-HTMLparser.html#HTML_PARSE_NOERROR"/>
    <keyword type="enum" name="HTML_PARSE_NOIMPLIED" link="libxml2-HTMLparser.html#HTML_PARSE_NOIMPLIED"/>
    <keyword type="enum" name="HTML_PARSE_NONET" link="libxml2-HTMLparser.html#HTML_PARSE_NONET"/>
    <keyword type="enum" name="HTML_PARSE_NOWARNING" link="libxml2-HTMLparser.html#HTML_PARSE_NOWARNING"/>
    <keyword type="enum" name="HTML_PARSE_PEDANTIC" link="libxml2-HTMLparser.html#HTML_PARSE_PEDANTIC"/>
    <keyword type="enum" name="HTML_PARSE_RECOVER" link="libxml2-HTMLparser.html#HTML_PARSE_RECOVER"/>
    <keyword type="enum" name="HTML_REQUIRED" link="libxml2-HTMLparser.html#HTML_REQUIRED"/>
    <keyword type="enum" name="HTML_VALID" link="libxml2-HTMLparser.html#HTML_VALID"/>
    <keyword type="enum" name="XLINK_ACTUATE_AUTO" link="libxml2-xlink.html#XLINK_ACTUATE_AUTO"/>
    <keyword type="enum" name="XLINK_ACTUATE_NONE" link="libxml2-xlink.html#XLINK_ACTUATE_NONE"/>
    <keyword type="enum" name="XLINK_ACTUATE_ONREQUEST" link="libxml2-xlink.html#XLINK_ACTUATE_ONREQUEST"/>
    <keyword type="enum" name="XLINK_SHOW_EMBED" link="libxml2-xlink.html#XLINK_SHOW_EMBED"/>
    <keyword type="enum" name="XLINK_SHOW_NEW" link="libxml2-xlink.html#XLINK_SHOW_NEW"/>
    <keyword type="enum" name="XLINK_SHOW_NONE" link="libxml2-xlink.html#XLINK_SHOW_NONE"/>
    <keyword type="enum" name="XLINK_SHOW_REPLACE" link="libxml2-xlink.html#XLINK_SHOW_REPLACE"/>
    <keyword type="enum" name="XLINK_TYPE_EXTENDED" link="libxml2-xlink.html#XLINK_TYPE_EXTENDED"/>
    <keyword type="enum" name="XLINK_TYPE_EXTENDED_SET" link="libxml2-xlink.html#XLINK_TYPE_EXTENDED_SET"/>
    <keyword type="enum" name="XLINK_TYPE_NONE" link="libxml2-xlink.html#XLINK_TYPE_NONE"/>
    <keyword type="enum" name="XLINK_TYPE_SIMPLE" link="libxml2-xlink.html#XLINK_TYPE_SIMPLE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_CDATA" link="libxml2-tree.html#XML_ATTRIBUTE_CDATA"/>
    <keyword type="enum" name="XML_ATTRIBUTE_DECL" link="libxml2-tree.html#XML_ATTRIBUTE_DECL"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENTITIES" link="libxml2-tree.html#XML_ATTRIBUTE_ENTITIES"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENTITY" link="libxml2-tree.html#XML_ATTRIBUTE_ENTITY"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ENUMERATION" link="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION"/>
    <keyword type="enum" name="XML_ATTRIBUTE_FIXED" link="libxml2-tree.html#XML_ATTRIBUTE_FIXED"/>
    <keyword type="enum" name="XML_ATTRIBUTE_ID" link="libxml2-tree.html#XML_ATTRIBUTE_ID"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IDREF" link="libxml2-tree.html#XML_ATTRIBUTE_IDREF"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IDREFS" link="libxml2-tree.html#XML_ATTRIBUTE_IDREFS"/>
    <keyword type="enum" name="XML_ATTRIBUTE_IMPLIED" link="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NMTOKEN" link="libxml2-tree.html#XML_ATTRIBUTE_NMTOKEN"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NMTOKENS" link="libxml2-tree.html#XML_ATTRIBUTE_NMTOKENS"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NODE" link="libxml2-tree.html#XML_ATTRIBUTE_NODE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NONE" link="libxml2-tree.html#XML_ATTRIBUTE_NONE"/>
    <keyword type="enum" name="XML_ATTRIBUTE_NOTATION" link="libxml2-tree.html#XML_ATTRIBUTE_NOTATION"/>
    <keyword type="enum" name="XML_ATTRIBUTE_REQUIRED" link="libxml2-tree.html#XML_ATTRIBUTE_REQUIRED"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_BOUNDED" link="libxml2-tree.html#XML_BUFFER_ALLOC_BOUNDED"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_DOUBLEIT" link="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_EXACT" link="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_HYBRID" link="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_IMMUTABLE" link="libxml2-tree.html#XML_BUFFER_ALLOC_IMMUTABLE"/>
    <keyword type="enum" name="XML_BUFFER_ALLOC_IO" link="libxml2-tree.html#XML_BUFFER_ALLOC_IO"/>
    <keyword type="enum" name="XML_BUF_OVERFLOW" link="libxml2-xmlerror.html#XML_BUF_OVERFLOW"/>
    <keyword type="enum" name="XML_C14N_1_0" link="libxml2-c14n.html#XML_C14N_1_0"/>
    <keyword type="enum" name="XML_C14N_1_1" link="libxml2-c14n.html#XML_C14N_1_1"/>
    <keyword type="enum" name="XML_C14N_CREATE_CTXT" link="libxml2-xmlerror.html#XML_C14N_CREATE_CTXT"/>
    <keyword type="enum" name="XML_C14N_CREATE_STACK" link="libxml2-xmlerror.html#XML_C14N_CREATE_STACK"/>
    <keyword type="enum" name="XML_C14N_EXCLUSIVE_1_0" link="libxml2-c14n.html#XML_C14N_EXCLUSIVE_1_0"/>
    <keyword type="enum" name="XML_C14N_INVALID_NODE" link="libxml2-xmlerror.html#XML_C14N_INVALID_NODE"/>
    <keyword type="enum" name="XML_C14N_RELATIVE_NAMESPACE" link="libxml2-xmlerror.html#XML_C14N_RELATIVE_NAMESPACE"/>
    <keyword type="enum" name="XML_C14N_REQUIRES_UTF8" link="libxml2-xmlerror.html#XML_C14N_REQUIRES_UTF8"/>
    <keyword type="enum" name="XML_C14N_UNKNOW_NODE" link="libxml2-xmlerror.html#XML_C14N_UNKNOW_NODE"/>
    <keyword type="enum" name="XML_CATALOG_ENTRY_BROKEN" link="libxml2-xmlerror.html#XML_CATALOG_ENTRY_BROKEN"/>
    <keyword type="enum" name="XML_CATALOG_MISSING_ATTR" link="libxml2-xmlerror.html#XML_CATALOG_MISSING_ATTR"/>
    <keyword type="enum" name="XML_CATALOG_NOT_CATALOG" link="libxml2-xmlerror.html#XML_CATALOG_NOT_CATALOG"/>
    <keyword type="enum" name="XML_CATALOG_PREFER_VALUE" link="libxml2-xmlerror.html#XML_CATALOG_PREFER_VALUE"/>
    <keyword type="enum" name="XML_CATALOG_RECURSION" link="libxml2-xmlerror.html#XML_CATALOG_RECURSION"/>
    <keyword type="enum" name="XML_CATA_ALLOW_ALL" link="libxml2-catalog.html#XML_CATA_ALLOW_ALL"/>
    <keyword type="enum" name="XML_CATA_ALLOW_DOCUMENT" link="libxml2-catalog.html#XML_CATA_ALLOW_DOCUMENT"/>
    <keyword type="enum" name="XML_CATA_ALLOW_GLOBAL" link="libxml2-catalog.html#XML_CATA_ALLOW_GLOBAL"/>
    <keyword type="enum" name="XML_CATA_ALLOW_NONE" link="libxml2-catalog.html#XML_CATA_ALLOW_NONE"/>
    <keyword type="enum" name="XML_CATA_PREFER_NONE" link="libxml2-catalog.html#XML_CATA_PREFER_NONE"/>
    <keyword type="enum" name="XML_CATA_PREFER_PUBLIC" link="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC"/>
    <keyword type="enum" name="XML_CATA_PREFER_SYSTEM" link="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM"/>
    <keyword type="enum" name="XML_CDATA_SECTION_NODE" link="libxml2-tree.html#XML_CDATA_SECTION_NODE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_2022_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_2022_JP"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_1" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_1"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_2" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_2"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_3" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_3"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_4" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_4"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_5" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_5"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_6" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_6"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_7" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_7"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_8" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_8"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_8859_9" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_9"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_ASCII" link="libxml2-encoding.html#XML_CHAR_ENCODING_ASCII"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_EBCDIC" link="libxml2-encoding.html#XML_CHAR_ENCODING_EBCDIC"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_ERROR" link="libxml2-encoding.html#XML_CHAR_ENCODING_ERROR"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_EUC_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_EUC_JP"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_NONE" link="libxml2-encoding.html#XML_CHAR_ENCODING_NONE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_SHIFT_JIS" link="libxml2-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS2" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS2"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4BE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4BE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4LE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_2143" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_2143"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_3412" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_3412"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF16BE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16BE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF16LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16LE"/>
    <keyword type="enum" name="XML_CHAR_ENCODING_UTF8" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF8"/>
    <keyword type="enum" name="XML_CHECK_ENTITY_TYPE" link="libxml2-xmlerror.html#XML_CHECK_ENTITY_TYPE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ATTRIBUTE" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ATTRIBUTE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_CDATA" link="libxml2-xmlerror.html#XML_CHECK_FOUND_CDATA"/>
    <keyword type="enum" name="XML_CHECK_FOUND_COMMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_COMMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_DOCTYPE" link="libxml2-xmlerror.html#XML_CHECK_FOUND_DOCTYPE"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ELEMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ELEMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ENTITY" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ENTITY"/>
    <keyword type="enum" name="XML_CHECK_FOUND_ENTITYREF" link="libxml2-xmlerror.html#XML_CHECK_FOUND_ENTITYREF"/>
    <keyword type="enum" name="XML_CHECK_FOUND_FRAGMENT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_FRAGMENT"/>
    <keyword type="enum" name="XML_CHECK_FOUND_NOTATION" link="libxml2-xmlerror.html#XML_CHECK_FOUND_NOTATION"/>
    <keyword type="enum" name="XML_CHECK_FOUND_PI" link="libxml2-xmlerror.html#XML_CHECK_FOUND_PI"/>
    <keyword type="enum" name="XML_CHECK_FOUND_TEXT" link="libxml2-xmlerror.html#XML_CHECK_FOUND_TEXT"/>
    <keyword type="enum" name="XML_CHECK_NAME_NOT_NULL" link="libxml2-xmlerror.html#XML_CHECK_NAME_NOT_NULL"/>
    <keyword type="enum" name="XML_CHECK_NOT_ATTR" link="libxml2-xmlerror.html#XML_CHECK_NOT_ATTR"/>
    <keyword type="enum" name="XML_CHECK_NOT_ATTR_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ATTR_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_DTD" link="libxml2-xmlerror.html#XML_CHECK_NOT_DTD"/>
    <keyword type="enum" name="XML_CHECK_NOT_ELEM_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ELEM_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_ENTITY_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_ENTITY_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_NCNAME" link="libxml2-xmlerror.html#XML_CHECK_NOT_NCNAME"/>
    <keyword type="enum" name="XML_CHECK_NOT_NS_DECL" link="libxml2-xmlerror.html#XML_CHECK_NOT_NS_DECL"/>
    <keyword type="enum" name="XML_CHECK_NOT_UTF8" link="libxml2-xmlerror.html#XML_CHECK_NOT_UTF8"/>
    <keyword type="enum" name="XML_CHECK_NO_DICT" link="libxml2-xmlerror.html#XML_CHECK_NO_DICT"/>
    <keyword type="enum" name="XML_CHECK_NO_DOC" link="libxml2-xmlerror.html#XML_CHECK_NO_DOC"/>
    <keyword type="enum" name="XML_CHECK_NO_ELEM" link="libxml2-xmlerror.html#XML_CHECK_NO_ELEM"/>
    <keyword type="enum" name="XML_CHECK_NO_HREF" link="libxml2-xmlerror.html#XML_CHECK_NO_HREF"/>
    <keyword type="enum" name="XML_CHECK_NO_NAME" link="libxml2-xmlerror.html#XML_CHECK_NO_NAME"/>
    <keyword type="enum" name="XML_CHECK_NO_NEXT" link="libxml2-xmlerror.html#XML_CHECK_NO_NEXT"/>
    <keyword type="enum" name="XML_CHECK_NO_PARENT" link="libxml2-xmlerror.html#XML_CHECK_NO_PARENT"/>
    <keyword type="enum" name="XML_CHECK_NO_PREV" link="libxml2-xmlerror.html#XML_CHECK_NO_PREV"/>
    <keyword type="enum" name="XML_CHECK_NS_ANCESTOR" link="libxml2-xmlerror.html#XML_CHECK_NS_ANCESTOR"/>
    <keyword type="enum" name="XML_CHECK_NS_SCOPE" link="libxml2-xmlerror.html#XML_CHECK_NS_SCOPE"/>
    <keyword type="enum" name="XML_CHECK_OUTSIDE_DICT" link="libxml2-xmlerror.html#XML_CHECK_OUTSIDE_DICT"/>
    <keyword type="enum" name="XML_CHECK_UNKNOWN_NODE" link="libxml2-xmlerror.html#XML_CHECK_UNKNOWN_NODE"/>
    <keyword type="enum" name="XML_CHECK_WRONG_DOC" link="libxml2-xmlerror.html#XML_CHECK_WRONG_DOC"/>
    <keyword type="enum" name="XML_CHECK_WRONG_NAME" link="libxml2-xmlerror.html#XML_CHECK_WRONG_NAME"/>
    <keyword type="enum" name="XML_CHECK_WRONG_NEXT" link="libxml2-xmlerror.html#XML_CHECK_WRONG_NEXT"/>
    <keyword type="enum" name="XML_CHECK_WRONG_PARENT" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PARENT"/>
    <keyword type="enum" name="XML_CHECK_WRONG_PREV" link="libxml2-xmlerror.html#XML_CHECK_WRONG_PREV"/>
    <keyword type="enum" name="XML_COMMENT_NODE" link="libxml2-tree.html#XML_COMMENT_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_FRAG_NODE" link="libxml2-tree.html#XML_DOCUMENT_FRAG_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_NODE" link="libxml2-tree.html#XML_DOCUMENT_NODE"/>
    <keyword type="enum" name="XML_DOCUMENT_TYPE_NODE" link="libxml2-tree.html#XML_DOCUMENT_TYPE_NODE"/>
    <keyword type="enum" name="XML_DOC_DTDVALID" link="libxml2-tree.html#XML_DOC_DTDVALID"/>
    <keyword type="enum" name="XML_DOC_HTML" link="libxml2-tree.html#XML_DOC_HTML"/>
    <keyword type="enum" name="XML_DOC_INTERNAL" link="libxml2-tree.html#XML_DOC_INTERNAL"/>
    <keyword type="enum" name="XML_DOC_NSVALID" link="libxml2-tree.html#XML_DOC_NSVALID"/>
    <keyword type="enum" name="XML_DOC_OLD10" link="libxml2-tree.html#XML_DOC_OLD10"/>
    <keyword type="enum" name="XML_DOC_USERBUILT" link="libxml2-tree.html#XML_DOC_USERBUILT"/>
    <keyword type="enum" name="XML_DOC_WELLFORMED" link="libxml2-tree.html#XML_DOC_WELLFORMED"/>
    <keyword type="enum" name="XML_DOC_XINCLUDE" link="libxml2-tree.html#XML_DOC_XINCLUDE"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_DEFAULT" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_DEFAULT"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_ATTRIBUTE_VALUE" link="libxml2-xmlerror.html#XML_DTD_ATTRIBUTE_VALUE"/>
    <keyword type="enum" name="XML_DTD_CONTENT_ERROR" link="libxml2-xmlerror.html#XML_DTD_CONTENT_ERROR"/>
    <keyword type="enum" name="XML_DTD_CONTENT_MODEL" link="libxml2-xmlerror.html#XML_DTD_CONTENT_MODEL"/>
    <keyword type="enum" name="XML_DTD_CONTENT_NOT_DETERMINIST" link="libxml2-xmlerror.html#XML_DTD_CONTENT_NOT_DETERMINIST"/>
    <keyword type="enum" name="XML_DTD_DIFFERENT_PREFIX" link="libxml2-xmlerror.html#XML_DTD_DIFFERENT_PREFIX"/>
    <keyword type="enum" name="XML_DTD_DUP_TOKEN" link="libxml2-xmlerror.html#XML_DTD_DUP_TOKEN"/>
    <keyword type="enum" name="XML_DTD_ELEM_DEFAULT_NAMESPACE" link="libxml2-xmlerror.html#XML_DTD_ELEM_DEFAULT_NAMESPACE"/>
    <keyword type="enum" name="XML_DTD_ELEM_NAMESPACE" link="libxml2-xmlerror.html#XML_DTD_ELEM_NAMESPACE"/>
    <keyword type="enum" name="XML_DTD_ELEM_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ELEM_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_EMPTY_NOTATION" link="libxml2-xmlerror.html#XML_DTD_EMPTY_NOTATION"/>
    <keyword type="enum" name="XML_DTD_ENTITY_TYPE" link="libxml2-xmlerror.html#XML_DTD_ENTITY_TYPE"/>
    <keyword type="enum" name="XML_DTD_ID_FIXED" link="libxml2-xmlerror.html#XML_DTD_ID_FIXED"/>
    <keyword type="enum" name="XML_DTD_ID_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_ID_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_ID_SUBSET" link="libxml2-xmlerror.html#XML_DTD_ID_SUBSET"/>
    <keyword type="enum" name="XML_DTD_INVALID_CHILD" link="libxml2-xmlerror.html#XML_DTD_INVALID_CHILD"/>
    <keyword type="enum" name="XML_DTD_INVALID_DEFAULT" link="libxml2-xmlerror.html#XML_DTD_INVALID_DEFAULT"/>
    <keyword type="enum" name="XML_DTD_LOAD_ERROR" link="libxml2-xmlerror.html#XML_DTD_LOAD_ERROR"/>
    <keyword type="enum" name="XML_DTD_MISSING_ATTRIBUTE" link="libxml2-xmlerror.html#XML_DTD_MISSING_ATTRIBUTE"/>
    <keyword type="enum" name="XML_DTD_MIXED_CORRUPT" link="libxml2-xmlerror.html#XML_DTD_MIXED_CORRUPT"/>
    <keyword type="enum" name="XML_DTD_MULTIPLE_ID" link="libxml2-xmlerror.html#XML_DTD_MULTIPLE_ID"/>
    <keyword type="enum" name="XML_DTD_NODE" link="libxml2-tree.html#XML_DTD_NODE"/>
    <keyword type="enum" name="XML_DTD_NOTATION_REDEFINED" link="libxml2-xmlerror.html#XML_DTD_NOTATION_REDEFINED"/>
    <keyword type="enum" name="XML_DTD_NOTATION_VALUE" link="libxml2-xmlerror.html#XML_DTD_NOTATION_VALUE"/>
    <keyword type="enum" name="XML_DTD_NOT_EMPTY" link="libxml2-xmlerror.html#XML_DTD_NOT_EMPTY"/>
    <keyword type="enum" name="XML_DTD_NOT_PCDATA" link="libxml2-xmlerror.html#XML_DTD_NOT_PCDATA"/>
    <keyword type="enum" name="XML_DTD_NOT_STANDALONE" link="libxml2-xmlerror.html#XML_DTD_NOT_STANDALONE"/>
    <keyword type="enum" name="XML_DTD_NO_DOC" link="libxml2-xmlerror.html#XML_DTD_NO_DOC"/>
    <keyword type="enum" name="XML_DTD_NO_DTD" link="libxml2-xmlerror.html#XML_DTD_NO_DTD"/>
    <keyword type="enum" name="XML_DTD_NO_ELEM_NAME" link="libxml2-xmlerror.html#XML_DTD_NO_ELEM_NAME"/>
    <keyword type="enum" name="XML_DTD_NO_PREFIX" link="libxml2-xmlerror.html#XML_DTD_NO_PREFIX"/>
    <keyword type="enum" name="XML_DTD_NO_ROOT" link="libxml2-xmlerror.html#XML_DTD_NO_ROOT"/>
    <keyword type="enum" name="XML_DTD_ROOT_NAME" link="libxml2-xmlerror.html#XML_DTD_ROOT_NAME"/>
    <keyword type="enum" name="XML_DTD_STANDALONE_DEFAULTED" link="libxml2-xmlerror.html#XML_DTD_STANDALONE_DEFAULTED"/>
    <keyword type="enum" name="XML_DTD_STANDALONE_WHITE_SPACE" link="libxml2-xmlerror.html#XML_DTD_STANDALONE_WHITE_SPACE"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ELEM" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ELEM"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ENTITY" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ENTITY"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_ID" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_ID"/>
    <keyword type="enum" name="XML_DTD_UNKNOWN_NOTATION" link="libxml2-xmlerror.html#XML_DTD_UNKNOWN_NOTATION"/>
    <keyword type="enum" name="XML_DTD_XMLID_TYPE" link="libxml2-xmlerror.html#XML_DTD_XMLID_TYPE"/>
    <keyword type="enum" name="XML_DTD_XMLID_VALUE" link="libxml2-xmlerror.html#XML_DTD_XMLID_VALUE"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_ELEMENT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_ELEMENT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_MULT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_MULT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_ONCE" link="libxml2-tree.html#XML_ELEMENT_CONTENT_ONCE"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_OPT" link="libxml2-tree.html#XML_ELEMENT_CONTENT_OPT"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_OR" link="libxml2-tree.html#XML_ELEMENT_CONTENT_OR"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_PCDATA" link="libxml2-tree.html#XML_ELEMENT_CONTENT_PCDATA"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_PLUS" link="libxml2-tree.html#XML_ELEMENT_CONTENT_PLUS"/>
    <keyword type="enum" name="XML_ELEMENT_CONTENT_SEQ" link="libxml2-tree.html#XML_ELEMENT_CONTENT_SEQ"/>
    <keyword type="enum" name="XML_ELEMENT_DECL" link="libxml2-tree.html#XML_ELEMENT_DECL"/>
    <keyword type="enum" name="XML_ELEMENT_NODE" link="libxml2-tree.html#XML_ELEMENT_NODE"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_ANY" link="libxml2-tree.html#XML_ELEMENT_TYPE_ANY"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_ELEMENT" link="libxml2-tree.html#XML_ELEMENT_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_EMPTY" link="libxml2-tree.html#XML_ELEMENT_TYPE_EMPTY"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_MIXED" link="libxml2-tree.html#XML_ELEMENT_TYPE_MIXED"/>
    <keyword type="enum" name="XML_ELEMENT_TYPE_UNDEFINED" link="libxml2-tree.html#XML_ELEMENT_TYPE_UNDEFINED"/>
    <keyword type="enum" name="XML_ENTITY_DECL" link="libxml2-tree.html#XML_ENTITY_DECL"/>
    <keyword type="enum" name="XML_ENTITY_NODE" link="libxml2-tree.html#XML_ENTITY_NODE"/>
    <keyword type="enum" name="XML_ENTITY_REF_NODE" link="libxml2-tree.html#XML_ENTITY_REF_NODE"/>
    <keyword type="enum" name="XML_ERR_ATTLIST_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ATTLIST_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ATTLIST_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ATTLIST_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_ERR_ATTRIBUTE_WITHOUT_VALUE" link="libxml2-xmlerror.html#XML_ERR_ATTRIBUTE_WITHOUT_VALUE"/>
    <keyword type="enum" name="XML_ERR_CDATA_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_CDATA_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CHARREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_CHARREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_DTD" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_DTD"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_CHARREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_CHARREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_COMMENT_ABRUPTLY_ENDED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_ABRUPTLY_ENDED"/>
    <keyword type="enum" name="XML_ERR_COMMENT_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_COMMENT_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_INVALID" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_INVALID_KEYWORD" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_INVALID_KEYWORD"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_CONDSEC_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_CONDSEC_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_DOCTYPE_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_DOCTYPE_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_EMPTY" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_EMPTY"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_END" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_END"/>
    <keyword type="enum" name="XML_ERR_DOCUMENT_START" link="libxml2-xmlerror.html#XML_ERR_DOCUMENT_START"/>
    <keyword type="enum" name="XML_ERR_ELEMCONTENT_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ELEMCONTENT_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ELEMCONTENT_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ENCODING_NAME" link="libxml2-xmlerror.html#XML_ERR_ENCODING_NAME"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_DTD" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_DTD"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_NO_NAME" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_NO_NAME"/>
    <keyword type="enum" name="XML_ERR_ENTITYREF_SEMICOL_MISSING" link="libxml2-xmlerror.html#XML_ERR_ENTITYREF_SEMICOL_MISSING"/>
    <keyword type="enum" name="XML_ERR_ENTITY_BOUNDARY" link="libxml2-xmlerror.html#XML_ERR_ENTITY_BOUNDARY"/>
    <keyword type="enum" name="XML_ERR_ENTITY_CHAR_ERROR" link="libxml2-xmlerror.html#XML_ERR_ENTITY_CHAR_ERROR"/>
    <keyword type="enum" name="XML_ERR_ENTITY_IS_EXTERNAL" link="libxml2-xmlerror.html#XML_ERR_ENTITY_IS_EXTERNAL"/>
    <keyword type="enum" name="XML_ERR_ENTITY_IS_PARAMETER" link="libxml2-xmlerror.html#XML_ERR_ENTITY_IS_PARAMETER"/>
    <keyword type="enum" name="XML_ERR_ENTITY_LOOP" link="libxml2-xmlerror.html#XML_ERR_ENTITY_LOOP"/>
    <keyword type="enum" name="XML_ERR_ENTITY_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_ENTITY_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_ENTITY_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_ENTITY_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_ENTITY_PE_INTERNAL" link="libxml2-xmlerror.html#XML_ERR_ENTITY_PE_INTERNAL"/>
    <keyword type="enum" name="XML_ERR_ENTITY_PROCESSING" link="libxml2-xmlerror.html#XML_ERR_ENTITY_PROCESSING"/>
    <keyword type="enum" name="XML_ERR_EQUAL_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_EQUAL_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_ERROR" link="libxml2-xmlerror.html#XML_ERR_ERROR"/>
    <keyword type="enum" name="XML_ERR_EXTRA_CONTENT" link="libxml2-xmlerror.html#XML_ERR_EXTRA_CONTENT"/>
    <keyword type="enum" name="XML_ERR_EXT_ENTITY_STANDALONE" link="libxml2-xmlerror.html#XML_ERR_EXT_ENTITY_STANDALONE"/>
    <keyword type="enum" name="XML_ERR_EXT_SUBSET_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_EXT_SUBSET_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_FATAL" link="libxml2-xmlerror.html#XML_ERR_FATAL"/>
    <keyword type="enum" name="XML_ERR_GT_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_GT_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_HYPHEN_IN_COMMENT" link="libxml2-xmlerror.html#XML_ERR_HYPHEN_IN_COMMENT"/>
    <keyword type="enum" name="XML_ERR_INTERNAL_ERROR" link="libxml2-xmlerror.html#XML_ERR_INTERNAL_ERROR"/>
    <keyword type="enum" name="XML_ERR_INVALID_CHAR" link="libxml2-xmlerror.html#XML_ERR_INVALID_CHAR"/>
    <keyword type="enum" name="XML_ERR_INVALID_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_DEC_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_DEC_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_ENCODING" link="libxml2-xmlerror.html#XML_ERR_INVALID_ENCODING"/>
    <keyword type="enum" name="XML_ERR_INVALID_HEX_CHARREF" link="libxml2-xmlerror.html#XML_ERR_INVALID_HEX_CHARREF"/>
    <keyword type="enum" name="XML_ERR_INVALID_URI" link="libxml2-xmlerror.html#XML_ERR_INVALID_URI"/>
    <keyword type="enum" name="XML_ERR_LITERAL_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_LITERAL_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_LITERAL_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_LITERAL_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_LTSLASH_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_LTSLASH_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_LT_IN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_ERR_LT_IN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_ERR_LT_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_LT_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_MISPLACED_CDATA_END" link="libxml2-xmlerror.html#XML_ERR_MISPLACED_CDATA_END"/>
    <keyword type="enum" name="XML_ERR_MISSING_ENCODING" link="libxml2-xmlerror.html#XML_ERR_MISSING_ENCODING"/>
    <keyword type="enum" name="XML_ERR_MIXED_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_MIXED_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_MIXED_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_MIXED_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_NAME_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_NAME_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_NAME_TOO_LONG" link="libxml2-xmlerror.html#XML_ERR_NAME_TOO_LONG"/>
    <keyword type="enum" name="XML_ERR_NMTOKEN_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_NMTOKEN_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_NONE" link="libxml2-xmlerror.html#XML_ERR_NONE"/>
    <keyword type="enum" name="XML_ERR_NOTATION_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_NOTATION_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_NOTATION_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_NOTATION_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_NOTATION_PROCESSING" link="libxml2-xmlerror.html#XML_ERR_NOTATION_PROCESSING"/>
    <keyword type="enum" name="XML_ERR_NOT_STANDALONE" link="libxml2-xmlerror.html#XML_ERR_NOT_STANDALONE"/>
    <keyword type="enum" name="XML_ERR_NOT_WELL_BALANCED" link="libxml2-xmlerror.html#XML_ERR_NOT_WELL_BALANCED"/>
    <keyword type="enum" name="XML_ERR_NO_DTD" link="libxml2-xmlerror.html#XML_ERR_NO_DTD"/>
    <keyword type="enum" name="XML_ERR_NO_MEMORY" link="libxml2-xmlerror.html#XML_ERR_NO_MEMORY"/>
    <keyword type="enum" name="XML_ERR_NS_DECL_ERROR" link="libxml2-xmlerror.html#XML_ERR_NS_DECL_ERROR"/>
    <keyword type="enum" name="XML_ERR_OK" link="libxml2-xmlerror.html#XML_ERR_OK"/>
    <keyword type="enum" name="XML_ERR_PCDATA_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_PCDATA_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_PEREF_AT_EOF" link="libxml2-xmlerror.html#XML_ERR_PEREF_AT_EOF"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_EPILOG" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_EPILOG"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_INT_SUBSET" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_INT_SUBSET"/>
    <keyword type="enum" name="XML_ERR_PEREF_IN_PROLOG" link="libxml2-xmlerror.html#XML_ERR_PEREF_IN_PROLOG"/>
    <keyword type="enum" name="XML_ERR_PEREF_NO_NAME" link="libxml2-xmlerror.html#XML_ERR_PEREF_NO_NAME"/>
    <keyword type="enum" name="XML_ERR_PEREF_SEMICOL_MISSING" link="libxml2-xmlerror.html#XML_ERR_PEREF_SEMICOL_MISSING"/>
    <keyword type="enum" name="XML_ERR_PI_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_PI_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_PI_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_PI_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_PUBID_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_PUBID_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_RESERVED_XML_NAME" link="libxml2-xmlerror.html#XML_ERR_RESERVED_XML_NAME"/>
    <keyword type="enum" name="XML_ERR_SEPARATOR_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_SEPARATOR_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_SPACE_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_SPACE_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_STANDALONE_VALUE" link="libxml2-xmlerror.html#XML_ERR_STANDALONE_VALUE"/>
    <keyword type="enum" name="XML_ERR_STRING_NOT_CLOSED" link="libxml2-xmlerror.html#XML_ERR_STRING_NOT_CLOSED"/>
    <keyword type="enum" name="XML_ERR_STRING_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_STRING_NOT_STARTED"/>
    <keyword type="enum" name="XML_ERR_TAG_NAME_MISMATCH" link="libxml2-xmlerror.html#XML_ERR_TAG_NAME_MISMATCH"/>
    <keyword type="enum" name="XML_ERR_TAG_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_TAG_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_UNDECLARED_ENTITY" link="libxml2-xmlerror.html#XML_ERR_UNDECLARED_ENTITY"/>
    <keyword type="enum" name="XML_ERR_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_ERR_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_ERR_UNKNOWN_VERSION" link="libxml2-xmlerror.html#XML_ERR_UNKNOWN_VERSION"/>
    <keyword type="enum" name="XML_ERR_UNPARSED_ENTITY" link="libxml2-xmlerror.html#XML_ERR_UNPARSED_ENTITY"/>
    <keyword type="enum" name="XML_ERR_UNSUPPORTED_ENCODING" link="libxml2-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING"/>
    <keyword type="enum" name="XML_ERR_URI_FRAGMENT" link="libxml2-xmlerror.html#XML_ERR_URI_FRAGMENT"/>
    <keyword type="enum" name="XML_ERR_URI_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_URI_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_USER_STOP" link="libxml2-xmlerror.html#XML_ERR_USER_STOP"/>
    <keyword type="enum" name="XML_ERR_VALUE_REQUIRED" link="libxml2-xmlerror.html#XML_ERR_VALUE_REQUIRED"/>
    <keyword type="enum" name="XML_ERR_VERSION_MISMATCH" link="libxml2-xmlerror.html#XML_ERR_VERSION_MISMATCH"/>
    <keyword type="enum" name="XML_ERR_VERSION_MISSING" link="libxml2-xmlerror.html#XML_ERR_VERSION_MISSING"/>
    <keyword type="enum" name="XML_ERR_WARNING" link="libxml2-xmlerror.html#XML_ERR_WARNING"/>
    <keyword type="enum" name="XML_ERR_XMLDECL_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED"/>
    <keyword type="enum" name="XML_ERR_XMLDECL_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED"/>
    <keyword type="enum" name="XML_EXP_ATOM" link="libxml2-xmlregexp.html#XML_EXP_ATOM"/>
    <keyword type="enum" name="XML_EXP_COUNT" link="libxml2-xmlregexp.html#XML_EXP_COUNT"/>
    <keyword type="enum" name="XML_EXP_EMPTY" link="libxml2-xmlregexp.html#XML_EXP_EMPTY"/>
    <keyword type="enum" name="XML_EXP_FORBID" link="libxml2-xmlregexp.html#XML_EXP_FORBID"/>
    <keyword type="enum" name="XML_EXP_OR" link="libxml2-xmlregexp.html#XML_EXP_OR"/>
    <keyword type="enum" name="XML_EXP_SEQ" link="libxml2-xmlregexp.html#XML_EXP_SEQ"/>
    <keyword type="enum" name="XML_EXTERNAL_GENERAL_PARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY"/>
    <keyword type="enum" name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY"/>
    <keyword type="enum" name="XML_EXTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_PARAMETER_ENTITY"/>
    <keyword type="enum" name="XML_FROM_BUFFER" link="libxml2-xmlerror.html#XML_FROM_BUFFER"/>
    <keyword type="enum" name="XML_FROM_C14N" link="libxml2-xmlerror.html#XML_FROM_C14N"/>
    <keyword type="enum" name="XML_FROM_CATALOG" link="libxml2-xmlerror.html#XML_FROM_CATALOG"/>
    <keyword type="enum" name="XML_FROM_CHECK" link="libxml2-xmlerror.html#XML_FROM_CHECK"/>
    <keyword type="enum" name="XML_FROM_DATATYPE" link="libxml2-xmlerror.html#XML_FROM_DATATYPE"/>
    <keyword type="enum" name="XML_FROM_DTD" link="libxml2-xmlerror.html#XML_FROM_DTD"/>
    <keyword type="enum" name="XML_FROM_FTP" link="libxml2-xmlerror.html#XML_FROM_FTP"/>
    <keyword type="enum" name="XML_FROM_HTML" link="libxml2-xmlerror.html#XML_FROM_HTML"/>
    <keyword type="enum" name="XML_FROM_HTTP" link="libxml2-xmlerror.html#XML_FROM_HTTP"/>
    <keyword type="enum" name="XML_FROM_I18N" link="libxml2-xmlerror.html#XML_FROM_I18N"/>
    <keyword type="enum" name="XML_FROM_IO" link="libxml2-xmlerror.html#XML_FROM_IO"/>
    <keyword type="enum" name="XML_FROM_MEMORY" link="libxml2-xmlerror.html#XML_FROM_MEMORY"/>
    <keyword type="enum" name="XML_FROM_MODULE" link="libxml2-xmlerror.html#XML_FROM_MODULE"/>
    <keyword type="enum" name="XML_FROM_NAMESPACE" link="libxml2-xmlerror.html#XML_FROM_NAMESPACE"/>
    <keyword type="enum" name="XML_FROM_NONE" link="libxml2-xmlerror.html#XML_FROM_NONE"/>
    <keyword type="enum" name="XML_FROM_OUTPUT" link="libxml2-xmlerror.html#XML_FROM_OUTPUT"/>
    <keyword type="enum" name="XML_FROM_PARSER" link="libxml2-xmlerror.html#XML_FROM_PARSER"/>
    <keyword type="enum" name="XML_FROM_REGEXP" link="libxml2-xmlerror.html#XML_FROM_REGEXP"/>
    <keyword type="enum" name="XML_FROM_RELAXNGP" link="libxml2-xmlerror.html#XML_FROM_RELAXNGP"/>
    <keyword type="enum" name="XML_FROM_RELAXNGV" link="libxml2-xmlerror.html#XML_FROM_RELAXNGV"/>
    <keyword type="enum" name="XML_FROM_SCHEMASP" link="libxml2-xmlerror.html#XML_FROM_SCHEMASP"/>
    <keyword type="enum" name="XML_FROM_SCHEMASV" link="libxml2-xmlerror.html#XML_FROM_SCHEMASV"/>
    <keyword type="enum" name="XML_FROM_SCHEMATRONV" link="libxml2-xmlerror.html#XML_FROM_SCHEMATRONV"/>
    <keyword type="enum" name="XML_FROM_TREE" link="libxml2-xmlerror.html#XML_FROM_TREE"/>
    <keyword type="enum" name="XML_FROM_URI" link="libxml2-xmlerror.html#XML_FROM_URI"/>
    <keyword type="enum" name="XML_FROM_VALID" link="libxml2-xmlerror.html#XML_FROM_VALID"/>
    <keyword type="enum" name="XML_FROM_WRITER" link="libxml2-xmlerror.html#XML_FROM_WRITER"/>
    <keyword type="enum" name="XML_FROM_XINCLUDE" link="libxml2-xmlerror.html#XML_FROM_XINCLUDE"/>
    <keyword type="enum" name="XML_FROM_XPATH" link="libxml2-xmlerror.html#XML_FROM_XPATH"/>
    <keyword type="enum" name="XML_FROM_XPOINTER" link="libxml2-xmlerror.html#XML_FROM_XPOINTER"/>
    <keyword type="enum" name="XML_FROM_XSLT" link="libxml2-xmlerror.html#XML_FROM_XSLT"/>
    <keyword type="enum" name="XML_FTP_ACCNT" link="libxml2-xmlerror.html#XML_FTP_ACCNT"/>
    <keyword type="enum" name="XML_FTP_EPSV_ANSWER" link="libxml2-xmlerror.html#XML_FTP_EPSV_ANSWER"/>
    <keyword type="enum" name="XML_FTP_PASV_ANSWER" link="libxml2-xmlerror.html#XML_FTP_PASV_ANSWER"/>
    <keyword type="enum" name="XML_FTP_URL_SYNTAX" link="libxml2-xmlerror.html#XML_FTP_URL_SYNTAX"/>
    <keyword type="enum" name="XML_HTML_DOCUMENT_NODE" link="libxml2-tree.html#XML_HTML_DOCUMENT_NODE"/>
    <keyword type="enum" name="XML_HTML_INCORRECTLY_OPENED_COMMENT" link="libxml2-xmlerror.html#XML_HTML_INCORRECTLY_OPENED_COMMENT"/>
    <keyword type="enum" name="XML_HTML_STRUCURE_ERROR" link="libxml2-xmlerror.html#XML_HTML_STRUCURE_ERROR"/>
    <keyword type="enum" name="XML_HTML_UNKNOWN_TAG" link="libxml2-xmlerror.html#XML_HTML_UNKNOWN_TAG"/>
    <keyword type="enum" name="XML_HTTP_UNKNOWN_HOST" link="libxml2-xmlerror.html#XML_HTTP_UNKNOWN_HOST"/>
    <keyword type="enum" name="XML_HTTP_URL_SYNTAX" link="libxml2-xmlerror.html#XML_HTTP_URL_SYNTAX"/>
    <keyword type="enum" name="XML_HTTP_USE_IP" link="libxml2-xmlerror.html#XML_HTTP_USE_IP"/>
    <keyword type="enum" name="XML_I18N_CONV_FAILED" link="libxml2-xmlerror.html#XML_I18N_CONV_FAILED"/>
    <keyword type="enum" name="XML_I18N_EXCESS_HANDLER" link="libxml2-xmlerror.html#XML_I18N_EXCESS_HANDLER"/>
    <keyword type="enum" name="XML_I18N_NO_HANDLER" link="libxml2-xmlerror.html#XML_I18N_NO_HANDLER"/>
    <keyword type="enum" name="XML_I18N_NO_NAME" link="libxml2-xmlerror.html#XML_I18N_NO_NAME"/>
    <keyword type="enum" name="XML_I18N_NO_OUTPUT" link="libxml2-xmlerror.html#XML_I18N_NO_OUTPUT"/>
    <keyword type="enum" name="XML_INTERNAL_GENERAL_ENTITY" link="libxml2-entities.html#XML_INTERNAL_GENERAL_ENTITY"/>
    <keyword type="enum" name="XML_INTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PARAMETER_ENTITY"/>
    <keyword type="enum" name="XML_INTERNAL_PREDEFINED_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PREDEFINED_ENTITY"/>
    <keyword type="enum" name="XML_IO_BUFFER_FULL" link="libxml2-xmlerror.html#XML_IO_BUFFER_FULL"/>
    <keyword type="enum" name="XML_IO_EACCES" link="libxml2-xmlerror.html#XML_IO_EACCES"/>
    <keyword type="enum" name="XML_IO_EADDRINUSE" link="libxml2-xmlerror.html#XML_IO_EADDRINUSE"/>
    <keyword type="enum" name="XML_IO_EAFNOSUPPORT" link="libxml2-xmlerror.html#XML_IO_EAFNOSUPPORT"/>
    <keyword type="enum" name="XML_IO_EAGAIN" link="libxml2-xmlerror.html#XML_IO_EAGAIN"/>
    <keyword type="enum" name="XML_IO_EALREADY" link="libxml2-xmlerror.html#XML_IO_EALREADY"/>
    <keyword type="enum" name="XML_IO_EBADF" link="libxml2-xmlerror.html#XML_IO_EBADF"/>
    <keyword type="enum" name="XML_IO_EBADMSG" link="libxml2-xmlerror.html#XML_IO_EBADMSG"/>
    <keyword type="enum" name="XML_IO_EBUSY" link="libxml2-xmlerror.html#XML_IO_EBUSY"/>
    <keyword type="enum" name="XML_IO_ECANCELED" link="libxml2-xmlerror.html#XML_IO_ECANCELED"/>
    <keyword type="enum" name="XML_IO_ECHILD" link="libxml2-xmlerror.html#XML_IO_ECHILD"/>
    <keyword type="enum" name="XML_IO_ECONNREFUSED" link="libxml2-xmlerror.html#XML_IO_ECONNREFUSED"/>
    <keyword type="enum" name="XML_IO_EDEADLK" link="libxml2-xmlerror.html#XML_IO_EDEADLK"/>
    <keyword type="enum" name="XML_IO_EDOM" link="libxml2-xmlerror.html#XML_IO_EDOM"/>
    <keyword type="enum" name="XML_IO_EEXIST" link="libxml2-xmlerror.html#XML_IO_EEXIST"/>
    <keyword type="enum" name="XML_IO_EFAULT" link="libxml2-xmlerror.html#XML_IO_EFAULT"/>
    <keyword type="enum" name="XML_IO_EFBIG" link="libxml2-xmlerror.html#XML_IO_EFBIG"/>
    <keyword type="enum" name="XML_IO_EINPROGRESS" link="libxml2-xmlerror.html#XML_IO_EINPROGRESS"/>
    <keyword type="enum" name="XML_IO_EINTR" link="libxml2-xmlerror.html#XML_IO_EINTR"/>
    <keyword type="enum" name="XML_IO_EINVAL" link="libxml2-xmlerror.html#XML_IO_EINVAL"/>
    <keyword type="enum" name="XML_IO_EIO" link="libxml2-xmlerror.html#XML_IO_EIO"/>
    <keyword type="enum" name="XML_IO_EISCONN" link="libxml2-xmlerror.html#XML_IO_EISCONN"/>
    <keyword type="enum" name="XML_IO_EISDIR" link="libxml2-xmlerror.html#XML_IO_EISDIR"/>
    <keyword type="enum" name="XML_IO_EMFILE" link="libxml2-xmlerror.html#XML_IO_EMFILE"/>
    <keyword type="enum" name="XML_IO_EMLINK" link="libxml2-xmlerror.html#XML_IO_EMLINK"/>
    <keyword type="enum" name="XML_IO_EMSGSIZE" link="libxml2-xmlerror.html#XML_IO_EMSGSIZE"/>
    <keyword type="enum" name="XML_IO_ENAMETOOLONG" link="libxml2-xmlerror.html#XML_IO_ENAMETOOLONG"/>
    <keyword type="enum" name="XML_IO_ENCODER" link="libxml2-xmlerror.html#XML_IO_ENCODER"/>
    <keyword type="enum" name="XML_IO_ENETUNREACH" link="libxml2-xmlerror.html#XML_IO_ENETUNREACH"/>
    <keyword type="enum" name="XML_IO_ENFILE" link="libxml2-xmlerror.html#XML_IO_ENFILE"/>
    <keyword type="enum" name="XML_IO_ENODEV" link="libxml2-xmlerror.html#XML_IO_ENODEV"/>
    <keyword type="enum" name="XML_IO_ENOENT" link="libxml2-xmlerror.html#XML_IO_ENOENT"/>
    <keyword type="enum" name="XML_IO_ENOEXEC" link="libxml2-xmlerror.html#XML_IO_ENOEXEC"/>
    <keyword type="enum" name="XML_IO_ENOLCK" link="libxml2-xmlerror.html#XML_IO_ENOLCK"/>
    <keyword type="enum" name="XML_IO_ENOMEM" link="libxml2-xmlerror.html#XML_IO_ENOMEM"/>
    <keyword type="enum" name="XML_IO_ENOSPC" link="libxml2-xmlerror.html#XML_IO_ENOSPC"/>
    <keyword type="enum" name="XML_IO_ENOSYS" link="libxml2-xmlerror.html#XML_IO_ENOSYS"/>
    <keyword type="enum" name="XML_IO_ENOTDIR" link="libxml2-xmlerror.html#XML_IO_ENOTDIR"/>
    <keyword type="enum" name="XML_IO_ENOTEMPTY" link="libxml2-xmlerror.html#XML_IO_ENOTEMPTY"/>
    <keyword type="enum" name="XML_IO_ENOTSOCK" link="libxml2-xmlerror.html#XML_IO_ENOTSOCK"/>
    <keyword type="enum" name="XML_IO_ENOTSUP" link="libxml2-xmlerror.html#XML_IO_ENOTSUP"/>
    <keyword type="enum" name="XML_IO_ENOTTY" link="libxml2-xmlerror.html#XML_IO_ENOTTY"/>
    <keyword type="enum" name="XML_IO_ENXIO" link="libxml2-xmlerror.html#XML_IO_ENXIO"/>
    <keyword type="enum" name="XML_IO_EPERM" link="libxml2-xmlerror.html#XML_IO_EPERM"/>
    <keyword type="enum" name="XML_IO_EPIPE" link="libxml2-xmlerror.html#XML_IO_EPIPE"/>
    <keyword type="enum" name="XML_IO_ERANGE" link="libxml2-xmlerror.html#XML_IO_ERANGE"/>
    <keyword type="enum" name="XML_IO_EROFS" link="libxml2-xmlerror.html#XML_IO_EROFS"/>
    <keyword type="enum" name="XML_IO_ESPIPE" link="libxml2-xmlerror.html#XML_IO_ESPIPE"/>
    <keyword type="enum" name="XML_IO_ESRCH" link="libxml2-xmlerror.html#XML_IO_ESRCH"/>
    <keyword type="enum" name="XML_IO_ETIMEDOUT" link="libxml2-xmlerror.html#XML_IO_ETIMEDOUT"/>
    <keyword type="enum" name="XML_IO_EXDEV" link="libxml2-xmlerror.html#XML_IO_EXDEV"/>
    <keyword type="enum" name="XML_IO_FLUSH" link="libxml2-xmlerror.html#XML_IO_FLUSH"/>
    <keyword type="enum" name="XML_IO_LOAD_ERROR" link="libxml2-xmlerror.html#XML_IO_LOAD_ERROR"/>
    <keyword type="enum" name="XML_IO_NETWORK_ATTEMPT" link="libxml2-xmlerror.html#XML_IO_NETWORK_ATTEMPT"/>
    <keyword type="enum" name="XML_IO_NO_INPUT" link="libxml2-xmlerror.html#XML_IO_NO_INPUT"/>
    <keyword type="enum" name="XML_IO_UNKNOWN" link="libxml2-xmlerror.html#XML_IO_UNKNOWN"/>
    <keyword type="enum" name="XML_IO_WRITE" link="libxml2-xmlerror.html#XML_IO_WRITE"/>
    <keyword type="enum" name="XML_MODULE_CLOSE" link="libxml2-xmlerror.html#XML_MODULE_CLOSE"/>
    <keyword type="enum" name="XML_MODULE_LAZY" link="libxml2-xmlmodule.html#XML_MODULE_LAZY"/>
    <keyword type="enum" name="XML_MODULE_LOCAL" link="libxml2-xmlmodule.html#XML_MODULE_LOCAL"/>
    <keyword type="enum" name="XML_MODULE_OPEN" link="libxml2-xmlerror.html#XML_MODULE_OPEN"/>
    <keyword type="enum" name="XML_NAMESPACE_DECL" link="libxml2-tree.html#XML_NAMESPACE_DECL"/>
    <keyword type="enum" name="XML_NOTATION_NODE" link="libxml2-tree.html#XML_NOTATION_NODE"/>
    <keyword type="enum" name="XML_NS_ERR_ATTRIBUTE_REDEFINED" link="libxml2-xmlerror.html#XML_NS_ERR_ATTRIBUTE_REDEFINED"/>
    <keyword type="enum" name="XML_NS_ERR_COLON" link="libxml2-xmlerror.html#XML_NS_ERR_COLON"/>
    <keyword type="enum" name="XML_NS_ERR_EMPTY" link="libxml2-xmlerror.html#XML_NS_ERR_EMPTY"/>
    <keyword type="enum" name="XML_NS_ERR_QNAME" link="libxml2-xmlerror.html#XML_NS_ERR_QNAME"/>
    <keyword type="enum" name="XML_NS_ERR_UNDEFINED_NAMESPACE" link="libxml2-xmlerror.html#XML_NS_ERR_UNDEFINED_NAMESPACE"/>
    <keyword type="enum" name="XML_NS_ERR_XML_NAMESPACE" link="libxml2-xmlerror.html#XML_NS_ERR_XML_NAMESPACE"/>
    <keyword type="enum" name="XML_PARSER_ATTRIBUTE_VALUE" link="libxml2-parser.html#XML_PARSER_ATTRIBUTE_VALUE"/>
    <keyword type="enum" name="XML_PARSER_CDATA_SECTION" link="libxml2-parser.html#XML_PARSER_CDATA_SECTION"/>
    <keyword type="enum" name="XML_PARSER_COMMENT" link="libxml2-parser.html#XML_PARSER_COMMENT"/>
    <keyword type="enum" name="XML_PARSER_CONTENT" link="libxml2-parser.html#XML_PARSER_CONTENT"/>
    <keyword type="enum" name="XML_PARSER_DEFAULTATTRS" link="libxml2-xmlreader.html#XML_PARSER_DEFAULTATTRS"/>
    <keyword type="enum" name="XML_PARSER_DTD" link="libxml2-parser.html#XML_PARSER_DTD"/>
    <keyword type="enum" name="XML_PARSER_END_TAG" link="libxml2-parser.html#XML_PARSER_END_TAG"/>
    <keyword type="enum" name="XML_PARSER_ENTITY_DECL" link="libxml2-parser.html#XML_PARSER_ENTITY_DECL"/>
    <keyword type="enum" name="XML_PARSER_ENTITY_VALUE" link="libxml2-parser.html#XML_PARSER_ENTITY_VALUE"/>
    <keyword type="enum" name="XML_PARSER_EOF" link="libxml2-parser.html#XML_PARSER_EOF"/>
    <keyword type="enum" name="XML_PARSER_EPILOG" link="libxml2-parser.html#XML_PARSER_EPILOG"/>
    <keyword type="enum" name="XML_PARSER_IGNORE" link="libxml2-parser.html#XML_PARSER_IGNORE"/>
    <keyword type="enum" name="XML_PARSER_LOADDTD" link="libxml2-xmlreader.html#XML_PARSER_LOADDTD"/>
    <keyword type="enum" name="XML_PARSER_MISC" link="libxml2-parser.html#XML_PARSER_MISC"/>
    <keyword type="enum" name="XML_PARSER_PI" link="libxml2-parser.html#XML_PARSER_PI"/>
    <keyword type="enum" name="XML_PARSER_PROLOG" link="libxml2-parser.html#XML_PARSER_PROLOG"/>
    <keyword type="enum" name="XML_PARSER_PUBLIC_LITERAL" link="libxml2-parser.html#XML_PARSER_PUBLIC_LITERAL"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_ERROR" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_ERROR"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_VALIDITY_ERROR" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_ERROR"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_VALIDITY_WARNING" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_VALIDITY_WARNING"/>
    <keyword type="enum" name="XML_PARSER_SEVERITY_WARNING" link="libxml2-xmlreader.html#XML_PARSER_SEVERITY_WARNING"/>
    <keyword type="enum" name="XML_PARSER_START" link="libxml2-parser.html#XML_PARSER_START"/>
    <keyword type="enum" name="XML_PARSER_START_TAG" link="libxml2-parser.html#XML_PARSER_START_TAG"/>
    <keyword type="enum" name="XML_PARSER_SUBST_ENTITIES" link="libxml2-xmlreader.html#XML_PARSER_SUBST_ENTITIES"/>
    <keyword type="enum" name="XML_PARSER_SYSTEM_LITERAL" link="libxml2-parser.html#XML_PARSER_SYSTEM_LITERAL"/>
    <keyword type="enum" name="XML_PARSER_VALIDATE" link="libxml2-xmlreader.html#XML_PARSER_VALIDATE"/>
    <keyword type="enum" name="XML_PARSE_BIG_LINES" link="libxml2-parser.html#XML_PARSE_BIG_LINES"/>
    <keyword type="enum" name="XML_PARSE_COMPACT" link="libxml2-parser.html#XML_PARSE_COMPACT"/>
    <keyword type="enum" name="XML_PARSE_DOM" link="libxml2-parser.html#XML_PARSE_DOM"/>
    <keyword type="enum" name="XML_PARSE_DTDATTR" link="libxml2-parser.html#XML_PARSE_DTDATTR"/>
    <keyword type="enum" name="XML_PARSE_DTDLOAD" link="libxml2-parser.html#XML_PARSE_DTDLOAD"/>
    <keyword type="enum" name="XML_PARSE_DTDVALID" link="libxml2-parser.html#XML_PARSE_DTDVALID"/>
    <keyword type="enum" name="XML_PARSE_HUGE" link="libxml2-parser.html#XML_PARSE_HUGE"/>
    <keyword type="enum" name="XML_PARSE_IGNORE_ENC" link="libxml2-parser.html#XML_PARSE_IGNORE_ENC"/>
    <keyword type="enum" name="XML_PARSE_NOBASEFIX" link="libxml2-parser.html#XML_PARSE_NOBASEFIX"/>
    <keyword type="enum" name="XML_PARSE_NOBLANKS" link="libxml2-parser.html#XML_PARSE_NOBLANKS"/>
    <keyword type="enum" name="XML_PARSE_NOCDATA" link="libxml2-parser.html#XML_PARSE_NOCDATA"/>
    <keyword type="enum" name="XML_PARSE_NODICT" link="libxml2-parser.html#XML_PARSE_NODICT"/>
    <keyword type="enum" name="XML_PARSE_NOENT" link="libxml2-parser.html#XML_PARSE_NOENT"/>
    <keyword type="enum" name="XML_PARSE_NOERROR" link="libxml2-parser.html#XML_PARSE_NOERROR"/>
    <keyword type="enum" name="XML_PARSE_NONET" link="libxml2-parser.html#XML_PARSE_NONET"/>
    <keyword type="enum" name="XML_PARSE_NOWARNING" link="libxml2-parser.html#XML_PARSE_NOWARNING"/>
    <keyword type="enum" name="XML_PARSE_NOXINCNODE" link="libxml2-parser.html#XML_PARSE_NOXINCNODE"/>
    <keyword type="enum" name="XML_PARSE_NSCLEAN" link="libxml2-parser.html#XML_PARSE_NSCLEAN"/>
    <keyword type="enum" name="XML_PARSE_OLD10" link="libxml2-parser.html#XML_PARSE_OLD10"/>
    <keyword type="enum" name="XML_PARSE_OLDSAX" link="libxml2-parser.html#XML_PARSE_OLDSAX"/>
    <keyword type="enum" name="XML_PARSE_PEDANTIC" link="libxml2-parser.html#XML_PARSE_PEDANTIC"/>
    <keyword type="enum" name="XML_PARSE_PUSH_DOM" link="libxml2-parser.html#XML_PARSE_PUSH_DOM"/>
    <keyword type="enum" name="XML_PARSE_PUSH_SAX" link="libxml2-parser.html#XML_PARSE_PUSH_SAX"/>
    <keyword type="enum" name="XML_PARSE_READER" link="libxml2-parser.html#XML_PARSE_READER"/>
    <keyword type="enum" name="XML_PARSE_RECOVER" link="libxml2-parser.html#XML_PARSE_RECOVER"/>
    <keyword type="enum" name="XML_PARSE_SAX" link="libxml2-parser.html#XML_PARSE_SAX"/>
    <keyword type="enum" name="XML_PARSE_SAX1" link="libxml2-parser.html#XML_PARSE_SAX1"/>
    <keyword type="enum" name="XML_PARSE_UNKNOWN" link="libxml2-parser.html#XML_PARSE_UNKNOWN"/>
    <keyword type="enum" name="XML_PARSE_XINCLUDE" link="libxml2-parser.html#XML_PARSE_XINCLUDE"/>
    <keyword type="enum" name="XML_PATTERN_DEFAULT" link="libxml2-pattern.html#XML_PATTERN_DEFAULT"/>
    <keyword type="enum" name="XML_PATTERN_XPATH" link="libxml2-pattern.html#XML_PATTERN_XPATH"/>
    <keyword type="enum" name="XML_PATTERN_XSFIELD" link="libxml2-pattern.html#XML_PATTERN_XSFIELD"/>
    <keyword type="enum" name="XML_PATTERN_XSSEL" link="libxml2-pattern.html#XML_PATTERN_XSSEL"/>
    <keyword type="enum" name="XML_PI_NODE" link="libxml2-tree.html#XML_PI_NODE"/>
    <keyword type="enum" name="XML_READER_TYPE_ATTRIBUTE" link="libxml2-xmlreader.html#XML_READER_TYPE_ATTRIBUTE"/>
    <keyword type="enum" name="XML_READER_TYPE_CDATA" link="libxml2-xmlreader.html#XML_READER_TYPE_CDATA"/>
    <keyword type="enum" name="XML_READER_TYPE_COMMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_COMMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT_FRAGMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT_FRAGMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_DOCUMENT_TYPE" link="libxml2-xmlreader.html#XML_READER_TYPE_DOCUMENT_TYPE"/>
    <keyword type="enum" name="XML_READER_TYPE_ELEMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_END_ELEMENT" link="libxml2-xmlreader.html#XML_READER_TYPE_END_ELEMENT"/>
    <keyword type="enum" name="XML_READER_TYPE_END_ENTITY" link="libxml2-xmlreader.html#XML_READER_TYPE_END_ENTITY"/>
    <keyword type="enum" name="XML_READER_TYPE_ENTITY" link="libxml2-xmlreader.html#XML_READER_TYPE_ENTITY"/>
    <keyword type="enum" name="XML_READER_TYPE_ENTITY_REFERENCE" link="libxml2-xmlreader.html#XML_READER_TYPE_ENTITY_REFERENCE"/>
    <keyword type="enum" name="XML_READER_TYPE_NONE" link="libxml2-xmlreader.html#XML_READER_TYPE_NONE"/>
    <keyword type="enum" name="XML_READER_TYPE_NOTATION" link="libxml2-xmlreader.html#XML_READER_TYPE_NOTATION"/>
    <keyword type="enum" name="XML_READER_TYPE_PROCESSING_INSTRUCTION" link="libxml2-xmlreader.html#XML_READER_TYPE_PROCESSING_INSTRUCTION"/>
    <keyword type="enum" name="XML_READER_TYPE_SIGNIFICANT_WHITESPACE" link="libxml2-xmlreader.html#XML_READER_TYPE_SIGNIFICANT_WHITESPACE"/>
    <keyword type="enum" name="XML_READER_TYPE_TEXT" link="libxml2-xmlreader.html#XML_READER_TYPE_TEXT"/>
    <keyword type="enum" name="XML_READER_TYPE_WHITESPACE" link="libxml2-xmlreader.html#XML_READER_TYPE_WHITESPACE"/>
    <keyword type="enum" name="XML_READER_TYPE_XML_DECLARATION" link="libxml2-xmlreader.html#XML_READER_TYPE_XML_DECLARATION"/>
    <keyword type="enum" name="XML_REGEXP_COMPILE_ERROR" link="libxml2-xmlerror.html#XML_REGEXP_COMPILE_ERROR"/>
    <keyword type="enum" name="XML_RELAXNGP_CRNG" link="libxml2-relaxng.html#XML_RELAXNGP_CRNG"/>
    <keyword type="enum" name="XML_RELAXNGP_FREE_DOC" link="libxml2-relaxng.html#XML_RELAXNGP_FREE_DOC"/>
    <keyword type="enum" name="XML_RELAXNGP_NONE" link="libxml2-relaxng.html#XML_RELAXNGP_NONE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTREXTRANS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTREXTRANS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRNAME" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRNAME"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRNONS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRNONS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRVALID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRVALID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ATTRWRONGNS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ATTRWRONGNS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_CONTENTVALID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_CONTENTVALID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DATAELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DATAELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DATATYPE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DATATYPE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_DUPID" link="libxml2-relaxng.html#XML_RELAXNG_ERR_DUPID"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMEXTRANS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMEXTRANS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNAME" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNAME"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNONS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNONS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMNOTEMPTY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMNOTEMPTY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMWRONG" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMWRONG"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_ELEMWRONGNS" link="libxml2-relaxng.html#XML_RELAXNG_ERR_ELEMWRONGNS"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_EXTRACONTENT" link="libxml2-relaxng.html#XML_RELAXNG_ERR_EXTRACONTENT"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_EXTRADATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_EXTRADATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTEREXTRA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTEREXTRA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERNAL" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERNAL"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERNODATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERNODATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INTERSEQ" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INTERSEQ"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_INVALIDATTR" link="libxml2-relaxng.html#XML_RELAXNG_ERR_INVALIDATTR"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LACKDATA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LACKDATA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LIST" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LIST"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTEMPTY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTEMPTY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_LISTEXTRA" link="libxml2-relaxng.html#XML_RELAXNG_ERR_LISTEXTRA"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_MEMORY" link="libxml2-relaxng.html#XML_RELAXNG_ERR_MEMORY"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NODEFINE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NODEFINE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOGRAMMAR" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOGRAMMAR"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOSTATE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOSTATE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_NOTELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_NOTELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TEXTWRONG" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TEXTWRONG"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPE"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPECMP" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPECMP"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_TYPEVAL" link="libxml2-relaxng.html#XML_RELAXNG_ERR_TYPEVAL"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_VALELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALELEM"/>
    <keyword type="enum" name="XML_RELAXNG_ERR_VALUE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALUE"/>
    <keyword type="enum" name="XML_RELAXNG_OK" link="libxml2-relaxng.html#XML_RELAXNG_OK"/>
    <keyword type="enum" name="XML_RNGP_ANYNAME_ATTR_ANCESTOR" link="libxml2-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CHILDREN" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ATTRIBUTE_NOOP" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_NOOP"/>
    <keyword type="enum" name="XML_RNGP_ATTR_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_ATTR_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_CHOICE_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_CHOICE_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_CHOICE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_CHOICE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_CREATE_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_CREATE_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_DATA_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_DATA_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_MISSING" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_MISSING"/>
    <keyword type="enum" name="XML_RNGP_DEFINE_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_DEFINE_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_DEF_CHOICE_AND_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_DEF_CHOICE_AND_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_NAME" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_NAME"/>
    <keyword type="enum" name="XML_RNGP_ELEMENT_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ELEMENT_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_ELEM_CONTENT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_ELEM_CONTENT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ELEM_CONTENT_ERROR" link="libxml2-xmlerror.html#XML_RNGP_ELEM_CONTENT_ERROR"/>
    <keyword type="enum" name="XML_RNGP_ELEM_TEXT_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_ELEM_TEXT_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_CONSTRUCT" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_CONSTRUCT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_EMPTY_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EMPTY_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_ERROR_TYPE_LIB" link="libxml2-xmlerror.html#XML_RNGP_ERROR_TYPE_LIB"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_MISSING" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_MISSING"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_MULTIPLE" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_MULTIPLE"/>
    <keyword type="enum" name="XML_RNGP_EXCEPT_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_EXCEPT_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_EXTERNALREF_EMTPY" link="libxml2-xmlerror.html#XML_RNGP_EXTERNALREF_EMTPY"/>
    <keyword type="enum" name="XML_RNGP_EXTERNALREF_RECURSE" link="libxml2-xmlerror.html#XML_RNGP_EXTERNALREF_RECURSE"/>
    <keyword type="enum" name="XML_RNGP_EXTERNAL_REF_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_EXTERNAL_REF_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_FORBIDDEN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_RNGP_FORBIDDEN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_RNGP_FOREIGN_ELEMENT" link="libxml2-xmlerror.html#XML_RNGP_FOREIGN_ELEMENT"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_MISSING" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_MISSING"/>
    <keyword type="enum" name="XML_RNGP_GRAMMAR_NO_START" link="libxml2-xmlerror.html#XML_RNGP_GRAMMAR_NO_START"/>
    <keyword type="enum" name="XML_RNGP_GROUP_ATTR_CONFLICT" link="libxml2-xmlerror.html#XML_RNGP_GROUP_ATTR_CONFLICT"/>
    <keyword type="enum" name="XML_RNGP_HREF_ERROR" link="libxml2-xmlerror.html#XML_RNGP_HREF_ERROR"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_FAILURE" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_FAILURE"/>
    <keyword type="enum" name="XML_RNGP_INCLUDE_RECURSE" link="libxml2-xmlerror.html#XML_RNGP_INCLUDE_RECURSE"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_ADD" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_ADD"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_INTERLEAVE_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_INTERLEAVE_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_INVALID_DEFINE_NAME" link="libxml2-xmlerror.html#XML_RNGP_INVALID_DEFINE_NAME"/>
    <keyword type="enum" name="XML_RNGP_INVALID_URI" link="libxml2-xmlerror.html#XML_RNGP_INVALID_URI"/>
    <keyword type="enum" name="XML_RNGP_INVALID_VALUE" link="libxml2-xmlerror.html#XML_RNGP_INVALID_VALUE"/>
    <keyword type="enum" name="XML_RNGP_MISSING_HREF" link="libxml2-xmlerror.html#XML_RNGP_MISSING_HREF"/>
    <keyword type="enum" name="XML_RNGP_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_NEED_COMBINE" link="libxml2-xmlerror.html#XML_RNGP_NEED_COMBINE"/>
    <keyword type="enum" name="XML_RNGP_NOTALLOWED_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_NOTALLOWED_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_NSNAME_ATTR_ANCESTOR" link="libxml2-xmlerror.html#XML_RNGP_NSNAME_ATTR_ANCESTOR"/>
    <keyword type="enum" name="XML_RNGP_NSNAME_NO_NS" link="libxml2-xmlerror.html#XML_RNGP_NSNAME_NO_NS"/>
    <keyword type="enum" name="XML_RNGP_PARAM_FORBIDDEN" link="libxml2-xmlerror.html#XML_RNGP_PARAM_FORBIDDEN"/>
    <keyword type="enum" name="XML_RNGP_PARAM_NAME_MISSING" link="libxml2-xmlerror.html#XML_RNGP_PARAM_NAME_MISSING"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NAME_INVALID" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NAME_INVALID"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NO_NAME" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NO_NAME"/>
    <keyword type="enum" name="XML_RNGP_PARENTREF_NO_PARENT" link="libxml2-xmlerror.html#XML_RNGP_PARENTREF_NO_PARENT"/>
    <keyword type="enum" name="XML_RNGP_PARSE_ERROR" link="libxml2-xmlerror.html#XML_RNGP_PARSE_ERROR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_ATTR_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ATTR_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ATTR_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_ATTR_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_GROUP" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_GROUP"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_ONEMORE" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_ONEMORE"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_REF" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_REF"/>
    <keyword type="enum" name="XML_RNGP_PAT_DATA_EXCEPT_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_DATA_EXCEPT_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_ELEM" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_ELEM"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_REF" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_REF"/>
    <keyword type="enum" name="XML_RNGP_PAT_LIST_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_LIST_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME" link="libxml2-xmlerror.html#XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME"/>
    <keyword type="enum" name="XML_RNGP_PAT_ONEMORE_GROUP_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ONEMORE_GROUP_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_ATTR" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_ATTR"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_DATA" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_DATA"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_GROUP" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_GROUP"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_LIST" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_LIST"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_ONEMORE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_ONEMORE"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_TEXT" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_TEXT"/>
    <keyword type="enum" name="XML_RNGP_PAT_START_VALUE" link="libxml2-xmlerror.html#XML_RNGP_PAT_START_VALUE"/>
    <keyword type="enum" name="XML_RNGP_PREFIX_UNDEFINED" link="libxml2-xmlerror.html#XML_RNGP_PREFIX_UNDEFINED"/>
    <keyword type="enum" name="XML_RNGP_REF_CREATE_FAILED" link="libxml2-xmlerror.html#XML_RNGP_REF_CREATE_FAILED"/>
    <keyword type="enum" name="XML_RNGP_REF_CYCLE" link="libxml2-xmlerror.html#XML_RNGP_REF_CYCLE"/>
    <keyword type="enum" name="XML_RNGP_REF_NAME_INVALID" link="libxml2-xmlerror.html#XML_RNGP_REF_NAME_INVALID"/>
    <keyword type="enum" name="XML_RNGP_REF_NOT_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_REF_NOT_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_REF_NO_DEF" link="libxml2-xmlerror.html#XML_RNGP_REF_NO_DEF"/>
    <keyword type="enum" name="XML_RNGP_REF_NO_NAME" link="libxml2-xmlerror.html#XML_RNGP_REF_NO_NAME"/>
    <keyword type="enum" name="XML_RNGP_START_CHOICE_AND_INTERLEAVE" link="libxml2-xmlerror.html#XML_RNGP_START_CHOICE_AND_INTERLEAVE"/>
    <keyword type="enum" name="XML_RNGP_START_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_START_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_START_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_START_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_START_MISSING" link="libxml2-xmlerror.html#XML_RNGP_START_MISSING"/>
    <keyword type="enum" name="XML_RNGP_TEXT_EXPECTED" link="libxml2-xmlerror.html#XML_RNGP_TEXT_EXPECTED"/>
    <keyword type="enum" name="XML_RNGP_TEXT_HAS_CHILD" link="libxml2-xmlerror.html#XML_RNGP_TEXT_HAS_CHILD"/>
    <keyword type="enum" name="XML_RNGP_TYPE_MISSING" link="libxml2-xmlerror.html#XML_RNGP_TYPE_MISSING"/>
    <keyword type="enum" name="XML_RNGP_TYPE_NOT_FOUND" link="libxml2-xmlerror.html#XML_RNGP_TYPE_NOT_FOUND"/>
    <keyword type="enum" name="XML_RNGP_TYPE_VALUE" link="libxml2-xmlerror.html#XML_RNGP_TYPE_VALUE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_ATTRIBUTE" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_ATTRIBUTE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_COMBINE" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_COMBINE"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_CONSTRUCT" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_CONSTRUCT"/>
    <keyword type="enum" name="XML_RNGP_UNKNOWN_TYPE_LIB" link="libxml2-xmlerror.html#XML_RNGP_UNKNOWN_TYPE_LIB"/>
    <keyword type="enum" name="XML_RNGP_URI_FRAGMENT" link="libxml2-xmlerror.html#XML_RNGP_URI_FRAGMENT"/>
    <keyword type="enum" name="XML_RNGP_URI_NOT_ABSOLUTE" link="libxml2-xmlerror.html#XML_RNGP_URI_NOT_ABSOLUTE"/>
    <keyword type="enum" name="XML_RNGP_VALUE_EMPTY" link="libxml2-xmlerror.html#XML_RNGP_VALUE_EMPTY"/>
    <keyword type="enum" name="XML_RNGP_VALUE_NO_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_VALUE_NO_CONTENT"/>
    <keyword type="enum" name="XML_RNGP_XMLNS_NAME" link="libxml2-xmlerror.html#XML_RNGP_XMLNS_NAME"/>
    <keyword type="enum" name="XML_RNGP_XML_NS" link="libxml2-xmlerror.html#XML_RNGP_XML_NS"/>
    <keyword type="enum" name="XML_SAVE_AS_HTML" link="libxml2-xmlsave.html#XML_SAVE_AS_HTML"/>
    <keyword type="enum" name="XML_SAVE_AS_XML" link="libxml2-xmlsave.html#XML_SAVE_AS_XML"/>
    <keyword type="enum" name="XML_SAVE_CHAR_INVALID" link="libxml2-xmlerror.html#XML_SAVE_CHAR_INVALID"/>
    <keyword type="enum" name="XML_SAVE_FORMAT" link="libxml2-xmlsave.html#XML_SAVE_FORMAT"/>
    <keyword type="enum" name="XML_SAVE_NOT_UTF8" link="libxml2-xmlerror.html#XML_SAVE_NOT_UTF8"/>
    <keyword type="enum" name="XML_SAVE_NO_DECL" link="libxml2-xmlsave.html#XML_SAVE_NO_DECL"/>
    <keyword type="enum" name="XML_SAVE_NO_DOCTYPE" link="libxml2-xmlerror.html#XML_SAVE_NO_DOCTYPE"/>
    <keyword type="enum" name="XML_SAVE_NO_EMPTY" link="libxml2-xmlsave.html#XML_SAVE_NO_EMPTY"/>
    <keyword type="enum" name="XML_SAVE_NO_XHTML" link="libxml2-xmlsave.html#XML_SAVE_NO_XHTML"/>
    <keyword type="enum" name="XML_SAVE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_SAVE_WSNONSIG" link="libxml2-xmlsave.html#XML_SAVE_WSNONSIG"/>
    <keyword type="enum" name="XML_SAVE_XHTML" link="libxml2-xmlsave.html#XML_SAVE_XHTML"/>
    <keyword type="enum" name="XML_SCHEMAP_AG_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_AG_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTRFORMDEFAULT_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRFORMDEFAULT_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTRGRP_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTRGRP_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_ATTR_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_AU_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_AU_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_AU_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_A_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_A_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_A_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ALL_LIMITED" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ALL_LIMITED"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_CT_EXTENDS_1_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_4" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_4"/>
    <keyword type="enum" name="XML_SCHEMAP_CT_PROPS_CORRECT_5" link="libxml2-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_5"/>
    <keyword type="enum" name="XML_SCHEMAP_CVC_SIMPLE_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_CVC_SIMPLE_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_C_PROPS_CORRECT" link="libxml2-xmlerror.html#XML_SCHEMAP_C_PROPS_CORRECT"/>
    <keyword type="enum" name="XML_SCHEMAP_DEF_AND_PREFIX" link="libxml2-xmlerror.html#XML_SCHEMAP_DEF_AND_PREFIX"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2"/>
    <keyword type="enum" name="XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3" link="libxml2-xmlerror.html#XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEMFORMDEFAULT_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEMFORMDEFAULT_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEM_DEFAULT_FIXED" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEM_DEFAULT_FIXED"/>
    <keyword type="enum" name="XML_SCHEMAP_ELEM_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_ELEM_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_EXTENSION_NO_BASE" link="libxml2-xmlerror.html#XML_SCHEMAP_EXTENSION_NO_BASE"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_4" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_4"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_5" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_5"/>
    <keyword type="enum" name="XML_SCHEMAP_E_PROPS_CORRECT_6" link="libxml2-xmlerror.html#XML_SCHEMAP_E_PROPS_CORRECT_6"/>
    <keyword type="enum" name="XML_SCHEMAP_FACET_NO_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_FACET_NO_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_BUILD_IMPORT" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_BUILD_IMPORT"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_LOAD" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_LOAD"/>
    <keyword type="enum" name="XML_SCHEMAP_FAILED_PARSE" link="libxml2-xmlerror.html#XML_SCHEMAP_FAILED_PARSE"/>
    <keyword type="enum" name="XML_SCHEMAP_GROUP_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_GROUP_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_REDEFINE_NSNAME" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_REDEFINE_NSNAME"/>
    <keyword type="enum" name="XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" link="libxml2-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI"/>
    <keyword type="enum" name="XML_SCHEMAP_INTERNAL" link="libxml2-xmlerror.html#XML_SCHEMAP_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE" link="libxml2-xmlerror.html#XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_COMBINATION" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_COMBINATION"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_NAME" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_NAME"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ATTR_USE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_BOOLEAN" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_ENUM" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_ENUM"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_FACET" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_FACET"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_FACET_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_FACET_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_MAXOCCURS" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_MAXOCCURS"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_MINOCCURS" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_MINOCCURS"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_REF_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_REF_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_INVALID_WHITE_SPACE" link="libxml2-xmlerror.html#XML_SCHEMAP_INVALID_WHITE_SPACE"/>
    <keyword type="enum" name="XML_SCHEMAP_MG_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_MG_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_MG_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_NOATTR_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_NOATTR_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_NOROOT" link="libxml2-xmlerror.html#XML_SCHEMAP_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTATION_NO_NAME" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTATION_NO_NAME"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTHING_TO_PARSE" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTHING_TO_PARSE"/>
    <keyword type="enum" name="XML_SCHEMAP_NOTYPE_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_NOTYPE_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_NOT_DETERMINISTIC" link="libxml2-xmlerror.html#XML_SCHEMAP_NOT_DETERMINISTIC"/>
    <keyword type="enum" name="XML_SCHEMAP_NOT_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_NOT_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_NO_XMLNS" link="libxml2-xmlerror.html#XML_SCHEMAP_NO_XMLNS"/>
    <keyword type="enum" name="XML_SCHEMAP_NO_XSI" link="libxml2-xmlerror.html#XML_SCHEMAP_NO_XSI"/>
    <keyword type="enum" name="XML_SCHEMAP_PREFIX_UNDEFINED" link="libxml2-xmlerror.html#XML_SCHEMAP_PREFIX_UNDEFINED"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_P_PROPS_CORRECT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_P_PROPS_CORRECT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_RECURSIVE" link="libxml2-xmlerror.html#XML_SCHEMAP_RECURSIVE"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ATTR" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTR"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ATTRGROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ATTRGROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_ELEMENT" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_ELEMENT"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_GROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_GROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_NOTATION" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMAP_REDEFINED_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_REDEFINED_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_REF_AND_CONTENT" link="libxml2-xmlerror.html#XML_SCHEMAP_REF_AND_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMAP_REF_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_REGEXP_INVALID" link="libxml2-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID"/>
    <keyword type="enum" name="XML_SCHEMAP_RESTRICTION_NONAME_NOREF" link="libxml2-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_INVALID_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_INVALID_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ELEM_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED" link="libxml2-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED"/>
    <keyword type="enum" name="XML_SCHEMAP_SIMPLETYPE_NONAME" link="libxml2-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_4" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_4"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_CT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_CT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_ELEMENT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_ELEMENT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_1_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_1_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_1_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_2_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_2_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_3_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_IMPORT_3_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_INCLUDE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_INCLUDE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_REDEFINE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_REDEFINE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_RESOLVE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4"/>
    <keyword type="enum" name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" link="libxml2-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_1" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_2" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2"/>
    <keyword type="enum" name="XML_SCHEMAP_ST_PROPS_CORRECT_3" link="libxml2-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3"/>
    <keyword type="enum" name="XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_TYPE_AND_SUBTYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNION_NOT_EXPRESSIBLE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ALL_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ALL_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ATTR_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ATTR_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_BASE_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_BASE_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_CHOICE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_CHOICE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_ELEM_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_ELEM_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_FACET_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_FACET_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_FACET_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_GROUP_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_GROUP_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_IMPORT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_LIST_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_NOTATION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_PREFIX" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_REF" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_REF"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_TYPE" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_TYPE"/>
    <keyword type="enum" name="XML_SCHEMAP_UNKNOWN_UNION_CHILD" link="libxml2-xmlerror.html#XML_SCHEMAP_UNKNOWN_UNION_CHILD"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_ATTR_REDECL_PROH" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_ATTR_REDECL_PROH"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_SKIP_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_SKIP_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_WARN_UNLOCATED_SCHEMA" link="libxml2-xmlerror.html#XML_SCHEMAP_WARN_UNLOCATED_SCHEMA"/>
    <keyword type="enum" name="XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER" link="libxml2-xmlerror.html#XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYSIMPLETYPE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYTYPE" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYTYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ANYURI" link="libxml2-schemasInternals.html#XML_SCHEMAS_ANYURI"/>
    <keyword type="enum" name="XML_SCHEMAS_BASE64BINARY" link="libxml2-schemasInternals.html#XML_SCHEMAS_BASE64BINARY"/>
    <keyword type="enum" name="XML_SCHEMAS_BOOLEAN" link="libxml2-schemasInternals.html#XML_SCHEMAS_BOOLEAN"/>
    <keyword type="enum" name="XML_SCHEMAS_BYTE" link="libxml2-schemasInternals.html#XML_SCHEMAS_BYTE"/>
    <keyword type="enum" name="XML_SCHEMAS_DATE" link="libxml2-schemasInternals.html#XML_SCHEMAS_DATE"/>
    <keyword type="enum" name="XML_SCHEMAS_DATETIME" link="libxml2-schemasInternals.html#XML_SCHEMAS_DATETIME"/>
    <keyword type="enum" name="XML_SCHEMAS_DECIMAL" link="libxml2-schemasInternals.html#XML_SCHEMAS_DECIMAL"/>
    <keyword type="enum" name="XML_SCHEMAS_DOUBLE" link="libxml2-schemasInternals.html#XML_SCHEMAS_DOUBLE"/>
    <keyword type="enum" name="XML_SCHEMAS_DURATION" link="libxml2-schemasInternals.html#XML_SCHEMAS_DURATION"/>
    <keyword type="enum" name="XML_SCHEMAS_ENTITIES" link="libxml2-schemasInternals.html#XML_SCHEMAS_ENTITIES"/>
    <keyword type="enum" name="XML_SCHEMAS_ENTITY" link="libxml2-schemasInternals.html#XML_SCHEMAS_ENTITY"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ATTRINVALID" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ATTRUNKNOWN" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_CONSTRUCT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_CONSTRUCT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ELEMCONT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ELEMCONT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_EXTRACONTENT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_EXTRACONTENT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_FACET" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_FACET"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_HAVEDEFAULT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_HAVEDEFAULT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INTERNAL" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INVALIDATTR" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDATTR"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_INVALIDELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_INVALIDELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_ISABSTRACT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_ISABSTRACT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_MISSING" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOROLLBACK" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOROLLBACK"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOROOT" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTDETERMINIST" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTDETERMINIST"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTEMPTY" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTEMPTY"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTNILLABLE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTNILLABLE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTSIMPLE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTSIMPLE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTTOPLEVEL" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTTOPLEVEL"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_NOTYPE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_NOTYPE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_OK" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_OK"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_UNDECLAREDELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_UNDECLAREDELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_VALUE" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_WRONGELEM" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_WRONGELEM"/>
    <keyword type="enum" name="XML_SCHEMAS_ERR_XXX" link="libxml2-xmlschemas.html#XML_SCHEMAS_ERR_XXX"/>
    <keyword type="enum" name="XML_SCHEMAS_FLOAT" link="libxml2-schemasInternals.html#XML_SCHEMAS_FLOAT"/>
    <keyword type="enum" name="XML_SCHEMAS_GDAY" link="libxml2-schemasInternals.html#XML_SCHEMAS_GDAY"/>
    <keyword type="enum" name="XML_SCHEMAS_GMONTH" link="libxml2-schemasInternals.html#XML_SCHEMAS_GMONTH"/>
    <keyword type="enum" name="XML_SCHEMAS_GMONTHDAY" link="libxml2-schemasInternals.html#XML_SCHEMAS_GMONTHDAY"/>
    <keyword type="enum" name="XML_SCHEMAS_GYEAR" link="libxml2-schemasInternals.html#XML_SCHEMAS_GYEAR"/>
    <keyword type="enum" name="XML_SCHEMAS_GYEARMONTH" link="libxml2-schemasInternals.html#XML_SCHEMAS_GYEARMONTH"/>
    <keyword type="enum" name="XML_SCHEMAS_HEXBINARY" link="libxml2-schemasInternals.html#XML_SCHEMAS_HEXBINARY"/>
    <keyword type="enum" name="XML_SCHEMAS_ID" link="libxml2-schemasInternals.html#XML_SCHEMAS_ID"/>
    <keyword type="enum" name="XML_SCHEMAS_IDREF" link="libxml2-schemasInternals.html#XML_SCHEMAS_IDREF"/>
    <keyword type="enum" name="XML_SCHEMAS_IDREFS" link="libxml2-schemasInternals.html#XML_SCHEMAS_IDREFS"/>
    <keyword type="enum" name="XML_SCHEMAS_INT" link="libxml2-schemasInternals.html#XML_SCHEMAS_INT"/>
    <keyword type="enum" name="XML_SCHEMAS_INTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_INTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_LANGUAGE" link="libxml2-schemasInternals.html#XML_SCHEMAS_LANGUAGE"/>
    <keyword type="enum" name="XML_SCHEMAS_LONG" link="libxml2-schemasInternals.html#XML_SCHEMAS_LONG"/>
    <keyword type="enum" name="XML_SCHEMAS_NAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_NAME"/>
    <keyword type="enum" name="XML_SCHEMAS_NCNAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_NCNAME"/>
    <keyword type="enum" name="XML_SCHEMAS_NINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_NMTOKEN" link="libxml2-schemasInternals.html#XML_SCHEMAS_NMTOKEN"/>
    <keyword type="enum" name="XML_SCHEMAS_NMTOKENS" link="libxml2-schemasInternals.html#XML_SCHEMAS_NMTOKENS"/>
    <keyword type="enum" name="XML_SCHEMAS_NNINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NNINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_NORMSTRING" link="libxml2-schemasInternals.html#XML_SCHEMAS_NORMSTRING"/>
    <keyword type="enum" name="XML_SCHEMAS_NOTATION" link="libxml2-schemasInternals.html#XML_SCHEMAS_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMAS_NPINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_NPINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_PINTEGER" link="libxml2-schemasInternals.html#XML_SCHEMAS_PINTEGER"/>
    <keyword type="enum" name="XML_SCHEMAS_QNAME" link="libxml2-schemasInternals.html#XML_SCHEMAS_QNAME"/>
    <keyword type="enum" name="XML_SCHEMAS_SHORT" link="libxml2-schemasInternals.html#XML_SCHEMAS_SHORT"/>
    <keyword type="enum" name="XML_SCHEMAS_STRING" link="libxml2-schemasInternals.html#XML_SCHEMAS_STRING"/>
    <keyword type="enum" name="XML_SCHEMAS_TIME" link="libxml2-schemasInternals.html#XML_SCHEMAS_TIME"/>
    <keyword type="enum" name="XML_SCHEMAS_TOKEN" link="libxml2-schemasInternals.html#XML_SCHEMAS_TOKEN"/>
    <keyword type="enum" name="XML_SCHEMAS_UBYTE" link="libxml2-schemasInternals.html#XML_SCHEMAS_UBYTE"/>
    <keyword type="enum" name="XML_SCHEMAS_UINT" link="libxml2-schemasInternals.html#XML_SCHEMAS_UINT"/>
    <keyword type="enum" name="XML_SCHEMAS_ULONG" link="libxml2-schemasInternals.html#XML_SCHEMAS_ULONG"/>
    <keyword type="enum" name="XML_SCHEMAS_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMAS_UNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAS_USHORT" link="libxml2-schemasInternals.html#XML_SCHEMAS_USHORT"/>
    <keyword type="enum" name="XML_SCHEMATRONV_ASSERT" link="libxml2-xmlerror.html#XML_SCHEMATRONV_ASSERT"/>
    <keyword type="enum" name="XML_SCHEMATRONV_REPORT" link="libxml2-xmlerror.html#XML_SCHEMATRONV_REPORT"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_BUFFER" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_BUFFER"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_ERROR" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_ERROR"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_FILE" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_FILE"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_IO" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_IO"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_QUIET" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_QUIET"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_TEXT" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_TEXT"/>
    <keyword type="enum" name="XML_SCHEMATRON_OUT_XML" link="libxml2-schematron.html#XML_SCHEMATRON_OUT_XML"/>
    <keyword type="enum" name="XML_SCHEMAV_ATTRINVALID" link="libxml2-xmlerror.html#XML_SCHEMAV_ATTRINVALID"/>
    <keyword type="enum" name="XML_SCHEMAV_ATTRUNKNOWN" link="libxml2-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMAV_CONSTRUCT" link="libxml2-xmlerror.html#XML_SCHEMAV_CONSTRUCT"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ATTRIBUTE_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ATTRIBUTE_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_AU" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_AU"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_4" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_4"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_3_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_3_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_4_3" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_4_3"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_1_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_1_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_1_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_2_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_5_2_2_2_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_5_2_2_2_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_6" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_6"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ELT_7" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ELT_7"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_ENUMERATION_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_FACET_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_IDC" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_IDC"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_LENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_MINLENGTH_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_PATTERN_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_3_1_1" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_TYPE_3_1_2" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2"/>
    <keyword type="enum" name="XML_SCHEMAV_CVC_WILDCARD" link="libxml2-xmlerror.html#XML_SCHEMAV_CVC_WILDCARD"/>
    <keyword type="enum" name="XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAV_ELEMCONT" link="libxml2-xmlerror.html#XML_SCHEMAV_ELEMCONT"/>
    <keyword type="enum" name="XML_SCHEMAV_ELEMENT_CONTENT" link="libxml2-xmlerror.html#XML_SCHEMAV_ELEMENT_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMAV_EXTRACONTENT" link="libxml2-xmlerror.html#XML_SCHEMAV_EXTRACONTENT"/>
    <keyword type="enum" name="XML_SCHEMAV_FACET" link="libxml2-xmlerror.html#XML_SCHEMAV_FACET"/>
    <keyword type="enum" name="XML_SCHEMAV_HAVEDEFAULT" link="libxml2-xmlerror.html#XML_SCHEMAV_HAVEDEFAULT"/>
    <keyword type="enum" name="XML_SCHEMAV_INTERNAL" link="libxml2-xmlerror.html#XML_SCHEMAV_INTERNAL"/>
    <keyword type="enum" name="XML_SCHEMAV_INVALIDATTR" link="libxml2-xmlerror.html#XML_SCHEMAV_INVALIDATTR"/>
    <keyword type="enum" name="XML_SCHEMAV_INVALIDELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_INVALIDELEM"/>
    <keyword type="enum" name="XML_SCHEMAV_ISABSTRACT" link="libxml2-xmlerror.html#XML_SCHEMAV_ISABSTRACT"/>
    <keyword type="enum" name="XML_SCHEMAV_MISC" link="libxml2-xmlerror.html#XML_SCHEMAV_MISC"/>
    <keyword type="enum" name="XML_SCHEMAV_MISSING" link="libxml2-xmlerror.html#XML_SCHEMAV_MISSING"/>
    <keyword type="enum" name="XML_SCHEMAV_NOROLLBACK" link="libxml2-xmlerror.html#XML_SCHEMAV_NOROLLBACK"/>
    <keyword type="enum" name="XML_SCHEMAV_NOROOT" link="libxml2-xmlerror.html#XML_SCHEMAV_NOROOT"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTDETERMINIST" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTDETERMINIST"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTEMPTY" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTEMPTY"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTNILLABLE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTNILLABLE"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTSIMPLE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTSIMPLE"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTTOPLEVEL" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTTOPLEVEL"/>
    <keyword type="enum" name="XML_SCHEMAV_NOTYPE" link="libxml2-xmlerror.html#XML_SCHEMAV_NOTYPE"/>
    <keyword type="enum" name="XML_SCHEMAV_UNDECLAREDELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_UNDECLAREDELEM"/>
    <keyword type="enum" name="XML_SCHEMAV_VALUE" link="libxml2-xmlerror.html#XML_SCHEMAV_VALUE"/>
    <keyword type="enum" name="XML_SCHEMAV_WRONGELEM" link="libxml2-xmlerror.html#XML_SCHEMAV_WRONGELEM"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_ANY" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_ANY"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_BASIC" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_BASIC"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_ELEMENTS" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_ELEMENTS"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_EMPTY" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_EMPTY"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_MIXED" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_SIMPLE" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_SIMPLE"/>
    <keyword type="enum" name="XML_SCHEMA_CONTENT_UNKNOWN" link="libxml2-schemasInternals.html#XML_SCHEMA_CONTENT_UNKNOWN"/>
    <keyword type="enum" name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB" link="libxml2-schemasInternals.html#XML_SCHEMA_EXTRA_ATTR_USE_PROHIB"/>
    <keyword type="enum" name="XML_SCHEMA_EXTRA_QNAMEREF" link="libxml2-schemasInternals.html#XML_SCHEMA_EXTRA_QNAMEREF"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_ENUMERATION" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_ENUMERATION"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_FRACTIONDIGITS" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_FRACTIONDIGITS"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_LENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_LENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXEXCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXEXCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXINCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXINCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MAXLENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MAXLENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MINEXCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MINEXCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MININCLUSIVE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MININCLUSIVE"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_MINLENGTH" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_MINLENGTH"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_PATTERN" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_PATTERN"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_TOTALDIGITS" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_TOTALDIGITS"/>
    <keyword type="enum" name="XML_SCHEMA_FACET_WHITESPACE" link="libxml2-schemasInternals.html#XML_SCHEMA_FACET_WHITESPACE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ALL" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ALL"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ANY" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ANY"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ANY_ATTRIBUTE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ANY_ATTRIBUTE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTEGROUP" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTEGROUP"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ATTRIBUTE_USE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ATTRIBUTE_USE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_BASIC" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_BASIC"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_CHOICE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_CHOICE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_COMPLEX" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_COMPLEX_CONTENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_COMPLEX_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_ELEMENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_ELEMENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_EXTENSION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_FACET" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_FACET"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_GROUP" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_GROUP"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_KEY" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_KEYREF" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_IDC_UNIQUE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_LIST" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_LIST"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_NOTATION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_PARTICLE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_PARTICLE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_RESTRICTION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SEQUENCE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SEQUENCE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SIMPLE" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_SIMPLE_CONTENT" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_SIMPLE_CONTENT"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_UNION" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_UNION"/>
    <keyword type="enum" name="XML_SCHEMA_TYPE_UR" link="libxml2-schemasInternals.html#XML_SCHEMA_TYPE_UR"/>
    <keyword type="enum" name="XML_SCHEMA_VAL_VC_I_CREATE" link="libxml2-xmlschemas.html#XML_SCHEMA_VAL_VC_I_CREATE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_COLLAPSE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_COLLAPSE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_PRESERVE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_REPLACE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE"/>
    <keyword type="enum" name="XML_SCHEMA_WHITESPACE_UNKNOWN" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_CLOSED" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_CLOSED"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_EOF" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_EOF"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_ERROR" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_ERROR"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_INITIAL" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_INITIAL"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_INTERACTIVE" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_INTERACTIVE"/>
    <keyword type="enum" name="XML_TEXTREADER_MODE_READING" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_READING"/>
    <keyword type="enum" name="XML_TEXT_NODE" link="libxml2-tree.html#XML_TEXT_NODE"/>
    <keyword type="enum" name="XML_TREE_INVALID_DEC" link="libxml2-xmlerror.html#XML_TREE_INVALID_DEC"/>
    <keyword type="enum" name="XML_TREE_INVALID_HEX" link="libxml2-xmlerror.html#XML_TREE_INVALID_HEX"/>
    <keyword type="enum" name="XML_TREE_NOT_UTF8" link="libxml2-xmlerror.html#XML_TREE_NOT_UTF8"/>
    <keyword type="enum" name="XML_TREE_UNTERMINATED_ENTITY" link="libxml2-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY"/>
    <keyword type="enum" name="XML_WAR_CATALOG_PI" link="libxml2-xmlerror.html#XML_WAR_CATALOG_PI"/>
    <keyword type="enum" name="XML_WAR_ENTITY_REDEFINED" link="libxml2-xmlerror.html#XML_WAR_ENTITY_REDEFINED"/>
    <keyword type="enum" name="XML_WAR_LANG_VALUE" link="libxml2-xmlerror.html#XML_WAR_LANG_VALUE"/>
    <keyword type="enum" name="XML_WAR_NS_COLUMN" link="libxml2-xmlerror.html#XML_WAR_NS_COLUMN"/>
    <keyword type="enum" name="XML_WAR_NS_URI" link="libxml2-xmlerror.html#XML_WAR_NS_URI"/>
    <keyword type="enum" name="XML_WAR_NS_URI_RELATIVE" link="libxml2-xmlerror.html#XML_WAR_NS_URI_RELATIVE"/>
    <keyword type="enum" name="XML_WAR_SPACE_VALUE" link="libxml2-xmlerror.html#XML_WAR_SPACE_VALUE"/>
    <keyword type="enum" name="XML_WAR_UNDECLARED_ENTITY" link="libxml2-xmlerror.html#XML_WAR_UNDECLARED_ENTITY"/>
    <keyword type="enum" name="XML_WAR_UNKNOWN_VERSION" link="libxml2-xmlerror.html#XML_WAR_UNKNOWN_VERSION"/>
    <keyword type="enum" name="XML_WITH_AUTOMATA" link="libxml2-parser.html#XML_WITH_AUTOMATA"/>
    <keyword type="enum" name="XML_WITH_C14N" link="libxml2-parser.html#XML_WITH_C14N"/>
    <keyword type="enum" name="XML_WITH_CATALOG" link="libxml2-parser.html#XML_WITH_CATALOG"/>
    <keyword type="enum" name="XML_WITH_DEBUG" link="libxml2-parser.html#XML_WITH_DEBUG"/>
    <keyword type="enum" name="XML_WITH_DEBUG_MEM" link="libxml2-parser.html#XML_WITH_DEBUG_MEM"/>
    <keyword type="enum" name="XML_WITH_DEBUG_RUN" link="libxml2-parser.html#XML_WITH_DEBUG_RUN"/>
    <keyword type="enum" name="XML_WITH_EXPR" link="libxml2-parser.html#XML_WITH_EXPR"/>
    <keyword type="enum" name="XML_WITH_FTP" link="libxml2-parser.html#XML_WITH_FTP"/>
    <keyword type="enum" name="XML_WITH_HTML" link="libxml2-parser.html#XML_WITH_HTML"/>
    <keyword type="enum" name="XML_WITH_HTTP" link="libxml2-parser.html#XML_WITH_HTTP"/>
    <keyword type="enum" name="XML_WITH_ICONV" link="libxml2-parser.html#XML_WITH_ICONV"/>
    <keyword type="enum" name="XML_WITH_ICU" link="libxml2-parser.html#XML_WITH_ICU"/>
    <keyword type="enum" name="XML_WITH_ISO8859X" link="libxml2-parser.html#XML_WITH_ISO8859X"/>
    <keyword type="enum" name="XML_WITH_LEGACY" link="libxml2-parser.html#XML_WITH_LEGACY"/>
    <keyword type="enum" name="XML_WITH_LZMA" link="libxml2-parser.html#XML_WITH_LZMA"/>
    <keyword type="enum" name="XML_WITH_MODULES" link="libxml2-parser.html#XML_WITH_MODULES"/>
    <keyword type="enum" name="XML_WITH_NONE" link="libxml2-parser.html#XML_WITH_NONE"/>
    <keyword type="enum" name="XML_WITH_OUTPUT" link="libxml2-parser.html#XML_WITH_OUTPUT"/>
    <keyword type="enum" name="XML_WITH_PATTERN" link="libxml2-parser.html#XML_WITH_PATTERN"/>
    <keyword type="enum" name="XML_WITH_PUSH" link="libxml2-parser.html#XML_WITH_PUSH"/>
    <keyword type="enum" name="XML_WITH_READER" link="libxml2-parser.html#XML_WITH_READER"/>
    <keyword type="enum" name="XML_WITH_REGEXP" link="libxml2-parser.html#XML_WITH_REGEXP"/>
    <keyword type="enum" name="XML_WITH_SAX1" link="libxml2-parser.html#XML_WITH_SAX1"/>
    <keyword type="enum" name="XML_WITH_SCHEMAS" link="libxml2-parser.html#XML_WITH_SCHEMAS"/>
    <keyword type="enum" name="XML_WITH_SCHEMATRON" link="libxml2-parser.html#XML_WITH_SCHEMATRON"/>
    <keyword type="enum" name="XML_WITH_THREAD" link="libxml2-parser.html#XML_WITH_THREAD"/>
    <keyword type="enum" name="XML_WITH_TREE" link="libxml2-parser.html#XML_WITH_TREE"/>
    <keyword type="enum" name="XML_WITH_UNICODE" link="libxml2-parser.html#XML_WITH_UNICODE"/>
    <keyword type="enum" name="XML_WITH_VALID" link="libxml2-parser.html#XML_WITH_VALID"/>
    <keyword type="enum" name="XML_WITH_WRITER" link="libxml2-parser.html#XML_WITH_WRITER"/>
    <keyword type="enum" name="XML_WITH_XINCLUDE" link="libxml2-parser.html#XML_WITH_XINCLUDE"/>
    <keyword type="enum" name="XML_WITH_XPATH" link="libxml2-parser.html#XML_WITH_XPATH"/>
    <keyword type="enum" name="XML_WITH_XPTR" link="libxml2-parser.html#XML_WITH_XPTR"/>
    <keyword type="enum" name="XML_WITH_ZLIB" link="libxml2-parser.html#XML_WITH_ZLIB"/>
    <keyword type="enum" name="XML_XINCLUDE_BUILD_FAILED" link="libxml2-xmlerror.html#XML_XINCLUDE_BUILD_FAILED"/>
    <keyword type="enum" name="XML_XINCLUDE_DEPRECATED_NS" link="libxml2-xmlerror.html#XML_XINCLUDE_DEPRECATED_NS"/>
    <keyword type="enum" name="XML_XINCLUDE_END" link="libxml2-tree.html#XML_XINCLUDE_END"/>
    <keyword type="enum" name="XML_XINCLUDE_ENTITY_DEF_MISMATCH" link="libxml2-xmlerror.html#XML_XINCLUDE_ENTITY_DEF_MISMATCH"/>
    <keyword type="enum" name="XML_XINCLUDE_FALLBACKS_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_FALLBACKS_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_FRAGMENT_ID" link="libxml2-xmlerror.html#XML_XINCLUDE_FRAGMENT_ID"/>
    <keyword type="enum" name="XML_XINCLUDE_HREF_URI" link="libxml2-xmlerror.html#XML_XINCLUDE_HREF_URI"/>
    <keyword type="enum" name="XML_XINCLUDE_INCLUDE_IN_INCLUDE" link="libxml2-xmlerror.html#XML_XINCLUDE_INCLUDE_IN_INCLUDE"/>
    <keyword type="enum" name="XML_XINCLUDE_INVALID_CHAR" link="libxml2-xmlerror.html#XML_XINCLUDE_INVALID_CHAR"/>
    <keyword type="enum" name="XML_XINCLUDE_MULTIPLE_ROOT" link="libxml2-xmlerror.html#XML_XINCLUDE_MULTIPLE_ROOT"/>
    <keyword type="enum" name="XML_XINCLUDE_NO_FALLBACK" link="libxml2-xmlerror.html#XML_XINCLUDE_NO_FALLBACK"/>
    <keyword type="enum" name="XML_XINCLUDE_NO_HREF" link="libxml2-xmlerror.html#XML_XINCLUDE_NO_HREF"/>
    <keyword type="enum" name="XML_XINCLUDE_PARSE_VALUE" link="libxml2-xmlerror.html#XML_XINCLUDE_PARSE_VALUE"/>
    <keyword type="enum" name="XML_XINCLUDE_RECURSION" link="libxml2-xmlerror.html#XML_XINCLUDE_RECURSION"/>
    <keyword type="enum" name="XML_XINCLUDE_START" link="libxml2-tree.html#XML_XINCLUDE_START"/>
    <keyword type="enum" name="XML_XINCLUDE_TEXT_DOCUMENT" link="libxml2-xmlerror.html#XML_XINCLUDE_TEXT_DOCUMENT"/>
    <keyword type="enum" name="XML_XINCLUDE_TEXT_FRAGMENT" link="libxml2-xmlerror.html#XML_XINCLUDE_TEXT_FRAGMENT"/>
    <keyword type="enum" name="XML_XINCLUDE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING"/>
    <keyword type="enum" name="XML_XINCLUDE_XPTR_FAILED" link="libxml2-xmlerror.html#XML_XINCLUDE_XPTR_FAILED"/>
    <keyword type="enum" name="XML_XINCLUDE_XPTR_RESULT" link="libxml2-xmlerror.html#XML_XINCLUDE_XPTR_RESULT"/>
    <keyword type="enum" name="XML_XPATH_ENCODING_ERROR" link="libxml2-xmlerror.html#XML_XPATH_ENCODING_ERROR"/>
    <keyword type="enum" name="XML_XPATH_EXPRESSION_OK" link="libxml2-xmlerror.html#XML_XPATH_EXPRESSION_OK"/>
    <keyword type="enum" name="XML_XPATH_EXPR_ERROR" link="libxml2-xmlerror.html#XML_XPATH_EXPR_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_ARITY" link="libxml2-xmlerror.html#XML_XPATH_INVALID_ARITY"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CHAR_ERROR" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CHAR_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CTXT_POSITION" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CTXT_POSITION"/>
    <keyword type="enum" name="XML_XPATH_INVALID_CTXT_SIZE" link="libxml2-xmlerror.html#XML_XPATH_INVALID_CTXT_SIZE"/>
    <keyword type="enum" name="XML_XPATH_INVALID_OPERAND" link="libxml2-xmlerror.html#XML_XPATH_INVALID_OPERAND"/>
    <keyword type="enum" name="XML_XPATH_INVALID_PREDICATE_ERROR" link="libxml2-xmlerror.html#XML_XPATH_INVALID_PREDICATE_ERROR"/>
    <keyword type="enum" name="XML_XPATH_INVALID_TYPE" link="libxml2-xmlerror.html#XML_XPATH_INVALID_TYPE"/>
    <keyword type="enum" name="XML_XPATH_MEMORY_ERROR" link="libxml2-xmlerror.html#XML_XPATH_MEMORY_ERROR"/>
    <keyword type="enum" name="XML_XPATH_NUMBER_ERROR" link="libxml2-xmlerror.html#XML_XPATH_NUMBER_ERROR"/>
    <keyword type="enum" name="XML_XPATH_START_LITERAL_ERROR" link="libxml2-xmlerror.html#XML_XPATH_START_LITERAL_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNCLOSED_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNCLOSED_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNDEF_PREFIX_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNDEF_PREFIX_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNDEF_VARIABLE_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNDEF_VARIABLE_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNFINISHED_LITERAL_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNFINISHED_LITERAL_ERROR"/>
    <keyword type="enum" name="XML_XPATH_UNKNOWN_FUNC_ERROR" link="libxml2-xmlerror.html#XML_XPATH_UNKNOWN_FUNC_ERROR"/>
    <keyword type="enum" name="XML_XPATH_VARIABLE_REF_ERROR" link="libxml2-xmlerror.html#XML_XPATH_VARIABLE_REF_ERROR"/>
    <keyword type="enum" name="XML_XPTR_CHILDSEQ_START" link="libxml2-xmlerror.html#XML_XPTR_CHILDSEQ_START"/>
    <keyword type="enum" name="XML_XPTR_EVAL_FAILED" link="libxml2-xmlerror.html#XML_XPTR_EVAL_FAILED"/>
    <keyword type="enum" name="XML_XPTR_EXTRA_OBJECTS" link="libxml2-xmlerror.html#XML_XPTR_EXTRA_OBJECTS"/>
    <keyword type="enum" name="XML_XPTR_RESOURCE_ERROR" link="libxml2-xmlerror.html#XML_XPTR_RESOURCE_ERROR"/>
    <keyword type="enum" name="XML_XPTR_SUB_RESOURCE_ERROR" link="libxml2-xmlerror.html#XML_XPTR_SUB_RESOURCE_ERROR"/>
    <keyword type="enum" name="XML_XPTR_SYNTAX_ERROR" link="libxml2-xmlerror.html#XML_XPTR_SYNTAX_ERROR"/>
    <keyword type="enum" name="XML_XPTR_UNKNOWN_SCHEME" link="libxml2-xmlerror.html#XML_XPTR_UNKNOWN_SCHEME"/>
    <keyword type="enum" name="XPATH_BOOLEAN" link="libxml2-xpath.html#XPATH_BOOLEAN"/>
    <keyword type="enum" name="XPATH_ENCODING_ERROR" link="libxml2-xpath.html#XPATH_ENCODING_ERROR"/>
    <keyword type="enum" name="XPATH_EXPRESSION_OK" link="libxml2-xpath.html#XPATH_EXPRESSION_OK"/>
    <keyword type="enum" name="XPATH_EXPR_ERROR" link="libxml2-xpath.html#XPATH_EXPR_ERROR"/>
    <keyword type="enum" name="XPATH_FORBID_VARIABLE_ERROR" link="libxml2-xpath.html#XPATH_FORBID_VARIABLE_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_ARITY" link="libxml2-xpath.html#XPATH_INVALID_ARITY"/>
    <keyword type="enum" name="XPATH_INVALID_CHAR_ERROR" link="libxml2-xpath.html#XPATH_INVALID_CHAR_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT" link="libxml2-xpath.html#XPATH_INVALID_CTXT"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT_POSITION" link="libxml2-xpath.html#XPATH_INVALID_CTXT_POSITION"/>
    <keyword type="enum" name="XPATH_INVALID_CTXT_SIZE" link="libxml2-xpath.html#XPATH_INVALID_CTXT_SIZE"/>
    <keyword type="enum" name="XPATH_INVALID_OPERAND" link="libxml2-xpath.html#XPATH_INVALID_OPERAND"/>
    <keyword type="enum" name="XPATH_INVALID_PREDICATE_ERROR" link="libxml2-xpath.html#XPATH_INVALID_PREDICATE_ERROR"/>
    <keyword type="enum" name="XPATH_INVALID_TYPE" link="libxml2-xpath.html#XPATH_INVALID_TYPE"/>
    <keyword type="enum" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
    <keyword type="enum" name="XPATH_MEMORY_ERROR" link="libxml2-xpath.html#XPATH_MEMORY_ERROR"/>
    <keyword type="enum" name="XPATH_NODESET" link="libxml2-xpath.html#XPATH_NODESET"/>
    <keyword type="enum" name="XPATH_NUMBER" link="libxml2-xpath.html#XPATH_NUMBER"/>
    <keyword type="enum" name="XPATH_NUMBER_ERROR" link="libxml2-xpath.html#XPATH_NUMBER_ERROR"/>
    <keyword type="enum" name="XPATH_OP_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_OP_LIMIT_EXCEEDED"/>
    <keyword type="enum" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
    <keyword type="enum" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
    <keyword type="enum" name="XPATH_RECURSION_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED"/>
    <keyword type="enum" name="XPATH_STACK_ERROR" link="libxml2-xpath.html#XPATH_STACK_ERROR"/>
    <keyword type="enum" name="XPATH_START_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_START_LITERAL_ERROR"/>
    <keyword type="enum" name="XPATH_STRING" link="libxml2-xpath.html#XPATH_STRING"/>
    <keyword type="enum" name="XPATH_UNCLOSED_ERROR" link="libxml2-xpath.html#XPATH_UNCLOSED_ERROR"/>
    <keyword type="enum" name="XPATH_UNDEFINED" link="libxml2-xpath.html#XPATH_UNDEFINED"/>
    <keyword type="enum" name="XPATH_UNDEF_PREFIX_ERROR" link="libxml2-xpath.html#XPATH_UNDEF_PREFIX_ERROR"/>
    <keyword type="enum" name="XPATH_UNDEF_VARIABLE_ERROR" link="libxml2-xpath.html#XPATH_UNDEF_VARIABLE_ERROR"/>
    <keyword type="enum" name="XPATH_UNFINISHED_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_UNFINISHED_LITERAL_ERROR"/>
    <keyword type="enum" name="XPATH_UNKNOWN_FUNC_ERROR" link="libxml2-xpath.html#XPATH_UNKNOWN_FUNC_ERROR"/>
    <keyword type="enum" name="XPATH_USERS" link="libxml2-xpath.html#XPATH_USERS"/>
    <keyword type="enum" name="XPATH_VARIABLE_REF_ERROR" link="libxml2-xpath.html#XPATH_VARIABLE_REF_ERROR"/>
    <keyword type="enum" name="XPATH_XSLT_TREE" link="libxml2-xpath.html#XPATH_XSLT_TREE"/>
    <keyword type="enum" name="XPTR_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_RESOURCE_ERROR"/>
    <keyword type="enum" name="XPTR_SUB_RESOURCE_ERROR" link="libxml2-xpath.html#XPTR_SUB_RESOURCE_ERROR"/>
    <keyword type="enum" name="XPTR_SYNTAX_ERROR" link="libxml2-xpath.html#XPTR_SYNTAX_ERROR"/>
    <keyword type="typedef" name="htmlDocPtr" link="libxml2-HTMLparser.html#htmlDocPtr"/>
    <keyword type="typedef" name="htmlElemDescPtr" link="libxml2-HTMLparser.html#htmlElemDescPtr"/>
    <keyword type="typedef" name="htmlEntityDescPtr" link="libxml2-HTMLparser.html#htmlEntityDescPtr"/>
    <keyword type="typedef" name="htmlNodePtr" link="libxml2-HTMLparser.html#htmlNodePtr"/>
    <keyword type="typedef" name="htmlParserCtxt" link="libxml2-HTMLparser.html#htmlParserCtxt"/>
    <keyword type="typedef" name="htmlParserCtxtPtr" link="libxml2-HTMLparser.html#htmlParserCtxtPtr"/>
    <keyword type="typedef" name="htmlParserInput" link="libxml2-HTMLparser.html#htmlParserInput"/>
    <keyword type="typedef" name="htmlParserInputPtr" link="libxml2-HTMLparser.html#htmlParserInputPtr"/>
    <keyword type="typedef" name="htmlParserNodeInfo" link="libxml2-HTMLparser.html#htmlParserNodeInfo"/>
    <keyword type="typedef" name="htmlParserOption" link="libxml2-HTMLparser.html#htmlParserOption"/>
    <keyword type="typedef" name="htmlSAXHandler" link="libxml2-HTMLparser.html#htmlSAXHandler"/>
    <keyword type="typedef" name="htmlSAXHandlerPtr" link="libxml2-HTMLparser.html#htmlSAXHandlerPtr"/>
    <keyword type="typedef" name="htmlStatus" link="libxml2-HTMLparser.html#htmlStatus"/>
    <keyword type="typedef" name="xlinkActuate" link="libxml2-xlink.html#xlinkActuate"/>
    <keyword type="typedef" name="xlinkHRef" link="libxml2-xlink.html#xlinkHRef"/>
    <keyword type="typedef" name="xlinkHandlerPtr" link="libxml2-xlink.html#xlinkHandlerPtr"/>
    <keyword type="typedef" name="xlinkRole" link="libxml2-xlink.html#xlinkRole"/>
    <keyword type="typedef" name="xlinkShow" link="libxml2-xlink.html#xlinkShow"/>
    <keyword type="typedef" name="xlinkTitle" link="libxml2-xlink.html#xlinkTitle"/>
    <keyword type="typedef" name="xlinkType" link="libxml2-xlink.html#xlinkType"/>
    <keyword type="typedef" name="xmlAttrPtr" link="libxml2-tree.html#xmlAttrPtr"/>
    <keyword type="typedef" name="xmlAttributeDefault" link="libxml2-tree.html#xmlAttributeDefault"/>
    <keyword type="typedef" name="xmlAttributePtr" link="libxml2-tree.html#xmlAttributePtr"/>
    <keyword type="typedef" name="xmlAttributeTablePtr" link="libxml2-valid.html#xmlAttributeTablePtr"/>
    <keyword type="typedef" name="xmlAttributeType" link="libxml2-tree.html#xmlAttributeType"/>
    <keyword type="typedef" name="xmlAutomataPtr" link="libxml2-xmlautomata.html#xmlAutomataPtr"/>
    <keyword type="typedef" name="xmlAutomataStatePtr" link="libxml2-xmlautomata.html#xmlAutomataStatePtr"/>
    <keyword type="typedef" name="xmlBufPtr" link="libxml2-tree.html#xmlBufPtr"/>
    <keyword type="typedef" name="xmlBufferAllocationScheme" link="libxml2-tree.html#xmlBufferAllocationScheme"/>
    <keyword type="typedef" name="xmlBufferPtr" link="libxml2-tree.html#xmlBufferPtr"/>
    <keyword type="typedef" name="xmlC14NMode" link="libxml2-c14n.html#xmlC14NMode"/>
    <keyword type="typedef" name="xmlCatalogAllow" link="libxml2-catalog.html#xmlCatalogAllow"/>
    <keyword type="typedef" name="xmlCatalogPrefer" link="libxml2-catalog.html#xmlCatalogPrefer"/>
    <keyword type="typedef" name="xmlCatalogPtr" link="libxml2-catalog.html#xmlCatalogPtr"/>
    <keyword type="typedef" name="xmlChLRangePtr" link="libxml2-chvalid.html#xmlChLRangePtr"/>
    <keyword type="typedef" name="xmlChRangeGroupPtr" link="libxml2-chvalid.html#xmlChRangeGroupPtr"/>
    <keyword type="typedef" name="xmlChSRangePtr" link="libxml2-chvalid.html#xmlChSRangePtr"/>
    <keyword type="typedef" name="xmlChar" link="libxml2-xmlstring.html#xmlChar"/>
    <keyword type="typedef" name="xmlCharEncoding" link="libxml2-encoding.html#xmlCharEncoding"/>
    <keyword type="typedef" name="xmlCharEncodingHandlerPtr" link="libxml2-encoding.html#xmlCharEncodingHandlerPtr"/>
    <keyword type="typedef" name="xmlDOMWrapCtxtPtr" link="libxml2-tree.html#xmlDOMWrapCtxtPtr"/>
    <keyword type="typedef" name="xmlDictPtr" link="libxml2-dict.html#xmlDictPtr"/>
    <keyword type="typedef" name="xmlDocProperties" link="libxml2-tree.html#xmlDocProperties"/>
    <keyword type="typedef" name="xmlDocPtr" link="libxml2-tree.html#xmlDocPtr"/>
    <keyword type="typedef" name="xmlDtdPtr" link="libxml2-tree.html#xmlDtdPtr"/>
    <keyword type="typedef" name="xmlElementContentOccur" link="libxml2-tree.html#xmlElementContentOccur"/>
    <keyword type="typedef" name="xmlElementContentPtr" link="libxml2-tree.html#xmlElementContentPtr"/>
    <keyword type="typedef" name="xmlElementContentType" link="libxml2-tree.html#xmlElementContentType"/>
    <keyword type="typedef" name="xmlElementPtr" link="libxml2-tree.html#xmlElementPtr"/>
    <keyword type="typedef" name="xmlElementTablePtr" link="libxml2-valid.html#xmlElementTablePtr"/>
    <keyword type="typedef" name="xmlElementType" link="libxml2-tree.html#xmlElementType"/>
    <keyword type="typedef" name="xmlElementTypeVal" link="libxml2-tree.html#xmlElementTypeVal"/>
    <keyword type="typedef" name="xmlEntitiesTablePtr" link="libxml2-entities.html#xmlEntitiesTablePtr"/>
    <keyword type="typedef" name="xmlEntityPtr" link="libxml2-tree.html#xmlEntityPtr"/>
    <keyword type="typedef" name="xmlEntityType" link="libxml2-entities.html#xmlEntityType"/>
    <keyword type="typedef" name="xmlEnumerationPtr" link="libxml2-tree.html#xmlEnumerationPtr"/>
    <keyword type="typedef" name="xmlErrorDomain" link="libxml2-xmlerror.html#xmlErrorDomain"/>
    <keyword type="typedef" name="xmlErrorLevel" link="libxml2-xmlerror.html#xmlErrorLevel"/>
    <keyword type="typedef" name="xmlErrorPtr" link="libxml2-xmlerror.html#xmlErrorPtr"/>
    <keyword type="typedef" name="xmlExpCtxtPtr" link="libxml2-xmlregexp.html#xmlExpCtxtPtr"/>
    <keyword type="typedef" name="xmlExpNodePtr" link="libxml2-xmlregexp.html#xmlExpNodePtr"/>
    <keyword type="typedef" name="xmlExpNodeType" link="libxml2-xmlregexp.html#xmlExpNodeType"/>
    <keyword type="typedef" name="xmlFeature" link="libxml2-parser.html#xmlFeature"/>
    <keyword type="typedef" name="xmlGlobalStatePtr" link="libxml2-globals.html#xmlGlobalStatePtr"/>
    <keyword type="typedef" name="xmlHashTablePtr" link="libxml2-hash.html#xmlHashTablePtr"/>
    <keyword type="typedef" name="xmlIDPtr" link="libxml2-tree.html#xmlIDPtr"/>
    <keyword type="typedef" name="xmlIDTablePtr" link="libxml2-valid.html#xmlIDTablePtr"/>
    <keyword type="typedef" name="xmlLinkPtr" link="libxml2-list.html#xmlLinkPtr"/>
    <keyword type="typedef" name="xmlListPtr" link="libxml2-list.html#xmlListPtr"/>
    <keyword type="typedef" name="xmlLocationSetPtr" link="libxml2-xpointer.html#xmlLocationSetPtr"/>
    <keyword type="typedef" name="xmlModuleOption" link="libxml2-xmlmodule.html#xmlModuleOption"/>
    <keyword type="typedef" name="xmlModulePtr" link="libxml2-xmlmodule.html#xmlModulePtr"/>
    <keyword type="typedef" name="xmlMutexPtr" link="libxml2-threads.html#xmlMutexPtr"/>
    <keyword type="typedef" name="xmlNodePtr" link="libxml2-tree.html#xmlNodePtr"/>
    <keyword type="typedef" name="xmlNodeSetPtr" link="libxml2-xpath.html#xmlNodeSetPtr"/>
    <keyword type="typedef" name="xmlNotationPtr" link="libxml2-tree.html#xmlNotationPtr"/>
    <keyword type="typedef" name="xmlNotationTablePtr" link="libxml2-valid.html#xmlNotationTablePtr"/>
    <keyword type="typedef" name="xmlNsPtr" link="libxml2-tree.html#xmlNsPtr"/>
    <keyword type="typedef" name="xmlNsType" link="libxml2-tree.html#xmlNsType"/>
    <keyword type="typedef" name="xmlOutputBufferPtr" link="libxml2-tree.html#xmlOutputBufferPtr"/>
    <keyword type="typedef" name="xmlParserCtxtPtr" link="libxml2-tree.html#xmlParserCtxtPtr"/>
    <keyword type="typedef" name="xmlParserErrors" link="libxml2-xmlerror.html#xmlParserErrors"/>
    <keyword type="typedef" name="xmlParserInputBufferPtr" link="libxml2-tree.html#xmlParserInputBufferPtr"/>
    <keyword type="typedef" name="xmlParserInputPtr" link="libxml2-tree.html#xmlParserInputPtr"/>
    <keyword type="typedef" name="xmlParserInputState" link="libxml2-parser.html#xmlParserInputState"/>
    <keyword type="typedef" name="xmlParserMode" link="libxml2-parser.html#xmlParserMode"/>
    <keyword type="typedef" name="xmlParserNodeInfoPtr" link="libxml2-parser.html#xmlParserNodeInfoPtr"/>
    <keyword type="typedef" name="xmlParserNodeInfoSeqPtr" link="libxml2-parser.html#xmlParserNodeInfoSeqPtr"/>
    <keyword type="typedef" name="xmlParserOption" link="libxml2-parser.html#xmlParserOption"/>
    <keyword type="typedef" name="xmlParserProperties" link="libxml2-xmlreader.html#xmlParserProperties"/>
    <keyword type="typedef" name="xmlParserSeverities" link="libxml2-xmlreader.html#xmlParserSeverities"/>
    <keyword type="typedef" name="xmlPatternFlags" link="libxml2-pattern.html#xmlPatternFlags"/>
    <keyword type="typedef" name="xmlPatternPtr" link="libxml2-pattern.html#xmlPatternPtr"/>
    <keyword type="typedef" name="xmlRMutexPtr" link="libxml2-threads.html#xmlRMutexPtr"/>
    <keyword type="typedef" name="xmlReaderTypes" link="libxml2-xmlreader.html#xmlReaderTypes"/>
    <keyword type="typedef" name="xmlRefPtr" link="libxml2-tree.html#xmlRefPtr"/>
    <keyword type="typedef" name="xmlRefTablePtr" link="libxml2-valid.html#xmlRefTablePtr"/>
    <keyword type="typedef" name="xmlRegExecCtxtPtr" link="libxml2-xmlregexp.html#xmlRegExecCtxtPtr"/>
    <keyword type="typedef" name="xmlRegexpPtr" link="libxml2-xmlregexp.html#xmlRegexpPtr"/>
    <keyword type="typedef" name="xmlRelaxNGParserCtxtPtr" link="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr"/>
    <keyword type="typedef" name="xmlRelaxNGParserFlag" link="libxml2-relaxng.html#xmlRelaxNGParserFlag"/>
    <keyword type="typedef" name="xmlRelaxNGPtr" link="libxml2-relaxng.html#xmlRelaxNGPtr"/>
    <keyword type="typedef" name="xmlRelaxNGValidCtxtPtr" link="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr"/>
    <keyword type="typedef" name="xmlRelaxNGValidErr" link="libxml2-relaxng.html#xmlRelaxNGValidErr"/>
    <keyword type="typedef" name="xmlSAXHandlerPtr" link="libxml2-tree.html#xmlSAXHandlerPtr"/>
    <keyword type="typedef" name="xmlSAXHandlerV1Ptr" link="libxml2-parser.html#xmlSAXHandlerV1Ptr"/>
    <keyword type="typedef" name="xmlSAXLocatorPtr" link="libxml2-tree.html#xmlSAXLocatorPtr"/>
    <keyword type="typedef" name="xmlSaveCtxtPtr" link="libxml2-xmlsave.html#xmlSaveCtxtPtr"/>
    <keyword type="typedef" name="xmlSaveOption" link="libxml2-xmlsave.html#xmlSaveOption"/>
    <keyword type="typedef" name="xmlSchemaAnnotPtr" link="libxml2-schemasInternals.html#xmlSchemaAnnotPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributeGroupPtr" link="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributeLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaAttributePtr" link="libxml2-schemasInternals.html#xmlSchemaAttributePtr"/>
    <keyword type="typedef" name="xmlSchemaContentType" link="libxml2-schemasInternals.html#xmlSchemaContentType"/>
    <keyword type="typedef" name="xmlSchemaElementPtr" link="libxml2-schemasInternals.html#xmlSchemaElementPtr"/>
    <keyword type="typedef" name="xmlSchemaFacetLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaFacetPtr" link="libxml2-schemasInternals.html#xmlSchemaFacetPtr"/>
    <keyword type="typedef" name="xmlSchemaNotationPtr" link="libxml2-schemasInternals.html#xmlSchemaNotationPtr"/>
    <keyword type="typedef" name="xmlSchemaParserCtxtPtr" link="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr"/>
    <keyword type="typedef" name="xmlSchemaPtr" link="libxml2-xmlschemas.html#xmlSchemaPtr"/>
    <keyword type="typedef" name="xmlSchemaSAXPlugPtr" link="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr"/>
    <keyword type="typedef" name="xmlSchemaTypeLinkPtr" link="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr"/>
    <keyword type="typedef" name="xmlSchemaTypePtr" link="libxml2-schemasInternals.html#xmlSchemaTypePtr"/>
    <keyword type="typedef" name="xmlSchemaTypeType" link="libxml2-schemasInternals.html#xmlSchemaTypeType"/>
    <keyword type="typedef" name="xmlSchemaValPtr" link="libxml2-schemasInternals.html#xmlSchemaValPtr"/>
    <keyword type="typedef" name="xmlSchemaValType" link="libxml2-schemasInternals.html#xmlSchemaValType"/>
    <keyword type="typedef" name="xmlSchemaValidCtxtPtr" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr"/>
    <keyword type="typedef" name="xmlSchemaValidError" link="libxml2-xmlschemas.html#xmlSchemaValidError"/>
    <keyword type="typedef" name="xmlSchemaValidOption" link="libxml2-xmlschemas.html#xmlSchemaValidOption"/>
    <keyword type="typedef" name="xmlSchemaWhitespaceValueType" link="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType"/>
    <keyword type="typedef" name="xmlSchemaWildcardNsPtr" link="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr"/>
    <keyword type="typedef" name="xmlSchemaWildcardPtr" link="libxml2-schemasInternals.html#xmlSchemaWildcardPtr"/>
    <keyword type="typedef" name="xmlSchematronParserCtxtPtr" link="libxml2-schematron.html#xmlSchematronParserCtxtPtr"/>
    <keyword type="typedef" name="xmlSchematronPtr" link="libxml2-schematron.html#xmlSchematronPtr"/>
    <keyword type="typedef" name="xmlSchematronValidCtxtPtr" link="libxml2-schematron.html#xmlSchematronValidCtxtPtr"/>
    <keyword type="typedef" name="xmlSchematronValidOptions" link="libxml2-schematron.html#xmlSchematronValidOptions"/>
    <keyword type="typedef" name="xmlShellCtxtPtr" link="libxml2-debugXML.html#xmlShellCtxtPtr"/>
    <keyword type="typedef" name="xmlStreamCtxtPtr" link="libxml2-pattern.html#xmlStreamCtxtPtr"/>
    <keyword type="typedef" name="xmlTextReaderLocatorPtr" link="libxml2-xmlreader.html#xmlTextReaderLocatorPtr"/>
    <keyword type="typedef" name="xmlTextReaderMode" link="libxml2-xmlreader.html#xmlTextReaderMode"/>
    <keyword type="typedef" name="xmlTextReaderPtr" link="libxml2-xmlreader.html#xmlTextReaderPtr"/>
    <keyword type="typedef" name="xmlTextWriterPtr" link="libxml2-xmlwriter.html#xmlTextWriterPtr"/>
    <keyword type="typedef" name="xmlURIPtr" link="libxml2-uri.html#xmlURIPtr"/>
    <keyword type="typedef" name="xmlValidCtxtPtr" link="libxml2-valid.html#xmlValidCtxtPtr"/>
    <keyword type="typedef" name="xmlValidStatePtr" link="libxml2-valid.html#xmlValidStatePtr"/>
    <keyword type="typedef" name="xmlXIncludeCtxtPtr" link="libxml2-xinclude.html#xmlXIncludeCtxtPtr"/>
    <keyword type="typedef" name="xmlXPathAxisPtr" link="libxml2-xpath.html#xmlXPathAxisPtr"/>
    <keyword type="typedef" name="xmlXPathCompExprPtr" link="libxml2-xpath.html#xmlXPathCompExprPtr"/>
    <keyword type="typedef" name="xmlXPathContextPtr" link="libxml2-xpath.html#xmlXPathContextPtr"/>
    <keyword type="typedef" name="xmlXPathError" link="libxml2-xpath.html#xmlXPathError"/>
    <keyword type="typedef" name="xmlXPathFuncPtr" link="libxml2-xpath.html#xmlXPathFuncPtr"/>
    <keyword type="typedef" name="xmlXPathObjectPtr" link="libxml2-xpath.html#xmlXPathObjectPtr"/>
    <keyword type="typedef" name="xmlXPathObjectType" link="libxml2-xpath.html#xmlXPathObjectType"/>
    <keyword type="typedef" name="xmlXPathParserContextPtr" link="libxml2-xpath.html#xmlXPathParserContextPtr"/>
    <keyword type="typedef" name="xmlXPathTypePtr" link="libxml2-xpath.html#xmlXPathTypePtr"/>
    <keyword type="typedef" name="xmlXPathVariablePtr" link="libxml2-xpath.html#xmlXPathVariablePtr"/>
    <keyword type="struct" name="htmlElemDesc" link="libxml2-HTMLparser.html#htmlElemDesc"/>
    <keyword type="struct" name="htmlEntityDesc" link="libxml2-HTMLparser.html#htmlEntityDesc"/>
    <keyword type="struct" name="xlinkHandler" link="libxml2-xlink.html#xlinkHandler"/>
    <keyword type="struct" name="xmlAttr" link="libxml2-tree.html#xmlAttr"/>
    <keyword type="struct" name="xmlAttribute" link="libxml2-tree.html#xmlAttribute"/>
    <keyword type="struct" name="xmlAttributeTable" link="libxml2-valid.html#xmlAttributeTable"/>
    <keyword type="struct" name="xmlAutomata" link="libxml2-xmlautomata.html#xmlAutomata"/>
    <keyword type="struct" name="xmlAutomataState" link="libxml2-xmlautomata.html#xmlAutomataState"/>
    <keyword type="struct" name="xmlBuf" link="libxml2-tree.html#xmlBuf"/>
    <keyword type="struct" name="xmlBuffer" link="libxml2-tree.html#xmlBuffer"/>
    <keyword type="struct" name="xmlCatalog" link="libxml2-catalog.html#xmlCatalog"/>
    <keyword type="struct" name="xmlChLRange" link="libxml2-chvalid.html#xmlChLRange"/>
    <keyword type="struct" name="xmlChRangeGroup" link="libxml2-chvalid.html#xmlChRangeGroup"/>
    <keyword type="struct" name="xmlChSRange" link="libxml2-chvalid.html#xmlChSRange"/>
    <keyword type="struct" name="xmlCharEncodingHandler" link="libxml2-encoding.html#xmlCharEncodingHandler"/>
    <keyword type="struct" name="xmlDOMWrapCtxt" link="libxml2-tree.html#xmlDOMWrapCtxt"/>
    <keyword type="struct" name="xmlDict" link="libxml2-dict.html#xmlDict"/>
    <keyword type="struct" name="xmlDoc" link="libxml2-tree.html#xmlDoc"/>
    <keyword type="struct" name="xmlDtd" link="libxml2-tree.html#xmlDtd"/>
    <keyword type="struct" name="xmlElement" link="libxml2-tree.html#xmlElement"/>
    <keyword type="struct" name="xmlElementContent" link="libxml2-tree.html#xmlElementContent"/>
    <keyword type="struct" name="xmlElementTable" link="libxml2-valid.html#xmlElementTable"/>
    <keyword type="struct" name="xmlEntitiesTable" link="libxml2-entities.html#xmlEntitiesTable"/>
    <keyword type="struct" name="xmlEntity" link="libxml2-tree.html#xmlEntity"/>
    <keyword type="struct" name="xmlEnumeration" link="libxml2-tree.html#xmlEnumeration"/>
    <keyword type="struct" name="xmlError" link="libxml2-xmlerror.html#xmlError"/>
    <keyword type="struct" name="xmlExpCtxt" link="libxml2-xmlregexp.html#xmlExpCtxt"/>
    <keyword type="struct" name="xmlExpNode" link="libxml2-xmlregexp.html#xmlExpNode"/>
    <keyword type="struct" name="xmlGlobalState" link="libxml2-globals.html#xmlGlobalState"/>
    <keyword type="struct" name="xmlHashTable" link="libxml2-hash.html#xmlHashTable"/>
    <keyword type="struct" name="xmlID" link="libxml2-tree.html#xmlID"/>
    <keyword type="struct" name="xmlIDTable" link="libxml2-valid.html#xmlIDTable"/>
    <keyword type="struct" name="xmlLink" link="libxml2-list.html#xmlLink"/>
    <keyword type="struct" name="xmlList" link="libxml2-list.html#xmlList"/>
    <keyword type="struct" name="xmlLocationSet" link="libxml2-xpointer.html#xmlLocationSet"/>
    <keyword type="struct" name="xmlModule" link="libxml2-xmlmodule.html#xmlModule"/>
    <keyword type="struct" name="xmlMutex" link="libxml2-threads.html#xmlMutex"/>
    <keyword type="struct" name="xmlNode" link="libxml2-tree.html#xmlNode"/>
    <keyword type="struct" name="xmlNodeSet" link="libxml2-xpath.html#xmlNodeSet"/>
    <keyword type="struct" name="xmlNotation" link="libxml2-tree.html#xmlNotation"/>
    <keyword type="struct" name="xmlNotationTable" link="libxml2-valid.html#xmlNotationTable"/>
    <keyword type="struct" name="xmlNs" link="libxml2-tree.html#xmlNs"/>
    <keyword type="struct" name="xmlOutputBuffer" link="libxml2-tree.html#xmlOutputBuffer"/>
    <keyword type="struct" name="xmlParserCtxt" link="libxml2-tree.html#xmlParserCtxt"/>
    <keyword type="struct" name="xmlParserInput" link="libxml2-tree.html#xmlParserInput"/>
    <keyword type="struct" name="xmlParserInputBuffer" link="libxml2-tree.html#xmlParserInputBuffer"/>
    <keyword type="struct" name="xmlParserNodeInfo" link="libxml2-parser.html#xmlParserNodeInfo"/>
    <keyword type="struct" name="xmlParserNodeInfoSeq" link="libxml2-parser.html#xmlParserNodeInfoSeq"/>
    <keyword type="struct" name="xmlPattern" link="libxml2-pattern.html#xmlPattern"/>
    <keyword type="struct" name="xmlRMutex" link="libxml2-threads.html#xmlRMutex"/>
    <keyword type="struct" name="xmlRef" link="libxml2-tree.html#xmlRef"/>
    <keyword type="struct" name="xmlRefTable" link="libxml2-valid.html#xmlRefTable"/>
    <keyword type="struct" name="xmlRegExecCtxt" link="libxml2-xmlregexp.html#xmlRegExecCtxt"/>
    <keyword type="struct" name="xmlRegexp" link="libxml2-xmlregexp.html#xmlRegexp"/>
    <keyword type="struct" name="xmlRelaxNG" link="libxml2-relaxng.html#xmlRelaxNG"/>
    <keyword type="struct" name="xmlRelaxNGParserCtxt" link="libxml2-relaxng.html#xmlRelaxNGParserCtxt"/>
    <keyword type="struct" name="xmlRelaxNGValidCtxt" link="libxml2-relaxng.html#xmlRelaxNGValidCtxt"/>
    <keyword type="struct" name="xmlSAXHandler" link="libxml2-tree.html#xmlSAXHandler"/>
    <keyword type="struct" name="xmlSAXHandlerV1" link="libxml2-parser.html#xmlSAXHandlerV1"/>
    <keyword type="struct" name="xmlSAXLocator" link="libxml2-tree.html#xmlSAXLocator"/>
    <keyword type="struct" name="xmlSaveCtxt" link="libxml2-xmlsave.html#xmlSaveCtxt"/>
    <keyword type="struct" name="xmlSchema" link="libxml2-xmlschemas.html#xmlSchema"/>
    <keyword type="struct" name="xmlSchemaAnnot" link="libxml2-schemasInternals.html#xmlSchemaAnnot"/>
    <keyword type="struct" name="xmlSchemaAttribute" link="libxml2-schemasInternals.html#xmlSchemaAttribute"/>
    <keyword type="struct" name="xmlSchemaAttributeGroup" link="libxml2-schemasInternals.html#xmlSchemaAttributeGroup"/>
    <keyword type="struct" name="xmlSchemaAttributeLink" link="libxml2-schemasInternals.html#xmlSchemaAttributeLink"/>
    <keyword type="struct" name="xmlSchemaElement" link="libxml2-schemasInternals.html#xmlSchemaElement"/>
    <keyword type="struct" name="xmlSchemaFacet" link="libxml2-schemasInternals.html#xmlSchemaFacet"/>
    <keyword type="struct" name="xmlSchemaFacetLink" link="libxml2-schemasInternals.html#xmlSchemaFacetLink"/>
    <keyword type="struct" name="xmlSchemaNotation" link="libxml2-schemasInternals.html#xmlSchemaNotation"/>
    <keyword type="struct" name="xmlSchemaParserCtxt" link="libxml2-xmlschemas.html#xmlSchemaParserCtxt"/>
    <keyword type="struct" name="xmlSchemaSAXPlugStruct" link="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct"/>
    <keyword type="struct" name="xmlSchemaType" link="libxml2-schemasInternals.html#xmlSchemaType"/>
    <keyword type="struct" name="xmlSchemaTypeLink" link="libxml2-schemasInternals.html#xmlSchemaTypeLink"/>
    <keyword type="struct" name="xmlSchemaVal" link="libxml2-schemasInternals.html#xmlSchemaVal"/>
    <keyword type="struct" name="xmlSchemaValidCtxt" link="libxml2-xmlschemas.html#xmlSchemaValidCtxt"/>
    <keyword type="struct" name="xmlSchemaWildcard" link="libxml2-schemasInternals.html#xmlSchemaWildcard"/>
    <keyword type="struct" name="xmlSchemaWildcardNs" link="libxml2-schemasInternals.html#xmlSchemaWildcardNs"/>
    <keyword type="struct" name="xmlSchematron" link="libxml2-schematron.html#xmlSchematron"/>
    <keyword type="struct" name="xmlSchematronParserCtxt" link="libxml2-schematron.html#xmlSchematronParserCtxt"/>
    <keyword type="struct" name="xmlSchematronValidCtxt" link="libxml2-schematron.html#xmlSchematronValidCtxt"/>
    <keyword type="struct" name="xmlShellCtxt" link="libxml2-debugXML.html#xmlShellCtxt"/>
    <keyword type="struct" name="xmlStartTag" link="libxml2-parser.html#xmlStartTag"/>
    <keyword type="struct" name="xmlStreamCtxt" link="libxml2-pattern.html#xmlStreamCtxt"/>
    <keyword type="struct" name="xmlTextReader" link="libxml2-xmlreader.html#xmlTextReader"/>
    <keyword type="struct" name="xmlTextWriter" link="libxml2-xmlwriter.html#xmlTextWriter"/>
    <keyword type="struct" name="xmlURI" link="libxml2-uri.html#xmlURI"/>
    <keyword type="struct" name="xmlValidCtxt" link="libxml2-valid.html#xmlValidCtxt"/>
    <keyword type="struct" name="xmlValidState" link="libxml2-valid.html#xmlValidState"/>
    <keyword type="struct" name="xmlXIncludeCtxt" link="libxml2-xinclude.html#xmlXIncludeCtxt"/>
    <keyword type="struct" name="xmlXPathAxis" link="libxml2-xpath.html#xmlXPathAxis"/>
    <keyword type="struct" name="xmlXPathCompExpr" link="libxml2-xpath.html#xmlXPathCompExpr"/>
    <keyword type="struct" name="xmlXPathContext" link="libxml2-xpath.html#xmlXPathContext"/>
    <keyword type="struct" name="xmlXPathFunct" link="libxml2-xpath.html#xmlXPathFunct"/>
    <keyword type="struct" name="xmlXPathObject" link="libxml2-xpath.html#xmlXPathObject"/>
    <keyword type="struct" name="xmlXPathParserContext" link="libxml2-xpath.html#xmlXPathParserContext"/>
    <keyword type="struct" name="xmlXPathType" link="libxml2-xpath.html#xmlXPathType"/>
    <keyword type="struct" name="xmlXPathVariable" link="libxml2-xpath.html#xmlXPathVariable"/>
    <keyword type="function" name="attributeDeclSAXFunc" link="libxml2-parser.html#attributeDeclSAXFunc"/>
    <keyword type="function" name="attributeSAXFunc" link="libxml2-parser.html#attributeSAXFunc"/>
    <keyword type="function" name="cdataBlockSAXFunc" link="libxml2-parser.html#cdataBlockSAXFunc"/>
    <keyword type="function" name="charactersSAXFunc" link="libxml2-parser.html#charactersSAXFunc"/>
    <keyword type="function" name="commentSAXFunc" link="libxml2-parser.html#commentSAXFunc"/>
    <keyword type="function" name="elementDeclSAXFunc" link="libxml2-parser.html#elementDeclSAXFunc"/>
    <keyword type="function" name="endDocumentSAXFunc" link="libxml2-parser.html#endDocumentSAXFunc"/>
    <keyword type="function" name="endElementNsSAX2Func" link="libxml2-parser.html#endElementNsSAX2Func"/>
    <keyword type="function" name="endElementSAXFunc" link="libxml2-parser.html#endElementSAXFunc"/>
    <keyword type="function" name="entityDeclSAXFunc" link="libxml2-parser.html#entityDeclSAXFunc"/>
    <keyword type="function" name="errorSAXFunc" link="libxml2-parser.html#errorSAXFunc"/>
    <keyword type="function" name="externalSubsetSAXFunc" link="libxml2-parser.html#externalSubsetSAXFunc"/>
    <keyword type="function" name="fatalErrorSAXFunc" link="libxml2-parser.html#fatalErrorSAXFunc"/>
    <keyword type="function" name="ftpDataCallback" link="libxml2-nanoftp.html#ftpDataCallback"/>
    <keyword type="function" name="ftpListCallback" link="libxml2-nanoftp.html#ftpListCallback"/>
    <keyword type="function" name="getEntitySAXFunc" link="libxml2-parser.html#getEntitySAXFunc"/>
    <keyword type="function" name="getParameterEntitySAXFunc" link="libxml2-parser.html#getParameterEntitySAXFunc"/>
    <keyword type="function" name="hasExternalSubsetSAXFunc" link="libxml2-parser.html#hasExternalSubsetSAXFunc"/>
    <keyword type="function" name="hasInternalSubsetSAXFunc" link="libxml2-parser.html#hasInternalSubsetSAXFunc"/>
    <keyword type="function" name="ignorableWhitespaceSAXFunc" link="libxml2-parser.html#ignorableWhitespaceSAXFunc"/>
    <keyword type="function" name="internalSubsetSAXFunc" link="libxml2-parser.html#internalSubsetSAXFunc"/>
    <keyword type="function" name="isStandaloneSAXFunc" link="libxml2-parser.html#isStandaloneSAXFunc"/>
    <keyword type="function" name="notationDeclSAXFunc" link="libxml2-parser.html#notationDeclSAXFunc"/>
    <keyword type="function" name="processingInstructionSAXFunc" link="libxml2-parser.html#processingInstructionSAXFunc"/>
    <keyword type="function" name="referenceSAXFunc" link="libxml2-parser.html#referenceSAXFunc"/>
    <keyword type="function" name="resolveEntitySAXFunc" link="libxml2-parser.html#resolveEntitySAXFunc"/>
    <keyword type="function" name="setDocumentLocatorSAXFunc" link="libxml2-parser.html#setDocumentLocatorSAXFunc"/>
    <keyword type="function" name="startDocumentSAXFunc" link="libxml2-parser.html#startDocumentSAXFunc"/>
    <keyword type="function" name="startElementNsSAX2Func" link="libxml2-parser.html#startElementNsSAX2Func"/>
    <keyword type="function" name="startElementSAXFunc" link="libxml2-parser.html#startElementSAXFunc"/>
    <keyword type="function" name="unparsedEntityDeclSAXFunc" link="libxml2-parser.html#unparsedEntityDeclSAXFunc"/>
    <keyword type="function" name="warningSAXFunc" link="libxml2-parser.html#warningSAXFunc"/>
    <keyword type="function" name="xlinkExtendedLinkFunk" link="libxml2-xlink.html#xlinkExtendedLinkFunk"/>
    <keyword type="function" name="xlinkExtendedLinkSetFunk" link="libxml2-xlink.html#xlinkExtendedLinkSetFunk"/>
    <keyword type="function" name="xlinkNodeDetectFunc" link="libxml2-xlink.html#xlinkNodeDetectFunc"/>
    <keyword type="function" name="xlinkSimpleLinkFunk" link="libxml2-xlink.html#xlinkSimpleLinkFunk"/>
    <keyword type="function" name="xmlC14NIsVisibleCallback" link="libxml2-c14n.html#xmlC14NIsVisibleCallback"/>
    <keyword type="function" name="xmlCharEncodingInputFunc" link="libxml2-encoding.html#xmlCharEncodingInputFunc"/>
    <keyword type="function" name="xmlCharEncodingOutputFunc" link="libxml2-encoding.html#xmlCharEncodingOutputFunc"/>
    <keyword type="function" name="xmlDOMWrapAcquireNsFunction" link="libxml2-tree.html#xmlDOMWrapAcquireNsFunction"/>
    <keyword type="function" name="xmlDeregisterNodeFunc" link="libxml2-globals.html#xmlDeregisterNodeFunc"/>
    <keyword type="function" name="xmlEntityReferenceFunc" link="libxml2-parserInternals.html#xmlEntityReferenceFunc"/>
    <keyword type="function" name="xmlExternalEntityLoader" link="libxml2-parser.html#xmlExternalEntityLoader"/>
    <keyword type="function" name="xmlFreeFunc" link="libxml2-xmlmemory.html#xmlFreeFunc"/>
    <keyword type="function" name="xmlGenericErrorFunc" link="libxml2-xmlerror.html#xmlGenericErrorFunc"/>
    <keyword type="function" name="xmlHashCopier" link="libxml2-hash.html#xmlHashCopier"/>
    <keyword type="function" name="xmlHashDeallocator" link="libxml2-hash.html#xmlHashDeallocator"/>
    <keyword type="function" name="xmlHashScanner" link="libxml2-hash.html#xmlHashScanner"/>
    <keyword type="function" name="xmlHashScannerFull" link="libxml2-hash.html#xmlHashScannerFull"/>
    <keyword type="function" name="xmlInputCloseCallback" link="libxml2-xmlIO.html#xmlInputCloseCallback"/>
    <keyword type="function" name="xmlInputMatchCallback" link="libxml2-xmlIO.html#xmlInputMatchCallback"/>
    <keyword type="function" name="xmlInputOpenCallback" link="libxml2-xmlIO.html#xmlInputOpenCallback"/>
    <keyword type="function" name="xmlInputReadCallback" link="libxml2-xmlIO.html#xmlInputReadCallback"/>
    <keyword type="function" name="xmlListDataCompare" link="libxml2-list.html#xmlListDataCompare"/>
    <keyword type="function" name="xmlListDeallocator" link="libxml2-list.html#xmlListDeallocator"/>
    <keyword type="function" name="xmlListWalker" link="libxml2-list.html#xmlListWalker"/>
    <keyword type="function" name="xmlMallocFunc" link="libxml2-xmlmemory.html#xmlMallocFunc"/>
    <keyword type="function" name="xmlOutputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc"/>
    <keyword type="function" name="xmlOutputCloseCallback" link="libxml2-xmlIO.html#xmlOutputCloseCallback"/>
    <keyword type="function" name="xmlOutputMatchCallback" link="libxml2-xmlIO.html#xmlOutputMatchCallback"/>
    <keyword type="function" name="xmlOutputOpenCallback" link="libxml2-xmlIO.html#xmlOutputOpenCallback"/>
    <keyword type="function" name="xmlOutputWriteCallback" link="libxml2-xmlIO.html#xmlOutputWriteCallback"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc"/>
    <keyword type="function" name="xmlParserInputDeallocate" link="libxml2-parser.html#xmlParserInputDeallocate"/>
    <keyword type="function" name="xmlReallocFunc" link="libxml2-xmlmemory.html#xmlReallocFunc"/>
    <keyword type="function" name="xmlRegExecCallbacks" link="libxml2-xmlregexp.html#xmlRegExecCallbacks"/>
    <keyword type="function" name="xmlRegisterNodeFunc" link="libxml2-globals.html#xmlRegisterNodeFunc"/>
    <keyword type="function" name="xmlRelaxNGValidityErrorFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc"/>
    <keyword type="function" name="xmlRelaxNGValidityWarningFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc"/>
    <keyword type="function" name="xmlSchemaValidityErrorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc"/>
    <keyword type="function" name="xmlSchemaValidityLocatorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc"/>
    <keyword type="function" name="xmlSchemaValidityWarningFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc"/>
    <keyword type="function" name="xmlSchematronValidityErrorFunc" link="libxml2-schematron.html#xmlSchematronValidityErrorFunc"/>
    <keyword type="function" name="xmlSchematronValidityWarningFunc" link="libxml2-schematron.html#xmlSchematronValidityWarningFunc"/>
    <keyword type="function" name="xmlShellCmd" link="libxml2-debugXML.html#xmlShellCmd"/>
    <keyword type="function" name="xmlShellReadlineFunc" link="libxml2-debugXML.html#xmlShellReadlineFunc"/>
    <keyword type="function" name="xmlStrdupFunc" link="libxml2-xmlmemory.html#xmlStrdupFunc"/>
    <keyword type="function" name="xmlStructuredErrorFunc" link="libxml2-xmlerror.html#xmlStructuredErrorFunc"/>
    <keyword type="function" name="xmlTextReaderErrorFunc" link="libxml2-xmlreader.html#xmlTextReaderErrorFunc"/>
    <keyword type="function" name="xmlValidityErrorFunc" link="libxml2-valid.html#xmlValidityErrorFunc"/>
    <keyword type="function" name="xmlValidityWarningFunc" link="libxml2-valid.html#xmlValidityWarningFunc"/>
    <keyword type="function" name="xmlXPathAxisFunc" link="libxml2-xpath.html#xmlXPathAxisFunc"/>
    <keyword type="function" name="xmlXPathConvertFunc" link="libxml2-xpath.html#xmlXPathConvertFunc"/>
    <keyword type="function" name="xmlXPathEvalFunc" link="libxml2-xpath.html#xmlXPathEvalFunc"/>
    <keyword type="function" name="xmlXPathFuncLookupFunc" link="libxml2-xpath.html#xmlXPathFuncLookupFunc"/>
    <keyword type="function" name="xmlXPathFunction" link="libxml2-xpath.html#xmlXPathFunction"/>
    <keyword type="function" name="xmlXPathVariableLookupFunc" link="libxml2-xpath.html#xmlXPathVariableLookupFunc"/>
    <keyword type="macro" name="emptyExp" link="libxml2-xmlregexp.html#emptyExp"/>
    <keyword type="macro" name="forbiddenExp" link="libxml2-xmlregexp.html#forbiddenExp"/>
    <keyword type="macro" name="htmlDefaultSAXHandler" link="libxml2-globals.html#htmlDefaultSAXHandler"/>
    <keyword type="macro" name="oldXMLWDcompatibility" link="libxml2-globals.html#oldXMLWDcompatibility"/>
    <keyword type="macro" name="xmlBufferAllocScheme" link="libxml2-globals.html#xmlBufferAllocScheme"/>
    <keyword type="macro" name="xmlDefaultBufferSize" link="libxml2-globals.html#xmlDefaultBufferSize"/>
    <keyword type="macro" name="xmlDefaultSAXHandler" link="libxml2-globals.html#xmlDefaultSAXHandler"/>
    <keyword type="macro" name="xmlDefaultSAXLocator" link="libxml2-globals.html#xmlDefaultSAXLocator"/>
    <keyword type="macro" name="xmlDeregisterNodeDefaultValue" link="libxml2-globals.html#xmlDeregisterNodeDefaultValue"/>
    <keyword type="macro" name="xmlDoValidityCheckingDefaultValue" link="libxml2-globals.html#xmlDoValidityCheckingDefaultValue"/>
    <keyword type="macro" name="xmlFree" link="libxml2-globals.html#xmlFree"/>
    <keyword type="macro" name="xmlGenericError" link="libxml2-globals.html#xmlGenericError"/>
    <keyword type="macro" name="xmlGenericErrorContext" link="libxml2-globals.html#xmlGenericErrorContext"/>
    <keyword type="macro" name="xmlGetWarningsDefaultValue" link="libxml2-globals.html#xmlGetWarningsDefaultValue"/>
    <keyword type="macro" name="xmlIndentTreeOutput" link="libxml2-globals.html#xmlIndentTreeOutput"/>
    <keyword type="macro" name="xmlIsBaseCharGroup" link="libxml2-chvalid.html#xmlIsBaseCharGroup"/>
    <keyword type="macro" name="xmlIsCharGroup" link="libxml2-chvalid.html#xmlIsCharGroup"/>
    <keyword type="macro" name="xmlIsCombiningGroup" link="libxml2-chvalid.html#xmlIsCombiningGroup"/>
    <keyword type="macro" name="xmlIsDigitGroup" link="libxml2-chvalid.html#xmlIsDigitGroup"/>
    <keyword type="macro" name="xmlIsExtenderGroup" link="libxml2-chvalid.html#xmlIsExtenderGroup"/>
    <keyword type="macro" name="xmlIsIdeographicGroup" link="libxml2-chvalid.html#xmlIsIdeographicGroup"/>
    <keyword type="macro" name="xmlIsPubidChar_tab" link="libxml2-chvalid.html#xmlIsPubidChar_tab"/>
    <keyword type="macro" name="xmlKeepBlanksDefaultValue" link="libxml2-globals.html#xmlKeepBlanksDefaultValue"/>
    <keyword type="macro" name="xmlLastError" link="libxml2-globals.html#xmlLastError"/>
    <keyword type="macro" name="xmlLineNumbersDefaultValue" link="libxml2-globals.html#xmlLineNumbersDefaultValue"/>
    <keyword type="macro" name="xmlLoadExtDtdDefaultValue" link="libxml2-globals.html#xmlLoadExtDtdDefaultValue"/>
    <keyword type="macro" name="xmlMalloc" link="libxml2-globals.html#xmlMalloc"/>
    <keyword type="macro" name="xmlMallocAtomic" link="libxml2-globals.html#xmlMallocAtomic"/>
    <keyword type="macro" name="xmlMemStrdup" link="libxml2-globals.html#xmlMemStrdup"/>
    <keyword type="macro" name="xmlOutputBufferCreateFilenameValue" link="libxml2-globals.html#xmlOutputBufferCreateFilenameValue"/>
    <keyword type="macro" name="xmlParserDebugEntities" link="libxml2-globals.html#xmlParserDebugEntities"/>
    <keyword type="macro" name="xmlParserInputBufferCreateFilenameValue" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameValue"/>
    <keyword type="macro" name="xmlParserMaxDepth" link="libxml2-parserInternals.html#xmlParserMaxDepth"/>
    <keyword type="macro" name="xmlParserVersion" link="libxml2-globals.html#xmlParserVersion"/>
    <keyword type="macro" name="xmlPedanticParserDefaultValue" link="libxml2-globals.html#xmlPedanticParserDefaultValue"/>
    <keyword type="macro" name="xmlRealloc" link="libxml2-globals.html#xmlRealloc"/>
    <keyword type="macro" name="xmlRegisterNodeDefaultValue" link="libxml2-globals.html#xmlRegisterNodeDefaultValue"/>
    <keyword type="macro" name="xmlSaveNoEmptyTags" link="libxml2-globals.html#xmlSaveNoEmptyTags"/>
    <keyword type="macro" name="xmlStringComment" link="libxml2-parserInternals.html#xmlStringComment"/>
    <keyword type="macro" name="xmlStringText" link="libxml2-parserInternals.html#xmlStringText"/>
    <keyword type="macro" name="xmlStringTextNoenc" link="libxml2-parserInternals.html#xmlStringTextNoenc"/>
    <keyword type="macro" name="xmlStructuredError" link="libxml2-globals.html#xmlStructuredError"/>
    <keyword type="macro" name="xmlStructuredErrorContext" link="libxml2-globals.html#xmlStructuredErrorContext"/>
    <keyword type="macro" name="xmlSubstituteEntitiesDefaultValue" link="libxml2-globals.html#xmlSubstituteEntitiesDefaultValue"/>
    <keyword type="macro" name="xmlTreeIndentString" link="libxml2-globals.html#xmlTreeIndentString"/>
    <keyword type="macro" name="xmlXPathNAN" link="libxml2-xpath.html#xmlXPathNAN"/>
    <keyword type="macro" name="xmlXPathNINF" link="libxml2-xpath.html#xmlXPathNINF"/>
    <keyword type="macro" name="xmlXPathPINF" link="libxml2-xpath.html#xmlXPathPINF"/>
    <keyword type="function" name="UTF8ToHtml ()" link="libxml2-HTMLparser.html#UTF8ToHtml"/>
    <keyword type="function" name="UTF8Toisolat1 ()" link="libxml2-encoding.html#UTF8Toisolat1"/>
    <keyword type="function" name="attribute ()" link="libxml2-SAX.html#attribute"/>
    <keyword type="function" name="attributeDecl ()" link="libxml2-SAX.html#attributeDecl"/>
    <keyword type="function" name="cdataBlock ()" link="libxml2-SAX.html#cdataBlock"/>
    <keyword type="function" name="characters ()" link="libxml2-SAX.html#characters"/>
    <keyword type="function" name="checkNamespace ()" link="libxml2-SAX.html#checkNamespace"/>
    <keyword type="function" name="comment ()" link="libxml2-SAX.html#comment"/>
    <keyword type="function" name="elementDecl ()" link="libxml2-SAX.html#elementDecl"/>
    <keyword type="function" name="endDocument ()" link="libxml2-SAX.html#endDocument"/>
    <keyword type="function" name="endElement ()" link="libxml2-SAX.html#endElement"/>
    <keyword type="function" name="entityDecl ()" link="libxml2-SAX.html#entityDecl"/>
    <keyword type="function" name="externalSubset ()" link="libxml2-SAX.html#externalSubset"/>
    <keyword type="function" name="getColumnNumber ()" link="libxml2-SAX.html#getColumnNumber"/>
    <keyword type="function" name="getEntity ()" link="libxml2-SAX.html#getEntity"/>
    <keyword type="function" name="getLineNumber ()" link="libxml2-SAX.html#getLineNumber"/>
    <keyword type="function" name="getNamespace ()" link="libxml2-SAX.html#getNamespace"/>
    <keyword type="function" name="getParameterEntity ()" link="libxml2-SAX.html#getParameterEntity"/>
    <keyword type="function" name="getPublicId ()" link="libxml2-SAX.html#getPublicId"/>
    <keyword type="function" name="getSystemId ()" link="libxml2-SAX.html#getSystemId"/>
    <keyword type="function" name="globalNamespace ()" link="libxml2-SAX.html#globalNamespace"/>
    <keyword type="function" name="hasExternalSubset ()" link="libxml2-SAX.html#hasExternalSubset"/>
    <keyword type="function" name="hasInternalSubset ()" link="libxml2-SAX.html#hasInternalSubset"/>
    <keyword type="function" name="htmlAttrAllowed ()" link="libxml2-HTMLparser.html#htmlAttrAllowed"/>
    <keyword type="function" name="htmlAutoCloseTag ()" link="libxml2-HTMLparser.html#htmlAutoCloseTag"/>
    <keyword type="function" name="htmlCreateFileParserCtxt ()" link="libxml2-parserInternals.html#htmlCreateFileParserCtxt"/>
    <keyword type="function" name="htmlCreateMemoryParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreateMemoryParserCtxt"/>
    <keyword type="function" name="htmlCreatePushParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreatePushParserCtxt"/>
    <keyword type="function" name="htmlCtxtReadDoc ()" link="libxml2-HTMLparser.html#htmlCtxtReadDoc"/>
    <keyword type="function" name="htmlCtxtReadFd ()" link="libxml2-HTMLparser.html#htmlCtxtReadFd"/>
    <keyword type="function" name="htmlCtxtReadFile ()" link="libxml2-HTMLparser.html#htmlCtxtReadFile"/>
    <keyword type="function" name="htmlCtxtReadIO ()" link="libxml2-HTMLparser.html#htmlCtxtReadIO"/>
    <keyword type="function" name="htmlCtxtReadMemory ()" link="libxml2-HTMLparser.html#htmlCtxtReadMemory"/>
    <keyword type="function" name="htmlCtxtReset ()" link="libxml2-HTMLparser.html#htmlCtxtReset"/>
    <keyword type="function" name="htmlCtxtUseOptions ()" link="libxml2-HTMLparser.html#htmlCtxtUseOptions"/>
    <keyword type="function" name="htmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#htmlDefaultSAXHandlerInit"/>
    <keyword type="function" name="htmlDocContentDumpFormatOutput ()" link="libxml2-HTMLtree.html#htmlDocContentDumpFormatOutput"/>
    <keyword type="function" name="htmlDocContentDumpOutput ()" link="libxml2-HTMLtree.html#htmlDocContentDumpOutput"/>
    <keyword type="function" name="htmlDocDump ()" link="libxml2-HTMLtree.html#htmlDocDump"/>
    <keyword type="function" name="htmlDocDumpMemory ()" link="libxml2-HTMLtree.html#htmlDocDumpMemory"/>
    <keyword type="function" name="htmlDocDumpMemoryFormat ()" link="libxml2-HTMLtree.html#htmlDocDumpMemoryFormat"/>
    <keyword type="function" name="htmlElementAllowedHere ()" link="libxml2-HTMLparser.html#htmlElementAllowedHere"/>
    <keyword type="function" name="htmlElementStatusHere ()" link="libxml2-HTMLparser.html#htmlElementStatusHere"/>
    <keyword type="function" name="htmlEncodeEntities ()" link="libxml2-HTMLparser.html#htmlEncodeEntities"/>
    <keyword type="function" name="htmlEntityLookup ()" link="libxml2-HTMLparser.html#htmlEntityLookup"/>
    <keyword type="function" name="htmlEntityValueLookup ()" link="libxml2-HTMLparser.html#htmlEntityValueLookup"/>
    <keyword type="function" name="htmlFreeParserCtxt ()" link="libxml2-HTMLparser.html#htmlFreeParserCtxt"/>
    <keyword type="function" name="htmlGetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlGetMetaEncoding"/>
    <keyword type="function" name="htmlHandleOmittedElem ()" link="libxml2-HTMLparser.html#htmlHandleOmittedElem"/>
    <keyword type="function" name="htmlInitAutoClose ()" link="libxml2-parserInternals.html#htmlInitAutoClose"/>
    <keyword type="function" name="htmlIsAutoClosed ()" link="libxml2-HTMLparser.html#htmlIsAutoClosed"/>
    <keyword type="function" name="htmlIsBooleanAttr ()" link="libxml2-HTMLtree.html#htmlIsBooleanAttr"/>
    <keyword type="function" name="htmlIsScriptAttribute ()" link="libxml2-HTMLparser.html#htmlIsScriptAttribute"/>
    <keyword type="function" name="htmlNewDoc ()" link="libxml2-HTMLtree.html#htmlNewDoc"/>
    <keyword type="function" name="htmlNewDocNoDtD ()" link="libxml2-HTMLtree.html#htmlNewDocNoDtD"/>
    <keyword type="function" name="htmlNewParserCtxt ()" link="libxml2-HTMLparser.html#htmlNewParserCtxt"/>
    <keyword type="function" name="htmlNodeDump ()" link="libxml2-HTMLtree.html#htmlNodeDump"/>
    <keyword type="function" name="htmlNodeDumpFile ()" link="libxml2-HTMLtree.html#htmlNodeDumpFile"/>
    <keyword type="function" name="htmlNodeDumpFileFormat ()" link="libxml2-HTMLtree.html#htmlNodeDumpFileFormat"/>
    <keyword type="function" name="htmlNodeDumpFormatOutput ()" link="libxml2-HTMLtree.html#htmlNodeDumpFormatOutput"/>
    <keyword type="function" name="htmlNodeDumpOutput ()" link="libxml2-HTMLtree.html#htmlNodeDumpOutput"/>
    <keyword type="function" name="htmlNodeStatus ()" link="libxml2-HTMLparser.html#htmlNodeStatus"/>
    <keyword type="function" name="htmlParseCharRef ()" link="libxml2-HTMLparser.html#htmlParseCharRef"/>
    <keyword type="function" name="htmlParseChunk ()" link="libxml2-HTMLparser.html#htmlParseChunk"/>
    <keyword type="function" name="htmlParseDoc ()" link="libxml2-HTMLparser.html#htmlParseDoc"/>
    <keyword type="function" name="htmlParseDocument ()" link="libxml2-HTMLparser.html#htmlParseDocument"/>
    <keyword type="function" name="htmlParseElement ()" link="libxml2-HTMLparser.html#htmlParseElement"/>
    <keyword type="function" name="htmlParseEntityRef ()" link="libxml2-HTMLparser.html#htmlParseEntityRef"/>
    <keyword type="function" name="htmlParseFile ()" link="libxml2-HTMLparser.html#htmlParseFile"/>
    <keyword type="function" name="htmlReadDoc ()" link="libxml2-HTMLparser.html#htmlReadDoc"/>
    <keyword type="function" name="htmlReadFd ()" link="libxml2-HTMLparser.html#htmlReadFd"/>
    <keyword type="function" name="htmlReadFile ()" link="libxml2-HTMLparser.html#htmlReadFile"/>
    <keyword type="function" name="htmlReadIO ()" link="libxml2-HTMLparser.html#htmlReadIO"/>
    <keyword type="function" name="htmlReadMemory ()" link="libxml2-HTMLparser.html#htmlReadMemory"/>
    <keyword type="function" name="htmlSAXParseDoc ()" link="libxml2-HTMLparser.html#htmlSAXParseDoc"/>
    <keyword type="function" name="htmlSAXParseFile ()" link="libxml2-HTMLparser.html#htmlSAXParseFile"/>
    <keyword type="function" name="htmlSaveFile ()" link="libxml2-HTMLtree.html#htmlSaveFile"/>
    <keyword type="function" name="htmlSaveFileEnc ()" link="libxml2-HTMLtree.html#htmlSaveFileEnc"/>
    <keyword type="function" name="htmlSaveFileFormat ()" link="libxml2-HTMLtree.html#htmlSaveFileFormat"/>
    <keyword type="function" name="htmlSetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlSetMetaEncoding"/>
    <keyword type="function" name="htmlTagLookup ()" link="libxml2-HTMLparser.html#htmlTagLookup"/>
    <keyword type="function" name="ignorableWhitespace ()" link="libxml2-SAX.html#ignorableWhitespace"/>
    <keyword type="function" name="initGenericErrorDefaultFunc ()" link="libxml2-xmlerror.html#initGenericErrorDefaultFunc"/>
    <keyword type="function" name="inithtmlDefaultSAXHandler ()" link="libxml2-SAX.html#inithtmlDefaultSAXHandler"/>
    <keyword type="function" name="initxmlDefaultSAXHandler ()" link="libxml2-SAX.html#initxmlDefaultSAXHandler"/>
    <keyword type="function" name="inputPop ()" link="libxml2-parserInternals.html#inputPop"/>
    <keyword type="function" name="inputPush ()" link="libxml2-parserInternals.html#inputPush"/>
    <keyword type="function" name="internalSubset ()" link="libxml2-SAX.html#internalSubset"/>
    <keyword type="function" name="isStandalone ()" link="libxml2-SAX.html#isStandalone"/>
    <keyword type="function" name="isolat1ToUTF8 ()" link="libxml2-encoding.html#isolat1ToUTF8"/>
    <keyword type="function" name="namePop ()" link="libxml2-parserInternals.html#namePop"/>
    <keyword type="function" name="namePush ()" link="libxml2-parserInternals.html#namePush"/>
    <keyword type="function" name="namespaceDecl ()" link="libxml2-SAX.html#namespaceDecl"/>
    <keyword type="function" name="nodePop ()" link="libxml2-parserInternals.html#nodePop"/>
    <keyword type="function" name="nodePush ()" link="libxml2-parserInternals.html#nodePush"/>
    <keyword type="function" name="notationDecl ()" link="libxml2-SAX.html#notationDecl"/>
    <keyword type="function" name="processingInstruction ()" link="libxml2-SAX.html#processingInstruction"/>
    <keyword type="function" name="reference ()" link="libxml2-SAX.html#reference"/>
    <keyword type="function" name="resolveEntity ()" link="libxml2-SAX.html#resolveEntity"/>
    <keyword type="function" name="setDocumentLocator ()" link="libxml2-SAX.html#setDocumentLocator"/>
    <keyword type="function" name="setNamespace ()" link="libxml2-SAX.html#setNamespace"/>
    <keyword type="function" name="startDocument ()" link="libxml2-SAX.html#startDocument"/>
    <keyword type="function" name="startElement ()" link="libxml2-SAX.html#startElement"/>
    <keyword type="function" name="unparsedEntityDecl ()" link="libxml2-SAX.html#unparsedEntityDecl"/>
    <keyword type="function" name="valuePop ()" link="libxml2-xpathInternals.html#valuePop"/>
    <keyword type="function" name="valuePush ()" link="libxml2-xpathInternals.html#valuePush"/>
    <keyword type="function" name="xlinkGetDefaultDetect ()" link="libxml2-xlink.html#xlinkGetDefaultDetect"/>
    <keyword type="function" name="xlinkGetDefaultHandler ()" link="libxml2-xlink.html#xlinkGetDefaultHandler"/>
    <keyword type="function" name="xlinkIsLink ()" link="libxml2-xlink.html#xlinkIsLink"/>
    <keyword type="function" name="xlinkSetDefaultDetect ()" link="libxml2-xlink.html#xlinkSetDefaultDetect"/>
    <keyword type="function" name="xlinkSetDefaultHandler ()" link="libxml2-xlink.html#xlinkSetDefaultHandler"/>
    <keyword type="function" name="xmlACatalogAdd ()" link="libxml2-catalog.html#xmlACatalogAdd"/>
    <keyword type="function" name="xmlACatalogDump ()" link="libxml2-catalog.html#xmlACatalogDump"/>
    <keyword type="function" name="xmlACatalogRemove ()" link="libxml2-catalog.html#xmlACatalogRemove"/>
    <keyword type="function" name="xmlACatalogResolve ()" link="libxml2-catalog.html#xmlACatalogResolve"/>
    <keyword type="function" name="xmlACatalogResolvePublic ()" link="libxml2-catalog.html#xmlACatalogResolvePublic"/>
    <keyword type="function" name="xmlACatalogResolveSystem ()" link="libxml2-catalog.html#xmlACatalogResolveSystem"/>
    <keyword type="function" name="xmlACatalogResolveURI ()" link="libxml2-catalog.html#xmlACatalogResolveURI"/>
    <keyword type="function" name="xmlAddAttributeDecl ()" link="libxml2-valid.html#xmlAddAttributeDecl"/>
    <keyword type="function" name="xmlAddChild ()" link="libxml2-tree.html#xmlAddChild"/>
    <keyword type="function" name="xmlAddChildList ()" link="libxml2-tree.html#xmlAddChildList"/>
    <keyword type="function" name="xmlAddDocEntity ()" link="libxml2-entities.html#xmlAddDocEntity"/>
    <keyword type="function" name="xmlAddDtdEntity ()" link="libxml2-entities.html#xmlAddDtdEntity"/>
    <keyword type="function" name="xmlAddElementDecl ()" link="libxml2-valid.html#xmlAddElementDecl"/>
    <keyword type="function" name="xmlAddEncodingAlias ()" link="libxml2-encoding.html#xmlAddEncodingAlias"/>
    <keyword type="function" name="xmlAddID ()" link="libxml2-valid.html#xmlAddID"/>
    <keyword type="function" name="xmlAddNextSibling ()" link="libxml2-tree.html#xmlAddNextSibling"/>
    <keyword type="function" name="xmlAddNotationDecl ()" link="libxml2-valid.html#xmlAddNotationDecl"/>
    <keyword type="function" name="xmlAddPrevSibling ()" link="libxml2-tree.html#xmlAddPrevSibling"/>
    <keyword type="function" name="xmlAddRef ()" link="libxml2-valid.html#xmlAddRef"/>
    <keyword type="function" name="xmlAddSibling ()" link="libxml2-tree.html#xmlAddSibling"/>
    <keyword type="function" name="xmlAllocOutputBuffer ()" link="libxml2-xmlIO.html#xmlAllocOutputBuffer"/>
    <keyword type="function" name="xmlAllocParserInputBuffer ()" link="libxml2-xmlIO.html#xmlAllocParserInputBuffer"/>
    <keyword type="function" name="xmlAttrSerializeTxtContent ()" link="libxml2-tree.html#xmlAttrSerializeTxtContent"/>
    <keyword type="function" name="xmlAutomataCompile ()" link="libxml2-xmlautomata.html#xmlAutomataCompile"/>
    <keyword type="function" name="xmlAutomataGetInitState ()" link="libxml2-xmlautomata.html#xmlAutomataGetInitState"/>
    <keyword type="function" name="xmlAutomataIsDeterminist ()" link="libxml2-xmlautomata.html#xmlAutomataIsDeterminist"/>
    <keyword type="function" name="xmlAutomataNewAllTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewAllTrans"/>
    <keyword type="function" name="xmlAutomataNewCountTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountTrans"/>
    <keyword type="function" name="xmlAutomataNewCountTrans2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountTrans2"/>
    <keyword type="function" name="xmlAutomataNewCountedTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCountedTrans"/>
    <keyword type="function" name="xmlAutomataNewCounter ()" link="libxml2-xmlautomata.html#xmlAutomataNewCounter"/>
    <keyword type="function" name="xmlAutomataNewCounterTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewCounterTrans"/>
    <keyword type="function" name="xmlAutomataNewEpsilon ()" link="libxml2-xmlautomata.html#xmlAutomataNewEpsilon"/>
    <keyword type="function" name="xmlAutomataNewNegTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewNegTrans"/>
    <keyword type="function" name="xmlAutomataNewOnceTrans ()" link="libxml2-xmlautomata.html#xmlAutomataNewOnceTrans"/>
    <keyword type="function" name="xmlAutomataNewOnceTrans2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewOnceTrans2"/>
    <keyword type="function" name="xmlAutomataNewState ()" link="libxml2-xmlautomata.html#xmlAutomataNewState"/>
    <keyword type="function" name="xmlAutomataNewTransition ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition"/>
    <keyword type="function" name="xmlAutomataNewTransition2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition2"/>
    <keyword type="function" name="xmlAutomataSetFinalState ()" link="libxml2-xmlautomata.html#xmlAutomataSetFinalState"/>
    <keyword type="function" name="xmlBoolToText ()" link="libxml2-debugXML.html#xmlBoolToText"/>
    <keyword type="function" name="xmlBufContent ()" link="libxml2-tree.html#xmlBufContent"/>
    <keyword type="function" name="xmlBufEnd ()" link="libxml2-tree.html#xmlBufEnd"/>
    <keyword type="function" name="xmlBufGetNodeContent ()" link="libxml2-tree.html#xmlBufGetNodeContent"/>
    <keyword type="function" name="xmlBufNodeDump ()" link="libxml2-tree.html#xmlBufNodeDump"/>
    <keyword type="function" name="xmlBufShrink ()" link="libxml2-tree.html#xmlBufShrink"/>
    <keyword type="function" name="xmlBufUse ()" link="libxml2-tree.html#xmlBufUse"/>
    <keyword type="function" name="xmlBufferAdd ()" link="libxml2-tree.html#xmlBufferAdd"/>
    <keyword type="function" name="xmlBufferAddHead ()" link="libxml2-tree.html#xmlBufferAddHead"/>
    <keyword type="function" name="xmlBufferCCat ()" link="libxml2-tree.html#xmlBufferCCat"/>
    <keyword type="function" name="xmlBufferCat ()" link="libxml2-tree.html#xmlBufferCat"/>
    <keyword type="function" name="xmlBufferContent ()" link="libxml2-tree.html#xmlBufferContent"/>
    <keyword type="function" name="xmlBufferCreate ()" link="libxml2-tree.html#xmlBufferCreate"/>
    <keyword type="function" name="xmlBufferCreateSize ()" link="libxml2-tree.html#xmlBufferCreateSize"/>
    <keyword type="function" name="xmlBufferCreateStatic ()" link="libxml2-tree.html#xmlBufferCreateStatic"/>
    <keyword type="function" name="xmlBufferDetach ()" link="libxml2-tree.html#xmlBufferDetach"/>
    <keyword type="function" name="xmlBufferDump ()" link="libxml2-tree.html#xmlBufferDump"/>
    <keyword type="function" name="xmlBufferEmpty ()" link="libxml2-tree.html#xmlBufferEmpty"/>
    <keyword type="function" name="xmlBufferFree ()" link="libxml2-tree.html#xmlBufferFree"/>
    <keyword type="function" name="xmlBufferGrow ()" link="libxml2-tree.html#xmlBufferGrow"/>
    <keyword type="function" name="xmlBufferLength ()" link="libxml2-tree.html#xmlBufferLength"/>
    <keyword type="function" name="xmlBufferResize ()" link="libxml2-tree.html#xmlBufferResize"/>
    <keyword type="function" name="xmlBufferSetAllocationScheme ()" link="libxml2-tree.html#xmlBufferSetAllocationScheme"/>
    <keyword type="function" name="xmlBufferShrink ()" link="libxml2-tree.html#xmlBufferShrink"/>
    <keyword type="function" name="xmlBufferWriteCHAR ()" link="libxml2-tree.html#xmlBufferWriteCHAR"/>
    <keyword type="function" name="xmlBufferWriteChar ()" link="libxml2-tree.html#xmlBufferWriteChar"/>
    <keyword type="function" name="xmlBufferWriteQuotedString ()" link="libxml2-tree.html#xmlBufferWriteQuotedString"/>
    <keyword type="function" name="xmlBuildQName ()" link="libxml2-tree.html#xmlBuildQName"/>
    <keyword type="function" name="xmlBuildRelativeURI ()" link="libxml2-uri.html#xmlBuildRelativeURI"/>
    <keyword type="function" name="xmlBuildURI ()" link="libxml2-uri.html#xmlBuildURI"/>
    <keyword type="function" name="xmlByteConsumed ()" link="libxml2-parser.html#xmlByteConsumed"/>
    <keyword type="function" name="xmlC14NDocDumpMemory ()" link="libxml2-c14n.html#xmlC14NDocDumpMemory"/>
    <keyword type="function" name="xmlC14NDocSave ()" link="libxml2-c14n.html#xmlC14NDocSave"/>
    <keyword type="function" name="xmlC14NDocSaveTo ()" link="libxml2-c14n.html#xmlC14NDocSaveTo"/>
    <keyword type="function" name="xmlC14NExecute ()" link="libxml2-c14n.html#xmlC14NExecute"/>
    <keyword type="function" name="xmlCanonicPath ()" link="libxml2-uri.html#xmlCanonicPath"/>
    <keyword type="function" name="xmlCatalogAdd ()" link="libxml2-catalog.html#xmlCatalogAdd"/>
    <keyword type="function" name="xmlCatalogAddLocal ()" link="libxml2-catalog.html#xmlCatalogAddLocal"/>
    <keyword type="function" name="xmlCatalogCleanup ()" link="libxml2-catalog.html#xmlCatalogCleanup"/>
    <keyword type="function" name="xmlCatalogConvert ()" link="libxml2-catalog.html#xmlCatalogConvert"/>
    <keyword type="function" name="xmlCatalogDump ()" link="libxml2-catalog.html#xmlCatalogDump"/>
    <keyword type="function" name="xmlCatalogFreeLocal ()" link="libxml2-catalog.html#xmlCatalogFreeLocal"/>
    <keyword type="function" name="xmlCatalogGetDefaults ()" link="libxml2-catalog.html#xmlCatalogGetDefaults"/>
    <keyword type="function" name="xmlCatalogGetPublic ()" link="libxml2-catalog.html#xmlCatalogGetPublic"/>
    <keyword type="function" name="xmlCatalogGetSystem ()" link="libxml2-catalog.html#xmlCatalogGetSystem"/>
    <keyword type="function" name="xmlCatalogIsEmpty ()" link="libxml2-catalog.html#xmlCatalogIsEmpty"/>
    <keyword type="function" name="xmlCatalogLocalResolve ()" link="libxml2-catalog.html#xmlCatalogLocalResolve"/>
    <keyword type="function" name="xmlCatalogLocalResolveURI ()" link="libxml2-catalog.html#xmlCatalogLocalResolveURI"/>
    <keyword type="function" name="xmlCatalogRemove ()" link="libxml2-catalog.html#xmlCatalogRemove"/>
    <keyword type="function" name="xmlCatalogResolve ()" link="libxml2-catalog.html#xmlCatalogResolve"/>
    <keyword type="function" name="xmlCatalogResolvePublic ()" link="libxml2-catalog.html#xmlCatalogResolvePublic"/>
    <keyword type="function" name="xmlCatalogResolveSystem ()" link="libxml2-catalog.html#xmlCatalogResolveSystem"/>
    <keyword type="function" name="xmlCatalogResolveURI ()" link="libxml2-catalog.html#xmlCatalogResolveURI"/>
    <keyword type="function" name="xmlCatalogSetDebug ()" link="libxml2-catalog.html#xmlCatalogSetDebug"/>
    <keyword type="function" name="xmlCatalogSetDefaultPrefer ()" link="libxml2-catalog.html#xmlCatalogSetDefaultPrefer"/>
    <keyword type="function" name="xmlCatalogSetDefaults ()" link="libxml2-catalog.html#xmlCatalogSetDefaults"/>
    <keyword type="function" name="xmlCharEncCloseFunc ()" link="libxml2-encoding.html#xmlCharEncCloseFunc"/>
    <keyword type="function" name="xmlCharEncFirstLine ()" link="libxml2-encoding.html#xmlCharEncFirstLine"/>
    <keyword type="function" name="xmlCharEncInFunc ()" link="libxml2-encoding.html#xmlCharEncInFunc"/>
    <keyword type="function" name="xmlCharEncOutFunc ()" link="libxml2-encoding.html#xmlCharEncOutFunc"/>
    <keyword type="function" name="xmlCharInRange ()" link="libxml2-chvalid.html#xmlCharInRange"/>
    <keyword type="function" name="xmlCharStrdup ()" link="libxml2-xmlstring.html#xmlCharStrdup"/>
    <keyword type="function" name="xmlCharStrndup ()" link="libxml2-xmlstring.html#xmlCharStrndup"/>
    <keyword type="function" name="xmlCheckFilename ()" link="libxml2-xmlIO.html#xmlCheckFilename"/>
    <keyword type="function" name="xmlCheckHTTPInput ()" link="libxml2-xmlIO.html#xmlCheckHTTPInput"/>
    <keyword type="function" name="xmlCheckLanguageID ()" link="libxml2-parserInternals.html#xmlCheckLanguageID"/>
    <keyword type="function" name="xmlCheckUTF8 ()" link="libxml2-xmlstring.html#xmlCheckUTF8"/>
    <keyword type="function" name="xmlCheckVersion ()" link="libxml2-xmlversion.html#xmlCheckVersion"/>
    <keyword type="function" name="xmlChildElementCount ()" link="libxml2-tree.html#xmlChildElementCount"/>
    <keyword type="function" name="xmlCleanupCharEncodingHandlers ()" link="libxml2-encoding.html#xmlCleanupCharEncodingHandlers"/>
    <keyword type="function" name="xmlCleanupEncodingAliases ()" link="libxml2-encoding.html#xmlCleanupEncodingAliases"/>
    <keyword type="function" name="xmlCleanupGlobals ()" link="libxml2-globals.html#xmlCleanupGlobals"/>
    <keyword type="function" name="xmlCleanupInputCallbacks ()" link="libxml2-xmlIO.html#xmlCleanupInputCallbacks"/>
    <keyword type="function" name="xmlCleanupMemory ()" link="libxml2-xmlmemory.html#xmlCleanupMemory"/>
    <keyword type="function" name="xmlCleanupOutputCallbacks ()" link="libxml2-xmlIO.html#xmlCleanupOutputCallbacks"/>
    <keyword type="function" name="xmlCleanupParser ()" link="libxml2-parser.html#xmlCleanupParser"/>
    <keyword type="function" name="xmlCleanupPredefinedEntities ()" link="libxml2-entities.html#xmlCleanupPredefinedEntities"/>
    <keyword type="function" name="xmlCleanupThreads ()" link="libxml2-threads.html#xmlCleanupThreads"/>
    <keyword type="function" name="xmlClearNodeInfoSeq ()" link="libxml2-parser.html#xmlClearNodeInfoSeq"/>
    <keyword type="function" name="xmlClearParserCtxt ()" link="libxml2-parser.html#xmlClearParserCtxt"/>
    <keyword type="function" name="xmlConvertSGMLCatalog ()" link="libxml2-catalog.html#xmlConvertSGMLCatalog"/>
    <keyword type="function" name="xmlCopyAttributeTable ()" link="libxml2-valid.html#xmlCopyAttributeTable"/>
    <keyword type="function" name="xmlCopyChar ()" link="libxml2-parserInternals.html#xmlCopyChar"/>
    <keyword type="function" name="xmlCopyCharMultiByte ()" link="libxml2-parserInternals.html#xmlCopyCharMultiByte"/>
    <keyword type="function" name="xmlCopyDoc ()" link="libxml2-tree.html#xmlCopyDoc"/>
    <keyword type="function" name="xmlCopyDocElementContent ()" link="libxml2-valid.html#xmlCopyDocElementContent"/>
    <keyword type="function" name="xmlCopyDtd ()" link="libxml2-tree.html#xmlCopyDtd"/>
    <keyword type="function" name="xmlCopyElementContent ()" link="libxml2-valid.html#xmlCopyElementContent"/>
    <keyword type="function" name="xmlCopyElementTable ()" link="libxml2-valid.html#xmlCopyElementTable"/>
    <keyword type="function" name="xmlCopyEntitiesTable ()" link="libxml2-entities.html#xmlCopyEntitiesTable"/>
    <keyword type="function" name="xmlCopyEnumeration ()" link="libxml2-valid.html#xmlCopyEnumeration"/>
    <keyword type="function" name="xmlCopyError ()" link="libxml2-xmlerror.html#xmlCopyError"/>
    <keyword type="function" name="xmlCopyNamespace ()" link="libxml2-tree.html#xmlCopyNamespace"/>
    <keyword type="function" name="xmlCopyNamespaceList ()" link="libxml2-tree.html#xmlCopyNamespaceList"/>
    <keyword type="function" name="xmlCopyNode ()" link="libxml2-tree.html#xmlCopyNode"/>
    <keyword type="function" name="xmlCopyNodeList ()" link="libxml2-tree.html#xmlCopyNodeList"/>
    <keyword type="function" name="xmlCopyNotationTable ()" link="libxml2-valid.html#xmlCopyNotationTable"/>
    <keyword type="function" name="xmlCopyProp ()" link="libxml2-tree.html#xmlCopyProp"/>
    <keyword type="function" name="xmlCopyPropList ()" link="libxml2-tree.html#xmlCopyPropList"/>
    <keyword type="function" name="xmlCreateDocParserCtxt ()" link="libxml2-parser.html#xmlCreateDocParserCtxt"/>
    <keyword type="function" name="xmlCreateEntitiesTable ()" link="libxml2-entities.html#xmlCreateEntitiesTable"/>
    <keyword type="function" name="xmlCreateEntityParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateEntityParserCtxt"/>
    <keyword type="function" name="xmlCreateEnumeration ()" link="libxml2-valid.html#xmlCreateEnumeration"/>
    <keyword type="function" name="xmlCreateFileParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateFileParserCtxt"/>
    <keyword type="function" name="xmlCreateIOParserCtxt ()" link="libxml2-parser.html#xmlCreateIOParserCtxt"/>
    <keyword type="function" name="xmlCreateIntSubset ()" link="libxml2-tree.html#xmlCreateIntSubset"/>
    <keyword type="function" name="xmlCreateMemoryParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateMemoryParserCtxt"/>
    <keyword type="function" name="xmlCreatePushParserCtxt ()" link="libxml2-parser.html#xmlCreatePushParserCtxt"/>
    <keyword type="function" name="xmlCreateURI ()" link="libxml2-uri.html#xmlCreateURI"/>
    <keyword type="function" name="xmlCreateURLParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateURLParserCtxt"/>
    <keyword type="function" name="xmlCtxtGetLastError ()" link="libxml2-xmlerror.html#xmlCtxtGetLastError"/>
    <keyword type="function" name="xmlCtxtReadDoc ()" link="libxml2-parser.html#xmlCtxtReadDoc"/>
    <keyword type="function" name="xmlCtxtReadFd ()" link="libxml2-parser.html#xmlCtxtReadFd"/>
    <keyword type="function" name="xmlCtxtReadFile ()" link="libxml2-parser.html#xmlCtxtReadFile"/>
    <keyword type="function" name="xmlCtxtReadIO ()" link="libxml2-parser.html#xmlCtxtReadIO"/>
    <keyword type="function" name="xmlCtxtReadMemory ()" link="libxml2-parser.html#xmlCtxtReadMemory"/>
    <keyword type="function" name="xmlCtxtReset ()" link="libxml2-parser.html#xmlCtxtReset"/>
    <keyword type="function" name="xmlCtxtResetLastError ()" link="libxml2-xmlerror.html#xmlCtxtResetLastError"/>
    <keyword type="function" name="xmlCtxtResetPush ()" link="libxml2-parser.html#xmlCtxtResetPush"/>
    <keyword type="function" name="xmlCtxtUseOptions ()" link="libxml2-parser.html#xmlCtxtUseOptions"/>
    <keyword type="function" name="xmlCurrentChar ()" link="libxml2-parserInternals.html#xmlCurrentChar"/>
    <keyword type="function" name="xmlDOMWrapAdoptNode ()" link="libxml2-tree.html#xmlDOMWrapAdoptNode"/>
    <keyword type="function" name="xmlDOMWrapCloneNode ()" link="libxml2-tree.html#xmlDOMWrapCloneNode"/>
    <keyword type="function" name="xmlDOMWrapFreeCtxt ()" link="libxml2-tree.html#xmlDOMWrapFreeCtxt"/>
    <keyword type="function" name="xmlDOMWrapNewCtxt ()" link="libxml2-tree.html#xmlDOMWrapNewCtxt"/>
    <keyword type="function" name="xmlDOMWrapReconcileNamespaces ()" link="libxml2-tree.html#xmlDOMWrapReconcileNamespaces"/>
    <keyword type="function" name="xmlDOMWrapRemoveNode ()" link="libxml2-tree.html#xmlDOMWrapRemoveNode"/>
    <keyword type="function" name="xmlDebugCheckDocument ()" link="libxml2-debugXML.html#xmlDebugCheckDocument"/>
    <keyword type="function" name="xmlDebugDumpAttr ()" link="libxml2-debugXML.html#xmlDebugDumpAttr"/>
    <keyword type="function" name="xmlDebugDumpAttrList ()" link="libxml2-debugXML.html#xmlDebugDumpAttrList"/>
    <keyword type="function" name="xmlDebugDumpDTD ()" link="libxml2-debugXML.html#xmlDebugDumpDTD"/>
    <keyword type="function" name="xmlDebugDumpDocument ()" link="libxml2-debugXML.html#xmlDebugDumpDocument"/>
    <keyword type="function" name="xmlDebugDumpDocumentHead ()" link="libxml2-debugXML.html#xmlDebugDumpDocumentHead"/>
    <keyword type="function" name="xmlDebugDumpEntities ()" link="libxml2-debugXML.html#xmlDebugDumpEntities"/>
    <keyword type="function" name="xmlDebugDumpNode ()" link="libxml2-debugXML.html#xmlDebugDumpNode"/>
    <keyword type="function" name="xmlDebugDumpNodeList ()" link="libxml2-debugXML.html#xmlDebugDumpNodeList"/>
    <keyword type="function" name="xmlDebugDumpOneNode ()" link="libxml2-debugXML.html#xmlDebugDumpOneNode"/>
    <keyword type="function" name="xmlDebugDumpString ()" link="libxml2-debugXML.html#xmlDebugDumpString"/>
    <keyword type="function" name="xmlDecodeEntities ()" link="libxml2-parserInternals.html#xmlDecodeEntities"/>
    <keyword type="function" name="xmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#xmlDefaultSAXHandlerInit"/>
    <keyword type="function" name="xmlDelEncodingAlias ()" link="libxml2-encoding.html#xmlDelEncodingAlias"/>
    <keyword type="function" name="xmlDeregisterNodeDefault ()" link="libxml2-globals.html#xmlDeregisterNodeDefault"/>
    <keyword type="function" name="xmlDetectCharEncoding ()" link="libxml2-encoding.html#xmlDetectCharEncoding"/>
    <keyword type="function" name="xmlDictCleanup ()" link="libxml2-dict.html#xmlDictCleanup"/>
    <keyword type="function" name="xmlDictCreate ()" link="libxml2-dict.html#xmlDictCreate"/>
    <keyword type="function" name="xmlDictCreateSub ()" link="libxml2-dict.html#xmlDictCreateSub"/>
    <keyword type="function" name="xmlDictExists ()" link="libxml2-dict.html#xmlDictExists"/>
    <keyword type="function" name="xmlDictFree ()" link="libxml2-dict.html#xmlDictFree"/>
    <keyword type="function" name="xmlDictGetUsage ()" link="libxml2-dict.html#xmlDictGetUsage"/>
    <keyword type="function" name="xmlDictLookup ()" link="libxml2-dict.html#xmlDictLookup"/>
    <keyword type="function" name="xmlDictOwns ()" link="libxml2-dict.html#xmlDictOwns"/>
    <keyword type="function" name="xmlDictQLookup ()" link="libxml2-dict.html#xmlDictQLookup"/>
    <keyword type="function" name="xmlDictReference ()" link="libxml2-dict.html#xmlDictReference"/>
    <keyword type="function" name="xmlDictSetLimit ()" link="libxml2-dict.html#xmlDictSetLimit"/>
    <keyword type="function" name="xmlDictSize ()" link="libxml2-dict.html#xmlDictSize"/>
    <keyword type="function" name="xmlDllMain ()" link="libxml2-threads.html#xmlDllMain"/>
    <keyword type="function" name="xmlDocCopyNode ()" link="libxml2-tree.html#xmlDocCopyNode"/>
    <keyword type="function" name="xmlDocCopyNodeList ()" link="libxml2-tree.html#xmlDocCopyNodeList"/>
    <keyword type="function" name="xmlDocDump ()" link="libxml2-tree.html#xmlDocDump"/>
    <keyword type="function" name="xmlDocDumpFormatMemory ()" link="libxml2-tree.html#xmlDocDumpFormatMemory"/>
    <keyword type="function" name="xmlDocDumpFormatMemoryEnc ()" link="libxml2-tree.html#xmlDocDumpFormatMemoryEnc"/>
    <keyword type="function" name="xmlDocDumpMemory ()" link="libxml2-tree.html#xmlDocDumpMemory"/>
    <keyword type="function" name="xmlDocDumpMemoryEnc ()" link="libxml2-tree.html#xmlDocDumpMemoryEnc"/>
    <keyword type="function" name="xmlDocFormatDump ()" link="libxml2-tree.html#xmlDocFormatDump"/>
    <keyword type="function" name="xmlDocGetRootElement ()" link="libxml2-tree.html#xmlDocGetRootElement"/>
    <keyword type="function" name="xmlDocSetRootElement ()" link="libxml2-tree.html#xmlDocSetRootElement"/>
    <keyword type="function" name="xmlDumpAttributeDecl ()" link="libxml2-valid.html#xmlDumpAttributeDecl"/>
    <keyword type="function" name="xmlDumpAttributeTable ()" link="libxml2-valid.html#xmlDumpAttributeTable"/>
    <keyword type="function" name="xmlDumpElementDecl ()" link="libxml2-valid.html#xmlDumpElementDecl"/>
    <keyword type="function" name="xmlDumpElementTable ()" link="libxml2-valid.html#xmlDumpElementTable"/>
    <keyword type="function" name="xmlDumpEntitiesTable ()" link="libxml2-entities.html#xmlDumpEntitiesTable"/>
    <keyword type="function" name="xmlDumpEntityDecl ()" link="libxml2-entities.html#xmlDumpEntityDecl"/>
    <keyword type="function" name="xmlDumpNotationDecl ()" link="libxml2-valid.html#xmlDumpNotationDecl"/>
    <keyword type="function" name="xmlDumpNotationTable ()" link="libxml2-valid.html#xmlDumpNotationTable"/>
    <keyword type="function" name="xmlElemDump ()" link="libxml2-tree.html#xmlElemDump"/>
    <keyword type="function" name="xmlEncodeEntities ()" link="libxml2-entities.html#xmlEncodeEntities"/>
    <keyword type="function" name="xmlEncodeEntitiesReentrant ()" link="libxml2-entities.html#xmlEncodeEntitiesReentrant"/>
    <keyword type="function" name="xmlEncodeSpecialChars ()" link="libxml2-entities.html#xmlEncodeSpecialChars"/>
    <keyword type="function" name="xmlErrMemory ()" link="libxml2-parserInternals.html#xmlErrMemory"/>
    <keyword type="function" name="xmlExpCtxtNbCons ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbCons"/>
    <keyword type="function" name="xmlExpCtxtNbNodes ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbNodes"/>
    <keyword type="function" name="xmlExpDump ()" link="libxml2-xmlregexp.html#xmlExpDump"/>
    <keyword type="function" name="xmlExpExpDerive ()" link="libxml2-xmlregexp.html#xmlExpExpDerive"/>
    <keyword type="function" name="xmlExpFree ()" link="libxml2-xmlregexp.html#xmlExpFree"/>
    <keyword type="function" name="xmlExpFreeCtxt ()" link="libxml2-xmlregexp.html#xmlExpFreeCtxt"/>
    <keyword type="function" name="xmlExpGetLanguage ()" link="libxml2-xmlregexp.html#xmlExpGetLanguage"/>
    <keyword type="function" name="xmlExpGetStart ()" link="libxml2-xmlregexp.html#xmlExpGetStart"/>
    <keyword type="function" name="xmlExpIsNillable ()" link="libxml2-xmlregexp.html#xmlExpIsNillable"/>
    <keyword type="function" name="xmlExpMaxToken ()" link="libxml2-xmlregexp.html#xmlExpMaxToken"/>
    <keyword type="function" name="xmlExpNewAtom ()" link="libxml2-xmlregexp.html#xmlExpNewAtom"/>
    <keyword type="function" name="xmlExpNewCtxt ()" link="libxml2-xmlregexp.html#xmlExpNewCtxt"/>
    <keyword type="function" name="xmlExpNewOr ()" link="libxml2-xmlregexp.html#xmlExpNewOr"/>
    <keyword type="function" name="xmlExpNewRange ()" link="libxml2-xmlregexp.html#xmlExpNewRange"/>
    <keyword type="function" name="xmlExpNewSeq ()" link="libxml2-xmlregexp.html#xmlExpNewSeq"/>
    <keyword type="function" name="xmlExpParse ()" link="libxml2-xmlregexp.html#xmlExpParse"/>
    <keyword type="function" name="xmlExpRef ()" link="libxml2-xmlregexp.html#xmlExpRef"/>
    <keyword type="function" name="xmlExpStringDerive ()" link="libxml2-xmlregexp.html#xmlExpStringDerive"/>
    <keyword type="function" name="xmlExpSubsume ()" link="libxml2-xmlregexp.html#xmlExpSubsume"/>
    <keyword type="function" name="xmlFileClose ()" link="libxml2-xmlIO.html#xmlFileClose"/>
    <keyword type="function" name="xmlFileMatch ()" link="libxml2-xmlIO.html#xmlFileMatch"/>
    <keyword type="function" name="xmlFileOpen ()" link="libxml2-xmlIO.html#xmlFileOpen"/>
    <keyword type="function" name="xmlFileRead ()" link="libxml2-xmlIO.html#xmlFileRead"/>
    <keyword type="function" name="xmlFindCharEncodingHandler ()" link="libxml2-encoding.html#xmlFindCharEncodingHandler"/>
    <keyword type="function" name="xmlFirstElementChild ()" link="libxml2-tree.html#xmlFirstElementChild"/>
    <keyword type="function" name="xmlFreeAttributeTable ()" link="libxml2-valid.html#xmlFreeAttributeTable"/>
    <keyword type="function" name="xmlFreeAutomata ()" link="libxml2-xmlautomata.html#xmlFreeAutomata"/>
    <keyword type="function" name="xmlFreeCatalog ()" link="libxml2-catalog.html#xmlFreeCatalog"/>
    <keyword type="function" name="xmlFreeDoc ()" link="libxml2-tree.html#xmlFreeDoc"/>
    <keyword type="function" name="xmlFreeDocElementContent ()" link="libxml2-valid.html#xmlFreeDocElementContent"/>
    <keyword type="function" name="xmlFreeDtd ()" link="libxml2-tree.html#xmlFreeDtd"/>
    <keyword type="function" name="xmlFreeElementContent ()" link="libxml2-valid.html#xmlFreeElementContent"/>
    <keyword type="function" name="xmlFreeElementTable ()" link="libxml2-valid.html#xmlFreeElementTable"/>
    <keyword type="function" name="xmlFreeEntitiesTable ()" link="libxml2-entities.html#xmlFreeEntitiesTable"/>
    <keyword type="function" name="xmlFreeEnumeration ()" link="libxml2-valid.html#xmlFreeEnumeration"/>
    <keyword type="function" name="xmlFreeIDTable ()" link="libxml2-valid.html#xmlFreeIDTable"/>
    <keyword type="function" name="xmlFreeInputStream ()" link="libxml2-parserInternals.html#xmlFreeInputStream"/>
    <keyword type="function" name="xmlFreeMutex ()" link="libxml2-threads.html#xmlFreeMutex"/>
    <keyword type="function" name="xmlFreeNode ()" link="libxml2-tree.html#xmlFreeNode"/>
    <keyword type="function" name="xmlFreeNodeList ()" link="libxml2-tree.html#xmlFreeNodeList"/>
    <keyword type="function" name="xmlFreeNotationTable ()" link="libxml2-valid.html#xmlFreeNotationTable"/>
    <keyword type="function" name="xmlFreeNs ()" link="libxml2-tree.html#xmlFreeNs"/>
    <keyword type="function" name="xmlFreeNsList ()" link="libxml2-tree.html#xmlFreeNsList"/>
    <keyword type="function" name="xmlFreeParserCtxt ()" link="libxml2-parser.html#xmlFreeParserCtxt"/>
    <keyword type="function" name="xmlFreeParserInputBuffer ()" link="libxml2-xmlIO.html#xmlFreeParserInputBuffer"/>
    <keyword type="function" name="xmlFreePattern ()" link="libxml2-pattern.html#xmlFreePattern"/>
    <keyword type="function" name="xmlFreePatternList ()" link="libxml2-pattern.html#xmlFreePatternList"/>
    <keyword type="function" name="xmlFreeProp ()" link="libxml2-tree.html#xmlFreeProp"/>
    <keyword type="function" name="xmlFreePropList ()" link="libxml2-tree.html#xmlFreePropList"/>
    <keyword type="function" name="xmlFreeRMutex ()" link="libxml2-threads.html#xmlFreeRMutex"/>
    <keyword type="function" name="xmlFreeRefTable ()" link="libxml2-valid.html#xmlFreeRefTable"/>
    <keyword type="function" name="xmlFreeStreamCtxt ()" link="libxml2-pattern.html#xmlFreeStreamCtxt"/>
    <keyword type="function" name="xmlFreeTextReader ()" link="libxml2-xmlreader.html#xmlFreeTextReader"/>
    <keyword type="function" name="xmlFreeTextWriter ()" link="libxml2-xmlwriter.html#xmlFreeTextWriter"/>
    <keyword type="function" name="xmlFreeURI ()" link="libxml2-uri.html#xmlFreeURI"/>
    <keyword type="function" name="xmlFreeValidCtxt ()" link="libxml2-valid.html#xmlFreeValidCtxt"/>
    <keyword type="function" name="xmlGcMemGet ()" link="libxml2-xmlmemory.html#xmlGcMemGet"/>
    <keyword type="function" name="xmlGcMemSetup ()" link="libxml2-xmlmemory.html#xmlGcMemSetup"/>
    <keyword type="function" name="xmlGetBufferAllocationScheme ()" link="libxml2-tree.html#xmlGetBufferAllocationScheme"/>
    <keyword type="function" name="xmlGetCharEncodingHandler ()" link="libxml2-encoding.html#xmlGetCharEncodingHandler"/>
    <keyword type="function" name="xmlGetCharEncodingName ()" link="libxml2-encoding.html#xmlGetCharEncodingName"/>
    <keyword type="function" name="xmlGetCompressMode ()" link="libxml2-tree.html#xmlGetCompressMode"/>
    <keyword type="function" name="xmlGetDocCompressMode ()" link="libxml2-tree.html#xmlGetDocCompressMode"/>
    <keyword type="function" name="xmlGetDocEntity ()" link="libxml2-entities.html#xmlGetDocEntity"/>
    <keyword type="function" name="xmlGetDtdAttrDesc ()" link="libxml2-valid.html#xmlGetDtdAttrDesc"/>
    <keyword type="function" name="xmlGetDtdElementDesc ()" link="libxml2-valid.html#xmlGetDtdElementDesc"/>
    <keyword type="function" name="xmlGetDtdEntity ()" link="libxml2-entities.html#xmlGetDtdEntity"/>
    <keyword type="function" name="xmlGetDtdNotationDesc ()" link="libxml2-valid.html#xmlGetDtdNotationDesc"/>
    <keyword type="function" name="xmlGetDtdQAttrDesc ()" link="libxml2-valid.html#xmlGetDtdQAttrDesc"/>
    <keyword type="function" name="xmlGetDtdQElementDesc ()" link="libxml2-valid.html#xmlGetDtdQElementDesc"/>
    <keyword type="function" name="xmlGetEncodingAlias ()" link="libxml2-encoding.html#xmlGetEncodingAlias"/>
    <keyword type="function" name="xmlGetExternalEntityLoader ()" link="libxml2-parser.html#xmlGetExternalEntityLoader"/>
    <keyword type="function" name="xmlGetFeature ()" link="libxml2-parser.html#xmlGetFeature"/>
    <keyword type="function" name="xmlGetFeaturesList ()" link="libxml2-parser.html#xmlGetFeaturesList"/>
    <keyword type="function" name="xmlGetGlobalState ()" link="libxml2-threads.html#xmlGetGlobalState"/>
    <keyword type="function" name="xmlGetID ()" link="libxml2-valid.html#xmlGetID"/>
    <keyword type="function" name="xmlGetIntSubset ()" link="libxml2-tree.html#xmlGetIntSubset"/>
    <keyword type="function" name="xmlGetLastChild ()" link="libxml2-tree.html#xmlGetLastChild"/>
    <keyword type="function" name="xmlGetLastError ()" link="libxml2-xmlerror.html#xmlGetLastError"/>
    <keyword type="function" name="xmlGetLineNo ()" link="libxml2-tree.html#xmlGetLineNo"/>
    <keyword type="function" name="xmlGetNoNsProp ()" link="libxml2-tree.html#xmlGetNoNsProp"/>
    <keyword type="function" name="xmlGetNodePath ()" link="libxml2-tree.html#xmlGetNodePath"/>
    <keyword type="function" name="xmlGetNsList ()" link="libxml2-tree.html#xmlGetNsList"/>
    <keyword type="function" name="xmlGetNsProp ()" link="libxml2-tree.html#xmlGetNsProp"/>
    <keyword type="function" name="xmlGetParameterEntity ()" link="libxml2-entities.html#xmlGetParameterEntity"/>
    <keyword type="function" name="xmlGetPredefinedEntity ()" link="libxml2-entities.html#xmlGetPredefinedEntity"/>
    <keyword type="function" name="xmlGetProp ()" link="libxml2-tree.html#xmlGetProp"/>
    <keyword type="function" name="xmlGetRefs ()" link="libxml2-valid.html#xmlGetRefs"/>
    <keyword type="function" name="xmlGetThreadId ()" link="libxml2-threads.html#xmlGetThreadId"/>
    <keyword type="function" name="xmlGetUTF8Char ()" link="libxml2-xmlstring.html#xmlGetUTF8Char"/>
    <keyword type="function" name="xmlHandleEntity ()" link="libxml2-parserInternals.html#xmlHandleEntity"/>
    <keyword type="function" name="xmlHasFeature ()" link="libxml2-parser.html#xmlHasFeature"/>
    <keyword type="function" name="xmlHasNsProp ()" link="libxml2-tree.html#xmlHasNsProp"/>
    <keyword type="function" name="xmlHasProp ()" link="libxml2-tree.html#xmlHasProp"/>
    <keyword type="function" name="xmlHashAddEntry ()" link="libxml2-hash.html#xmlHashAddEntry"/>
    <keyword type="function" name="xmlHashAddEntry2 ()" link="libxml2-hash.html#xmlHashAddEntry2"/>
    <keyword type="function" name="xmlHashAddEntry3 ()" link="libxml2-hash.html#xmlHashAddEntry3"/>
    <keyword type="function" name="xmlHashCopy ()" link="libxml2-hash.html#xmlHashCopy"/>
    <keyword type="function" name="xmlHashCreate ()" link="libxml2-hash.html#xmlHashCreate"/>
    <keyword type="function" name="xmlHashCreateDict ()" link="libxml2-hash.html#xmlHashCreateDict"/>
    <keyword type="function" name="xmlHashDefaultDeallocator ()" link="libxml2-hash.html#xmlHashDefaultDeallocator"/>
    <keyword type="function" name="xmlHashFree ()" link="libxml2-hash.html#xmlHashFree"/>
    <keyword type="function" name="xmlHashLookup ()" link="libxml2-hash.html#xmlHashLookup"/>
    <keyword type="function" name="xmlHashLookup2 ()" link="libxml2-hash.html#xmlHashLookup2"/>
    <keyword type="function" name="xmlHashLookup3 ()" link="libxml2-hash.html#xmlHashLookup3"/>
    <keyword type="function" name="xmlHashQLookup ()" link="libxml2-hash.html#xmlHashQLookup"/>
    <keyword type="function" name="xmlHashQLookup2 ()" link="libxml2-hash.html#xmlHashQLookup2"/>
    <keyword type="function" name="xmlHashQLookup3 ()" link="libxml2-hash.html#xmlHashQLookup3"/>
    <keyword type="function" name="xmlHashRemoveEntry ()" link="libxml2-hash.html#xmlHashRemoveEntry"/>
    <keyword type="function" name="xmlHashRemoveEntry2 ()" link="libxml2-hash.html#xmlHashRemoveEntry2"/>
    <keyword type="function" name="xmlHashRemoveEntry3 ()" link="libxml2-hash.html#xmlHashRemoveEntry3"/>
    <keyword type="function" name="xmlHashScan ()" link="libxml2-hash.html#xmlHashScan"/>
    <keyword type="function" name="xmlHashScan3 ()" link="libxml2-hash.html#xmlHashScan3"/>
    <keyword type="function" name="xmlHashScanFull ()" link="libxml2-hash.html#xmlHashScanFull"/>
    <keyword type="function" name="xmlHashScanFull3 ()" link="libxml2-hash.html#xmlHashScanFull3"/>
    <keyword type="function" name="xmlHashSize ()" link="libxml2-hash.html#xmlHashSize"/>
    <keyword type="function" name="xmlHashUpdateEntry ()" link="libxml2-hash.html#xmlHashUpdateEntry"/>
    <keyword type="function" name="xmlHashUpdateEntry2 ()" link="libxml2-hash.html#xmlHashUpdateEntry2"/>
    <keyword type="function" name="xmlHashUpdateEntry3 ()" link="libxml2-hash.html#xmlHashUpdateEntry3"/>
    <keyword type="function" name="xmlIOFTPClose ()" link="libxml2-xmlIO.html#xmlIOFTPClose"/>
    <keyword type="function" name="xmlIOFTPMatch ()" link="libxml2-xmlIO.html#xmlIOFTPMatch"/>
    <keyword type="function" name="xmlIOFTPOpen ()" link="libxml2-xmlIO.html#xmlIOFTPOpen"/>
    <keyword type="function" name="xmlIOFTPRead ()" link="libxml2-xmlIO.html#xmlIOFTPRead"/>
    <keyword type="function" name="xmlIOHTTPClose ()" link="libxml2-xmlIO.html#xmlIOHTTPClose"/>
    <keyword type="function" name="xmlIOHTTPMatch ()" link="libxml2-xmlIO.html#xmlIOHTTPMatch"/>
    <keyword type="function" name="xmlIOHTTPOpen ()" link="libxml2-xmlIO.html#xmlIOHTTPOpen"/>
    <keyword type="function" name="xmlIOHTTPOpenW ()" link="libxml2-xmlIO.html#xmlIOHTTPOpenW"/>
    <keyword type="function" name="xmlIOHTTPRead ()" link="libxml2-xmlIO.html#xmlIOHTTPRead"/>
    <keyword type="function" name="xmlIOParseDTD ()" link="libxml2-parser.html#xmlIOParseDTD"/>
    <keyword type="function" name="xmlInitCharEncodingHandlers ()" link="libxml2-encoding.html#xmlInitCharEncodingHandlers"/>
    <keyword type="function" name="xmlInitGlobals ()" link="libxml2-globals.html#xmlInitGlobals"/>
    <keyword type="function" name="xmlInitMemory ()" link="libxml2-xmlmemory.html#xmlInitMemory"/>
    <keyword type="function" name="xmlInitNodeInfoSeq ()" link="libxml2-parser.html#xmlInitNodeInfoSeq"/>
    <keyword type="function" name="xmlInitParser ()" link="libxml2-parser.html#xmlInitParser"/>
    <keyword type="function" name="xmlInitParserCtxt ()" link="libxml2-parser.html#xmlInitParserCtxt"/>
    <keyword type="function" name="xmlInitThreads ()" link="libxml2-threads.html#xmlInitThreads"/>
    <keyword type="function" name="xmlInitializeCatalog ()" link="libxml2-catalog.html#xmlInitializeCatalog"/>
    <keyword type="function" name="xmlInitializeDict ()" link="libxml2-dict.html#xmlInitializeDict"/>
    <keyword type="function" name="xmlInitializeGlobalState ()" link="libxml2-globals.html#xmlInitializeGlobalState"/>
    <keyword type="function" name="xmlInitializePredefinedEntities ()" link="libxml2-entities.html#xmlInitializePredefinedEntities"/>
    <keyword type="function" name="xmlIsBaseChar ()" link="libxml2-chvalid.html#xmlIsBaseChar"/>
    <keyword type="function" name="xmlIsBlank ()" link="libxml2-chvalid.html#xmlIsBlank"/>
    <keyword type="function" name="xmlIsBlankNode ()" link="libxml2-tree.html#xmlIsBlankNode"/>
    <keyword type="function" name="xmlIsChar ()" link="libxml2-chvalid.html#xmlIsChar"/>
    <keyword type="function" name="xmlIsCombining ()" link="libxml2-chvalid.html#xmlIsCombining"/>
    <keyword type="function" name="xmlIsDigit ()" link="libxml2-chvalid.html#xmlIsDigit"/>
    <keyword type="function" name="xmlIsExtender ()" link="libxml2-chvalid.html#xmlIsExtender"/>
    <keyword type="function" name="xmlIsID ()" link="libxml2-valid.html#xmlIsID"/>
    <keyword type="function" name="xmlIsIdeographic ()" link="libxml2-chvalid.html#xmlIsIdeographic"/>
    <keyword type="function" name="xmlIsLetter ()" link="libxml2-parserInternals.html#xmlIsLetter"/>
    <keyword type="function" name="xmlIsMainThread ()" link="libxml2-threads.html#xmlIsMainThread"/>
    <keyword type="function" name="xmlIsMixedElement ()" link="libxml2-valid.html#xmlIsMixedElement"/>
    <keyword type="function" name="xmlIsPubidChar ()" link="libxml2-chvalid.html#xmlIsPubidChar"/>
    <keyword type="function" name="xmlIsRef ()" link="libxml2-valid.html#xmlIsRef"/>
    <keyword type="function" name="xmlIsXHTML ()" link="libxml2-tree.html#xmlIsXHTML"/>
    <keyword type="function" name="xmlKeepBlanksDefault ()" link="libxml2-parser.html#xmlKeepBlanksDefault"/>
    <keyword type="function" name="xmlLastElementChild ()" link="libxml2-tree.html#xmlLastElementChild"/>
    <keyword type="function" name="xmlLineNumbersDefault ()" link="libxml2-parser.html#xmlLineNumbersDefault"/>
    <keyword type="function" name="xmlLinkGetData ()" link="libxml2-list.html#xmlLinkGetData"/>
    <keyword type="function" name="xmlListAppend ()" link="libxml2-list.html#xmlListAppend"/>
    <keyword type="function" name="xmlListClear ()" link="libxml2-list.html#xmlListClear"/>
    <keyword type="function" name="xmlListCopy ()" link="libxml2-list.html#xmlListCopy"/>
    <keyword type="function" name="xmlListCreate ()" link="libxml2-list.html#xmlListCreate"/>
    <keyword type="function" name="xmlListDelete ()" link="libxml2-list.html#xmlListDelete"/>
    <keyword type="function" name="xmlListDup ()" link="libxml2-list.html#xmlListDup"/>
    <keyword type="function" name="xmlListEmpty ()" link="libxml2-list.html#xmlListEmpty"/>
    <keyword type="function" name="xmlListEnd ()" link="libxml2-list.html#xmlListEnd"/>
    <keyword type="function" name="xmlListFront ()" link="libxml2-list.html#xmlListFront"/>
    <keyword type="function" name="xmlListInsert ()" link="libxml2-list.html#xmlListInsert"/>
    <keyword type="function" name="xmlListMerge ()" link="libxml2-list.html#xmlListMerge"/>
    <keyword type="function" name="xmlListPopBack ()" link="libxml2-list.html#xmlListPopBack"/>
    <keyword type="function" name="xmlListPopFront ()" link="libxml2-list.html#xmlListPopFront"/>
    <keyword type="function" name="xmlListPushBack ()" link="libxml2-list.html#xmlListPushBack"/>
    <keyword type="function" name="xmlListPushFront ()" link="libxml2-list.html#xmlListPushFront"/>
    <keyword type="function" name="xmlListRemoveAll ()" link="libxml2-list.html#xmlListRemoveAll"/>
    <keyword type="function" name="xmlListRemoveFirst ()" link="libxml2-list.html#xmlListRemoveFirst"/>
    <keyword type="function" name="xmlListRemoveLast ()" link="libxml2-list.html#xmlListRemoveLast"/>
    <keyword type="function" name="xmlListReverse ()" link="libxml2-list.html#xmlListReverse"/>
    <keyword type="function" name="xmlListReverseSearch ()" link="libxml2-list.html#xmlListReverseSearch"/>
    <keyword type="function" name="xmlListReverseWalk ()" link="libxml2-list.html#xmlListReverseWalk"/>
    <keyword type="function" name="xmlListSearch ()" link="libxml2-list.html#xmlListSearch"/>
    <keyword type="function" name="xmlListSize ()" link="libxml2-list.html#xmlListSize"/>
    <keyword type="function" name="xmlListSort ()" link="libxml2-list.html#xmlListSort"/>
    <keyword type="function" name="xmlListWalk ()" link="libxml2-list.html#xmlListWalk"/>
    <keyword type="function" name="xmlLoadACatalog ()" link="libxml2-catalog.html#xmlLoadACatalog"/>
    <keyword type="function" name="xmlLoadCatalog ()" link="libxml2-catalog.html#xmlLoadCatalog"/>
    <keyword type="function" name="xmlLoadCatalogs ()" link="libxml2-catalog.html#xmlLoadCatalogs"/>
    <keyword type="function" name="xmlLoadExternalEntity ()" link="libxml2-parser.html#xmlLoadExternalEntity"/>
    <keyword type="function" name="xmlLoadSGMLSuperCatalog ()" link="libxml2-catalog.html#xmlLoadSGMLSuperCatalog"/>
    <keyword type="function" name="xmlLockLibrary ()" link="libxml2-threads.html#xmlLockLibrary"/>
    <keyword type="function" name="xmlLsCountNode ()" link="libxml2-debugXML.html#xmlLsCountNode"/>
    <keyword type="function" name="xmlLsOneNode ()" link="libxml2-debugXML.html#xmlLsOneNode"/>
    <keyword type="function" name="xmlMallocAtomicLoc ()" link="libxml2-xmlmemory.html#xmlMallocAtomicLoc"/>
    <keyword type="function" name="xmlMallocLoc ()" link="libxml2-xmlmemory.html#xmlMallocLoc"/>
    <keyword type="function" name="xmlMemBlocks ()" link="libxml2-xmlmemory.html#xmlMemBlocks"/>
    <keyword type="function" name="xmlMemDisplay ()" link="libxml2-xmlmemory.html#xmlMemDisplay"/>
    <keyword type="function" name="xmlMemDisplayLast ()" link="libxml2-xmlmemory.html#xmlMemDisplayLast"/>
    <keyword type="function" name="xmlMemFree ()" link="libxml2-xmlmemory.html#xmlMemFree"/>
    <keyword type="function" name="xmlMemGet ()" link="libxml2-xmlmemory.html#xmlMemGet"/>
    <keyword type="function" name="xmlMemMalloc ()" link="libxml2-xmlmemory.html#xmlMemMalloc"/>
    <keyword type="function" name="xmlMemRealloc ()" link="libxml2-xmlmemory.html#xmlMemRealloc"/>
    <keyword type="function" name="xmlMemSetup ()" link="libxml2-xmlmemory.html#xmlMemSetup"/>
    <keyword type="function" name="xmlMemShow ()" link="libxml2-xmlmemory.html#xmlMemShow"/>
    <keyword type="function" name="xmlMemStrdupLoc ()" link="libxml2-xmlmemory.html#xmlMemStrdupLoc"/>
    <keyword type="function" name="xmlMemUsed ()" link="libxml2-xmlmemory.html#xmlMemUsed"/>
    <keyword type="function" name="xmlMemoryDump ()" link="libxml2-xmlmemory.html#xmlMemoryDump"/>
    <keyword type="function" name="xmlMemoryStrdup ()" link="libxml2-xmlmemory.html#xmlMemoryStrdup"/>
    <keyword type="function" name="xmlModuleClose ()" link="libxml2-xmlmodule.html#xmlModuleClose"/>
    <keyword type="function" name="xmlModuleFree ()" link="libxml2-xmlmodule.html#xmlModuleFree"/>
    <keyword type="function" name="xmlModuleOpen ()" link="libxml2-xmlmodule.html#xmlModuleOpen"/>
    <keyword type="function" name="xmlModuleSymbol ()" link="libxml2-xmlmodule.html#xmlModuleSymbol"/>
    <keyword type="function" name="xmlMutexLock ()" link="libxml2-threads.html#xmlMutexLock"/>
    <keyword type="function" name="xmlMutexUnlock ()" link="libxml2-threads.html#xmlMutexUnlock"/>
    <keyword type="function" name="xmlNamespaceParseNCName ()" link="libxml2-parserInternals.html#xmlNamespaceParseNCName"/>
    <keyword type="function" name="xmlNamespaceParseNSDef ()" link="libxml2-parserInternals.html#xmlNamespaceParseNSDef"/>
    <keyword type="function" name="xmlNamespaceParseQName ()" link="libxml2-parserInternals.html#xmlNamespaceParseQName"/>
    <keyword type="function" name="xmlNanoFTPCheckResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPCheckResponse"/>
    <keyword type="function" name="xmlNanoFTPCleanup ()" link="libxml2-nanoftp.html#xmlNanoFTPCleanup"/>
    <keyword type="function" name="xmlNanoFTPClose ()" link="libxml2-nanoftp.html#xmlNanoFTPClose"/>
    <keyword type="function" name="xmlNanoFTPCloseConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPCloseConnection"/>
    <keyword type="function" name="xmlNanoFTPConnect ()" link="libxml2-nanoftp.html#xmlNanoFTPConnect"/>
    <keyword type="function" name="xmlNanoFTPConnectTo ()" link="libxml2-nanoftp.html#xmlNanoFTPConnectTo"/>
    <keyword type="function" name="xmlNanoFTPCwd ()" link="libxml2-nanoftp.html#xmlNanoFTPCwd"/>
    <keyword type="function" name="xmlNanoFTPDele ()" link="libxml2-nanoftp.html#xmlNanoFTPDele"/>
    <keyword type="function" name="xmlNanoFTPFreeCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPFreeCtxt"/>
    <keyword type="function" name="xmlNanoFTPGet ()" link="libxml2-nanoftp.html#xmlNanoFTPGet"/>
    <keyword type="function" name="xmlNanoFTPGetConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPGetConnection"/>
    <keyword type="function" name="xmlNanoFTPGetResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPGetResponse"/>
    <keyword type="function" name="xmlNanoFTPGetSocket ()" link="libxml2-nanoftp.html#xmlNanoFTPGetSocket"/>
    <keyword type="function" name="xmlNanoFTPInit ()" link="libxml2-nanoftp.html#xmlNanoFTPInit"/>
    <keyword type="function" name="xmlNanoFTPList ()" link="libxml2-nanoftp.html#xmlNanoFTPList"/>
    <keyword type="function" name="xmlNanoFTPNewCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPNewCtxt"/>
    <keyword type="function" name="xmlNanoFTPOpen ()" link="libxml2-nanoftp.html#xmlNanoFTPOpen"/>
    <keyword type="function" name="xmlNanoFTPProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPProxy"/>
    <keyword type="function" name="xmlNanoFTPQuit ()" link="libxml2-nanoftp.html#xmlNanoFTPQuit"/>
    <keyword type="function" name="xmlNanoFTPRead ()" link="libxml2-nanoftp.html#xmlNanoFTPRead"/>
    <keyword type="function" name="xmlNanoFTPScanProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPScanProxy"/>
    <keyword type="function" name="xmlNanoFTPUpdateURL ()" link="libxml2-nanoftp.html#xmlNanoFTPUpdateURL"/>
    <keyword type="function" name="xmlNanoHTTPAuthHeader ()" link="libxml2-nanohttp.html#xmlNanoHTTPAuthHeader"/>
    <keyword type="function" name="xmlNanoHTTPCleanup ()" link="libxml2-nanohttp.html#xmlNanoHTTPCleanup"/>
    <keyword type="function" name="xmlNanoHTTPClose ()" link="libxml2-nanohttp.html#xmlNanoHTTPClose"/>
    <keyword type="function" name="xmlNanoHTTPContentLength ()" link="libxml2-nanohttp.html#xmlNanoHTTPContentLength"/>
    <keyword type="function" name="xmlNanoHTTPEncoding ()" link="libxml2-nanohttp.html#xmlNanoHTTPEncoding"/>
    <keyword type="function" name="xmlNanoHTTPFetch ()" link="libxml2-nanohttp.html#xmlNanoHTTPFetch"/>
    <keyword type="function" name="xmlNanoHTTPInit ()" link="libxml2-nanohttp.html#xmlNanoHTTPInit"/>
    <keyword type="function" name="xmlNanoHTTPMethod ()" link="libxml2-nanohttp.html#xmlNanoHTTPMethod"/>
    <keyword type="function" name="xmlNanoHTTPMethodRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPMethodRedir"/>
    <keyword type="function" name="xmlNanoHTTPMimeType ()" link="libxml2-nanohttp.html#xmlNanoHTTPMimeType"/>
    <keyword type="function" name="xmlNanoHTTPOpen ()" link="libxml2-nanohttp.html#xmlNanoHTTPOpen"/>
    <keyword type="function" name="xmlNanoHTTPOpenRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPOpenRedir"/>
    <keyword type="function" name="xmlNanoHTTPRead ()" link="libxml2-nanohttp.html#xmlNanoHTTPRead"/>
    <keyword type="function" name="xmlNanoHTTPRedir ()" link="libxml2-nanohttp.html#xmlNanoHTTPRedir"/>
    <keyword type="function" name="xmlNanoHTTPReturnCode ()" link="libxml2-nanohttp.html#xmlNanoHTTPReturnCode"/>
    <keyword type="function" name="xmlNanoHTTPSave ()" link="libxml2-nanohttp.html#xmlNanoHTTPSave"/>
    <keyword type="function" name="xmlNanoHTTPScanProxy ()" link="libxml2-nanohttp.html#xmlNanoHTTPScanProxy"/>
    <keyword type="function" name="xmlNewAutomata ()" link="libxml2-xmlautomata.html#xmlNewAutomata"/>
    <keyword type="function" name="xmlNewCDataBlock ()" link="libxml2-tree.html#xmlNewCDataBlock"/>
    <keyword type="function" name="xmlNewCatalog ()" link="libxml2-catalog.html#xmlNewCatalog"/>
    <keyword type="function" name="xmlNewCharEncodingHandler ()" link="libxml2-encoding.html#xmlNewCharEncodingHandler"/>
    <keyword type="function" name="xmlNewCharRef ()" link="libxml2-tree.html#xmlNewCharRef"/>
    <keyword type="function" name="xmlNewChild ()" link="libxml2-tree.html#xmlNewChild"/>
    <keyword type="function" name="xmlNewComment ()" link="libxml2-tree.html#xmlNewComment"/>
    <keyword type="function" name="xmlNewDoc ()" link="libxml2-tree.html#xmlNewDoc"/>
    <keyword type="function" name="xmlNewDocComment ()" link="libxml2-tree.html#xmlNewDocComment"/>
    <keyword type="function" name="xmlNewDocElementContent ()" link="libxml2-valid.html#xmlNewDocElementContent"/>
    <keyword type="function" name="xmlNewDocFragment ()" link="libxml2-tree.html#xmlNewDocFragment"/>
    <keyword type="function" name="xmlNewDocNode ()" link="libxml2-tree.html#xmlNewDocNode"/>
    <keyword type="function" name="xmlNewDocNodeEatName ()" link="libxml2-tree.html#xmlNewDocNodeEatName"/>
    <keyword type="function" name="xmlNewDocPI ()" link="libxml2-tree.html#xmlNewDocPI"/>
    <keyword type="function" name="xmlNewDocProp ()" link="libxml2-tree.html#xmlNewDocProp"/>
    <keyword type="function" name="xmlNewDocRawNode ()" link="libxml2-tree.html#xmlNewDocRawNode"/>
    <keyword type="function" name="xmlNewDocText ()" link="libxml2-tree.html#xmlNewDocText"/>
    <keyword type="function" name="xmlNewDocTextLen ()" link="libxml2-tree.html#xmlNewDocTextLen"/>
    <keyword type="function" name="xmlNewDtd ()" link="libxml2-tree.html#xmlNewDtd"/>
    <keyword type="function" name="xmlNewElementContent ()" link="libxml2-valid.html#xmlNewElementContent"/>
    <keyword type="function" name="xmlNewEntity ()" link="libxml2-entities.html#xmlNewEntity"/>
    <keyword type="function" name="xmlNewEntityInputStream ()" link="libxml2-parserInternals.html#xmlNewEntityInputStream"/>
    <keyword type="function" name="xmlNewGlobalNs ()" link="libxml2-tree.html#xmlNewGlobalNs"/>
    <keyword type="function" name="xmlNewIOInputStream ()" link="libxml2-parser.html#xmlNewIOInputStream"/>
    <keyword type="function" name="xmlNewInputFromFile ()" link="libxml2-parserInternals.html#xmlNewInputFromFile"/>
    <keyword type="function" name="xmlNewInputStream ()" link="libxml2-parserInternals.html#xmlNewInputStream"/>
    <keyword type="function" name="xmlNewMutex ()" link="libxml2-threads.html#xmlNewMutex"/>
    <keyword type="function" name="xmlNewNode ()" link="libxml2-tree.html#xmlNewNode"/>
    <keyword type="function" name="xmlNewNodeEatName ()" link="libxml2-tree.html#xmlNewNodeEatName"/>
    <keyword type="function" name="xmlNewNs ()" link="libxml2-tree.html#xmlNewNs"/>
    <keyword type="function" name="xmlNewNsProp ()" link="libxml2-tree.html#xmlNewNsProp"/>
    <keyword type="function" name="xmlNewNsPropEatName ()" link="libxml2-tree.html#xmlNewNsPropEatName"/>
    <keyword type="function" name="xmlNewPI ()" link="libxml2-tree.html#xmlNewPI"/>
    <keyword type="function" name="xmlNewParserCtxt ()" link="libxml2-parser.html#xmlNewParserCtxt"/>
    <keyword type="function" name="xmlNewProp ()" link="libxml2-tree.html#xmlNewProp"/>
    <keyword type="function" name="xmlNewRMutex ()" link="libxml2-threads.html#xmlNewRMutex"/>
    <keyword type="function" name="xmlNewReference ()" link="libxml2-tree.html#xmlNewReference"/>
    <keyword type="function" name="xmlNewStringInputStream ()" link="libxml2-parserInternals.html#xmlNewStringInputStream"/>
    <keyword type="function" name="xmlNewText ()" link="libxml2-tree.html#xmlNewText"/>
    <keyword type="function" name="xmlNewTextChild ()" link="libxml2-tree.html#xmlNewTextChild"/>
    <keyword type="function" name="xmlNewTextLen ()" link="libxml2-tree.html#xmlNewTextLen"/>
    <keyword type="function" name="xmlNewTextReader ()" link="libxml2-xmlreader.html#xmlNewTextReader"/>
    <keyword type="function" name="xmlNewTextReaderFilename ()" link="libxml2-xmlreader.html#xmlNewTextReaderFilename"/>
    <keyword type="function" name="xmlNewTextWriter ()" link="libxml2-xmlwriter.html#xmlNewTextWriter"/>
    <keyword type="function" name="xmlNewTextWriterDoc ()" link="libxml2-xmlwriter.html#xmlNewTextWriterDoc"/>
    <keyword type="function" name="xmlNewTextWriterFilename ()" link="libxml2-xmlwriter.html#xmlNewTextWriterFilename"/>
    <keyword type="function" name="xmlNewTextWriterMemory ()" link="libxml2-xmlwriter.html#xmlNewTextWriterMemory"/>
    <keyword type="function" name="xmlNewTextWriterPushParser ()" link="libxml2-xmlwriter.html#xmlNewTextWriterPushParser"/>
    <keyword type="function" name="xmlNewTextWriterTree ()" link="libxml2-xmlwriter.html#xmlNewTextWriterTree"/>
    <keyword type="function" name="xmlNewValidCtxt ()" link="libxml2-valid.html#xmlNewValidCtxt"/>
    <keyword type="function" name="xmlNextChar ()" link="libxml2-parserInternals.html#xmlNextChar"/>
    <keyword type="function" name="xmlNextElementSibling ()" link="libxml2-tree.html#xmlNextElementSibling"/>
    <keyword type="function" name="xmlNoNetExternalEntityLoader ()" link="libxml2-xmlIO.html#xmlNoNetExternalEntityLoader"/>
    <keyword type="function" name="xmlNodeAddContent ()" link="libxml2-tree.html#xmlNodeAddContent"/>
    <keyword type="function" name="xmlNodeAddContentLen ()" link="libxml2-tree.html#xmlNodeAddContentLen"/>
    <keyword type="function" name="xmlNodeBufGetContent ()" link="libxml2-tree.html#xmlNodeBufGetContent"/>
    <keyword type="function" name="xmlNodeDump ()" link="libxml2-tree.html#xmlNodeDump"/>
    <keyword type="function" name="xmlNodeDumpOutput ()" link="libxml2-tree.html#xmlNodeDumpOutput"/>
    <keyword type="function" name="xmlNodeGetBase ()" link="libxml2-tree.html#xmlNodeGetBase"/>
    <keyword type="function" name="xmlNodeGetContent ()" link="libxml2-tree.html#xmlNodeGetContent"/>
    <keyword type="function" name="xmlNodeGetLang ()" link="libxml2-tree.html#xmlNodeGetLang"/>
    <keyword type="function" name="xmlNodeGetSpacePreserve ()" link="libxml2-tree.html#xmlNodeGetSpacePreserve"/>
    <keyword type="function" name="xmlNodeIsText ()" link="libxml2-tree.html#xmlNodeIsText"/>
    <keyword type="function" name="xmlNodeListGetRawString ()" link="libxml2-tree.html#xmlNodeListGetRawString"/>
    <keyword type="function" name="xmlNodeListGetString ()" link="libxml2-tree.html#xmlNodeListGetString"/>
    <keyword type="function" name="xmlNodeSetBase ()" link="libxml2-tree.html#xmlNodeSetBase"/>
    <keyword type="function" name="xmlNodeSetContent ()" link="libxml2-tree.html#xmlNodeSetContent"/>
    <keyword type="function" name="xmlNodeSetContentLen ()" link="libxml2-tree.html#xmlNodeSetContentLen"/>
    <keyword type="function" name="xmlNodeSetLang ()" link="libxml2-tree.html#xmlNodeSetLang"/>
    <keyword type="function" name="xmlNodeSetName ()" link="libxml2-tree.html#xmlNodeSetName"/>
    <keyword type="function" name="xmlNodeSetSpacePreserve ()" link="libxml2-tree.html#xmlNodeSetSpacePreserve"/>
    <keyword type="function" name="xmlNormalizeURIPath ()" link="libxml2-uri.html#xmlNormalizeURIPath"/>
    <keyword type="function" name="xmlNormalizeWindowsPath ()" link="libxml2-xmlIO.html#xmlNormalizeWindowsPath"/>
    <keyword type="function" name="xmlOutputBufferClose ()" link="libxml2-xmlIO.html#xmlOutputBufferClose"/>
    <keyword type="function" name="xmlOutputBufferCreateBuffer ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateBuffer"/>
    <keyword type="function" name="xmlOutputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFd"/>
    <keyword type="function" name="xmlOutputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFile"/>
    <keyword type="function" name="xmlOutputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFilename"/>
    <keyword type="function" name="xmlOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlOutputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlOutputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateIO"/>
    <keyword type="function" name="xmlOutputBufferFlush ()" link="libxml2-xmlIO.html#xmlOutputBufferFlush"/>
    <keyword type="function" name="xmlOutputBufferGetContent ()" link="libxml2-xmlIO.html#xmlOutputBufferGetContent"/>
    <keyword type="function" name="xmlOutputBufferGetSize ()" link="libxml2-xmlIO.html#xmlOutputBufferGetSize"/>
    <keyword type="function" name="xmlOutputBufferWrite ()" link="libxml2-xmlIO.html#xmlOutputBufferWrite"/>
    <keyword type="function" name="xmlOutputBufferWriteEscape ()" link="libxml2-xmlIO.html#xmlOutputBufferWriteEscape"/>
    <keyword type="function" name="xmlOutputBufferWriteString ()" link="libxml2-xmlIO.html#xmlOutputBufferWriteString"/>
    <keyword type="function" name="xmlParseAttValue ()" link="libxml2-parserInternals.html#xmlParseAttValue"/>
    <keyword type="function" name="xmlParseAttribute ()" link="libxml2-parserInternals.html#xmlParseAttribute"/>
    <keyword type="function" name="xmlParseAttributeListDecl ()" link="libxml2-parserInternals.html#xmlParseAttributeListDecl"/>
    <keyword type="function" name="xmlParseAttributeType ()" link="libxml2-parserInternals.html#xmlParseAttributeType"/>
    <keyword type="function" name="xmlParseBalancedChunkMemory ()" link="libxml2-parser.html#xmlParseBalancedChunkMemory"/>
    <keyword type="function" name="xmlParseBalancedChunkMemoryRecover ()" link="libxml2-parser.html#xmlParseBalancedChunkMemoryRecover"/>
    <keyword type="function" name="xmlParseCDSect ()" link="libxml2-parserInternals.html#xmlParseCDSect"/>
    <keyword type="function" name="xmlParseCatalogFile ()" link="libxml2-catalog.html#xmlParseCatalogFile"/>
    <keyword type="function" name="xmlParseCharData ()" link="libxml2-parserInternals.html#xmlParseCharData"/>
    <keyword type="function" name="xmlParseCharEncoding ()" link="libxml2-encoding.html#xmlParseCharEncoding"/>
    <keyword type="function" name="xmlParseCharRef ()" link="libxml2-parserInternals.html#xmlParseCharRef"/>
    <keyword type="function" name="xmlParseChunk ()" link="libxml2-parser.html#xmlParseChunk"/>
    <keyword type="function" name="xmlParseComment ()" link="libxml2-parserInternals.html#xmlParseComment"/>
    <keyword type="function" name="xmlParseContent ()" link="libxml2-parserInternals.html#xmlParseContent"/>
    <keyword type="function" name="xmlParseCtxtExternalEntity ()" link="libxml2-parser.html#xmlParseCtxtExternalEntity"/>
    <keyword type="function" name="xmlParseDTD ()" link="libxml2-parser.html#xmlParseDTD"/>
    <keyword type="function" name="xmlParseDefaultDecl ()" link="libxml2-parserInternals.html#xmlParseDefaultDecl"/>
    <keyword type="function" name="xmlParseDoc ()" link="libxml2-parser.html#xmlParseDoc"/>
    <keyword type="function" name="xmlParseDocTypeDecl ()" link="libxml2-parserInternals.html#xmlParseDocTypeDecl"/>
    <keyword type="function" name="xmlParseDocument ()" link="libxml2-parser.html#xmlParseDocument"/>
    <keyword type="function" name="xmlParseElement ()" link="libxml2-parserInternals.html#xmlParseElement"/>
    <keyword type="function" name="xmlParseElementChildrenContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementChildrenContentDecl"/>
    <keyword type="function" name="xmlParseElementContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementContentDecl"/>
    <keyword type="function" name="xmlParseElementDecl ()" link="libxml2-parserInternals.html#xmlParseElementDecl"/>
    <keyword type="function" name="xmlParseElementMixedContentDecl ()" link="libxml2-parserInternals.html#xmlParseElementMixedContentDecl"/>
    <keyword type="function" name="xmlParseEncName ()" link="libxml2-parserInternals.html#xmlParseEncName"/>
    <keyword type="function" name="xmlParseEncodingDecl ()" link="libxml2-parserInternals.html#xmlParseEncodingDecl"/>
    <keyword type="function" name="xmlParseEndTag ()" link="libxml2-parserInternals.html#xmlParseEndTag"/>
    <keyword type="function" name="xmlParseEntity ()" link="libxml2-parser.html#xmlParseEntity"/>
    <keyword type="function" name="xmlParseEntityDecl ()" link="libxml2-parserInternals.html#xmlParseEntityDecl"/>
    <keyword type="function" name="xmlParseEntityRef ()" link="libxml2-parserInternals.html#xmlParseEntityRef"/>
    <keyword type="function" name="xmlParseEntityValue ()" link="libxml2-parserInternals.html#xmlParseEntityValue"/>
    <keyword type="function" name="xmlParseEnumeratedType ()" link="libxml2-parserInternals.html#xmlParseEnumeratedType"/>
    <keyword type="function" name="xmlParseEnumerationType ()" link="libxml2-parserInternals.html#xmlParseEnumerationType"/>
    <keyword type="function" name="xmlParseExtParsedEnt ()" link="libxml2-parser.html#xmlParseExtParsedEnt"/>
    <keyword type="function" name="xmlParseExternalEntity ()" link="libxml2-parser.html#xmlParseExternalEntity"/>
    <keyword type="function" name="xmlParseExternalID ()" link="libxml2-parserInternals.html#xmlParseExternalID"/>
    <keyword type="function" name="xmlParseExternalSubset ()" link="libxml2-parserInternals.html#xmlParseExternalSubset"/>
    <keyword type="function" name="xmlParseFile ()" link="libxml2-parser.html#xmlParseFile"/>
    <keyword type="function" name="xmlParseInNodeContext ()" link="libxml2-parser.html#xmlParseInNodeContext"/>
    <keyword type="function" name="xmlParseMarkupDecl ()" link="libxml2-parserInternals.html#xmlParseMarkupDecl"/>
    <keyword type="function" name="xmlParseMemory ()" link="libxml2-parser.html#xmlParseMemory"/>
    <keyword type="function" name="xmlParseMisc ()" link="libxml2-parserInternals.html#xmlParseMisc"/>
    <keyword type="function" name="xmlParseName ()" link="libxml2-parserInternals.html#xmlParseName"/>
    <keyword type="function" name="xmlParseNamespace ()" link="libxml2-parserInternals.html#xmlParseNamespace"/>
    <keyword type="function" name="xmlParseNmtoken ()" link="libxml2-parserInternals.html#xmlParseNmtoken"/>
    <keyword type="function" name="xmlParseNotationDecl ()" link="libxml2-parserInternals.html#xmlParseNotationDecl"/>
    <keyword type="function" name="xmlParseNotationType ()" link="libxml2-parserInternals.html#xmlParseNotationType"/>
    <keyword type="function" name="xmlParsePEReference ()" link="libxml2-parserInternals.html#xmlParsePEReference"/>
    <keyword type="function" name="xmlParsePI ()" link="libxml2-parserInternals.html#xmlParsePI"/>
    <keyword type="function" name="xmlParsePITarget ()" link="libxml2-parserInternals.html#xmlParsePITarget"/>
    <keyword type="function" name="xmlParsePubidLiteral ()" link="libxml2-parserInternals.html#xmlParsePubidLiteral"/>
    <keyword type="function" name="xmlParseQuotedString ()" link="libxml2-parserInternals.html#xmlParseQuotedString"/>
    <keyword type="function" name="xmlParseReference ()" link="libxml2-parserInternals.html#xmlParseReference"/>
    <keyword type="function" name="xmlParseSDDecl ()" link="libxml2-parserInternals.html#xmlParseSDDecl"/>
    <keyword type="function" name="xmlParseStartTag ()" link="libxml2-parserInternals.html#xmlParseStartTag"/>
    <keyword type="function" name="xmlParseSystemLiteral ()" link="libxml2-parserInternals.html#xmlParseSystemLiteral"/>
    <keyword type="function" name="xmlParseTextDecl ()" link="libxml2-parserInternals.html#xmlParseTextDecl"/>
    <keyword type="function" name="xmlParseURI ()" link="libxml2-uri.html#xmlParseURI"/>
    <keyword type="function" name="xmlParseURIRaw ()" link="libxml2-uri.html#xmlParseURIRaw"/>
    <keyword type="function" name="xmlParseURIReference ()" link="libxml2-uri.html#xmlParseURIReference"/>
    <keyword type="function" name="xmlParseVersionInfo ()" link="libxml2-parserInternals.html#xmlParseVersionInfo"/>
    <keyword type="function" name="xmlParseVersionNum ()" link="libxml2-parserInternals.html#xmlParseVersionNum"/>
    <keyword type="function" name="xmlParseXMLDecl ()" link="libxml2-parserInternals.html#xmlParseXMLDecl"/>
    <keyword type="function" name="xmlParserAddNodeInfo ()" link="libxml2-parser.html#xmlParserAddNodeInfo"/>
    <keyword type="function" name="xmlParserError ()" link="libxml2-xmlerror.html#xmlParserError"/>
    <keyword type="function" name="xmlParserFindNodeInfo ()" link="libxml2-parser.html#xmlParserFindNodeInfo"/>
    <keyword type="function" name="xmlParserFindNodeInfoIndex ()" link="libxml2-parser.html#xmlParserFindNodeInfoIndex"/>
    <keyword type="function" name="xmlParserGetDirectory ()" link="libxml2-xmlIO.html#xmlParserGetDirectory"/>
    <keyword type="function" name="xmlParserHandlePEReference ()" link="libxml2-parserInternals.html#xmlParserHandlePEReference"/>
    <keyword type="function" name="xmlParserHandleReference ()" link="libxml2-parserInternals.html#xmlParserHandleReference"/>
    <keyword type="function" name="xmlParserInputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFd"/>
    <keyword type="function" name="xmlParserInputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFile"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilename"/>
    <keyword type="function" name="xmlParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlParserInputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateIO"/>
    <keyword type="function" name="xmlParserInputBufferCreateMem ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateMem"/>
    <keyword type="function" name="xmlParserInputBufferCreateStatic ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateStatic"/>
    <keyword type="function" name="xmlParserInputBufferGrow ()" link="libxml2-xmlIO.html#xmlParserInputBufferGrow"/>
    <keyword type="function" name="xmlParserInputBufferPush ()" link="libxml2-xmlIO.html#xmlParserInputBufferPush"/>
    <keyword type="function" name="xmlParserInputBufferRead ()" link="libxml2-xmlIO.html#xmlParserInputBufferRead"/>
    <keyword type="function" name="xmlParserInputGrow ()" link="libxml2-parser.html#xmlParserInputGrow"/>
    <keyword type="function" name="xmlParserInputRead ()" link="libxml2-parser.html#xmlParserInputRead"/>
    <keyword type="function" name="xmlParserInputShrink ()" link="libxml2-parserInternals.html#xmlParserInputShrink"/>
    <keyword type="function" name="xmlParserPrintFileContext ()" link="libxml2-xmlerror.html#xmlParserPrintFileContext"/>
    <keyword type="function" name="xmlParserPrintFileInfo ()" link="libxml2-xmlerror.html#xmlParserPrintFileInfo"/>
    <keyword type="function" name="xmlParserValidityError ()" link="libxml2-xmlerror.html#xmlParserValidityError"/>
    <keyword type="function" name="xmlParserValidityWarning ()" link="libxml2-xmlerror.html#xmlParserValidityWarning"/>
    <keyword type="function" name="xmlParserWarning ()" link="libxml2-xmlerror.html#xmlParserWarning"/>
    <keyword type="function" name="xmlPathToURI ()" link="libxml2-uri.html#xmlPathToURI"/>
    <keyword type="function" name="xmlPatternFromRoot ()" link="libxml2-pattern.html#xmlPatternFromRoot"/>
    <keyword type="function" name="xmlPatternGetStreamCtxt ()" link="libxml2-pattern.html#xmlPatternGetStreamCtxt"/>
    <keyword type="function" name="xmlPatternMatch ()" link="libxml2-pattern.html#xmlPatternMatch"/>
    <keyword type="function" name="xmlPatternMaxDepth ()" link="libxml2-pattern.html#xmlPatternMaxDepth"/>
    <keyword type="function" name="xmlPatternMinDepth ()" link="libxml2-pattern.html#xmlPatternMinDepth"/>
    <keyword type="function" name="xmlPatternStreamable ()" link="libxml2-pattern.html#xmlPatternStreamable"/>
    <keyword type="function" name="xmlPatterncompile ()" link="libxml2-pattern.html#xmlPatterncompile"/>
    <keyword type="function" name="xmlPedanticParserDefault ()" link="libxml2-parser.html#xmlPedanticParserDefault"/>
    <keyword type="function" name="xmlPopInput ()" link="libxml2-parserInternals.html#xmlPopInput"/>
    <keyword type="function" name="xmlPopInputCallbacks ()" link="libxml2-xmlIO.html#xmlPopInputCallbacks"/>
    <keyword type="function" name="xmlPopOutputCallbacks ()" link="libxml2-xmlIO.html#xmlPopOutputCallbacks"/>
    <keyword type="function" name="xmlPreviousElementSibling ()" link="libxml2-tree.html#xmlPreviousElementSibling"/>
    <keyword type="function" name="xmlPrintURI ()" link="libxml2-uri.html#xmlPrintURI"/>
    <keyword type="function" name="xmlPushInput ()" link="libxml2-parserInternals.html#xmlPushInput"/>
    <keyword type="function" name="xmlRMutexLock ()" link="libxml2-threads.html#xmlRMutexLock"/>
    <keyword type="function" name="xmlRMutexUnlock ()" link="libxml2-threads.html#xmlRMutexUnlock"/>
    <keyword type="function" name="xmlReadDoc ()" link="libxml2-parser.html#xmlReadDoc"/>
    <keyword type="function" name="xmlReadFd ()" link="libxml2-parser.html#xmlReadFd"/>
    <keyword type="function" name="xmlReadFile ()" link="libxml2-parser.html#xmlReadFile"/>
    <keyword type="function" name="xmlReadIO ()" link="libxml2-parser.html#xmlReadIO"/>
    <keyword type="function" name="xmlReadMemory ()" link="libxml2-parser.html#xmlReadMemory"/>
    <keyword type="function" name="xmlReaderForDoc ()" link="libxml2-xmlreader.html#xmlReaderForDoc"/>
    <keyword type="function" name="xmlReaderForFd ()" link="libxml2-xmlreader.html#xmlReaderForFd"/>
    <keyword type="function" name="xmlReaderForFile ()" link="libxml2-xmlreader.html#xmlReaderForFile"/>
    <keyword type="function" name="xmlReaderForIO ()" link="libxml2-xmlreader.html#xmlReaderForIO"/>
    <keyword type="function" name="xmlReaderForMemory ()" link="libxml2-xmlreader.html#xmlReaderForMemory"/>
    <keyword type="function" name="xmlReaderNewDoc ()" link="libxml2-xmlreader.html#xmlReaderNewDoc"/>
    <keyword type="function" name="xmlReaderNewFd ()" link="libxml2-xmlreader.html#xmlReaderNewFd"/>
    <keyword type="function" name="xmlReaderNewFile ()" link="libxml2-xmlreader.html#xmlReaderNewFile"/>
    <keyword type="function" name="xmlReaderNewIO ()" link="libxml2-xmlreader.html#xmlReaderNewIO"/>
    <keyword type="function" name="xmlReaderNewMemory ()" link="libxml2-xmlreader.html#xmlReaderNewMemory"/>
    <keyword type="function" name="xmlReaderNewWalker ()" link="libxml2-xmlreader.html#xmlReaderNewWalker"/>
    <keyword type="function" name="xmlReaderWalker ()" link="libxml2-xmlreader.html#xmlReaderWalker"/>
    <keyword type="function" name="xmlReallocLoc ()" link="libxml2-xmlmemory.html#xmlReallocLoc"/>
    <keyword type="function" name="xmlReconciliateNs ()" link="libxml2-tree.html#xmlReconciliateNs"/>
    <keyword type="function" name="xmlRecoverDoc ()" link="libxml2-parser.html#xmlRecoverDoc"/>
    <keyword type="function" name="xmlRecoverFile ()" link="libxml2-parser.html#xmlRecoverFile"/>
    <keyword type="function" name="xmlRecoverMemory ()" link="libxml2-parser.html#xmlRecoverMemory"/>
    <keyword type="function" name="xmlRegExecErrInfo ()" link="libxml2-xmlregexp.html#xmlRegExecErrInfo"/>
    <keyword type="function" name="xmlRegExecNextValues ()" link="libxml2-xmlregexp.html#xmlRegExecNextValues"/>
    <keyword type="function" name="xmlRegExecPushString ()" link="libxml2-xmlregexp.html#xmlRegExecPushString"/>
    <keyword type="function" name="xmlRegExecPushString2 ()" link="libxml2-xmlregexp.html#xmlRegExecPushString2"/>
    <keyword type="function" name="xmlRegFreeExecCtxt ()" link="libxml2-xmlregexp.html#xmlRegFreeExecCtxt"/>
    <keyword type="function" name="xmlRegFreeRegexp ()" link="libxml2-xmlregexp.html#xmlRegFreeRegexp"/>
    <keyword type="function" name="xmlRegNewExecCtxt ()" link="libxml2-xmlregexp.html#xmlRegNewExecCtxt"/>
    <keyword type="function" name="xmlRegexpCompile ()" link="libxml2-xmlregexp.html#xmlRegexpCompile"/>
    <keyword type="function" name="xmlRegexpExec ()" link="libxml2-xmlregexp.html#xmlRegexpExec"/>
    <keyword type="function" name="xmlRegexpIsDeterminist ()" link="libxml2-xmlregexp.html#xmlRegexpIsDeterminist"/>
    <keyword type="function" name="xmlRegexpPrint ()" link="libxml2-xmlregexp.html#xmlRegexpPrint"/>
    <keyword type="function" name="xmlRegisterCharEncodingHandler ()" link="libxml2-encoding.html#xmlRegisterCharEncodingHandler"/>
    <keyword type="function" name="xmlRegisterDefaultInputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterDefaultInputCallbacks"/>
    <keyword type="function" name="xmlRegisterDefaultOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterDefaultOutputCallbacks"/>
    <keyword type="function" name="xmlRegisterHTTPPostCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterHTTPPostCallbacks"/>
    <keyword type="function" name="xmlRegisterInputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterInputCallbacks"/>
    <keyword type="function" name="xmlRegisterNodeDefault ()" link="libxml2-globals.html#xmlRegisterNodeDefault"/>
    <keyword type="function" name="xmlRegisterOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterOutputCallbacks"/>
    <keyword type="function" name="xmlRelaxNGCleanupTypes ()" link="libxml2-relaxng.html#xmlRelaxNGCleanupTypes"/>
    <keyword type="function" name="xmlRelaxNGDump ()" link="libxml2-relaxng.html#xmlRelaxNGDump"/>
    <keyword type="function" name="xmlRelaxNGDumpTree ()" link="libxml2-relaxng.html#xmlRelaxNGDumpTree"/>
    <keyword type="function" name="xmlRelaxNGFree ()" link="libxml2-relaxng.html#xmlRelaxNGFree"/>
    <keyword type="function" name="xmlRelaxNGFreeParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGFreeParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGFreeValidCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGFreeValidCtxt"/>
    <keyword type="function" name="xmlRelaxNGGetParserErrors ()" link="libxml2-relaxng.html#xmlRelaxNGGetParserErrors"/>
    <keyword type="function" name="xmlRelaxNGGetValidErrors ()" link="libxml2-relaxng.html#xmlRelaxNGGetValidErrors"/>
    <keyword type="function" name="xmlRelaxNGInitTypes ()" link="libxml2-relaxng.html#xmlRelaxNGInitTypes"/>
    <keyword type="function" name="xmlRelaxNGNewDocParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewDocParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewMemParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewMemParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewParserCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewParserCtxt"/>
    <keyword type="function" name="xmlRelaxNGNewValidCtxt ()" link="libxml2-relaxng.html#xmlRelaxNGNewValidCtxt"/>
    <keyword type="function" name="xmlRelaxNGParse ()" link="libxml2-relaxng.html#xmlRelaxNGParse"/>
    <keyword type="function" name="xmlRelaxNGSetParserErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserErrors"/>
    <keyword type="function" name="xmlRelaxNGSetParserStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserStructuredErrors"/>
    <keyword type="function" name="xmlRelaxNGSetValidErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidErrors"/>
    <keyword type="function" name="xmlRelaxNGSetValidStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidStructuredErrors"/>
    <keyword type="function" name="xmlRelaxNGValidateDoc ()" link="libxml2-relaxng.html#xmlRelaxNGValidateDoc"/>
    <keyword type="function" name="xmlRelaxNGValidateFullElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidateFullElement"/>
    <keyword type="function" name="xmlRelaxNGValidatePopElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePopElement"/>
    <keyword type="function" name="xmlRelaxNGValidatePushCData ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePushCData"/>
    <keyword type="function" name="xmlRelaxNGValidatePushElement ()" link="libxml2-relaxng.html#xmlRelaxNGValidatePushElement"/>
    <keyword type="function" name="xmlRelaxParserSetFlag ()" link="libxml2-relaxng.html#xmlRelaxParserSetFlag"/>
    <keyword type="function" name="xmlRemoveID ()" link="libxml2-valid.html#xmlRemoveID"/>
    <keyword type="function" name="xmlRemoveProp ()" link="libxml2-tree.html#xmlRemoveProp"/>
    <keyword type="function" name="xmlRemoveRef ()" link="libxml2-valid.html#xmlRemoveRef"/>
    <keyword type="function" name="xmlReplaceNode ()" link="libxml2-tree.html#xmlReplaceNode"/>
    <keyword type="function" name="xmlResetError ()" link="libxml2-xmlerror.html#xmlResetError"/>
    <keyword type="function" name="xmlResetLastError ()" link="libxml2-xmlerror.html#xmlResetLastError"/>
    <keyword type="function" name="xmlSAX2AttributeDecl ()" link="libxml2-SAX2.html#xmlSAX2AttributeDecl"/>
    <keyword type="function" name="xmlSAX2CDataBlock ()" link="libxml2-SAX2.html#xmlSAX2CDataBlock"/>
    <keyword type="function" name="xmlSAX2Characters ()" link="libxml2-SAX2.html#xmlSAX2Characters"/>
    <keyword type="function" name="xmlSAX2Comment ()" link="libxml2-SAX2.html#xmlSAX2Comment"/>
    <keyword type="function" name="xmlSAX2ElementDecl ()" link="libxml2-SAX2.html#xmlSAX2ElementDecl"/>
    <keyword type="function" name="xmlSAX2EndDocument ()" link="libxml2-SAX2.html#xmlSAX2EndDocument"/>
    <keyword type="function" name="xmlSAX2EndElement ()" link="libxml2-SAX2.html#xmlSAX2EndElement"/>
    <keyword type="function" name="xmlSAX2EndElementNs ()" link="libxml2-SAX2.html#xmlSAX2EndElementNs"/>
    <keyword type="function" name="xmlSAX2EntityDecl ()" link="libxml2-SAX2.html#xmlSAX2EntityDecl"/>
    <keyword type="function" name="xmlSAX2ExternalSubset ()" link="libxml2-SAX2.html#xmlSAX2ExternalSubset"/>
    <keyword type="function" name="xmlSAX2GetColumnNumber ()" link="libxml2-SAX2.html#xmlSAX2GetColumnNumber"/>
    <keyword type="function" name="xmlSAX2GetEntity ()" link="libxml2-SAX2.html#xmlSAX2GetEntity"/>
    <keyword type="function" name="xmlSAX2GetLineNumber ()" link="libxml2-SAX2.html#xmlSAX2GetLineNumber"/>
    <keyword type="function" name="xmlSAX2GetParameterEntity ()" link="libxml2-SAX2.html#xmlSAX2GetParameterEntity"/>
    <keyword type="function" name="xmlSAX2GetPublicId ()" link="libxml2-SAX2.html#xmlSAX2GetPublicId"/>
    <keyword type="function" name="xmlSAX2GetSystemId ()" link="libxml2-SAX2.html#xmlSAX2GetSystemId"/>
    <keyword type="function" name="xmlSAX2HasExternalSubset ()" link="libxml2-SAX2.html#xmlSAX2HasExternalSubset"/>
    <keyword type="function" name="xmlSAX2HasInternalSubset ()" link="libxml2-SAX2.html#xmlSAX2HasInternalSubset"/>
    <keyword type="function" name="xmlSAX2IgnorableWhitespace ()" link="libxml2-SAX2.html#xmlSAX2IgnorableWhitespace"/>
    <keyword type="function" name="xmlSAX2InitDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitDefaultSAXHandler"/>
    <keyword type="function" name="xmlSAX2InitHtmlDefaultSAXHandler ()" link="libxml2-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler"/>
    <keyword type="function" name="xmlSAX2InternalSubset ()" link="libxml2-SAX2.html#xmlSAX2InternalSubset"/>
    <keyword type="function" name="xmlSAX2IsStandalone ()" link="libxml2-SAX2.html#xmlSAX2IsStandalone"/>
    <keyword type="function" name="xmlSAX2NotationDecl ()" link="libxml2-SAX2.html#xmlSAX2NotationDecl"/>
    <keyword type="function" name="xmlSAX2ProcessingInstruction ()" link="libxml2-SAX2.html#xmlSAX2ProcessingInstruction"/>
    <keyword type="function" name="xmlSAX2Reference ()" link="libxml2-SAX2.html#xmlSAX2Reference"/>
    <keyword type="function" name="xmlSAX2ResolveEntity ()" link="libxml2-SAX2.html#xmlSAX2ResolveEntity"/>
    <keyword type="function" name="xmlSAX2SetDocumentLocator ()" link="libxml2-SAX2.html#xmlSAX2SetDocumentLocator"/>
    <keyword type="function" name="xmlSAX2StartDocument ()" link="libxml2-SAX2.html#xmlSAX2StartDocument"/>
    <keyword type="function" name="xmlSAX2StartElement ()" link="libxml2-SAX2.html#xmlSAX2StartElement"/>
    <keyword type="function" name="xmlSAX2StartElementNs ()" link="libxml2-SAX2.html#xmlSAX2StartElementNs"/>
    <keyword type="function" name="xmlSAX2UnparsedEntityDecl ()" link="libxml2-SAX2.html#xmlSAX2UnparsedEntityDecl"/>
    <keyword type="function" name="xmlSAXDefaultVersion ()" link="libxml2-SAX2.html#xmlSAXDefaultVersion"/>
    <keyword type="function" name="xmlSAXParseDTD ()" link="libxml2-parser.html#xmlSAXParseDTD"/>
    <keyword type="function" name="xmlSAXParseDoc ()" link="libxml2-parser.html#xmlSAXParseDoc"/>
    <keyword type="function" name="xmlSAXParseEntity ()" link="libxml2-parser.html#xmlSAXParseEntity"/>
    <keyword type="function" name="xmlSAXParseFile ()" link="libxml2-parser.html#xmlSAXParseFile"/>
    <keyword type="function" name="xmlSAXParseFileWithData ()" link="libxml2-parser.html#xmlSAXParseFileWithData"/>
    <keyword type="function" name="xmlSAXParseMemory ()" link="libxml2-parser.html#xmlSAXParseMemory"/>
    <keyword type="function" name="xmlSAXParseMemoryWithData ()" link="libxml2-parser.html#xmlSAXParseMemoryWithData"/>
    <keyword type="function" name="xmlSAXUserParseFile ()" link="libxml2-parser.html#xmlSAXUserParseFile"/>
    <keyword type="function" name="xmlSAXUserParseMemory ()" link="libxml2-parser.html#xmlSAXUserParseMemory"/>
    <keyword type="function" name="xmlSAXVersion ()" link="libxml2-SAX2.html#xmlSAXVersion"/>
    <keyword type="function" name="xmlSaveClose ()" link="libxml2-xmlsave.html#xmlSaveClose"/>
    <keyword type="function" name="xmlSaveDoc ()" link="libxml2-xmlsave.html#xmlSaveDoc"/>
    <keyword type="function" name="xmlSaveFile ()" link="libxml2-tree.html#xmlSaveFile"/>
    <keyword type="function" name="xmlSaveFileEnc ()" link="libxml2-tree.html#xmlSaveFileEnc"/>
    <keyword type="function" name="xmlSaveFileTo ()" link="libxml2-tree.html#xmlSaveFileTo"/>
    <keyword type="function" name="xmlSaveFlush ()" link="libxml2-xmlsave.html#xmlSaveFlush"/>
    <keyword type="function" name="xmlSaveFormatFile ()" link="libxml2-tree.html#xmlSaveFormatFile"/>
    <keyword type="function" name="xmlSaveFormatFileEnc ()" link="libxml2-tree.html#xmlSaveFormatFileEnc"/>
    <keyword type="function" name="xmlSaveFormatFileTo ()" link="libxml2-tree.html#xmlSaveFormatFileTo"/>
    <keyword type="function" name="xmlSaveSetAttrEscape ()" link="libxml2-xmlsave.html#xmlSaveSetAttrEscape"/>
    <keyword type="function" name="xmlSaveSetEscape ()" link="libxml2-xmlsave.html#xmlSaveSetEscape"/>
    <keyword type="function" name="xmlSaveToBuffer ()" link="libxml2-xmlsave.html#xmlSaveToBuffer"/>
    <keyword type="function" name="xmlSaveToFd ()" link="libxml2-xmlsave.html#xmlSaveToFd"/>
    <keyword type="function" name="xmlSaveToFilename ()" link="libxml2-xmlsave.html#xmlSaveToFilename"/>
    <keyword type="function" name="xmlSaveToIO ()" link="libxml2-xmlsave.html#xmlSaveToIO"/>
    <keyword type="function" name="xmlSaveTree ()" link="libxml2-xmlsave.html#xmlSaveTree"/>
    <keyword type="function" name="xmlSaveUri ()" link="libxml2-uri.html#xmlSaveUri"/>
    <keyword type="function" name="xmlScanName ()" link="libxml2-parserInternals.html#xmlScanName"/>
    <keyword type="function" name="xmlSchemaCheckFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaCheckFacet"/>
    <keyword type="function" name="xmlSchemaCleanupTypes ()" link="libxml2-xmlschemastypes.html#xmlSchemaCleanupTypes"/>
    <keyword type="function" name="xmlSchemaCollapseString ()" link="libxml2-xmlschemastypes.html#xmlSchemaCollapseString"/>
    <keyword type="function" name="xmlSchemaCompareValues ()" link="libxml2-xmlschemastypes.html#xmlSchemaCompareValues"/>
    <keyword type="function" name="xmlSchemaCompareValuesWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaCompareValuesWhtsp"/>
    <keyword type="function" name="xmlSchemaCopyValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaCopyValue"/>
    <keyword type="function" name="xmlSchemaDump ()" link="libxml2-xmlschemas.html#xmlSchemaDump"/>
    <keyword type="function" name="xmlSchemaFree ()" link="libxml2-xmlschemas.html#xmlSchemaFree"/>
    <keyword type="function" name="xmlSchemaFreeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaFreeFacet"/>
    <keyword type="function" name="xmlSchemaFreeParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaFreeParserCtxt"/>
    <keyword type="function" name="xmlSchemaFreeType ()" link="libxml2-schemasInternals.html#xmlSchemaFreeType"/>
    <keyword type="function" name="xmlSchemaFreeValidCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaFreeValidCtxt"/>
    <keyword type="function" name="xmlSchemaFreeValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaFreeValue"/>
    <keyword type="function" name="xmlSchemaFreeWildcard ()" link="libxml2-schemasInternals.html#xmlSchemaFreeWildcard"/>
    <keyword type="function" name="xmlSchemaGetBuiltInListSimpleTypeItemType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType"/>
    <keyword type="function" name="xmlSchemaGetBuiltInType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetBuiltInType"/>
    <keyword type="function" name="xmlSchemaGetCanonValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetCanonValue"/>
    <keyword type="function" name="xmlSchemaGetCanonValueWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetCanonValueWhtsp"/>
    <keyword type="function" name="xmlSchemaGetFacetValueAsULong ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetFacetValueAsULong"/>
    <keyword type="function" name="xmlSchemaGetParserErrors ()" link="libxml2-xmlschemas.html#xmlSchemaGetParserErrors"/>
    <keyword type="function" name="xmlSchemaGetPredefinedType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetPredefinedType"/>
    <keyword type="function" name="xmlSchemaGetValType ()" link="libxml2-xmlschemastypes.html#xmlSchemaGetValType"/>
    <keyword type="function" name="xmlSchemaGetValidErrors ()" link="libxml2-xmlschemas.html#xmlSchemaGetValidErrors"/>
    <keyword type="function" name="xmlSchemaInitTypes ()" link="libxml2-xmlschemastypes.html#xmlSchemaInitTypes"/>
    <keyword type="function" name="xmlSchemaIsBuiltInTypeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet"/>
    <keyword type="function" name="xmlSchemaIsValid ()" link="libxml2-xmlschemas.html#xmlSchemaIsValid"/>
    <keyword type="function" name="xmlSchemaNewDocParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewDocParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewFacet"/>
    <keyword type="function" name="xmlSchemaNewMemParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewMemParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewNOTATIONValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewNOTATIONValue"/>
    <keyword type="function" name="xmlSchemaNewParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewParserCtxt"/>
    <keyword type="function" name="xmlSchemaNewQNameValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewQNameValue"/>
    <keyword type="function" name="xmlSchemaNewStringValue ()" link="libxml2-xmlschemastypes.html#xmlSchemaNewStringValue"/>
    <keyword type="function" name="xmlSchemaNewValidCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaNewValidCtxt"/>
    <keyword type="function" name="xmlSchemaParse ()" link="libxml2-xmlschemas.html#xmlSchemaParse"/>
    <keyword type="function" name="xmlSchemaSAXPlug ()" link="libxml2-xmlschemas.html#xmlSchemaSAXPlug"/>
    <keyword type="function" name="xmlSchemaSAXUnplug ()" link="libxml2-xmlschemas.html#xmlSchemaSAXUnplug"/>
    <keyword type="function" name="xmlSchemaSetParserErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserErrors"/>
    <keyword type="function" name="xmlSchemaSetParserStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserStructuredErrors"/>
    <keyword type="function" name="xmlSchemaSetValidErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidErrors"/>
    <keyword type="function" name="xmlSchemaSetValidOptions ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidOptions"/>
    <keyword type="function" name="xmlSchemaSetValidStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidStructuredErrors"/>
    <keyword type="function" name="xmlSchemaValPredefTypeNode ()" link="libxml2-xmlschemastypes.html#xmlSchemaValPredefTypeNode"/>
    <keyword type="function" name="xmlSchemaValPredefTypeNodeNoNorm ()" link="libxml2-xmlschemastypes.html#xmlSchemaValPredefTypeNodeNoNorm"/>
    <keyword type="function" name="xmlSchemaValidCtxtGetOptions ()" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtGetOptions"/>
    <keyword type="function" name="xmlSchemaValidCtxtGetParserCtxt ()" link="libxml2-xmlschemas.html#xmlSchemaValidCtxtGetParserCtxt"/>
    <keyword type="function" name="xmlSchemaValidateDoc ()" link="libxml2-xmlschemas.html#xmlSchemaValidateDoc"/>
    <keyword type="function" name="xmlSchemaValidateFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateFacet"/>
    <keyword type="function" name="xmlSchemaValidateFacetWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateFacetWhtsp"/>
    <keyword type="function" name="xmlSchemaValidateFile ()" link="libxml2-xmlschemas.html#xmlSchemaValidateFile"/>
    <keyword type="function" name="xmlSchemaValidateLengthFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateLengthFacet"/>
    <keyword type="function" name="xmlSchemaValidateLengthFacetWhtsp ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateLengthFacetWhtsp"/>
    <keyword type="function" name="xmlSchemaValidateListSimpleTypeFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet"/>
    <keyword type="function" name="xmlSchemaValidateOneElement ()" link="libxml2-xmlschemas.html#xmlSchemaValidateOneElement"/>
    <keyword type="function" name="xmlSchemaValidatePredefinedType ()" link="libxml2-xmlschemastypes.html#xmlSchemaValidatePredefinedType"/>
    <keyword type="function" name="xmlSchemaValidateSetFilename ()" link="libxml2-xmlschemas.html#xmlSchemaValidateSetFilename"/>
    <keyword type="function" name="xmlSchemaValidateSetLocator ()" link="libxml2-xmlschemas.html#xmlSchemaValidateSetLocator"/>
    <keyword type="function" name="xmlSchemaValidateStream ()" link="libxml2-xmlschemas.html#xmlSchemaValidateStream"/>
    <keyword type="function" name="xmlSchemaValueAppend ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueAppend"/>
    <keyword type="function" name="xmlSchemaValueGetAsBoolean ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetAsBoolean"/>
    <keyword type="function" name="xmlSchemaValueGetAsString ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetAsString"/>
    <keyword type="function" name="xmlSchemaValueGetNext ()" link="libxml2-xmlschemastypes.html#xmlSchemaValueGetNext"/>
    <keyword type="function" name="xmlSchemaWhiteSpaceReplace ()" link="libxml2-xmlschemastypes.html#xmlSchemaWhiteSpaceReplace"/>
    <keyword type="function" name="xmlSchematronFree ()" link="libxml2-schematron.html#xmlSchematronFree"/>
    <keyword type="function" name="xmlSchematronFreeParserCtxt ()" link="libxml2-schematron.html#xmlSchematronFreeParserCtxt"/>
    <keyword type="function" name="xmlSchematronFreeValidCtxt ()" link="libxml2-schematron.html#xmlSchematronFreeValidCtxt"/>
    <keyword type="function" name="xmlSchematronNewDocParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewDocParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewMemParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewMemParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewParserCtxt ()" link="libxml2-schematron.html#xmlSchematronNewParserCtxt"/>
    <keyword type="function" name="xmlSchematronNewValidCtxt ()" link="libxml2-schematron.html#xmlSchematronNewValidCtxt"/>
    <keyword type="function" name="xmlSchematronParse ()" link="libxml2-schematron.html#xmlSchematronParse"/>
    <keyword type="function" name="xmlSchematronSetValidStructuredErrors ()" link="libxml2-schematron.html#xmlSchematronSetValidStructuredErrors"/>
    <keyword type="function" name="xmlSchematronValidateDoc ()" link="libxml2-schematron.html#xmlSchematronValidateDoc"/>
    <keyword type="function" name="xmlSearchNs ()" link="libxml2-tree.html#xmlSearchNs"/>
    <keyword type="function" name="xmlSearchNsByHref ()" link="libxml2-tree.html#xmlSearchNsByHref"/>
    <keyword type="function" name="xmlSetBufferAllocationScheme ()" link="libxml2-tree.html#xmlSetBufferAllocationScheme"/>
    <keyword type="function" name="xmlSetCompressMode ()" link="libxml2-tree.html#xmlSetCompressMode"/>
    <keyword type="function" name="xmlSetDocCompressMode ()" link="libxml2-tree.html#xmlSetDocCompressMode"/>
    <keyword type="function" name="xmlSetEntityReferenceFunc ()" link="libxml2-parserInternals.html#xmlSetEntityReferenceFunc"/>
    <keyword type="function" name="xmlSetExternalEntityLoader ()" link="libxml2-parser.html#xmlSetExternalEntityLoader"/>
    <keyword type="function" name="xmlSetFeature ()" link="libxml2-parser.html#xmlSetFeature"/>
    <keyword type="function" name="xmlSetGenericErrorFunc ()" link="libxml2-xmlerror.html#xmlSetGenericErrorFunc"/>
    <keyword type="function" name="xmlSetListDoc ()" link="libxml2-tree.html#xmlSetListDoc"/>
    <keyword type="function" name="xmlSetNs ()" link="libxml2-tree.html#xmlSetNs"/>
    <keyword type="function" name="xmlSetNsProp ()" link="libxml2-tree.html#xmlSetNsProp"/>
    <keyword type="function" name="xmlSetProp ()" link="libxml2-tree.html#xmlSetProp"/>
    <keyword type="function" name="xmlSetStructuredErrorFunc ()" link="libxml2-xmlerror.html#xmlSetStructuredErrorFunc"/>
    <keyword type="function" name="xmlSetTreeDoc ()" link="libxml2-tree.html#xmlSetTreeDoc"/>
    <keyword type="function" name="xmlSetupParserForBuffer ()" link="libxml2-parser.html#xmlSetupParserForBuffer"/>
    <keyword type="function" name="xmlShell ()" link="libxml2-debugXML.html#xmlShell"/>
    <keyword type="function" name="xmlShellBase ()" link="libxml2-debugXML.html#xmlShellBase"/>
    <keyword type="function" name="xmlShellCat ()" link="libxml2-debugXML.html#xmlShellCat"/>
    <keyword type="function" name="xmlShellDir ()" link="libxml2-debugXML.html#xmlShellDir"/>
    <keyword type="function" name="xmlShellDu ()" link="libxml2-debugXML.html#xmlShellDu"/>
    <keyword type="function" name="xmlShellList ()" link="libxml2-debugXML.html#xmlShellList"/>
    <keyword type="function" name="xmlShellLoad ()" link="libxml2-debugXML.html#xmlShellLoad"/>
    <keyword type="function" name="xmlShellPrintNode ()" link="libxml2-debugXML.html#xmlShellPrintNode"/>
    <keyword type="function" name="xmlShellPrintXPathError ()" link="libxml2-debugXML.html#xmlShellPrintXPathError"/>
    <keyword type="function" name="xmlShellPrintXPathResult ()" link="libxml2-debugXML.html#xmlShellPrintXPathResult"/>
    <keyword type="function" name="xmlShellPwd ()" link="libxml2-debugXML.html#xmlShellPwd"/>
    <keyword type="function" name="xmlShellSave ()" link="libxml2-debugXML.html#xmlShellSave"/>
    <keyword type="function" name="xmlShellValidate ()" link="libxml2-debugXML.html#xmlShellValidate"/>
    <keyword type="function" name="xmlShellWrite ()" link="libxml2-debugXML.html#xmlShellWrite"/>
    <keyword type="function" name="xmlSkipBlankChars ()" link="libxml2-parserInternals.html#xmlSkipBlankChars"/>
    <keyword type="function" name="xmlSnprintfElementContent ()" link="libxml2-valid.html#xmlSnprintfElementContent"/>
    <keyword type="function" name="xmlSplitQName ()" link="libxml2-parserInternals.html#xmlSplitQName"/>
    <keyword type="function" name="xmlSplitQName2 ()" link="libxml2-tree.html#xmlSplitQName2"/>
    <keyword type="function" name="xmlSplitQName3 ()" link="libxml2-tree.html#xmlSplitQName3"/>
    <keyword type="function" name="xmlSprintfElementContent ()" link="libxml2-valid.html#xmlSprintfElementContent"/>
    <keyword type="function" name="xmlStopParser ()" link="libxml2-parser.html#xmlStopParser"/>
    <keyword type="function" name="xmlStrEqual ()" link="libxml2-xmlstring.html#xmlStrEqual"/>
    <keyword type="function" name="xmlStrPrintf ()" link="libxml2-xmlstring.html#xmlStrPrintf"/>
    <keyword type="function" name="xmlStrQEqual ()" link="libxml2-xmlstring.html#xmlStrQEqual"/>
    <keyword type="function" name="xmlStrVPrintf ()" link="libxml2-xmlstring.html#xmlStrVPrintf"/>
    <keyword type="function" name="xmlStrcasecmp ()" link="libxml2-xmlstring.html#xmlStrcasecmp"/>
    <keyword type="function" name="xmlStrcasestr ()" link="libxml2-xmlstring.html#xmlStrcasestr"/>
    <keyword type="function" name="xmlStrcat ()" link="libxml2-xmlstring.html#xmlStrcat"/>
    <keyword type="function" name="xmlStrchr ()" link="libxml2-xmlstring.html#xmlStrchr"/>
    <keyword type="function" name="xmlStrcmp ()" link="libxml2-xmlstring.html#xmlStrcmp"/>
    <keyword type="function" name="xmlStrdup ()" link="libxml2-xmlstring.html#xmlStrdup"/>
    <keyword type="function" name="xmlStreamPop ()" link="libxml2-pattern.html#xmlStreamPop"/>
    <keyword type="function" name="xmlStreamPush ()" link="libxml2-pattern.html#xmlStreamPush"/>
    <keyword type="function" name="xmlStreamPushAttr ()" link="libxml2-pattern.html#xmlStreamPushAttr"/>
    <keyword type="function" name="xmlStreamPushNode ()" link="libxml2-pattern.html#xmlStreamPushNode"/>
    <keyword type="function" name="xmlStreamWantsAnyNode ()" link="libxml2-pattern.html#xmlStreamWantsAnyNode"/>
    <keyword type="function" name="xmlStringCurrentChar ()" link="libxml2-parserInternals.html#xmlStringCurrentChar"/>
    <keyword type="function" name="xmlStringDecodeEntities ()" link="libxml2-parserInternals.html#xmlStringDecodeEntities"/>
    <keyword type="function" name="xmlStringGetNodeList ()" link="libxml2-tree.html#xmlStringGetNodeList"/>
    <keyword type="function" name="xmlStringLenDecodeEntities ()" link="libxml2-parserInternals.html#xmlStringLenDecodeEntities"/>
    <keyword type="function" name="xmlStringLenGetNodeList ()" link="libxml2-tree.html#xmlStringLenGetNodeList"/>
    <keyword type="function" name="xmlStrlen ()" link="libxml2-xmlstring.html#xmlStrlen"/>
    <keyword type="function" name="xmlStrncasecmp ()" link="libxml2-xmlstring.html#xmlStrncasecmp"/>
    <keyword type="function" name="xmlStrncat ()" link="libxml2-xmlstring.html#xmlStrncat"/>
    <keyword type="function" name="xmlStrncatNew ()" link="libxml2-xmlstring.html#xmlStrncatNew"/>
    <keyword type="function" name="xmlStrncmp ()" link="libxml2-xmlstring.html#xmlStrncmp"/>
    <keyword type="function" name="xmlStrndup ()" link="libxml2-xmlstring.html#xmlStrndup"/>
    <keyword type="function" name="xmlStrstr ()" link="libxml2-xmlstring.html#xmlStrstr"/>
    <keyword type="function" name="xmlStrsub ()" link="libxml2-xmlstring.html#xmlStrsub"/>
    <keyword type="function" name="xmlSubstituteEntitiesDefault ()" link="libxml2-parser.html#xmlSubstituteEntitiesDefault"/>
    <keyword type="function" name="xmlSwitchEncoding ()" link="libxml2-parserInternals.html#xmlSwitchEncoding"/>
    <keyword type="function" name="xmlSwitchInputEncoding ()" link="libxml2-parserInternals.html#xmlSwitchInputEncoding"/>
    <keyword type="function" name="xmlSwitchToEncoding ()" link="libxml2-parserInternals.html#xmlSwitchToEncoding"/>
    <keyword type="function" name="xmlTextConcat ()" link="libxml2-tree.html#xmlTextConcat"/>
    <keyword type="function" name="xmlTextMerge ()" link="libxml2-tree.html#xmlTextMerge"/>
    <keyword type="function" name="xmlTextReaderAttributeCount ()" link="libxml2-xmlreader.html#xmlTextReaderAttributeCount"/>
    <keyword type="function" name="xmlTextReaderBaseUri ()" link="libxml2-xmlreader.html#xmlTextReaderBaseUri"/>
    <keyword type="function" name="xmlTextReaderByteConsumed ()" link="libxml2-xmlreader.html#xmlTextReaderByteConsumed"/>
    <keyword type="function" name="xmlTextReaderClose ()" link="libxml2-xmlreader.html#xmlTextReaderClose"/>
    <keyword type="function" name="xmlTextReaderConstBaseUri ()" link="libxml2-xmlreader.html#xmlTextReaderConstBaseUri"/>
    <keyword type="function" name="xmlTextReaderConstEncoding ()" link="libxml2-xmlreader.html#xmlTextReaderConstEncoding"/>
    <keyword type="function" name="xmlTextReaderConstLocalName ()" link="libxml2-xmlreader.html#xmlTextReaderConstLocalName"/>
    <keyword type="function" name="xmlTextReaderConstName ()" link="libxml2-xmlreader.html#xmlTextReaderConstName"/>
    <keyword type="function" name="xmlTextReaderConstNamespaceUri ()" link="libxml2-xmlreader.html#xmlTextReaderConstNamespaceUri"/>
    <keyword type="function" name="xmlTextReaderConstPrefix ()" link="libxml2-xmlreader.html#xmlTextReaderConstPrefix"/>
    <keyword type="function" name="xmlTextReaderConstString ()" link="libxml2-xmlreader.html#xmlTextReaderConstString"/>
    <keyword type="function" name="xmlTextReaderConstValue ()" link="libxml2-xmlreader.html#xmlTextReaderConstValue"/>
    <keyword type="function" name="xmlTextReaderConstXmlLang ()" link="libxml2-xmlreader.html#xmlTextReaderConstXmlLang"/>
    <keyword type="function" name="xmlTextReaderConstXmlVersion ()" link="libxml2-xmlreader.html#xmlTextReaderConstXmlVersion"/>
    <keyword type="function" name="xmlTextReaderCurrentDoc ()" link="libxml2-xmlreader.html#xmlTextReaderCurrentDoc"/>
    <keyword type="function" name="xmlTextReaderCurrentNode ()" link="libxml2-xmlreader.html#xmlTextReaderCurrentNode"/>
    <keyword type="function" name="xmlTextReaderDepth ()" link="libxml2-xmlreader.html#xmlTextReaderDepth"/>
    <keyword type="function" name="xmlTextReaderExpand ()" link="libxml2-xmlreader.html#xmlTextReaderExpand"/>
    <keyword type="function" name="xmlTextReaderGetAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttribute"/>
    <keyword type="function" name="xmlTextReaderGetAttributeNo ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttributeNo"/>
    <keyword type="function" name="xmlTextReaderGetAttributeNs ()" link="libxml2-xmlreader.html#xmlTextReaderGetAttributeNs"/>
    <keyword type="function" name="xmlTextReaderGetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderGetErrorHandler"/>
    <keyword type="function" name="xmlTextReaderGetParserColumnNumber ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserColumnNumber"/>
    <keyword type="function" name="xmlTextReaderGetParserLineNumber ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserLineNumber"/>
    <keyword type="function" name="xmlTextReaderGetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderGetParserProp"/>
    <keyword type="function" name="xmlTextReaderGetRemainder ()" link="libxml2-xmlreader.html#xmlTextReaderGetRemainder"/>
    <keyword type="function" name="xmlTextReaderHasAttributes ()" link="libxml2-xmlreader.html#xmlTextReaderHasAttributes"/>
    <keyword type="function" name="xmlTextReaderHasValue ()" link="libxml2-xmlreader.html#xmlTextReaderHasValue"/>
    <keyword type="function" name="xmlTextReaderIsDefault ()" link="libxml2-xmlreader.html#xmlTextReaderIsDefault"/>
    <keyword type="function" name="xmlTextReaderIsEmptyElement ()" link="libxml2-xmlreader.html#xmlTextReaderIsEmptyElement"/>
    <keyword type="function" name="xmlTextReaderIsNamespaceDecl ()" link="libxml2-xmlreader.html#xmlTextReaderIsNamespaceDecl"/>
    <keyword type="function" name="xmlTextReaderIsValid ()" link="libxml2-xmlreader.html#xmlTextReaderIsValid"/>
    <keyword type="function" name="xmlTextReaderLocalName ()" link="libxml2-xmlreader.html#xmlTextReaderLocalName"/>
    <keyword type="function" name="xmlTextReaderLocatorBaseURI ()" link="libxml2-xmlreader.html#xmlTextReaderLocatorBaseURI"/>
    <keyword type="function" name="xmlTextReaderLocatorLineNumber ()" link="libxml2-xmlreader.html#xmlTextReaderLocatorLineNumber"/>
    <keyword type="function" name="xmlTextReaderLookupNamespace ()" link="libxml2-xmlreader.html#xmlTextReaderLookupNamespace"/>
    <keyword type="function" name="xmlTextReaderMoveToAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttribute"/>
    <keyword type="function" name="xmlTextReaderMoveToAttributeNo ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttributeNo"/>
    <keyword type="function" name="xmlTextReaderMoveToAttributeNs ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToAttributeNs"/>
    <keyword type="function" name="xmlTextReaderMoveToElement ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToElement"/>
    <keyword type="function" name="xmlTextReaderMoveToFirstAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToFirstAttribute"/>
    <keyword type="function" name="xmlTextReaderMoveToNextAttribute ()" link="libxml2-xmlreader.html#xmlTextReaderMoveToNextAttribute"/>
    <keyword type="function" name="xmlTextReaderName ()" link="libxml2-xmlreader.html#xmlTextReaderName"/>
    <keyword type="function" name="xmlTextReaderNamespaceUri ()" link="libxml2-xmlreader.html#xmlTextReaderNamespaceUri"/>
    <keyword type="function" name="xmlTextReaderNext ()" link="libxml2-xmlreader.html#xmlTextReaderNext"/>
    <keyword type="function" name="xmlTextReaderNextSibling ()" link="libxml2-xmlreader.html#xmlTextReaderNextSibling"/>
    <keyword type="function" name="xmlTextReaderNodeType ()" link="libxml2-xmlreader.html#xmlTextReaderNodeType"/>
    <keyword type="function" name="xmlTextReaderNormalization ()" link="libxml2-xmlreader.html#xmlTextReaderNormalization"/>
    <keyword type="function" name="xmlTextReaderPrefix ()" link="libxml2-xmlreader.html#xmlTextReaderPrefix"/>
    <keyword type="function" name="xmlTextReaderPreserve ()" link="libxml2-xmlreader.html#xmlTextReaderPreserve"/>
    <keyword type="function" name="xmlTextReaderPreservePattern ()" link="libxml2-xmlreader.html#xmlTextReaderPreservePattern"/>
    <keyword type="function" name="xmlTextReaderQuoteChar ()" link="libxml2-xmlreader.html#xmlTextReaderQuoteChar"/>
    <keyword type="function" name="xmlTextReaderRead ()" link="libxml2-xmlreader.html#xmlTextReaderRead"/>
    <keyword type="function" name="xmlTextReaderReadAttributeValue ()" link="libxml2-xmlreader.html#xmlTextReaderReadAttributeValue"/>
    <keyword type="function" name="xmlTextReaderReadInnerXml ()" link="libxml2-xmlreader.html#xmlTextReaderReadInnerXml"/>
    <keyword type="function" name="xmlTextReaderReadOuterXml ()" link="libxml2-xmlreader.html#xmlTextReaderReadOuterXml"/>
    <keyword type="function" name="xmlTextReaderReadState ()" link="libxml2-xmlreader.html#xmlTextReaderReadState"/>
    <keyword type="function" name="xmlTextReaderReadString ()" link="libxml2-xmlreader.html#xmlTextReaderReadString"/>
    <keyword type="function" name="xmlTextReaderRelaxNGSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGSetSchema"/>
    <keyword type="function" name="xmlTextReaderRelaxNGValidate ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGValidate"/>
    <keyword type="function" name="xmlTextReaderRelaxNGValidateCtxt ()" link="libxml2-xmlreader.html#xmlTextReaderRelaxNGValidateCtxt"/>
    <keyword type="function" name="xmlTextReaderSchemaValidate ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidate"/>
    <keyword type="function" name="xmlTextReaderSchemaValidateCtxt ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidateCtxt"/>
    <keyword type="function" name="xmlTextReaderSetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetErrorHandler"/>
    <keyword type="function" name="xmlTextReaderSetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderSetParserProp"/>
    <keyword type="function" name="xmlTextReaderSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderSetSchema"/>
    <keyword type="function" name="xmlTextReaderSetStructuredErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetStructuredErrorHandler"/>
    <keyword type="function" name="xmlTextReaderSetup ()" link="libxml2-xmlreader.html#xmlTextReaderSetup"/>
    <keyword type="function" name="xmlTextReaderStandalone ()" link="libxml2-xmlreader.html#xmlTextReaderStandalone"/>
    <keyword type="function" name="xmlTextReaderValue ()" link="libxml2-xmlreader.html#xmlTextReaderValue"/>
    <keyword type="function" name="xmlTextReaderXmlLang ()" link="libxml2-xmlreader.html#xmlTextReaderXmlLang"/>
    <keyword type="function" name="xmlTextWriterEndAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterEndAttribute"/>
    <keyword type="function" name="xmlTextWriterEndCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterEndCDATA"/>
    <keyword type="function" name="xmlTextWriterEndComment ()" link="libxml2-xmlwriter.html#xmlTextWriterEndComment"/>
    <keyword type="function" name="xmlTextWriterEndDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTD"/>
    <keyword type="function" name="xmlTextWriterEndDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterEndDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDElement"/>
    <keyword type="function" name="xmlTextWriterEndDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDTDEntity"/>
    <keyword type="function" name="xmlTextWriterEndDocument ()" link="libxml2-xmlwriter.html#xmlTextWriterEndDocument"/>
    <keyword type="function" name="xmlTextWriterEndElement ()" link="libxml2-xmlwriter.html#xmlTextWriterEndElement"/>
    <keyword type="function" name="xmlTextWriterEndPI ()" link="libxml2-xmlwriter.html#xmlTextWriterEndPI"/>
    <keyword type="function" name="xmlTextWriterFlush ()" link="libxml2-xmlwriter.html#xmlTextWriterFlush"/>
    <keyword type="function" name="xmlTextWriterFullEndElement ()" link="libxml2-xmlwriter.html#xmlTextWriterFullEndElement"/>
    <keyword type="function" name="xmlTextWriterSetIndent ()" link="libxml2-xmlwriter.html#xmlTextWriterSetIndent"/>
    <keyword type="function" name="xmlTextWriterSetIndentString ()" link="libxml2-xmlwriter.html#xmlTextWriterSetIndentString"/>
    <keyword type="function" name="xmlTextWriterSetQuoteChar ()" link="libxml2-xmlwriter.html#xmlTextWriterSetQuoteChar"/>
    <keyword type="function" name="xmlTextWriterStartAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterStartAttribute"/>
    <keyword type="function" name="xmlTextWriterStartAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterStartAttributeNS"/>
    <keyword type="function" name="xmlTextWriterStartCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterStartCDATA"/>
    <keyword type="function" name="xmlTextWriterStartComment ()" link="libxml2-xmlwriter.html#xmlTextWriterStartComment"/>
    <keyword type="function" name="xmlTextWriterStartDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTD"/>
    <keyword type="function" name="xmlTextWriterStartDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterStartDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDElement"/>
    <keyword type="function" name="xmlTextWriterStartDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity"/>
    <keyword type="function" name="xmlTextWriterStartDocument ()" link="libxml2-xmlwriter.html#xmlTextWriterStartDocument"/>
    <keyword type="function" name="xmlTextWriterStartElement ()" link="libxml2-xmlwriter.html#xmlTextWriterStartElement"/>
    <keyword type="function" name="xmlTextWriterStartElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterStartElementNS"/>
    <keyword type="function" name="xmlTextWriterStartPI ()" link="libxml2-xmlwriter.html#xmlTextWriterStartPI"/>
    <keyword type="function" name="xmlTextWriterWriteAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteBase64 ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteBase64"/>
    <keyword type="function" name="xmlTextWriterWriteBinHex ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteBinHex"/>
    <keyword type="function" name="xmlTextWriterWriteCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteComment"/>
    <keyword type="function" name="xmlTextWriterWriteDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTD"/>
    <keyword type="function" name="xmlTextWriterWriteDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteDTDEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDExternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDExternalEntityContents ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDExternalEntityContents"/>
    <keyword type="function" name="xmlTextWriterWriteDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteDTDNotation ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteDTDNotation"/>
    <keyword type="function" name="xmlTextWriterWriteElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteElement"/>
    <keyword type="function" name="xmlTextWriterWriteElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteFormatAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteFormatComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTD"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteFormatDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteFormatElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement"/>
    <keyword type="function" name="xmlTextWriterWriteFormatElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatPI"/>
    <keyword type="function" name="xmlTextWriterWriteFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatRaw"/>
    <keyword type="function" name="xmlTextWriterWriteFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteFormatString"/>
    <keyword type="function" name="xmlTextWriterWritePI ()" link="libxml2-xmlwriter.html#xmlTextWriterWritePI"/>
    <keyword type="function" name="xmlTextWriterWriteRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteRaw"/>
    <keyword type="function" name="xmlTextWriterWriteRawLen ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteRawLen"/>
    <keyword type="function" name="xmlTextWriterWriteString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteString"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatAttribute ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatAttribute"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatAttributeNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatCDATA ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatCDATA"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatComment ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatComment"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTD ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTD"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDAttlist ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatDTDInternalEntity ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatElement ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatElement"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatElementNS ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatElementNS"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatPI"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatRaw"/>
    <keyword type="function" name="xmlTextWriterWriteVFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatString"/>
    <keyword type="function" name="xmlThrDefBufferAllocScheme ()" link="libxml2-globals.html#xmlThrDefBufferAllocScheme"/>
    <keyword type="function" name="xmlThrDefDefaultBufferSize ()" link="libxml2-globals.html#xmlThrDefDefaultBufferSize"/>
    <keyword type="function" name="xmlThrDefDeregisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefDeregisterNodeDefault"/>
    <keyword type="function" name="xmlThrDefDoValidityCheckingDefaultValue ()" link="libxml2-globals.html#xmlThrDefDoValidityCheckingDefaultValue"/>
    <keyword type="function" name="xmlThrDefGetWarningsDefaultValue ()" link="libxml2-globals.html#xmlThrDefGetWarningsDefaultValue"/>
    <keyword type="function" name="xmlThrDefIndentTreeOutput ()" link="libxml2-globals.html#xmlThrDefIndentTreeOutput"/>
    <keyword type="function" name="xmlThrDefKeepBlanksDefaultValue ()" link="libxml2-globals.html#xmlThrDefKeepBlanksDefaultValue"/>
    <keyword type="function" name="xmlThrDefLineNumbersDefaultValue ()" link="libxml2-globals.html#xmlThrDefLineNumbersDefaultValue"/>
    <keyword type="function" name="xmlThrDefLoadExtDtdDefaultValue ()" link="libxml2-globals.html#xmlThrDefLoadExtDtdDefaultValue"/>
    <keyword type="function" name="xmlThrDefOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefOutputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlThrDefParserDebugEntities ()" link="libxml2-globals.html#xmlThrDefParserDebugEntities"/>
    <keyword type="function" name="xmlThrDefParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault"/>
    <keyword type="function" name="xmlThrDefPedanticParserDefaultValue ()" link="libxml2-globals.html#xmlThrDefPedanticParserDefaultValue"/>
    <keyword type="function" name="xmlThrDefRegisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefRegisterNodeDefault"/>
    <keyword type="function" name="xmlThrDefSaveNoEmptyTags ()" link="libxml2-globals.html#xmlThrDefSaveNoEmptyTags"/>
    <keyword type="function" name="xmlThrDefSetGenericErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetGenericErrorFunc"/>
    <keyword type="function" name="xmlThrDefSetStructuredErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetStructuredErrorFunc"/>
    <keyword type="function" name="xmlThrDefSubstituteEntitiesDefaultValue ()" link="libxml2-globals.html#xmlThrDefSubstituteEntitiesDefaultValue"/>
    <keyword type="function" name="xmlThrDefTreeIndentString ()" link="libxml2-globals.html#xmlThrDefTreeIndentString"/>
    <keyword type="function" name="xmlUCSIsAegeanNumbers ()" link="libxml2-xmlunicode.html#xmlUCSIsAegeanNumbers"/>
    <keyword type="function" name="xmlUCSIsAlphabeticPresentationForms ()" link="libxml2-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms"/>
    <keyword type="function" name="xmlUCSIsArabic ()" link="libxml2-xmlunicode.html#xmlUCSIsArabic"/>
    <keyword type="function" name="xmlUCSIsArabicPresentationFormsA ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsA"/>
    <keyword type="function" name="xmlUCSIsArabicPresentationFormsB ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsB"/>
    <keyword type="function" name="xmlUCSIsArmenian ()" link="libxml2-xmlunicode.html#xmlUCSIsArmenian"/>
    <keyword type="function" name="xmlUCSIsArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsArrows"/>
    <keyword type="function" name="xmlUCSIsBasicLatin ()" link="libxml2-xmlunicode.html#xmlUCSIsBasicLatin"/>
    <keyword type="function" name="xmlUCSIsBengali ()" link="libxml2-xmlunicode.html#xmlUCSIsBengali"/>
    <keyword type="function" name="xmlUCSIsBlock ()" link="libxml2-xmlunicode.html#xmlUCSIsBlock"/>
    <keyword type="function" name="xmlUCSIsBlockElements ()" link="libxml2-xmlunicode.html#xmlUCSIsBlockElements"/>
    <keyword type="function" name="xmlUCSIsBopomofo ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofo"/>
    <keyword type="function" name="xmlUCSIsBopomofoExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofoExtended"/>
    <keyword type="function" name="xmlUCSIsBoxDrawing ()" link="libxml2-xmlunicode.html#xmlUCSIsBoxDrawing"/>
    <keyword type="function" name="xmlUCSIsBraillePatterns ()" link="libxml2-xmlunicode.html#xmlUCSIsBraillePatterns"/>
    <keyword type="function" name="xmlUCSIsBuhid ()" link="libxml2-xmlunicode.html#xmlUCSIsBuhid"/>
    <keyword type="function" name="xmlUCSIsByzantineMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibility ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibility"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityForms ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityForms"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs"/>
    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement"/>
    <keyword type="function" name="xmlUCSIsCJKRadicalsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement"/>
    <keyword type="function" name="xmlUCSIsCJKSymbolsandPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionA ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA"/>
    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionB ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB"/>
    <keyword type="function" name="xmlUCSIsCat ()" link="libxml2-xmlunicode.html#xmlUCSIsCat"/>
    <keyword type="function" name="xmlUCSIsCatC ()" link="libxml2-xmlunicode.html#xmlUCSIsCatC"/>
    <keyword type="function" name="xmlUCSIsCatCc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCc"/>
    <keyword type="function" name="xmlUCSIsCatCf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCf"/>
    <keyword type="function" name="xmlUCSIsCatCo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCo"/>
    <keyword type="function" name="xmlUCSIsCatCs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCs"/>
    <keyword type="function" name="xmlUCSIsCatL ()" link="libxml2-xmlunicode.html#xmlUCSIsCatL"/>
    <keyword type="function" name="xmlUCSIsCatLl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLl"/>
    <keyword type="function" name="xmlUCSIsCatLm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLm"/>
    <keyword type="function" name="xmlUCSIsCatLo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLo"/>
    <keyword type="function" name="xmlUCSIsCatLt ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLt"/>
    <keyword type="function" name="xmlUCSIsCatLu ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLu"/>
    <keyword type="function" name="xmlUCSIsCatM ()" link="libxml2-xmlunicode.html#xmlUCSIsCatM"/>
    <keyword type="function" name="xmlUCSIsCatMc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMc"/>
    <keyword type="function" name="xmlUCSIsCatMe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMe"/>
    <keyword type="function" name="xmlUCSIsCatMn ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMn"/>
    <keyword type="function" name="xmlUCSIsCatN ()" link="libxml2-xmlunicode.html#xmlUCSIsCatN"/>
    <keyword type="function" name="xmlUCSIsCatNd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNd"/>
    <keyword type="function" name="xmlUCSIsCatNl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNl"/>
    <keyword type="function" name="xmlUCSIsCatNo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNo"/>
    <keyword type="function" name="xmlUCSIsCatP ()" link="libxml2-xmlunicode.html#xmlUCSIsCatP"/>
    <keyword type="function" name="xmlUCSIsCatPc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPc"/>
    <keyword type="function" name="xmlUCSIsCatPd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPd"/>
    <keyword type="function" name="xmlUCSIsCatPe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPe"/>
    <keyword type="function" name="xmlUCSIsCatPf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPf"/>
    <keyword type="function" name="xmlUCSIsCatPi ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPi"/>
    <keyword type="function" name="xmlUCSIsCatPo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPo"/>
    <keyword type="function" name="xmlUCSIsCatPs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPs"/>
    <keyword type="function" name="xmlUCSIsCatS ()" link="libxml2-xmlunicode.html#xmlUCSIsCatS"/>
    <keyword type="function" name="xmlUCSIsCatSc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSc"/>
    <keyword type="function" name="xmlUCSIsCatSk ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSk"/>
    <keyword type="function" name="xmlUCSIsCatSm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSm"/>
    <keyword type="function" name="xmlUCSIsCatSo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSo"/>
    <keyword type="function" name="xmlUCSIsCatZ ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZ"/>
    <keyword type="function" name="xmlUCSIsCatZl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZl"/>
    <keyword type="function" name="xmlUCSIsCatZp ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZp"/>
    <keyword type="function" name="xmlUCSIsCatZs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZs"/>
    <keyword type="function" name="xmlUCSIsCherokee ()" link="libxml2-xmlunicode.html#xmlUCSIsCherokee"/>
    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks"/>
    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols"/>
    <keyword type="function" name="xmlUCSIsCombiningHalfMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningHalfMarks"/>
    <keyword type="function" name="xmlUCSIsCombiningMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols"/>
    <keyword type="function" name="xmlUCSIsControlPictures ()" link="libxml2-xmlunicode.html#xmlUCSIsControlPictures"/>
    <keyword type="function" name="xmlUCSIsCurrencySymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCurrencySymbols"/>
    <keyword type="function" name="xmlUCSIsCypriotSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsCypriotSyllabary"/>
    <keyword type="function" name="xmlUCSIsCyrillic ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillic"/>
    <keyword type="function" name="xmlUCSIsCyrillicSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillicSupplement"/>
    <keyword type="function" name="xmlUCSIsDeseret ()" link="libxml2-xmlunicode.html#xmlUCSIsDeseret"/>
    <keyword type="function" name="xmlUCSIsDevanagari ()" link="libxml2-xmlunicode.html#xmlUCSIsDevanagari"/>
    <keyword type="function" name="xmlUCSIsDingbats ()" link="libxml2-xmlunicode.html#xmlUCSIsDingbats"/>
    <keyword type="function" name="xmlUCSIsEnclosedAlphanumerics ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics"/>
    <keyword type="function" name="xmlUCSIsEnclosedCJKLettersandMonths ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths"/>
    <keyword type="function" name="xmlUCSIsEthiopic ()" link="libxml2-xmlunicode.html#xmlUCSIsEthiopic"/>
    <keyword type="function" name="xmlUCSIsGeneralPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsGeneralPunctuation"/>
    <keyword type="function" name="xmlUCSIsGeometricShapes ()" link="libxml2-xmlunicode.html#xmlUCSIsGeometricShapes"/>
    <keyword type="function" name="xmlUCSIsGeorgian ()" link="libxml2-xmlunicode.html#xmlUCSIsGeorgian"/>
    <keyword type="function" name="xmlUCSIsGothic ()" link="libxml2-xmlunicode.html#xmlUCSIsGothic"/>
    <keyword type="function" name="xmlUCSIsGreek ()" link="libxml2-xmlunicode.html#xmlUCSIsGreek"/>
    <keyword type="function" name="xmlUCSIsGreekExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekExtended"/>
    <keyword type="function" name="xmlUCSIsGreekandCoptic ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekandCoptic"/>
    <keyword type="function" name="xmlUCSIsGujarati ()" link="libxml2-xmlunicode.html#xmlUCSIsGujarati"/>
    <keyword type="function" name="xmlUCSIsGurmukhi ()" link="libxml2-xmlunicode.html#xmlUCSIsGurmukhi"/>
    <keyword type="function" name="xmlUCSIsHalfwidthandFullwidthForms ()" link="libxml2-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms"/>
    <keyword type="function" name="xmlUCSIsHangulCompatibilityJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo"/>
    <keyword type="function" name="xmlUCSIsHangulJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulJamo"/>
    <keyword type="function" name="xmlUCSIsHangulSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulSyllables"/>
    <keyword type="function" name="xmlUCSIsHanunoo ()" link="libxml2-xmlunicode.html#xmlUCSIsHanunoo"/>
    <keyword type="function" name="xmlUCSIsHebrew ()" link="libxml2-xmlunicode.html#xmlUCSIsHebrew"/>
    <keyword type="function" name="xmlUCSIsHighPrivateUseSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates"/>
    <keyword type="function" name="xmlUCSIsHighSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighSurrogates"/>
    <keyword type="function" name="xmlUCSIsHiragana ()" link="libxml2-xmlunicode.html#xmlUCSIsHiragana"/>
    <keyword type="function" name="xmlUCSIsIPAExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsIPAExtensions"/>
    <keyword type="function" name="xmlUCSIsIdeographicDescriptionCharacters ()" link="libxml2-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters"/>
    <keyword type="function" name="xmlUCSIsKanbun ()" link="libxml2-xmlunicode.html#xmlUCSIsKanbun"/>
    <keyword type="function" name="xmlUCSIsKangxiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsKangxiRadicals"/>
    <keyword type="function" name="xmlUCSIsKannada ()" link="libxml2-xmlunicode.html#xmlUCSIsKannada"/>
    <keyword type="function" name="xmlUCSIsKatakana ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakana"/>
    <keyword type="function" name="xmlUCSIsKatakanaPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions"/>
    <keyword type="function" name="xmlUCSIsKhmer ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmer"/>
    <keyword type="function" name="xmlUCSIsKhmerSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmerSymbols"/>
    <keyword type="function" name="xmlUCSIsLao ()" link="libxml2-xmlunicode.html#xmlUCSIsLao"/>
    <keyword type="function" name="xmlUCSIsLatin1Supplement ()" link="libxml2-xmlunicode.html#xmlUCSIsLatin1Supplement"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedA ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedA"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedAdditional ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedAdditional"/>
    <keyword type="function" name="xmlUCSIsLatinExtendedB ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedB"/>
    <keyword type="function" name="xmlUCSIsLetterlikeSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsLetterlikeSymbols"/>
    <keyword type="function" name="xmlUCSIsLimbu ()" link="libxml2-xmlunicode.html#xmlUCSIsLimbu"/>
    <keyword type="function" name="xmlUCSIsLinearBIdeograms ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBIdeograms"/>
    <keyword type="function" name="xmlUCSIsLinearBSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBSyllabary"/>
    <keyword type="function" name="xmlUCSIsLowSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsLowSurrogates"/>
    <keyword type="function" name="xmlUCSIsMalayalam ()" link="libxml2-xmlunicode.html#xmlUCSIsMalayalam"/>
    <keyword type="function" name="xmlUCSIsMathematicalAlphanumericSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols"/>
    <keyword type="function" name="xmlUCSIsMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalOperators"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsA ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsB ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbols"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousSymbolsandArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows"/>
    <keyword type="function" name="xmlUCSIsMiscellaneousTechnical ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousTechnical"/>
    <keyword type="function" name="xmlUCSIsMongolian ()" link="libxml2-xmlunicode.html#xmlUCSIsMongolian"/>
    <keyword type="function" name="xmlUCSIsMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMusicalSymbols"/>
    <keyword type="function" name="xmlUCSIsMyanmar ()" link="libxml2-xmlunicode.html#xmlUCSIsMyanmar"/>
    <keyword type="function" name="xmlUCSIsNumberForms ()" link="libxml2-xmlunicode.html#xmlUCSIsNumberForms"/>
    <keyword type="function" name="xmlUCSIsOgham ()" link="libxml2-xmlunicode.html#xmlUCSIsOgham"/>
    <keyword type="function" name="xmlUCSIsOldItalic ()" link="libxml2-xmlunicode.html#xmlUCSIsOldItalic"/>
    <keyword type="function" name="xmlUCSIsOpticalCharacterRecognition ()" link="libxml2-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition"/>
    <keyword type="function" name="xmlUCSIsOriya ()" link="libxml2-xmlunicode.html#xmlUCSIsOriya"/>
    <keyword type="function" name="xmlUCSIsOsmanya ()" link="libxml2-xmlunicode.html#xmlUCSIsOsmanya"/>
    <keyword type="function" name="xmlUCSIsPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsPhoneticExtensions"/>
    <keyword type="function" name="xmlUCSIsPrivateUse ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUse"/>
    <keyword type="function" name="xmlUCSIsPrivateUseArea ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUseArea"/>
    <keyword type="function" name="xmlUCSIsRunic ()" link="libxml2-xmlunicode.html#xmlUCSIsRunic"/>
    <keyword type="function" name="xmlUCSIsShavian ()" link="libxml2-xmlunicode.html#xmlUCSIsShavian"/>
    <keyword type="function" name="xmlUCSIsSinhala ()" link="libxml2-xmlunicode.html#xmlUCSIsSinhala"/>
    <keyword type="function" name="xmlUCSIsSmallFormVariants ()" link="libxml2-xmlunicode.html#xmlUCSIsSmallFormVariants"/>
    <keyword type="function" name="xmlUCSIsSpacingModifierLetters ()" link="libxml2-xmlunicode.html#xmlUCSIsSpacingModifierLetters"/>
    <keyword type="function" name="xmlUCSIsSpecials ()" link="libxml2-xmlunicode.html#xmlUCSIsSpecials"/>
    <keyword type="function" name="xmlUCSIsSuperscriptsandSubscripts ()" link="libxml2-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts"/>
    <keyword type="function" name="xmlUCSIsSupplementalArrowsA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsA"/>
    <keyword type="function" name="xmlUCSIsSupplementalArrowsB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsB"/>
    <keyword type="function" name="xmlUCSIsSupplementalMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators"/>
    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA"/>
    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB"/>
    <keyword type="function" name="xmlUCSIsSyriac ()" link="libxml2-xmlunicode.html#xmlUCSIsSyriac"/>
    <keyword type="function" name="xmlUCSIsTagalog ()" link="libxml2-xmlunicode.html#xmlUCSIsTagalog"/>
    <keyword type="function" name="xmlUCSIsTagbanwa ()" link="libxml2-xmlunicode.html#xmlUCSIsTagbanwa"/>
    <keyword type="function" name="xmlUCSIsTags ()" link="libxml2-xmlunicode.html#xmlUCSIsTags"/>
    <keyword type="function" name="xmlUCSIsTaiLe ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiLe"/>
    <keyword type="function" name="xmlUCSIsTaiXuanJingSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols"/>
    <keyword type="function" name="xmlUCSIsTamil ()" link="libxml2-xmlunicode.html#xmlUCSIsTamil"/>
    <keyword type="function" name="xmlUCSIsTelugu ()" link="libxml2-xmlunicode.html#xmlUCSIsTelugu"/>
    <keyword type="function" name="xmlUCSIsThaana ()" link="libxml2-xmlunicode.html#xmlUCSIsThaana"/>
    <keyword type="function" name="xmlUCSIsThai ()" link="libxml2-xmlunicode.html#xmlUCSIsThai"/>
    <keyword type="function" name="xmlUCSIsTibetan ()" link="libxml2-xmlunicode.html#xmlUCSIsTibetan"/>
    <keyword type="function" name="xmlUCSIsUgaritic ()" link="libxml2-xmlunicode.html#xmlUCSIsUgaritic"/>
    <keyword type="function" name="xmlUCSIsUnifiedCanadianAboriginalSyllabics ()" link="libxml2-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics"/>
    <keyword type="function" name="xmlUCSIsVariationSelectors ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectors"/>
    <keyword type="function" name="xmlUCSIsVariationSelectorsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement"/>
    <keyword type="function" name="xmlUCSIsYiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsYiRadicals"/>
    <keyword type="function" name="xmlUCSIsYiSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsYiSyllables"/>
    <keyword type="function" name="xmlUCSIsYijingHexagramSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsYijingHexagramSymbols"/>
    <keyword type="function" name="xmlURIEscape ()" link="libxml2-uri.html#xmlURIEscape"/>
    <keyword type="function" name="xmlURIEscapeStr ()" link="libxml2-uri.html#xmlURIEscapeStr"/>
    <keyword type="function" name="xmlURIUnescapeString ()" link="libxml2-uri.html#xmlURIUnescapeString"/>
    <keyword type="function" name="xmlUTF8Charcmp ()" link="libxml2-xmlstring.html#xmlUTF8Charcmp"/>
    <keyword type="function" name="xmlUTF8Size ()" link="libxml2-xmlstring.html#xmlUTF8Size"/>
    <keyword type="function" name="xmlUTF8Strlen ()" link="libxml2-xmlstring.html#xmlUTF8Strlen"/>
    <keyword type="function" name="xmlUTF8Strloc ()" link="libxml2-xmlstring.html#xmlUTF8Strloc"/>
    <keyword type="function" name="xmlUTF8Strndup ()" link="libxml2-xmlstring.html#xmlUTF8Strndup"/>
    <keyword type="function" name="xmlUTF8Strpos ()" link="libxml2-xmlstring.html#xmlUTF8Strpos"/>
    <keyword type="function" name="xmlUTF8Strsize ()" link="libxml2-xmlstring.html#xmlUTF8Strsize"/>
    <keyword type="function" name="xmlUTF8Strsub ()" link="libxml2-xmlstring.html#xmlUTF8Strsub"/>
    <keyword type="function" name="xmlUnlinkNode ()" link="libxml2-tree.html#xmlUnlinkNode"/>
    <keyword type="function" name="xmlUnlockLibrary ()" link="libxml2-threads.html#xmlUnlockLibrary"/>
    <keyword type="function" name="xmlUnsetNsProp ()" link="libxml2-tree.html#xmlUnsetNsProp"/>
    <keyword type="function" name="xmlUnsetProp ()" link="libxml2-tree.html#xmlUnsetProp"/>
    <keyword type="function" name="xmlValidBuildContentModel ()" link="libxml2-valid.html#xmlValidBuildContentModel"/>
    <keyword type="function" name="xmlValidCtxtNormalizeAttributeValue ()" link="libxml2-valid.html#xmlValidCtxtNormalizeAttributeValue"/>
    <keyword type="function" name="xmlValidGetPotentialChildren ()" link="libxml2-valid.html#xmlValidGetPotentialChildren"/>
    <keyword type="function" name="xmlValidGetValidElements ()" link="libxml2-valid.html#xmlValidGetValidElements"/>
    <keyword type="function" name="xmlValidNormalizeAttributeValue ()" link="libxml2-valid.html#xmlValidNormalizeAttributeValue"/>
    <keyword type="function" name="xmlValidateAttributeDecl ()" link="libxml2-valid.html#xmlValidateAttributeDecl"/>
    <keyword type="function" name="xmlValidateAttributeValue ()" link="libxml2-valid.html#xmlValidateAttributeValue"/>
    <keyword type="function" name="xmlValidateDocument ()" link="libxml2-valid.html#xmlValidateDocument"/>
    <keyword type="function" name="xmlValidateDocumentFinal ()" link="libxml2-valid.html#xmlValidateDocumentFinal"/>
    <keyword type="function" name="xmlValidateDtd ()" link="libxml2-valid.html#xmlValidateDtd"/>
    <keyword type="function" name="xmlValidateDtdFinal ()" link="libxml2-valid.html#xmlValidateDtdFinal"/>
    <keyword type="function" name="xmlValidateElement ()" link="libxml2-valid.html#xmlValidateElement"/>
    <keyword type="function" name="xmlValidateElementDecl ()" link="libxml2-valid.html#xmlValidateElementDecl"/>
    <keyword type="function" name="xmlValidateNCName ()" link="libxml2-tree.html#xmlValidateNCName"/>
    <keyword type="function" name="xmlValidateNMToken ()" link="libxml2-tree.html#xmlValidateNMToken"/>
    <keyword type="function" name="xmlValidateName ()" link="libxml2-tree.html#xmlValidateName"/>
    <keyword type="function" name="xmlValidateNameValue ()" link="libxml2-valid.html#xmlValidateNameValue"/>
    <keyword type="function" name="xmlValidateNamesValue ()" link="libxml2-valid.html#xmlValidateNamesValue"/>
    <keyword type="function" name="xmlValidateNmtokenValue ()" link="libxml2-valid.html#xmlValidateNmtokenValue"/>
    <keyword type="function" name="xmlValidateNmtokensValue ()" link="libxml2-valid.html#xmlValidateNmtokensValue"/>
    <keyword type="function" name="xmlValidateNotationDecl ()" link="libxml2-valid.html#xmlValidateNotationDecl"/>
    <keyword type="function" name="xmlValidateNotationUse ()" link="libxml2-valid.html#xmlValidateNotationUse"/>
    <keyword type="function" name="xmlValidateOneAttribute ()" link="libxml2-valid.html#xmlValidateOneAttribute"/>
    <keyword type="function" name="xmlValidateOneElement ()" link="libxml2-valid.html#xmlValidateOneElement"/>
    <keyword type="function" name="xmlValidateOneNamespace ()" link="libxml2-valid.html#xmlValidateOneNamespace"/>
    <keyword type="function" name="xmlValidatePopElement ()" link="libxml2-valid.html#xmlValidatePopElement"/>
    <keyword type="function" name="xmlValidatePushCData ()" link="libxml2-valid.html#xmlValidatePushCData"/>
    <keyword type="function" name="xmlValidatePushElement ()" link="libxml2-valid.html#xmlValidatePushElement"/>
    <keyword type="function" name="xmlValidateQName ()" link="libxml2-tree.html#xmlValidateQName"/>
    <keyword type="function" name="xmlValidateRoot ()" link="libxml2-valid.html#xmlValidateRoot"/>
    <keyword type="function" name="xmlXIncludeFreeContext ()" link="libxml2-xinclude.html#xmlXIncludeFreeContext"/>
    <keyword type="function" name="xmlXIncludeNewContext ()" link="libxml2-xinclude.html#xmlXIncludeNewContext"/>
    <keyword type="function" name="xmlXIncludeProcess ()" link="libxml2-xinclude.html#xmlXIncludeProcess"/>
    <keyword type="function" name="xmlXIncludeProcessFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlags"/>
    <keyword type="function" name="xmlXIncludeProcessFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlagsData"/>
    <keyword type="function" name="xmlXIncludeProcessNode ()" link="libxml2-xinclude.html#xmlXIncludeProcessNode"/>
    <keyword type="function" name="xmlXIncludeProcessTree ()" link="libxml2-xinclude.html#xmlXIncludeProcessTree"/>
    <keyword type="function" name="xmlXIncludeProcessTreeFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlags"/>
    <keyword type="function" name="xmlXIncludeProcessTreeFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlagsData"/>
    <keyword type="function" name="xmlXIncludeSetFlags ()" link="libxml2-xinclude.html#xmlXIncludeSetFlags"/>
    <keyword type="function" name="xmlXPathAddValues ()" link="libxml2-xpathInternals.html#xmlXPathAddValues"/>
    <keyword type="function" name="xmlXPathBooleanFunction ()" link="libxml2-xpathInternals.html#xmlXPathBooleanFunction"/>
    <keyword type="function" name="xmlXPathCastBooleanToNumber ()" link="libxml2-xpath.html#xmlXPathCastBooleanToNumber"/>
    <keyword type="function" name="xmlXPathCastBooleanToString ()" link="libxml2-xpath.html#xmlXPathCastBooleanToString"/>
    <keyword type="function" name="xmlXPathCastNodeSetToBoolean ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToBoolean"/>
    <keyword type="function" name="xmlXPathCastNodeSetToNumber ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToNumber"/>
    <keyword type="function" name="xmlXPathCastNodeSetToString ()" link="libxml2-xpath.html#xmlXPathCastNodeSetToString"/>
    <keyword type="function" name="xmlXPathCastNodeToNumber ()" link="libxml2-xpath.html#xmlXPathCastNodeToNumber"/>
    <keyword type="function" name="xmlXPathCastNodeToString ()" link="libxml2-xpath.html#xmlXPathCastNodeToString"/>
    <keyword type="function" name="xmlXPathCastNumberToBoolean ()" link="libxml2-xpath.html#xmlXPathCastNumberToBoolean"/>
    <keyword type="function" name="xmlXPathCastNumberToString ()" link="libxml2-xpath.html#xmlXPathCastNumberToString"/>
    <keyword type="function" name="xmlXPathCastStringToBoolean ()" link="libxml2-xpath.html#xmlXPathCastStringToBoolean"/>
    <keyword type="function" name="xmlXPathCastStringToNumber ()" link="libxml2-xpath.html#xmlXPathCastStringToNumber"/>
    <keyword type="function" name="xmlXPathCastToBoolean ()" link="libxml2-xpath.html#xmlXPathCastToBoolean"/>
    <keyword type="function" name="xmlXPathCastToNumber ()" link="libxml2-xpath.html#xmlXPathCastToNumber"/>
    <keyword type="function" name="xmlXPathCastToString ()" link="libxml2-xpath.html#xmlXPathCastToString"/>
    <keyword type="function" name="xmlXPathCeilingFunction ()" link="libxml2-xpathInternals.html#xmlXPathCeilingFunction"/>
    <keyword type="function" name="xmlXPathCmpNodes ()" link="libxml2-xpath.html#xmlXPathCmpNodes"/>
    <keyword type="function" name="xmlXPathCompareValues ()" link="libxml2-xpathInternals.html#xmlXPathCompareValues"/>
    <keyword type="function" name="xmlXPathCompile ()" link="libxml2-xpath.html#xmlXPathCompile"/>
    <keyword type="function" name="xmlXPathCompiledEval ()" link="libxml2-xpath.html#xmlXPathCompiledEval"/>
    <keyword type="function" name="xmlXPathCompiledEvalToBoolean ()" link="libxml2-xpath.html#xmlXPathCompiledEvalToBoolean"/>
    <keyword type="function" name="xmlXPathConcatFunction ()" link="libxml2-xpathInternals.html#xmlXPathConcatFunction"/>
    <keyword type="function" name="xmlXPathContainsFunction ()" link="libxml2-xpathInternals.html#xmlXPathContainsFunction"/>
    <keyword type="function" name="xmlXPathContextSetCache ()" link="libxml2-xpath.html#xmlXPathContextSetCache"/>
    <keyword type="function" name="xmlXPathConvertBoolean ()" link="libxml2-xpath.html#xmlXPathConvertBoolean"/>
    <keyword type="function" name="xmlXPathConvertNumber ()" link="libxml2-xpath.html#xmlXPathConvertNumber"/>
    <keyword type="function" name="xmlXPathConvertString ()" link="libxml2-xpath.html#xmlXPathConvertString"/>
    <keyword type="function" name="xmlXPathCountFunction ()" link="libxml2-xpathInternals.html#xmlXPathCountFunction"/>
    <keyword type="function" name="xmlXPathCtxtCompile ()" link="libxml2-xpath.html#xmlXPathCtxtCompile"/>
    <keyword type="function" name="xmlXPathDebugDumpCompExpr ()" link="libxml2-xpathInternals.html#xmlXPathDebugDumpCompExpr"/>
    <keyword type="function" name="xmlXPathDebugDumpObject ()" link="libxml2-xpathInternals.html#xmlXPathDebugDumpObject"/>
    <keyword type="function" name="xmlXPathDifference ()" link="libxml2-xpathInternals.html#xmlXPathDifference"/>
    <keyword type="function" name="xmlXPathDistinct ()" link="libxml2-xpathInternals.html#xmlXPathDistinct"/>
    <keyword type="function" name="xmlXPathDistinctSorted ()" link="libxml2-xpathInternals.html#xmlXPathDistinctSorted"/>
    <keyword type="function" name="xmlXPathDivValues ()" link="libxml2-xpathInternals.html#xmlXPathDivValues"/>
    <keyword type="function" name="xmlXPathEqualValues ()" link="libxml2-xpathInternals.html#xmlXPathEqualValues"/>
    <keyword type="function" name="xmlXPathErr ()" link="libxml2-xpathInternals.html#xmlXPathErr"/>
    <keyword type="function" name="xmlXPathEval ()" link="libxml2-xpath.html#xmlXPathEval"/>
    <keyword type="function" name="xmlXPathEvalExpr ()" link="libxml2-xpathInternals.html#xmlXPathEvalExpr"/>
    <keyword type="function" name="xmlXPathEvalExpression ()" link="libxml2-xpath.html#xmlXPathEvalExpression"/>
    <keyword type="function" name="xmlXPathEvalPredicate ()" link="libxml2-xpath.html#xmlXPathEvalPredicate"/>
    <keyword type="function" name="xmlXPathEvaluatePredicateResult ()" link="libxml2-xpathInternals.html#xmlXPathEvaluatePredicateResult"/>
    <keyword type="function" name="xmlXPathFalseFunction ()" link="libxml2-xpathInternals.html#xmlXPathFalseFunction"/>
    <keyword type="function" name="xmlXPathFloorFunction ()" link="libxml2-xpathInternals.html#xmlXPathFloorFunction"/>
    <keyword type="function" name="xmlXPathFreeCompExpr ()" link="libxml2-xpath.html#xmlXPathFreeCompExpr"/>
    <keyword type="function" name="xmlXPathFreeContext ()" link="libxml2-xpath.html#xmlXPathFreeContext"/>
    <keyword type="function" name="xmlXPathFreeNodeSet ()" link="libxml2-xpath.html#xmlXPathFreeNodeSet"/>
    <keyword type="function" name="xmlXPathFreeNodeSetList ()" link="libxml2-xpath.html#xmlXPathFreeNodeSetList"/>
    <keyword type="function" name="xmlXPathFreeObject ()" link="libxml2-xpath.html#xmlXPathFreeObject"/>
    <keyword type="function" name="xmlXPathFreeParserContext ()" link="libxml2-xpathInternals.html#xmlXPathFreeParserContext"/>
    <keyword type="function" name="xmlXPathFunctionLookup ()" link="libxml2-xpathInternals.html#xmlXPathFunctionLookup"/>
    <keyword type="function" name="xmlXPathFunctionLookupNS ()" link="libxml2-xpathInternals.html#xmlXPathFunctionLookupNS"/>
    <keyword type="function" name="xmlXPathHasSameNodes ()" link="libxml2-xpathInternals.html#xmlXPathHasSameNodes"/>
    <keyword type="function" name="xmlXPathIdFunction ()" link="libxml2-xpathInternals.html#xmlXPathIdFunction"/>
    <keyword type="function" name="xmlXPathInit ()" link="libxml2-xpath.html#xmlXPathInit"/>
    <keyword type="function" name="xmlXPathIntersection ()" link="libxml2-xpathInternals.html#xmlXPathIntersection"/>
    <keyword type="function" name="xmlXPathIsInf ()" link="libxml2-xpath.html#xmlXPathIsInf"/>
    <keyword type="function" name="xmlXPathIsNaN ()" link="libxml2-xpath.html#xmlXPathIsNaN"/>
    <keyword type="function" name="xmlXPathIsNodeType ()" link="libxml2-xpathInternals.html#xmlXPathIsNodeType"/>
    <keyword type="function" name="xmlXPathLangFunction ()" link="libxml2-xpathInternals.html#xmlXPathLangFunction"/>
    <keyword type="function" name="xmlXPathLastFunction ()" link="libxml2-xpathInternals.html#xmlXPathLastFunction"/>
    <keyword type="function" name="xmlXPathLeading ()" link="libxml2-xpathInternals.html#xmlXPathLeading"/>
    <keyword type="function" name="xmlXPathLeadingSorted ()" link="libxml2-xpathInternals.html#xmlXPathLeadingSorted"/>
    <keyword type="function" name="xmlXPathLocalNameFunction ()" link="libxml2-xpathInternals.html#xmlXPathLocalNameFunction"/>
    <keyword type="function" name="xmlXPathModValues ()" link="libxml2-xpathInternals.html#xmlXPathModValues"/>
    <keyword type="function" name="xmlXPathMultValues ()" link="libxml2-xpathInternals.html#xmlXPathMultValues"/>
    <keyword type="function" name="xmlXPathNamespaceURIFunction ()" link="libxml2-xpathInternals.html#xmlXPathNamespaceURIFunction"/>
    <keyword type="function" name="xmlXPathNewBoolean ()" link="libxml2-xpathInternals.html#xmlXPathNewBoolean"/>
    <keyword type="function" name="xmlXPathNewCString ()" link="libxml2-xpathInternals.html#xmlXPathNewCString"/>
    <keyword type="function" name="xmlXPathNewContext ()" link="libxml2-xpath.html#xmlXPathNewContext"/>
    <keyword type="function" name="xmlXPathNewFloat ()" link="libxml2-xpathInternals.html#xmlXPathNewFloat"/>
    <keyword type="function" name="xmlXPathNewNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathNewNodeSet"/>
    <keyword type="function" name="xmlXPathNewNodeSetList ()" link="libxml2-xpathInternals.html#xmlXPathNewNodeSetList"/>
    <keyword type="function" name="xmlXPathNewParserContext ()" link="libxml2-xpathInternals.html#xmlXPathNewParserContext"/>
    <keyword type="function" name="xmlXPathNewString ()" link="libxml2-xpathInternals.html#xmlXPathNewString"/>
    <keyword type="function" name="xmlXPathNewValueTree ()" link="libxml2-xpathInternals.html#xmlXPathNewValueTree"/>
    <keyword type="function" name="xmlXPathNextAncestor ()" link="libxml2-xpathInternals.html#xmlXPathNextAncestor"/>
    <keyword type="function" name="xmlXPathNextAncestorOrSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextAncestorOrSelf"/>
    <keyword type="function" name="xmlXPathNextAttribute ()" link="libxml2-xpathInternals.html#xmlXPathNextAttribute"/>
    <keyword type="function" name="xmlXPathNextChild ()" link="libxml2-xpathInternals.html#xmlXPathNextChild"/>
    <keyword type="function" name="xmlXPathNextDescendant ()" link="libxml2-xpathInternals.html#xmlXPathNextDescendant"/>
    <keyword type="function" name="xmlXPathNextDescendantOrSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextDescendantOrSelf"/>
    <keyword type="function" name="xmlXPathNextFollowing ()" link="libxml2-xpathInternals.html#xmlXPathNextFollowing"/>
    <keyword type="function" name="xmlXPathNextFollowingSibling ()" link="libxml2-xpathInternals.html#xmlXPathNextFollowingSibling"/>
    <keyword type="function" name="xmlXPathNextNamespace ()" link="libxml2-xpathInternals.html#xmlXPathNextNamespace"/>
    <keyword type="function" name="xmlXPathNextParent ()" link="libxml2-xpathInternals.html#xmlXPathNextParent"/>
    <keyword type="function" name="xmlXPathNextPreceding ()" link="libxml2-xpathInternals.html#xmlXPathNextPreceding"/>
    <keyword type="function" name="xmlXPathNextPrecedingSibling ()" link="libxml2-xpathInternals.html#xmlXPathNextPrecedingSibling"/>
    <keyword type="function" name="xmlXPathNextSelf ()" link="libxml2-xpathInternals.html#xmlXPathNextSelf"/>
    <keyword type="function" name="xmlXPathNodeEval ()" link="libxml2-xpath.html#xmlXPathNodeEval"/>
    <keyword type="function" name="xmlXPathNodeLeading ()" link="libxml2-xpathInternals.html#xmlXPathNodeLeading"/>
    <keyword type="function" name="xmlXPathNodeLeadingSorted ()" link="libxml2-xpathInternals.html#xmlXPathNodeLeadingSorted"/>
    <keyword type="function" name="xmlXPathNodeSetAdd ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAdd"/>
    <keyword type="function" name="xmlXPathNodeSetAddNs ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAddNs"/>
    <keyword type="function" name="xmlXPathNodeSetAddUnique ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetAddUnique"/>
    <keyword type="function" name="xmlXPathNodeSetContains ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetContains"/>
    <keyword type="function" name="xmlXPathNodeSetCreate ()" link="libxml2-xpath.html#xmlXPathNodeSetCreate"/>
    <keyword type="function" name="xmlXPathNodeSetDel ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetDel"/>
    <keyword type="function" name="xmlXPathNodeSetFreeNs ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetFreeNs"/>
    <keyword type="function" name="xmlXPathNodeSetMerge ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetMerge"/>
    <keyword type="function" name="xmlXPathNodeSetRemove ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetRemove"/>
    <keyword type="function" name="xmlXPathNodeSetSort ()" link="libxml2-xpathInternals.html#xmlXPathNodeSetSort"/>
    <keyword type="function" name="xmlXPathNodeTrailing ()" link="libxml2-xpathInternals.html#xmlXPathNodeTrailing"/>
    <keyword type="function" name="xmlXPathNodeTrailingSorted ()" link="libxml2-xpathInternals.html#xmlXPathNodeTrailingSorted"/>
    <keyword type="function" name="xmlXPathNormalizeFunction ()" link="libxml2-xpathInternals.html#xmlXPathNormalizeFunction"/>
    <keyword type="function" name="xmlXPathNotEqualValues ()" link="libxml2-xpathInternals.html#xmlXPathNotEqualValues"/>
    <keyword type="function" name="xmlXPathNotFunction ()" link="libxml2-xpathInternals.html#xmlXPathNotFunction"/>
    <keyword type="function" name="xmlXPathNsLookup ()" link="libxml2-xpathInternals.html#xmlXPathNsLookup"/>
    <keyword type="function" name="xmlXPathNumberFunction ()" link="libxml2-xpathInternals.html#xmlXPathNumberFunction"/>
    <keyword type="function" name="xmlXPathObjectCopy ()" link="libxml2-xpath.html#xmlXPathObjectCopy"/>
    <keyword type="function" name="xmlXPathOrderDocElems ()" link="libxml2-xpath.html#xmlXPathOrderDocElems"/>
    <keyword type="function" name="xmlXPathParseNCName ()" link="libxml2-xpathInternals.html#xmlXPathParseNCName"/>
    <keyword type="function" name="xmlXPathParseName ()" link="libxml2-xpathInternals.html#xmlXPathParseName"/>
    <keyword type="function" name="xmlXPathPopBoolean ()" link="libxml2-xpathInternals.html#xmlXPathPopBoolean"/>
    <keyword type="function" name="xmlXPathPopExternal ()" link="libxml2-xpathInternals.html#xmlXPathPopExternal"/>
    <keyword type="function" name="xmlXPathPopNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathPopNodeSet"/>
    <keyword type="function" name="xmlXPathPopNumber ()" link="libxml2-xpathInternals.html#xmlXPathPopNumber"/>
    <keyword type="function" name="xmlXPathPopString ()" link="libxml2-xpathInternals.html#xmlXPathPopString"/>
    <keyword type="function" name="xmlXPathPositionFunction ()" link="libxml2-xpathInternals.html#xmlXPathPositionFunction"/>
    <keyword type="function" name="xmlXPathRegisterAllFunctions ()" link="libxml2-xpathInternals.html#xmlXPathRegisterAllFunctions"/>
    <keyword type="function" name="xmlXPathRegisterFunc ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFunc"/>
    <keyword type="function" name="xmlXPathRegisterFuncLookup ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFuncLookup"/>
    <keyword type="function" name="xmlXPathRegisterFuncNS ()" link="libxml2-xpathInternals.html#xmlXPathRegisterFuncNS"/>
    <keyword type="function" name="xmlXPathRegisterNs ()" link="libxml2-xpathInternals.html#xmlXPathRegisterNs"/>
    <keyword type="function" name="xmlXPathRegisterVariable ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariable"/>
    <keyword type="function" name="xmlXPathRegisterVariableLookup ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariableLookup"/>
    <keyword type="function" name="xmlXPathRegisterVariableNS ()" link="libxml2-xpathInternals.html#xmlXPathRegisterVariableNS"/>
    <keyword type="function" name="xmlXPathRegisteredFuncsCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredFuncsCleanup"/>
    <keyword type="function" name="xmlXPathRegisteredNsCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredNsCleanup"/>
    <keyword type="function" name="xmlXPathRegisteredVariablesCleanup ()" link="libxml2-xpathInternals.html#xmlXPathRegisteredVariablesCleanup"/>
    <keyword type="function" name="xmlXPathRoot ()" link="libxml2-xpathInternals.html#xmlXPathRoot"/>
    <keyword type="function" name="xmlXPathRoundFunction ()" link="libxml2-xpathInternals.html#xmlXPathRoundFunction"/>
    <keyword type="function" name="xmlXPathSetContextNode ()" link="libxml2-xpath.html#xmlXPathSetContextNode"/>
    <keyword type="function" name="xmlXPathStartsWithFunction ()" link="libxml2-xpathInternals.html#xmlXPathStartsWithFunction"/>
    <keyword type="function" name="xmlXPathStringEvalNumber ()" link="libxml2-xpathInternals.html#xmlXPathStringEvalNumber"/>
    <keyword type="function" name="xmlXPathStringFunction ()" link="libxml2-xpathInternals.html#xmlXPathStringFunction"/>
    <keyword type="function" name="xmlXPathStringLengthFunction ()" link="libxml2-xpathInternals.html#xmlXPathStringLengthFunction"/>
    <keyword type="function" name="xmlXPathSubValues ()" link="libxml2-xpathInternals.html#xmlXPathSubValues"/>
    <keyword type="function" name="xmlXPathSubstringAfterFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringAfterFunction"/>
    <keyword type="function" name="xmlXPathSubstringBeforeFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringBeforeFunction"/>
    <keyword type="function" name="xmlXPathSubstringFunction ()" link="libxml2-xpathInternals.html#xmlXPathSubstringFunction"/>
    <keyword type="function" name="xmlXPathSumFunction ()" link="libxml2-xpathInternals.html#xmlXPathSumFunction"/>
    <keyword type="function" name="xmlXPathTrailing ()" link="libxml2-xpathInternals.html#xmlXPathTrailing"/>
    <keyword type="function" name="xmlXPathTrailingSorted ()" link="libxml2-xpathInternals.html#xmlXPathTrailingSorted"/>
    <keyword type="function" name="xmlXPathTranslateFunction ()" link="libxml2-xpathInternals.html#xmlXPathTranslateFunction"/>
    <keyword type="function" name="xmlXPathTrueFunction ()" link="libxml2-xpathInternals.html#xmlXPathTrueFunction"/>
    <keyword type="function" name="xmlXPathValueFlipSign ()" link="libxml2-xpathInternals.html#xmlXPathValueFlipSign"/>
    <keyword type="function" name="xmlXPathVariableLookup ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookup"/>
    <keyword type="function" name="xmlXPathVariableLookupNS ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookupNS"/>
    <keyword type="function" name="xmlXPathWrapCString ()" link="libxml2-xpathInternals.html#xmlXPathWrapCString"/>
    <keyword type="function" name="xmlXPathWrapExternal ()" link="libxml2-xpathInternals.html#xmlXPathWrapExternal"/>
    <keyword type="function" name="xmlXPathWrapNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathWrapNodeSet"/>
    <keyword type="function" name="xmlXPathWrapString ()" link="libxml2-xpathInternals.html#xmlXPathWrapString"/>
    <keyword type="function" name="xmlXPatherror ()" link="libxml2-xpathInternals.html#xmlXPatherror"/>
    <keyword type="function" name="xmlXPtrBuildNodeList ()" link="libxml2-xpointer.html#xmlXPtrBuildNodeList"/>
    <keyword type="function" name="xmlXPtrEval ()" link="libxml2-xpointer.html#xmlXPtrEval"/>
    <keyword type="function" name="xmlXPtrEvalRangePredicate ()" link="libxml2-xpointer.html#xmlXPtrEvalRangePredicate"/>
    <keyword type="function" name="xmlXPtrFreeLocationSet ()" link="libxml2-xpointer.html#xmlXPtrFreeLocationSet"/>
    <keyword type="function" name="xmlXPtrLocationSetAdd ()" link="libxml2-xpointer.html#xmlXPtrLocationSetAdd"/>
    <keyword type="function" name="xmlXPtrLocationSetCreate ()" link="libxml2-xpointer.html#xmlXPtrLocationSetCreate"/>
    <keyword type="function" name="xmlXPtrLocationSetDel ()" link="libxml2-xpointer.html#xmlXPtrLocationSetDel"/>
    <keyword type="function" name="xmlXPtrLocationSetMerge ()" link="libxml2-xpointer.html#xmlXPtrLocationSetMerge"/>
    <keyword type="function" name="xmlXPtrLocationSetRemove ()" link="libxml2-xpointer.html#xmlXPtrLocationSetRemove"/>
    <keyword type="function" name="xmlXPtrNewCollapsedRange ()" link="libxml2-xpointer.html#xmlXPtrNewCollapsedRange"/>
    <keyword type="function" name="xmlXPtrNewContext ()" link="libxml2-xpointer.html#xmlXPtrNewContext"/>
    <keyword type="function" name="xmlXPtrNewLocationSetNodeSet ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodeSet"/>
    <keyword type="function" name="xmlXPtrNewLocationSetNodes ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodes"/>
    <keyword type="function" name="xmlXPtrNewRange ()" link="libxml2-xpointer.html#xmlXPtrNewRange"/>
    <keyword type="function" name="xmlXPtrNewRangeNodeObject ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodeObject"/>
    <keyword type="function" name="xmlXPtrNewRangeNodePoint ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodePoint"/>
    <keyword type="function" name="xmlXPtrNewRangeNodes ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodes"/>
    <keyword type="function" name="xmlXPtrNewRangePointNode ()" link="libxml2-xpointer.html#xmlXPtrNewRangePointNode"/>
    <keyword type="function" name="xmlXPtrNewRangePoints ()" link="libxml2-xpointer.html#xmlXPtrNewRangePoints"/>
    <keyword type="function" name="xmlXPtrRangeToFunction ()" link="libxml2-xpointer.html#xmlXPtrRangeToFunction"/>
    <keyword type="function" name="xmlXPtrWrapLocationSet ()" link="libxml2-xpointer.html#xmlXPtrWrapLocationSet"/>
  </functions>
</book>
PK i�Z
6����+usr/share/gtk-doc/html/libxml2/general.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>libxml2: </title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="index.html" title="libxml2 Reference Manual">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="index.html" title="libxml2 Reference Manual">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">libxml2 API Modules</span></h2>
<p><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br><a href="libxml2-dict.html">dict</a> - string dictionary<br><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br><a href="libxml2-hash.html">hash</a> - Chained hash tables<br><a href="libxml2-list.html">list</a> - lists interfaces<br><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br><a href="libxml2-parser.html">parser</a> - the core parser module<br><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br><a href="libxml2-schematron.html">schematron</a> - XML Schematron implementation<br><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br><a href="libxml2-valid.html">valid</a> - The DTD validation<br><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br><a href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br></p>
</body>
</html>
PK i�Z�"#�X�X4usr/share/gtk-doc/html/libxml2/libxml2-entities.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>entities: interface for the XML entities handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">entities</span></h2>
<p>entities - interface for the XML entities handling</p>
<p>this module provides some of the entity API needed for the parser and applications. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
typedef <a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a href="#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>;
typedef enum <a href="#xmlEntityType">xmlEntityType</a>;
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
void	<a href="#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>	(void);
<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>	(void);
void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDocEntity">xmlGetDocEntity</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a>	(void);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntitiesTable">Structure </a>xmlEntitiesTable</h3>
<pre class="programlisting">struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlEntitiesTable;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntitiesTablePtr">Typedef </a>xmlEntitiesTablePtr</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * xmlEntitiesTablePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEntityType">Enum </a>xmlEntityType</h3>
<pre class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
    <a name="XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a> = 1
    <a name="XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a> = 2
    <a name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a> = 3
    <a name="XML_INTERNAL_PARAMETER_ENTITY">XML_INTERNAL_PARAMETER_ENTITY</a> = 4
    <a name="XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a> = 5
    <a name="XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a> = 6
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddDocEntity"></a>xmlAddDocEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDocEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Register a new entity for this document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAddDtdEntity"></a>xmlAddDtdEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlAddDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Register a new entity for this document DTD external subset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupPredefinedEntities"></a>xmlCleanupPredefinedEntities ()</h3>
<pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br>
</pre>
<p>Cleanup up the predefined entities table. Deprecated call</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyEntitiesTable"></a>xmlCopyEntitiesTable ()</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>Build a copy of an entity table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateEntitiesTable"></a>xmlCreateEntitiesTable ()</h3>
<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCreateEntitiesTable	(void)<br>
</pre>
<p>create and initialize an empty entities hash table. This really doesn't make sense and should be deprecated</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpEntitiesTable"></a>xmlDumpEntitiesTable ()</h3>
<pre class="programlisting">void	xmlDumpEntitiesTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>This will dump the content of the entity table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>An XML buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDumpEntityDecl"></a>xmlDumpEntityDecl ()</h3>
<pre class="programlisting">void	xmlDumpEntityDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br>
</pre>
<p>This will dump the content of the entity table as an XML DTD definition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>An XML buffer.</td>
</tr>
<tr>
<td><span class="term"><i><tt>ent</tt></i>:</span></td>
<td>An entity table</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeEntities"></a>xmlEncodeEntities ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml2-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeEntitiesReentrant"></a>xmlEncodeEntitiesReentrant ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlEncodeSpecialChars"></a>xmlEncodeSpecialChars ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
</pre>
<p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document containing the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>A string to convert to XML.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>A newly allocated string with the substitution done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeEntitiesTable"></a>xmlFreeEntitiesTable ()</h3>
<pre class="programlisting">void	xmlFreeEntitiesTable		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
</pre>
<p>Deallocate the memory used by an entities hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>table</tt></i>:</span></td>
<td>An entity table</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDocEntity		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the document entity hash table and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetDtdEntity"></a>xmlGetDtdEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetDtdEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the DTD entity hash table and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetParameterEntity"></a>xmlGetParameterEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetParameterEntity	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Do an entity lookup in the internal and external subsets and</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document referencing the entity</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetPredefinedEntity"></a>xmlGetPredefinedEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlGetPredefinedEntity	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Check whether this name is an predefined entity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>NULL if not, otherwise the entity</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializePredefinedEntities"></a>xmlInitializePredefinedEntities ()</h3>
<pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br>
</pre>
<p>Set up the predefined entities. Deprecated call</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewEntity"></a>xmlNewEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
</pre>
<p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the caller to link it to the document later or free it when not needed anymore.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the entity type XML_xxx_yyy_ENTITY</td>
</tr>
<tr>
<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
<td>the entity external ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
<td>the entity system ID if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>content</tt></i>:</span></td>
<td>the entity content</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the entity or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z�9�?

6usr/share/gtk-doc/html/libxml2/libxml2-xmlexports.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlexports: macros for marking symbols as exportable/importable.</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlexports</span></h2>
<p>xmlexports - macros for marking symbols as exportable/importable.</p>
<p>macros for marking symbols as exportable/importable. </p>
<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
#define <a href="#XMLCALL">XMLCALL</a>;
#define <a href="#XMLCDECL">XMLCDECL</a>;
#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="LIBXML_DLL_IMPORT">Macro </a>LIBXML_DLL_IMPORT</h3>
<pre class="programlisting">#define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLCALL">Macro </a>XMLCALL</h3>
<pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
</pre>
<p>Macro which declares the calling convention for exported functions</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLCDECL">Macro </a>XMLCDECL</h3>
<pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
</pre>
<p>Macro which declares the calling convention for exported functions that use '...'.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3>
<pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
</pre>
<p>Macro which declares an exportable function</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3>
<pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
</pre>
<p>Macro which declares a public symbol</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3>
<pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
</pre>
<p>Macro which declares an exportable variable</p>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z3�SK<<4usr/share/gtk-doc/html/libxml2/libxml2-xinclude.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xinclude: implementation of XInclude</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xlink.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xinclude</span></h2>
<p>xinclude - implementation of XInclude</p>
<p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003</p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
typedef struct _xmlXIncludeCtxt <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a>;
typedef <a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a href="#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>;
void	<a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);
<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	<a href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags);
int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data);
int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags);
int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data);
int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
</pre>
<p>Macro defining "fallback"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
</pre>
<p>Macro defining "href"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
</pre>
<p>Macro defining "include"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
</pre>
<p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
</pre>
<p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
</pre>
<p>Macro defining "parse"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_ENCODING">Macro </a>XINCLUDE_PARSE_ENCODING</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
</pre>
<p>Macro defining "encoding"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_TEXT">Macro </a>XINCLUDE_PARSE_TEXT</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
</pre>
<p>Macro defining "text"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_XML">Macro </a>XINCLUDE_PARSE_XML</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
</pre>
<p>Macro defining "xml"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="XINCLUDE_PARSE_XPOINTER">Macro </a>XINCLUDE_PARSE_XPOINTER</h3>
<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
</pre>
<p>Macro defining "xpointer"</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3>
<pre class="programlisting">struct _xmlXIncludeCtxt {
The content of this structure is not made public by the API.
} xmlXIncludeCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeCtxtPtr">Typedef </a>xmlXIncludeCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * xmlXIncludeCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeFreeContext"></a>xmlXIncludeFreeContext ()</h3>
<pre class="programlisting">void	xmlXIncludeFreeContext		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br>
</pre>
<p>Free an XInclude context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XInclude context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeNewContext"></a>xmlXIncludeNewContext ()</h3>
<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	xmlXIncludeNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Creates a new XInclude context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML Document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new set</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcess"></a>xmlXIncludeProcess ()</h3>
<pre class="programlisting">int	xmlXIncludeProcess		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessFlags"></a>xmlXIncludeProcessFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessFlagsData"></a>xmlXIncludeProcessFlagsData ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int flags, <br>					 void * data)<br>
</pre>
<p>Implement the XInclude substitution on the XML document @doc</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessNode"></a>xmlXIncludeProcessNode ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree reusing the information and data coming from the given context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an existing XInclude context</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTree"></a>xmlXIncludeProcessTree ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTreeFlags"></a>xmlXIncludeProcessTreeFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTreeFlags	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags)<br>
</pre>
<p>Implement the XInclude substitution for the given subtree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>a node in an XML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeProcessTreeFlagsData"></a>xmlXIncludeProcessTreeFlagsData ()</h3>
<pre class="programlisting">int	xmlXIncludeProcessTreeFlagsData	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data)<br>
</pre>
<p>Implement the XInclude substitution on the XML node @tree</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tree</tt></i>:</span></td>
<td>an XML node</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>application data that will be passed to the parser context in the _private field of the parser context(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlXIncludeSetFlags"></a>xmlXIncludeSetFlags ()</h3>
<pre class="programlisting">int	xmlXIncludeSetFlags		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags)<br>
</pre>
<p>Set the flags used for further processing of XML resources.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XInclude processing context</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Zh6�~����;usr/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlschemastypes: implementation of XML Schema Datatypes</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlschemastypes</span></h2>
<p>xmlschemastypes - implementation of XML Schema Datatypes</p>
<p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
void	<a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>		(void);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
int	<a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type);
int	<a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
int	<a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
unsigned long	<a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	<a href="#xmlSchemaGetValType">xmlSchemaGetValType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
void	<a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>		(void);
int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType);
<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
int	<a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
int	<a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length);
int	<a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 unsigned long actualLen, <br>						 unsigned long * expectedLen);
int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
int	<a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
int	<a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	<a href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWhitespaceValueType">Enum </a>xmlSchemaWhitespaceValueType</h3>
<pre class="programlisting">enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
    <a name="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0
    <a name="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1
    <a name="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2
    <a name="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3>
<pre class="programlisting">int	xmlSchemaCheckFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Checks and computes the values of facets.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet</td>
</tr>
<tr>
<td><span class="term"><i><tt>typeDecl</tt></i>:</span></td>
<td>the schema type definition</td>
</tr>
<tr>
<td><span class="term"><i><tt>pctxt</tt></i>:</span></td>
<td>the schema parser context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the optional name of the type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3>
<pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default XML Schemas type library</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCollapseString"></a>xmlSchemaCollapseString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Removes and normalize white spaces in the string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string or NULL if no change was required.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3>
<pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br>
</pre>
<p>Compare 2 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>a first value</td>
</tr>
<tr>
<td><span class="term"><i><tt>y</tt></i>:</span></td>
<td>a second value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCompareValuesWhtsp"></a>xmlSchemaCompareValuesWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaCompareValuesWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> yws)<br>
</pre>
<p>Compare 2 values</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>x</tt></i>:</span></td>
<td>a first value</td>
</tr>
<tr>
<td><span class="term"><i><tt>xws</tt></i>:</span></td>
<td>the whitespace value of x</td>
</tr>
<tr>
<td><span class="term"><i><tt>y</tt></i>:</span></td>
<td>a second value</td>
</tr>
<tr>
<td><span class="term"><i><tt>yws</tt></i>:</span></td>
<td>the whitespace value of y</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaCopyValue"></a>xmlSchemaCopyValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaCopyValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Copies the precomputed value. This duplicates any string within.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value to be copied</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the copy or NULL if a copy for a data-type is not implemented.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3>
<pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
</pre>
<p>Deallocate a Schema Facet structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>a schema facet structure</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3>
<pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br>
</pre>
<p>Cleanup the default XML Schemas type library</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to free</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
</pre>
<p>Lookup function</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in simple type.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetBuiltInType"></a>xmlSchemaGetBuiltInType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br>
</pre>
<p>Gives you the type struct for a built-in type by its type id.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the type of the built in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetCanonValue"></a>xmlSchemaGetCanonValue ()</h3>
<pre class="programlisting">int	xmlSchemaGetCanonValue		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br>
</pre>
<p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
<td>the returned value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetCanonValueWhtsp"></a>xmlSchemaGetCanonValueWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaGetCanonValueWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Get the canonical representation of the value. The caller has to free the returned @retValue.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
<td>the returned value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetFacetValueAsULong"></a>xmlSchemaGetFacetValueAsULong ()</h3>
<pre class="programlisting">unsigned long	xmlSchemaGetFacetValueAsULong	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
</pre>
<p>Extract the value of a facet</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>an schemas type facet</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value as a long</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Lookup a type in the default XML Schemas type library</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the type name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the type if found, NULL otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaGetValType"></a>xmlSchemaGetValType ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>	xmlSchemaGetValType	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the type of a value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>a schemas value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3>
<pre class="programlisting">void	xmlSchemaInitTypes		(void)<br>
</pre>
<p>Initialize the default XML Schemas type library</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaIsBuiltInTypeFacet"></a>xmlSchemaIsBuiltInTypeFacet ()</h3>
<pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 int facetType)<br>
</pre>
<p>Evaluates if a specific facet can be used in conjunction with a type.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facetType</tt></i>:</span></td>
<td>the facet type</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a built-in type.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br>
</pre>
<p>Allocate a new Facet structure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly allocated structure or NULL in case or error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewNOTATIONValue"></a>xmlSchemaNewNOTATIONValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewNOTATIONValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the notation name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the notation namespace name or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewQNameValue"></a>xmlSchemaNewQNameValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewQNameValue	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName)<br>
</pre>
<p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>namespaceName</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of an error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaNewStringValue"></a>xmlSchemaNewStringValue ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaNewStringValue	(<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed and freed with the struct.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the value type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the new value or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3>
<pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node containing the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValPredefTypeNodeNoNorm"></a>xmlSchemaValPredefTypeNodeNoNorm ()</h3>
<pre class="programlisting">int	xmlSchemaValPredefTypeNodeNoNorm	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val. This one does apply any normalization to the value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>the node containing the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Check a value against a facet condition</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateFacetWhtsp"></a>xmlSchemaValidateFacetWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaValidateFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Check a value against a facet condition. This takes value normalization according to the specified whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type "pattern".</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>fws</tt></i>:</span></td>
<td>the whitespace type of the facet's value</td>
</tr>
<tr>
<td><span class="term"><i><tt>valType</tt></i>:</span></td>
<td>the built-in type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical (or normalized for pattern) repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateLengthFacet"></a>xmlSchemaValidateLengthFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateLengthFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>					 unsigned long * length)<br>
</pre>
<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr. of the value to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>length</tt></i>:</span></td>
<td>the actual length of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateLengthFacetWhtsp"></a>xmlSchemaValidateLengthFacetWhtsp ()</h3>
<pre class="programlisting">int	xmlSchemaValidateLengthFacetWhtsp	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>						 unsigned long * length, <br>						 <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
</pre>
<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length of @value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>valType</tt></i>:</span></td>
<td>the built-in type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr. of the value to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the precomputed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>length</tt></i>:</span></td>
<td>the actual length of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>ws</tt></i>:</span></td>
<td>the whitespace type of the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidateListSimpleTypeFacet"></a>xmlSchemaValidateListSimpleTypeFacet ()</h3>
<pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>						 unsigned long actualLen, <br>						 unsigned long * expectedLen)<br>
</pre>
<p>Checks the value of a list simple type against a facet.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>facet</tt></i>:</span></td>
<td>the facet to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the lexical repr of the value to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>actualLen</tt></i>:</span></td>
<td>the number of list items</td>
</tr>
<tr>
<td><span class="term"><i><tt>expectedLen</tt></i>:</span></td>
<td>the resulting expected number of list items</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3>
<pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br>
</pre>
<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>type</tt></i>:</span></td>
<td>the predefined type</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the value to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the return computed value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueAppend"></a>xmlSchemaValueAppend ()</h3>
<pre class="programlisting">int	xmlSchemaValueAppend		(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>					 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
</pre>
<p>Appends a next sibling to a list of computed values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>prev</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the value to be appended</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if succeeded and -1 on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetAsBoolean"></a>xmlSchemaValueGetAsBoolean ()</h3>
<pre class="programlisting">int	xmlSchemaValueGetAsBoolean	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the boolean value of a computed value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true and 0 if false, or in case of an error. Hmm.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetAsString"></a>xmlSchemaValueGetAsString ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaValueGetAsString	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
</pre>
<p>Accessor for the string value of a computed value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string value or NULL if there was none, or on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaValueGetNext"></a>xmlSchemaValueGetNext ()</h3>
<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	xmlSchemaValueGetNext	(<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
</pre>
<p>Accessor for the next sibling of a list of computed values.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the next value or NULL if there was none, or on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSchemaWhiteSpaceReplace"></a>xmlSchemaWhiteSpaceReplace ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaWhiteSpaceReplace	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
</pre>
<p>Replaces 0xd, 0x9 and 0xa with a space.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>a value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new string or NULL if no change was required.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK i�Z���550usr/share/gtk-doc/html/libxml2/libxml2-dict.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dict: string dictionary</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">dict</span></h2>
<p>dict - string dictionary</p>
<p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
typedef <a href="libxml2-dict.html#xmlDict">xmlDict</a> * <a href="#xmlDictPtr">xmlDictPtr</a>;
void	<a href="#xmlDictCleanup">xmlDictCleanup</a>			(void);
<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreate">xmlDictCreate</a>		(void);
<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlDictCreateSub">xmlDictCreateSub</a>	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictExists">xmlDictExists</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
void	<a href="#xmlDictFree">xmlDictFree</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
size_t	<a href="#xmlDictGetUsage">xmlDictGetUsage</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictLookup">xmlDictLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
int	<a href="#xmlDictOwns">xmlDictOwns</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDictQLookup">xmlDictQLookup</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlDictReference">xmlDictReference</a>		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
size_t	<a href="#xmlDictSetLimit">xmlDictSetLimit</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit);
int	<a href="#xmlDictSize">xmlDictSize</a>			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
int	<a href="#xmlInitializeDict">xmlInitializeDict</a>		(void);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlDict">Structure </a>xmlDict</h3>
<pre class="programlisting">struct _xmlDict {
The content of this structure is not made public by the API.
} xmlDict;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCleanup"></a>xmlDictCleanup ()</h3>
<pre class="programlisting">void	xmlDictCleanup			(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all. Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCreate"></a>xmlDictCreate ()</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br>
</pre>
<p>Create a new dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created dictionary, or NULL if an error occurred.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictCreateSub"></a>xmlDictCreateSub ()</h3>
<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br>
</pre>
<p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sub</tt></i>:</span></td>
<td>an existing dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the newly created dictionary, or NULL if an error occurred.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictExists"></a>xmlDictExists ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Check if the @name exists in the dictionary @dict.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the name, if -1 it is recomputed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the name or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictFree"></a>xmlDictFree ()</h3>
<pre class="programlisting">void	xmlDictFree			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictGetUsage"></a>xmlDictGetUsage ()</h3>
<pre class="programlisting">size_t	xmlDictGetUsage			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the amount of strings allocated</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictLookup"></a>xmlDictLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
</pre>
<p>Add the @name to the dictionary @dict if not present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name of the userdata</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the name, if -1 it is recomputed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the name or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictOwns"></a>xmlDictOwns ()</h3>
<pre class="programlisting">int	xmlDictOwns			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>check if a string is owned by the dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 in case of error -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictQLookup		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Add the QName @prefix:@name to the hash @dict if not present.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the internal copy of the QName or NULL in case of internal error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictReference"></a>xmlDictReference ()</h3>
<pre class="programlisting">int	xmlDictReference		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictSetLimit"></a>xmlDictSetLimit ()</h3>
<pre class="programlisting">size_t	xmlDictSetLimit			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>					 size_t limit)<br>
</pre>
<p>Set a size limit for the dictionary Added in 2.9.0</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>limit</tt></i>:</span></td>
<td>the limit in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the previous limit of the dictionary or 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlDictSize"></a>xmlDictSize ()</h3>
<pre class="programlisting">int	xmlDictSize			(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
<p>Query the number of elements installed in the hash @dict.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>the dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the dictionary or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInitializeDict"></a>xmlInitializeDict ()</h3>
<pre class="programlisting">int	xmlInitializeDict		(void)<br>
</pre>
<p>DEPRECATED: This function will be made private. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Do the dictionary mutex initialization.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if initialization was already done, and 1 if that call led to the initialization</td>
</tr></tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�Z��@7����1usr/share/gtk-doc/html/libxml2/libxml2-xmlIO.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlIO: interface for the I/O interfaces used by the parser</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xlink.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlIO</span></h2>
<p>xmlIO - interface for the I/O interfaces used by the parser</p>
<p>interface for the I/O interfaces used by the parser </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlCheckFilename">xmlCheckFilename</a>		(const char * path);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
void	<a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>	(void);
void	<a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>	(void);
int	<a href="#xmlFileClose">xmlFileClose</a>			(void * context);
int	<a href="#xmlFileMatch">xmlFileMatch</a>			(const char * filename);
void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename);
int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
void	<a href="#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context);
int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename);
void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename);
int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context);
int	<a href="#xmlIOHTTPMatch">xmlIOHTTPMatch</a>			(const char * filename);
void *	<a href="#xmlIOHTTPOpen">xmlIOHTTPOpen</a>			(const char * filename);
void *	<a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>			(const char * post_uri, <br>					 int compression);
int	<a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
typedef int <a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>		(void * context);
typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>		(char const * filename);
typedef void * <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>		(char const * filename);
typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>		(void * context, <br>					 char * buffer, <br>					 int len);
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
int	<a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf);
int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping);
int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str);
typedef int <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context);
typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>		(char const * filename);
typedef void * <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>		(char const * filename);
typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>		(void * context, <br>					 const char * buffer, <br>					 int len);
char *	<a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>		(const char * filename);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
int	<a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
int	<a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf);
int	<a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len);
int	<a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>		(void);
int	<a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>		(void);
void	<a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>	(void);
void	<a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>	(void);
void	<a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>	(void);
int	<a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
int	<a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputCloseCallback"></a>Function type xmlInputCloseCallback</h3>
<pre class="programlisting">int	xmlInputCloseCallback		(void * context)<br>
</pre>
<p>Callback used in the I/O Input API to close the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Input context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputMatchCallback"></a>Function type xmlInputMatchCallback</h3>
<pre class="programlisting">int	xmlInputMatchCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for this resource.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if yes and 0 if another Input module should be used</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputOpenCallback"></a>Function type xmlInputOpenCallback</h3>
<pre class="programlisting">void *	xmlInputOpenCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Input API to open the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an Input context or NULL in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlInputReadCallback"></a>Function type xmlInputReadCallback</h3>
<pre class="programlisting">int	xmlInputReadCallback		(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Callback used in the I/O Input API to read the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Input context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the buffer to store data read</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the buffer in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes read or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputCloseCallback"></a>Function type xmlOutputCloseCallback</h3>
<pre class="programlisting">int	xmlOutputCloseCallback		(void * context)<br>
</pre>
<p>Callback used in the I/O Output API to close the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Output context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputMatchCallback"></a>Function type xmlOutputMatchCallback</h3>
<pre class="programlisting">int	xmlOutputMatchCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for this resource.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if yes and 0 if another Output module should be used</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputOpenCallback"></a>Function type xmlOutputOpenCallback</h3>
<pre class="programlisting">void *	xmlOutputOpenCallback		(char const * filename)<br>
</pre>
<p>Callback used in the I/O Output API to open the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an Output context or NULL in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputWriteCallback"></a>Function type xmlOutputWriteCallback</h3>
<pre class="programlisting">int	xmlOutputWriteCallback		(void * context, <br>					 const char * buffer, <br>					 int len)<br>
</pre>
<p>Callback used in the I/O Output API to write to the resource</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>an Output context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>the buffer of data to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length of the buffer in bytes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered parser output</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for progressive parsing</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3>
<pre class="programlisting">int	xmlCheckFilename		(const char * path)<br>
</pre>
<p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on the target machine,</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the path to check</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise returns 1.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCheckHTTPInput"></a>xmlCheckHTTPInput ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCheckHTTPInput	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret)<br>
</pre>
<p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is cleanly freed up and an appropriate error is raised in context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an XML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ret</tt></i>:</span></td>
<td>an XML parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the input or NULL in case of HTTP error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3>
<pre class="programlisting">void	xmlCleanupInputCallbacks	(void)<br>
</pre>
<p>clears the entire input callback table. this includes the compiled-in I/O.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3>
<pre class="programlisting">void	xmlCleanupOutputCallbacks	(void)<br>
</pre>
<p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileClose"></a>xmlFileClose ()</h3>
<pre class="programlisting">int	xmlFileClose			(void * context)<br>
</pre>
<p>Close an I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileMatch"></a>xmlFileMatch ()</h3>
<pre class="programlisting">int	xmlFileMatch			(const char * filename)<br>
</pre>
<p>input from FILE *</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileOpen"></a>xmlFileOpen ()</h3>
<pre class="programlisting">void *	xmlFileOpen			(const char * filename)<br>
</pre>
<p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails fallback to @filename</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a handler or NULL in case or failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFileRead"></a>xmlFileRead ()</h3>
<pre class="programlisting">int	xmlFileRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written or &lt; 0 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3>
<pre class="programlisting">void	xmlFreeParserInputBuffer	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br>
</pre>
<p>Free up the memory used by a buffered parser input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3>
<pre class="programlisting">int	xmlIOFTPClose			(void * context)<br>
</pre>
<p>Close an FTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3>
<pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br>
</pre>
<p>check if the URI matches an FTP one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3>
<pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br>
</pre>
<p>open an FTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3>
<pre class="programlisting">int	xmlIOFTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3>
<pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br>
</pre>
<p>Close an HTTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3>
<pre class="programlisting">int	xmlIOHTTPMatch			(const char * filename)<br>
</pre>
<p>check if the URI matches an HTTP one</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if matches, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3>
<pre class="programlisting">void *	xmlIOHTTPOpen			(const char * filename)<br>
</pre>
<p>open an HTTP I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the URI for matching</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3>
<pre class="programlisting">void *	xmlIOHTTPOpenW			(const char * post_uri, <br>					 int compression)<br>
</pre>
<p>Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is called from the output buffer creation routine.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>post_uri</tt></i>:</span></td>
<td>The destination URI for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>The compression desired for the document.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an I/O context or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3>
<pre class="programlisting">int	xmlIOHTTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
</pre>
<p>Read @len bytes to @buffer from the I/O channel.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>context</tt></i>:</span></td>
<td>the I/O context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>where to drop data</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>number of bytes to write</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of bytes written</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the URL for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ID</tt></i>:</span></td>
<td>the System ID for the entity to load</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the context in which the entity is called or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new allocated xmlParserInputPtr, or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNormalizeWindowsPath	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the input file path</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a canonicalized version of the path</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3>
<pre class="programlisting">int	xmlOutputBufferClose		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>flushes and close the output I/O channel and free up all the associated resources</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateBuffer"></a>xmlOutputBufferCreateBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a file descriptor</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
</pre>
<p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>a C string containing the URI or filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the encoding converter or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>compression</tt></i>:</span></td>
<td>the compression ration (0 none, 9 max).</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
<p>Create a buffered output for the progressive saving to an I/O handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
<td>an I/O write function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser output or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3>
<pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>flushes the output I/O channel</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered output</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of byte written or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferGetContent"></a>xmlOutputBufferGetContent ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlOutputBufferGetContent	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Gives a pointer to the data currently held in the output buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferGetSize"></a>xmlOutputBufferGetSize ()</h3>
<pre class="programlisting">size_t	xmlOutputBufferGetSize		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
</pre>
<p>Gives the length of the data currently held in the output buffer</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case or error or no data is held, the size otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3>
<pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf)<br>
</pre>
<p>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size in bytes of the array.</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWriteEscape"></a>xmlOutputBufferWriteEscape ()</h3>
<pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br>
</pre>
<p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated UTF-8 string</td>
</tr>
<tr>
<td><span class="term"><i><tt>escaping</tt></i>:</span></td>
<td>an optional escaping function (or NULL)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3>
<pre class="programlisting">int	xmlOutputBufferWriteString	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str)<br>
</pre>
<p>Write the content of the string in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a buffered parser output</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a zero terminated C string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars immediately written, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3>
<pre class="programlisting">char *	xmlParserGetDirectory		(const char * filename)<br>
</pre>
<p>lookup the directory for that file</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the path to a file</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new allocated string containing the directory, or NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from a file descriptor</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>a file descriptor number</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>file</tt></i>:</span></td>
<td>a FILE*</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>a C string containing the URI or filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the memory block</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferCreateStatic"></a>xmlParserInputBufferCreateStatic ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a buffered parser input for the progressive parsing for the input from an immutable memory area. This will not copy the memory area to the buffer, but the memory is expected to be available until the end of the parsing, this is useful for example when using mmap'ed file.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>mem</tt></i>:</span></td>
<td>the memory input</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the length of the memory block</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>the charset encoding if known</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser input or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3>
<pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
</pre>
<p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>indicative value of the amount of chars to read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3>
<pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf)<br>
</pre>
<p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the size in bytes of the array.</td>
</tr>
<tr>
<td><span class="term"><i><tt>buf</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3>
<pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
</pre>
<p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a buffered parser input</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>indicative value of the amount of chars to read</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopInputCallbacks"></a>xmlPopInputCallbacks ()</h3>
<pre class="programlisting">int	xmlPopInputCallbacks		(void)<br>
</pre>
<p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of input callback registered or -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPopOutputCallbacks"></a>xmlPopOutputCallbacks ()</h3>
<pre class="programlisting">int	xmlPopOutputCallbacks		(void)<br>
</pre>
<p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of output callback registered or -1 in case of error.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterDefaultInputCallbacks	(void)<br>
</pre>
<p>Registers the default compiled-in I/O handlers.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterDefaultOutputCallbacks	(void)<br>
</pre>
<p>Registers the default compiled-in I/O handlers.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3>
<pre class="programlisting">void	xmlRegisterHTTPPostCallbacks	(void)<br>
</pre>
<p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the HTTP output method to use the "POST" method instead.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3>
<pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br>
</pre>
<p>Register a new set of I/O callback for handling parser input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>readFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the registered handler number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3>
<pre class="programlisting">int	xmlRegisterOutputCallbacks	(<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>					 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br>
</pre>
<p>Register a new set of I/O callback for handling output.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>writeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
<td>the <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the registered handler number or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�Z�vn����5usr/share/gtk-doc/html/libxml2/libxml2-xmlreader.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>xmlreader: the XMLReader implementation</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-xmlmodule.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">xmlreader</span></h2>
<p>xmlreader - the XMLReader implementation</p>
<p>API of the XML streaming API based on C# interfaces. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
typedef enum <a href="#xmlParserSeverities">xmlParserSeverities</a>;
typedef enum <a href="#xmlReaderTypes">xmlReaderTypes</a>;
typedef struct _xmlTextReader <a href="#xmlTextReader">xmlTextReader</a>;
typedef void * <a href="#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>;
typedef enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>;
typedef <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a href="#xmlTextReaderPtr">xmlTextReaderPtr</a>;
void	<a href="#xmlFreeTextReader">xmlFreeTextReader</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReader">xmlNewTextReader</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>	(const char * URI);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForDoc">xmlReaderForDoc</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFd">xmlReaderForFd</a>	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForFile">xmlReaderForFile</a>	(const char * filename, <br>						 const char * encoding, <br>						 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForIO">xmlReaderForIO</a>	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderForMemory">xmlReaderForMemory</a>	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options);
int	<a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewFd">xmlReaderNewFd</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewFile">xmlReaderNewFile</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewIO">xmlReaderNewIO</a>			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	<a href="#xmlReaderWalker">xmlReaderWalker</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
int	<a href="#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
long	<a href="#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderClose">xmlTextReaderClose</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstEncoding">xmlTextReaderConstEncoding</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstName">xmlTextReaderConstName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstString">xmlTextReaderConstString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderExpand">xmlTextReaderExpand</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
void	<a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg);
int	<a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsNamespaceDecl">xmlTextReaderIsNamespaceDecl</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
int	<a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
int	<a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int	<a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no);
int	<a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI);
int	<a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderName">xmlTextReaderName</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNext">xmlTextReaderNext</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
int	<a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderRead">xmlTextReaderRead</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderReadString">xmlTextReaderReadString</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
int	<a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
int	<a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng);
int	<a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options);
int	<a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd);
int	<a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg);
int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value);
int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg);
int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
int	<a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderValue">xmlTextReaderValue</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserProperties">Enum </a>xmlParserProperties</h3>
<pre class="programlisting">enum <a href="#xmlParserProperties">xmlParserProperties</a> {
    <a name="XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a> = 1
    <a name="XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a> = 2
    <a name="XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a> = 3
    <a name="XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParserSeverities">Enum </a>xmlParserSeverities</h3>
<pre class="programlisting">enum <a href="#xmlParserSeverities">xmlParserSeverities</a> {
    <a name="XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a> = 1
    <a name="XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a> = 2
    <a name="XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a> = 3
    <a name="XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a> = 4
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3>
<pre class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
    <a name="XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a> = 0
    <a name="XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a> = 1
    <a name="XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a> = 2
    <a name="XML_READER_TYPE_TEXT">XML_READER_TYPE_TEXT</a> = 3
    <a name="XML_READER_TYPE_CDATA">XML_READER_TYPE_CDATA</a> = 4
    <a name="XML_READER_TYPE_ENTITY_REFERENCE">XML_READER_TYPE_ENTITY_REFERENCE</a> = 5
    <a name="XML_READER_TYPE_ENTITY">XML_READER_TYPE_ENTITY</a> = 6
    <a name="XML_READER_TYPE_PROCESSING_INSTRUCTION">XML_READER_TYPE_PROCESSING_INSTRUCTION</a> = 7
    <a name="XML_READER_TYPE_COMMENT">XML_READER_TYPE_COMMENT</a> = 8
    <a name="XML_READER_TYPE_DOCUMENT">XML_READER_TYPE_DOCUMENT</a> = 9
    <a name="XML_READER_TYPE_DOCUMENT_TYPE">XML_READER_TYPE_DOCUMENT_TYPE</a> = 10
    <a name="XML_READER_TYPE_DOCUMENT_FRAGMENT">XML_READER_TYPE_DOCUMENT_FRAGMENT</a> = 11
    <a name="XML_READER_TYPE_NOTATION">XML_READER_TYPE_NOTATION</a> = 12
    <a name="XML_READER_TYPE_WHITESPACE">XML_READER_TYPE_WHITESPACE</a> = 13
    <a name="XML_READER_TYPE_SIGNIFICANT_WHITESPACE">XML_READER_TYPE_SIGNIFICANT_WHITESPACE</a> = 14
    <a name="XML_READER_TYPE_END_ELEMENT">XML_READER_TYPE_END_ELEMENT</a> = 15
    <a name="XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a> = 16
    <a name="XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a> = 17
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReader">Structure </a>xmlTextReader</h3>
<pre class="programlisting">struct _xmlTextReader {
The content of this structure is not made public by the API.
} xmlTextReader;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorPtr">Typedef </a>xmlTextReaderLocatorPtr</h3>
<pre class="programlisting">void * xmlTextReaderLocatorPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3>
<pre class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
    <a name="XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a> = 0
    <a name="XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a> = 1
    <a name="XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a> = 2
    <a name="XML_TEXTREADER_MODE_EOF">XML_TEXTREADER_MODE_EOF</a> = 3
    <a name="XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a> = 4
    <a name="XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a> = 5
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * xmlTextReaderPtr;
</pre>
<p>Pointer to an xmlReader context.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderErrorFunc"></a>Function type xmlTextReaderErrorFunc</h3>
<pre class="programlisting">void	xmlTextReaderErrorFunc		(void * arg, <br>					 const char * msg, <br>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Signature of an error callback from a reader parser</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>the user argument</td>
</tr>
<tr>
<td><span class="term"><i><tt>msg</tt></i>:</span></td>
<td>the message</td>
</tr>
<tr>
<td><span class="term"><i><tt>severity</tt></i>:</span></td>
<td>the severity of the error</td>
</tr>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>a locator indicating where the error occurred</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeTextReader"></a>xmlFreeTextReader ()</h3>
<pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Deallocate all the resources associated to the reader</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextReader"></a>xmlNewTextReader ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReader	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>						 const char * URI)<br>
</pre>
<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read data</td>
</tr>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI information for the source if available</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNewTextReaderFilename"></a>xmlNewTextReaderFilename ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlNewTextReaderFilename	(const char * URI)<br>
</pre>
<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the resource at @URI</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI of the resource to process</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForDoc"></a>xmlReaderForDoc ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForDoc	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForFd"></a>xmlReaderForFd ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFd	(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForFile"></a>xmlReaderForFile ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForFile	(const char * filename, <br>						 const char * encoding, <br>						 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForIO"></a>xmlReaderForIO ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderForMemory"></a>xmlReaderForMemory ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderForMemory	(const char * buffer, <br>						 int size, <br>						 const char * URL, <br>						 const char * encoding, <br>						 int options)<br>
</pre>
<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of xmlParserOption.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewDoc"></a>xmlReaderNewDoc ()</h3>
<pre class="programlisting">int	xmlReaderNewDoc			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewFd"></a>xmlReaderNewFd ()</h3>
<pre class="programlisting">int	xmlReaderNewFd			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewFile"></a>xmlReaderNewFile ()</h3>
<pre class="programlisting">int	xmlReaderNewFile		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewIO"></a>xmlReaderNewIO ()</h3>
<pre class="programlisting">int	xmlReaderNewIO			(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewMemory"></a>xmlReaderNewMemory ()</h3>
<pre class="programlisting">int	xmlReaderNewMemory		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderNewWalker"></a>xmlReaderNewWalker ()</h3>
<pre class="programlisting">int	xmlReaderNewWalker		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader xmlTextReader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlReaderWalker"></a>xmlReaderWalker ()</h3>
<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>	xmlReaderWalker	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
</pre>
<p>Create an xmltextReader for a preparsed document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>a preparsed document</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new reader or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderAttributeCount"></a>xmlTextReaderAttributeCount ()</h3>
<pre class="programlisting">int	xmlTextReaderAttributeCount	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the number of attributes of the current node</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 i no attributes, -1 in case of error or the <a href="libxml2-SAX.html#attribute">attribute</a> count</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderBaseUri"></a>xmlTextReaderBaseUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The base URI of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderByteConsumed"></a>xmlTextReaderByteConsumed ()</h3>
<pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderClose"></a>xmlTextReaderClose ()</h3>
<pre class="programlisting">int	xmlTextReaderClose		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This method releases any resources allocated by the current instance changes the state to Closed and close any underlying input.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstBaseUri"></a>xmlTextReaderConstBaseUri ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstBaseUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The base URI of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL if not available, the string will be deallocated with the reader</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstEncoding"></a>xmlTextReaderConstEncoding ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstEncoding	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the encoding of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the encoding of the document or NULL in case of error. The string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstLocalName"></a>xmlTextReaderConstLocalName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The local name of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, the string will be deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstName"></a>xmlTextReaderConstName ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The qualified name of the node, equal to Prefix :LocalName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, the string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstNamespaceUri"></a>xmlTextReaderConstNamespaceUri ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The URI defining the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace URI or NULL if not available, the string will be deallocated with the reader</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstPrefix"></a>xmlTextReaderConstPrefix ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the prefix or NULL if not available, the string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstString"></a>xmlTextReaderConstString ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Get an interned string from the reader, allows for example to speedup string name comparisons</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to intern.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an interned copy of the string or NULL in case of error. The string will be deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstValue"></a>xmlTextReaderConstValue ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the text value of the node if present</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstXmlLang"></a>xmlTextReaderConstXmlLang ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The xml:lang scope within which the node resides.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the xml:lang value or NULL if none exists.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderConstXmlVersion"></a>xmlTextReaderConstXmlVersion ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstXmlVersion	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the XML version of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the XML version of the document or NULL in case of error. The string is deallocated with the reader.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderCurrentDoc"></a>xmlTextReaderCurrentDoc ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlTextReaderCurrentDoc	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader parsing has finished.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderCurrentNode"></a>xmlTextReaderCurrentNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderCurrentNode	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be destroyed on the next Reads.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderDepth"></a>xmlTextReaderDepth ()</h3>
<pre class="programlisting">int	xmlTextReaderDepth		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The depth of the node in the tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the depth or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderExpand"></a>xmlTextReaderExpand ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttribute"></a>xmlTextReaderGetAttribute ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the qualified name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttributeNo"></a>xmlTextReaderGetAttributeNo ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no)<br>
</pre>
<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetAttributeNs"></a>xmlTextReaderGetAttributeNs ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Provides the value of the specified <a href="libxml2-SAX.html#attribute">attribute</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>the namespace URI of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetErrorHandler"></a>xmlTextReaderGetErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderGetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>					 void ** arg)<br>
</pre>
<p>Retrieve the error callback function and user argument.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function or NULL is no callback has been registered</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserColumnNumber"></a>xmlTextReaderGetParserColumnNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserColumnNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provide the column number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the user data (XML reader context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserLineNumber"></a>xmlTextReaderGetParserLineNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provide the line number of the current parsing point.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the user data (XML reader context)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an int or 0 if not available</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetParserProp"></a>xmlTextReaderGetParserProp ()</h3>
<pre class="programlisting">int	xmlTextReaderGetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop)<br>
</pre>
<p>Read the parser internal property.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prop</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value, usually 0 or 1, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderGetRemainder"></a>xmlTextReaderGetRemainder ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlTextReaderGetRemainder	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of File and return the input stream with what is left that the parser did not use. The implementation is not good, the parser certainly progressed past what's left in reader-&gt;input, and there is an allocation problem. Best would be to rewrite it differently.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderHasAttributes"></a>xmlTextReaderHasAttributes ()</h3>
<pre class="programlisting">int	xmlTextReaderHasAttributes	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether the node has attributes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false, and -1 in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderHasValue"></a>xmlTextReaderHasValue ()</h3>
<pre class="programlisting">int	xmlTextReaderHasValue		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether the node can have a text value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false, and -1 in case or error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsDefault"></a>xmlTextReaderIsDefault ()</h3>
<pre class="programlisting">int	xmlTextReaderIsDefault		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsEmptyElement"></a>xmlTextReaderIsEmptyElement ()</h3>
<pre class="programlisting">int	xmlTextReaderIsEmptyElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Check if the current node is empty</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if empty, 0 if not and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsNamespaceDecl"></a>xmlTextReaderIsNamespaceDecl ()</h3>
<pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml2-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderIsValid"></a>xmlTextReaderIsValid ()</h3>
<pre class="programlisting">int	xmlTextReaderIsValid		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Retrieve the validity status from the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the flag value 1 if valid, 0 if no, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocalName"></a>xmlTextReaderLocalName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocalName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The local name of the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorBaseURI"></a>xmlTextReaderLocatorBaseURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLocatorBaseURI	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Obtain the base URI for the given locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLocatorLineNumber"></a>xmlTextReaderLocatorLineNumber ()</h3>
<pre class="programlisting">int	xmlTextReaderLocatorLineNumber	(<a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
</pre>
<p>Obtain the line number for the given locator.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>locator</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the line number or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderLookupNamespace"></a>xmlTextReaderLookupNamespace ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderLookupNamespace	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
</pre>
<p>Resolves a namespace prefix in the scope of the current element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
<td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttribute"></a>xmlTextReaderMoveToAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the qualified name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttributeNo"></a>xmlTextReaderMoveToAttributeNo ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>no</tt></i>:</span></td>
<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToAttributeNs"></a>xmlTextReaderMoveToAttributeNs ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
</pre>
<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>localName</tt></i>:</span></td>
<td>the local name of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
<td>the namespace URI of the attribute.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToElement"></a>xmlTextReaderMoveToElement ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToElement	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the node that contains the current Attribute node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not moved</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToFirstAttribute"></a>xmlTextReaderMoveToFirstAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the first <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderMoveToNextAttribute"></a>xmlTextReaderMoveToNextAttribute ()</h3>
<pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the next <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, -1 in case of error, 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderName"></a>xmlTextReaderName ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderName	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The qualified name of the node, equal to Prefix :LocalName.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNamespaceUri"></a>xmlTextReaderNamespaceUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderNamespaceUri	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The URI defining the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNext"></a>xmlTextReaderNext ()</h3>
<pre class="programlisting">int	xmlTextReaderNext		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Skip to the node following the current one in document order while avoiding the subtree if any.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNextSibling"></a>xmlTextReaderNextSibling ()</h3>
<pre class="programlisting">int	xmlTextReaderNextSibling	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Skip to the node following the current one in document order while avoiding the subtree if any. Currently implemented only for Readers built on a document</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNodeType"></a>xmlTextReaderNodeType ()</h3>
<pre class="programlisting">int	xmlTextReaderNodeType		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Get the node type of the current node Reference: http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderNormalization"></a>xmlTextReaderNormalization ()</h3>
<pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPrefix"></a>xmlTextReaderPrefix ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the prefix or NULL if not available, if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPreserve"></a>xmlTextReaderPreserve ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderPreserve	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderPreservePattern"></a>xmlTextReaderPreservePattern ()</h3>
<pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
</pre>
<p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
<td>an XPath subset pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>the prefix definitions, array of [URI, prefix] or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a non-negative number in case of success and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderQuoteChar"></a>xmlTextReaderQuoteChar ()</h3>
<pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The quotation mark character used to enclose the value of an attribute.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>" or ' and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRead"></a>xmlTextReaderRead ()</h3>
<pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadAttributeValue"></a>xmlTextReaderReadAttributeValue ()</h3>
<pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadInnerXml"></a>xmlTextReaderReadInnerXml ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadInnerXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node, including child nodes and markup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the XML content, or NULL if the current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadOuterXml"></a>xmlTextReaderReadOuterXml ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadOuterXml	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of the current node, including child nodes and markup.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadState"></a>xmlTextReaderReadState ()</h3>
<pre class="programlisting">int	xmlTextReaderReadState		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Gets the read state of the reader.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the state value, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderReadString"></a>xmlTextReaderReadString ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderReadString	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Reads the contents of an element or a text node as a string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGSetSchema"></a>xmlTextReaderRelaxNGSetSchema ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGSetSchema	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
</pre>
<p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled RelaxNG schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGValidate"></a>xmlTextReaderRelaxNGValidate ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * rng)<br>
</pre>
<p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>rng</tt></i>:</span></td>
<td>the path to a RelaxNG schema or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderRelaxNGValidateCtxt"></a>xmlTextReaderRelaxNGValidateCtxt ()</h3>
<pre class="programlisting">int	xmlTextReaderRelaxNGValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 int options)<br>
</pre>
<p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the RelaxNG schema validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (not used yet)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSchemaValidate"></a>xmlTextReaderSchemaValidate ()</h3>
<pre class="programlisting">int	xmlTextReaderSchemaValidate	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const char * xsd)<br>
</pre>
<p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>xsd</tt></i>:</span></td>
<td>the path to a W3C XSD schema or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSchemaValidateCtxt"></a>xmlTextReaderSchemaValidateCtxt ()</h3>
<pre class="programlisting">int	xmlTextReaderSchemaValidateCtxt	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>the XML Schema validation context or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>options (not used yet)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetErrorHandler"></a>xmlTextReaderSetErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderSetErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg)<br>
</pre>
<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function to call on error and warnings</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument to pass to the callback function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3>
<pre class="programlisting">int	xmlTextReaderSetParserProp	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value)<br>
</pre>
<p>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>prop</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td>
</tr>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>usually 0 or 1 to (de)activate it</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if the call was successful, or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetSchema"></a>xmlTextReaderSetSchema ()</h3>
<pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
</pre>
<p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the reader is deallocated or its use has been deactivated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>schema</tt></i>:</span></td>
<td>a precompiled Schema schema</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetStructuredErrorHandler"></a>xmlTextReaderSetStructuredErrorHandler ()</h3>
<pre class="programlisting">void	xmlTextReaderSetStructuredErrorHandler	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg)<br>
</pre>
<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error and warning handlers are restored.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>f</tt></i>:</span></td>
<td>the callback function to call on error and warnings</td>
</tr>
<tr>
<td><span class="term"><i><tt>arg</tt></i>:</span></td>
<td>a user argument to pass to the callback function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderSetup"></a>xmlTextReaderSetup ()</h3>
<pre class="programlisting">int	xmlTextReaderSetup		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>Setup an XML reader with new options</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>an XML reader</td>
</tr>
<tr>
<td><span class="term"><i><tt>input</tt></i>:</span></td>
<td>
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be destroyed with it.</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderStandalone"></a>xmlTextReaderStandalone ()</h3>
<pre class="programlisting">int	xmlTextReaderStandalone		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Determine the standalone status of the document being read.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderValue"></a>xmlTextReaderValue ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>Provides the text value of the node if present</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the string or NULL if not available. The result must be deallocated with xmlFree()</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlTextReaderXmlLang"></a>xmlTextReaderXmlLang ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderXmlLang	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
</pre>
<p>The xml:lang scope within which the node resides.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>reader</tt></i>:</span></td>
<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�Z�tI��I�I3usr/share/gtk-doc/html/libxml2/libxml2-pattern.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pattern: pattern expression handling</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">pattern</span></h2>
<p>pattern - pattern expression handling</p>
<p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
typedef enum <a href="#xmlPatternFlags">xmlPatternFlags</a>;
typedef <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * <a href="#xmlPatternPtr">xmlPatternPtr</a>;
typedef struct _xmlStreamCtxt <a href="#xmlStreamCtxt">xmlStreamCtxt</a>;
typedef <a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * <a href="#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>;
void	<a href="#xmlFreePattern">xmlFreePattern</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
void	<a href="#xmlFreePatternList">xmlFreePatternList</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
void	<a href="#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
int	<a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	<a href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternMatch">xmlPatternMatch</a>			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int	<a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
int	<a href="#xmlPatternStreamable">xmlPatternStreamable</a>		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	<a href="#xmlPatterncompile">xmlPatterncompile</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
int	<a href="#xmlStreamPop">xmlStreamPop</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
int	<a href="#xmlStreamPush">xmlStreamPush</a>			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
int	<a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
int	<a href="#xmlStreamPushNode">xmlStreamPushNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType);
int	<a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlPattern">Structure </a>xmlPattern</h3>
<pre class="programlisting">struct _xmlPattern {
The content of this structure is not made public by the API.
} xmlPattern;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3>
<pre class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
    <a name="XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a> = 0 /* simple pattern match */
    <a name="XML_PATTERN_XPATH">XML_PATTERN_XPATH</a> = 1 /* standard XPath pattern */
    <a name="XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a> = 2 /* XPath subset for schema selector */
    <a name="XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a> = 4 /*  XPath subset for schema field */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3>
<pre class="programlisting">struct _xmlStreamCtxt {
The content of this structure is not made public by the API.
} xmlStreamCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * xmlStreamCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePattern"></a>xmlFreePattern ()</h3>
<pre class="programlisting">void	xmlFreePattern			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XSLT comp</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreePatternList"></a>xmlFreePatternList ()</h3>
<pre class="programlisting">void	xmlFreePatternList		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Free up the memory allocated by all the elements of @comp</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>an XSLT comp list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeStreamCtxt"></a>xmlFreeStreamCtxt ()</h3>
<pre class="programlisting">void	xmlFreeStreamCtxt		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
</pre>
<p>Free the stream context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternFromRoot"></a>xmlPatternFromRoot ()</h3>
<pre class="programlisting">int	xmlPatternFromRoot		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check if the pattern must be looked at from the root.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if true, 0 if false and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternGetStreamCtxt"></a>xmlPatternGetStreamCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>	xmlPatternGetStreamCtxt	(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Get a streaming context for that pattern Use <a href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the context or NULL in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMatch"></a>xmlPatternMatch ()</h3>
<pre class="programlisting">int	xmlPatternMatch			(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
</pre>
<p>Test whether the node matches the pattern</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>a node</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if it matches, 0 if it doesn't and -1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMaxDepth"></a>xmlPatternMaxDepth ()</h3>
<pre class="programlisting">int	xmlPatternMaxDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check the maximum depth reachable by a pattern</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternMinDepth"></a>xmlPatternMinDepth ()</h3>
<pre class="programlisting">int	xmlPatternMinDepth		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error otherwise the depth,</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatternStreamable"></a>xmlPatternStreamable ()</h3>
<pre class="programlisting">int	xmlPatternStreamable		(<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
</pre>
<p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>comp</tt></i>:</span></td>
<td>the precompiled pattern</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if streamable, 0 if not and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPatterncompile"></a>xmlPatterncompile ()</h3>
<pre class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>	xmlPatterncompile	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>					 <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>					 int flags, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
</pre>
<p>Compile a pattern.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
<td>the pattern to compile</td>
</tr>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
<td>an optional dictionary for interned strings</td>
</tr>
<tr>
<td><span class="term"><i><tt>flags</tt></i>:</span></td>
<td>compilation flags, see <a href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
<td>the prefix definitions, array of [URI, prefix] or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the compiled form of the pattern or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPop"></a>xmlStreamPop ()</h3>
<pre class="programlisting">int	xmlStreamPop			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
</pre>
<p>push one level from the stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPush"></a>xmlStreamPush ()</h3>
<pre class="programlisting">int	xmlStreamPush			(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an element-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPushAttr"></a>xmlStreamPushAttr ()</h3>
<pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
</pre>
<p>Push new <a href="libxml2-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamPushNode"></a>xmlStreamPushNode ()</h3>
<pre class="programlisting">int	xmlStreamPushNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 int nodeType)<br>
</pre>
<p>Push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Different from xmlStreamPush() this function can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and processing-instruction-node.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the current name</td>
</tr>
<tr>
<td><span class="term"><i><tt>ns</tt></i>:</span></td>
<td>the namespace name</td>
</tr>
<tr>
<td><span class="term"><i><tt>nodeType</tt></i>:</span></td>
<td>the type of the node being pushed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlStreamWantsAnyNode"></a>xmlStreamWantsAnyNode ()</h3>
<pre class="programlisting">int	xmlStreamWantsAnyNode		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br>
</pre>
<p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be pushed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td>
<td>the stream context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�Z.��cFcF/usr/share/gtk-doc/html/libxml2/libxml2-uri.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>uri: library of generic URI related routines</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">uri</span></h2>
<p>uri - library of generic URI related routines</p>
<p>library of generic URI related routines Implements RFC 2396 </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
typedef <a href="libxml2-uri.html#xmlURI">xmlURI</a> * <a href="#xmlURIPtr">xmlURIPtr</a>;
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlBuildURI">xmlBuildURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCanonicPath">xmlCanonicPath</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void);
void	<a href="#xmlFreeURI">xmlFreeURI</a>			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
int	<a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>		(char * path);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str);
<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br>					 int raw);
int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSaveUri">xmlSaveUri</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscape">xmlURIEscape</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
char *	<a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>		(const char * str, <br>					 int len, <br>					 char * target);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlURI">Structure </a>xmlURI</h3>
<pre class="programlisting">struct _xmlURI {
    char *	scheme	: the URI scheme
    char *	opaque	: opaque part
    char *	authority	: the authority part
    char *	server	: the server part
    char *	user	: the user part
    int	port	: the port number
    char *	path	: the path string
    char *	query	: the query string (deprecated - use with caution)
    char *	fragment	: the fragment identifier
    int	cleanup	: parsing potentially unclean URI
    char *	query_raw	: the query string (as it appears in the URI)
} xmlURI;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildRelativeURI"></a>xmlBuildRelativeURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildRelativeURI	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Expresses the URI of the <a href="libxml2-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI <a href="libxml2-SAX.html#reference">reference</a> under consideration</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI string (to be freed by the caller) or NULL in case error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlBuildURI"></a>xmlBuildURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
</pre>
<p>Computes he final URI of the <a href="libxml2-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>URI</tt></i>:</span></td>
<td>the URI instance found in the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>base</tt></i>:</span></td>
<td>the base value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI string (to be freed by the caller) or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCanonicPath"></a>xmlCanonicPath ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCanonicPath		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>Constructs a canonic path from the specified path.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the resource locator in a filesystem notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateURI"></a>xmlCreateURI ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlCreateURI		(void)<br>
</pre>
<p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new structure or NULL in case of error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlFreeURI"></a>xmlFreeURI ()</h3>
<pre class="programlisting">void	xmlFreeURI			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlNormalizeURIPath"></a>xmlNormalizeURIPath ()</h3>
<pre class="programlisting">int	xmlNormalizeURIPath		(char * path)<br>
</pre>
<p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>pointer to the path string</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or an error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURI"></a>xmlParseURI ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURI		(const char * str)<br>
</pre>
<p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the URI string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURIRaw"></a>xmlParseURIRaw ()</h3>
<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	xmlParseURIRaw		(const char * str, <br>					 int raw)<br>
</pre>
<p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the URI string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>raw</tt></i>:</span></td>
<td>if 1 unescaping of URI pieces are disabled</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlParseURIReference"></a>xmlParseURIReference ()</h3>
<pre class="programlisting">int	xmlParseURIReference		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str)<br>
</pre>
<p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an URI structure</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to analyze</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 or the error code</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPathToURI"></a>xmlPathToURI ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
</pre>
<p>Constructs an URI expressing the existing path</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>path</tt></i>:</span></td>
<td>the resource locator in a filesystem notation</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlPrintURI"></a>xmlPrintURI ()</h3>
<pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Prints the URI in the stream @stream.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>stream</tt></i>:</span></td>
<td>a FILE* for the output</td>
</tr>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlSaveUri"></a>xmlSaveUri ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
</pre>
<p>Save the URI as an escaped string</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>uri</tt></i>:</span></td>
<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new string (to be deallocated by caller)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIEscape"></a>xmlURIEscape ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscape		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is heuristic based it's impossible to be sure.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string of the URI to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>an copy of the string, but escaped 25 May 2001 Uses <a href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. - Carl Douglas</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIEscapeStr"></a>xmlURIEscapeStr ()</h3>
<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list)<br>
</pre>
<p>This routine escapes a string to hex, ignoring reserved <a href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>string to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>list</tt></i>:</span></td>
<td>exception list string of chars not to escape</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new escaped string or NULL in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlURIUnescapeString"></a>xmlURIUnescapeString ()</h3>
<pre class="programlisting">char *	xmlURIUnescapeString		(const char * str, <br>					 int len, <br>					 char * target)<br>
</pre>
<p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size as the input string.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>the string to unescape</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
<td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td>
</tr>
<tr>
<td><span class="term"><i><tt>target</tt></i>:</span></td>
<td>optional destination buffer</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a copy of the string, but unescaped, will return NULL only in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�ZZn�A�A�6usr/share/gtk-doc/html/libxml2/libxml2-HTMLparser.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">HTMLparser</span></h2>
<p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
<p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
typedef <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#htmlDocPtr">htmlDocPtr</a>;
typedef struct _htmlElemDesc <a href="#htmlElemDesc">htmlElemDesc</a>;
typedef <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href="#htmlElemDescPtr">htmlElemDescPtr</a>;
typedef struct _htmlEntityDesc <a href="#htmlEntityDesc">htmlEntityDesc</a>;
typedef <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a href="#htmlEntityDescPtr">htmlEntityDescPtr</a>;
typedef <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#htmlNodePtr">htmlNodePtr</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a href="#htmlParserCtxt">htmlParserCtxt</a>;
typedef <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#htmlParserCtxtPtr">htmlParserCtxtPtr</a>;
typedef <a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> <a href="#htmlParserInput">htmlParserInput</a>;
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#htmlParserInputPtr">htmlParserInputPtr</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a href="#htmlParserNodeInfo">htmlParserNodeInfo</a>;
typedef enum <a href="#htmlParserOption">htmlParserOption</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#htmlSAXHandler">htmlSAXHandler</a>;
typedef <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a href="#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>;
typedef enum <a href="#htmlStatus">htmlStatus</a>;
int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy);
int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
void	<a href="#htmlCtxtReset">htmlCtxtReset</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options);
int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt);
int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityLookup">htmlEntityLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value);
void	<a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val);
int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void);
<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy);
int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding);
int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>		(const char * filename, <br>					 const char * encoding);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3>
<pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
</pre>
<p>Returns the default subelement for this element</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementAllowedHereDesc">Macro </a>htmlElementAllowedHereDesc</h3>
<pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
</pre>
<p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3>
<pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
</pre>
<p>Returns the attributes required for the specified element.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElemDesc">Structure </a>htmlElemDesc</h3>
<pre class="programlisting">struct _htmlElemDesc {
    const char *	name	: The tag name
    char	startTag	: Whether the start tag can be implied
    char	endTag	: Whether the end tag can be implied
    char	saveEndTag	: Whether the end tag should be saved
    char	empty	: Is this an empty element ?
    char	depr	: Is this a deprecated element ?
    char	dtd	: 1: only in Loose DTD, 2: only Frameset one
    char	isinline	: is this a block 0 or inline 1 element
    const char *	desc	: the description NRK Jan.2003 * New fields encapsulating HTML structur
    const char **	subelts	: allowed sub-elements of this element
    const char *	defaultsubelt	: subelement for suggested auto-repair if necessary or NULL
    const char **	attrs_opt	: Optional Attributes
    const char **	attrs_depr	: Additional deprecated attributes
    const char **	attrs_req	: Required attributes
} htmlElemDesc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * htmlElemDescPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityDesc">Structure </a>htmlEntityDesc</h3>
<pre class="programlisting">struct _htmlEntityDesc {
    unsigned int	value	: the UNICODE value for the character
    const char *	name	: The entity name
    const char *	desc	: the description
} htmlEntityDesc;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityDescPtr">Typedef </a>htmlEntityDescPtr</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * htmlEntityDescPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserCtxtPtr">Typedef </a>htmlParserCtxtPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> htmlParserCtxtPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserInput">Typedef </a>htmlParserInput</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserInputPtr">Typedef </a>htmlParserInputPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> htmlParserInputPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserNodeInfo">Typedef </a>htmlParserNodeInfo</h3>
<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> htmlParserNodeInfo;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParserOption">Enum </a>htmlParserOption</h3>
<pre class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
    <a name="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 /* Relaxed parsing */
    <a name="HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> = 4 /* do not default a doctype if not found */
    <a name="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 /* suppress error reports */
    <a name="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */
    <a name="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */
    <a name="HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */
    <a name="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 /* Forbid network access */
    <a name="HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> = 8192 /* Do not add implied html/body... elements */
    <a name="HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> = 65536 /* compact small text nodes */
    <a name="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 /*  ignore internal document encoding hint */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXHandlerPtr">Typedef </a>htmlSAXHandlerPtr</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> htmlSAXHandlerPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlStatus">Enum </a>htmlStatus</h3>
<pre class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
    <a name="HTML_NA">HTML_NA</a> = 0 /* something we don't check at all */
    <a name="HTML_INVALID">HTML_INVALID</a> = 1
    <a name="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
    <a name="HTML_VALID">HTML_VALID</a> = 4
    <a name="HTML_REQUIRED">HTML_REQUIRED</a> = 12 /*  VALID bit set so ( &amp; HTML_VALID ) is TRUE */
};
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="UTF8ToHtml"></a>UTF8ToHtml ()</h3>
<pre class="programlisting">int	UTF8ToHtml			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlAttrAllowed"></a>htmlAttrAllowed ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy)<br>
</pre>
<p>Checks whether an <a href="libxml2-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>attr</tt></i>:</span></td>
<td>HTML <a href="libxml2-SAX.html#attribute">attribute</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
<td>whether to allow deprecated attributes</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3>
<pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
</pre>
<p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the HTML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>The tag name</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if autoclose, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br>							 int size)<br>
</pre>
<p>Create a parser context for an HTML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>							 void * user_data, <br>							 const char * chunk, <br>							 int size, <br>							 const char * filename, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
<p>Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>a SAX handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
<td>The user data returned on SAX callbacks</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>a pointer to an array of chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>number of chars in the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>an optional file name or URI</td>
</tr>
<tr>
<td><span class="term"><i><tt>enc</tt></i>:</span></td>
<td>an optional encoding</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new parser context or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3>
<pre class="programlisting">void	htmlCtxtReset			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Reset a parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3>
<pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
</pre>
<p>Applies the options to the parser context</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementAllowedHere"></a>htmlElementAllowedHere ()</h3>
<pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt)<br>
</pre>
<p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if allowed; 0 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlElementStatusHere"></a>htmlElementStatusHere ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br>
</pre>
<p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>parent</tt></i>:</span></td>
<td>HTML parent element</td>
</tr>
<tr>
<td><span class="term"><i><tt>elt</tt></i>:</span></td>
<td>HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3>
<pre class="programlisting">int	htmlEncodeEntities		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int quoteChar)<br>
</pre>
<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>out</tt></i>:</span></td>
<td>a pointer to an array of bytes to store the result</td>
</tr>
<tr>
<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
<td>the length of @out</td>
</tr>
<tr>
<td><span class="term"><i><tt>in</tt></i>:</span></td>
<td>a pointer to an array of UTF-8 chars</td>
</tr>
<tr>
<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
<td>the length of @in</td>
</tr>
<tr>
<td><span class="term"><i><tt>quoteChar</tt></i>:</span></td>
<td>the quote character to escape (' or ") or zero.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br>
</pre>
<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>value</tt></i>:</span></td>
<td>the entity's unicode value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3>
<pre class="programlisting">void	htmlFreeParserCtxt		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3>
<pre class="programlisting">int	htmlHandleOmittedElem		(int val)<br>
</pre>
<p>Set and return the previous value for handling HTML omitted tags.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>int 0 or 1</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last value for 0 for no handling, 1 for auto insertion.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3>
<pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br>
</pre>
<p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>doc</tt></i>:</span></td>
<td>the HTML document</td>
</tr>
<tr>
<td><span class="term"><i><tt>elem</tt></i>:</span></td>
<td>the HTML element</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if autoclosed, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3>
<pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
<p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
<td>an <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNewParserCtxt"></a>htmlNewParserCtxt ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br>
</pre>
<p>Allocate and initialize a new parser context.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlNodeStatus"></a>htmlNodeStatus ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>					 int legacy)<br>
</pre>
<p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>node</tt></i>:</span></td>
<td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td>
</tr>
<tr>
<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
<td>whether to allow deprecated elements (YES is faster here for Element nodes)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3>
<pre class="programlisting">int	htmlParseCharRef		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value parsed (as an int)</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseChunk"></a>htmlParseChunk ()</h3>
<pre class="programlisting">int	htmlParseChunk			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
</pre>
<p>Parse a Chunk of memory</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
<td>an char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size in byte of the chunk</td>
</tr>
<tr>
<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
<td>last chunk indicator</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseDoc"></a>htmlParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding)<br>
</pre>
<p>parse an HTML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseDocument"></a>htmlParseDocument ()</h3>
<pre class="programlisting">int	htmlParseDocument		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseElement"></a>htmlParseElement ()</h3>
<pre class="programlisting">void	htmlParseElement		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
</pre>
<p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str)<br>
</pre>
<p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
<td>an HTML parser context</td>
</tr>
<tr>
<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>location to store the entity name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlParseFile"></a>htmlParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br>					 const char * encoding)<br>
</pre>
<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadDoc"></a>htmlReadDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadFd"></a>htmlReadFd ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd		(int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>fd</tt></i>:</span></td>
<td>an open file descriptor</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadFile"></a>htmlReadFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML file from the filesystem or the network.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>a file or URL</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadIO"></a>htmlReadIO ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO		(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an HTML document from I/O functions and source and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
<td>an I/O read function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
<td>an I/O close function</td>
</tr>
<tr>
<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
<td>an I/O handler</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlReadMemory"></a>htmlReadMemory ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
<td>a pointer to a char array</td>
</tr>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
<td>the size of the array</td>
</tr>
<tr>
<td><span class="term"><i><tt>URL</tt></i>:</span></td>
<td>the base URL to use for the document</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>the document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>options</tt></i>:</span></td>
<td>a combination of htmlParserOption(s)</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
</pre>
<p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>if using SAX, this pointer will be provided on callbacks.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3>
<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData)<br>
</pre>
<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>filename</tt></i>:</span></td>
<td>the filename</td>
</tr>
<tr>
<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
<td>a free form C string describing the HTML document encoding, or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>sax</tt></i>:</span></td>
<td>the SAX handler block</td>
</tr>
<tr>
<td><span class="term"><i><tt>userData</tt></i>:</span></td>
<td>if using SAX, this pointer will be provided on callbacks.</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="htmlTagLookup"></a>htmlTagLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br>
</pre>
<p>Lookup the HTML tag in the ElementTable</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>tag</tt></i>:</span></td>
<td>The tag name in lowercase</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the related <a href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�Z�eէbb0usr/share/gtk-doc/html/libxml2/libxml2-list.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>list: lists interfaces</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">list</span></h2>
<p>list - lists interfaces</p>
<p>this module implement the list support used in various place in the library. </p>
<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>;
typedef struct _xmlList <a href="#xmlList">xmlList</a>;
typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>;
void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>		(const void * data0, <br>					 const void * data1);
typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
void	<a href="#xmlListDelete">xmlListDelete</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
int	<a href="#xmlListEmpty">xmlListEmpty</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListEnd">xmlListEnd</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	<a href="#xmlListFront">xmlListFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListInsert">xmlListInsert</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListMerge">xmlListMerge</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
void	<a href="#xmlListPopBack">xmlListPopBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
int	<a href="#xmlListPushBack">xmlListPushBack</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListPushFront">xmlListPushFront</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data);
int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user);
typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br>					 void * user);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlLink">Structure </a>xmlLink</h3>
<pre class="programlisting">struct _xmlLink {
The content of this structure is not made public by the API.
} xmlLink;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlList">Structure </a>xmlList</h3>
<pre class="programlisting">struct _xmlList {
The content of this structure is not made public by the API.
} xmlList;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPtr">Typedef </a>xmlListPtr</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDataCompare"></a>Function type xmlListDataCompare</h3>
<pre class="programlisting">int	xmlListDataCompare		(const void * data0, <br>					 const void * data1)<br>
</pre>
<p>Callback function used to compare 2 data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>data0</tt></i>:</span></td>
<td>the first data</td>
</tr>
<tr>
<td><span class="term"><i><tt>data1</tt></i>:</span></td>
<td>the second data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 is equality, -1 or 1 otherwise depending on the ordering.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDeallocator"></a>Function type xmlListDeallocator</h3>
<pre class="programlisting">void	xmlListDeallocator		(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
</pre>
<p>Callback function used to free data from a list.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>lk</tt></i>:</span></td>
<td>the data to deallocate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListWalker"></a>Function type xmlListWalker</h3>
<pre class="programlisting">int	xmlListWalker			(const void * data, <br>					 void * user)<br>
</pre>
<p>Callback function used when walking a list with xmlListWalk().</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data found in the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>extra user provided data to the walker</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 to stop walking the list, 1 otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3>
<pre class="programlisting">void *	xmlLinkGetData			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
</pre>
<p>See Returns.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>lk</tt></i>:</span></td>
<td>a link</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a pointer to the data referenced from this link</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListAppend"></a>xmlListAppend ()</h3>
<pre class="programlisting">int	xmlListAppend			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Insert data in the ordered list at the end for this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, 1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListClear"></a>xmlListClear ()</h3>
<pre class="programlisting">void	xmlListClear			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Remove the all data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListCopy"></a>xmlListCopy ()</h3>
<pre class="programlisting">int	xmlListCopy			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
</pre>
<p>Move all the element from the old list in the new list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
<td>the new list</td>
</tr>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the old list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success 1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListCreate"></a>xmlListCreate ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListCreate		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br>
</pre>
<p>Create a new list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>deallocator</tt></i>:</span></td>
<td>an optional deallocator function</td>
</tr>
<tr>
<td><span class="term"><i><tt>compare</tt></i>:</span></td>
<td>an optional comparison function</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the new list or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDelete"></a>xmlListDelete ()</h3>
<pre class="programlisting">void	xmlListDelete			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Deletes the list and its associated data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListDup"></a>xmlListDup ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	xmlListDup		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
</pre>
<p>Duplicate the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>old</tt></i>:</span></td>
<td>the list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>a new copy of the list or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListEmpty"></a>xmlListEmpty ()</h3>
<pre class="programlisting">int	xmlListEmpty			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Is the list empty ?</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if the list is empty, 0 if not empty and -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListEnd"></a>xmlListEnd ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListEnd		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the last element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the last element in the list, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListFront"></a>xmlListFront ()</h3>
<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>	xmlListFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the first element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the first element in the list, or NULL</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListInsert"></a>xmlListInsert ()</h3>
<pre class="programlisting">int	xmlListInsert			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Insert data in the ordered list at the beginning for this value</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>the data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>0 in case of success, 1 in case of failure</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListMerge"></a>xmlListMerge ()</h3>
<pre class="programlisting">void	xmlListMerge			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>					 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br>
</pre>
<p>include all the elements of the second list in the first one and clear the second list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l1</tt></i>:</span></td>
<td>the original list</td>
</tr>
<tr>
<td><span class="term"><i><tt>l2</tt></i>:</span></td>
<td>the new list</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPopBack"></a>xmlListPopBack ()</h3>
<pre class="programlisting">void	xmlListPopBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Removes the last element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPopFront"></a>xmlListPopFront ()</h3>
<pre class="programlisting">void	xmlListPopFront			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Removes the first element in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPushBack"></a>xmlListPushBack ()</h3>
<pre class="programlisting">int	xmlListPushBack			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>add the new data at the end of the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>new data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if successful, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListPushFront"></a>xmlListPushFront ()</h3>
<pre class="programlisting">int	xmlListPushFront		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>add the new data at the beginning of the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>new data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if successful, 0 otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3>
<pre class="programlisting">int	xmlListRemoveAll		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the all instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of deallocation, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3>
<pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the first instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if a deallocation occurred, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3>
<pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Remove the last instance associated to data in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>list data</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>1 if a deallocation occurred, or 0 if not found</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverse"></a>xmlListReverse ()</h3>
<pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Reverse the order of the elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3>
<pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Search the list in reverse order for an existing value of @data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>a search value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value associated to @data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3>
<pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
</pre>
<p>Walk all the element of the list in reverse order and apply the walker function to it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>walker</tt></i>:</span></td>
<td>a processing function</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>a user parameter passed to the walker function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSearch"></a>xmlListSearch ()</h3>
<pre class="programlisting">void *	xmlListSearch			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 void * data)<br>
</pre>
<p>Search the list for an existing value of @data</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
<td>a search value</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the value associated to @data or NULL in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSize"></a>xmlListSize ()</h3>
<pre class="programlisting">int	xmlListSize			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Get the number of elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>the number of elements in the list or -1 in case of error</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListSort"></a>xmlListSort ()</h3>
<pre class="programlisting">void	xmlListSort			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
</pre>
<p>Sort all the elements in the list</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlListWalk"></a>xmlListWalk ()</h3>
<pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>					 void * user)<br>
</pre>
<p>Walk all the element of the first from first to last and apply the walker function to it</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>l</tt></i>:</span></td>
<td>a list</td>
</tr>
<tr>
<td><span class="term"><i><tt>walker</tt></i>:</span></td>
<td>a processing function</td>
</tr>
<tr>
<td><span class="term"><i><tt>user</tt></i>:</span></td>
<td>a user parameter passed to the walker function</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK!i�ZX�#UKK3usr/share/gtk-doc/html/libxml2/libxml2-chvalid.htmlnu�[���<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>chvalid: Unicode character range checking</title>
<meta name="generator" content="Libxml2 devhelp stylesheet">
<link rel="start" href="index.html" title="libxml2 Reference Manual">
<link rel="up" href="general.html" title="API">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="general.html" title="API">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="libxml2-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<td><a accesskey="n" href="libxml2-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
<th width="100%" align="center">libxml2 Reference Manual</th>
</tr></table>
<h2><span class="refentrytitle">chvalid</span></h2>
<p>chvalid - Unicode character range checking</p>
<p>this module exports interfaces for the character range validation APIs  This file is automatically generated from the cvs source definition files using the genChRanges.py Python script </p>
<p>Author(s): William Brack &lt;wbrack@mmm.com.hk&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
typedef struct _xmlChLRange <a href="#xmlChLRange">xmlChLRange</a>;
typedef <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * <a href="#xmlChLRangePtr">xmlChLRangePtr</a>;
typedef struct _xmlChRangeGroup <a href="#xmlChRangeGroup">xmlChRangeGroup</a>;
typedef <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a href="#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>;
typedef struct _xmlChSRange <a href="#xmlChSRange">xmlChSRange</a>;
typedef <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * <a href="#xmlChSRangePtr">xmlChSRangePtr</a>;
int	<a href="#xmlCharInRange">xmlCharInRange</a>			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
int	<a href="#xmlIsBaseChar">xmlIsBaseChar</a>			(unsigned int ch);
int	<a href="#xmlIsBlank">xmlIsBlank</a>			(unsigned int ch);
int	<a href="#xmlIsChar">xmlIsChar</a>			(unsigned int ch);
int	<a href="#xmlIsCombining">xmlIsCombining</a>			(unsigned int ch);
int	<a href="#xmlIsDigit">xmlIsDigit</a>			(unsigned int ch);
int	<a href="#xmlIsExtender">xmlIsExtender</a>			(unsigned int ch);
int	<a href="#xmlIsIdeographic">xmlIsIdeographic</a>		(unsigned int ch);
int	<a href="#xmlIsPubidChar">xmlIsPubidChar</a>			(unsigned int ch);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3>
<pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3>
<pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3>
<pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3>
<pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3>
<pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3>
<pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3>
<pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
</pre>
<p>Automatically generated by genChRanges.py</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>c</tt></i>:</span></td>
<td>char to validate</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChLRange">Structure </a>xmlChLRange</h3>
<pre class="programlisting">struct _xmlChLRange {
    unsigned int	low
    unsigned int	high
} xmlChLRange;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3>
<pre class="programlisting">struct _xmlChRangeGroup {
    int	nbShortRange
    int	nbLongRange
    const <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange	: points to an array of ranges
    const <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> *	longRange
} xmlChRangeGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChRangeGroupPtr">Typedef </a>xmlChRangeGroupPtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * xmlChRangeGroupPtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChSRange">Structure </a>xmlChSRange</h3>
<pre class="programlisting">struct _xmlChSRange {
    unsigned short	low
    unsigned short	high
} xmlChSRange;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3>
<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseCharGroup">Variable </a>xmlIsBaseCharGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsBaseCharGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCharGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombiningGroup">Variable </a>xmlIsCombiningGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCombiningGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsDigitGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtenderGroup">Variable </a>xmlIsExtenderGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsExtenderGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographicGroup">Variable </a>xmlIsIdeographicGroup</h3>
<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsIdeographicGroup;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar_tab">Variable </a>xmlIsPubidChar_tab</h3>
<pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] xmlIsPubidChar_tab;
</pre>
<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlCharInRange"></a>xmlCharInRange ()</h3>
<pre class="programlisting">int	xmlCharInRange			(unsigned int val, <br>					 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br>
</pre>
<p>Does a binary search of the range table to determine if char is valid</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>val</tt></i>:</span></td>
<td>character to be validated</td>
</tr>
<tr>
<td><span class="term"><i><tt>rptr</tt></i>:</span></td>
<td>pointer to range to be used to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if character valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBaseChar"></a>xmlIsBaseChar ()</h3>
<pre class="programlisting">int	xmlIsBaseChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsBlank"></a>xmlIsBlank ()</h3>
<pre class="programlisting">int	xmlIsBlank			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsChar"></a>xmlIsChar ()</h3>
<pre class="programlisting">int	xmlIsChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsCombining"></a>xmlIsCombining ()</h3>
<pre class="programlisting">int	xmlIsCombining			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsDigit"></a>xmlIsDigit ()</h3>
<pre class="programlisting">int	xmlIsDigit			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsExtender"></a>xmlIsExtender ()</h3>
<pre class="programlisting">int	xmlIsExtender			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsIdeographic"></a>xmlIsIdeographic ()</h3>
<pre class="programlisting">int	xmlIsIdeographic		(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<h3>
<a name="xmlIsPubidChar"></a>xmlIsPubidChar ()</h3>
<pre class="programlisting">int	xmlIsPubidChar			(unsigned int ch)<br>
</pre>
<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>ch</tt></i>:</span></td>
<td>character to validate</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>true if argument valid, false otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
</div>
</div>
</body>
</html>
PK��ZcJD
D
Dlibxml/parserInternals.hnu�[���/*
 * Summary: internals routines and limits exported by the parser.
 * Description: this module exports a number of internal parsing routines
 *              they are not really all intended for applications but
 *              can prove useful doing low level processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_INTERNALS_H__
#define __XML_PARSER_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/HTMLparser.h>
#include <libxml/chvalid.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserMaxDepth:
 *
 * arbitrary depth limit for the XML documents that we allow to
 * process. This is not a limitation of the parser but a safety
 * boundary feature, use XML_PARSE_HUGE option to override it.
 */
XMLPUBVAR unsigned int xmlParserMaxDepth;

/**
 * XML_MAX_TEXT_LENGTH:
 *
 * Maximum size allowed for a single text node when building a tree.
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_TEXT_LENGTH 10000000

/**
 * XML_MAX_NAME_LENGTH:
 *
 * Maximum size allowed for a markup identitier
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Note that with the use of parsing dictionaries overriding the limit
 * may result in more runtime memory usage in face of "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_NAME_LENGTH 50000

/**
 * XML_MAX_DICTIONARY_LIMIT:
 *
 * Maximum size allowed by the parser for a dictionary by default
 * This is not a limitation of the parser but a safety boundary feature,
 * use XML_PARSE_HUGE option to override it.
 * Introduced in 2.9.0
 */
#define XML_MAX_DICTIONARY_LIMIT 10000000

/**
 * XML_MAX_LOOKUP_LIMIT:
 *
 * Maximum size allowed by the parser for ahead lookup
 * This is an upper boundary enforced by the parser to avoid bad
 * behaviour on "unfriendly' content
 * Introduced in 2.9.0
 */
#define XML_MAX_LOOKUP_LIMIT 10000000

/**
 * XML_MAX_NAMELEN:
 *
 * Identifiers can be longer, but this will be more costly
 * at runtime.
 */
#define XML_MAX_NAMELEN 100

/**
 * INPUT_CHUNK:
 *
 * The parser tries to always have that amount of input ready.
 * One of the point is providing context when reporting errors.
 */
#define INPUT_CHUNK	250

/************************************************************************
 *									*
 * UNICODE version of the macros.					*
 *									*
 ************************************************************************/
/**
 * IS_BYTE_CHAR:
 * @c:  an byte value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20...]
 * any byte character in the accepted range
 */
#define IS_BYTE_CHAR(c)	 xmlIsChar_ch(c)

/**
 * IS_CHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
 *                  | [#x10000-#x10FFFF]
 * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
 */
#define IS_CHAR(c)   xmlIsCharQ(c)

/**
 * IS_CHAR_CH:
 * @c: an xmlChar (usually an unsigned char)
 *
 * Behaves like IS_CHAR on single-byte value
 */
#define IS_CHAR_CH(c)  xmlIsChar_ch(c)

/**
 * IS_BLANK:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [3] S ::= (#x20 | #x9 | #xD | #xA)+
 */
#define IS_BLANK(c)  xmlIsBlankQ(c)

/**
 * IS_BLANK_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Behaviour same as IS_BLANK
 */
#define IS_BLANK_CH(c)  xmlIsBlank_ch(c)

/**
 * IS_BASECHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [85] BaseChar ::= ... long list see REC ...
 */
#define IS_BASECHAR(c) xmlIsBaseCharQ(c)

/**
 * IS_DIGIT:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [88] Digit ::= ... long list see REC ...
 */
#define IS_DIGIT(c) xmlIsDigitQ(c)

/**
 * IS_DIGIT_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_DIGIT but with a single byte argument
 */
#define IS_DIGIT_CH(c)  xmlIsDigit_ch(c)

/**
 * IS_COMBINING:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 * [87] CombiningChar ::= ... long list see REC ...
 */
#define IS_COMBINING(c) xmlIsCombiningQ(c)

/**
 * IS_COMBINING_CH:
 * @c:  an xmlChar (usually an unsigned char)
 *
 * Always false (all combining chars > 0xff)
 */
#define IS_COMBINING_CH(c) 0

/**
 * IS_EXTENDER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
 *                   #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
 *                   [#x309D-#x309E] | [#x30FC-#x30FE]
 */
#define IS_EXTENDER(c) xmlIsExtenderQ(c)

/**
 * IS_EXTENDER_CH:
 * @c:  an xmlChar value (usually an unsigned char)
 *
 * Behaves like IS_EXTENDER but with a single-byte argument
 */
#define IS_EXTENDER_CH(c)  xmlIsExtender_ch(c)

/**
 * IS_IDEOGRAPHIC:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
 */
#define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)

/**
 * IS_LETTER:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [84] Letter ::= BaseChar | Ideographic
 */
#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))

/**
 * IS_LETTER_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Macro behaves like IS_LETTER, but only check base chars
 *
 */
#define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)

/**
 * IS_ASCII_LETTER:
 * @c: an xmlChar value
 *
 * Macro to check [a-zA-Z]
 *
 */
#define IS_ASCII_LETTER(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)))

/**
 * IS_ASCII_DIGIT:
 * @c: an xmlChar value
 *
 * Macro to check [0-9]
 *
 */
#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))

/**
 * IS_PUBIDCHAR:
 * @c:  an UNICODE value (int)
 *
 * Macro to check the following production in the XML spec:
 *
 *
 * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
 */
#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)

/**
 * IS_PUBIDCHAR_CH:
 * @c:  an xmlChar value (normally unsigned char)
 *
 * Same as IS_PUBIDCHAR but for single-byte value
 */
#define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)

/**
 * SKIP_EOL:
 * @p:  and UTF8 string pointer
 *
 * Skips the end of line chars.
 */
#define SKIP_EOL(p)							\
    if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; }			\
    if (*(p) == 0x10) { p++ ; if (*(p) == 0x13) p++; }

/**
 * MOVETO_ENDTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '>' char.
 */
#define MOVETO_ENDTAG(p)						\
    while ((*p) && (*(p) != '>')) (p)++

/**
 * MOVETO_STARTTAG:
 * @p:  and UTF8 string pointer
 *
 * Skips to the next '<' char.
 */
#define MOVETO_STARTTAG(p)						\
    while ((*p) && (*(p) != '<')) (p)++

/**
 * Global variables used for predefined strings.
 */
XMLPUBVAR const xmlChar xmlStringText[];
XMLPUBVAR const xmlChar xmlStringTextNoenc[];
XMLPUBVAR const xmlChar xmlStringComment[];

/*
 * Function to finish the work of the macros where needed.
 */
XMLPUBFUN int XMLCALL                   xmlIsLetter     (int c);

/**
 * Parser context.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateFileParserCtxt	(const char *filename);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateURLParserCtxt	(const char *filename,
						 int options);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateMemoryParserCtxt(const char *buffer,
						 int size);
XMLPUBFUN xmlParserCtxtPtr XMLCALL
			xmlCreateEntityParserCtxt(const xmlChar *URL,
						 const xmlChar *ID,
						 const xmlChar *base);
XMLPUBFUN int XMLCALL
			xmlSwitchEncoding	(xmlParserCtxtPtr ctxt,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			xmlSwitchToEncoding	(xmlParserCtxtPtr ctxt,
					 xmlCharEncodingHandlerPtr handler);
XMLPUBFUN int XMLCALL
			xmlSwitchInputEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input,
					 xmlCharEncodingHandlerPtr handler);

#ifdef IN_LIBXML
/* internal error reporting */
XMLPUBFUN void XMLCALL
			__xmlErrEncoding	(xmlParserCtxtPtr ctxt,
						 xmlParserErrors xmlerr,
						 const char *msg,
						 const xmlChar * str1,
						 const xmlChar * str2) LIBXML_ATTR_FORMAT(3,0);
#endif

/**
 * Input Streams.
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewStringInputStream	(xmlParserCtxtPtr ctxt,
						 const xmlChar *buffer);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewEntityInputStream	(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);
XMLPUBFUN int XMLCALL
			xmlPushInput		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr input);
XMLPUBFUN xmlChar XMLCALL
			xmlPopInput		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlFreeInputStream	(xmlParserInputPtr input);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputFromFile	(xmlParserCtxtPtr ctxt,
						 const char *filename);
XMLPUBFUN xmlParserInputPtr XMLCALL
			xmlNewInputStream	(xmlParserCtxtPtr ctxt);

/**
 * Namespaces.
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlSplitQName		(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlChar **prefix);

/**
 * Generic production rules.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseNmtoken		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEntityValue	(xmlParserCtxtPtr ctxt,
						 xmlChar **orig);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseAttValue	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseSystemLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParsePubidLiteral	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseCharData	(xmlParserCtxtPtr ctxt,
						 int cdata);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseExternalID	(xmlParserCtxtPtr ctxt,
						 xmlChar **publicID,
						 int strict);
XMLPUBFUN void XMLCALL
			xmlParseComment		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParsePITarget	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePI		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseNotationDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEntityDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseDefaultDecl	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseNotationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEnumerationPtr XMLCALL
			xmlParseEnumerationType	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseEnumeratedType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN int XMLCALL
			xmlParseAttributeType	(xmlParserCtxtPtr ctxt,
						 xmlEnumerationPtr *tree);
XMLPUBFUN void XMLCALL
			xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementMixedContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN xmlElementContentPtr XMLCALL
			xmlParseElementChildrenContentDecl
						(xmlParserCtxtPtr ctxt,
						 int inputchk);
XMLPUBFUN int XMLCALL
			xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
						 const xmlChar *name,
						 xmlElementContentPtr *result);
XMLPUBFUN int XMLCALL
			xmlParseElementDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMarkupDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseCharRef		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlParseEntityRef	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParsePEReference	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseDocTypeDecl	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseAttribute	(xmlParserCtxtPtr ctxt,
						 xmlChar **value);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseStartTag	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseEndTag		(xmlParserCtxtPtr ctxt);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN void XMLCALL
			xmlParseCDSect		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseContent		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseElement		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionNum	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseVersionInfo	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlParseEncName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL
			xmlParseEncodingDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlParseSDDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseXMLDecl		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseTextDecl	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseMisc		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
/**
 * XML_SUBSTITUTE_NONE:
 *
 * If no entities need to be substituted.
 */
#define XML_SUBSTITUTE_NONE	0
/**
 * XML_SUBSTITUTE_REF:
 *
 * Whether general entities need to be substituted.
 */
#define XML_SUBSTITUTE_REF	1
/**
 * XML_SUBSTITUTE_PEREF:
 *
 * Whether parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_PEREF	2
/**
 * XML_SUBSTITUTE_BOTH:
 *
 * Both general and parameter entities need to be substituted.
 */
#define XML_SUBSTITUTE_BOTH	3

XMLPUBFUN xmlChar * XMLCALL
		xmlStringDecodeEntities		(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XMLPUBFUN xmlChar * XMLCALL
		xmlStringLenDecodeEntities	(xmlParserCtxtPtr ctxt,
						 const xmlChar *str,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);

/*
 * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
 */
XMLPUBFUN int XMLCALL			nodePush		(xmlParserCtxtPtr ctxt,
						 xmlNodePtr value);
XMLPUBFUN xmlNodePtr XMLCALL		nodePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			inputPush		(xmlParserCtxtPtr ctxt,
						 xmlParserInputPtr value);
XMLPUBFUN xmlParserInputPtr XMLCALL	inputPop		(xmlParserCtxtPtr ctxt);
XMLPUBFUN const xmlChar * XMLCALL	namePop			(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			namePush		(xmlParserCtxtPtr ctxt,
						 const xmlChar *value);

/*
 * other commodities shared between parser.c and parserInternals.
 */
XMLPUBFUN int XMLCALL			xmlSkipBlankChars	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlStringCurrentChar	(xmlParserCtxtPtr ctxt,
						 const xmlChar *cur,
						 int *len);
XMLPUBFUN void XMLCALL			xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL			xmlCheckLanguageID	(const xmlChar *lang);

/*
 * Really core function shared with HTML parser.
 */
XMLPUBFUN int XMLCALL			xmlCurrentChar		(xmlParserCtxtPtr ctxt,
						 int *len);
XMLPUBFUN int XMLCALL		xmlCopyCharMultiByte	(xmlChar *out,
						 int val);
XMLPUBFUN int XMLCALL			xmlCopyChar		(int len,
						 xmlChar *out,
						 int val);
XMLPUBFUN void XMLCALL			xmlNextChar		(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL			xmlParserInputShrink	(xmlParserInputPtr in);

#ifdef LIBXML_HTML_ENABLED
/*
 * Actually comes from the HTML parser but launched from the init stuff.
 */
XMLPUBFUN void XMLCALL			htmlInitAutoClose	(void);
XMLPUBFUN htmlParserCtxtPtr XMLCALL	htmlCreateFileParserCtxt(const char *filename,
	                                         const char *encoding);
#endif

/*
 * Specific function to keep track of entities references
 * and used by the XSLT debugger.
 */
#ifdef LIBXML_LEGACY_ENABLED
/**
 * xmlEntityReferenceFunc:
 * @ent: the entity
 * @firstNode:  the fist node in the chunk
 * @lastNode:  the last nod in the chunk
 *
 * Callback function used when one needs to be able to track back the
 * provenance of a chunk of nodes inherited from an entity replacement.
 */
typedef	void	(*xmlEntityReferenceFunc)	(xmlEntityPtr ent,
						 xmlNodePtr firstNode,
						 xmlNodePtr lastNode);

XMLPUBFUN void XMLCALL		xmlSetEntityReferenceFunc	(xmlEntityReferenceFunc func);

XMLPUBFUN xmlChar * XMLCALL
			xmlParseQuotedString	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
                        xmlParseNamespace       (xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNSDef	(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlScanName		(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseNCName	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL	xmlParserHandleReference(xmlParserCtxtPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
			xmlNamespaceParseQName	(xmlParserCtxtPtr ctxt,
						 xmlChar **prefix);
/**
 * Entities
 */
XMLPUBFUN xmlChar * XMLCALL
		xmlDecodeEntities		(xmlParserCtxtPtr ctxt,
						 int len,
						 int what,
						 xmlChar end,
						 xmlChar  end2,
						 xmlChar end3);
XMLPUBFUN void XMLCALL
			xmlHandleEntity		(xmlParserCtxtPtr ctxt,
						 xmlEntityPtr entity);

#endif /* LIBXML_LEGACY_ENABLED */

#ifdef IN_LIBXML
/*
 * internal only
 */
XMLPUBFUN void XMLCALL
	xmlErrMemory		(xmlParserCtxtPtr ctxt,
				 const char *extra);
#endif

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_INTERNALS_H__ */
PK��Za���libxml/xmlschemas.hnu�[���/*
 * Summary: incomplete XML Schemas structure implementation
 * Description: interface to the XML Schemas handling and schema validity
 *              checking, it is incomplete right now.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_H__
#define __XML_SCHEMA_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * This error codes are obsolete; not used any more.
 */
typedef enum {
    XML_SCHEMAS_ERR_OK		= 0,
    XML_SCHEMAS_ERR_NOROOT	= 1,
    XML_SCHEMAS_ERR_UNDECLAREDELEM,
    XML_SCHEMAS_ERR_NOTTOPLEVEL,
    XML_SCHEMAS_ERR_MISSING,
    XML_SCHEMAS_ERR_WRONGELEM,
    XML_SCHEMAS_ERR_NOTYPE,
    XML_SCHEMAS_ERR_NOROLLBACK,
    XML_SCHEMAS_ERR_ISABSTRACT,
    XML_SCHEMAS_ERR_NOTEMPTY,
    XML_SCHEMAS_ERR_ELEMCONT,
    XML_SCHEMAS_ERR_HAVEDEFAULT,
    XML_SCHEMAS_ERR_NOTNILLABLE,
    XML_SCHEMAS_ERR_EXTRACONTENT,
    XML_SCHEMAS_ERR_INVALIDATTR,
    XML_SCHEMAS_ERR_INVALIDELEM,
    XML_SCHEMAS_ERR_NOTDETERMINIST,
    XML_SCHEMAS_ERR_CONSTRUCT,
    XML_SCHEMAS_ERR_INTERNAL,
    XML_SCHEMAS_ERR_NOTSIMPLE,
    XML_SCHEMAS_ERR_ATTRUNKNOWN,
    XML_SCHEMAS_ERR_ATTRINVALID,
    XML_SCHEMAS_ERR_VALUE,
    XML_SCHEMAS_ERR_FACET,
    XML_SCHEMAS_ERR_,
    XML_SCHEMAS_ERR_XXX
} xmlSchemaValidError;

/*
* ATTENTION: Change xmlSchemaSetValidOptions's check
* for invalid values, if adding to the validation
* options below.
*/
/**
 * xmlSchemaValidOption:
 *
 * This is the set of XML Schema validation options.
 */
typedef enum {
    XML_SCHEMA_VAL_VC_I_CREATE			= 1<<0
	/* Default/fixed: create an attribute node
	* or an element's text node on the instance.
	*/
} xmlSchemaValidOption;

/*
    XML_SCHEMA_VAL_XSI_ASSEMBLE			= 1<<1,
	* assemble schemata using
	* xsi:schemaLocation and
	* xsi:noNamespaceSchemaLocation
*/

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchema xmlSchema;
typedef xmlSchema *xmlSchemaPtr;

/**
 * xmlSchemaValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlSchemaValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from an XSD validation
 */
typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
                 (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;

typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;

/**
 * xmlSchemaValidityLocatorFunc:
 * @ctx: user provided context
 * @file: returned file information
 * @line: returned line information
 *
 * A schemas validation locator, a callback called by the validator.
 * This is used when file or node informations are not available
 * to find out what file and line number are affected
 *
 * Returns: 0 in case of success and -1 in case of error
 */

typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
                           const char **file, unsigned long *line);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewMemParserCtxt	(const char *buffer,
					 int size);
XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
	    xmlSchemaNewDocParserCtxt	(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserErrors	(xmlSchemaParserCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
					xmlSchemaValidityErrorFunc * err,
					xmlSchemaValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchemaIsValid	(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaPtr XMLCALL
	    xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchemaFree		(xmlSchemaPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	    xmlSchemaDump		(FILE *output,
					 xmlSchemaPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc err,
					 xmlSchemaValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN void XMLCALL
	    xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaGetValidErrors	(xmlSchemaValidCtxtPtr ctxt,
					 xmlSchemaValidityErrorFunc *err,
					 xmlSchemaValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchemaSetValidOptions	(xmlSchemaValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
	                                 const char *filename);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);

XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
	    xmlSchemaNewValidCtxt	(xmlSchemaPtr schema);
XMLPUBFUN void XMLCALL
	    xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt,
					 xmlDocPtr instance);
XMLPUBFUN int XMLCALL
            xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc,
					 xmlSAXHandlerPtr sax,
					 void *user_data);
XMLPUBFUN int XMLCALL
	    xmlSchemaValidateFile	(xmlSchemaValidCtxtPtr ctxt,
					 const char * filename,
					 int options);

XMLPUBFUN xmlParserCtxtPtr XMLCALL
	    xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);

/*
 * Interface to insert Schemas SAX validation in a SAX stream
 */
typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;

XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
            xmlSchemaSAXPlug		(xmlSchemaValidCtxtPtr ctxt,
					 xmlSAXHandlerPtr *sax,
					 void **user_data);
XMLPUBFUN int XMLCALL
            xmlSchemaSAXUnplug		(xmlSchemaSAXPlugPtr plug);


XMLPUBFUN void XMLCALL
            xmlSchemaValidateSetLocator	(xmlSchemaValidCtxtPtr vctxt,
					 xmlSchemaValidityLocatorFunc f,
					 void *ctxt);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_H__ */
PK��Zm���>>libxml/HTMLtree.hnu�[���/*
 * Summary: specific APIs to process HTML tree, especially serialization
 * Description: this module implements a few function needed to process
 *              tree in an HTML specific way.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_TREE_H__
#define __HTML_TREE_H__

#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/HTMLparser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif


/**
 * HTML_TEXT_NODE:
 *
 * Macro. A text node in a HTML document is really implemented
 * the same way as a text node in an XML document.
 */
#define HTML_TEXT_NODE		XML_TEXT_NODE
/**
 * HTML_ENTITY_REF_NODE:
 *
 * Macro. An entity reference in a HTML document is really implemented
 * the same way as an entity reference in an XML document.
 */
#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE
/**
 * HTML_COMMENT_NODE:
 *
 * Macro. A comment in a HTML document is really implemented
 * the same way as a comment in an XML document.
 */
#define HTML_COMMENT_NODE	XML_COMMENT_NODE
/**
 * HTML_PRESERVE_NODE:
 *
 * Macro. A preserved node in a HTML document is really implemented
 * the same way as a CDATA section in an XML document.
 */
#define HTML_PRESERVE_NODE	XML_CDATA_SECTION_NODE
/**
 * HTML_PI_NODE:
 *
 * Macro. A processing instruction in a HTML document is really implemented
 * the same way as a processing instruction in an XML document.
 */
#define HTML_PI_NODE		XML_PI_NODE

XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDoc		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlNewDocNoDtD		(const xmlChar *URI,
					 const xmlChar *ExternalID);
XMLPUBFUN const xmlChar * XMLCALL
		htmlGetMetaEncoding	(htmlDocPtr doc);
XMLPUBFUN int XMLCALL
		htmlSetMetaEncoding	(htmlDocPtr doc,
					 const xmlChar *encoding);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		htmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN int XMLCALL
		htmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		htmlNodeDumpFile	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		htmlNodeDumpFileFormat	(FILE *out,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN int XMLCALL
		htmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		htmlSaveFileFormat	(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN void XMLCALL
		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN void XMLCALL
		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);
XMLPUBFUN void XMLCALL
		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN int XMLCALL
		htmlIsBooleanAttr	(const xmlChar *name);


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */

#endif /* __HTML_TREE_H__ */

PK��Z6(��UU
libxml/SAX2.hnu�[���/*
 * Summary: SAX2 parser interface used to build the DOM tree
 * Description: those are the default SAX2 interfaces used by
 *              the library when building DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX2_H__
#define __XML_SAX2_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/xlink.h>

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetPublicId		(void *ctx);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSAX2GetSystemId		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2SetDocumentLocator	(void *ctx,
						 xmlSAXLocatorPtr loc);

XMLPUBFUN int XMLCALL
		xmlSAX2GetLineNumber		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2GetColumnNumber		(void *ctx);

XMLPUBFUN int XMLCALL
		xmlSAX2IsStandalone		(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasInternalSubset	(void *ctx);
XMLPUBFUN int XMLCALL
		xmlSAX2HasExternalSubset	(void *ctx);

XMLPUBFUN void XMLCALL
		xmlSAX2InternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN void XMLCALL
		xmlSAX2ExternalSubset		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetEntity		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
		xmlSAX2GetParameterEntity	(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlSAX2ResolveEntity		(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XMLPUBFUN void XMLCALL
		xmlSAX2EntityDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlSAX2AttributeDecl		(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XMLPUBFUN void XMLCALL
		xmlSAX2ElementDecl		(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlSAX2NotationDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XMLPUBFUN void XMLCALL
		xmlSAX2UnparsedEntityDecl	(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XMLPUBFUN void XMLCALL
		xmlSAX2StartDocument		(void *ctx);
XMLPUBFUN void XMLCALL
		xmlSAX2EndDocument		(void *ctx);
#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
    defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN void XMLCALL
		xmlSAX2StartElement		(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElement		(void *ctx,
						 const xmlChar *name);
#endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
XMLPUBFUN void XMLCALL
		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);
XMLPUBFUN void XMLCALL
		xmlSAX2EndElementNs		(void *ctx,
						 const xmlChar *localname,
						 const xmlChar *prefix,
						 const xmlChar *URI);
XMLPUBFUN void XMLCALL
		xmlSAX2Reference		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSAX2Characters		(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2IgnorableWhitespace	(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		xmlSAX2ProcessingInstruction	(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XMLPUBFUN void XMLCALL
		xmlSAX2Comment			(void *ctx,
						 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlSAX2CDataBlock		(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXDefaultVersion		(int version);
#endif /* LIBXML_SAX1_ENABLED */

XMLPUBFUN int XMLCALL
		xmlSAXVersion			(xmlSAXHandler *hdlr,
						 int version);
XMLPUBFUN void XMLCALL
		xmlSAX2InitDefaultSAXHandler    (xmlSAXHandler *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN void XMLCALL
		xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
XMLPUBFUN void XMLCALL
		htmlDefaultSAXHandlerInit	(void);
#endif
#ifdef LIBXML_DOCB_ENABLED
XMLPUBFUN void XMLCALL
		xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
XMLPUBFUN void XMLCALL
		docbDefaultSAXHandlerInit	(void);
#endif
XMLPUBFUN void XMLCALL
		xmlDefaultSAXHandlerInit	(void);
#ifdef __cplusplus
}
#endif
#endif /* __XML_SAX2_H__ */
PK��Z���libxml/threads.hnu�[���/**
 * Summary: interfaces for thread handling
 * Description: set of generic threading related routines
 *              should work with pthreads, Windows native or TLS threads
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_THREADS_H__
#define __XML_THREADS_H__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlMutex are a simple mutual exception locks.
 */
typedef struct _xmlMutex xmlMutex;
typedef xmlMutex *xmlMutexPtr;

/*
 * xmlRMutex are reentrant mutual exception locks.
 */
typedef struct _xmlRMutex xmlRMutex;
typedef xmlRMutex *xmlRMutexPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/globals.h>
#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN xmlMutexPtr XMLCALL
			xmlNewMutex	(void);
XMLPUBFUN void XMLCALL
			xmlMutexLock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlMutexUnlock	(xmlMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeMutex	(xmlMutexPtr tok);

XMLPUBFUN xmlRMutexPtr XMLCALL
			xmlNewRMutex	(void);
XMLPUBFUN void XMLCALL
			xmlRMutexLock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlRMutexUnlock	(xmlRMutexPtr tok);
XMLPUBFUN void XMLCALL
			xmlFreeRMutex	(xmlRMutexPtr tok);

/*
 * Library wide APIs.
 */
XMLPUBFUN void XMLCALL
			xmlInitThreads	(void);
XMLPUBFUN void XMLCALL
			xmlLockLibrary	(void);
XMLPUBFUN void XMLCALL
			xmlUnlockLibrary(void);
XMLPUBFUN int XMLCALL
			xmlGetThreadId	(void);
XMLPUBFUN int XMLCALL
			xmlIsMainThread	(void);
XMLPUBFUN void XMLCALL
			xmlCleanupThreads(void);
XMLPUBFUN xmlGlobalStatePtr XMLCALL
			xmlGetGlobalState(void);

#ifdef HAVE_PTHREAD_H
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
#if defined(LIBXML_STATIC_FOR_DLL)
int XMLCALL
xmlDllMain(void *hinstDLL, unsigned long fdwReason,
           void *lpvReserved);
#endif
#endif

#ifdef __cplusplus
}
#endif


#endif /* __XML_THREADS_H__ */
PK��Zr��))libxml/catalog.hnu�[���/**
 * Summary: interfaces to the Catalog handling system
 * Description: the catalog module implements the support for
 * XML Catalogs and SGML catalogs
 *
 * SGML Open Technical Resolution TR9401:1997.
 * http://www.jclark.com/sp/catalog.htm
 *
 * XML Catalogs Working Draft 06 August 2001
 * http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CATALOG_H__
#define __XML_CATALOG_H__

#include <stdio.h>

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>
#include <libxml/tree.h>

#ifdef LIBXML_CATALOG_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_CATALOGS_NAMESPACE:
 *
 * The namespace for the XML Catalogs elements.
 */
#define XML_CATALOGS_NAMESPACE					\
    (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
/**
 * XML_CATALOG_PI:
 *
 * The specific XML Catalog Processing Instuction name.
 */
#define XML_CATALOG_PI						\
    (const xmlChar *) "oasis-xml-catalog"

/*
 * The API is voluntarily limited to general cataloging.
 */
typedef enum {
    XML_CATA_PREFER_NONE = 0,
    XML_CATA_PREFER_PUBLIC = 1,
    XML_CATA_PREFER_SYSTEM
} xmlCatalogPrefer;

typedef enum {
    XML_CATA_ALLOW_NONE = 0,
    XML_CATA_ALLOW_GLOBAL = 1,
    XML_CATA_ALLOW_DOCUMENT = 2,
    XML_CATA_ALLOW_ALL = 3
} xmlCatalogAllow;

typedef struct _xmlCatalog xmlCatalog;
typedef xmlCatalog *xmlCatalogPtr;

/*
 * Operations on a given catalog.
 */
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlNewCatalog		(int sgml);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadACatalog		(const char *filename);
XMLPUBFUN xmlCatalogPtr XMLCALL
		xmlLoadSGMLSuperCatalog	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlConvertSGMLCatalog	(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlACatalogAdd		(xmlCatalogPtr catal,
					 const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlACatalogRemove	(xmlCatalogPtr catal,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolve	(xmlCatalogPtr catal,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveSystem(xmlCatalogPtr catal,
					 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolvePublic(xmlCatalogPtr catal,
					 const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlACatalogResolveURI	(xmlCatalogPtr catal,
					 const xmlChar *URI);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlACatalogDump		(xmlCatalogPtr catal,
					 FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeCatalog		(xmlCatalogPtr catal);
XMLPUBFUN int XMLCALL
		xmlCatalogIsEmpty	(xmlCatalogPtr catal);

/*
 * Global operations.
 */
XMLPUBFUN void XMLCALL
		xmlInitializeCatalog	(void);
XMLPUBFUN int XMLCALL
		xmlLoadCatalog		(const char *filename);
XMLPUBFUN void XMLCALL
		xmlLoadCatalogs		(const char *paths);
XMLPUBFUN void XMLCALL
		xmlCatalogCleanup	(void);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlCatalogDump		(FILE *out);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolve	(const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveSystem	(const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolvePublic	(const xmlChar *pubID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogResolveURI	(const xmlChar *URI);
XMLPUBFUN int XMLCALL
		xmlCatalogAdd		(const xmlChar *type,
					 const xmlChar *orig,
					 const xmlChar *replace);
XMLPUBFUN int XMLCALL
		xmlCatalogRemove	(const xmlChar *value);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseCatalogFile	(const char *filename);
XMLPUBFUN int XMLCALL
		xmlCatalogConvert	(void);

/*
 * Strictly minimal interfaces for per-document catalogs used
 * by the parser.
 */
XMLPUBFUN void XMLCALL
		xmlCatalogFreeLocal	(void *catalogs);
XMLPUBFUN void * XMLCALL
		xmlCatalogAddLocal	(void *catalogs,
					 const xmlChar *URL);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolve	(void *catalogs,
					 const xmlChar *pubID,
	                                 const xmlChar *sysID);
XMLPUBFUN xmlChar * XMLCALL
		xmlCatalogLocalResolveURI(void *catalogs,
					 const xmlChar *URI);
/*
 * Preference settings.
 */
XMLPUBFUN int XMLCALL
		xmlCatalogSetDebug	(int level);
XMLPUBFUN xmlCatalogPrefer XMLCALL
		xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
XMLPUBFUN void XMLCALL
		xmlCatalogSetDefaults	(xmlCatalogAllow allow);
XMLPUBFUN xmlCatalogAllow XMLCALL
		xmlCatalogGetDefaults	(void);


/* DEPRECATED interfaces */
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetSystem	(const xmlChar *sysID);
XMLPUBFUN const xmlChar * XMLCALL
		xmlCatalogGetPublic	(const xmlChar *pubID);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_CATALOG_ENABLED */
#endif /* __XML_CATALOG_H__ */
PK��ZLp�,!!libxml/entities.hnu�[���/*
 * Summary: interface for the XML entities handling
 * Description: this module provides some of the entity API needed
 *              for the parser and applications.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_ENTITIES_H__
#define __XML_ENTITIES_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The different valid entity types.
 */
typedef enum {
    XML_INTERNAL_GENERAL_ENTITY = 1,
    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
    XML_INTERNAL_PARAMETER_ENTITY = 4,
    XML_EXTERNAL_PARAMETER_ENTITY = 5,
    XML_INTERNAL_PREDEFINED_ENTITY = 6
} xmlEntityType;

typedef enum {
  XML_ENTITY_NOT_BEING_CHECKED,
  XML_ENTITY_BEING_CHECKED              /* entity check is in progress */
} xmlEntityRecursionGuard;

/*
 * An unit of storage for an entity, contains the string, the value
 * and the linkind data needed for the linking in the hash table.
 */

struct _xmlEntity {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
    const xmlChar          *name;	/* Entity name */
    struct _xmlNode    *children;	/* First child link */
    struct _xmlNode        *last;	/* Last child link */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlChar                *orig;	/* content without ref substitution */
    xmlChar             *content;	/* content or ndata if unparsed */
    int                   length;	/* the content length */
    xmlEntityType          etype;	/* The entity type */
    const xmlChar    *ExternalID;	/* External identifier for PUBLIC */
    const xmlChar      *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */

    struct _xmlEntity     *nexte;	/* unused */
    const xmlChar           *URI;	/* the full URI as computed */
    int                    owner;	/* does the entity own the childrens */
    int			 checked;	/* was the entity content checked */
					/* this is also used to count entities
					 * references done from that entity
					 * and if it contains '<' */
     xmlEntityRecursionGuard guard;
};

/*
 * All entities are stored in an hash table.
 * There is 2 separate hash tables for global and parameter entities.
 */

typedef struct _xmlHashTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;

/*
 * External functions:
 */

#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN void XMLCALL
		xmlInitializePredefinedEntities	(void);
#endif /* LIBXML_LEGACY_ENABLED */

XMLPUBFUN xmlEntityPtr XMLCALL
			xmlNewEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDocEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlAddDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name,
						 int type,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID,
						 const xmlChar *content);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetPredefinedEntity	(const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDocEntity		(const xmlDoc *doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetDtdEntity		(xmlDocPtr doc,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
			xmlGetParameterEntity	(xmlDocPtr doc,
						 const xmlChar *name);
#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN const xmlChar * XMLCALL
			xmlEncodeEntities	(xmlDocPtr doc,
						 const xmlChar *input);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeEntitiesReentrant(xmlDocPtr doc,
						 const xmlChar *input);
XMLPUBFUN xmlChar * XMLCALL
			xmlEncodeSpecialChars	(const xmlDoc *doc,
						 const xmlChar *input);
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCreateEntitiesTable	(void);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEntitiesTablePtr XMLCALL
			xmlCopyEntitiesTable	(xmlEntitiesTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
			xmlFreeEntitiesTable	(xmlEntitiesTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
			xmlDumpEntitiesTable	(xmlBufferPtr buf,
						 xmlEntitiesTablePtr table);
XMLPUBFUN void XMLCALL
			xmlDumpEntityDecl	(xmlBufferPtr buf,
						 xmlEntityPtr ent);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN void XMLCALL
			xmlCleanupPredefinedEntities(void);
#endif /* LIBXML_LEGACY_ENABLED */


#ifdef __cplusplus
}
#endif

# endif /* __XML_ENTITIES_H__ */
PK��Z�8\�UUlibxml/DOCBparser.hnu�[���/*
 * Summary: old DocBook SGML parser
 * Description: interface for a DocBook SGML non-verifying parser
 * This code is DEPRECATED, and should not be used anymore.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __DOCB_PARSER_H__
#define __DOCB_PARSER_H__
#include <libxml/xmlversion.h>

#ifdef LIBXML_DOCB_ENABLED

#include <libxml/parser.h>
#include <libxml/parserInternals.h>

#ifndef IN_LIBXML
#ifdef __GNUC__
#warning "The DOCBparser module has been deprecated in libxml2-2.6.0"
#endif
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Most of the back-end structures from XML and SGML are shared.
 */
typedef xmlParserCtxt docbParserCtxt;
typedef xmlParserCtxtPtr docbParserCtxtPtr;
typedef xmlSAXHandler docbSAXHandler;
typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
typedef xmlParserInput docbParserInput;
typedef xmlParserInputPtr docbParserInputPtr;
typedef xmlDocPtr docbDocPtr;

/*
 * There is only few public functions.
 */
XMLPUBFUN int XMLCALL
		     docbEncodeEntities(unsigned char *out,
                                        int *outlen,
                                        const unsigned char *in,
                                        int *inlen, int quoteChar);

XMLPUBFUN docbDocPtr XMLCALL
		     docbSAXParseDoc   (xmlChar *cur,
                                        const char *encoding,
                                        docbSAXHandlerPtr sax,
                                        void *userData);
XMLPUBFUN docbDocPtr XMLCALL
		     docbParseDoc      (xmlChar *cur,
                                        const char *encoding);
XMLPUBFUN docbDocPtr XMLCALL
		     docbSAXParseFile  (const char *filename,
                                        const char *encoding,
                                        docbSAXHandlerPtr sax,
                                        void *userData);
XMLPUBFUN docbDocPtr XMLCALL
		     docbParseFile     (const char *filename,
                                        const char *encoding);

/**
 * Interfaces for the Push mode.
 */
XMLPUBFUN void XMLCALL
		     docbFreeParserCtxt      (docbParserCtxtPtr ctxt);
XMLPUBFUN docbParserCtxtPtr XMLCALL
		     docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
                                              void *user_data,
                                              const char *chunk,
                                              int size,
                                              const char *filename,
                                              xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
		     docbParseChunk          (docbParserCtxtPtr ctxt,
                                              const char *chunk,
                                              int size,
                                              int terminate);
XMLPUBFUN docbParserCtxtPtr XMLCALL
		     docbCreateFileParserCtxt(const char *filename,
                                              const char *encoding);
XMLPUBFUN int XMLCALL
		     docbParseDocument       (docbParserCtxtPtr ctxt);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_DOCB_ENABLED */

#endif /* __DOCB_PARSER_H__ */
PK��ZO�<�@@libxml/xpath.hnu�[���/*
 * Summary: XML Path Language implementation
 * Description: API for the XML Path Language implementation
 *
 * XML Path Language implementation
 * XPath is a language for addressing parts of an XML document,
 * designed to be used by both XSLT and XPointer
 *     http://www.w3.org/TR/xpath
 *
 * Implements
 * W3C Recommendation 16 November 1999
 *     http://www.w3.org/TR/1999/REC-xpath-19991116
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_H__
#define __XML_XPATH_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPATH_ENABLED

#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/hash.h>
#endif /* LIBXML_XPATH_ENABLED */

#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
#ifdef __cplusplus
extern "C" {
#endif
#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */

#ifdef LIBXML_XPATH_ENABLED

typedef struct _xmlXPathContext xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;

/**
 * The set of XPath error codes.
 */

typedef enum {
    XPATH_EXPRESSION_OK = 0,
    XPATH_NUMBER_ERROR,
    XPATH_UNFINISHED_LITERAL_ERROR,
    XPATH_START_LITERAL_ERROR,
    XPATH_VARIABLE_REF_ERROR,
    XPATH_UNDEF_VARIABLE_ERROR,
    XPATH_INVALID_PREDICATE_ERROR,
    XPATH_EXPR_ERROR,
    XPATH_UNCLOSED_ERROR,
    XPATH_UNKNOWN_FUNC_ERROR,
    XPATH_INVALID_OPERAND,
    XPATH_INVALID_TYPE,
    XPATH_INVALID_ARITY,
    XPATH_INVALID_CTXT_SIZE,
    XPATH_INVALID_CTXT_POSITION,
    XPATH_MEMORY_ERROR,
    XPTR_SYNTAX_ERROR,
    XPTR_RESOURCE_ERROR,
    XPTR_SUB_RESOURCE_ERROR,
    XPATH_UNDEF_PREFIX_ERROR,
    XPATH_ENCODING_ERROR,
    XPATH_INVALID_CHAR_ERROR,
    XPATH_INVALID_CTXT,
    XPATH_STACK_ERROR,
    XPATH_FORBID_VARIABLE_ERROR
} xmlXPathError;

/*
 * A node-set (an unordered collection of nodes without duplicates).
 */
typedef struct _xmlNodeSet xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
struct _xmlNodeSet {
    int nodeNr;			/* number of nodes in the set */
    int nodeMax;		/* size of the array as allocated */
    xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
    /* @@ with_ns to check wether namespace nodes should be looked at @@ */
};

/*
 * An expression is evaluated to yield an object, which
 * has one of the following four basic types:
 *   - node-set
 *   - boolean
 *   - number
 *   - string
 *
 * @@ XPointer will add more types !
 */

typedef enum {
    XPATH_UNDEFINED = 0,
    XPATH_NODESET = 1,
    XPATH_BOOLEAN = 2,
    XPATH_NUMBER = 3,
    XPATH_STRING = 4,
    XPATH_POINT = 5,
    XPATH_RANGE = 6,
    XPATH_LOCATIONSET = 7,
    XPATH_USERS = 8,
    XPATH_XSLT_TREE = 9  /* An XSLT value tree, non modifiable */
} xmlXPathObjectType;

typedef struct _xmlXPathObject xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
struct _xmlXPathObject {
    xmlXPathObjectType type;
    xmlNodeSetPtr nodesetval;
    int boolval;
    double floatval;
    xmlChar *stringval;
    void *user;
    int index;
    void *user2;
    int index2;
};

/**
 * xmlXPathConvertFunc:
 * @obj:  an XPath object
 * @type:  the number of the target type
 *
 * A conversion function is associated to a type and used to cast
 * the new type to primitive values.
 *
 * Returns -1 in case of error, 0 otherwise
 */
typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr obj, int type);

/*
 * Extra type: a name and a conversion function.
 */

typedef struct _xmlXPathType xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
struct _xmlXPathType {
    const xmlChar         *name;		/* the type name */
    xmlXPathConvertFunc func;		/* the conversion function */
};

/*
 * Extra variable: a name and a value.
 */

typedef struct _xmlXPathVariable xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
struct _xmlXPathVariable {
    const xmlChar       *name;		/* the variable name */
    xmlXPathObjectPtr value;		/* the value */
};

/**
 * xmlXPathEvalFunc:
 * @ctxt: an XPath parser context
 * @nargs: the number of arguments passed to the function
 *
 * An XPath evaluation function, the parameters are on the XPath context stack.
 */

typedef void (*xmlXPathEvalFunc)(xmlXPathParserContextPtr ctxt,
	                         int nargs);

/*
 * Extra function: a name and a evaluation function.
 */

typedef struct _xmlXPathFunct xmlXPathFunct;
typedef xmlXPathFunct *xmlXPathFuncPtr;
struct _xmlXPathFunct {
    const xmlChar      *name;		/* the function name */
    xmlXPathEvalFunc func;		/* the evaluation function */
};

/**
 * xmlXPathAxisFunc:
 * @ctxt:  the XPath interpreter context
 * @cur:  the previous node being explored on that axis
 *
 * An axis traversal function. To traverse an axis, the engine calls
 * the first time with cur == NULL and repeat until the function returns
 * NULL indicating the end of the axis traversal.
 *
 * Returns the next node in that axis or NULL if at the end of the axis.
 */

typedef xmlXPathObjectPtr (*xmlXPathAxisFunc) (xmlXPathParserContextPtr ctxt,
				 xmlXPathObjectPtr cur);

/*
 * Extra axis: a name and an axis function.
 */

typedef struct _xmlXPathAxis xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
struct _xmlXPathAxis {
    const xmlChar      *name;		/* the axis name */
    xmlXPathAxisFunc func;		/* the search function */
};

/**
 * xmlXPathFunction:
 * @ctxt:  the XPath interprestation context
 * @nargs:  the number of arguments
 *
 * An XPath function.
 * The arguments (if any) are popped out from the context stack
 * and the result is pushed on the stack.
 */

typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr ctxt, int nargs);

/*
 * Function and Variable Lookup.
 */

/**
 * xmlXPathVariableLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the variable
 * @ns_uri:  the namespace name hosting this variable
 *
 * Prototype for callbacks used to plug variable lookup in the XPath
 * engine.
 *
 * Returns the XPath object value or NULL if not found.
 */
typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc) (void *ctxt,
                                         const xmlChar *name,
                                         const xmlChar *ns_uri);

/**
 * xmlXPathFuncLookupFunc:
 * @ctxt:  an XPath context
 * @name:  name of the function
 * @ns_uri:  the namespace name hosting this function
 *
 * Prototype for callbacks used to plug function lookup in the XPath
 * engine.
 *
 * Returns the XPath function or NULL if not found.
 */
typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
					 const xmlChar *name,
					 const xmlChar *ns_uri);

/**
 * xmlXPathFlags:
 * Flags for XPath engine compilation and runtime
 */
/**
 * XML_XPATH_CHECKNS:
 *
 * check namespaces at compilation
 */
#define XML_XPATH_CHECKNS (1<<0)
/**
 * XML_XPATH_NOVAR:
 *
 * forbid variables in expression
 */
#define XML_XPATH_NOVAR	  (1<<1)

/**
 * xmlXPathContext:
 *
 * Expression evaluation occurs with respect to a context.
 * he context consists of:
 *    - a node (the context node)
 *    - a node list (the context node list)
 *    - a set of variable bindings
 *    - a function library
 *    - the set of namespace declarations in scope for the expression
 * Following the switch to hash tables, this need to be trimmed up at
 * the next binary incompatible release.
 * The node may be modified when the context is passed to libxml2
 * for an XPath evaluation so you may need to initialize it again
 * before the next call.
 */

struct _xmlXPathContext {
    xmlDocPtr doc;			/* The current document */
    xmlNodePtr node;			/* The current node */

    int nb_variables_unused;		/* unused (hash table) */
    int max_variables_unused;		/* unused (hash table) */
    xmlHashTablePtr varHash;		/* Hash table of defined variables */

    int nb_types;			/* number of defined types */
    int max_types;			/* max number of types */
    xmlXPathTypePtr types;		/* Array of defined types */

    int nb_funcs_unused;		/* unused (hash table) */
    int max_funcs_unused;		/* unused (hash table) */
    xmlHashTablePtr funcHash;		/* Hash table of defined funcs */

    int nb_axis;			/* number of defined axis */
    int max_axis;			/* max number of axis */
    xmlXPathAxisPtr axis;		/* Array of defined axis */

    /* the namespace nodes of the context node */
    xmlNsPtr *namespaces;		/* Array of namespaces */
    int nsNr;				/* number of namespace in scope */
    void *user;				/* function to free */

    /* extra variables */
    int contextSize;			/* the context size */
    int proximityPosition;		/* the proximity position */

    /* extra stuff for XPointer */
    int xptr;				/* is this an XPointer context? */
    xmlNodePtr here;			/* for here() */
    xmlNodePtr origin;			/* for origin() */

    /* the set of namespace declarations in scope for the expression */
    xmlHashTablePtr nsHash;		/* The namespaces hash table */
    xmlXPathVariableLookupFunc varLookupFunc;/* variable lookup func */
    void *varLookupData;		/* variable lookup data */

    /* Possibility to link in an extra item */
    void *extra;                        /* needed for XSLT */

    /* The function name and URI when calling a function */
    const xmlChar *function;
    const xmlChar *functionURI;

    /* function lookup function and data */
    xmlXPathFuncLookupFunc funcLookupFunc;/* function lookup func */
    void *funcLookupData;		/* function lookup data */

    /* temporary namespace lists kept for walking the namespace axis */
    xmlNsPtr *tmpNsList;		/* Array of namespaces */
    int tmpNsNr;			/* number of namespaces in scope */

    /* error reporting mechanism */
    void *userData;                     /* user specific data block */
    xmlStructuredErrorFunc error;       /* the callback in case of errors */
    xmlError lastError;			/* the last error */
    xmlNodePtr debugNode;		/* the source node XSLT */

    /* dictionary */
    xmlDictPtr dict;			/* dictionary if any */

    int flags;				/* flags to control compilation */

    /* Cache for reusal of XPath objects */
    void *cache;
};

/*
 * The structure of a compiled expression form is not public.
 */

typedef struct _xmlXPathCompExpr xmlXPathCompExpr;
typedef xmlXPathCompExpr *xmlXPathCompExprPtr;

/**
 * xmlXPathParserContext:
 *
 * An XPath parser context. It contains pure parsing informations,
 * an xmlXPathContext, and the stack of objects.
 */
struct _xmlXPathParserContext {
    const xmlChar *cur;			/* the current char being parsed */
    const xmlChar *base;			/* the full expression */

    int error;				/* error code */

    xmlXPathContextPtr  context;	/* the evaluation context */
    xmlXPathObjectPtr     value;	/* the current value */
    int                 valueNr;	/* number of values stacked */
    int                valueMax;	/* max number of values stacked */
    xmlXPathObjectPtr *valueTab;	/* stack of values */

    xmlXPathCompExprPtr comp;		/* the precompiled expression */
    int xptr;				/* it this an XPointer expression */
    xmlNodePtr         ancestor;	/* used for walking preceding axis */

    int              valueFrame;        /* used to limit Pop on the stack */
};

/************************************************************************
 *									*
 *			Public API					*
 *									*
 ************************************************************************/

/**
 * Objects and Nodesets handling
 */

XMLPUBVAR double xmlXPathNAN;
XMLPUBVAR double xmlXPathPINF;
XMLPUBVAR double xmlXPathNINF;

/* These macros may later turn into functions */
/**
 * xmlXPathNodeSetGetLength:
 * @ns:  a node-set
 *
 * Implement a functionality similar to the DOM NodeList.length.
 *
 * Returns the number of nodes in the node-set.
 */
#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0)
/**
 * xmlXPathNodeSetItem:
 * @ns:  a node-set
 * @index:  index of a node in the set
 *
 * Implements a functionality similar to the DOM NodeList.item().
 *
 * Returns the xmlNodePtr at the given @index in @ns or NULL if
 *         @index is out of range (0 to length-1)
 */
#define xmlXPathNodeSetItem(ns, index)				\
		((((ns) != NULL) &&				\
		  ((index) >= 0) && ((index) < (ns)->nodeNr)) ?	\
		 (ns)->nodeTab[(index)]				\
		 : NULL)
/**
 * xmlXPathNodeSetIsEmpty:
 * @ns: a node-set
 *
 * Checks whether @ns is empty or not.
 *
 * Returns %TRUE if @ns is an empty node-set.
 */
#define xmlXPathNodeSetIsEmpty(ns)                                      \
    (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))


XMLPUBFUN void XMLCALL
		    xmlXPathFreeObject		(xmlXPathObjectPtr obj);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		    xmlXPathNodeSetCreate	(xmlNodePtr val);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSetList	(xmlXPathObjectPtr obj);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeNodeSet		(xmlNodeSetPtr obj);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathObjectCopy		(xmlXPathObjectPtr val);
XMLPUBFUN int XMLCALL
		    xmlXPathCmpNodes		(xmlNodePtr node1,
						 xmlNodePtr node2);
/**
 * Conversion functions to basic types.
 */
XMLPUBFUN int XMLCALL
		    xmlXPathCastNumberToBoolean	(double val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastStringToBoolean	(const xmlChar * val);
XMLPUBFUN int XMLCALL
		    xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
XMLPUBFUN int XMLCALL
		    xmlXPathCastToBoolean	(xmlXPathObjectPtr val);

XMLPUBFUN double XMLCALL
		    xmlXPathCastBooleanToNumber	(int val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastStringToNumber	(const xmlChar * val);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeToNumber	(xmlNodePtr node);
XMLPUBFUN double XMLCALL
		    xmlXPathCastNodeSetToNumber	(xmlNodeSetPtr ns);
XMLPUBFUN double XMLCALL
		    xmlXPathCastToNumber	(xmlXPathObjectPtr val);

XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastBooleanToString	(int val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNumberToString	(double val);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeToString	(xmlNodePtr node);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastNodeSetToString	(xmlNodeSetPtr ns);
XMLPUBFUN xmlChar * XMLCALL
		    xmlXPathCastToString	(xmlXPathObjectPtr val);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertBoolean	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertNumber	(xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathConvertString	(xmlXPathObjectPtr val);

/**
 * Context handling.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPathNewContext		(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeContext		(xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathContextSetCache(xmlXPathContextPtr ctxt,
				            int active,
					    int value,
					    int options);
/**
 * Evaluation functions.
 */
XMLPUBFUN long XMLCALL
		    xmlXPathOrderDocElems	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		    xmlXPathSetContextNode	(xmlNodePtr node,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathNodeEval		(xmlNodePtr node,
						 const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEval		(const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathEvalExpression	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlXPathEvalPredicate	(xmlXPathContextPtr ctxt,
						 xmlXPathObjectPtr res);
/**
 * Separate compilation/evaluation entry points.
 */
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCompile		(const xmlChar *str);
XMLPUBFUN xmlXPathCompExprPtr XMLCALL
		    xmlXPathCtxtCompile		(xmlXPathContextPtr ctxt,
						 const xmlChar *str);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPathCompiledEval	(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctx);
XMLPUBFUN int XMLCALL
		    xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlXPathFreeCompExpr	(xmlXPathCompExprPtr comp);
#endif /* LIBXML_XPATH_ENABLED */
#if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN void XMLCALL
		    xmlXPathInit		(void);
XMLPUBFUN int XMLCALL
		xmlXPathIsNaN	(double val);
XMLPUBFUN int XMLCALL
		xmlXPathIsInf	(double val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED*/
#endif /* ! __XML_XPATH_H__ */
PK��ZHf�t�K�Klibxml/xpathInternals.hnu�[���/*
 * Summary: internal interfaces for XML Path Language implementation
 * Description: internal interfaces for XML Path Language implementation
 *              used to build new modules on top of XPath like XPointer and
 *              XSLT
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPATH_INTERNALS_H__
#define __XML_XPATH_INTERNALS_H__

#include <libxml/xmlversion.h>
#include <libxml/xpath.h>

#ifdef LIBXML_XPATH_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************
 *									*
 *			Helpers						*
 *									*
 ************************************************************************/

/*
 * Many of these macros may later turn into functions. They
 * shouldn't be used in #ifdef's preprocessor instructions.
 */
/**
 * xmlXPathSetError:
 * @ctxt:  an XPath parser context
 * @err:  an xmlXPathError code
 *
 * Raises an error.
 */
#define xmlXPathSetError(ctxt, err)					\
    { xmlXPatherror((ctxt), __FILE__, __LINE__, (err));			\
      if ((ctxt) != NULL) (ctxt)->error = (err); }

/**
 * xmlXPathSetArityError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_ARITY error.
 */
#define xmlXPathSetArityError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)

/**
 * xmlXPathSetTypeError:
 * @ctxt:  an XPath parser context
 *
 * Raises an XPATH_INVALID_TYPE error.
 */
#define xmlXPathSetTypeError(ctxt)					\
    xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)

/**
 * xmlXPathGetError:
 * @ctxt:  an XPath parser context
 *
 * Get the error code of an XPath context.
 *
 * Returns the context error.
 */
#define xmlXPathGetError(ctxt)	  ((ctxt)->error)

/**
 * xmlXPathCheckError:
 * @ctxt:  an XPath parser context
 *
 * Check if an XPath error was raised.
 *
 * Returns true if an error has been raised, false otherwise.
 */
#define xmlXPathCheckError(ctxt)  ((ctxt)->error != XPATH_EXPRESSION_OK)

/**
 * xmlXPathGetDocument:
 * @ctxt:  an XPath parser context
 *
 * Get the document of an XPath context.
 *
 * Returns the context document.
 */
#define xmlXPathGetDocument(ctxt)	((ctxt)->context->doc)

/**
 * xmlXPathGetContextNode:
 * @ctxt: an XPath parser context
 *
 * Get the context node of an XPath context.
 *
 * Returns the context node.
 */
#define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)

XMLPUBFUN int XMLCALL
		xmlXPathPopBoolean	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN double XMLCALL
		xmlXPathPopNumber	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathPopString	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathPopNodeSet	(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void * XMLCALL
		xmlXPathPopExternal	(xmlXPathParserContextPtr ctxt);

/**
 * xmlXPathReturnBoolean:
 * @ctxt:  an XPath parser context
 * @val:  a boolean
 *
 * Pushes the boolean @val on the context stack.
 */
#define xmlXPathReturnBoolean(ctxt, val)				\
    valuePush((ctxt), xmlXPathNewBoolean(val))

/**
 * xmlXPathReturnTrue:
 * @ctxt:  an XPath parser context
 *
 * Pushes true on the context stack.
 */
#define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)

/**
 * xmlXPathReturnFalse:
 * @ctxt:  an XPath parser context
 *
 * Pushes false on the context stack.
 */
#define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)

/**
 * xmlXPathReturnNumber:
 * @ctxt:  an XPath parser context
 * @val:  a double
 *
 * Pushes the double @val on the context stack.
 */
#define xmlXPathReturnNumber(ctxt, val)					\
    valuePush((ctxt), xmlXPathNewFloat(val))

/**
 * xmlXPathReturnString:
 * @ctxt:  an XPath parser context
 * @str:  a string
 *
 * Pushes the string @str on the context stack.
 */
#define xmlXPathReturnString(ctxt, str)					\
    valuePush((ctxt), xmlXPathWrapString(str))

/**
 * xmlXPathReturnEmptyString:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty string on the stack.
 */
#define xmlXPathReturnEmptyString(ctxt)					\
    valuePush((ctxt), xmlXPathNewCString(""))

/**
 * xmlXPathReturnNodeSet:
 * @ctxt:  an XPath parser context
 * @ns:  a node-set
 *
 * Pushes the node-set @ns on the context stack.
 */
#define xmlXPathReturnNodeSet(ctxt, ns)					\
    valuePush((ctxt), xmlXPathWrapNodeSet(ns))

/**
 * xmlXPathReturnEmptyNodeSet:
 * @ctxt:  an XPath parser context
 *
 * Pushes an empty node-set on the context stack.
 */
#define xmlXPathReturnEmptyNodeSet(ctxt)				\
    valuePush((ctxt), xmlXPathNewNodeSet(NULL))

/**
 * xmlXPathReturnExternal:
 * @ctxt:  an XPath parser context
 * @val:  user data
 *
 * Pushes user data on the context stack.
 */
#define xmlXPathReturnExternal(ctxt, val)				\
    valuePush((ctxt), xmlXPathWrapExternal(val))

/**
 * xmlXPathStackIsNodeSet:
 * @ctxt: an XPath parser context
 *
 * Check if the current value on the XPath stack is a node set or
 * an XSLT value tree.
 *
 * Returns true if the current object on the stack is a node-set.
 */
#define xmlXPathStackIsNodeSet(ctxt)					\
    (((ctxt)->value != NULL)						\
     && (((ctxt)->value->type == XPATH_NODESET)				\
         || ((ctxt)->value->type == XPATH_XSLT_TREE)))

/**
 * xmlXPathStackIsExternal:
 * @ctxt: an XPath parser context
 *
 * Checks if the current value on the XPath stack is an external
 * object.
 *
 * Returns true if the current object on the stack is an external
 * object.
 */
#define xmlXPathStackIsExternal(ctxt)					\
	((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))

/**
 * xmlXPathEmptyNodeSet:
 * @ns:  a node-set
 *
 * Empties a node-set.
 */
#define xmlXPathEmptyNodeSet(ns)					\
    { while ((ns)->nodeNr > 0) (ns)->nodeTab[--(ns)->nodeNr] = NULL; }

/**
 * CHECK_ERROR:
 *
 * Macro to return from the function if an XPath error was detected.
 */
#define CHECK_ERROR							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return

/**
 * CHECK_ERROR0:
 *
 * Macro to return 0 from the function if an XPath error was detected.
 */
#define CHECK_ERROR0							\
    if (ctxt->error != XPATH_EXPRESSION_OK) return(0)

/**
 * XP_ERROR:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return.
 */
#define XP_ERROR(X)							\
    { xmlXPathErr(ctxt, X); return; }

/**
 * XP_ERROR0:
 * @X:  the error code
 *
 * Macro to raise an XPath error and return 0.
 */
#define XP_ERROR0(X)							\
    { xmlXPathErr(ctxt, X); return(0); }

/**
 * CHECK_TYPE:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type.
 */
#define CHECK_TYPE(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR(XPATH_INVALID_TYPE)

/**
 * CHECK_TYPE0:
 * @typeval:  the XPath type
 *
 * Macro to check that the value on top of the XPath stack is of a given
 * type. Return(0) in case of failure
 */
#define CHECK_TYPE0(typeval)						\
    if ((ctxt->value == NULL) || (ctxt->value->type != typeval))	\
        XP_ERROR0(XPATH_INVALID_TYPE)

/**
 * CHECK_ARITY:
 * @x:  the number of expected args
 *
 * Macro to check that the number of args passed to an XPath function matches.
 */
#define CHECK_ARITY(x)							\
    if (ctxt == NULL) return;						\
    if (nargs != (x))							\
        XP_ERROR(XPATH_INVALID_ARITY);					\
    if (ctxt->valueNr < ctxt->valueFrame + (x))				\
        XP_ERROR(XPATH_STACK_ERROR);

/**
 * CAST_TO_STRING:
 *
 * Macro to try to cast the value on the top of the XPath stack to a string.
 */
#define CAST_TO_STRING							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING))	\
        xmlXPathStringFunction(ctxt, 1);

/**
 * CAST_TO_NUMBER:
 *
 * Macro to try to cast the value on the top of the XPath stack to a number.
 */
#define CAST_TO_NUMBER							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER))	\
        xmlXPathNumberFunction(ctxt, 1);

/**
 * CAST_TO_BOOLEAN:
 *
 * Macro to try to cast the value on the top of the XPath stack to a boolean.
 */
#define CAST_TO_BOOLEAN							\
    if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN))	\
        xmlXPathBooleanFunction(ctxt, 1);

/*
 * Variable Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	xmlXPathRegisterVariableLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathVariableLookupFunc f,
					 void *data);

/*
 * Function Lookup forwarding.
 */

XMLPUBFUN void XMLCALL
	    xmlXPathRegisterFuncLookup	(xmlXPathContextPtr ctxt,
					 xmlXPathFuncLookupFunc f,
					 void *funcCtxt);

/*
 * Error reporting.
 */
XMLPUBFUN void XMLCALL
		xmlXPatherror	(xmlXPathParserContextPtr ctxt,
				 const char *file,
				 int line,
				 int no);

XMLPUBFUN void XMLCALL
		xmlXPathErr	(xmlXPathParserContextPtr ctxt,
				 int error);

#ifdef LIBXML_DEBUG_ENABLED
XMLPUBFUN void XMLCALL
		xmlXPathDebugDumpObject	(FILE *output,
					 xmlXPathObjectPtr cur,
					 int depth);
XMLPUBFUN void XMLCALL
	    xmlXPathDebugDumpCompExpr(FILE *output,
					 xmlXPathCompExprPtr comp,
					 int depth);
#endif
/**
 * NodeSet handling.
 */
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetContains		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDifference		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathIntersection		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinctSorted		(xmlNodeSetPtr nodes);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathDistinct		(xmlNodeSetPtr nodes);

XMLPUBFUN int XMLCALL
		xmlXPathHasSameNodes		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeadingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeadingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeLeading		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathLeading			(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);

XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailingSorted	(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailingSorted		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeTrailing		(xmlNodeSetPtr nodes,
						 xmlNodePtr node);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathTrailing		(xmlNodeSetPtr nodes1,
						 xmlNodeSetPtr nodes2);


/**
 * Extending a context.
 */

XMLPUBFUN int XMLCALL
		xmlXPathRegisterNs		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix,
						 const xmlChar *ns_uri);
XMLPUBFUN const xmlChar * XMLCALL
		xmlXPathNsLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredNsCleanup	(xmlXPathContextPtr ctxt);

XMLPUBFUN int XMLCALL
		xmlXPathRegisterFunc		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterFuncNS		(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathFunction f);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariable	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 xmlXPathObjectPtr value);
XMLPUBFUN int XMLCALL
		xmlXPathRegisterVariableNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri,
						 xmlXPathObjectPtr value);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathFunction XMLCALL
		xmlXPathFunctionLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredFuncsCleanup	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookup		(xmlXPathContextPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathVariableLookupNS	(xmlXPathContextPtr ctxt,
						 const xmlChar *name,
						 const xmlChar *ns_uri);
XMLPUBFUN void XMLCALL
		xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt);

/**
 * Utilities to extend XPath.
 */
XMLPUBFUN xmlXPathParserContextPtr XMLCALL
		  xmlXPathNewParserContext	(const xmlChar *str,
						 xmlXPathContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathFreeParserContext	(xmlXPathParserContextPtr ctxt);

/* TODO: remap to xmlXPathValuePop and Push. */
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		valuePop			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL
		valuePush			(xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr value);

XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewString		(const xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewCString		(const char *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapString		(xmlChar *val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapCString		(char * val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewFloat		(double val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewBoolean		(int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSet		(xmlNodePtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewValueTree		(xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAdd		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddUnique	(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN int XMLCALL
		xmlXPathNodeSetAddNs		(xmlNodeSetPtr cur,
						 xmlNodePtr node,
						 xmlNsPtr ns);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetSort		(xmlNodeSetPtr set);

XMLPUBFUN void XMLCALL
		xmlXPathRoot			(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlXPathEvalExpr		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseName		(xmlXPathParserContextPtr ctxt);
XMLPUBFUN xmlChar * XMLCALL
		xmlXPathParseNCName		(xmlXPathParserContextPtr ctxt);

/*
 * Existing functions.
 */
XMLPUBFUN double XMLCALL
		xmlXPathStringEvalNumber	(const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt,
						 xmlXPathObjectPtr res);
XMLPUBFUN void XMLCALL
		xmlXPathRegisterAllFunctions	(xmlXPathContextPtr ctxt);
XMLPUBFUN xmlNodeSetPtr XMLCALL
		xmlXPathNodeSetMerge		(xmlNodeSetPtr val1,
						 xmlNodeSetPtr val2);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetDel		(xmlNodeSetPtr cur,
						 xmlNodePtr val);
XMLPUBFUN void XMLCALL
		xmlXPathNodeSetRemove		(xmlNodeSetPtr cur,
						 int val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathNewNodeSetList		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapNodeSet		(xmlNodeSetPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		xmlXPathWrapExternal		(void *val);

XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN int XMLCALL xmlXPathCompareValues(xmlXPathParserContextPtr ctxt, int inf, int strict);
XMLPUBFUN void XMLCALL xmlXPathValueFlipSign(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathAddValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathSubValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathMultValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathDivValues(xmlXPathParserContextPtr ctxt);
XMLPUBFUN void XMLCALL xmlXPathModValues(xmlXPathParserContextPtr ctxt);

XMLPUBFUN int XMLCALL xmlXPathIsNodeType(const xmlChar *name);

/*
 * Some of the axis navigation routines.
 */
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextChild(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendant(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextParent(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextNamespace(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAttribute(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextAncestor(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr ctxt,
			xmlNodePtr cur);
/*
 * The official core of XPath functions.
 */
XMLPUBFUN void XMLCALL xmlXPathLastFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathPositionFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCountFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathIdFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLocalNameFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStringLengthFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathConcatFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathContainsFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathStartsWithFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNormalizeFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTranslateFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNotFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathTrueFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFalseFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathLangFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathNumberFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathSumFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs);
XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, int nargs);

/**
 * Really internal functions
 */
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPATH_ENABLED */
#endif /* ! __XML_XPATH_INTERNALS_H__ */
PK��Z�6SSlibxml/xmlwriter.hnu�[���/*
 * Summary: text writing API for XML
 * Description: text writing API for XML
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Alfred Mickautsch <alfred@mickautsch.de>
 */

#ifndef __XML_XMLWRITER_H__
#define __XML_XMLWRITER_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_WRITER_ENABLED

#include <stdarg.h>
#include <libxml/xmlIO.h>
#include <libxml/list.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

    typedef struct _xmlTextWriter xmlTextWriter;
    typedef xmlTextWriter *xmlTextWriterPtr;

/*
 * Constructors & Destructor
 */
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriter(xmlOutputBufferPtr out);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterFilename(const char *uri, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
    XMLPUBFUN xmlTextWriterPtr XMLCALL
        xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
                             int compression);
    XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);

/*
 * Functions
 */


/*
 * Document
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDocument(xmlTextWriterPtr writer,
                                   const char *version,
                                   const char *encoding,
                                   const char *standalone);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
                                                   writer);

/*
 * Comments
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
                                                    writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar *
                                                    content);

/*
 * Elements
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartElement(xmlTextWriterPtr writer,
                                  const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
                                                      writer);

/*
 * Elements conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
                                        const xmlChar * name,
                                        const char *format, ...)
					LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
                                         const xmlChar * name,
                                         const char *format,
                                         va_list argptr)
					 LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * name,
                                                    const xmlChar *
                                                    content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
                                          const xmlChar * prefix,
                                          const xmlChar * name,
                                          const xmlChar * namespaceURI,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
                                           const xmlChar * prefix,
                                           const xmlChar * name,
                                           const xmlChar * namespaceURI,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar *
                                                      prefix,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      namespaceURI,
                                                      const xmlChar *
                                                      content);

/*
 * Text
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
                                 const xmlChar * content, int len);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
                              const xmlChar * content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
                                                         writer,
                                                         const char
                                                         *format, ...)
							 LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
                                                          writer,
                                                          const char
                                                          *format,
                                                          va_list argptr)
							  LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
                                                   const xmlChar *
                                                   content);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
                                                   const char *data,
                                                   int start, int len);

/*
 * Attributes
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
                                    const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI);
    XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
                                                    writer);

/*
 * Attributes conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
                                          const xmlChar * name,
                                          const char *format, ...)
					  LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format,
                                           va_list argptr)
					   LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
                                                      writer,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
                                            const xmlChar * prefix,
                                            const xmlChar * name,
                                            const xmlChar * namespaceURI,
                                            const char *format, ...)
					    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
                                             const xmlChar * prefix,
                                             const xmlChar * name,
                                             const xmlChar * namespaceURI,
                                             const char *format,
                                             va_list argptr)
					     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
                                                        writer,
                                                        const xmlChar *
                                                        prefix,
                                                        const xmlChar *
                                                        name,
                                                        const xmlChar *
                                                        namespaceURI,
                                                        const xmlChar *
                                                        content);

/*
 * PI's
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartPI(xmlTextWriterPtr writer,
                             const xmlChar * target);
    XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);

/*
 * PI conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
                                   const xmlChar * target,
                                   const char *format, ...)
				   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
                                    const xmlChar * target,
                                    const char *format, va_list argptr)
				    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWritePI(xmlTextWriterPtr writer,
                             const xmlChar * target,
                             const xmlChar * content);

/**
 * xmlTextWriterWriteProcessingInstruction:
 *
 * This macro maps to xmlTextWriterWritePI
 */
#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI

/*
 * CDATA
 */
    XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
    XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);

/*
 * CDATA conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
                                      const char *format, ...)
				      LIBXML_ATTR_FORMAT(2,3);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
                                       const char *format, va_list argptr)
				       LIBXML_ATTR_FORMAT(2,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
                                const xmlChar * content);

/*
 * DTD
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);

/*
 * DTD conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
                                    const xmlChar * name,
                                    const xmlChar * pubid,
                                    const xmlChar * sysid,
                                    const char *format, ...)
				    LIBXML_ATTR_FORMAT(5,6);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
                                     const xmlChar * name,
                                     const xmlChar * pubid,
                                     const xmlChar * sysid,
                                     const char *format, va_list argptr)
				     LIBXML_ATTR_FORMAT(5,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
                              const xmlChar * name,
                              const xmlChar * pubid,
                              const xmlChar * sysid,
                              const xmlChar * subset);

/**
 * xmlTextWriterWriteDocType:
 *
 * this macro maps to xmlTextWriterWriteDTD
 */
#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD

/*
 * DTD element definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
                                                     writer);

/*
 * DTD element definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD attribute list definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
                                     const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
                                                     writer);

/*
 * DTD attribute list definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
                                           const xmlChar * name,
                                           const char *format, ...)
					   LIBXML_ATTR_FORMAT(3,4);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
                                            const xmlChar * name,
                                            const char *format,
                                            va_list argptr)
					    LIBXML_ATTR_FORMAT(3,0);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
                                                       writer,
                                                       const xmlChar *
                                                       name,
                                                       const xmlChar *
                                                       content);

/*
 * DTD entity definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
                                    int pe, const xmlChar * name);
    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
                                                    writer);

/*
 * DTD entity definition conveniency functions
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                  int pe,
                                                  const xmlChar * name,
                                                  const char *format, ...)
						  LIBXML_ATTR_FORMAT(4,5);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
                                                   int pe,
                                                   const xmlChar * name,
                                                   const char *format,
                                                   va_list argptr)
						   LIBXML_ATTR_FORMAT(4,0);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * content);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
                                            int pe,
                                            const xmlChar * name,
                                            const xmlChar * pubid,
                                            const xmlChar * sysid,
                                            const xmlChar * ndataid);
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
                                                    writer,
                                                    const xmlChar * pubid,
                                                    const xmlChar * sysid,
                                                    const xmlChar *
                                                    ndataid);
    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
                                                      writer, int pe,
                                                      const xmlChar * name,
                                                      const xmlChar *
                                                      pubid,
                                                      const xmlChar *
                                                      sysid,
                                                      const xmlChar *
                                                      ndataid,
                                                      const xmlChar *
                                                      content);

/*
 * DTD notation definition
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
                                      const xmlChar * name,
                                      const xmlChar * pubid,
                                      const xmlChar * sysid);

/*
 * Indentation
 */
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
    XMLPUBFUN int XMLCALL
        xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
                                     const xmlChar * str);

    XMLPUBFUN int XMLCALL
        xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);


/*
 * misc
 */
    XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_WRITER_ENABLED */

#endif                          /* __XML_XMLWRITER_H__ */
PK��Ze�GH��libxml/nanoftp.hnu�[���/*
 * Summary: minimal FTP implementation
 * Description: minimal FTP implementation allowing to fetch resources
 *              like external subset.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_FTP_H__
#define __NANO_FTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_FTP_ENABLED

/* Needed for portability to Windows 64 bits */
#if defined(_WIN32) && !defined(__CYGWIN__)
#include <winsock2.h>
#else
/**
 * SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 */
#define SOCKET int
/**
 * INVALID_SOCKET:
 *
 * macro used to provide portability of code to windows sockets
 * the value to be used when the socket is not valid
 */
#undef  INVALID_SOCKET
#define INVALID_SOCKET (-1)
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * ftpListCallback:
 * @userData:  user provided data for the callback
 * @filename:  the file name (including "->" when links are shown)
 * @attrib:  the attribute string
 * @owner:  the owner string
 * @group:  the group string
 * @size:  the file size
 * @links:  the link count
 * @year:  the year
 * @month:  the month
 * @day:  the day
 * @hour:  the hour
 * @minute:  the minute
 *
 * A callback for the xmlNanoFTPList command.
 * Note that only one of year and day:minute are specified.
 */
typedef void (*ftpListCallback) (void *userData,
	                         const char *filename, const char *attrib,
	                         const char *owner, const char *group,
				 unsigned long size, int links, int year,
				 const char *month, int day, int hour,
				 int minute);
/**
 * ftpDataCallback:
 * @userData: the user provided context
 * @data: the data received
 * @len: its size in bytes
 *
 * A callback for the xmlNanoFTPGet command.
 */
typedef void (*ftpDataCallback) (void *userData,
				 const char *data,
				 int len);

/*
 * Init
 */
XMLPUBFUN void XMLCALL
	xmlNanoFTPInit		(void);
XMLPUBFUN void XMLCALL
	xmlNanoFTPCleanup	(void);

/*
 * Creating/freeing contexts.
 */
XMLPUBFUN void * XMLCALL
	xmlNanoFTPNewCtxt	(const char *URL);
XMLPUBFUN void XMLCALL
	xmlNanoFTPFreeCtxt	(void * ctx);
XMLPUBFUN void * XMLCALL
	xmlNanoFTPConnectTo	(const char *server,
				 int port);
/*
 * Opening/closing session connections.
 */
XMLPUBFUN void * XMLCALL
	xmlNanoFTPOpen		(const char *URL);
XMLPUBFUN int XMLCALL
	xmlNanoFTPConnect	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoFTPClose		(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoFTPQuit		(void *ctx);
XMLPUBFUN void XMLCALL
	xmlNanoFTPScanProxy	(const char *URL);
XMLPUBFUN void XMLCALL
	xmlNanoFTPProxy		(const char *host,
				 int port,
				 const char *user,
				 const char *passwd,
				 int type);
XMLPUBFUN int XMLCALL
	xmlNanoFTPUpdateURL	(void *ctx,
				 const char *URL);

/*
 * Rather internal commands.
 */
XMLPUBFUN int XMLCALL
	xmlNanoFTPGetResponse	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoFTPCheckResponse	(void *ctx);

/*
 * CD/DIR/GET handlers.
 */
XMLPUBFUN int XMLCALL
	xmlNanoFTPCwd		(void *ctx,
				 const char *directory);
XMLPUBFUN int XMLCALL
	xmlNanoFTPDele		(void *ctx,
				 const char *file);

XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetConnection	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoFTPCloseConnection(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoFTPList		(void *ctx,
				 ftpListCallback callback,
				 void *userData,
				 const char *filename);
XMLPUBFUN SOCKET XMLCALL
	xmlNanoFTPGetSocket	(void *ctx,
				 const char *filename);
XMLPUBFUN int XMLCALL
	xmlNanoFTPGet		(void *ctx,
				 ftpDataCallback callback,
				 void *userData,
				 const char *filename);
XMLPUBFUN int XMLCALL
	xmlNanoFTPRead		(void *ctx,
				 void *dest,
				 int len);

#ifdef __cplusplus
}
#endif
#endif /* LIBXML_FTP_ENABLED */
#endif /* __NANO_FTP_H__ */
PK��ZL��!	!	libxml/xmlsave.hnu�[���/*
 * Summary: the XML document serializer
 * Description: API to save document or subtree of document
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLSAVE_H__
#define __XML_XMLSAVE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/encoding.h>
#include <libxml/xmlIO.h>

#ifdef LIBXML_OUTPUT_ENABLED
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlSaveOption:
 *
 * This is the set of XML save options that can be passed down
 * to the xmlSaveToFd() and similar calls.
 */
typedef enum {
    XML_SAVE_FORMAT     = 1<<0,	/* format save output */
    XML_SAVE_NO_DECL    = 1<<1,	/* drop the xml declaration */
    XML_SAVE_NO_EMPTY	= 1<<2, /* no empty tags */
    XML_SAVE_NO_XHTML	= 1<<3, /* disable XHTML1 specific rules */
    XML_SAVE_XHTML	= 1<<4, /* force XHTML1 specific rules */
    XML_SAVE_AS_XML     = 1<<5, /* force XML serialization on HTML doc */
    XML_SAVE_AS_HTML    = 1<<6, /* force HTML serialization on XML doc */
    XML_SAVE_WSNONSIG   = 1<<7  /* format with non-significant whitespace */
} xmlSaveOption;


typedef struct _xmlSaveCtxt xmlSaveCtxt;
typedef xmlSaveCtxt *xmlSaveCtxtPtr;

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFd		(int fd,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToFilename	(const char *filename,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToBuffer		(xmlBufferPtr buffer,
					 const char *encoding,
					 int options);

XMLPUBFUN xmlSaveCtxtPtr XMLCALL
		xmlSaveToIO		(xmlOutputWriteCallback iowrite,
					 xmlOutputCloseCallback ioclose,
					 void *ioctx,
					 const char *encoding,
					 int options);

XMLPUBFUN long XMLCALL
		xmlSaveDoc		(xmlSaveCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN long XMLCALL
		xmlSaveTree		(xmlSaveCtxtPtr ctxt,
					 xmlNodePtr node);

XMLPUBFUN int XMLCALL
		xmlSaveFlush		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveClose		(xmlSaveCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlSaveSetEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
XMLPUBFUN int XMLCALL
		xmlSaveSetAttrEscape	(xmlSaveCtxtPtr ctxt,
					 xmlCharEncodingOutputFunc escape);
#ifdef __cplusplus
}
#endif
#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* __XML_XMLSAVE_H__ */


PK��Z�.�&
&

libxml/list.hnu�[���/*
 * Summary: lists interfaces
 * Description: this module implement the list support used in
 * various place in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
 */

#ifndef __XML_LINK_INCLUDE__
#define __XML_LINK_INCLUDE__

#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlLink xmlLink;
typedef xmlLink *xmlLinkPtr;

typedef struct _xmlList xmlList;
typedef xmlList *xmlListPtr;

/**
 * xmlListDeallocator:
 * @lk:  the data to deallocate
 *
 * Callback function used to free data from a list.
 */
typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
/**
 * xmlListDataCompare:
 * @data0: the first data
 * @data1: the second data
 *
 * Callback function used to compare 2 data.
 *
 * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
 */
typedef int  (*xmlListDataCompare) (const void *data0, const void *data1);
/**
 * xmlListWalker:
 * @data: the data found in the list
 * @user: extra user provided data to the walker
 *
 * Callback function used when walking a list with xmlListWalk().
 *
 * Returns 0 to stop walking the list, 1 otherwise.
 */
typedef int (*xmlListWalker) (const void *data, const void *user);

/* Creation/Deletion */
XMLPUBFUN xmlListPtr XMLCALL
		xmlListCreate		(xmlListDeallocator deallocator,
	                                 xmlListDataCompare compare);
XMLPUBFUN void XMLCALL
		xmlListDelete		(xmlListPtr l);

/* Basic Operators */
XMLPUBFUN void * XMLCALL
		xmlListSearch		(xmlListPtr l,
					 void *data);
XMLPUBFUN void * XMLCALL
		xmlListReverseSearch	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListInsert		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListAppend		(xmlListPtr l,
					 void *data) ;
XMLPUBFUN int XMLCALL
		xmlListRemoveFirst	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveLast	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListRemoveAll	(xmlListPtr l,
					 void *data);
XMLPUBFUN void XMLCALL
		xmlListClear		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListEmpty		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListFront		(xmlListPtr l);
XMLPUBFUN xmlLinkPtr XMLCALL
		xmlListEnd		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListSize		(xmlListPtr l);

XMLPUBFUN void XMLCALL
		xmlListPopFront		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListPopBack		(xmlListPtr l);
XMLPUBFUN int XMLCALL
		xmlListPushFront	(xmlListPtr l,
					 void *data);
XMLPUBFUN int XMLCALL
		xmlListPushBack		(xmlListPtr l,
					 void *data);

/* Advanced Operators */
XMLPUBFUN void XMLCALL
		xmlListReverse		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListSort		(xmlListPtr l);
XMLPUBFUN void XMLCALL
		xmlListWalk		(xmlListPtr l,
					 xmlListWalker walker,
					 const void *user);
XMLPUBFUN void XMLCALL
		xmlListReverseWalk	(xmlListPtr l,
					 xmlListWalker walker,
					 const void *user);
XMLPUBFUN void XMLCALL
		xmlListMerge		(xmlListPtr l1,
					 xmlListPtr l2);
XMLPUBFUN xmlListPtr XMLCALL
		xmlListDup		(const xmlListPtr old);
XMLPUBFUN int XMLCALL
		xmlListCopy		(xmlListPtr cur,
					 const xmlListPtr old);
/* Link operators */
XMLPUBFUN void * XMLCALL
		xmlLinkGetData          (xmlLinkPtr lk);

/* xmlListUnique() */
/* xmlListSwap */

#ifdef __cplusplus
}
#endif

#endif /* __XML_LINK_INCLUDE__ */
PK��Z�����libxml/nanohttp.hnu�[���/*
 * Summary: minimal HTTP implementation
 * Description: minimal HTTP implementation allowing to fetch resources
 *              like external subset.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __NANO_HTTP_H__
#define __NANO_HTTP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_HTTP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN void XMLCALL
	xmlNanoHTTPInit		(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPCleanup	(void);
XMLPUBFUN void XMLCALL
	xmlNanoHTTPScanProxy	(const char *URL);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPFetch	(const char *URL,
				 const char *filename,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethod	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPMethodRedir	(const char *URL,
				 const char *method,
				 const char *input,
				 char **contentType,
				 char **redir,
				 const char *headers,
				 int   ilen);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpen		(const char *URL,
				 char **contentType);
XMLPUBFUN void * XMLCALL
	xmlNanoHTTPOpenRedir	(const char *URL,
				 char **contentType,
				 char **redir);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPReturnCode	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPAuthHeader	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPRedir	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPContentLength( void * ctx );
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPEncoding	(void *ctx);
XMLPUBFUN const char * XMLCALL
	xmlNanoHTTPMimeType	(void *ctx);
XMLPUBFUN int XMLCALL
	xmlNanoHTTPRead		(void *ctx,
				 void *dest,
				 int len);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	xmlNanoHTTPSave		(void *ctxt,
				 const char *filename);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN void XMLCALL
	xmlNanoHTTPClose	(void *ctx);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTTP_ENABLED */
#endif /* __NANO_HTTP_H__ */
PK��ZZX2~6565libxml/valid.hnu�[���/*
 * Summary: The DTD validation
 * Description: API for the DTD handling and the validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_VALID_H__
#define __XML_VALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
#include <libxml/list.h>
#include <libxml/xmlautomata.h>
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Validation state added for non-determinist content model.
 */
typedef struct _xmlValidState xmlValidState;
typedef xmlValidState *xmlValidStatePtr;

/**
 * xmlValidityErrorFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity error is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
			     const char *msg,
			     ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlValidityWarningFunc:
 * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
 *        but comes from ctxt->userData (which normally contains such
 *        a pointer); ctxt->userData can be changed by the user.
 * @msg:  the string to format *printf like vararg
 * @...:  remaining arguments to the format
 *
 * Callback called when a validity warning is found. This is a message
 * oriented function similar to an *printf function.
 */
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
			       const char *msg,
			       ...) LIBXML_ATTR_FORMAT(2,3);

#ifdef IN_LIBXML
/**
 * XML_CTXT_FINISH_DTD_0:
 *
 * Special value for finishDtd field when embedded in an xmlParserCtxt
 */
#define XML_CTXT_FINISH_DTD_0 0xabcd1234
/**
 * XML_CTXT_FINISH_DTD_1:
 *
 * Special value for finishDtd field when embedded in an xmlParserCtxt
 */
#define XML_CTXT_FINISH_DTD_1 0xabcd1235
#endif

/*
 * xmlValidCtxt:
 * An xmlValidCtxt is used for error reporting when validating.
 */
typedef struct _xmlValidCtxt xmlValidCtxt;
typedef xmlValidCtxt *xmlValidCtxtPtr;
struct _xmlValidCtxt {
    void *userData;			/* user specific data block */
    xmlValidityErrorFunc error;		/* the callback in case of errors */
    xmlValidityWarningFunc warning;	/* the callback in case of warning */

    /* Node analysis stack used when validating within entities */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    unsigned int     finishDtd;       /* finished validating the Dtd ? */
    xmlDocPtr              doc;       /* the document */
    int                  valid;       /* temporary validity check result */

    /* state state used for non-determinist content validation */
    xmlValidState     *vstate;        /* current state */
    int                vstateNr;      /* Depth of the validation stack */
    int                vstateMax;     /* Max depth of the validation stack */
    xmlValidState     *vstateTab;     /* array of validation states */

#ifdef LIBXML_REGEXP_ENABLED
    xmlAutomataPtr            am;     /* the automata */
    xmlAutomataStatePtr    state;     /* used to build the automata */
#else
    void                     *am;
    void                  *state;
#endif
};

/*
 * ALL notation declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;

/*
 * ALL element declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;

/*
 * ALL attribute declarations are stored in a table.
 * There is one table per DTD.
 */

typedef struct _xmlHashTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;

/*
 * ALL IDs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;

/*
 * ALL Refs attributes are stored in a table.
 * There is one table per document.
 */

typedef struct _xmlHashTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;

/* Notation */
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *PublicID,
					 const xmlChar *SystemID);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNotationTablePtr XMLCALL
		xmlCopyNotationTable	(xmlNotationTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeNotationTable	(xmlNotationTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpNotationDecl	(xmlBufferPtr buf,
					 xmlNotationPtr nota);
XMLPUBFUN void XMLCALL
		xmlDumpNotationTable	(xmlBufferPtr buf,
					 xmlNotationTablePtr table);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Element Content */
/* the non Doc version are being deprecated */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewElementContent	(const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyElementContent	(xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeElementContent	(xmlElementContentPtr cur);
/* the new versions with doc argument */
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlNewDocElementContent	(xmlDocPtr doc,
					 const xmlChar *name,
					 xmlElementContentType type);
XMLPUBFUN xmlElementContentPtr XMLCALL
		xmlCopyDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		xmlFreeDocElementContent(xmlDocPtr doc,
					 xmlElementContentPtr cur);
XMLPUBFUN void XMLCALL
		xmlSnprintfElementContent(char *buf,
					 int size,
	                                 xmlElementContentPtr content,
					 int englob);
#ifdef LIBXML_OUTPUT_ENABLED
/* DEPRECATED */
XMLPUBFUN void XMLCALL
		xmlSprintfElementContent(char *buf,
	                                 xmlElementContentPtr content,
					 int englob);
#endif /* LIBXML_OUTPUT_ENABLED */
/* DEPRECATED */

/* Element */
XMLPUBFUN xmlElementPtr XMLCALL
		xmlAddElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *name,
					 xmlElementTypeVal type,
					 xmlElementContentPtr content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlElementTablePtr XMLCALL
		xmlCopyElementTable	(xmlElementTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeElementTable	(xmlElementTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpElementTable	(xmlBufferPtr buf,
					 xmlElementTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpElementDecl	(xmlBufferPtr buf,
					 xmlElementPtr elem);
#endif /* LIBXML_OUTPUT_ENABLED */

/* Enumeration */
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCreateEnumeration	(const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlFreeEnumeration	(xmlEnumerationPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlEnumerationPtr XMLCALL
		xmlCopyEnumeration	(xmlEnumerationPtr cur);
#endif /* LIBXML_TREE_ENABLED */

/* Attribute */
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlAddAttributeDecl	(xmlValidCtxtPtr ctxt,
					 xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *ns,
					 xmlAttributeType type,
					 xmlAttributeDefault def,
					 const xmlChar *defaultValue,
					 xmlEnumerationPtr tree);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlAttributeTablePtr XMLCALL
		xmlCopyAttributeTable  (xmlAttributeTablePtr table);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlFreeAttributeTable  (xmlAttributeTablePtr table);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		xmlDumpAttributeTable  (xmlBufferPtr buf,
					xmlAttributeTablePtr table);
XMLPUBFUN void XMLCALL
		xmlDumpAttributeDecl   (xmlBufferPtr buf,
					xmlAttributePtr attr);
#endif /* LIBXML_OUTPUT_ENABLED */

/* IDs */
XMLPUBFUN xmlIDPtr XMLCALL
		xmlAddID	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XMLPUBFUN void XMLCALL
		xmlFreeIDTable	       (xmlIDTablePtr table);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlGetID	       (xmlDocPtr doc,
					const xmlChar *ID);
XMLPUBFUN int XMLCALL
		xmlIsID		       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XMLPUBFUN int XMLCALL
		xmlRemoveID	       (xmlDocPtr doc,
					xmlAttrPtr attr);

/* IDREFs */
XMLPUBFUN xmlRefPtr XMLCALL
		xmlAddRef	       (xmlValidCtxtPtr ctxt,
					xmlDocPtr doc,
					const xmlChar *value,
					xmlAttrPtr attr);
XMLPUBFUN void XMLCALL
		xmlFreeRefTable	       (xmlRefTablePtr table);
XMLPUBFUN int XMLCALL
		xmlIsRef	       (xmlDocPtr doc,
					xmlNodePtr elem,
					xmlAttrPtr attr);
XMLPUBFUN int XMLCALL
		xmlRemoveRef	       (xmlDocPtr doc,
					xmlAttrPtr attr);
XMLPUBFUN xmlListPtr XMLCALL
		xmlGetRefs	       (xmlDocPtr doc,
					const xmlChar *ID);

/**
 * The public function calls related to validity checking.
 */
#ifdef LIBXML_VALID_ENABLED
/* Allocate/Release Validation Contexts */
XMLPUBFUN xmlValidCtxtPtr XMLCALL
		xmlNewValidCtxt(void);
XMLPUBFUN void XMLCALL
		xmlFreeValidCtxt(xmlValidCtxtPtr);

XMLPUBFUN int XMLCALL
		xmlValidateRoot		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElementDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlElementPtr elem);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidNormalizeAttributeValue(xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlAttributePtr attr);
XMLPUBFUN int XMLCALL
		xmlValidateAttributeValue(xmlAttributeType type,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNotationDecl	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNotationPtr nota);
XMLPUBFUN int XMLCALL
		xmlValidateDtd		(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlDtdPtr dtd);
XMLPUBFUN int XMLCALL
		xmlValidateDtdFinal	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateDocument	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlValidateElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
		                         xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		xmlValidateOneAttribute	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr	elem,
					 xmlAttrPtr attr,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateOneNamespace	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *prefix,
					 xmlNsPtr ns,
					 const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc);
#endif /* LIBXML_VALID_ENABLED */

#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNotationUse	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 const xmlChar *notationName);
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */

XMLPUBFUN int XMLCALL
		xmlIsMixedElement	(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name);
XMLPUBFUN xmlAttributePtr XMLCALL
		xmlGetDtdQAttrDesc	(xmlDtdPtr dtd,
					 const xmlChar *elem,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlNotationPtr XMLCALL
		xmlGetDtdNotationDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdQElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN xmlElementPtr XMLCALL
		xmlGetDtdElementDesc	(xmlDtdPtr dtd,
					 const xmlChar *name);

#ifdef LIBXML_VALID_ENABLED

XMLPUBFUN int XMLCALL
		xmlValidGetPotentialChildren(xmlElementContent *ctree,
					 const xmlChar **names,
					 int *len,
					 int max);

XMLPUBFUN int XMLCALL
		xmlValidGetValidElements(xmlNode *prev,
					 xmlNode *next,
					 const xmlChar **names,
					 int max);
XMLPUBFUN int XMLCALL
		xmlValidateNameValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNamesValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokenValue	(const xmlChar *value);
XMLPUBFUN int XMLCALL
		xmlValidateNmtokensValue(const xmlChar *value);

#ifdef LIBXML_REGEXP_ENABLED
/*
 * Validation based on the regexp support
 */
XMLPUBFUN int XMLCALL
		xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
					 xmlElementPtr elem);

XMLPUBFUN int XMLCALL
		xmlValidatePushElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
XMLPUBFUN int XMLCALL
		xmlValidatePushCData	(xmlValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		xmlValidatePopElement	(xmlValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem,
					 const xmlChar *qname);
#endif /* LIBXML_REGEXP_ENABLED */
#endif /* LIBXML_VALID_ENABLED */
#ifdef __cplusplus
}
#endif
#endif /* __XML_VALID_H__ */
PK��Z��ҍm m libxml/encoding.hnu�[���/*
 * Summary: interface for the encoding conversion functions
 * Description: interface for the encoding conversion functions needed for
 *              XML basic encoding and iconv() support.
 *
 * Related specs are
 * rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies
 * [ISO-10646]    UTF-8 and UTF-16 in Annexes
 * [ISO-8859-1]   ISO Latin-1 characters codes.
 * [UNICODE]      The Unicode Consortium, "The Unicode Standard --
 *                Worldwide Character Encoding -- Version 1.0", Addison-
 *                Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is
 *                described in Unicode Technical Report #4.
 * [US-ASCII]     Coded Character Set--7-bit American Standard Code for
 *                Information Interchange, ANSI X3.4-1986.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_CHAR_ENCODING_H__
#define __XML_CHAR_ENCODING_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_ICONV_ENABLED
#include <iconv.h>
#endif
#ifdef LIBXML_ICU_ENABLED
#include <unicode/ucnv.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif

/*
 * xmlCharEncoding:
 *
 * Predefined values for some standard encodings.
 * Libxml does not do beforehand translation on UTF8 and ISOLatinX.
 * It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default.
 *
 * Anything else would have to be translated to UTF8 before being
 * given to the parser itself. The BOM for UTF16 and the encoding
 * declaration are looked at and a converter is looked for at that
 * point. If not found the parser stops here as asked by the XML REC. A
 * converter can be registered by the user using xmlRegisterCharEncodingHandler
 * but the current form doesn't allow stateful transcoding (a serious
 * problem agreed !). If iconv has been found it will be used
 * automatically and allow stateful transcoding, the simplest is then
 * to be sure to enable iconv and to provide iconv libs for the encoding
 * support needed.
 *
 * Note that the generic "UTF-16" is not a predefined value.  Instead, only
 * the specific UTF-16LE and UTF-16BE are present.
 */
typedef enum {
    XML_CHAR_ENCODING_ERROR=   -1, /* No char encoding detected */
    XML_CHAR_ENCODING_NONE=	0, /* No char encoding detected */
    XML_CHAR_ENCODING_UTF8=	1, /* UTF-8 */
    XML_CHAR_ENCODING_UTF16LE=	2, /* UTF-16 little endian */
    XML_CHAR_ENCODING_UTF16BE=	3, /* UTF-16 big endian */
    XML_CHAR_ENCODING_UCS4LE=	4, /* UCS-4 little endian */
    XML_CHAR_ENCODING_UCS4BE=	5, /* UCS-4 big endian */
    XML_CHAR_ENCODING_EBCDIC=	6, /* EBCDIC uh! */
    XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
    XML_CHAR_ENCODING_UCS2=	9, /* UCS-2 */
    XML_CHAR_ENCODING_8859_1=	10,/* ISO-8859-1 ISO Latin 1 */
    XML_CHAR_ENCODING_8859_2=	11,/* ISO-8859-2 ISO Latin 2 */
    XML_CHAR_ENCODING_8859_3=	12,/* ISO-8859-3 */
    XML_CHAR_ENCODING_8859_4=	13,/* ISO-8859-4 */
    XML_CHAR_ENCODING_8859_5=	14,/* ISO-8859-5 */
    XML_CHAR_ENCODING_8859_6=	15,/* ISO-8859-6 */
    XML_CHAR_ENCODING_8859_7=	16,/* ISO-8859-7 */
    XML_CHAR_ENCODING_8859_8=	17,/* ISO-8859-8 */
    XML_CHAR_ENCODING_8859_9=	18,/* ISO-8859-9 */
    XML_CHAR_ENCODING_2022_JP=  19,/* ISO-2022-JP */
    XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
    XML_CHAR_ENCODING_EUC_JP=   21,/* EUC-JP */
    XML_CHAR_ENCODING_ASCII=    22 /* pure ASCII */
} xmlCharEncoding;

/**
 * xmlCharEncodingInputFunc:
 * @out:  a pointer to an array of bytes to store the UTF-8 result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of chars in the original encoding
 * @inlen:  the length of @in
 *
 * Take a block of chars in the original encoding and try to convert
 * it to an UTF-8 block of chars out.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets consumed.
 */
typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
                                         const unsigned char *in, int *inlen);


/**
 * xmlCharEncodingOutputFunc:
 * @out:  a pointer to an array of bytes to store the result
 * @outlen:  the length of @out
 * @in:  a pointer to an array of UTF-8 chars
 * @inlen:  the length of @in
 *
 * Take a block of UTF-8 chars in and try to convert it to another
 * encoding.
 * Note: a first call designed to produce heading info is called with
 * in = NULL. If stateful this should also initialize the encoder state.
 *
 * Returns the number of bytes written, -1 if lack of space, or -2
 *     if the transcoding failed.
 * The value of @inlen after return is the number of octets consumed
 *     if the return value is positive, else unpredictiable.
 * The value of @outlen after return is the number of octets produced.
 */
typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
                                          const unsigned char *in, int *inlen);


/*
 * Block defining the handlers for non UTF-8 encodings.
 * If iconv is supported, there are two extra fields.
 */
#ifdef LIBXML_ICU_ENABLED
struct _uconv_t {
  UConverter *uconv; /* for conversion between an encoding and UTF-16 */
  UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
};
typedef struct _uconv_t uconv_t;
#endif

typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
struct _xmlCharEncodingHandler {
    char                       *name;
    xmlCharEncodingInputFunc   input;
    xmlCharEncodingOutputFunc  output;
#ifdef LIBXML_ICONV_ENABLED
    iconv_t                    iconv_in;
    iconv_t                    iconv_out;
#endif /* LIBXML_ICONV_ENABLED */
#ifdef LIBXML_ICU_ENABLED
    uconv_t                    *uconv_in;
    uconv_t                    *uconv_out;
#endif /* LIBXML_ICU_ENABLED */
};

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * Interfaces for encoding handlers.
 */
XMLPUBFUN void XMLCALL
	xmlInitCharEncodingHandlers	(void);
XMLPUBFUN void XMLCALL
	xmlCleanupCharEncodingHandlers	(void);
XMLPUBFUN void XMLCALL
	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlGetCharEncodingHandler	(xmlCharEncoding enc);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlFindCharEncodingHandler	(const char *name);
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL
	xmlNewCharEncodingHandler	(const char *name,
					 xmlCharEncodingInputFunc input,
					 xmlCharEncodingOutputFunc output);

/*
 * Interfaces for encoding names and aliases.
 */
XMLPUBFUN int XMLCALL
	xmlAddEncodingAlias		(const char *name,
					 const char *alias);
XMLPUBFUN int XMLCALL
	xmlDelEncodingAlias		(const char *alias);
XMLPUBFUN const char * XMLCALL
	xmlGetEncodingAlias		(const char *alias);
XMLPUBFUN void XMLCALL
	xmlCleanupEncodingAliases	(void);
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlParseCharEncoding		(const char *name);
XMLPUBFUN const char * XMLCALL
	xmlGetCharEncodingName		(xmlCharEncoding enc);

/*
 * Interfaces directly used by the parsers.
 */
XMLPUBFUN xmlCharEncoding XMLCALL
	xmlDetectCharEncoding		(const unsigned char *in,
					 int len);

XMLPUBFUN int XMLCALL
	xmlCharEncOutFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);

XMLPUBFUN int XMLCALL
	xmlCharEncInFunc		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncFirstLine		(xmlCharEncodingHandler *handler,
					 xmlBufferPtr out,
					 xmlBufferPtr in);
XMLPUBFUN int XMLCALL
	xmlCharEncCloseFunc		(xmlCharEncodingHandler *handler);

/*
 * Export a few useful functions
 */
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN int XMLCALL
	UTF8Toisolat1			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	isolat1ToUTF8			(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
#ifdef __cplusplus
}
#endif

#endif /* __XML_CHAR_ENCODING_H__ */
PK��Z*L�h
h
libxml/uri.hnu�[���/**
 * Summary: library of generic URI related routines
 * Description: library of generic URI related routines
 *              Implements RFC 2396
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_URI_H__
#define __XML_URI_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlURI:
 *
 * A parsed URI reference. This is a struct containing the various fields
 * as described in RFC 2396 but separated for further processing.
 *
 * Note: query is a deprecated field which is incorrectly unescaped.
 * query_raw takes precedence over query if the former is set.
 * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
 */
typedef struct _xmlURI xmlURI;
typedef xmlURI *xmlURIPtr;
struct _xmlURI {
    char *scheme;	/* the URI scheme */
    char *opaque;	/* opaque part */
    char *authority;	/* the authority part */
    char *server;	/* the server part */
    char *user;		/* the user part */
    int port;		/* the port number */
    char *path;		/* the path string */
    char *query;	/* the query string (deprecated - use with caution) */
    char *fragment;	/* the fragment identifier */
    int  cleanup;	/* parsing potentially unclean URI */
    char *query_raw;	/* the query string (as it appears in the URI) */
};

/*
 * This function is in tree.h:
 * xmlChar *	xmlNodeGetBase	(xmlDocPtr doc,
 *                               xmlNodePtr cur);
 */
XMLPUBFUN xmlURIPtr XMLCALL
		xmlCreateURI		(void);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildURI		(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlChar * XMLCALL
		xmlBuildRelativeURI	(const xmlChar *URI,
					 const xmlChar *base);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURI		(const char *str);
XMLPUBFUN xmlURIPtr XMLCALL
		xmlParseURIRaw		(const char *str,
					 int raw);
XMLPUBFUN int XMLCALL
		xmlParseURIReference	(xmlURIPtr uri,
					 const char *str);
XMLPUBFUN xmlChar * XMLCALL
		xmlSaveUri		(xmlURIPtr uri);
XMLPUBFUN void XMLCALL
		xmlPrintURI		(FILE *stream,
					 xmlURIPtr uri);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscapeStr         (const xmlChar *str,
					 const xmlChar *list);
XMLPUBFUN char * XMLCALL
		xmlURIUnescapeString	(const char *str,
					 int len,
					 char *target);
XMLPUBFUN int XMLCALL
		xmlNormalizeURIPath	(char *path);
XMLPUBFUN xmlChar * XMLCALL
		xmlURIEscape		(const xmlChar *str);
XMLPUBFUN void XMLCALL
		xmlFreeURI		(xmlURIPtr uri);
XMLPUBFUN xmlChar* XMLCALL
		xmlCanonicPath		(const xmlChar *path);
XMLPUBFUN xmlChar* XMLCALL
		xmlPathToURI		(const xmlChar *path);

#ifdef __cplusplus
}
#endif
#endif /* __XML_URI_H__ */
PK��Z�Qu���libxml/xmlmodule.hnu�[���/*
 * Summary: dynamic module loading
 * Description: basic API for dynamic module loading, used by
 *              libexslt added in 2.6.17
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Joel W. Reed
 */

#ifndef __XML_MODULE_H__
#define __XML_MODULE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_MODULES_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlModulePtr:
 *
 * A handle to a dynamically loaded module
 */
typedef struct _xmlModule xmlModule;
typedef xmlModule *xmlModulePtr;

/**
 * xmlModuleOption:
 *
 * enumeration of options that can be passed down to xmlModuleOpen()
 */
typedef enum {
    XML_MODULE_LAZY = 1,	/* lazy binding */
    XML_MODULE_LOCAL= 2		/* local binding */
} xmlModuleOption;

XMLPUBFUN xmlModulePtr XMLCALL xmlModuleOpen	(const char *filename,
						 int options);

XMLPUBFUN int XMLCALL xmlModuleSymbol		(xmlModulePtr module,
						 const char* name,
						 void **result);

XMLPUBFUN int XMLCALL xmlModuleClose		(xmlModulePtr module);

XMLPUBFUN int XMLCALL xmlModuleFree		(xmlModulePtr module);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_MODULES_ENABLED */

#endif /*__XML_MODULE_H__ */
PK��Z���libxml/schematron.hnu�[���/*
 * Summary: XML Schemastron implementation
 * Description: interface to the XML Schematron validity checking.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMATRON_H__
#define __XML_SCHEMATRON_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMATRON_ENABLED

#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMATRON_OUT_QUIET = 1 << 0,	/* quiet no report */
    XML_SCHEMATRON_OUT_TEXT = 1 << 1,	/* build a textual report */
    XML_SCHEMATRON_OUT_XML = 1 << 2,	/* output SVRL */
    XML_SCHEMATRON_OUT_ERROR = 1 << 3,  /* output via xmlStructuredErrorFunc */
    XML_SCHEMATRON_OUT_FILE = 1 << 8,	/* output to a file descriptor */
    XML_SCHEMATRON_OUT_BUFFER = 1 << 9,	/* output to a buffer */
    XML_SCHEMATRON_OUT_IO = 1 << 10	/* output to I/O mechanism */
} xmlSchematronValidOptions;

/**
 * The schemas related types are kept internal
 */
typedef struct _xmlSchematron xmlSchematron;
typedef xmlSchematron *xmlSchematronPtr;

/**
 * xmlSchematronValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityErrorFunc) (void *ctx, const char *msg, ...);

/**
 * xmlSchematronValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Schematron validation
 */
typedef void (*xmlSchematronValidityWarningFunc) (void *ctx, const char *msg, ...);

/**
 * A schemas validation context
 */
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;

typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewParserCtxt	(const char *URL);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewMemParserCtxt(const char *buffer,
					 int size);
XMLPUBFUN xmlSchematronParserCtxtPtr XMLCALL
	    xmlSchematronNewDocParserCtxt(xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeParserCtxt	(xmlSchematronParserCtxtPtr ctxt);
/*****
XMLPUBFUN void XMLCALL
	    xmlSchematronSetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronGetParserErrors(xmlSchematronParserCtxtPtr ctxt,
					xmlSchematronValidityErrorFunc * err,
					xmlSchematronValidityWarningFunc * warn,
					void **ctx);
XMLPUBFUN int XMLCALL
		xmlSchematronIsValid	(xmlSchematronValidCtxtPtr ctxt);
 *****/
XMLPUBFUN xmlSchematronPtr XMLCALL
	    xmlSchematronParse		(xmlSchematronParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
	    xmlSchematronFree		(xmlSchematronPtr schema);
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidStructuredErrors(
	                                  xmlSchematronValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror,
					  void *ctx);
/******
XMLPUBFUN void XMLCALL
	    xmlSchematronSetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc err,
					 xmlSchematronValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronGetValidErrors	(xmlSchematronValidCtxtPtr ctxt,
					 xmlSchematronValidityErrorFunc *err,
					 xmlSchematronValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN int XMLCALL
	    xmlSchematronSetValidOptions(xmlSchematronValidCtxtPtr ctxt,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidCtxtGetOptions(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
            xmlSchematronValidateOneElement (xmlSchematronValidCtxtPtr ctxt,
			                 xmlNodePtr elem);
 *******/

XMLPUBFUN xmlSchematronValidCtxtPtr XMLCALL
	    xmlSchematronNewValidCtxt	(xmlSchematronPtr schema,
					 int options);
XMLPUBFUN void XMLCALL
	    xmlSchematronFreeValidCtxt	(xmlSchematronValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlSchematronValidateDoc	(xmlSchematronValidCtxtPtr ctxt,
					 xmlDocPtr instance);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMATRON_ENABLED */
#endif /* __XML_SCHEMATRON_H__ */
PK��Z��if9f9libxml/globals.hnu�[���/*
 * Summary: interface for all global variables of the library
 * Description: all the global variables and thread handling for
 *              those variables is handled by this module.
 *
 * The bottom of this file is automatically generated by build_glob.py
 * based on the description file global.data
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Gary Pennington <Gary.Pennington@uk.sun.com>, Daniel Veillard
 */

#ifndef __XML_GLOBALS_H
#define __XML_GLOBALS_H

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/xmlerror.h>
#include <libxml/SAX.h>
#include <libxml/SAX2.h>
#include <libxml/xmlmemory.h>

#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN void XMLCALL xmlInitGlobals(void);
XMLPUBFUN void XMLCALL xmlCleanupGlobals(void);

/**
 * xmlParserInputBufferCreateFilenameFunc:
 * @URI: the URI to read from
 * @enc: the requested source encoding
 *
 * Signature for the function doing the lookup for a suitable input method
 * corresponding to an URI.
 *
 * Returns the new xmlParserInputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlParserInputBufferPtr (*xmlParserInputBufferCreateFilenameFunc) (const char *URI,
									   xmlCharEncoding enc);


/**
 * xmlOutputBufferCreateFilenameFunc:
 * @URI: the URI to write to
 * @enc: the requested target encoding
 *
 * Signature for the function doing the lookup for a suitable output method
 * corresponding to an URI.
 *
 * Returns the new xmlOutputBufferPtr in case of success or NULL if no
 *         method was found.
 */
typedef xmlOutputBufferPtr (*xmlOutputBufferCreateFilenameFunc) (const char *URI,
								 xmlCharEncodingHandlerPtr encoder,
								 int compression);

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc
XMLCALL xmlParserInputBufferCreateFilenameDefault (xmlParserInputBufferCreateFilenameFunc func);
XMLPUBFUN xmlOutputBufferCreateFilenameFunc
XMLCALL xmlOutputBufferCreateFilenameDefault (xmlOutputBufferCreateFilenameFunc func);

/*
 * Externally global symbols which need to be protected for backwards
 * compatibility support.
 */

#undef	docbDefaultSAXHandler
#undef	htmlDefaultSAXHandler
#undef	oldXMLWDcompatibility
#undef	xmlBufferAllocScheme
#undef	xmlDefaultBufferSize
#undef	xmlDefaultSAXHandler
#undef	xmlDefaultSAXLocator
#undef	xmlDoValidityCheckingDefaultValue
#undef	xmlFree
#undef	xmlGenericError
#undef	xmlStructuredError
#undef	xmlGenericErrorContext
#undef	xmlStructuredErrorContext
#undef	xmlGetWarningsDefaultValue
#undef	xmlIndentTreeOutput
#undef  xmlTreeIndentString
#undef	xmlKeepBlanksDefaultValue
#undef	xmlLineNumbersDefaultValue
#undef	xmlLoadExtDtdDefaultValue
#undef	xmlMalloc
#undef	xmlMallocAtomic
#undef	xmlMemStrdup
#undef	xmlParserDebugEntities
#undef	xmlParserVersion
#undef	xmlPedanticParserDefaultValue
#undef	xmlRealloc
#undef	xmlSaveNoEmptyTags
#undef	xmlSubstituteEntitiesDefaultValue
#undef  xmlRegisterNodeDefaultValue
#undef  xmlDeregisterNodeDefaultValue
#undef  xmlLastError
#undef  xmlParserInputBufferCreateFilenameValue
#undef  xmlOutputBufferCreateFilenameValue

/**
 * xmlRegisterNodeFunc:
 * @node: the current node
 *
 * Signature for the registration callback of a created node
 */
typedef void (*xmlRegisterNodeFunc) (xmlNodePtr node);
/**
 * xmlDeregisterNodeFunc:
 * @node: the current node
 *
 * Signature for the deregistration callback of a discarded node
 */
typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr node);

typedef struct _xmlGlobalState xmlGlobalState;
typedef xmlGlobalState *xmlGlobalStatePtr;
struct _xmlGlobalState
{
	const char *xmlParserVersion;

	xmlSAXLocator xmlDefaultSAXLocator;
	xmlSAXHandlerV1 xmlDefaultSAXHandler;
	xmlSAXHandlerV1 docbDefaultSAXHandler;
	xmlSAXHandlerV1 htmlDefaultSAXHandler;

	xmlFreeFunc xmlFree;
	xmlMallocFunc xmlMalloc;
	xmlStrdupFunc xmlMemStrdup;
	xmlReallocFunc xmlRealloc;

	xmlGenericErrorFunc xmlGenericError;
	xmlStructuredErrorFunc xmlStructuredError;
	void *xmlGenericErrorContext;

	int oldXMLWDcompatibility;

	xmlBufferAllocationScheme xmlBufferAllocScheme;
	int xmlDefaultBufferSize;

	int xmlSubstituteEntitiesDefaultValue;
	int xmlDoValidityCheckingDefaultValue;
	int xmlGetWarningsDefaultValue;
	int xmlKeepBlanksDefaultValue;
	int xmlLineNumbersDefaultValue;
	int xmlLoadExtDtdDefaultValue;
	int xmlParserDebugEntities;
	int xmlPedanticParserDefaultValue;

	int xmlSaveNoEmptyTags;
	int xmlIndentTreeOutput;
	const char *xmlTreeIndentString;

	xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
	xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;

	xmlMallocFunc xmlMallocAtomic;
	xmlError xmlLastError;

	xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
	xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;

	void *xmlStructuredErrorContext;
};

#ifdef __cplusplus
}
#endif
#include <libxml/threads.h>
#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN void XMLCALL	xmlInitializeGlobalState(xmlGlobalStatePtr gs);

XMLPUBFUN void XMLCALL xmlThrDefSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);

XMLPUBFUN void XMLCALL xmlThrDefSetStructuredErrorFunc(void *ctx, xmlStructuredErrorFunc handler);

XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlRegisterNodeFunc XMLCALL xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlDeregisterNodeDefault(xmlDeregisterNodeFunc func);
XMLPUBFUN xmlDeregisterNodeFunc XMLCALL xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);

XMLPUBFUN xmlOutputBufferCreateFilenameFunc XMLCALL
	xmlThrDefOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc func);
XMLPUBFUN xmlParserInputBufferCreateFilenameFunc XMLCALL
	xmlThrDefParserInputBufferCreateFilenameDefault(
				xmlParserInputBufferCreateFilenameFunc func);

/** DOC_DISABLE */
/*
 * In general the memory allocation entry points are not kept
 * thread specific but this can be overridden by LIBXML_THREAD_ALLOC_ENABLED
 *    - xmlMalloc
 *    - xmlMallocAtomic
 *    - xmlRealloc
 *    - xmlMemStrdup
 *    - xmlFree
 */

#ifdef LIBXML_THREAD_ALLOC_ENABLED
#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMalloc(void);
#define xmlMalloc \
(*(__xmlMalloc()))
#else
XMLPUBVAR xmlMallocFunc xmlMalloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlMallocFunc * XMLCALL __xmlMallocAtomic(void);
#define xmlMallocAtomic \
(*(__xmlMallocAtomic()))
#else
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlReallocFunc * XMLCALL __xmlRealloc(void);
#define xmlRealloc \
(*(__xmlRealloc()))
#else
XMLPUBVAR xmlReallocFunc xmlRealloc;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlFreeFunc * XMLCALL __xmlFree(void);
#define xmlFree \
(*(__xmlFree()))
#else
XMLPUBVAR xmlFreeFunc xmlFree;
#endif

#ifdef LIBXML_THREAD_ENABLED
XMLPUBFUN  xmlStrdupFunc * XMLCALL __xmlMemStrdup(void);
#define xmlMemStrdup \
(*(__xmlMemStrdup()))
#else
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif

#else /* !LIBXML_THREAD_ALLOC_ENABLED */
XMLPUBVAR xmlMallocFunc xmlMalloc;
XMLPUBVAR xmlMallocFunc xmlMallocAtomic;
XMLPUBVAR xmlReallocFunc xmlRealloc;
XMLPUBVAR xmlFreeFunc xmlFree;
XMLPUBVAR xmlStrdupFunc xmlMemStrdup;
#endif /* LIBXML_THREAD_ALLOC_ENABLED */

#ifdef LIBXML_DOCB_ENABLED
XMLPUBFUN  xmlSAXHandlerV1 * XMLCALL __docbDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define docbDefaultSAXHandler \
(*(__docbDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 docbDefaultSAXHandler;
#endif
#endif

#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __htmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define htmlDefaultSAXHandler \
(*(__htmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 htmlDefaultSAXHandler;
#endif
#endif

XMLPUBFUN xmlError * XMLCALL __xmlLastError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLastError \
(*(__xmlLastError()))
#else
XMLPUBVAR xmlError xmlLastError;
#endif

/*
 * Everything starting from the line below is
 * Automatically generated by build_glob.py.
 * Do not modify the previous line.
 */


XMLPUBFUN int * XMLCALL __oldXMLWDcompatibility(void);
#ifdef LIBXML_THREAD_ENABLED
#define oldXMLWDcompatibility \
(*(__oldXMLWDcompatibility()))
#else
XMLPUBVAR int oldXMLWDcompatibility;
#endif

XMLPUBFUN xmlBufferAllocationScheme * XMLCALL __xmlBufferAllocScheme(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlBufferAllocScheme \
(*(__xmlBufferAllocScheme()))
#else
XMLPUBVAR xmlBufferAllocationScheme xmlBufferAllocScheme;
#endif
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
	xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme v);

XMLPUBFUN int * XMLCALL __xmlDefaultBufferSize(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultBufferSize \
(*(__xmlDefaultBufferSize()))
#else
XMLPUBVAR int xmlDefaultBufferSize;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDefaultBufferSize(int v);

XMLPUBFUN xmlSAXHandlerV1 * XMLCALL __xmlDefaultSAXHandler(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXHandler \
(*(__xmlDefaultSAXHandler()))
#else
XMLPUBVAR xmlSAXHandlerV1 xmlDefaultSAXHandler;
#endif

XMLPUBFUN xmlSAXLocator * XMLCALL __xmlDefaultSAXLocator(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDefaultSAXLocator \
(*(__xmlDefaultSAXLocator()))
#else
XMLPUBVAR xmlSAXLocator xmlDefaultSAXLocator;
#endif

XMLPUBFUN int * XMLCALL __xmlDoValidityCheckingDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDoValidityCheckingDefaultValue \
(*(__xmlDoValidityCheckingDefaultValue()))
#else
XMLPUBVAR int xmlDoValidityCheckingDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefDoValidityCheckingDefaultValue(int v);

XMLPUBFUN xmlGenericErrorFunc * XMLCALL __xmlGenericError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericError \
(*(__xmlGenericError()))
#else
XMLPUBVAR xmlGenericErrorFunc xmlGenericError;
#endif

XMLPUBFUN xmlStructuredErrorFunc * XMLCALL __xmlStructuredError(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredError \
(*(__xmlStructuredError()))
#else
XMLPUBVAR xmlStructuredErrorFunc xmlStructuredError;
#endif

XMLPUBFUN void * * XMLCALL __xmlGenericErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGenericErrorContext \
(*(__xmlGenericErrorContext()))
#else
XMLPUBVAR void * xmlGenericErrorContext;
#endif

XMLPUBFUN void * * XMLCALL __xmlStructuredErrorContext(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlStructuredErrorContext \
(*(__xmlStructuredErrorContext()))
#else
XMLPUBVAR void * xmlStructuredErrorContext;
#endif

XMLPUBFUN int * XMLCALL __xmlGetWarningsDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlGetWarningsDefaultValue \
(*(__xmlGetWarningsDefaultValue()))
#else
XMLPUBVAR int xmlGetWarningsDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefGetWarningsDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlIndentTreeOutput(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlIndentTreeOutput \
(*(__xmlIndentTreeOutput()))
#else
XMLPUBVAR int xmlIndentTreeOutput;
#endif
XMLPUBFUN int XMLCALL xmlThrDefIndentTreeOutput(int v);

XMLPUBFUN const char * * XMLCALL __xmlTreeIndentString(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlTreeIndentString \
(*(__xmlTreeIndentString()))
#else
XMLPUBVAR const char * xmlTreeIndentString;
#endif
XMLPUBFUN const char * XMLCALL xmlThrDefTreeIndentString(const char * v);

XMLPUBFUN int * XMLCALL __xmlKeepBlanksDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlKeepBlanksDefaultValue \
(*(__xmlKeepBlanksDefaultValue()))
#else
XMLPUBVAR int xmlKeepBlanksDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefKeepBlanksDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLineNumbersDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLineNumbersDefaultValue \
(*(__xmlLineNumbersDefaultValue()))
#else
XMLPUBVAR int xmlLineNumbersDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLineNumbersDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlLoadExtDtdDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlLoadExtDtdDefaultValue \
(*(__xmlLoadExtDtdDefaultValue()))
#else
XMLPUBVAR int xmlLoadExtDtdDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefLoadExtDtdDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlParserDebugEntities(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserDebugEntities \
(*(__xmlParserDebugEntities()))
#else
XMLPUBVAR int xmlParserDebugEntities;
#endif
XMLPUBFUN int XMLCALL xmlThrDefParserDebugEntities(int v);

XMLPUBFUN const char * * XMLCALL __xmlParserVersion(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserVersion \
(*(__xmlParserVersion()))
#else
XMLPUBVAR const char * xmlParserVersion;
#endif

XMLPUBFUN int * XMLCALL __xmlPedanticParserDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlPedanticParserDefaultValue \
(*(__xmlPedanticParserDefaultValue()))
#else
XMLPUBVAR int xmlPedanticParserDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefPedanticParserDefaultValue(int v);

XMLPUBFUN int * XMLCALL __xmlSaveNoEmptyTags(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSaveNoEmptyTags \
(*(__xmlSaveNoEmptyTags()))
#else
XMLPUBVAR int xmlSaveNoEmptyTags;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSaveNoEmptyTags(int v);

XMLPUBFUN int * XMLCALL __xmlSubstituteEntitiesDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlSubstituteEntitiesDefaultValue \
(*(__xmlSubstituteEntitiesDefaultValue()))
#else
XMLPUBVAR int xmlSubstituteEntitiesDefaultValue;
#endif
XMLPUBFUN int XMLCALL xmlThrDefSubstituteEntitiesDefaultValue(int v);

XMLPUBFUN xmlRegisterNodeFunc * XMLCALL __xmlRegisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlRegisterNodeDefaultValue \
(*(__xmlRegisterNodeDefaultValue()))
#else
XMLPUBVAR xmlRegisterNodeFunc xmlRegisterNodeDefaultValue;
#endif

XMLPUBFUN xmlDeregisterNodeFunc * XMLCALL __xmlDeregisterNodeDefaultValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlDeregisterNodeDefaultValue \
(*(__xmlDeregisterNodeDefaultValue()))
#else
XMLPUBVAR xmlDeregisterNodeFunc xmlDeregisterNodeDefaultValue;
#endif

XMLPUBFUN xmlParserInputBufferCreateFilenameFunc * XMLCALL \
				__xmlParserInputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlParserInputBufferCreateFilenameValue \
(*(__xmlParserInputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlParserInputBufferCreateFilenameFunc xmlParserInputBufferCreateFilenameValue;
#endif

XMLPUBFUN xmlOutputBufferCreateFilenameFunc * XMLCALL __xmlOutputBufferCreateFilenameValue(void);
#ifdef LIBXML_THREAD_ENABLED
#define xmlOutputBufferCreateFilenameValue \
(*(__xmlOutputBufferCreateFilenameValue()))
#else
XMLPUBVAR xmlOutputBufferCreateFilenameFunc xmlOutputBufferCreateFilenameValue;
#endif

#ifdef __cplusplus
}
#endif

#endif /* __XML_GLOBALS_H */
PK��Z�)��$�$libxml/HTMLparser.hnu�[���/*
 * Summary: interface for an HTML 4.0 non-verifying parser
 * Description: this module implements an HTML 4.0 non-verifying parser
 *              with API compatible with the XML parser ones. It should
 *              be able to parse "real world" HTML, even if severely
 *              broken from a specification point of view.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __HTML_PARSER_H__
#define __HTML_PARSER_H__
#include <libxml/xmlversion.h>
#include <libxml/parser.h>

#ifdef LIBXML_HTML_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Most of the back-end structures from XML and HTML are shared.
 */
typedef xmlParserCtxt htmlParserCtxt;
typedef xmlParserCtxtPtr htmlParserCtxtPtr;
typedef xmlParserNodeInfo htmlParserNodeInfo;
typedef xmlSAXHandler htmlSAXHandler;
typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
typedef xmlParserInput htmlParserInput;
typedef xmlParserInputPtr htmlParserInputPtr;
typedef xmlDocPtr htmlDocPtr;
typedef xmlNodePtr htmlNodePtr;

/*
 * Internal description of an HTML element, representing HTML 4.01
 * and XHTML 1.0 (which share the same structure).
 */
typedef struct _htmlElemDesc htmlElemDesc;
typedef htmlElemDesc *htmlElemDescPtr;
struct _htmlElemDesc {
    const char *name;	/* The tag name */
    char startTag;      /* Whether the start tag can be implied */
    char endTag;        /* Whether the end tag can be implied */
    char saveEndTag;    /* Whether the end tag should be saved */
    char empty;         /* Is this an empty element ? */
    char depr;          /* Is this a deprecated element ? */
    char dtd;           /* 1: only in Loose DTD, 2: only Frameset one */
    char isinline;      /* is this a block 0 or inline 1 element */
    const char *desc;   /* the description */

/* NRK Jan.2003
 * New fields encapsulating HTML structure
 *
 * Bugs:
 *	This is a very limited representation.  It fails to tell us when
 *	an element *requires* subelements (we only have whether they're
 *	allowed or not), and it doesn't tell us where CDATA and PCDATA
 *	are allowed.  Some element relationships are not fully represented:
 *	these are flagged with the word MODIFIER
 */
    const char** subelts;		/* allowed sub-elements of this element */
    const char* defaultsubelt;	/* subelement for suggested auto-repair
					   if necessary or NULL */
    const char** attrs_opt;		/* Optional Attributes */
    const char** attrs_depr;		/* Additional deprecated attributes */
    const char** attrs_req;		/* Required attributes */
};

/*
 * Internal description of an HTML entity.
 */
typedef struct _htmlEntityDesc htmlEntityDesc;
typedef htmlEntityDesc *htmlEntityDescPtr;
struct _htmlEntityDesc {
    unsigned int value;	/* the UNICODE value for the character */
    const char *name;	/* The entity name */
    const char *desc;   /* the description */
};

/*
 * There is only few public functions.
 */
XMLPUBFUN const htmlElemDesc * XMLCALL
			htmlTagLookup	(const xmlChar *tag);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityLookup(const xmlChar *name);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlEntityValueLookup(unsigned int value);

XMLPUBFUN int XMLCALL
			htmlIsAutoClosed(htmlDocPtr doc,
					 htmlNodePtr elem);
XMLPUBFUN int XMLCALL
			htmlAutoCloseTag(htmlDocPtr doc,
					 const xmlChar *name,
					 htmlNodePtr elem);
XMLPUBFUN const htmlEntityDesc * XMLCALL
			htmlParseEntityRef(htmlParserCtxtPtr ctxt,
					 const xmlChar **str);
XMLPUBFUN int XMLCALL
			htmlParseCharRef(htmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
			htmlParseElement(htmlParserCtxtPtr ctxt);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlNewParserCtxt(void);

XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreateMemoryParserCtxt(const char *buffer,
						   int size);

XMLPUBFUN int XMLCALL
			htmlParseDocument(htmlParserCtxtPtr ctxt);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseDoc	(const xmlChar *cur,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseDoc	(const xmlChar *cur,
					 const char *encoding);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlSAXParseFile(const char *filename,
					 const char *encoding,
					 htmlSAXHandlerPtr sax,
					 void *userData);
XMLPUBFUN htmlDocPtr XMLCALL
			htmlParseFile	(const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
			UTF8ToHtml	(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen);
XMLPUBFUN int XMLCALL
			htmlEncodeEntities(unsigned char *out,
					 int *outlen,
					 const unsigned char *in,
					 int *inlen, int quoteChar);
XMLPUBFUN int XMLCALL
			htmlIsScriptAttribute(const xmlChar *name);
XMLPUBFUN int XMLCALL
			htmlHandleOmittedElem(int val);

#ifdef LIBXML_PUSH_ENABLED
/**
 * Interfaces for the Push mode.
 */
XMLPUBFUN htmlParserCtxtPtr XMLCALL
			htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
						 void *user_data,
						 const char *chunk,
						 int size,
						 const char *filename,
						 xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
			htmlParseChunk		(htmlParserCtxtPtr ctxt,
						 const char *chunk,
						 int size,
						 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

XMLPUBFUN void XMLCALL
			htmlFreeParserCtxt	(htmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    HTML_PARSE_RECOVER  = 1<<0, /* Relaxed parsing */
    HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */
    HTML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    HTML_PARSE_NOWARNING= 1<<6,	/* suppress warning reports */
    HTML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    HTML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    HTML_PARSE_NONET	= 1<<11,/* Forbid network access */
    HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */
    HTML_PARSE_COMPACT  = 1<<16,/* compact small text nodes */
    HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
} htmlParserOption;

XMLPUBFUN void XMLCALL
		htmlCtxtReset		(htmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		htmlCtxtUseOptions	(htmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN htmlDocPtr XMLCALL
		htmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/* NRK/Jan2003: further knowledge of HTML structure
 */
typedef enum {
  HTML_NA = 0 ,		/* something we don't check at all */
  HTML_INVALID = 0x1 ,
  HTML_DEPRECATED = 0x2 ,
  HTML_VALID = 0x4 ,
  HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */
} htmlStatus ;

/* Using htmlElemDesc rather than name here, to emphasise the fact
   that otherwise there's a lookup overhead
*/
XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
/**
 * htmlDefaultSubelement:
 * @elt: HTML element
 *
 * Returns the default subelement for this element
 */
#define htmlDefaultSubelement(elt) elt->defaultsubelt
/**
 * htmlElementAllowedHereDesc:
 * @parent: HTML parent element
 * @elt: HTML element
 *
 * Checks whether an HTML element description may be a
 * direct child of the specified element.
 *
 * Returns 1 if allowed; 0 otherwise.
 */
#define htmlElementAllowedHereDesc(parent,elt) \
	htmlElementAllowedHere((parent), (elt)->name)
/**
 * htmlRequiredAttrs:
 * @elt: HTML element
 *
 * Returns the attributes required for the specified element.
 */
#define htmlRequiredAttrs(elt) (elt)->attrs_req


#ifdef __cplusplus
}
#endif

#endif /* LIBXML_HTML_ENABLED */
#endif /* __HTML_PARSER_H__ */
PK��Z��UT	'	'libxml/xmlunicode.hnu�[���/*
 * Summary: Unicode character APIs
 * Description: API for the Unicode character APIs
 *
 * This file is automatically generated from the
 * UCS description files of the Unicode Character Database
 * http://www.unicode.org/Public/4.0-Update1/UCD-4.0.1.html
 * using the genUnicode.py Python script.
 *
 * Generation date: Mon Mar 27 11:09:52 2006
 * Sources: Blocks-4.0.1.txt UnicodeData-4.0.1.txt
 * Author: Daniel Veillard
 */

#ifndef __XML_UNICODE_H__
#define __XML_UNICODE_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_UNICODE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

XMLPUBFUN int XMLCALL xmlUCSIsAegeanNumbers	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsAlphabeticPresentationForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArabicPresentationFormsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArmenian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBasicLatin	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBengali	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBlockElements	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBopomofoExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBoxDrawing	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBraillePatterns	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsBuhid	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsByzantineMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibility	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKCompatibilityIdeographsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKRadicalsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKSymbolsandPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCJKUnifiedIdeographsExtensionB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCherokee	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningDiacriticalMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningHalfMarks	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCombiningMarksforSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsControlPictures	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCurrencySymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCypriotSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCyrillicSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDeseret	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDevanagari	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsDingbats	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedAlphanumerics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEnclosedCJKLettersandMonths	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsEthiopic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeneralPunctuation	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeometricShapes	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGeorgian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGothic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreek	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekExtended	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGreekandCoptic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGujarati	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsGurmukhi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHalfwidthandFullwidthForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulCompatibilityJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulJamo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHangulSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHanunoo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHebrew	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighPrivateUseSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHighSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsHiragana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIPAExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsIdeographicDescriptionCharacters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKanbun	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKangxiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKannada	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKatakanaPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmer	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsKhmerSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLao	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatin1Supplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLatinExtendedAdditional	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLetterlikeSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLimbu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBIdeograms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLinearBSyllabary	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsLowSurrogates	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMalayalam	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalAlphanumericSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousMathematicalSymbolsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousSymbolsandArrows	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMiscellaneousTechnical	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMongolian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMusicalSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsMyanmar	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsNumberForms	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOgham	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOldItalic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOpticalCharacterRecognition	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOriya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsOsmanya	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPhoneticExtensions	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUse	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsPrivateUseArea	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsRunic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsShavian	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSinhala	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSmallFormVariants	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpacingModifierLetters	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSpecials	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSuperscriptsandSubscripts	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalArrowsB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementalMathematicalOperators	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaA	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSupplementaryPrivateUseAreaB	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsSyriac	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagalog	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTagbanwa	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTags	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiLe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTaiXuanJingSymbols	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTamil	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTelugu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThaana	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsThai	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsTibetan	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUgaritic	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsUnifiedCanadianAboriginalSyllabics	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectors	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsVariationSelectorsSupplement	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiRadicals	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYiSyllables	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsYijingHexagramSymbols	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsBlock	(int code, const char *block);

XMLPUBFUN int XMLCALL xmlUCSIsCatC	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatCs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatL	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLt	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatLu	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatM	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatMn	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatN	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatNo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatP	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPd	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPe	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPf	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPi	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatPs	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatS	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSc	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSk	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSm	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatSo	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZ	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZl	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZp	(int code);
XMLPUBFUN int XMLCALL xmlUCSIsCatZs	(int code);

XMLPUBFUN int XMLCALL xmlUCSIsCat	(int code, const char *cat);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_UNICODE_ENABLED */

#endif /* __XML_UNICODE_H__ */
PK��ZԺL���libxml/xmlschemastypes.hnu�[���/*
 * Summary: implementation of XML Schema Datatypes
 * Description: module providing the XML Schema Datatypes implementation
 *              both definition and validity checking
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_TYPES_H__
#define __XML_SCHEMA_TYPES_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/schemasInternals.h>
#include <libxml/xmlschemas.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
    XML_SCHEMA_WHITESPACE_PRESERVE = 1,
    XML_SCHEMA_WHITESPACE_REPLACE = 2,
    XML_SCHEMA_WHITESPACE_COLLAPSE = 3
} xmlSchemaWhitespaceValueType;

XMLPUBFUN void XMLCALL
		xmlSchemaInitTypes		(void);
XMLPUBFUN void XMLCALL
		xmlSchemaCleanupTypes		(void);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetPredefinedType	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
		xmlSchemaValidatePredefinedType	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNode	(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacet		(xmlSchemaTypePtr base,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateFacetWhtsp	(xmlSchemaFacetPtr facet,
						 xmlSchemaWhitespaceValueType fws,
						 xmlSchemaValType valType,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaFacetPtr XMLCALL
		xmlSchemaNewFacet		(void);
XMLPUBFUN int XMLCALL
		xmlSchemaCheckFacet		(xmlSchemaFacetPtr facet,
						 xmlSchemaTypePtr typeDecl,
						 xmlSchemaParserCtxtPtr ctxt,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		xmlSchemaFreeFacet		(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValues		(xmlSchemaValPtr x,
						 xmlSchemaValPtr y);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
    xmlSchemaGetBuiltInListSimpleTypeItemType	(xmlSchemaTypePtr type);
XMLPUBFUN int XMLCALL
    xmlSchemaValidateListSimpleTypeFacet	(xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 unsigned long actualLen,
						 unsigned long *expectedLen);
XMLPUBFUN xmlSchemaTypePtr XMLCALL
		xmlSchemaGetBuiltInType		(xmlSchemaValType type);
XMLPUBFUN int XMLCALL
		xmlSchemaIsBuiltInTypeFacet	(xmlSchemaTypePtr type,
						 int facetType);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaCollapseString		(const xmlChar *value);
XMLPUBFUN xmlChar * XMLCALL
		xmlSchemaWhiteSpaceReplace	(const xmlChar *value);
XMLPUBFUN unsigned long  XMLCALL
		xmlSchemaGetFacetValueAsULong	(xmlSchemaFacetPtr facet);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacet	(xmlSchemaTypePtr type,
						 xmlSchemaFacetPtr facet,
						 const xmlChar *value,
						 xmlSchemaValPtr val,
						 unsigned long *length);
XMLPUBFUN int XMLCALL
		xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
						  xmlSchemaValType valType,
						  const xmlChar *value,
						  xmlSchemaValPtr val,
						  unsigned long *length,
						  xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
						 const xmlChar *value,
						 xmlSchemaValPtr *val,
						 xmlNodePtr node);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValue		(xmlSchemaValPtr val,
						 const xmlChar **retValue);
XMLPUBFUN int XMLCALL
		xmlSchemaGetCanonValueWhtsp	(xmlSchemaValPtr val,
						 const xmlChar **retValue,
						 xmlSchemaWhitespaceValueType ws);
XMLPUBFUN int XMLCALL
		xmlSchemaValueAppend		(xmlSchemaValPtr prev,
						 xmlSchemaValPtr cur);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaValueGetNext		(xmlSchemaValPtr cur);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSchemaValueGetAsString	(xmlSchemaValPtr val);
XMLPUBFUN int XMLCALL
		xmlSchemaValueGetAsBoolean	(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewStringValue		(xmlSchemaValType type,
						 const xmlChar *value);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewNOTATIONValue	(const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaNewQNameValue		(const xmlChar *namespaceName,
						 const xmlChar *localName);
XMLPUBFUN int XMLCALL
		xmlSchemaCompareValuesWhtsp	(xmlSchemaValPtr x,
						 xmlSchemaWhitespaceValueType xws,
						 xmlSchemaValPtr y,
						 xmlSchemaWhitespaceValueType yws);
XMLPUBFUN xmlSchemaValPtr XMLCALL
		xmlSchemaCopyValue		(xmlSchemaValPtr val);
XMLPUBFUN xmlSchemaValType XMLCALL
		xmlSchemaGetValType		(xmlSchemaValPtr val);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_TYPES_H__ */
PK��Z��׹��libxml/xinclude.hnu�[���/*
 * Summary: implementation of XInclude
 * Description: API to handle XInclude processing,
 * implements the
 * World Wide Web Consortium Last Call Working Draft 10 November 2003
 * http://www.w3.org/TR/2003/WD-xinclude-20031110
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XINCLUDE_H__
#define __XML_XINCLUDE_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XINCLUDE_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XINCLUDE_NS:
 *
 * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
 */
#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
/**
 * XINCLUDE_OLD_NS:
 *
 * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude
 */
#define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
/**
 * XINCLUDE_NODE:
 *
 * Macro defining "include"
 */
#define XINCLUDE_NODE (const xmlChar *) "include"
/**
 * XINCLUDE_FALLBACK:
 *
 * Macro defining "fallback"
 */
#define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
/**
 * XINCLUDE_HREF:
 *
 * Macro defining "href"
 */
#define XINCLUDE_HREF (const xmlChar *) "href"
/**
 * XINCLUDE_PARSE:
 *
 * Macro defining "parse"
 */
#define XINCLUDE_PARSE (const xmlChar *) "parse"
/**
 * XINCLUDE_PARSE_XML:
 *
 * Macro defining "xml"
 */
#define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
/**
 * XINCLUDE_PARSE_TEXT:
 *
 * Macro defining "text"
 */
#define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
/**
 * XINCLUDE_PARSE_ENCODING:
 *
 * Macro defining "encoding"
 */
#define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
/**
 * XINCLUDE_PARSE_XPOINTER:
 *
 * Macro defining "xpointer"
 */
#define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"

typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;

/*
 * standalone processing
 */
XMLPUBFUN int XMLCALL
		xmlXIncludeProcess	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlags	(xmlDocPtr doc,
					 int flags);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessFlagsData(xmlDocPtr doc,
					 int flags,
					 void *data);
XMLPUBFUN int XMLCALL
                xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
                                         int flags,
                                         void *data);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTree	(xmlNodePtr tree);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
					 int flags);
/*
 * contextual processing
 */
XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
		xmlXIncludeNewContext	(xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlXIncludeSetFlags	(xmlXIncludeCtxtPtr ctxt,
					 int flags);
XMLPUBFUN void XMLCALL
		xmlXIncludeFreeContext	(xmlXIncludeCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlXIncludeProcessNode	(xmlXIncludeCtxtPtr ctxt,
					 xmlNodePtr tree);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XINCLUDE_ENABLED */

#endif /* __XML_XINCLUDE_H__ */
PK��ZR7���
libxml/dict.hnu�[���/*
 * Summary: string dictionary
 * Description: dictionary of reusable strings, just used to avoid allocation
 *         and freeing operations.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_DICT_H__
#define __XML_DICT_H__

#ifdef __cplusplus
#define __XML_EXTERNC	extern "C"
#else
#define __XML_EXTERNC
#endif

/*
 * The dictionary.
 */
__XML_EXTERNC typedef struct _xmlDict xmlDict;
__XML_EXTERNC typedef xmlDict *xmlDictPtr;

#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Initializer
 */
XMLPUBFUN int XMLCALL  xmlInitializeDict(void);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreate	(void);
XMLPUBFUN size_t XMLCALL
			xmlDictSetLimit	(xmlDictPtr dict,
                                         size_t limit);
XMLPUBFUN size_t XMLCALL
			xmlDictGetUsage (xmlDictPtr dict);
XMLPUBFUN xmlDictPtr XMLCALL
			xmlDictCreateSub(xmlDictPtr sub);
XMLPUBFUN int XMLCALL
			xmlDictReference(xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlDictFree	(xmlDictPtr dict);

/*
 * Lookup of entry in the dictionary.
 */
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictLookup	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictExists	(xmlDictPtr dict,
		                         const xmlChar *name,
		                         int len);
XMLPUBFUN const xmlChar * XMLCALL
			xmlDictQLookup	(xmlDictPtr dict,
		                         const xmlChar *prefix,
		                         const xmlChar *name);
XMLPUBFUN int XMLCALL
			xmlDictOwns	(xmlDictPtr dict,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
			xmlDictSize	(xmlDictPtr dict);

/*
 * Cleanup function
 */
XMLPUBFUN void XMLCALL
                        xmlDictCleanup  (void);

#ifdef __cplusplus
}
#endif
#endif /* ! __XML_DICT_H__ */
PK��Z:�-5  libxml/debugXML.hnu�[���/*
 * Summary: Tree debugging APIs
 * Description: Interfaces to a set of routines used for debugging the tree
 *              produced by the XML parser.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __DEBUG_XML__
#define __DEBUG_XML__
#include <stdio.h>
#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_DEBUG_ENABLED

#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The standard Dump routines.
 */
XMLPUBFUN void XMLCALL
	xmlDebugDumpString	(FILE *output,
				 const xmlChar *str);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttr	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpAttrList	(FILE *output,
				 xmlAttrPtr attr,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpOneNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNode	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpNodeList	(FILE *output,
				 xmlNodePtr node,
				 int depth);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocumentHead(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDocument	(FILE *output,
				 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
	xmlDebugDumpDTD		(FILE *output,
				 xmlDtdPtr dtd);
XMLPUBFUN void XMLCALL
	xmlDebugDumpEntities	(FILE *output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			Checking routines			*
 *								*
 ****************************************************************/

XMLPUBFUN int XMLCALL
	xmlDebugCheckDocument	(FILE * output,
				 xmlDocPtr doc);

/****************************************************************
 *								*
 *			XML shell helpers			*
 *								*
 ****************************************************************/

XMLPUBFUN void XMLCALL
	xmlLsOneNode		(FILE *output, xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlLsCountNode		(xmlNodePtr node);

XMLPUBFUN const char * XMLCALL
	xmlBoolToText		(int boolval);

/****************************************************************
 *								*
 *	 The XML shell related structures and functions		*
 *								*
 ****************************************************************/

#ifdef LIBXML_XPATH_ENABLED
/**
 * xmlShellReadlineFunc:
 * @prompt:  a string prompt
 *
 * This is a generic signature for the XML shell input function.
 *
 * Returns a string which will be freed by the Shell.
 */
typedef char * (* xmlShellReadlineFunc)(char *prompt);

/**
 * xmlShellCtxt:
 *
 * A debugging shell context.
 * TODO: add the defined function tables.
 */
typedef struct _xmlShellCtxt xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
struct _xmlShellCtxt {
    char *filename;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlXPathContextPtr pctxt;
    int loaded;
    FILE *output;
    xmlShellReadlineFunc input;
};

/**
 * xmlShellCmd:
 * @ctxt:  a shell context
 * @arg:  a string argument
 * @node:  a first node
 * @node2:  a second node
 *
 * This is a generic signature for the XML shell functions.
 *
 * Returns an int, negative returns indicating errors.
 */
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
                             char *arg,
			     xmlNodePtr node,
			     xmlNodePtr node2);

XMLPUBFUN void XMLCALL
	xmlShellPrintXPathError	(int errorType,
				 const char *arg);
XMLPUBFUN void XMLCALL
	xmlShellPrintXPathResult(xmlXPathObjectPtr list);
XMLPUBFUN int XMLCALL
	xmlShellList		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellBase		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellDir		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellLoad		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
	xmlShellPrintNode	(xmlNodePtr node);
XMLPUBFUN int XMLCALL
	xmlShellCat		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellWrite		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellSave		(xmlShellCtxtPtr ctxt,
				 char *filename,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_OUTPUT_ENABLED */
#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN int XMLCALL
	xmlShellValidate	(xmlShellCtxtPtr ctxt,
				 char *dtd,
				 xmlNodePtr node,
				 xmlNodePtr node2);
#endif /* LIBXML_VALID_ENABLED */
XMLPUBFUN int XMLCALL
	xmlShellDu		(xmlShellCtxtPtr ctxt,
				 char *arg,
				 xmlNodePtr tree,
				 xmlNodePtr node2);
XMLPUBFUN int XMLCALL
	xmlShellPwd		(xmlShellCtxtPtr ctxt,
				 char *buffer,
				 xmlNodePtr node,
				 xmlNodePtr node2);

/*
 * The Shell interface.
 */
XMLPUBFUN void XMLCALL
	xmlShell		(xmlDocPtr doc,
				 char *filename,
				 xmlShellReadlineFunc input,
				 FILE *output);

#endif /* LIBXML_XPATH_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_DEBUG_ENABLED */
#endif /* __DEBUG_XML__ */
PK��Z[�Yt%%
libxml/c14n.hnu�[���/*
 * Summary: Provide Canonical XML and Exclusive XML Canonicalization
 * Description: the c14n modules provides a
 *
 * "Canonical XML" implementation
 * http://www.w3.org/TR/xml-c14n
 *
 * and an
 *
 * "Exclusive XML Canonicalization" implementation
 * http://www.w3.org/TR/xml-exc-c14n

 * Copy: See Copyright for the status of this software.
 *
 * Author: Aleksey Sanin <aleksey@aleksey.com>
 */
#ifndef __XML_C14N_H__
#define __XML_C14N_H__
#ifdef LIBXML_C14N_ENABLED
#ifdef LIBXML_OUTPUT_ENABLED

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/xpath.h>

/*
 * XML Canonicazation
 * http://www.w3.org/TR/xml-c14n
 *
 * Exclusive XML Canonicazation
 * http://www.w3.org/TR/xml-exc-c14n
 *
 * Canonical form of an XML document could be created if and only if
 *  a) default attributes (if any) are added to all nodes
 *  b) all character and parsed entity references are resolved
 * In order to achive this in libxml2 the document MUST be loaded with
 * following global setings:
 *
 *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    xmlSubstituteEntitiesDefault(1);
 *
 * or corresponding parser context setting:
 *    xmlParserCtxtPtr ctxt;
 *
 *    ...
 *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
 *    ctxt->replaceEntities = 1;
 *    ...
 */

/*
 * xmlC14NMode:
 *
 * Predefined values for C14N modes
 *
 */
typedef enum {
    XML_C14N_1_0            = 0,    /* Origianal C14N 1.0 spec */
    XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
    XML_C14N_1_1            = 2     /* C14N 1.1 spec */
} xmlC14NMode;

XMLPUBFUN int XMLCALL
		xmlC14NDocSaveTo	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

XMLPUBFUN int XMLCALL
		xmlC14NDocDumpMemory	(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlChar **doc_txt_ptr);

XMLPUBFUN int XMLCALL
		xmlC14NDocSave		(xmlDocPtr doc,
					 xmlNodeSetPtr nodes,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 const char* filename,
					 int compression);


/**
 * This is the core C14N function
 */
/**
 * xmlC14NIsVisibleCallback:
 * @user_data: user data
 * @node: the curent node
 * @parent: the parent node
 *
 * Signature for a C14N callback on visible nodes
 *
 * Returns 1 if the node should be included
 */
typedef int (*xmlC14NIsVisibleCallback)	(void* user_data,
					 xmlNodePtr node,
					 xmlNodePtr parent);

XMLPUBFUN int XMLCALL
		xmlC14NExecute		(xmlDocPtr doc,
					 xmlC14NIsVisibleCallback is_visible_callback,
					 void* user_data,
					 int mode, /* a xmlC14NMode */
					 xmlChar **inclusive_ns_prefixes,
					 int with_comments,
					 xmlOutputBufferPtr buf);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* LIBXML_OUTPUT_ENABLED */
#endif /* LIBXML_C14N_ENABLED */
#endif /* __XML_C14N_H__ */

PK��Z�TI�''libxml/chvalid.hnu�[���/*
 * Summary: Unicode character range checking
 * Description: this module exports interfaces for the character
 *               range validation APIs
 *
 * This file is automatically generated from the cvs source
 * definition files using the genChRanges.py Python script
 *
 * Generation date: Mon Mar 27 11:09:48 2006
 * Sources: chvalid.def
 * Author: William Brack <wbrack@mmm.com.hk>
 */

#ifndef __XML_CHVALID_H__
#define __XML_CHVALID_H__

#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Define our typedefs and structures
 *
 */
typedef struct _xmlChSRange xmlChSRange;
typedef xmlChSRange *xmlChSRangePtr;
struct _xmlChSRange {
    unsigned short	low;
    unsigned short	high;
};

typedef struct _xmlChLRange xmlChLRange;
typedef xmlChLRange *xmlChLRangePtr;
struct _xmlChLRange {
    unsigned int	low;
    unsigned int	high;
};

typedef struct _xmlChRangeGroup xmlChRangeGroup;
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
struct _xmlChRangeGroup {
    int			nbShortRange;
    int			nbLongRange;
    const xmlChSRange	*shortRange;	/* points to an array of ranges */
    const xmlChLRange	*longRange;
};

/**
 * Range checking routine
 */
XMLPUBFUN int XMLCALL
		xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);


/**
 * xmlIsBaseChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
				  (0xf8 <= (c)))

/**
 * xmlIsBaseCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
				 xmlIsBaseChar_ch((c)) : \
				 xmlCharInRange((c), &xmlIsBaseCharGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;

/**
 * xmlIsBlank_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlank_ch(c)	(((c) == 0x20) || \
				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd))

/**
 * xmlIsBlankQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsBlankQ(c)		(((c) < 0x100) ? \
				 xmlIsBlank_ch((c)) : 0)


/**
 * xmlIsChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
				 ((c) == 0xd) || \
				  (0x20 <= (c)))

/**
 * xmlIsCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCharQ(c)		(((c) < 0x100) ? \
				 xmlIsChar_ch((c)) :\
				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))

XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;

/**
 * xmlIsCombiningQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
				 0 : \
				 xmlCharInRange((c), &xmlIsCombiningGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;

/**
 * xmlIsDigit_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))

/**
 * xmlIsDigitQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsDigitQ(c)		(((c) < 0x100) ? \
				 xmlIsDigit_ch((c)) : \
				 xmlCharInRange((c), &xmlIsDigitGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;

/**
 * xmlIsExtender_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtender_ch(c)	(((c) == 0xb7))

/**
 * xmlIsExtenderQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
				 xmlIsExtender_ch((c)) : \
				 xmlCharInRange((c), &xmlIsExtenderGroup))

XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;

/**
 * xmlIsIdeographicQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
				 0 :\
				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
				 ((c) == 0x3007) || \
				 ((0x3021 <= (c)) && ((c) <= 0x3029))))

XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];

/**
 * xmlIsPubidChar_ch:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])

/**
 * xmlIsPubidCharQ:
 * @c: char to validate
 *
 * Automatically generated by genChRanges.py
 */
#define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
				 xmlIsPubidChar_ch((c)) : 0)

XMLPUBFUN int XMLCALL
		xmlIsBaseChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsBlank(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsChar(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsCombining(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsDigit(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsExtender(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsIdeographic(unsigned int ch);
XMLPUBFUN int XMLCALL
		xmlIsPubidChar(unsigned int ch);

#ifdef __cplusplus
}
#endif
#endif /* __XML_CHVALID_H__ */
PK��Zl�:99libxml/xmlmemory.hnu�[���/*
 * Summary: interface for the memory allocator
 * Description: provides interfaces for the memory allocator,
 *              including debugging capabilities.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __DEBUG_MEMORY_ALLOC__
#define __DEBUG_MEMORY_ALLOC__

#include <stdio.h>
#include <libxml/xmlversion.h>

/**
 * DEBUG_MEMORY:
 *
 * DEBUG_MEMORY replaces the allocator with a collect and debug
 * shell to the libc allocator.
 * DEBUG_MEMORY should only be activated when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
/* #define DEBUG_MEMORY_FREED */
/* #define DEBUG_MEMORY_LOCATION */

#ifdef DEBUG
#ifndef DEBUG_MEMORY
#define DEBUG_MEMORY
#endif
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * DEBUG_MEMORY_LOCATION should be activated only when debugging
 * libxml i.e. if libxml has been configured with --with-debug-mem too.
 */
#ifdef DEBUG_MEMORY_LOCATION
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The XML memory wrapper support 4 basic overloadable functions.
 */
/**
 * xmlFreeFunc:
 * @mem: an already allocated block of memory
 *
 * Signature for a free() implementation.
 */
typedef void (XMLCALL *xmlFreeFunc)(void *mem);
/**
 * xmlMallocFunc:
 * @size:  the size requested in bytes
 *
 * Signature for a malloc() implementation.
 *
 * Returns a pointer to the newly allocated block or NULL in case of error.
 */
typedef void *(LIBXML_ATTR_ALLOC_SIZE(1) XMLCALL *xmlMallocFunc)(size_t size);

/**
 * xmlReallocFunc:
 * @mem: an already allocated block of memory
 * @size:  the new size requested in bytes
 *
 * Signature for a realloc() implementation.
 *
 * Returns a pointer to the newly reallocated block or NULL in case of error.
 */
typedef void *(XMLCALL *xmlReallocFunc)(void *mem, size_t size);

/**
 * xmlStrdupFunc:
 * @str: a zero terminated string
 *
 * Signature for an strdup() implementation.
 *
 * Returns the copy of the string or NULL in case of error.
 */
typedef char *(XMLCALL *xmlStrdupFunc)(const char *str);

/*
 * The 4 interfaces used for all memory handling within libxml.
LIBXML_DLL_IMPORT xmlFreeFunc xmlFree;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMalloc;
LIBXML_DLL_IMPORT xmlMallocFunc xmlMallocAtomic;
LIBXML_DLL_IMPORT xmlReallocFunc xmlRealloc;
LIBXML_DLL_IMPORT xmlStrdupFunc xmlMemStrdup;
 */

/*
 * The way to overload the existing functions.
 * The xmlGc function have an extra entry for atomic block
 * allocations useful for garbage collected memory allocators
 */
XMLPUBFUN int XMLCALL
	xmlMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemSetup	(xmlFreeFunc freeFunc,
			 xmlMallocFunc mallocFunc,
			 xmlMallocFunc mallocAtomicFunc,
			 xmlReallocFunc reallocFunc,
			 xmlStrdupFunc strdupFunc);
XMLPUBFUN int XMLCALL
	xmlGcMemGet	(xmlFreeFunc *freeFunc,
			 xmlMallocFunc *mallocFunc,
			 xmlMallocFunc *mallocAtomicFunc,
			 xmlReallocFunc *reallocFunc,
			 xmlStrdupFunc *strdupFunc);

/*
 * Initialization of the memory layer.
 */
XMLPUBFUN int XMLCALL
	xmlInitMemory	(void);

/*
 * Cleanup of the memory layer.
 */
XMLPUBFUN void XMLCALL
                xmlCleanupMemory        (void);
/*
 * These are specific to the XML debug memory wrapper.
 */
XMLPUBFUN int XMLCALL
	xmlMemUsed	(void);
XMLPUBFUN int XMLCALL
	xmlMemBlocks	(void);
XMLPUBFUN void XMLCALL
	xmlMemDisplay	(FILE *fp);
XMLPUBFUN void XMLCALL
	xmlMemDisplayLast(FILE *fp, long nbBytes);
XMLPUBFUN void XMLCALL
	xmlMemShow	(FILE *fp, int nr);
XMLPUBFUN void XMLCALL
	xmlMemoryDump	(void);
XMLPUBFUN void * XMLCALL
	xmlMemMalloc	(size_t size) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlMemRealloc	(void *ptr,size_t size);
XMLPUBFUN void XMLCALL
	xmlMemFree	(void *ptr);
XMLPUBFUN char * XMLCALL
	xmlMemoryStrdup	(const char *str);
XMLPUBFUN void * XMLCALL
	xmlMallocLoc	(size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN void * XMLCALL
	xmlReallocLoc	(void *ptr, size_t size, const char *file, int line);
XMLPUBFUN void * XMLCALL
	xmlMallocAtomicLoc (size_t size, const char *file, int line) LIBXML_ATTR_ALLOC_SIZE(1);
XMLPUBFUN char * XMLCALL
	xmlMemStrdupLoc	(const char *str, const char *file, int line);


#ifdef DEBUG_MEMORY_LOCATION
/**
 * xmlMalloc:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
/**
 * xmlMallocAtomic:
 * @size:  number of bytes to allocate
 *
 * Wrapper for the malloc() function used in the XML library for allocation
 * of block not containing pointers to other areas.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMallocAtomic(size) xmlMallocAtomicLoc((size), __FILE__, __LINE__)
/**
 * xmlRealloc:
 * @ptr:  pointer to the existing allocated area
 * @size:  number of bytes to allocate
 *
 * Wrapper for the realloc() function used in the XML library.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
/**
 * xmlMemStrdup:
 * @str:  pointer to the existing string
 *
 * Wrapper for the strdup() function, xmlStrdup() is usually preferred.
 *
 * Returns the pointer to the allocated area or NULL in case of error.
 */
#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)

#endif /* DEBUG_MEMORY_LOCATION */

#ifdef __cplusplus
}
#endif /* __cplusplus */

#ifndef __XML_GLOBALS_H
#ifndef __XML_THREADS_H__
#include <libxml/threads.h>
#include <libxml/globals.h>
#endif
#endif

#endif  /* __DEBUG_MEMORY_ALLOC__ */

PK��Z*A��libxml/xlink.hnu�[���/*
 * Summary: unfinished XLink detection module
 * Description: unfinished XLink detection module
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XLINK_H__
#define __XML_XLINK_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_XPTR_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Various defines for the various Link properties.
 *
 * NOTE: the link detection layer will try to resolve QName expansion
 *       of namespaces. If "foo" is the prefix for "http://foo.com/"
 *       then the link detection layer will expand role="foo:myrole"
 *       to "http://foo.com/:myrole".
 * NOTE: the link detection layer will expand URI-Refences found on
 *       href attributes by using the base mechanism if found.
 */
typedef xmlChar *xlinkHRef;
typedef xmlChar *xlinkRole;
typedef xmlChar *xlinkTitle;

typedef enum {
    XLINK_TYPE_NONE = 0,
    XLINK_TYPE_SIMPLE,
    XLINK_TYPE_EXTENDED,
    XLINK_TYPE_EXTENDED_SET
} xlinkType;

typedef enum {
    XLINK_SHOW_NONE = 0,
    XLINK_SHOW_NEW,
    XLINK_SHOW_EMBED,
    XLINK_SHOW_REPLACE
} xlinkShow;

typedef enum {
    XLINK_ACTUATE_NONE = 0,
    XLINK_ACTUATE_AUTO,
    XLINK_ACTUATE_ONREQUEST
} xlinkActuate;

/**
 * xlinkNodeDetectFunc:
 * @ctx:  user data pointer
 * @node:  the node to check
 *
 * This is the prototype for the link detection routine.
 * It calls the default link detection callbacks upon link detection.
 */
typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);

/*
 * The link detection module interact with the upper layers using
 * a set of callback registered at parsing time.
 */

/**
 * xlinkSimpleLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @href:  the target of the link
 * @role:  the role string
 * @title:  the link title
 *
 * This is the prototype for a simple link detection callback.
 */
typedef void
(*xlinkSimpleLinkFunk)	(void *ctx,
			 xmlNodePtr node,
			 const xlinkHRef href,
			 const xlinkRole role,
			 const xlinkTitle title);

/**
 * xlinkExtendedLinkFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbArcs: the number of arcs detected on the link
 * @from:  pointer to the array of source roles found on the arcs
 * @to:  pointer to the array of target roles found on the arcs
 * @show:  array of values for the show attributes found on the arcs
 * @actuate:  array of values for the actuate attributes found on the arcs
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link detection callback.
 */
typedef void
(*xlinkExtendedLinkFunk)(void *ctx,
			 xmlNodePtr node,
			 int nbLocators,
			 const xlinkHRef *hrefs,
			 const xlinkRole *roles,
			 int nbArcs,
			 const xlinkRole *from,
			 const xlinkRole *to,
			 xlinkShow *show,
			 xlinkActuate *actuate,
			 int nbTitles,
			 const xlinkTitle *titles,
			 const xmlChar **langs);

/**
 * xlinkExtendedLinkSetFunk:
 * @ctx:  user data pointer
 * @node:  the node carrying the link
 * @nbLocators: the number of locators detected on the link
 * @hrefs:  pointer to the array of locator hrefs
 * @roles:  pointer to the array of locator roles
 * @nbTitles: the number of titles detected on the link
 * @title:  array of titles detected on the link
 * @langs:  array of xml:lang values for the titles
 *
 * This is the prototype for a extended link set detection callback.
 */
typedef void
(*xlinkExtendedLinkSetFunk)	(void *ctx,
				 xmlNodePtr node,
				 int nbLocators,
				 const xlinkHRef *hrefs,
				 const xlinkRole *roles,
				 int nbTitles,
				 const xlinkTitle *titles,
				 const xmlChar **langs);

/**
 * This is the structure containing a set of Links detection callbacks.
 *
 * There is no default xlink callbacks, if one want to get link
 * recognition activated, those call backs must be provided before parsing.
 */
typedef struct _xlinkHandler xlinkHandler;
typedef xlinkHandler *xlinkHandlerPtr;
struct _xlinkHandler {
    xlinkSimpleLinkFunk simple;
    xlinkExtendedLinkFunk extended;
    xlinkExtendedLinkSetFunk set;
};

/*
 * The default detection routine, can be overridden, they call the default
 * detection callbacks.
 */

XMLPUBFUN xlinkNodeDetectFunc XMLCALL
		xlinkGetDefaultDetect	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultDetect	(xlinkNodeDetectFunc func);

/*
 * Routines to set/get the default handlers.
 */
XMLPUBFUN xlinkHandlerPtr XMLCALL
		xlinkGetDefaultHandler	(void);
XMLPUBFUN void XMLCALL
		xlinkSetDefaultHandler	(xlinkHandlerPtr handler);

/*
 * Link detection module itself.
 */
XMLPUBFUN xlinkType XMLCALL
		xlinkIsLink		(xmlDocPtr doc,
					 xmlNodePtr node);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */

#endif /* __XML_XLINK_H__ */
PK��Zzb��

libxml/xpointer.hnu�[���/*
 * Summary: API to handle XML Pointers
 * Description: API to handle XML Pointers
 * Base implementation was made accordingly to
 * W3C Candidate Recommendation 7 June 2000
 * http://www.w3.org/TR/2000/CR-xptr-20000607
 *
 * Added support for the element() scheme described in:
 * W3C Proposed Recommendation 13 November 2002
 * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XPTR_H__
#define __XML_XPTR_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_XPTR_ENABLED

#include <libxml/tree.h>
#include <libxml/xpath.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * A Location Set
 */
typedef struct _xmlLocationSet xmlLocationSet;
typedef xmlLocationSet *xmlLocationSetPtr;
struct _xmlLocationSet {
    int locNr;		      /* number of locations in the set */
    int locMax;		      /* size of the array as allocated */
    xmlXPathObjectPtr *locTab;/* array of locations */
};

/*
 * Handling of location sets.
 */

XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetCreate	(xmlXPathObjectPtr val);
XMLPUBFUN void XMLCALL
		    xmlXPtrFreeLocationSet	(xmlLocationSetPtr obj);
XMLPUBFUN xmlLocationSetPtr XMLCALL
		    xmlXPtrLocationSetMerge	(xmlLocationSetPtr val1,
						 xmlLocationSetPtr val2);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRange		(xmlNodePtr start,
						 int startindex,
						 xmlNodePtr end,
						 int endindex);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePoints	(xmlXPathObjectPtr start,
						 xmlXPathObjectPtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodePoint	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangePointNode	(xmlXPathObjectPtr start,
						 xmlNodePtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodes	(xmlNodePtr start,
						 xmlNodePtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewRangeNodeObject	(xmlNodePtr start,
						 xmlXPathObjectPtr end);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrNewCollapsedRange	(xmlNodePtr start);
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetAdd	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrWrapLocationSet	(xmlLocationSetPtr val);
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetDel	(xmlLocationSetPtr cur,
						 xmlXPathObjectPtr val);
XMLPUBFUN void XMLCALL
		    xmlXPtrLocationSetRemove	(xmlLocationSetPtr cur,
						 int val);

/*
 * Functions.
 */
XMLPUBFUN xmlXPathContextPtr XMLCALL
		    xmlXPtrNewContext		(xmlDocPtr doc,
						 xmlNodePtr here,
						 xmlNodePtr origin);
XMLPUBFUN xmlXPathObjectPtr XMLCALL
		    xmlXPtrEval			(const xmlChar *str,
						 xmlXPathContextPtr ctx);
XMLPUBFUN void XMLCALL
		    xmlXPtrRangeToFunction	(xmlXPathParserContextPtr ctxt,
						 int nargs);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlXPtrBuildNodeList	(xmlXPathObjectPtr obj);
XMLPUBFUN void XMLCALL
		    xmlXPtrEvalRangePredicate	(xmlXPathParserContextPtr ctxt);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_XPTR_ENABLED */
#endif /* __XML_XPTR_H__ */
PK��Z���lllibxml/relaxng.hnu�[���/*
 * Summary: implementation of the Relax-NG validation
 * Description: implementation of the Relax-NG validation
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_RELAX_NG__
#define __XML_RELAX_NG__

#include <libxml/xmlversion.h>
#include <libxml/hash.h>
#include <libxml/xmlstring.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

typedef struct _xmlRelaxNG xmlRelaxNG;
typedef xmlRelaxNG *xmlRelaxNGPtr;


/**
 * xmlRelaxNGValidityErrorFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of an error callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
						      const char *msg,
						      ...) LIBXML_ATTR_FORMAT(2,3);

/**
 * xmlRelaxNGValidityWarningFunc:
 * @ctx: the validation context
 * @msg: the message
 * @...: extra arguments
 *
 * Signature of a warning callback from a Relax-NG validation
 */
typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
							const char *msg,
							...) LIBXML_ATTR_FORMAT(2,3);

/**
 * A schemas validation context
 */
typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;

typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;

/*
 * xmlRelaxNGValidErr:
 *
 * List of possible Relax NG validation errors
 */
typedef enum {
    XML_RELAXNG_OK = 0,
    XML_RELAXNG_ERR_MEMORY,
    XML_RELAXNG_ERR_TYPE,
    XML_RELAXNG_ERR_TYPEVAL,
    XML_RELAXNG_ERR_DUPID,
    XML_RELAXNG_ERR_TYPECMP,
    XML_RELAXNG_ERR_NOSTATE,
    XML_RELAXNG_ERR_NODEFINE,
    XML_RELAXNG_ERR_LISTEXTRA,
    XML_RELAXNG_ERR_LISTEMPTY,
    XML_RELAXNG_ERR_INTERNODATA,
    XML_RELAXNG_ERR_INTERSEQ,
    XML_RELAXNG_ERR_INTEREXTRA,
    XML_RELAXNG_ERR_ELEMNAME,
    XML_RELAXNG_ERR_ATTRNAME,
    XML_RELAXNG_ERR_ELEMNONS,
    XML_RELAXNG_ERR_ATTRNONS,
    XML_RELAXNG_ERR_ELEMWRONGNS,
    XML_RELAXNG_ERR_ATTRWRONGNS,
    XML_RELAXNG_ERR_ELEMEXTRANS,
    XML_RELAXNG_ERR_ATTREXTRANS,
    XML_RELAXNG_ERR_ELEMNOTEMPTY,
    XML_RELAXNG_ERR_NOELEM,
    XML_RELAXNG_ERR_NOTELEM,
    XML_RELAXNG_ERR_ATTRVALID,
    XML_RELAXNG_ERR_CONTENTVALID,
    XML_RELAXNG_ERR_EXTRACONTENT,
    XML_RELAXNG_ERR_INVALIDATTR,
    XML_RELAXNG_ERR_DATAELEM,
    XML_RELAXNG_ERR_VALELEM,
    XML_RELAXNG_ERR_LISTELEM,
    XML_RELAXNG_ERR_DATATYPE,
    XML_RELAXNG_ERR_VALUE,
    XML_RELAXNG_ERR_LIST,
    XML_RELAXNG_ERR_NOGRAMMAR,
    XML_RELAXNG_ERR_EXTRADATA,
    XML_RELAXNG_ERR_LACKDATA,
    XML_RELAXNG_ERR_INTERNAL,
    XML_RELAXNG_ERR_ELEMWRONG,
    XML_RELAXNG_ERR_TEXTWRONG
} xmlRelaxNGValidErr;

/*
 * xmlRelaxNGParserFlags:
 *
 * List of possible Relax NG Parser flags
 */
typedef enum {
    XML_RELAXNGP_NONE = 0,
    XML_RELAXNGP_FREE_DOC = 1,
    XML_RELAXNGP_CRNG = 2
} xmlRelaxNGParserFlag;

XMLPUBFUN int XMLCALL
		    xmlRelaxNGInitTypes		(void);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGCleanupTypes	(void);

/*
 * Interfaces for parsing.
 */
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewParserCtxt	(const char *URL);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewMemParserCtxt	(const char *buffer,
						 int size);
XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
		    xmlRelaxNGNewDocParserCtxt	(xmlDocPtr doc);

XMLPUBFUN int XMLCALL
		    xmlRelaxParserSetFlag	(xmlRelaxNGParserCtxtPtr ctxt,
						 int flag);

XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeParserCtxt	(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetParserStructuredErrors(
					 xmlRelaxNGParserCtxtPtr ctxt,
					 xmlStructuredErrorFunc serror,
					 void *ctx);
XMLPUBFUN xmlRelaxNGPtr XMLCALL
		    xmlRelaxNGParse		(xmlRelaxNGParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFree		(xmlRelaxNGPtr schema);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDump		(FILE *output,
					 xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGDumpTree	(FILE * output,
					 xmlRelaxNGPtr schema);
#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * Interfaces for validating
 */
XMLPUBFUN void XMLCALL
		    xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc err,
					 xmlRelaxNGValidityWarningFunc warn,
					 void *ctx);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlRelaxNGValidityErrorFunc *err,
					 xmlRelaxNGValidityWarningFunc *warn,
					 void **ctx);
XMLPUBFUN void XMLCALL
			xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
					  xmlStructuredErrorFunc serror, void *ctx);
XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
		    xmlRelaxNGNewValidCtxt	(xmlRelaxNGPtr schema);
XMLPUBFUN void XMLCALL
		    xmlRelaxNGFreeValidCtxt	(xmlRelaxNGValidCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateDoc	(xmlRelaxNGValidCtxtPtr ctxt,
						 xmlDocPtr doc);
/*
 * Interfaces for progressive validation when possible
 */
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePushCData	(xmlRelaxNGValidCtxtPtr ctxt,
					 const xmlChar *data,
					 int len);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidatePopElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);
XMLPUBFUN int XMLCALL
		    xmlRelaxNGValidateFullElement	(xmlRelaxNGValidCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr elem);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */

#endif /* __XML_RELAX_NG__ */
PK��Z?����libxml/xmlversion.hnu�[���/*
 * Summary: compile-time version informations
 * Description: compile-time version informations for the XML library
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_VERSION_H__
#define __XML_VERSION_H__

#include <libxml/xmlexports.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * use those to be sure nothing nasty will happen if
 * your library and includes mismatch
 */
#ifndef LIBXML2_COMPILING_MSCCDEF
XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
#endif /* LIBXML2_COMPILING_MSCCDEF */

/**
 * LIBXML_DOTTED_VERSION:
 *
 * the version string like "1.2.3"
 */
#define LIBXML_DOTTED_VERSION "2.9.7"

/**
 * LIBXML_VERSION:
 *
 * the version number: 1.2.3 value is 10203
 */
#define LIBXML_VERSION 20907

/**
 * LIBXML_VERSION_STRING:
 *
 * the version number string, 1.2.3 value is "10203"
 */
#define LIBXML_VERSION_STRING "20907"

/**
 * LIBXML_VERSION_EXTRA:
 *
 * extra version information, used to show a CVS compilation
 */
#define LIBXML_VERSION_EXTRA ""

/**
 * LIBXML_TEST_VERSION:
 *
 * Macro to check that the libxml version in use is compatible with
 * the version the software has been compiled against
 */
#define LIBXML_TEST_VERSION xmlCheckVersion(20907);

#ifndef VMS
#if 0
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO
#else
/**
 * WITHOUT_TRIO:
 *
 * defined if the trio support should not be configured in
 */
#define WITHOUT_TRIO
#endif
#else /* VMS */
/**
 * WITH_TRIO:
 *
 * defined if the trio support need to be configured in
 */
#define WITH_TRIO 1
#endif /* VMS */

/**
 * LIBXML_THREAD_ENABLED:
 *
 * Whether the thread support is configured in
 */
#if 1
#if defined(_REENTRANT) || defined(__MT__) || \
    (defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE - 0 >= 199506L))
#define LIBXML_THREAD_ENABLED
#endif
#endif

/**
 * LIBXML_THREAD_ALLOC_ENABLED:
 *
 * Whether the allocation hooks are per-thread
 */
#if 0
#define LIBXML_THREAD_ALLOC_ENABLED
#endif

/**
 * LIBXML_TREE_ENABLED:
 *
 * Whether the DOM like tree manipulation API support is configured in
 */
#if 1
#define LIBXML_TREE_ENABLED
#endif

/**
 * LIBXML_OUTPUT_ENABLED:
 *
 * Whether the serialization/saving support is configured in
 */
#if 1
#define LIBXML_OUTPUT_ENABLED
#endif

/**
 * LIBXML_PUSH_ENABLED:
 *
 * Whether the push parsing interfaces are configured in
 */
#if 1
#define LIBXML_PUSH_ENABLED
#endif

/**
 * LIBXML_READER_ENABLED:
 *
 * Whether the xmlReader parsing interface is configured in
 */
#if 1
#define LIBXML_READER_ENABLED
#endif

/**
 * LIBXML_PATTERN_ENABLED:
 *
 * Whether the xmlPattern node selection interface is configured in
 */
#if 1
#define LIBXML_PATTERN_ENABLED
#endif

/**
 * LIBXML_WRITER_ENABLED:
 *
 * Whether the xmlWriter saving interface is configured in
 */
#if 1
#define LIBXML_WRITER_ENABLED
#endif

/**
 * LIBXML_SAX1_ENABLED:
 *
 * Whether the older SAX1 interface is configured in
 */
#if 1
#define LIBXML_SAX1_ENABLED
#endif

/**
 * LIBXML_FTP_ENABLED:
 *
 * Whether the FTP support is configured in
 */
#if 1
#define LIBXML_FTP_ENABLED
#endif

/**
 * LIBXML_HTTP_ENABLED:
 *
 * Whether the HTTP support is configured in
 */
#if 1
#define LIBXML_HTTP_ENABLED
#endif

/**
 * LIBXML_VALID_ENABLED:
 *
 * Whether the DTD validation support is configured in
 */
#if 1
#define LIBXML_VALID_ENABLED
#endif

/**
 * LIBXML_HTML_ENABLED:
 *
 * Whether the HTML support is configured in
 */
#if 1
#define LIBXML_HTML_ENABLED
#endif

/**
 * LIBXML_LEGACY_ENABLED:
 *
 * Whether the deprecated APIs are compiled in for compatibility
 */
#if 1
#define LIBXML_LEGACY_ENABLED
#endif

/**
 * LIBXML_C14N_ENABLED:
 *
 * Whether the Canonicalization support is configured in
 */
#if 1
#define LIBXML_C14N_ENABLED
#endif

/**
 * LIBXML_CATALOG_ENABLED:
 *
 * Whether the Catalog support is configured in
 */
#if 1
#define LIBXML_CATALOG_ENABLED
#endif

/**
 * LIBXML_DOCB_ENABLED:
 *
 * Whether the SGML Docbook support is configured in
 */
#if 1
#define LIBXML_DOCB_ENABLED
#endif

/**
 * LIBXML_XPATH_ENABLED:
 *
 * Whether XPath is configured in
 */
#if 1
#define LIBXML_XPATH_ENABLED
#endif

/**
 * LIBXML_XPTR_ENABLED:
 *
 * Whether XPointer is configured in
 */
#if 1
#define LIBXML_XPTR_ENABLED
#endif

/**
 * LIBXML_XINCLUDE_ENABLED:
 *
 * Whether XInclude is configured in
 */
#if 1
#define LIBXML_XINCLUDE_ENABLED
#endif

/**
 * LIBXML_ICONV_ENABLED:
 *
 * Whether iconv support is available
 */
#if 1
#define LIBXML_ICONV_ENABLED
#endif

/**
 * LIBXML_ICU_ENABLED:
 *
 * Whether icu support is available
 */
#if 0
#define LIBXML_ICU_ENABLED
#endif

/**
 * LIBXML_ISO8859X_ENABLED:
 *
 * Whether ISO-8859-* support is made available in case iconv is not
 */
#if 1
#define LIBXML_ISO8859X_ENABLED
#endif

/**
 * LIBXML_DEBUG_ENABLED:
 *
 * Whether Debugging module is configured in
 */
#if 1
#define LIBXML_DEBUG_ENABLED
#endif

/**
 * DEBUG_MEMORY_LOCATION:
 *
 * Whether the memory debugging is configured in
 */
#if 0
#define DEBUG_MEMORY_LOCATION
#endif

/**
 * LIBXML_DEBUG_RUNTIME:
 *
 * Whether the runtime debugging is configured in
 */
#if 0
#define LIBXML_DEBUG_RUNTIME
#endif

/**
 * LIBXML_UNICODE_ENABLED:
 *
 * Whether the Unicode related interfaces are compiled in
 */
#if 1
#define LIBXML_UNICODE_ENABLED
#endif

/**
 * LIBXML_REGEXP_ENABLED:
 *
 * Whether the regular expressions interfaces are compiled in
 */
#if 1
#define LIBXML_REGEXP_ENABLED
#endif

/**
 * LIBXML_AUTOMATA_ENABLED:
 *
 * Whether the automata interfaces are compiled in
 */
#if 1
#define LIBXML_AUTOMATA_ENABLED
#endif

/**
 * LIBXML_EXPR_ENABLED:
 *
 * Whether the formal expressions interfaces are compiled in
 */
#if 1
#define LIBXML_EXPR_ENABLED
#endif

/**
 * LIBXML_SCHEMAS_ENABLED:
 *
 * Whether the Schemas validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMAS_ENABLED
#endif

/**
 * LIBXML_SCHEMATRON_ENABLED:
 *
 * Whether the Schematron validation interfaces are compiled in
 */
#if 1
#define LIBXML_SCHEMATRON_ENABLED
#endif

/**
 * LIBXML_MODULES_ENABLED:
 *
 * Whether the module interfaces are compiled in
 */
#if 1
#define LIBXML_MODULES_ENABLED
/**
 * LIBXML_MODULE_EXTENSION:
 *
 * the string suffix used by dynamic modules (usually shared libraries)
 */
#define LIBXML_MODULE_EXTENSION ".so" 
#endif

/**
 * LIBXML_ZLIB_ENABLED:
 *
 * Whether the Zlib support is compiled in
 */
#if 1
#define LIBXML_ZLIB_ENABLED
#endif

/**
 * LIBXML_LZMA_ENABLED:
 *
 * Whether the Lzma support is compiled in
 */
#if 1
#define LIBXML_LZMA_ENABLED
#endif

#ifdef __GNUC__
#ifdef HAVE_ANSIDECL_H
#include <ansidecl.h>
#endif

/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */

#ifndef ATTRIBUTE_UNUSED
# if ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7)))
#  define ATTRIBUTE_UNUSED __attribute__((unused))
# else
#  define ATTRIBUTE_UNUSED
# endif
#endif

/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */

#ifndef LIBXML_ATTR_ALLOC_SIZE
# if (!defined(__clang__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3))))
#  define LIBXML_ATTR_ALLOC_SIZE(x) __attribute__((alloc_size(x)))
# else
#  define LIBXML_ATTR_ALLOC_SIZE(x)
# endif
#else
# define LIBXML_ATTR_ALLOC_SIZE(x)
#endif

/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */

#ifndef LIBXML_ATTR_FORMAT
# if ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)))
#  define LIBXML_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
# else
#  define LIBXML_ATTR_FORMAT(fmt,args)
# endif
#else
# define LIBXML_ATTR_FORMAT(fmt,args)
#endif

#else /* ! __GNUC__ */
/**
 * ATTRIBUTE_UNUSED:
 *
 * Macro used to signal to GCC unused function parameters
 */
#define ATTRIBUTE_UNUSED
/**
 * LIBXML_ATTR_ALLOC_SIZE:
 *
 * Macro used to indicate to GCC this is an allocator function
 */
#define LIBXML_ATTR_ALLOC_SIZE(x)
/**
 * LIBXML_ATTR_FORMAT:
 *
 * Macro used to indicate to GCC the parameter are printf like
 */
#define LIBXML_ATTR_FORMAT(fmt,args)
#endif /* __GNUC__ */

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif


PK��Z@�yQ�f�flibxml/schemasInternals.hnu�[���/*
 * Summary: internal interfaces for XML Schemas
 * Description: internal interfaces for the XML Schemas handling
 *              and schema validity checking
 *		The Schemas development is a Work In Progress.
 *              Some of those interfaces are not guaranteed to be API or ABI stable !
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SCHEMA_INTERNALS_H__
#define __XML_SCHEMA_INTERNALS_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_SCHEMAS_ENABLED

#include <libxml/xmlregexp.h>
#include <libxml/hash.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef enum {
    XML_SCHEMAS_UNKNOWN = 0,
    XML_SCHEMAS_STRING = 1,
    XML_SCHEMAS_NORMSTRING = 2,
    XML_SCHEMAS_DECIMAL = 3,
    XML_SCHEMAS_TIME = 4,
    XML_SCHEMAS_GDAY = 5,
    XML_SCHEMAS_GMONTH = 6,
    XML_SCHEMAS_GMONTHDAY = 7,
    XML_SCHEMAS_GYEAR = 8,
    XML_SCHEMAS_GYEARMONTH = 9,
    XML_SCHEMAS_DATE = 10,
    XML_SCHEMAS_DATETIME = 11,
    XML_SCHEMAS_DURATION = 12,
    XML_SCHEMAS_FLOAT = 13,
    XML_SCHEMAS_DOUBLE = 14,
    XML_SCHEMAS_BOOLEAN = 15,
    XML_SCHEMAS_TOKEN = 16,
    XML_SCHEMAS_LANGUAGE = 17,
    XML_SCHEMAS_NMTOKEN = 18,
    XML_SCHEMAS_NMTOKENS = 19,
    XML_SCHEMAS_NAME = 20,
    XML_SCHEMAS_QNAME = 21,
    XML_SCHEMAS_NCNAME = 22,
    XML_SCHEMAS_ID = 23,
    XML_SCHEMAS_IDREF = 24,
    XML_SCHEMAS_IDREFS = 25,
    XML_SCHEMAS_ENTITY = 26,
    XML_SCHEMAS_ENTITIES = 27,
    XML_SCHEMAS_NOTATION = 28,
    XML_SCHEMAS_ANYURI = 29,
    XML_SCHEMAS_INTEGER = 30,
    XML_SCHEMAS_NPINTEGER = 31,
    XML_SCHEMAS_NINTEGER = 32,
    XML_SCHEMAS_NNINTEGER = 33,
    XML_SCHEMAS_PINTEGER = 34,
    XML_SCHEMAS_INT = 35,
    XML_SCHEMAS_UINT = 36,
    XML_SCHEMAS_LONG = 37,
    XML_SCHEMAS_ULONG = 38,
    XML_SCHEMAS_SHORT = 39,
    XML_SCHEMAS_USHORT = 40,
    XML_SCHEMAS_BYTE = 41,
    XML_SCHEMAS_UBYTE = 42,
    XML_SCHEMAS_HEXBINARY = 43,
    XML_SCHEMAS_BASE64BINARY = 44,
    XML_SCHEMAS_ANYTYPE = 45,
    XML_SCHEMAS_ANYSIMPLETYPE = 46
} xmlSchemaValType;

/*
 * XML Schemas defines multiple type of types.
 */
typedef enum {
    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
    XML_SCHEMA_TYPE_ANY,
    XML_SCHEMA_TYPE_FACET,
    XML_SCHEMA_TYPE_SIMPLE,
    XML_SCHEMA_TYPE_COMPLEX,
    XML_SCHEMA_TYPE_SEQUENCE = 6,
    XML_SCHEMA_TYPE_CHOICE,
    XML_SCHEMA_TYPE_ALL,
    XML_SCHEMA_TYPE_SIMPLE_CONTENT,
    XML_SCHEMA_TYPE_COMPLEX_CONTENT,
    XML_SCHEMA_TYPE_UR,
    XML_SCHEMA_TYPE_RESTRICTION,
    XML_SCHEMA_TYPE_EXTENSION,
    XML_SCHEMA_TYPE_ELEMENT,
    XML_SCHEMA_TYPE_ATTRIBUTE,
    XML_SCHEMA_TYPE_ATTRIBUTEGROUP,
    XML_SCHEMA_TYPE_GROUP,
    XML_SCHEMA_TYPE_NOTATION,
    XML_SCHEMA_TYPE_LIST,
    XML_SCHEMA_TYPE_UNION,
    XML_SCHEMA_TYPE_ANY_ATTRIBUTE,
    XML_SCHEMA_TYPE_IDC_UNIQUE,
    XML_SCHEMA_TYPE_IDC_KEY,
    XML_SCHEMA_TYPE_IDC_KEYREF,
    XML_SCHEMA_TYPE_PARTICLE = 25,
    XML_SCHEMA_TYPE_ATTRIBUTE_USE,
    XML_SCHEMA_FACET_MININCLUSIVE = 1000,
    XML_SCHEMA_FACET_MINEXCLUSIVE,
    XML_SCHEMA_FACET_MAXINCLUSIVE,
    XML_SCHEMA_FACET_MAXEXCLUSIVE,
    XML_SCHEMA_FACET_TOTALDIGITS,
    XML_SCHEMA_FACET_FRACTIONDIGITS,
    XML_SCHEMA_FACET_PATTERN,
    XML_SCHEMA_FACET_ENUMERATION,
    XML_SCHEMA_FACET_WHITESPACE,
    XML_SCHEMA_FACET_LENGTH,
    XML_SCHEMA_FACET_MAXLENGTH,
    XML_SCHEMA_FACET_MINLENGTH,
    XML_SCHEMA_EXTRA_QNAMEREF = 2000,
    XML_SCHEMA_EXTRA_ATTR_USE_PROHIB
} xmlSchemaTypeType;

typedef enum {
    XML_SCHEMA_CONTENT_UNKNOWN = 0,
    XML_SCHEMA_CONTENT_EMPTY = 1,
    XML_SCHEMA_CONTENT_ELEMENTS,
    XML_SCHEMA_CONTENT_MIXED,
    XML_SCHEMA_CONTENT_SIMPLE,
    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* Obsolete */
    XML_SCHEMA_CONTENT_BASIC,
    XML_SCHEMA_CONTENT_ANY
} xmlSchemaContentType;

typedef struct _xmlSchemaVal xmlSchemaVal;
typedef xmlSchemaVal *xmlSchemaValPtr;

typedef struct _xmlSchemaType xmlSchemaType;
typedef xmlSchemaType *xmlSchemaTypePtr;

typedef struct _xmlSchemaFacet xmlSchemaFacet;
typedef xmlSchemaFacet *xmlSchemaFacetPtr;

/**
 * Annotation
 */
typedef struct _xmlSchemaAnnot xmlSchemaAnnot;
typedef xmlSchemaAnnot *xmlSchemaAnnotPtr;
struct _xmlSchemaAnnot {
    struct _xmlSchemaAnnot *next;
    xmlNodePtr content;         /* the annotation */
};

/**
 * XML_SCHEMAS_ANYATTR_SKIP:
 *
 * Skip unknown attribute from validation
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_SKIP        1
/**
 * XML_SCHEMAS_ANYATTR_LAX:
 *
 * Ignore validation non definition on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_LAX                2
/**
 * XML_SCHEMAS_ANYATTR_STRICT:
 *
 * Apply strict validation rules on attributes
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ANYATTR_STRICT        3
/**
 * XML_SCHEMAS_ANY_SKIP:
 *
 * Skip unknown attribute from validation
 */
#define XML_SCHEMAS_ANY_SKIP        1
/**
 * XML_SCHEMAS_ANY_LAX:
 *
 * Used by wildcards.
 * Validate if type found, don't worry if not found
 */
#define XML_SCHEMAS_ANY_LAX                2
/**
 * XML_SCHEMAS_ANY_STRICT:
 *
 * Used by wildcards.
 * Apply strict validation rules
 */
#define XML_SCHEMAS_ANY_STRICT        3
/**
 * XML_SCHEMAS_ATTR_USE_PROHIBITED:
 *
 * Used by wildcards.
 * The attribute is prohibited.
 */
#define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
/**
 * XML_SCHEMAS_ATTR_USE_REQUIRED:
 *
 * The attribute is required.
 */
#define XML_SCHEMAS_ATTR_USE_REQUIRED 1
/**
 * XML_SCHEMAS_ATTR_USE_OPTIONAL:
 *
 * The attribute is optional.
 */
#define XML_SCHEMAS_ATTR_USE_OPTIONAL 2
/**
 * XML_SCHEMAS_ATTR_GLOBAL:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_GLOBAL        1 << 0
/**
 * XML_SCHEMAS_ATTR_NSDEFAULT:
 *
 * allow elements in no namespace
 */
#define XML_SCHEMAS_ATTR_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ATTR_INTERNAL_RESOLVED:
 *
 * this is set when the "type" and "ref" references
 * have been resolved.
 */
#define XML_SCHEMAS_ATTR_INTERNAL_RESOLVED        1 << 8
/**
 * XML_SCHEMAS_ATTR_FIXED:
 *
 * the attribute has a fixed value
 */
#define XML_SCHEMAS_ATTR_FIXED        1 << 9

/**
 * xmlSchemaAttribute:
 * An attribute definition.
 */

typedef struct _xmlSchemaAttribute xmlSchemaAttribute;
typedef xmlSchemaAttribute *xmlSchemaAttributePtr;
struct _xmlSchemaAttribute {
    xmlSchemaTypeType type;
    struct _xmlSchemaAttribute *next; /* the next attribute (not used?) */
    const xmlChar *name; /* the name of the declaration */
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    const xmlChar *typeName; /* the local name of the type definition */
    const xmlChar *typeNs; /* the ns URI of the type definition */
    xmlSchemaAnnotPtr annot;

    xmlSchemaTypePtr base; /* Deprecated; not used */
    int occurs; /* Deprecated; not used */
    const xmlChar *defValue; /* The initial value of the value constraint */
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlNodePtr node;
    const xmlChar *targetNamespace;
    int flags;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value constraint */
    xmlSchemaAttributePtr refDecl; /* Deprecated; not used */
};

/**
 * xmlSchemaAttributeLink:
 * Used to build a list of attribute uses on complexType definitions.
 * WARNING: Deprecated; not used.
 */
typedef struct _xmlSchemaAttributeLink xmlSchemaAttributeLink;
typedef xmlSchemaAttributeLink *xmlSchemaAttributeLinkPtr;
struct _xmlSchemaAttributeLink {
    struct _xmlSchemaAttributeLink *next;/* the next attribute link ... */
    struct _xmlSchemaAttribute *attr;/* the linked attribute */
};

/**
 * XML_SCHEMAS_WILDCARD_COMPLETE:
 *
 * If the wildcard is complete.
 */
#define XML_SCHEMAS_WILDCARD_COMPLETE 1 << 0

/**
 * xmlSchemaCharValueLink:
 * Used to build a list of namespaces on wildcards.
 */
typedef struct _xmlSchemaWildcardNs xmlSchemaWildcardNs;
typedef xmlSchemaWildcardNs *xmlSchemaWildcardNsPtr;
struct _xmlSchemaWildcardNs {
    struct _xmlSchemaWildcardNs *next;/* the next constraint link ... */
    const xmlChar *value;/* the value */
};

/**
 * xmlSchemaWildcard.
 * A wildcard.
 */
typedef struct _xmlSchemaWildcard xmlSchemaWildcard;
typedef xmlSchemaWildcard *xmlSchemaWildcardPtr;
struct _xmlSchemaWildcard {
    xmlSchemaTypeType type;        /* The kind of type */
    const xmlChar *id; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */
    int processContents;
    int any; /* Indicates if the ns constraint is of ##any */
    xmlSchemaWildcardNsPtr nsSet; /* The list of allowed namespaces */
    xmlSchemaWildcardNsPtr negNsSet; /* The negated namespace */
    int flags;
};

/**
 * XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED:
 *
 * The attribute wildcard has been already builded.
 */
#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED 1 << 0
/**
 * XML_SCHEMAS_ATTRGROUP_GLOBAL:
 *
 * The attribute wildcard has been already builded.
 */
#define XML_SCHEMAS_ATTRGROUP_GLOBAL 1 << 1
/**
 * XML_SCHEMAS_ATTRGROUP_MARKED:
 *
 * Marks the attr group as marked; used for circular checks.
 */
#define XML_SCHEMAS_ATTRGROUP_MARKED 1 << 2

/**
 * XML_SCHEMAS_ATTRGROUP_REDEFINED:
 *
 * The attr group was redefined.
 */
#define XML_SCHEMAS_ATTRGROUP_REDEFINED 1 << 3
/**
 * XML_SCHEMAS_ATTRGROUP_HAS_REFS:
 *
 * Whether this attr. group contains attr. group references.
 */
#define XML_SCHEMAS_ATTRGROUP_HAS_REFS 1 << 4

/**
 * An attribute group definition.
 *
 * xmlSchemaAttribute and xmlSchemaAttributeGroup start of structures
 * must be kept similar
 */
typedef struct _xmlSchemaAttributeGroup xmlSchemaAttributeGroup;
typedef xmlSchemaAttributeGroup *xmlSchemaAttributeGroupPtr;
struct _xmlSchemaAttributeGroup {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaAttribute *next;/* the next attribute if in a group ... */
    const xmlChar *name;
    const xmlChar *id;
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;

    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int flags;
    xmlSchemaWildcardPtr attributeWildcard;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaAttributeGroupPtr refItem; /* Deprecated; not used */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/**
 * xmlSchemaTypeLink:
 * Used to build a list of types (e.g. member types of
 * simpleType with variety "union").
 */
typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
struct _xmlSchemaTypeLink {
    struct _xmlSchemaTypeLink *next;/* the next type link ... */
    xmlSchemaTypePtr type;/* the linked type */
};

/**
 * xmlSchemaFacetLink:
 * Used to build a list of facets.
 */
typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
struct _xmlSchemaFacetLink {
    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
    xmlSchemaFacetPtr facet;/* the linked facet */
};

/**
 * XML_SCHEMAS_TYPE_MIXED:
 *
 * the element content type is mixed
 */
#define XML_SCHEMAS_TYPE_MIXED                1 << 0
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION:
 *
 * the simple or complex type has a derivation method of "extension".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION                1 << 1
/**
 * XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION:
 *
 * the simple or complex type has a derivation method of "restriction".
 */
#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION                1 << 2
/**
 * XML_SCHEMAS_TYPE_GLOBAL:
 *
 * the type is global
 */
#define XML_SCHEMAS_TYPE_GLOBAL                1 << 3
/**
 * XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD:
 *
 * the complexType owns an attribute wildcard, i.e.
 * it can be freed by the complexType
 */
#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4 /* Obsolete. */
/**
 * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
 *
 * the simpleType has a variety of "absent".
 * TODO: Actually not necessary :-/, since if
 * none of the variety flags occur then it's
 * automatically absent.
 */
#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
/**
 * XML_SCHEMAS_TYPE_VARIETY_LIST:
 *
 * the simpleType has a variety of "list".
 */
#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
/**
 * XML_SCHEMAS_TYPE_VARIETY_UNION:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
/**
 * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
 *
 * the simpleType has a variety of "union".
 */
#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
/**
 * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
 *
 * the complexType has a final of "extension".
 */
#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
/**
 * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
 *
 * the simpleType/complexType has a final of "restriction".
 */
#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
/**
 * XML_SCHEMAS_TYPE_FINAL_LIST:
 *
 * the simpleType has a final of "list".
 */
#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
/**
 * XML_SCHEMAS_TYPE_FINAL_UNION:
 *
 * the simpleType has a final of "union".
 */
#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
/**
 * XML_SCHEMAS_TYPE_FINAL_DEFAULT:
 *
 * the simpleType has a final of "default".
 */
#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
/**
 * XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE:
 *
 * Marks the item as a builtin primitive.
 */
#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
/**
 * XML_SCHEMAS_TYPE_MARKED:
 *
 * Marks the item as marked; used for circular checks.
 */
#define XML_SCHEMAS_TYPE_MARKED        1 << 16
/**
 * XML_SCHEMAS_TYPE_BLOCK_DEFAULT:
 *
 * the complexType did not specify 'block' so use the default of the
 * <schema> item.
 */
#define XML_SCHEMAS_TYPE_BLOCK_DEFAULT    1 << 17
/**
 * XML_SCHEMAS_TYPE_BLOCK_EXTENSION:
 *
 * the complexType has a 'block' of "extension".
 */
#define XML_SCHEMAS_TYPE_BLOCK_EXTENSION    1 << 18
/**
 * XML_SCHEMAS_TYPE_BLOCK_RESTRICTION:
 *
 * the complexType has a 'block' of "restriction".
 */
#define XML_SCHEMAS_TYPE_BLOCK_RESTRICTION    1 << 19
/**
 * XML_SCHEMAS_TYPE_ABSTRACT:
 *
 * the simple/complexType is abstract.
 */
#define XML_SCHEMAS_TYPE_ABSTRACT    1 << 20
/**
 * XML_SCHEMAS_TYPE_FACETSNEEDVALUE:
 *
 * indicates if the facets need a computed value
 */
#define XML_SCHEMAS_TYPE_FACETSNEEDVALUE    1 << 21
/**
 * XML_SCHEMAS_TYPE_INTERNAL_RESOLVED:
 *
 * indicates that the type was typefixed
 */
#define XML_SCHEMAS_TYPE_INTERNAL_RESOLVED    1 << 22
/**
 * XML_SCHEMAS_TYPE_INTERNAL_INVALID:
 *
 * indicates that the type is invalid
 */
#define XML_SCHEMAS_TYPE_INTERNAL_INVALID    1 << 23
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE:
 *
 * a whitespace-facet value of "preserve"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE    1 << 24
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_REPLACE:
 *
 * a whitespace-facet value of "replace"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_REPLACE    1 << 25
/**
 * XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE:
 *
 * a whitespace-facet value of "collapse"
 */
#define XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE    1 << 26
/**
 * XML_SCHEMAS_TYPE_HAS_FACETS:
 *
 * has facets
 */
#define XML_SCHEMAS_TYPE_HAS_FACETS    1 << 27
/**
 * XML_SCHEMAS_TYPE_NORMVALUENEEDED:
 *
 * indicates if the facets (pattern) need a normalized value
 */
#define XML_SCHEMAS_TYPE_NORMVALUENEEDED    1 << 28

/**
 * XML_SCHEMAS_TYPE_FIXUP_1:
 *
 * First stage of fixup was done.
 */
#define XML_SCHEMAS_TYPE_FIXUP_1    1 << 29

/**
 * XML_SCHEMAS_TYPE_REDEFINED:
 *
 * The type was redefined.
 */
#define XML_SCHEMAS_TYPE_REDEFINED    1 << 30
/**
 * XML_SCHEMAS_TYPE_REDEFINING:
 *
 * The type redefines an other type.
 */
/* #define XML_SCHEMAS_TYPE_REDEFINING    1 << 31 */

/**
 * _xmlSchemaType:
 *
 * Schemas type definition.
 */
struct _xmlSchemaType {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* the next type if in a sequence ... */
    const xmlChar *name;
    const xmlChar *id ; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes;
    xmlSchemaAttributePtr attributes; /* Deprecated; not used */
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    xmlSchemaContentType contentType;
    const xmlChar *base; /* Base type's local name */
    const xmlChar *baseNs; /* Base type's target namespace */
    xmlSchemaTypePtr baseType; /* The base type component */
    xmlSchemaFacetPtr facets; /* Local facets */
    struct _xmlSchemaType *redef; /* Deprecated; not used */
    int recurse; /* Obsolete */
    xmlSchemaAttributeLinkPtr *attributeUses; /* Deprecated; not used */
    xmlSchemaWildcardPtr attributeWildcard;
    int builtInType; /* Type of built-in types. */
    xmlSchemaTypeLinkPtr memberTypes; /* member-types if a union type. */
    xmlSchemaFacetLinkPtr facetSet; /* All facets (incl. inherited) */
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaTypePtr contentTypeDef; /* Used for the simple content of complex types.
                                        Could we use @subtypes for this? */
    xmlRegexpPtr contModel; /* Holds the automaton of the content model */
    const xmlChar *targetNamespace;
    void *attrUses;
};

/*
 * xmlSchemaElement:
 * An element definition.
 *
 * xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
 * structures must be kept similar
 */
/**
 * XML_SCHEMAS_ELEM_NILLABLE:
 *
 * the element is nillable
 */
#define XML_SCHEMAS_ELEM_NILLABLE        1 << 0
/**
 * XML_SCHEMAS_ELEM_GLOBAL:
 *
 * the element is global
 */
#define XML_SCHEMAS_ELEM_GLOBAL                1 << 1
/**
 * XML_SCHEMAS_ELEM_DEFAULT:
 *
 * the element has a default value
 */
#define XML_SCHEMAS_ELEM_DEFAULT        1 << 2
/**
 * XML_SCHEMAS_ELEM_FIXED:
 *
 * the element has a fixed value
 */
#define XML_SCHEMAS_ELEM_FIXED                1 << 3
/**
 * XML_SCHEMAS_ELEM_ABSTRACT:
 *
 * the element is abstract
 */
#define XML_SCHEMAS_ELEM_ABSTRACT        1 << 4
/**
 * XML_SCHEMAS_ELEM_TOPLEVEL:
 *
 * the element is top level
 * obsolete: use XML_SCHEMAS_ELEM_GLOBAL instead
 */
#define XML_SCHEMAS_ELEM_TOPLEVEL        1 << 5
/**
 * XML_SCHEMAS_ELEM_REF:
 *
 * the element is a reference to a type
 */
#define XML_SCHEMAS_ELEM_REF                1 << 6
/**
 * XML_SCHEMAS_ELEM_NSDEFAULT:
 *
 * allow elements in no namespace
 * Obsolete, not used anymore.
 */
#define XML_SCHEMAS_ELEM_NSDEFAULT        1 << 7
/**
 * XML_SCHEMAS_ELEM_INTERNAL_RESOLVED:
 *
 * this is set when "type", "ref", "substitutionGroup"
 * references have been resolved.
 */
#define XML_SCHEMAS_ELEM_INTERNAL_RESOLVED        1 << 8
 /**
 * XML_SCHEMAS_ELEM_CIRCULAR:
 *
 * a helper flag for the search of circular references.
 */
#define XML_SCHEMAS_ELEM_CIRCULAR        1 << 9
/**
 * XML_SCHEMAS_ELEM_BLOCK_ABSENT:
 *
 * the "block" attribute is absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_ABSENT        1 << 10
/**
 * XML_SCHEMAS_ELEM_BLOCK_EXTENSION:
 *
 * disallowed substitutions are absent
 */
#define XML_SCHEMAS_ELEM_BLOCK_EXTENSION        1 << 11
/**
 * XML_SCHEMAS_ELEM_BLOCK_RESTRICTION:
 *
 * disallowed substitutions: "restriction"
 */
#define XML_SCHEMAS_ELEM_BLOCK_RESTRICTION        1 << 12
/**
 * XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION:
 *
 * disallowed substitutions: "substituion"
 */
#define XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION        1 << 13
/**
 * XML_SCHEMAS_ELEM_FINAL_ABSENT:
 *
 * substitution group exclusions are absent
 */
#define XML_SCHEMAS_ELEM_FINAL_ABSENT        1 << 14
/**
 * XML_SCHEMAS_ELEM_FINAL_EXTENSION:
 *
 * substitution group exclusions: "extension"
 */
#define XML_SCHEMAS_ELEM_FINAL_EXTENSION        1 << 15
/**
 * XML_SCHEMAS_ELEM_FINAL_RESTRICTION:
 *
 * substitution group exclusions: "restriction"
 */
#define XML_SCHEMAS_ELEM_FINAL_RESTRICTION        1 << 16
/**
 * XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD:
 *
 * the declaration is a substitution group head
 */
#define XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD        1 << 17
/**
 * XML_SCHEMAS_ELEM_INTERNAL_CHECKED:
 *
 * this is set when the elem decl has been checked against
 * all constraints
 */
#define XML_SCHEMAS_ELEM_INTERNAL_CHECKED        1 << 18

typedef struct _xmlSchemaElement xmlSchemaElement;
typedef xmlSchemaElement *xmlSchemaElementPtr;
struct _xmlSchemaElement {
    xmlSchemaTypeType type; /* The kind of type */
    struct _xmlSchemaType *next; /* Not used? */
    const xmlChar *name;
    const xmlChar *id; /* Deprecated; not used */
    const xmlChar *ref; /* Deprecated; not used */
    const xmlChar *refNs; /* Deprecated; not used */
    xmlSchemaAnnotPtr annot;
    xmlSchemaTypePtr subtypes; /* the type definition */
    xmlSchemaAttributePtr attributes;
    xmlNodePtr node;
    int minOccurs; /* Deprecated; not used */
    int maxOccurs; /* Deprecated; not used */

    int flags;
    const xmlChar *targetNamespace;
    const xmlChar *namedType;
    const xmlChar *namedTypeNs;
    const xmlChar *substGroup;
    const xmlChar *substGroupNs;
    const xmlChar *scope;
    const xmlChar *value; /* The original value of the value constraint. */
    struct _xmlSchemaElement *refDecl; /* This will now be used for the
                                          substitution group affiliation */
    xmlRegexpPtr contModel; /* Obsolete for WXS, maybe used for RelaxNG */
    xmlSchemaContentType contentType;
    const xmlChar *refPrefix; /* Deprecated; not used */
    xmlSchemaValPtr defVal; /* The compiled value contraint. */
    void *idcs; /* The identity-constraint defs */
};

/*
 * XML_SCHEMAS_FACET_UNKNOWN:
 *
 * unknown facet handling
 */
#define XML_SCHEMAS_FACET_UNKNOWN        0
/*
 * XML_SCHEMAS_FACET_PRESERVE:
 *
 * preserve the type of the facet
 */
#define XML_SCHEMAS_FACET_PRESERVE        1
/*
 * XML_SCHEMAS_FACET_REPLACE:
 *
 * replace the type of the facet
 */
#define XML_SCHEMAS_FACET_REPLACE        2
/*
 * XML_SCHEMAS_FACET_COLLAPSE:
 *
 * collapse the types of the facet
 */
#define XML_SCHEMAS_FACET_COLLAPSE        3
/**
 * A facet definition.
 */
struct _xmlSchemaFacet {
    xmlSchemaTypeType type;        /* The kind of type */
    struct _xmlSchemaFacet *next;/* the next type if in a sequence ... */
    const xmlChar *value; /* The original value */
    const xmlChar *id; /* Obsolete */
    xmlSchemaAnnotPtr annot;
    xmlNodePtr node;
    int fixed; /* XML_SCHEMAS_FACET_PRESERVE, etc. */
    int whitespace;
    xmlSchemaValPtr val; /* The compiled value */
    xmlRegexpPtr    regexp; /* The regex for patterns */
};

/**
 * A notation definition.
 */
typedef struct _xmlSchemaNotation xmlSchemaNotation;
typedef xmlSchemaNotation *xmlSchemaNotationPtr;
struct _xmlSchemaNotation {
    xmlSchemaTypeType type; /* The kind of type */
    const xmlChar *name;
    xmlSchemaAnnotPtr annot;
    const xmlChar *identifier;
    const xmlChar *targetNamespace;
};

/*
* TODO: Actually all those flags used for the schema should sit
* on the schema parser context, since they are used only
* during parsing an XML schema document, and not available
* on the component level as per spec.
*/
/**
 * XML_SCHEMAS_QUALIF_ELEM:
 *
 * Reflects elementFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ELEM                1 << 0
/**
 * XML_SCHEMAS_QUALIF_ATTR:
 *
 * Reflects attributeFormDefault == qualified in
 * an XML schema document.
 */
#define XML_SCHEMAS_QUALIF_ATTR            1 << 1
/**
 * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION        1 << 2
/**
 * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION            1 << 3
/**
 * XML_SCHEMAS_FINAL_DEFAULT_LIST:
 *
 * the cshema has "list" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_LIST            1 << 4
/**
 * XML_SCHEMAS_FINAL_DEFAULT_UNION:
 *
 * the schema has "union" in the set of finalDefault.
 */
#define XML_SCHEMAS_FINAL_DEFAULT_UNION            1 << 5
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION:
 *
 * the schema has "extension" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION            1 << 6
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION:
 *
 * the schema has "restriction" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION            1 << 7
/**
 * XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION:
 *
 * the schema has "substitution" in the set of blockDefault.
 */
#define XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION            1 << 8
/**
 * XML_SCHEMAS_INCLUDING_CONVERT_NS:
 *
 * the schema is currently including an other schema with
 * no target namespace.
 */
#define XML_SCHEMAS_INCLUDING_CONVERT_NS            1 << 9
/**
 * _xmlSchema:
 *
 * A Schemas definition
 */
struct _xmlSchema {
    const xmlChar *name; /* schema name */
    const xmlChar *targetNamespace; /* the target namespace */
    const xmlChar *version;
    const xmlChar *id; /* Obsolete */
    xmlDocPtr doc;
    xmlSchemaAnnotPtr annot;
    int flags;

    xmlHashTablePtr typeDecl;
    xmlHashTablePtr attrDecl;
    xmlHashTablePtr attrgrpDecl;
    xmlHashTablePtr elemDecl;
    xmlHashTablePtr notaDecl;

    xmlHashTablePtr schemasImports;

    void *_private;        /* unused by the library for users or bindings */
    xmlHashTablePtr groupDecl;
    xmlDictPtr      dict;
    void *includes;     /* the includes, this is opaque for now */
    int preserve;        /* whether to free the document */
    int counter; /* used to give ononymous components unique names */
    xmlHashTablePtr idcDef; /* All identity-constraint defs. */
    void *volatiles; /* Obsolete */
};

XMLPUBFUN void XMLCALL         xmlSchemaFreeType        (xmlSchemaTypePtr type);
XMLPUBFUN void XMLCALL         xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_SCHEMAS_ENABLED */
#endif /* __XML_SCHEMA_INTERNALS_H__ */
PK��Z��f�\\
libxml/hash.hnu�[���/*
 * Summary: Chained hash tables
 * Description: This module implements the hash table support used in
 *		various places in the library.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Bjorn Reese <bjorn.reese@systematic.dk>
 */

#ifndef __XML_HASH_H__
#define __XML_HASH_H__

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The hash table.
 */
typedef struct _xmlHashTable xmlHashTable;
typedef xmlHashTable *xmlHashTablePtr;

#ifdef __cplusplus
}
#endif

#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/dict.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Recent version of gcc produce a warning when a function pointer is assigned
 * to an object pointer, or vice versa.  The following macro is a dirty hack
 * to allow suppression of the warning.  If your architecture has function
 * pointers which are a different size than a void pointer, there may be some
 * serious trouble within the library.
 */
/**
 * XML_CAST_FPTR:
 * @fptr:  pointer to a function
 *
 * Macro to do a casting from an object pointer to a
 * function pointer without encountering a warning from
 * gcc
 *
 * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
 * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
 * so it is disabled now
 */

#define XML_CAST_FPTR(fptr) fptr


/*
 * function types:
 */
/**
 * xmlHashDeallocator:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to free data from a hash.
 */
typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name);
/**
 * xmlHashCopier:
 * @payload:  the data in the hash
 * @name:  the name associated
 *
 * Callback to copy data from a hash.
 *
 * Returns a copy of the data or NULL in case of error.
 */
typedef void *(*xmlHashCopier)(void *payload, xmlChar *name);
/**
 * xmlHashScanner:
 * @payload:  the data in the hash
 * @data:  extra scannner data
 * @name:  the name associated
 *
 * Callback when scanning data in a hash with the simple scanner.
 */
typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name);
/**
 * xmlHashScannerFull:
 * @payload:  the data in the hash
 * @data:  extra scannner data
 * @name:  the name associated
 * @name2:  the second name associated
 * @name3:  the third name associated
 *
 * Callback when scanning data in a hash with the full scanner.
 */
typedef void (*xmlHashScannerFull)(void *payload, void *data,
				   const xmlChar *name, const xmlChar *name2,
				   const xmlChar *name3);

/*
 * Constructor and destructor.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreate	(int size);
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCreateDict(int size,
					 xmlDictPtr dict);
XMLPUBFUN void XMLCALL
			xmlHashFree	(xmlHashTablePtr table,
					 xmlHashDeallocator f);

/*
 * Add a new entry to the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashAddEntry	(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry2(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         void *userdata,
					 xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashAddEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata);
XMLPUBFUN int XMLCALL
			xmlHashUpdateEntry3(xmlHashTablePtr table,
		                         const xmlChar *name,
		                         const xmlChar *name2,
		                         const xmlChar *name3,
		                         void *userdata,
					 xmlHashDeallocator f);

/*
 * Remove an entry from the hash table.
 */
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
                           xmlHashDeallocator f);
XMLPUBFUN int XMLCALL
			xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, xmlHashDeallocator f);
XMLPUBFUN int  XMLCALL
			xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
                            const xmlChar *name2, const xmlChar *name3,
                            xmlHashDeallocator f);

/*
 * Retrieve the userdata.
 */
XMLPUBFUN void * XMLCALL
			xmlHashLookup	(xmlHashTablePtr table,
					 const xmlChar *name);
XMLPUBFUN void * XMLCALL
			xmlHashLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2);
XMLPUBFUN void * XMLCALL
			xmlHashLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup2	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2);
XMLPUBFUN void * XMLCALL
			xmlHashQLookup3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *prefix,
					 const xmlChar *name2,
					 const xmlChar *prefix2,
					 const xmlChar *name3,
					 const xmlChar *prefix3);

/*
 * Helpers.
 */
XMLPUBFUN xmlHashTablePtr XMLCALL
			xmlHashCopy	(xmlHashTablePtr table,
					 xmlHashCopier f);
XMLPUBFUN int XMLCALL
			xmlHashSize	(xmlHashTablePtr table);
XMLPUBFUN void XMLCALL
			xmlHashScan	(xmlHashTablePtr table,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScan3	(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScanner f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull	(xmlHashTablePtr table,
					 xmlHashScannerFull f,
					 void *data);
XMLPUBFUN void XMLCALL
			xmlHashScanFull3(xmlHashTablePtr table,
					 const xmlChar *name,
					 const xmlChar *name2,
					 const xmlChar *name3,
					 xmlHashScannerFull f,
					 void *data);
#ifdef __cplusplus
}
#endif
#endif /* ! __XML_HASH_H__ */
PK��Z�,
?1?1libxml/xmlreader.hnu�[���/*
 * Summary: the XMLReader implementation
 * Description: API of the XML streaming API based on C# interfaces.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_XMLREADER_H__
#define __XML_XMLREADER_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/xmlIO.h>
#ifdef LIBXML_SCHEMAS_ENABLED
#include <libxml/relaxng.h>
#include <libxml/xmlschemas.h>
#endif

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlParserSeverities:
 *
 * How severe an error callback is when the per-reader error callback API
 * is used.
 */
typedef enum {
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
    XML_PARSER_SEVERITY_WARNING = 3,
    XML_PARSER_SEVERITY_ERROR = 4
} xmlParserSeverities;

#ifdef LIBXML_READER_ENABLED

/**
 * xmlTextReaderMode:
 *
 * Internal state values for the reader.
 */
typedef enum {
    XML_TEXTREADER_MODE_INITIAL = 0,
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
    XML_TEXTREADER_MODE_ERROR = 2,
    XML_TEXTREADER_MODE_EOF =3,
    XML_TEXTREADER_MODE_CLOSED = 4,
    XML_TEXTREADER_MODE_READING = 5
} xmlTextReaderMode;

/**
 * xmlParserProperties:
 *
 * Some common options to use with xmlTextReaderSetParserProp, but it
 * is better to use xmlParserOption and the xmlReaderNewxxx and
 * xmlReaderForxxx APIs now.
 */
typedef enum {
    XML_PARSER_LOADDTD = 1,
    XML_PARSER_DEFAULTATTRS = 2,
    XML_PARSER_VALIDATE = 3,
    XML_PARSER_SUBST_ENTITIES = 4
} xmlParserProperties;

/**
 * xmlReaderTypes:
 *
 * Predefined constants for the different types of nodes.
 */
typedef enum {
    XML_READER_TYPE_NONE = 0,
    XML_READER_TYPE_ELEMENT = 1,
    XML_READER_TYPE_ATTRIBUTE = 2,
    XML_READER_TYPE_TEXT = 3,
    XML_READER_TYPE_CDATA = 4,
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
    XML_READER_TYPE_ENTITY = 6,
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
    XML_READER_TYPE_COMMENT = 8,
    XML_READER_TYPE_DOCUMENT = 9,
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
    XML_READER_TYPE_NOTATION = 12,
    XML_READER_TYPE_WHITESPACE = 13,
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
    XML_READER_TYPE_END_ELEMENT = 15,
    XML_READER_TYPE_END_ENTITY = 16,
    XML_READER_TYPE_XML_DECLARATION = 17
} xmlReaderTypes;

/**
 * xmlTextReader:
 *
 * Structure for an xmlReader context.
 */
typedef struct _xmlTextReader xmlTextReader;

/**
 * xmlTextReaderPtr:
 *
 * Pointer to an xmlReader context.
 */
typedef xmlTextReader *xmlTextReaderPtr;

/*
 * Constructors & Destructor
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReader	(xmlParserInputBufferPtr input,
	                                         const char *URI);
XMLPUBFUN xmlTextReaderPtr XMLCALL
			xmlNewTextReaderFilename(const char *URI);

XMLPUBFUN void XMLCALL
			xmlFreeTextReader	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderSetup(xmlTextReaderPtr reader,
                   xmlParserInputBufferPtr input, const char *URL,
                   const char *encoding, int options);

/*
 * Iterators
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderRead	(xmlTextReaderPtr reader);

#ifdef LIBXML_WRITER_ENABLED
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
#endif

XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderReadString	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);

/*
 * Attributes of the node
 */
XMLPUBFUN int XMLCALL
			xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderDepth	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderHasValue(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsDefault	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderNodeType	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderQuoteChar	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
			xmlTextReaderReadState	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
                        xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);

XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstName	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstString	(xmlTextReaderPtr reader,
						 const xmlChar *str);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstValue	(xmlTextReaderPtr reader);

/*
 * use the Const version of the routine for
 * better performance and simpler code
 */
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderBaseUri	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderLocalName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderName	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderPrefix	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderXmlLang	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
			xmlTextReaderValue	(xmlTextReaderPtr reader);

/*
 * Methods of the XmlTextReader
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderClose		(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNo	(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttribute	(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderGetAttributeNs	(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
		    xmlTextReaderGetRemainder	(xmlTextReaderPtr reader);
XMLPUBFUN xmlChar * XMLCALL
		    xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
						 const xmlChar *prefix);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
						 int no);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
						 const xmlChar *name);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
						 const xmlChar *localName,
						 const xmlChar *namespaceURI);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderMoveToElement	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNormalization	(xmlTextReaderPtr reader);
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstEncoding  (xmlTextReaderPtr reader);

/*
 * Extensions
 */
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetParserProp	(xmlTextReaderPtr reader,
						 int prop,
						 int value);
XMLPUBFUN int XMLCALL
		    xmlTextReaderGetParserProp	(xmlTextReaderPtr reader,
						 int prop);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderCurrentNode	(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);

XMLPUBFUN int XMLCALL
            xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);

XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderPreserve	(xmlTextReaderPtr reader);
#ifdef LIBXML_PATTERN_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
						 const xmlChar *pattern,
						 const xmlChar **namespaces);
#endif /* LIBXML_PATTERN_ENABLED */
XMLPUBFUN xmlDocPtr XMLCALL
		    xmlTextReaderCurrentDoc	(xmlTextReaderPtr reader);
XMLPUBFUN xmlNodePtr XMLCALL
		    xmlTextReaderExpand		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNext		(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderNextSibling	(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderIsValid	(xmlTextReaderPtr reader);
#ifdef LIBXML_SCHEMAS_ENABLED
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
						 const char *rng);
XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
						 xmlRelaxNGValidCtxtPtr ctxt,
						 int options);

XMLPUBFUN int XMLCALL
		    xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
						 xmlRelaxNGPtr schema);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidate	(xmlTextReaderPtr reader,
						 const char *xsd);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
						 xmlSchemaValidCtxtPtr ctxt,
						 int options);
XMLPUBFUN int XMLCALL
		    xmlTextReaderSetSchema	(xmlTextReaderPtr reader,
						 xmlSchemaPtr schema);
#endif
XMLPUBFUN const xmlChar * XMLCALL
		    xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
XMLPUBFUN int XMLCALL
		    xmlTextReaderStandalone     (xmlTextReaderPtr reader);


/*
 * Index lookup
 */
XMLPUBFUN long XMLCALL
		xmlTextReaderByteConsumed	(xmlTextReaderPtr reader);

/*
 * New more complete APIs for simpler creation and reuse of readers
 */
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderWalker		(xmlDocPtr doc);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForDoc		(const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFile	(const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForMemory	(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlTextReaderPtr XMLCALL
		xmlReaderForIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

XMLPUBFUN int XMLCALL
		xmlReaderNewWalker	(xmlTextReaderPtr reader,
					 xmlDocPtr doc);
XMLPUBFUN int XMLCALL
		xmlReaderNewDoc		(xmlTextReaderPtr reader,
					 const xmlChar * cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFile	(xmlTextReaderPtr reader,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewMemory	(xmlTextReaderPtr reader,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewFd		(xmlTextReaderPtr reader,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN int XMLCALL
		xmlReaderNewIO		(xmlTextReaderPtr reader,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
/*
 * Error handling extensions
 */
typedef void *  xmlTextReaderLocatorPtr;

/**
 * xmlTextReaderErrorFunc:
 * @arg: the user argument
 * @msg: the message
 * @severity: the severity of the error
 * @locator: a locator indicating where the error occurred
 *
 * Signature of an error callback from a reader parser
 */
typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
					       const char *msg,
					       xmlParserSeverities severity,
					       xmlTextReaderLocatorPtr locator);
XMLPUBFUN int XMLCALL
	    xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
XMLPUBFUN xmlChar * XMLCALL
	    xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc f,
					 void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
						   xmlStructuredErrorFunc f,
						   void *arg);
XMLPUBFUN void XMLCALL
	    xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
					 xmlTextReaderErrorFunc *f,
					 void **arg);

#endif /* LIBXML_READER_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_XMLREADER_H__ */

PK��Z@�hԇ�libxml/xmlstring.hnu�[���/*
 * Summary: set of routines to process strings
 * Description: type and interfaces needed for the internal string handling
 *              of the library, especially UTF8 processing.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_STRING_H__
#define __XML_STRING_H__

#include <stdarg.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlChar:
 *
 * This is a basic byte in an UTF-8 encoded string.
 * It's unsigned allowing to pinpoint case where char * are assigned
 * to xmlChar * (possibly making serialization back impossible).
 */
typedef unsigned char xmlChar;

/**
 * BAD_CAST:
 *
 * Macro to cast a string to an xmlChar * when one know its safe.
 */
#define BAD_CAST (xmlChar *)

/*
 * xmlChar handling
 */
XMLPUBFUN xmlChar * XMLCALL
                xmlStrdup                (const xmlChar *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrndup               (const xmlChar *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrndup           (const char *cur,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlCharStrdup            (const char *cur);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrsub                (const xmlChar *str,
                                         int start,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrchr                (const xmlChar *str,
                                         xmlChar val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrstr                (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN const xmlChar * XMLCALL
                xmlStrcasestr            (const xmlChar *str,
                                         const xmlChar *val);
XMLPUBFUN int XMLCALL
                xmlStrcmp                (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncmp               (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrcasecmp            (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrncasecmp           (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrEqual              (const xmlChar *str1,
                                         const xmlChar *str2);
XMLPUBFUN int XMLCALL
                xmlStrQEqual             (const xmlChar *pref,
                                         const xmlChar *name,
                                         const xmlChar *str);
XMLPUBFUN int XMLCALL
                xmlStrlen                (const xmlChar *str);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrcat                (xmlChar *cur,
                                         const xmlChar *add);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncat               (xmlChar *cur,
                                         const xmlChar *add,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
                xmlStrncatNew            (const xmlChar *str1,
                                         const xmlChar *str2,
                                         int len);
XMLPUBFUN int XMLCALL
                xmlStrPrintf             (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         ...) LIBXML_ATTR_FORMAT(3,4);
XMLPUBFUN int XMLCALL
                xmlStrVPrintf                (xmlChar *buf,
                                         int len,
                                         const char *msg,
                                         va_list ap) LIBXML_ATTR_FORMAT(3,0);

XMLPUBFUN int XMLCALL
        xmlGetUTF8Char                   (const unsigned char *utf,
                                         int *len);
XMLPUBFUN int XMLCALL
        xmlCheckUTF8                     (const unsigned char *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Strsize                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strndup                   (const xmlChar *utf,
                                         int len);
XMLPUBFUN const xmlChar * XMLCALL
        xmlUTF8Strpos                    (const xmlChar *utf,
                                         int pos);
XMLPUBFUN int XMLCALL
        xmlUTF8Strloc                    (const xmlChar *utf,
                                         const xmlChar *utfchar);
XMLPUBFUN xmlChar * XMLCALL
        xmlUTF8Strsub                    (const xmlChar *utf,
                                         int start,
                                         int len);
XMLPUBFUN int XMLCALL
        xmlUTF8Strlen                    (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Size                      (const xmlChar *utf);
XMLPUBFUN int XMLCALL
        xmlUTF8Charcmp                   (const xmlChar *utf1,
                                         const xmlChar *utf2);

#ifdef __cplusplus
}
#endif
#endif /* __XML_STRING_H__ */
PK��Z$��PPlibxml/xmlexports.hnu�[���/*
 * Summary: macros for marking symbols as exportable/importable.
 * Description: macros for marking symbols as exportable/importable.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Igor Zlatovic <igor@zlatkovic.com>
 */

#ifndef __XML_EXPORTS_H__
#define __XML_EXPORTS_H__

/**
 * XMLPUBFUN, XMLPUBVAR, XMLCALL
 *
 * Macros which declare an exportable function, an exportable variable and
 * the calling convention used for functions.
 *
 * Please use an extra block for every platform/compiler combination when
 * modifying this, rather than overlong #ifdef lines. This helps
 * readability as well as the fact that different compilers on the same
 * platform might need different definitions.
 */

/**
 * XMLPUBFUN:
 *
 * Macros which declare an exportable function
 */
#define XMLPUBFUN
/**
 * XMLPUBVAR:
 *
 * Macros which declare an exportable variable
 */
#define XMLPUBVAR extern
/**
 * XMLCALL:
 *
 * Macros which declare the called convention for exported functions
 */
#define XMLCALL
/**
 * XMLCDECL:
 *
 * Macro which declares the calling convention for exported functions that
 * use '...'.
 */
#define XMLCDECL

/** DOC_DISABLE */

/* Windows platform with MS compiler */
#if defined(_WIN32) && defined(_MSC_VER)
  #undef XMLPUBFUN
  #undef XMLPUBVAR
  #undef XMLCALL
  #undef XMLCDECL
  #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
    #define XMLPUBFUN __declspec(dllexport)
    #define XMLPUBVAR __declspec(dllexport)
  #else
    #define XMLPUBFUN
    #if !defined(LIBXML_STATIC)
      #define XMLPUBVAR __declspec(dllimport) extern
    #else
      #define XMLPUBVAR extern
    #endif
  #endif
  #if defined(LIBXML_FASTCALL)
    #define XMLCALL __fastcall
  #else
    #define XMLCALL __cdecl
  #endif
  #define XMLCDECL __cdecl
  #if !defined _REENTRANT
    #define _REENTRANT
  #endif
#endif

/* Windows platform with Borland compiler */
#if defined(_WIN32) && defined(__BORLANDC__)
  #undef XMLPUBFUN
  #undef XMLPUBVAR
  #undef XMLCALL
  #undef XMLCDECL
  #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
    #define XMLPUBFUN __declspec(dllexport)
    #define XMLPUBVAR __declspec(dllexport) extern
  #else
    #define XMLPUBFUN
    #if !defined(LIBXML_STATIC)
      #define XMLPUBVAR __declspec(dllimport) extern
    #else
      #define XMLPUBVAR extern
    #endif
  #endif
  #define XMLCALL __cdecl
  #define XMLCDECL __cdecl
  #if !defined _REENTRANT
    #define _REENTRANT
  #endif
#endif

/* Windows platform with GNU compiler (Mingw) */
#if defined(_WIN32) && defined(__MINGW32__)
  #undef XMLPUBFUN
  #undef XMLPUBVAR
  #undef XMLCALL
  #undef XMLCDECL
  /*
   * if defined(IN_LIBXML) this raises problems on mingw with msys
   * _imp__xmlFree listed as missing. Try to workaround the problem
   * by also making that declaration when compiling client code.
   */
  #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
    #define XMLPUBFUN __declspec(dllexport)
    #define XMLPUBVAR __declspec(dllexport) extern
  #else
    #define XMLPUBFUN
    #if !defined(LIBXML_STATIC)
      #define XMLPUBVAR __declspec(dllimport) extern
    #else
      #define XMLPUBVAR extern
    #endif
  #endif
  #define XMLCALL __cdecl
  #define XMLCDECL __cdecl
  #if !defined _REENTRANT
    #define _REENTRANT
  #endif
#endif

/* Cygwin platform, GNU compiler */
#if defined(_WIN32) && defined(__CYGWIN__)
  #undef XMLPUBFUN
  #undef XMLPUBVAR
  #undef XMLCALL
  #undef XMLCDECL
  #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
    #define XMLPUBFUN __declspec(dllexport)
    #define XMLPUBVAR __declspec(dllexport)
  #else
    #define XMLPUBFUN
    #if !defined(LIBXML_STATIC)
      #define XMLPUBVAR __declspec(dllimport) extern
    #else
      #define XMLPUBVAR
    #endif
  #endif
  #define XMLCALL __cdecl
  #define XMLCDECL __cdecl
#endif

/* Compatibility */
#if !defined(LIBXML_DLL_IMPORT)
#define LIBXML_DLL_IMPORT XMLPUBVAR
#endif

#endif /* __XML_EXPORTS_H__ */


PK��Zx�s)s)libxml/xmlIO.hnu�[���/*
 * Summary: interface for the I/O interfaces used by the parser
 * Description: interface for the I/O interfaces used by the parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_IO_H__
#define __XML_IO_H__

#include <stdio.h>
#include <libxml/xmlversion.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Those are the functions and datatypes for the parser input
 * I/O structures.
 */

/**
 * xmlInputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to detect if the current handler
 * can provide input fonctionnalities for this resource.
 *
 * Returns 1 if yes and 0 if another Input module should be used
 */
typedef int (XMLCALL *xmlInputMatchCallback) (char const *filename);
/**
 * xmlInputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Input API to open the resource
 *
 * Returns an Input context or NULL in case or error
 */
typedef void * (XMLCALL *xmlInputOpenCallback) (char const *filename);
/**
 * xmlInputReadCallback:
 * @context:  an Input context
 * @buffer:  the buffer to store data read
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Input API to read the resource
 *
 * Returns the number of bytes read or -1 in case of error
 */
typedef int (XMLCALL *xmlInputReadCallback) (void * context, char * buffer, int len);
/**
 * xmlInputCloseCallback:
 * @context:  an Input context
 *
 * Callback used in the I/O Input API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlInputCloseCallback) (void * context);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Those are the functions and datatypes for the library output
 * I/O structures.
 */

/**
 * xmlOutputMatchCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to detect if the current handler
 * can provide output fonctionnalities for this resource.
 *
 * Returns 1 if yes and 0 if another Output module should be used
 */
typedef int (XMLCALL *xmlOutputMatchCallback) (char const *filename);
/**
 * xmlOutputOpenCallback:
 * @filename: the filename or URI
 *
 * Callback used in the I/O Output API to open the resource
 *
 * Returns an Output context or NULL in case or error
 */
typedef void * (XMLCALL *xmlOutputOpenCallback) (char const *filename);
/**
 * xmlOutputWriteCallback:
 * @context:  an Output context
 * @buffer:  the buffer of data to write
 * @len:  the length of the buffer in bytes
 *
 * Callback used in the I/O Output API to write to the resource
 *
 * Returns the number of bytes written or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputWriteCallback) (void * context, const char * buffer,
                                       int len);
/**
 * xmlOutputCloseCallback:
 * @context:  an Output context
 *
 * Callback used in the I/O Output API to close the resource
 *
 * Returns 0 or -1 in case of error
 */
typedef int (XMLCALL *xmlOutputCloseCallback) (void * context);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef __cplusplus
}
#endif

#include <libxml/globals.h>
#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/encoding.h>

#ifdef __cplusplus
extern "C" {
#endif
struct _xmlParserInputBuffer {
    void*                  context;
    xmlInputReadCallback   readcallback;
    xmlInputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 */
    xmlBufPtr raw;       /* if encoder != NULL buffer for raw input */
    int	compressed;	    /* -1=unknown, 0=not compressed, 1=compressed */
    int error;
    unsigned long rawconsumed;/* amount consumed from raw */
};


#ifdef LIBXML_OUTPUT_ENABLED
struct _xmlOutputBuffer {
    void*                   context;
    xmlOutputWriteCallback  writecallback;
    xmlOutputCloseCallback  closecallback;

    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */

    xmlBufPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
    xmlBufPtr conv;      /* if encoder != NULL buffer for output */
    int written;            /* total number of byte written */
    int error;
};
#endif /* LIBXML_OUTPUT_ENABLED */

/*
 * Interfaces for input
 */
XMLPUBFUN void XMLCALL
	xmlCleanupInputCallbacks		(void);

XMLPUBFUN int XMLCALL
	xmlPopInputCallbacks			(void);

XMLPUBFUN void XMLCALL
	xmlRegisterDefaultInputCallbacks	(void);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlAllocParserInputBuffer		(xmlCharEncoding enc);

XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFilename	(const char *URI,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFile		(FILE *file,
                                                 xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateFd		(int fd,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateMem		(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateStatic	(const char *mem, int size,
	                                         xmlCharEncoding enc);
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
	xmlParserInputBufferCreateIO		(xmlInputReadCallback   ioread,
						 xmlInputCloseCallback  ioclose,
						 void *ioctx,
	                                         xmlCharEncoding enc);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferRead		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferGrow		(xmlParserInputBufferPtr in,
						 int len);
XMLPUBFUN int XMLCALL
	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
						 int len,
						 const char *buf);
XMLPUBFUN void XMLCALL
	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
XMLPUBFUN char * XMLCALL
	xmlParserGetDirectory			(const char *filename);

XMLPUBFUN int XMLCALL
	xmlRegisterInputCallbacks		(xmlInputMatchCallback matchFunc,
						 xmlInputOpenCallback openFunc,
						 xmlInputReadCallback readFunc,
						 xmlInputCloseCallback closeFunc);

xmlParserInputBufferPtr
	__xmlParserInputBufferCreateFilename(const char *URI,
						xmlCharEncoding enc);

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Interfaces for output
 */
XMLPUBFUN void XMLCALL
	xmlCleanupOutputCallbacks		(void);
XMLPUBFUN void XMLCALL
	xmlRegisterDefaultOutputCallbacks(void);
XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlAllocOutputBuffer		(xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFilename	(const char *URI,
					 xmlCharEncodingHandlerPtr encoder,
					 int compression);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFile	(FILE *file,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateBuffer	(xmlBufferPtr buffer,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateFd		(int fd,
					 xmlCharEncodingHandlerPtr encoder);

XMLPUBFUN xmlOutputBufferPtr XMLCALL
	xmlOutputBufferCreateIO		(xmlOutputWriteCallback   iowrite,
					 xmlOutputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncodingHandlerPtr encoder);

/* Couple of APIs to get the output without digging into the buffers */
XMLPUBFUN const xmlChar * XMLCALL
        xmlOutputBufferGetContent       (xmlOutputBufferPtr out);
XMLPUBFUN size_t XMLCALL
        xmlOutputBufferGetSize          (xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlOutputBufferWrite		(xmlOutputBufferPtr out,
					 int len,
					 const char *buf);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteString	(xmlOutputBufferPtr out,
					 const char *str);
XMLPUBFUN int XMLCALL
	xmlOutputBufferWriteEscape	(xmlOutputBufferPtr out,
					 const xmlChar *str,
					 xmlCharEncodingOutputFunc escaping);

XMLPUBFUN int XMLCALL
	xmlOutputBufferFlush		(xmlOutputBufferPtr out);
XMLPUBFUN int XMLCALL
	xmlOutputBufferClose		(xmlOutputBufferPtr out);

XMLPUBFUN int XMLCALL
	xmlRegisterOutputCallbacks	(xmlOutputMatchCallback matchFunc,
					 xmlOutputOpenCallback openFunc,
					 xmlOutputWriteCallback writeFunc,
					 xmlOutputCloseCallback closeFunc);

xmlOutputBufferPtr
	__xmlOutputBufferCreateFilename(const char *URI,
                              xmlCharEncodingHandlerPtr encoder,
                              int compression);

#ifdef LIBXML_HTTP_ENABLED
/*  This function only exists if HTTP support built into the library  */
XMLPUBFUN void XMLCALL
	xmlRegisterHTTPPostCallbacks	(void );
#endif /* LIBXML_HTTP_ENABLED */

#endif /* LIBXML_OUTPUT_ENABLED */

XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlCheckHTTPInput		(xmlParserCtxtPtr ctxt,
					 xmlParserInputPtr ret);

/*
 * A predefined entity loader disabling network accesses
 */
XMLPUBFUN xmlParserInputPtr XMLCALL
	xmlNoNetExternalEntityLoader	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * xmlNormalizeWindowsPath is obsolete, don't use it.
 * Check xmlCanonicPath in uri.h for a better alternative.
 */
XMLPUBFUN xmlChar * XMLCALL
	xmlNormalizeWindowsPath		(const xmlChar *path);

XMLPUBFUN int XMLCALL
	xmlCheckFilename		(const char *path);
/**
 * Default 'file://' protocol callbacks
 */
XMLPUBFUN int XMLCALL
	xmlFileMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlFileOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlFileRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlFileClose			(void * context);

/**
 * Default 'http://' protocol callbacks
 */
#ifdef LIBXML_HTTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOHTTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpen			(const char *filename);
#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void * XMLCALL
	xmlIOHTTPOpenW			(const char * post_uri,
					 int   compression );
#endif /* LIBXML_OUTPUT_ENABLED */
XMLPUBFUN int XMLCALL
	xmlIOHTTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOHTTPClose			(void * context);
#endif /* LIBXML_HTTP_ENABLED */

/**
 * Default 'ftp://' protocol callbacks
 */
#ifdef LIBXML_FTP_ENABLED
XMLPUBFUN int XMLCALL
	xmlIOFTPMatch			(const char *filename);
XMLPUBFUN void * XMLCALL
	xmlIOFTPOpen			(const char *filename);
XMLPUBFUN int XMLCALL
	xmlIOFTPRead			(void * context,
					 char * buffer,
					 int len);
XMLPUBFUN int XMLCALL
	xmlIOFTPClose			(void * context);
#endif /* LIBXML_FTP_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* __XML_IO_H__ */
PK��Z��<�

libxml/pattern.hnu�[���/*
 * Summary: pattern expression handling
 * Description: allows to compile and test pattern expressions for nodes
 *              either in a tree or based on a parser state.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PATTERN_H__
#define __XML_PATTERN_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>

#ifdef LIBXML_PATTERN_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlPattern:
 *
 * A compiled (XPath based) pattern to select nodes
 */
typedef struct _xmlPattern xmlPattern;
typedef xmlPattern *xmlPatternPtr;

/**
 * xmlPatternFlags:
 *
 * This is the set of options affecting the behaviour of pattern
 * matching with this module
 *
 */
typedef enum {
    XML_PATTERN_DEFAULT		= 0,	/* simple pattern match */
    XML_PATTERN_XPATH		= 1<<0,	/* standard XPath pattern */
    XML_PATTERN_XSSEL		= 1<<1,	/* XPath subset for schema selector */
    XML_PATTERN_XSFIELD		= 1<<2	/* XPath subset for schema field */
} xmlPatternFlags;

XMLPUBFUN void XMLCALL
			xmlFreePattern		(xmlPatternPtr comp);

XMLPUBFUN void XMLCALL
			xmlFreePatternList	(xmlPatternPtr comp);

XMLPUBFUN xmlPatternPtr XMLCALL
			xmlPatterncompile	(const xmlChar *pattern,
						 xmlDict *dict,
						 int flags,
						 const xmlChar **namespaces);
XMLPUBFUN int XMLCALL
			xmlPatternMatch		(xmlPatternPtr comp,
						 xmlNodePtr node);

/* streaming interfaces */
typedef struct _xmlStreamCtxt xmlStreamCtxt;
typedef xmlStreamCtxt *xmlStreamCtxtPtr;

XMLPUBFUN int XMLCALL
			xmlPatternStreamable	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMaxDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternMinDepth	(xmlPatternPtr comp);
XMLPUBFUN int XMLCALL
			xmlPatternFromRoot	(xmlPatternPtr comp);
XMLPUBFUN xmlStreamCtxtPtr XMLCALL
			xmlPatternGetStreamCtxt	(xmlPatternPtr comp);
XMLPUBFUN void XMLCALL
			xmlFreeStreamCtxt	(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamPushNode	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns,
						 int nodeType);
XMLPUBFUN int XMLCALL
			xmlStreamPush		(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPushAttr	(xmlStreamCtxtPtr stream,
						 const xmlChar *name,
						 const xmlChar *ns);
XMLPUBFUN int XMLCALL
			xmlStreamPop		(xmlStreamCtxtPtr stream);
XMLPUBFUN int XMLCALL
			xmlStreamWantsAnyNode	(xmlStreamCtxtPtr stream);
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_PATTERN_ENABLED */

#endif /* __XML_PATTERN_H__ */
PK��Zd4�RRlibxml/xmlregexp.hnu�[���/*
 * Summary: regular expressions handling
 * Description: basic API for libxml regular expressions handling used
 *              for XML Schemas and validation.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_REGEXP_H__
#define __XML_REGEXP_H__

#include <libxml/xmlversion.h>

#ifdef LIBXML_REGEXP_ENABLED

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlRegexpPtr:
 *
 * A libxml regular expression, they can actually be far more complex
 * thank the POSIX regex expressions.
 */
typedef struct _xmlRegexp xmlRegexp;
typedef xmlRegexp *xmlRegexpPtr;

/**
 * xmlRegExecCtxtPtr:
 *
 * A libxml progressive regular expression evaluation context
 */
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;

#ifdef __cplusplus
}
#endif
#include <libxml/tree.h>
#include <libxml/dict.h>
#ifdef __cplusplus
extern "C" {
#endif

/*
 * The POSIX like API
 */
XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlRegexpCompile	(const xmlChar *regexp);
XMLPUBFUN void XMLCALL			 xmlRegFreeRegexp(xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpExec	(xmlRegexpPtr comp,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		    xmlRegexpPrint	(FILE *output,
					 xmlRegexpPtr regexp);
XMLPUBFUN int XMLCALL
		    xmlRegexpIsDeterminist(xmlRegexpPtr comp);

/**
 * xmlRegExecCallbacks:
 * @exec: the regular expression context
 * @token: the current token string
 * @transdata: transition data
 * @inputdata: input data
 *
 * Callback function when doing a transition in the automata
 */
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
	                             const xmlChar *token,
				     void *transdata,
				     void *inputdata);

/*
 * The progressive API
 */
XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
		    xmlRegNewExecCtxt	(xmlRegexpPtr comp,
					 xmlRegExecCallbacks callback,
					 void *data);
XMLPUBFUN void XMLCALL
		    xmlRegFreeExecCtxt	(xmlRegExecCtxtPtr exec);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 void *data);
XMLPUBFUN int XMLCALL
		    xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
					 const xmlChar *value,
					 const xmlChar *value2,
					 void *data);

XMLPUBFUN int XMLCALL
		    xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
XMLPUBFUN int XMLCALL
		    xmlRegExecErrInfo	(xmlRegExecCtxtPtr exec,
					 const xmlChar **string,
					 int *nbval,
					 int *nbneg,
					 xmlChar **values,
					 int *terminal);
#ifdef LIBXML_EXPR_ENABLED
/*
 * Formal regular expression handling
 * Its goal is to do some formal work on content models
 */

/* expressions are used within a context */
typedef struct _xmlExpCtxt xmlExpCtxt;
typedef xmlExpCtxt *xmlExpCtxtPtr;

XMLPUBFUN void XMLCALL
			xmlExpFreeCtxt	(xmlExpCtxtPtr ctxt);
XMLPUBFUN xmlExpCtxtPtr XMLCALL
			xmlExpNewCtxt	(int maxNodes,
					 xmlDictPtr dict);

XMLPUBFUN int XMLCALL
			xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
			xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);

/* Expressions are trees but the tree is opaque */
typedef struct _xmlExpNode xmlExpNode;
typedef xmlExpNode *xmlExpNodePtr;

typedef enum {
    XML_EXP_EMPTY = 0,
    XML_EXP_FORBID = 1,
    XML_EXP_ATOM = 2,
    XML_EXP_SEQ = 3,
    XML_EXP_OR = 4,
    XML_EXP_COUNT = 5
} xmlExpNodeType;

/*
 * 2 core expressions shared by all for the empty language set
 * and for the set with just the empty token
 */
XMLPUBVAR xmlExpNodePtr forbiddenExp;
XMLPUBVAR xmlExpNodePtr emptyExp;

/*
 * Expressions are reference counted internally
 */
XMLPUBFUN void XMLCALL
			xmlExpFree	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr);
XMLPUBFUN void XMLCALL
			xmlExpRef	(xmlExpNodePtr expr);

/*
 * constructors can be either manual or from a string
 */
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpParse	(xmlExpCtxtPtr ctxt,
					 const char *expr);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewAtom	(xmlExpCtxtPtr ctxt,
					 const xmlChar *name,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewOr	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewSeq	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr left,
					 xmlExpNodePtr right);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpNewRange	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr subset,
					 int min,
					 int max);
/*
 * The really interesting APIs
 */
XMLPUBFUN int XMLCALL
			xmlExpIsNillable(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpMaxToken	(xmlExpNodePtr expr);
XMLPUBFUN int XMLCALL
			xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**langList,
					 int len);
XMLPUBFUN int XMLCALL
			xmlExpGetStart	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar**tokList,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpStringDerive(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 const xmlChar *str,
					 int len);
XMLPUBFUN xmlExpNodePtr XMLCALL
			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN int XMLCALL
			xmlExpSubsume	(xmlExpCtxtPtr ctxt,
					 xmlExpNodePtr expr,
					 xmlExpNodePtr sub);
XMLPUBFUN void XMLCALL
			xmlExpDump	(xmlBufferPtr buf,
					 xmlExpNodePtr expr);
#endif /* LIBXML_EXPR_ENABLED */
#ifdef __cplusplus
}
#endif

#endif /* LIBXML_REGEXP_ENABLED */

#endif /*__XML_REGEXP_H__ */
PK��Z�ZV�%�%�libxml/parser.hnu�[���/*
 * Summary: the core parser module
 * Description: Interfaces, constants and types related to the XML parser
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_PARSER_H__
#define __XML_PARSER_H__

#include <stdarg.h>

#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/hash.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * XML_DEFAULT_VERSION:
 *
 * The default version of XML used: 1.0
 */
#define XML_DEFAULT_VERSION	"1.0"

/**
 * xmlParserInput:
 *
 * An xmlParserInput is an input flow for the XML processor.
 * Each entity parsed is associated an xmlParserInput (except the
 * few predefined ones). This is the case both for internal entities
 * - in which case the flow is already completely in memory - or
 * external entities - in which case we use the buf structure for
 * progressive reading and I18N conversions to the internal UTF-8 format.
 */

/**
 * xmlParserInputDeallocate:
 * @str:  the string to deallocate
 *
 * Callback for freeing some parser input allocations.
 */
typedef void (* xmlParserInputDeallocate)(xmlChar *str);

struct _xmlParserInput {
    /* Input buffer */
    xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */

    const char *filename;             /* The file analyzed, if any */
    const char *directory;            /* the directory/base of the file */
    const xmlChar *base;              /* Base of the array to parse */
    const xmlChar *cur;               /* Current char being parsed */
    const xmlChar *end;               /* end of the array to parse */
    int length;                       /* length if known */
    int line;                         /* Current line */
    int col;                          /* Current column */
    /*
     * NOTE: consumed is only tested for equality in the parser code,
     *       so even if there is an overflow this should not give troubles
     *       for parsing very large instances.
     */
    unsigned long consumed;           /* How many xmlChars already consumed */
    xmlParserInputDeallocate free;    /* function to deallocate the base */
    const xmlChar *encoding;          /* the encoding string for entity */
    const xmlChar *version;           /* the version string for entity */
    int standalone;                   /* Was that entity marked standalone */
    int id;                           /* an unique identifier for the entity */
};

/**
 * xmlParserNodeInfo:
 *
 * The parser can be asked to collect Node informations, i.e. at what
 * place in the file they were detected.
 * NOTE: This is off by default and not very well tested.
 */
typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;

struct _xmlParserNodeInfo {
  const struct _xmlNode* node;
  /* Position & line # that text that created the node begins & ends on */
  unsigned long begin_pos;
  unsigned long begin_line;
  unsigned long end_pos;
  unsigned long end_line;
};

typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
struct _xmlParserNodeInfoSeq {
  unsigned long maximum;
  unsigned long length;
  xmlParserNodeInfo* buffer;
};

/**
 * xmlParserInputState:
 *
 * The parser is now working also as a state based parser.
 * The recursive one use the state info for entities processing.
 */
typedef enum {
    XML_PARSER_EOF = -1,	/* nothing is to be parsed */
    XML_PARSER_START = 0,	/* nothing has been parsed */
    XML_PARSER_MISC,		/* Misc* before int subset */
    XML_PARSER_PI,		/* Within a processing instruction */
    XML_PARSER_DTD,		/* within some DTD content */
    XML_PARSER_PROLOG,		/* Misc* after internal subset */
    XML_PARSER_COMMENT,		/* within a comment */
    XML_PARSER_START_TAG,	/* within a start tag */
    XML_PARSER_CONTENT,		/* within the content */
    XML_PARSER_CDATA_SECTION,	/* within a CDATA section */
    XML_PARSER_END_TAG,		/* within a closing tag */
    XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
    XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
    XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
    XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
    XML_PARSER_EPILOG,		/* the Misc* after the last end tag */
    XML_PARSER_IGNORE,		/* within an IGNORED section */
    XML_PARSER_PUBLIC_LITERAL	/* within a PUBLIC value */
} xmlParserInputState;

/**
 * XML_DETECT_IDS:
 *
 * Bit in the loadsubset context field to tell to do ID/REFs lookups.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_DETECT_IDS		2

/**
 * XML_COMPLETE_ATTRS:
 *
 * Bit in the loadsubset context field to tell to do complete the
 * elements attributes lists with the ones defaulted from the DTDs.
 * Use it to initialize xmlLoadExtDtdDefaultValue.
 */
#define XML_COMPLETE_ATTRS	4

/**
 * XML_SKIP_IDS:
 *
 * Bit in the loadsubset context field to tell to not do ID/REFs registration.
 * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
 */
#define XML_SKIP_IDS		8

/**
 * xmlParserMode:
 *
 * A parser can operate in various modes
 */
typedef enum {
    XML_PARSE_UNKNOWN = 0,
    XML_PARSE_DOM = 1,
    XML_PARSE_SAX = 2,
    XML_PARSE_PUSH_DOM = 3,
    XML_PARSE_PUSH_SAX = 4,
    XML_PARSE_READER = 5
} xmlParserMode;

/**
 * xmlParserCtxt:
 *
 * The parser context.
 * NOTE This doesn't completely define the parser state, the (current ?)
 *      design of the parser uses recursive function calls since this allow
 *      and easy mapping from the production rules of the specification
 *      to the actual code. The drawback is that the actual function call
 *      also reflect the parser state. However most of the parsing routines
 *      takes as the only argument the parser context pointer, so migrating
 *      to a state based parser for progressive parsing shouldn't be too hard.
 */
struct _xmlParserCtxt {
    struct _xmlSAXHandler *sax;       /* The SAX handler */
    void            *userData;        /* For SAX interface only, used by DOM build */
    xmlDocPtr           myDoc;        /* the document being built */
    int            wellFormed;        /* is the document well formed */
    int       replaceEntities;        /* shall we replace entities ? */
    const xmlChar    *version;        /* the XML version string */
    const xmlChar   *encoding;        /* the declared encoding, if any */
    int            standalone;        /* standalone document */
    int                  html;        /* an HTML(1)/Docbook(2) document
                                       * 3 is HTML after <head>
                                       * 10 is HTML after <body>
                                       */

    /* Input stream stack */
    xmlParserInputPtr  input;         /* Current input stream */
    int                inputNr;       /* Number of current input streams */
    int                inputMax;      /* Max number of input streams */
    xmlParserInputPtr *inputTab;      /* stack of inputs */

    /* Node analysis stack only used for DOM building */
    xmlNodePtr         node;          /* Current parsed Node */
    int                nodeNr;        /* Depth of the parsing stack */
    int                nodeMax;       /* Max depth of the parsing stack */
    xmlNodePtr        *nodeTab;       /* array of nodes */

    int record_info;                  /* Whether node info should be kept */
    xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */

    int errNo;                        /* error code */

    int     hasExternalSubset;        /* reference and external subset */
    int             hasPErefs;        /* the internal subset has PE refs */
    int              external;        /* are we parsing an external entity */

    int                 valid;        /* is the document valid */
    int              validate;        /* shall we try to validate ? */
    xmlValidCtxt        vctxt;        /* The validity context */

    xmlParserInputState instate;      /* current type of input */
    int                 token;        /* next char look-ahead */

    char           *directory;        /* the data directory */

    /* Node name stack */
    const xmlChar     *name;          /* Current parsed Node */
    int                nameNr;        /* Depth of the parsing stack */
    int                nameMax;       /* Max depth of the parsing stack */
    const xmlChar *   *nameTab;       /* array of nodes */

    long               nbChars;       /* number of xmlChar processed */
    long            checkIndex;       /* used by progressive parsing lookup */
    int             keepBlanks;       /* ugly but ... */
    int             disableSAX;       /* SAX callbacks are disabled */
    int               inSubset;       /* Parsing is in int 1/ext 2 subset */
    const xmlChar *    intSubName;    /* name of subset */
    xmlChar *          extSubURI;     /* URI of external subset */
    xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */

    /* xml:space values */
    int *              space;         /* Should the parser preserve spaces */
    int                spaceNr;       /* Depth of the parsing stack */
    int                spaceMax;      /* Max depth of the parsing stack */
    int *              spaceTab;      /* array of space infos */

    int                depth;         /* to prevent entity substitution loops */
    xmlParserInputPtr  entity;        /* used to check entities boundaries */
    int                charset;       /* encoding of the in-memory content
				         actually an xmlCharEncoding */
    int                nodelen;       /* Those two fields are there to */
    int                nodemem;       /* Speed up large node parsing */
    int                pedantic;      /* signal pedantic warnings */
    void              *_private;      /* For user data, libxml won't touch it */

    int                loadsubset;    /* should the external subset be loaded */
    int                linenumbers;   /* set line number in element content */
    void              *catalogs;      /* document's own catalog */
    int                recovery;      /* run in recovery mode */
    int                progressive;   /* is this a progressive parsing */
    xmlDictPtr         dict;          /* dictionary for the parser */
    const xmlChar *   *atts;          /* array for the attributes callbacks */
    int                maxatts;       /* the size of the array */
    int                docdict;       /* use strings from dict to build tree */

    /*
     * pre-interned strings
     */
    const xmlChar *str_xml;
    const xmlChar *str_xmlns;
    const xmlChar *str_xml_ns;

    /*
     * Everything below is used only by the new SAX mode
     */
    int                sax2;          /* operating in the new SAX mode */
    int                nsNr;          /* the number of inherited namespaces */
    int                nsMax;         /* the size of the arrays */
    const xmlChar *   *nsTab;         /* the array of prefix/namespace name */
    int               *attallocs;     /* which attribute were allocated */
    void *            *pushTab;       /* array of data for push */
    xmlHashTablePtr    attsDefault;   /* defaulted attributes if any */
    xmlHashTablePtr    attsSpecial;   /* non-CDATA attributes if any */
    int                nsWellFormed;  /* is the document XML Nanespace okay */
    int                options;       /* Extra options */

    /*
     * Those fields are needed only for treaming parsing so far
     */
    int               dictNames;    /* Use dictionary names for the tree */
    int               freeElemsNr;  /* number of freed element nodes */
    xmlNodePtr        freeElems;    /* List of freed element nodes */
    int               freeAttrsNr;  /* number of freed attributes nodes */
    xmlAttrPtr        freeAttrs;    /* List of freed attributes nodes */

    /*
     * the complete error informations for the last error.
     */
    xmlError          lastError;
    xmlParserMode     parseMode;    /* the parser mode */
    unsigned long    nbentities;    /* number of entities references */
    unsigned long  sizeentities;    /* size of parsed entities */

    /* for use by HTML non-recursive parser */
    xmlParserNodeInfo *nodeInfo;      /* Current NodeInfo */
    int                nodeInfoNr;    /* Depth of the parsing stack */
    int                nodeInfoMax;   /* Max depth of the parsing stack */
    xmlParserNodeInfo *nodeInfoTab;   /* array of nodeInfos */

    int                input_id;      /* we need to label inputs */
    unsigned long      sizeentcopy;   /* volume of entity copy */
};

/**
 * xmlSAXLocator:
 *
 * A SAX Locator.
 */
struct _xmlSAXLocator {
    const xmlChar *(*getPublicId)(void *ctx);
    const xmlChar *(*getSystemId)(void *ctx);
    int (*getLineNumber)(void *ctx);
    int (*getColumnNumber)(void *ctx);
};

/**
 * xmlSAXHandler:
 *
 * A SAX handler is bunch of callbacks called by the parser when processing
 * of the input generate data or structure informations.
 */

/**
 * resolveEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @publicId: The public ID of the entity
 * @systemId: The system ID of the entity
 *
 * Callback:
 * 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
 *
 * Returns the xmlParserInputPtr if inlined or NULL for DOM behaviour.
 */
typedef xmlParserInputPtr (*resolveEntitySAXFunc) (void *ctx,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * internalSubsetSAXFunc:
 * @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)
 *
 * Callback on internal subset declaration.
 */
typedef void (*internalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * externalSubsetSAXFunc:
 * @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)
 *
 * Callback on external subset declaration.
 */
typedef void (*externalSubsetSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *ExternalID,
				const xmlChar *SystemID);
/**
 * getEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get an entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * getParameterEntitySAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name: The entity name
 *
 * Get a parameter entity by name.
 *
 * Returns the xmlEntityPtr if found.
 */
typedef xmlEntityPtr (*getParameterEntitySAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * entityDeclSAXFunc:
 * @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).
 *
 * An entity definition has been parsed.
 */
typedef void (*entityDeclSAXFunc) (void *ctx,
				const xmlChar *name,
				int type,
				const xmlChar *publicId,
				const xmlChar *systemId,
				xmlChar *content);
/**
 * notationDeclSAXFunc:
 * @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
 *
 * What to do when a notation declaration has been parsed.
 */
typedef void (*notationDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId);
/**
 * attributeDeclSAXFunc:
 * @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
 *
 * An attribute definition has been parsed.
 */
typedef void (*attributeDeclSAXFunc)(void *ctx,
				const xmlChar *elem,
				const xmlChar *fullname,
				int type,
				int def,
				const xmlChar *defaultValue,
				xmlEnumerationPtr tree);
/**
 * elementDeclSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  the element name
 * @type:  the element type
 * @content: the element value tree
 *
 * An element definition has been parsed.
 */
typedef void (*elementDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				int type,
				xmlElementContentPtr content);
/**
 * unparsedEntityDeclSAXFunc:
 * @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
 *
 * What to do when an unparsed entity declaration is parsed.
 */
typedef void (*unparsedEntityDeclSAXFunc)(void *ctx,
				const xmlChar *name,
				const xmlChar *publicId,
				const xmlChar *systemId,
				const xmlChar *notationName);
/**
 * setDocumentLocatorSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @loc: A SAX Locator
 *
 * Receive the document locator at startup, actually xmlDefaultSAXLocator.
 * Everything is available on the context, so this is useless in our case.
 */
typedef void (*setDocumentLocatorSAXFunc) (void *ctx,
				xmlSAXLocatorPtr loc);
/**
 * startDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document start being processed.
 */
typedef void (*startDocumentSAXFunc) (void *ctx);
/**
 * endDocumentSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Called when the document end has been detected.
 */
typedef void (*endDocumentSAXFunc) (void *ctx);
/**
 * startElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name, including namespace prefix
 * @atts:  An array of name/value attributes pairs, NULL terminated
 *
 * Called when an opening tag has been processed.
 */
typedef void (*startElementSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar **atts);
/**
 * endElementSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The element name
 *
 * Called when the end of an element has been detected.
 */
typedef void (*endElementSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * attributeSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The attribute name, including namespace prefix
 * @value:  The attribute 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.
 */
typedef void (*attributeSAXFunc) (void *ctx,
				const xmlChar *name,
				const xmlChar *value);
/**
 * referenceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @name:  The entity name
 *
 * Called when an entity reference is detected.
 */
typedef void (*referenceSAXFunc) (void *ctx,
				const xmlChar *name);
/**
 * charactersSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some chars from the parser.
 */
typedef void (*charactersSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * ignorableWhitespaceSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @ch:  a xmlChar string
 * @len: the number of xmlChar
 *
 * Receiving some ignorable whitespaces from the parser.
 * UNUSED: by default the DOM building will use characters.
 */
typedef void (*ignorableWhitespaceSAXFunc) (void *ctx,
				const xmlChar *ch,
				int len);
/**
 * processingInstructionSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @target:  the target name
 * @data: the PI data's
 *
 * A processing instruction has been parsed.
 */
typedef void (*processingInstructionSAXFunc) (void *ctx,
				const xmlChar *target,
				const xmlChar *data);
/**
 * commentSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  the comment content
 *
 * A comment has been parsed.
 */
typedef void (*commentSAXFunc) (void *ctx,
				const xmlChar *value);
/**
 * cdataBlockSAXFunc:
 * @ctx:  the user data (XML parser context)
 * @value:  The pcdata content
 * @len:  the block length
 *
 * Called when a pcdata block has been parsed.
 */
typedef void (*cdataBlockSAXFunc) (
	                        void *ctx,
				const xmlChar *value,
				int len);
/**
 * warningSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format a warning messages, callback.
 */
typedef void (XMLCDECL *warningSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * errorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format an error messages, callback.
 */
typedef void (XMLCDECL *errorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * fatalErrorSAXFunc:
 * @ctx:  an XML parser context
 * @msg:  the message to display/transmit
 * @...:  extra parameters for the message display
 *
 * Display and format fatal error messages, callback.
 * Note: so far fatalError() SAX callbacks are not used, error()
 *       get all the callbacks for errors.
 */
typedef void (XMLCDECL *fatalErrorSAXFunc) (void *ctx,
				const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * isStandaloneSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Is this document tagged standalone?
 *
 * Returns 1 if true
 */
typedef int (*isStandaloneSAXFunc) (void *ctx);
/**
 * hasInternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an internal subset.
 *
 * Returns 1 if true
 */
typedef int (*hasInternalSubsetSAXFunc) (void *ctx);

/**
 * hasExternalSubsetSAXFunc:
 * @ctx:  the user data (XML parser context)
 *
 * Does this document has an external subset?
 *
 * Returns 1 if true
 */
typedef int (*hasExternalSubsetSAXFunc) (void *ctx);

/************************************************************************
 *									*
 *			The SAX version 2 API extensions		*
 *									*
 ************************************************************************/
/**
 * XML_SAX2_MAGIC:
 *
 * Special constant found in SAX2 blocks initialized fields
 */
#define XML_SAX2_MAGIC 0xDEEDBEAF

/**
 * startElementNsSAX2Func:
 * @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. The defaulted
 *                  ones are at the end of the array
 * @attributes:  pointer to the array of (localname/prefix/URI/value/end)
 *               attribute values.
 *
 * 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.
 */

typedef void (*startElementNsSAX2Func) (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);

/**
 * endElementNsSAX2Func:
 * @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
 *
 * SAX2 callback when an element end has been detected by the parser.
 * It provides the namespace informations for the element.
 */

typedef void (*endElementNsSAX2Func)   (void *ctx,
					const xmlChar *localname,
					const xmlChar *prefix,
					const xmlChar *URI);


struct _xmlSAXHandler {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
    /* The following fields are extensions available only on version 2 */
    void *_private;
    startElementNsSAX2Func startElementNs;
    endElementNsSAX2Func endElementNs;
    xmlStructuredErrorFunc serror;
};

/*
 * SAX Version 1
 */
typedef struct _xmlSAXHandlerV1 xmlSAXHandlerV1;
typedef xmlSAXHandlerV1 *xmlSAXHandlerV1Ptr;
struct _xmlSAXHandlerV1 {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError; /* unused error() get all the errors */
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
};


/**
 * xmlExternalEntityLoader:
 * @URL: The System ID of the resource requested
 * @ID: The Public ID of the resource requested
 * @context: the XML parser context
 *
 * External entity loaders types.
 *
 * Returns the entity input parser.
 */
typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr context);

#ifdef __cplusplus
}
#endif

#include <libxml/encoding.h>
#include <libxml/xmlIO.h>
#include <libxml/globals.h>

#ifdef __cplusplus
extern "C" {
#endif


/*
 * Init/Cleanup
 */
XMLPUBFUN void XMLCALL
		xmlInitParser		(void);
XMLPUBFUN void XMLCALL
		xmlCleanupParser	(void);

/*
 * Input functions
 */
XMLPUBFUN int XMLCALL
		xmlParserInputRead	(xmlParserInputPtr in,
					 int len);
XMLPUBFUN int XMLCALL
		xmlParserInputGrow	(xmlParserInputPtr in,
					 int len);

/*
 * Basic parsing Interfaces
 */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseFile		(const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseMemory		(const char *buffer,
					 int size);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlSubstituteEntitiesDefault(int val);
XMLPUBFUN int XMLCALL
		xmlKeepBlanksDefault	(int val);
XMLPUBFUN void XMLCALL
		xmlStopParser		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlPedanticParserDefault(int val);
XMLPUBFUN int XMLCALL
		xmlLineNumbersDefault	(int val);

#ifdef LIBXML_SAX1_ENABLED
/*
 * Recovery mode
 */
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverDoc		(const xmlChar *cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverMemory	(const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlRecoverFile		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

/*
 * Less common routines and SAX interfaces
 */
XMLPUBFUN int XMLCALL
		xmlParseDocument	(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlParseExtParsedEnt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlSAXUserParseFile	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlSAXUserParseMemory	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *buffer,
					 int size);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseDoc		(xmlSAXHandlerPtr sax,
					 const xmlChar *cur,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemory	(xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseMemoryWithData (xmlSAXHandlerPtr sax,
					 const char *buffer,
					 int size,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFile		(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseFileWithData	(xmlSAXHandlerPtr sax,
					 const char *filename,
					 int recovery,
					 void *data);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlSAXParseEntity	(xmlSAXHandlerPtr sax,
					 const char *filename);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlParseEntity		(const char *filename);
#endif /* LIBXML_SAX1_ENABLED */

#ifdef LIBXML_VALID_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlSAXParseDTD		(xmlSAXHandlerPtr sax,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlParseDTD		(const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlIOParseDTD		(xmlSAXHandlerPtr sax,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);
#endif /* LIBXML_VALID_ENABLE */
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemory(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *string,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserErrors XMLCALL
		xmlParseInNodeContext	(xmlNodePtr node,
					 const char *data,
					 int datalen,
					 int options,
					 xmlNodePtr *lst);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN int XMLCALL
		xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc,
                     xmlSAXHandlerPtr sax,
                     void *user_data,
                     int depth,
                     const xmlChar *string,
                     xmlNodePtr *lst,
                     int recover);
XMLPUBFUN int XMLCALL
		xmlParseExternalEntity	(xmlDocPtr doc,
					 xmlSAXHandlerPtr sax,
					 void *user_data,
					 int depth,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN int XMLCALL
		xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx,
					 const xmlChar *URL,
					 const xmlChar *ID,
					 xmlNodePtr *lst);

/*
 * Parser contexts handling.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlNewParserCtxt	(void);
XMLPUBFUN int XMLCALL
		xmlInitParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlClearParserCtxt	(xmlParserCtxtPtr ctxt);
XMLPUBFUN void XMLCALL
		xmlFreeParserCtxt	(xmlParserCtxtPtr ctxt);
#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN void XMLCALL
		xmlSetupParserForBuffer	(xmlParserCtxtPtr ctxt,
					 const xmlChar* buffer,
					 const char *filename);
#endif /* LIBXML_SAX1_ENABLED */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateDocParserCtxt	(const xmlChar *cur);

#ifdef LIBXML_LEGACY_ENABLED
/*
 * Reading/setting optional parsing features.
 */
XMLPUBFUN int XMLCALL
		xmlGetFeaturesList	(int *len,
					 const char **result);
XMLPUBFUN int XMLCALL
		xmlGetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *result);
XMLPUBFUN int XMLCALL
		xmlSetFeature		(xmlParserCtxtPtr ctxt,
					 const char *name,
					 void *value);
#endif /* LIBXML_LEGACY_ENABLED */

#ifdef LIBXML_PUSH_ENABLED
/*
 * Interfaces for the Push mode.
 */
XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreatePushParserCtxt(xmlSAXHandlerPtr sax,
					 void *user_data,
					 const char *chunk,
					 int size,
					 const char *filename);
XMLPUBFUN int XMLCALL
		xmlParseChunk		(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 int terminate);
#endif /* LIBXML_PUSH_ENABLED */

/*
 * Special I/O mode.
 */

XMLPUBFUN xmlParserCtxtPtr XMLCALL
		xmlCreateIOParserCtxt	(xmlSAXHandlerPtr sax,
					 void *user_data,
					 xmlInputReadCallback   ioread,
					 xmlInputCloseCallback  ioclose,
					 void *ioctx,
					 xmlCharEncoding enc);

XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlNewIOInputStream	(xmlParserCtxtPtr ctxt,
					 xmlParserInputBufferPtr input,
					 xmlCharEncoding enc);

/*
 * Node infos.
 */
XMLPUBFUN const xmlParserNodeInfo* XMLCALL
		xmlParserFindNodeInfo	(const xmlParserCtxtPtr ctxt,
				         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlInitNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN void XMLCALL
		xmlClearNodeInfoSeq	(xmlParserNodeInfoSeqPtr seq);
XMLPUBFUN unsigned long XMLCALL
		xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
                                         const xmlNodePtr node);
XMLPUBFUN void XMLCALL
		xmlParserAddNodeInfo	(xmlParserCtxtPtr ctxt,
					 const xmlParserNodeInfoPtr info);

/*
 * External entities handling actually implemented in xmlIO.
 */

XMLPUBFUN void XMLCALL
		xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
XMLPUBFUN xmlExternalEntityLoader XMLCALL
		xmlGetExternalEntityLoader(void);
XMLPUBFUN xmlParserInputPtr XMLCALL
		xmlLoadExternalEntity	(const char *URL,
					 const char *ID,
					 xmlParserCtxtPtr ctxt);

/*
 * Index lookup, actually implemented in the encoding module
 */
XMLPUBFUN long XMLCALL
		xmlByteConsumed		(xmlParserCtxtPtr ctxt);

/*
 * New set of simpler/more flexible APIs
 */
/**
 * xmlParserOption:
 *
 * This is the set of XML parser options that can be passed down
 * to the xmlReadDoc() and similar calls.
 */
typedef enum {
    XML_PARSE_RECOVER	= 1<<0,	/* recover on errors */
    XML_PARSE_NOENT	= 1<<1,	/* substitute entities */
    XML_PARSE_DTDLOAD	= 1<<2,	/* load the external subset */
    XML_PARSE_DTDATTR	= 1<<3,	/* default DTD attributes */
    XML_PARSE_DTDVALID	= 1<<4,	/* validate with the DTD */
    XML_PARSE_NOERROR	= 1<<5,	/* suppress error reports */
    XML_PARSE_NOWARNING	= 1<<6,	/* suppress warning reports */
    XML_PARSE_PEDANTIC	= 1<<7,	/* pedantic error reporting */
    XML_PARSE_NOBLANKS	= 1<<8,	/* remove blank nodes */
    XML_PARSE_SAX1	= 1<<9,	/* use the SAX1 interface internally */
    XML_PARSE_XINCLUDE	= 1<<10,/* Implement XInclude substitition  */
    XML_PARSE_NONET	= 1<<11,/* Forbid network access */
    XML_PARSE_NODICT	= 1<<12,/* Do not reuse the context dictionary */
    XML_PARSE_NSCLEAN	= 1<<13,/* remove redundant namespaces declarations */
    XML_PARSE_NOCDATA	= 1<<14,/* merge CDATA as text nodes */
    XML_PARSE_NOXINCNODE= 1<<15,/* do not generate XINCLUDE START/END nodes */
    XML_PARSE_COMPACT   = 1<<16,/* compact small text nodes; no modification of
                                   the tree allowed afterwards (will possibly
				   crash if you try to modify the tree) */
    XML_PARSE_OLD10	= 1<<17,/* parse using XML-1.0 before update 5 */
    XML_PARSE_NOBASEFIX = 1<<18,/* do not fixup XINCLUDE xml:base uris */
    XML_PARSE_HUGE      = 1<<19,/* relax any hardcoded limit from the parser */
    XML_PARSE_OLDSAX    = 1<<20,/* parse using SAX2 interface before 2.7.0 */
    XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
    XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
} xmlParserOption;

XMLPUBFUN void XMLCALL
		xmlCtxtReset		(xmlParserCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
		xmlCtxtResetPush	(xmlParserCtxtPtr ctxt,
					 const char *chunk,
					 int size,
					 const char *filename,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlCtxtUseOptions	(xmlParserCtxtPtr ctxt,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadDoc		(const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFile		(const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadMemory		(const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadFd		(int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlReadIO		(xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadDoc		(xmlParserCtxtPtr ctxt,
					 const xmlChar *cur,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFile		(xmlParserCtxtPtr ctxt,
					 const char *filename,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadMemory		(xmlParserCtxtPtr ctxt,
					 const char *buffer,
					 int size,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadFd		(xmlParserCtxtPtr ctxt,
					 int fd,
					 const char *URL,
					 const char *encoding,
					 int options);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCtxtReadIO		(xmlParserCtxtPtr ctxt,
					 xmlInputReadCallback ioread,
					 xmlInputCloseCallback ioclose,
					 void *ioctx,
					 const char *URL,
					 const char *encoding,
					 int options);

/*
 * Library wide options
 */
/**
 * xmlFeature:
 *
 * Used to examine the existance of features that can be enabled
 * or disabled at compile-time.
 * They used to be called XML_FEATURE_xxx but this clashed with Expat
 */
typedef enum {
    XML_WITH_THREAD = 1,
    XML_WITH_TREE = 2,
    XML_WITH_OUTPUT = 3,
    XML_WITH_PUSH = 4,
    XML_WITH_READER = 5,
    XML_WITH_PATTERN = 6,
    XML_WITH_WRITER = 7,
    XML_WITH_SAX1 = 8,
    XML_WITH_FTP = 9,
    XML_WITH_HTTP = 10,
    XML_WITH_VALID = 11,
    XML_WITH_HTML = 12,
    XML_WITH_LEGACY = 13,
    XML_WITH_C14N = 14,
    XML_WITH_CATALOG = 15,
    XML_WITH_XPATH = 16,
    XML_WITH_XPTR = 17,
    XML_WITH_XINCLUDE = 18,
    XML_WITH_ICONV = 19,
    XML_WITH_ISO8859X = 20,
    XML_WITH_UNICODE = 21,
    XML_WITH_REGEXP = 22,
    XML_WITH_AUTOMATA = 23,
    XML_WITH_EXPR = 24,
    XML_WITH_SCHEMAS = 25,
    XML_WITH_SCHEMATRON = 26,
    XML_WITH_MODULES = 27,
    XML_WITH_DEBUG = 28,
    XML_WITH_DEBUG_MEM = 29,
    XML_WITH_DEBUG_RUN = 30,
    XML_WITH_ZLIB = 31,
    XML_WITH_ICU = 32,
    XML_WITH_LZMA = 33,
    XML_WITH_NONE = 99999 /* just to be sure of allocation size */
} xmlFeature;

XMLPUBFUN int XMLCALL
		xmlHasFeature		(xmlFeature feature);

#ifdef __cplusplus
}
#endif
#endif /* __XML_PARSER_H__ */
PK��Z����ȏȏlibxml/xmlerror.hnu�[���/*
 * Summary: error handling
 * Description: the API used to report errors
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#include <libxml/parser.h>

#ifndef __XML_ERROR_H__
#define __XML_ERROR_H__

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlErrorLevel:
 *
 * Indicates the level of an error
 */
typedef enum {
    XML_ERR_NONE = 0,
    XML_ERR_WARNING = 1,	/* A simple warning */
    XML_ERR_ERROR = 2,		/* A recoverable error */
    XML_ERR_FATAL = 3		/* A fatal error */
} xmlErrorLevel;

/**
 * xmlErrorDomain:
 *
 * Indicates where an error may have come from
 */
typedef enum {
    XML_FROM_NONE = 0,
    XML_FROM_PARSER,	/* The XML parser */
    XML_FROM_TREE,	/* The tree module */
    XML_FROM_NAMESPACE,	/* The XML Namespace module */
    XML_FROM_DTD,	/* The XML DTD validation with parser context*/
    XML_FROM_HTML,	/* The HTML parser */
    XML_FROM_MEMORY,	/* The memory allocator */
    XML_FROM_OUTPUT,	/* The serialization code */
    XML_FROM_IO,	/* The Input/Output stack */
    XML_FROM_FTP,	/* The FTP module */
    XML_FROM_HTTP,	/* The HTTP module */
    XML_FROM_XINCLUDE,	/* The XInclude processing */
    XML_FROM_XPATH,	/* The XPath module */
    XML_FROM_XPOINTER,	/* The XPointer module */
    XML_FROM_REGEXP,	/* The regular expressions module */
    XML_FROM_DATATYPE,	/* The W3C XML Schemas Datatype module */
    XML_FROM_SCHEMASP,	/* The W3C XML Schemas parser module */
    XML_FROM_SCHEMASV,	/* The W3C XML Schemas validation module */
    XML_FROM_RELAXNGP,	/* The Relax-NG parser module */
    XML_FROM_RELAXNGV,	/* The Relax-NG validator module */
    XML_FROM_CATALOG,	/* The Catalog module */
    XML_FROM_C14N,	/* The Canonicalization module */
    XML_FROM_XSLT,	/* The XSLT engine from libxslt */
    XML_FROM_VALID,	/* The XML DTD validation with valid context */
    XML_FROM_CHECK,	/* The error checking module */
    XML_FROM_WRITER,	/* The xmlwriter module */
    XML_FROM_MODULE,	/* The dynamically loaded module module*/
    XML_FROM_I18N,	/* The module handling character conversion */
    XML_FROM_SCHEMATRONV,/* The Schematron validator module */
    XML_FROM_BUFFER,    /* The buffers module */
    XML_FROM_URI        /* The URI module */
} xmlErrorDomain;

/**
 * xmlError:
 *
 * An XML Error instance.
 */

typedef struct _xmlError xmlError;
typedef xmlError *xmlErrorPtr;
struct _xmlError {
    int		domain;	/* What part of the library raised this error */
    int		code;	/* The error code, e.g. an xmlParserError */
    char       *message;/* human-readable informative error message */
    xmlErrorLevel level;/* how consequent is the error */
    char       *file;	/* the filename */
    int		line;	/* the line number if available */
    char       *str1;	/* extra string information */
    char       *str2;	/* extra string information */
    char       *str3;	/* extra string information */
    int		int1;	/* extra number information */
    int		int2;	/* error column # or 0 if N/A (todo: rename field when we would brk ABI) */
    void       *ctxt;   /* the parser context if available */
    void       *node;   /* the node in the tree */
};

/**
 * xmlParserError:
 *
 * This is an error that the XML (or HTML) parser can generate
 */
typedef enum {
    XML_ERR_OK = 0,
    XML_ERR_INTERNAL_ERROR, /* 1 */
    XML_ERR_NO_MEMORY, /* 2 */
    XML_ERR_DOCUMENT_START, /* 3 */
    XML_ERR_DOCUMENT_EMPTY, /* 4 */
    XML_ERR_DOCUMENT_END, /* 5 */
    XML_ERR_INVALID_HEX_CHARREF, /* 6 */
    XML_ERR_INVALID_DEC_CHARREF, /* 7 */
    XML_ERR_INVALID_CHARREF, /* 8 */
    XML_ERR_INVALID_CHAR, /* 9 */
    XML_ERR_CHARREF_AT_EOF, /* 10 */
    XML_ERR_CHARREF_IN_PROLOG, /* 11 */
    XML_ERR_CHARREF_IN_EPILOG, /* 12 */
    XML_ERR_CHARREF_IN_DTD, /* 13 */
    XML_ERR_ENTITYREF_AT_EOF, /* 14 */
    XML_ERR_ENTITYREF_IN_PROLOG, /* 15 */
    XML_ERR_ENTITYREF_IN_EPILOG, /* 16 */
    XML_ERR_ENTITYREF_IN_DTD, /* 17 */
    XML_ERR_PEREF_AT_EOF, /* 18 */
    XML_ERR_PEREF_IN_PROLOG, /* 19 */
    XML_ERR_PEREF_IN_EPILOG, /* 20 */
    XML_ERR_PEREF_IN_INT_SUBSET, /* 21 */
    XML_ERR_ENTITYREF_NO_NAME, /* 22 */
    XML_ERR_ENTITYREF_SEMICOL_MISSING, /* 23 */
    XML_ERR_PEREF_NO_NAME, /* 24 */
    XML_ERR_PEREF_SEMICOL_MISSING, /* 25 */
    XML_ERR_UNDECLARED_ENTITY, /* 26 */
    XML_WAR_UNDECLARED_ENTITY, /* 27 */
    XML_ERR_UNPARSED_ENTITY, /* 28 */
    XML_ERR_ENTITY_IS_EXTERNAL, /* 29 */
    XML_ERR_ENTITY_IS_PARAMETER, /* 30 */
    XML_ERR_UNKNOWN_ENCODING, /* 31 */
    XML_ERR_UNSUPPORTED_ENCODING, /* 32 */
    XML_ERR_STRING_NOT_STARTED, /* 33 */
    XML_ERR_STRING_NOT_CLOSED, /* 34 */
    XML_ERR_NS_DECL_ERROR, /* 35 */
    XML_ERR_ENTITY_NOT_STARTED, /* 36 */
    XML_ERR_ENTITY_NOT_FINISHED, /* 37 */
    XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
    XML_ERR_ATTRIBUTE_NOT_STARTED, /* 39 */
    XML_ERR_ATTRIBUTE_NOT_FINISHED, /* 40 */
    XML_ERR_ATTRIBUTE_WITHOUT_VALUE, /* 41 */
    XML_ERR_ATTRIBUTE_REDEFINED, /* 42 */
    XML_ERR_LITERAL_NOT_STARTED, /* 43 */
    XML_ERR_LITERAL_NOT_FINISHED, /* 44 */
    XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
    XML_ERR_PI_NOT_STARTED, /* 46 */
    XML_ERR_PI_NOT_FINISHED, /* 47 */
    XML_ERR_NOTATION_NOT_STARTED, /* 48 */
    XML_ERR_NOTATION_NOT_FINISHED, /* 49 */
    XML_ERR_ATTLIST_NOT_STARTED, /* 50 */
    XML_ERR_ATTLIST_NOT_FINISHED, /* 51 */
    XML_ERR_MIXED_NOT_STARTED, /* 52 */
    XML_ERR_MIXED_NOT_FINISHED, /* 53 */
    XML_ERR_ELEMCONTENT_NOT_STARTED, /* 54 */
    XML_ERR_ELEMCONTENT_NOT_FINISHED, /* 55 */
    XML_ERR_XMLDECL_NOT_STARTED, /* 56 */
    XML_ERR_XMLDECL_NOT_FINISHED, /* 57 */
    XML_ERR_CONDSEC_NOT_STARTED, /* 58 */
    XML_ERR_CONDSEC_NOT_FINISHED, /* 59 */
    XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 60 */
    XML_ERR_DOCTYPE_NOT_FINISHED, /* 61 */
    XML_ERR_MISPLACED_CDATA_END, /* 62 */
    XML_ERR_CDATA_NOT_FINISHED, /* 63 */
    XML_ERR_RESERVED_XML_NAME, /* 64 */
    XML_ERR_SPACE_REQUIRED, /* 65 */
    XML_ERR_SEPARATOR_REQUIRED, /* 66 */
    XML_ERR_NMTOKEN_REQUIRED, /* 67 */
    XML_ERR_NAME_REQUIRED, /* 68 */
    XML_ERR_PCDATA_REQUIRED, /* 69 */
    XML_ERR_URI_REQUIRED, /* 70 */
    XML_ERR_PUBID_REQUIRED, /* 71 */
    XML_ERR_LT_REQUIRED, /* 72 */
    XML_ERR_GT_REQUIRED, /* 73 */
    XML_ERR_LTSLASH_REQUIRED, /* 74 */
    XML_ERR_EQUAL_REQUIRED, /* 75 */
    XML_ERR_TAG_NAME_MISMATCH, /* 76 */
    XML_ERR_TAG_NOT_FINISHED, /* 77 */
    XML_ERR_STANDALONE_VALUE, /* 78 */
    XML_ERR_ENCODING_NAME, /* 79 */
    XML_ERR_HYPHEN_IN_COMMENT, /* 80 */
    XML_ERR_INVALID_ENCODING, /* 81 */
    XML_ERR_EXT_ENTITY_STANDALONE, /* 82 */
    XML_ERR_CONDSEC_INVALID, /* 83 */
    XML_ERR_VALUE_REQUIRED, /* 84 */
    XML_ERR_NOT_WELL_BALANCED, /* 85 */
    XML_ERR_EXTRA_CONTENT, /* 86 */
    XML_ERR_ENTITY_CHAR_ERROR, /* 87 */
    XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
    XML_ERR_ENTITY_LOOP, /* 89 */
    XML_ERR_ENTITY_BOUNDARY, /* 90 */
    XML_ERR_INVALID_URI, /* 91 */
    XML_ERR_URI_FRAGMENT, /* 92 */
    XML_WAR_CATALOG_PI, /* 93 */
    XML_ERR_NO_DTD, /* 94 */
    XML_ERR_CONDSEC_INVALID_KEYWORD, /* 95 */
    XML_ERR_VERSION_MISSING, /* 96 */
    XML_WAR_UNKNOWN_VERSION, /* 97 */
    XML_WAR_LANG_VALUE, /* 98 */
    XML_WAR_NS_URI, /* 99 */
    XML_WAR_NS_URI_RELATIVE, /* 100 */
    XML_ERR_MISSING_ENCODING, /* 101 */
    XML_WAR_SPACE_VALUE, /* 102 */
    XML_ERR_NOT_STANDALONE, /* 103 */
    XML_ERR_ENTITY_PROCESSING, /* 104 */
    XML_ERR_NOTATION_PROCESSING, /* 105 */
    XML_WAR_NS_COLUMN, /* 106 */
    XML_WAR_ENTITY_REDEFINED, /* 107 */
    XML_ERR_UNKNOWN_VERSION, /* 108 */
    XML_ERR_VERSION_MISMATCH, /* 109 */
    XML_ERR_NAME_TOO_LONG, /* 110 */
    XML_ERR_USER_STOP, /* 111 */
    XML_NS_ERR_XML_NAMESPACE = 200,
    XML_NS_ERR_UNDEFINED_NAMESPACE, /* 201 */
    XML_NS_ERR_QNAME, /* 202 */
    XML_NS_ERR_ATTRIBUTE_REDEFINED, /* 203 */
    XML_NS_ERR_EMPTY, /* 204 */
    XML_NS_ERR_COLON, /* 205 */
    XML_DTD_ATTRIBUTE_DEFAULT = 500,
    XML_DTD_ATTRIBUTE_REDEFINED, /* 501 */
    XML_DTD_ATTRIBUTE_VALUE, /* 502 */
    XML_DTD_CONTENT_ERROR, /* 503 */
    XML_DTD_CONTENT_MODEL, /* 504 */
    XML_DTD_CONTENT_NOT_DETERMINIST, /* 505 */
    XML_DTD_DIFFERENT_PREFIX, /* 506 */
    XML_DTD_ELEM_DEFAULT_NAMESPACE, /* 507 */
    XML_DTD_ELEM_NAMESPACE, /* 508 */
    XML_DTD_ELEM_REDEFINED, /* 509 */
    XML_DTD_EMPTY_NOTATION, /* 510 */
    XML_DTD_ENTITY_TYPE, /* 511 */
    XML_DTD_ID_FIXED, /* 512 */
    XML_DTD_ID_REDEFINED, /* 513 */
    XML_DTD_ID_SUBSET, /* 514 */
    XML_DTD_INVALID_CHILD, /* 515 */
    XML_DTD_INVALID_DEFAULT, /* 516 */
    XML_DTD_LOAD_ERROR, /* 517 */
    XML_DTD_MISSING_ATTRIBUTE, /* 518 */
    XML_DTD_MIXED_CORRUPT, /* 519 */
    XML_DTD_MULTIPLE_ID, /* 520 */
    XML_DTD_NO_DOC, /* 521 */
    XML_DTD_NO_DTD, /* 522 */
    XML_DTD_NO_ELEM_NAME, /* 523 */
    XML_DTD_NO_PREFIX, /* 524 */
    XML_DTD_NO_ROOT, /* 525 */
    XML_DTD_NOTATION_REDEFINED, /* 526 */
    XML_DTD_NOTATION_VALUE, /* 527 */
    XML_DTD_NOT_EMPTY, /* 528 */
    XML_DTD_NOT_PCDATA, /* 529 */
    XML_DTD_NOT_STANDALONE, /* 530 */
    XML_DTD_ROOT_NAME, /* 531 */
    XML_DTD_STANDALONE_WHITE_SPACE, /* 532 */
    XML_DTD_UNKNOWN_ATTRIBUTE, /* 533 */
    XML_DTD_UNKNOWN_ELEM, /* 534 */
    XML_DTD_UNKNOWN_ENTITY, /* 535 */
    XML_DTD_UNKNOWN_ID, /* 536 */
    XML_DTD_UNKNOWN_NOTATION, /* 537 */
    XML_DTD_STANDALONE_DEFAULTED, /* 538 */
    XML_DTD_XMLID_VALUE, /* 539 */
    XML_DTD_XMLID_TYPE, /* 540 */
    XML_DTD_DUP_TOKEN, /* 541 */
    XML_HTML_STRUCURE_ERROR = 800,
    XML_HTML_UNKNOWN_TAG, /* 801 */
    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
    XML_RNGP_ATTR_CONFLICT, /* 1001 */
    XML_RNGP_ATTRIBUTE_CHILDREN, /* 1002 */
    XML_RNGP_ATTRIBUTE_CONTENT, /* 1003 */
    XML_RNGP_ATTRIBUTE_EMPTY, /* 1004 */
    XML_RNGP_ATTRIBUTE_NOOP, /* 1005 */
    XML_RNGP_CHOICE_CONTENT, /* 1006 */
    XML_RNGP_CHOICE_EMPTY, /* 1007 */
    XML_RNGP_CREATE_FAILURE, /* 1008 */
    XML_RNGP_DATA_CONTENT, /* 1009 */
    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, /* 1010 */
    XML_RNGP_DEFINE_CREATE_FAILED, /* 1011 */
    XML_RNGP_DEFINE_EMPTY, /* 1012 */
    XML_RNGP_DEFINE_MISSING, /* 1013 */
    XML_RNGP_DEFINE_NAME_MISSING, /* 1014 */
    XML_RNGP_ELEM_CONTENT_EMPTY, /* 1015 */
    XML_RNGP_ELEM_CONTENT_ERROR, /* 1016 */
    XML_RNGP_ELEMENT_EMPTY, /* 1017 */
    XML_RNGP_ELEMENT_CONTENT, /* 1018 */
    XML_RNGP_ELEMENT_NAME, /* 1019 */
    XML_RNGP_ELEMENT_NO_CONTENT, /* 1020 */
    XML_RNGP_ELEM_TEXT_CONFLICT, /* 1021 */
    XML_RNGP_EMPTY, /* 1022 */
    XML_RNGP_EMPTY_CONSTRUCT, /* 1023 */
    XML_RNGP_EMPTY_CONTENT, /* 1024 */
    XML_RNGP_EMPTY_NOT_EMPTY, /* 1025 */
    XML_RNGP_ERROR_TYPE_LIB, /* 1026 */
    XML_RNGP_EXCEPT_EMPTY, /* 1027 */
    XML_RNGP_EXCEPT_MISSING, /* 1028 */
    XML_RNGP_EXCEPT_MULTIPLE, /* 1029 */
    XML_RNGP_EXCEPT_NO_CONTENT, /* 1030 */
    XML_RNGP_EXTERNALREF_EMTPY, /* 1031 */
    XML_RNGP_EXTERNAL_REF_FAILURE, /* 1032 */
    XML_RNGP_EXTERNALREF_RECURSE, /* 1033 */
    XML_RNGP_FORBIDDEN_ATTRIBUTE, /* 1034 */
    XML_RNGP_FOREIGN_ELEMENT, /* 1035 */
    XML_RNGP_GRAMMAR_CONTENT, /* 1036 */
    XML_RNGP_GRAMMAR_EMPTY, /* 1037 */
    XML_RNGP_GRAMMAR_MISSING, /* 1038 */
    XML_RNGP_GRAMMAR_NO_START, /* 1039 */
    XML_RNGP_GROUP_ATTR_CONFLICT, /* 1040 */
    XML_RNGP_HREF_ERROR, /* 1041 */
    XML_RNGP_INCLUDE_EMPTY, /* 1042 */
    XML_RNGP_INCLUDE_FAILURE, /* 1043 */
    XML_RNGP_INCLUDE_RECURSE, /* 1044 */
    XML_RNGP_INTERLEAVE_ADD, /* 1045 */
    XML_RNGP_INTERLEAVE_CREATE_FAILED, /* 1046 */
    XML_RNGP_INTERLEAVE_EMPTY, /* 1047 */
    XML_RNGP_INTERLEAVE_NO_CONTENT, /* 1048 */
    XML_RNGP_INVALID_DEFINE_NAME, /* 1049 */
    XML_RNGP_INVALID_URI, /* 1050 */
    XML_RNGP_INVALID_VALUE, /* 1051 */
    XML_RNGP_MISSING_HREF, /* 1052 */
    XML_RNGP_NAME_MISSING, /* 1053 */
    XML_RNGP_NEED_COMBINE, /* 1054 */
    XML_RNGP_NOTALLOWED_NOT_EMPTY, /* 1055 */
    XML_RNGP_NSNAME_ATTR_ANCESTOR, /* 1056 */
    XML_RNGP_NSNAME_NO_NS, /* 1057 */
    XML_RNGP_PARAM_FORBIDDEN, /* 1058 */
    XML_RNGP_PARAM_NAME_MISSING, /* 1059 */
    XML_RNGP_PARENTREF_CREATE_FAILED, /* 1060 */
    XML_RNGP_PARENTREF_NAME_INVALID, /* 1061 */
    XML_RNGP_PARENTREF_NO_NAME, /* 1062 */
    XML_RNGP_PARENTREF_NO_PARENT, /* 1063 */
    XML_RNGP_PARENTREF_NOT_EMPTY, /* 1064 */
    XML_RNGP_PARSE_ERROR, /* 1065 */
    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME, /* 1066 */
    XML_RNGP_PAT_ATTR_ATTR, /* 1067 */
    XML_RNGP_PAT_ATTR_ELEM, /* 1068 */
    XML_RNGP_PAT_DATA_EXCEPT_ATTR, /* 1069 */
    XML_RNGP_PAT_DATA_EXCEPT_ELEM, /* 1070 */
    XML_RNGP_PAT_DATA_EXCEPT_EMPTY, /* 1071 */
    XML_RNGP_PAT_DATA_EXCEPT_GROUP, /* 1072 */
    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, /* 1073 */
    XML_RNGP_PAT_DATA_EXCEPT_LIST, /* 1074 */
    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, /* 1075 */
    XML_RNGP_PAT_DATA_EXCEPT_REF, /* 1076 */
    XML_RNGP_PAT_DATA_EXCEPT_TEXT, /* 1077 */
    XML_RNGP_PAT_LIST_ATTR, /* 1078 */
    XML_RNGP_PAT_LIST_ELEM, /* 1079 */
    XML_RNGP_PAT_LIST_INTERLEAVE, /* 1080 */
    XML_RNGP_PAT_LIST_LIST, /* 1081 */
    XML_RNGP_PAT_LIST_REF, /* 1082 */
    XML_RNGP_PAT_LIST_TEXT, /* 1083 */
    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME, /* 1084 */
    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME, /* 1085 */
    XML_RNGP_PAT_ONEMORE_GROUP_ATTR, /* 1086 */
    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, /* 1087 */
    XML_RNGP_PAT_START_ATTR, /* 1088 */
    XML_RNGP_PAT_START_DATA, /* 1089 */
    XML_RNGP_PAT_START_EMPTY, /* 1090 */
    XML_RNGP_PAT_START_GROUP, /* 1091 */
    XML_RNGP_PAT_START_INTERLEAVE, /* 1092 */
    XML_RNGP_PAT_START_LIST, /* 1093 */
    XML_RNGP_PAT_START_ONEMORE, /* 1094 */
    XML_RNGP_PAT_START_TEXT, /* 1095 */
    XML_RNGP_PAT_START_VALUE, /* 1096 */
    XML_RNGP_PREFIX_UNDEFINED, /* 1097 */
    XML_RNGP_REF_CREATE_FAILED, /* 1098 */
    XML_RNGP_REF_CYCLE, /* 1099 */
    XML_RNGP_REF_NAME_INVALID, /* 1100 */
    XML_RNGP_REF_NO_DEF, /* 1101 */
    XML_RNGP_REF_NO_NAME, /* 1102 */
    XML_RNGP_REF_NOT_EMPTY, /* 1103 */
    XML_RNGP_START_CHOICE_AND_INTERLEAVE, /* 1104 */
    XML_RNGP_START_CONTENT, /* 1105 */
    XML_RNGP_START_EMPTY, /* 1106 */
    XML_RNGP_START_MISSING, /* 1107 */
    XML_RNGP_TEXT_EXPECTED, /* 1108 */
    XML_RNGP_TEXT_HAS_CHILD, /* 1109 */
    XML_RNGP_TYPE_MISSING, /* 1110 */
    XML_RNGP_TYPE_NOT_FOUND, /* 1111 */
    XML_RNGP_TYPE_VALUE, /* 1112 */
    XML_RNGP_UNKNOWN_ATTRIBUTE, /* 1113 */
    XML_RNGP_UNKNOWN_COMBINE, /* 1114 */
    XML_RNGP_UNKNOWN_CONSTRUCT, /* 1115 */
    XML_RNGP_UNKNOWN_TYPE_LIB, /* 1116 */
    XML_RNGP_URI_FRAGMENT, /* 1117 */
    XML_RNGP_URI_NOT_ABSOLUTE, /* 1118 */
    XML_RNGP_VALUE_EMPTY, /* 1119 */
    XML_RNGP_VALUE_NO_CONTENT, /* 1120 */
    XML_RNGP_XMLNS_NAME, /* 1121 */
    XML_RNGP_XML_NS, /* 1122 */
    XML_XPATH_EXPRESSION_OK = 1200,
    XML_XPATH_NUMBER_ERROR, /* 1201 */
    XML_XPATH_UNFINISHED_LITERAL_ERROR, /* 1202 */
    XML_XPATH_START_LITERAL_ERROR, /* 1203 */
    XML_XPATH_VARIABLE_REF_ERROR, /* 1204 */
    XML_XPATH_UNDEF_VARIABLE_ERROR, /* 1205 */
    XML_XPATH_INVALID_PREDICATE_ERROR, /* 1206 */
    XML_XPATH_EXPR_ERROR, /* 1207 */
    XML_XPATH_UNCLOSED_ERROR, /* 1208 */
    XML_XPATH_UNKNOWN_FUNC_ERROR, /* 1209 */
    XML_XPATH_INVALID_OPERAND, /* 1210 */
    XML_XPATH_INVALID_TYPE, /* 1211 */
    XML_XPATH_INVALID_ARITY, /* 1212 */
    XML_XPATH_INVALID_CTXT_SIZE, /* 1213 */
    XML_XPATH_INVALID_CTXT_POSITION, /* 1214 */
    XML_XPATH_MEMORY_ERROR, /* 1215 */
    XML_XPTR_SYNTAX_ERROR, /* 1216 */
    XML_XPTR_RESOURCE_ERROR, /* 1217 */
    XML_XPTR_SUB_RESOURCE_ERROR, /* 1218 */
    XML_XPATH_UNDEF_PREFIX_ERROR, /* 1219 */
    XML_XPATH_ENCODING_ERROR, /* 1220 */
    XML_XPATH_INVALID_CHAR_ERROR, /* 1221 */
    XML_TREE_INVALID_HEX = 1300,
    XML_TREE_INVALID_DEC, /* 1301 */
    XML_TREE_UNTERMINATED_ENTITY, /* 1302 */
    XML_TREE_NOT_UTF8, /* 1303 */
    XML_SAVE_NOT_UTF8 = 1400,
    XML_SAVE_CHAR_INVALID, /* 1401 */
    XML_SAVE_NO_DOCTYPE, /* 1402 */
    XML_SAVE_UNKNOWN_ENCODING, /* 1403 */
    XML_REGEXP_COMPILE_ERROR = 1450,
    XML_IO_UNKNOWN = 1500,
    XML_IO_EACCES, /* 1501 */
    XML_IO_EAGAIN, /* 1502 */
    XML_IO_EBADF, /* 1503 */
    XML_IO_EBADMSG, /* 1504 */
    XML_IO_EBUSY, /* 1505 */
    XML_IO_ECANCELED, /* 1506 */
    XML_IO_ECHILD, /* 1507 */
    XML_IO_EDEADLK, /* 1508 */
    XML_IO_EDOM, /* 1509 */
    XML_IO_EEXIST, /* 1510 */
    XML_IO_EFAULT, /* 1511 */
    XML_IO_EFBIG, /* 1512 */
    XML_IO_EINPROGRESS, /* 1513 */
    XML_IO_EINTR, /* 1514 */
    XML_IO_EINVAL, /* 1515 */
    XML_IO_EIO, /* 1516 */
    XML_IO_EISDIR, /* 1517 */
    XML_IO_EMFILE, /* 1518 */
    XML_IO_EMLINK, /* 1519 */
    XML_IO_EMSGSIZE, /* 1520 */
    XML_IO_ENAMETOOLONG, /* 1521 */
    XML_IO_ENFILE, /* 1522 */
    XML_IO_ENODEV, /* 1523 */
    XML_IO_ENOENT, /* 1524 */
    XML_IO_ENOEXEC, /* 1525 */
    XML_IO_ENOLCK, /* 1526 */
    XML_IO_ENOMEM, /* 1527 */
    XML_IO_ENOSPC, /* 1528 */
    XML_IO_ENOSYS, /* 1529 */
    XML_IO_ENOTDIR, /* 1530 */
    XML_IO_ENOTEMPTY, /* 1531 */
    XML_IO_ENOTSUP, /* 1532 */
    XML_IO_ENOTTY, /* 1533 */
    XML_IO_ENXIO, /* 1534 */
    XML_IO_EPERM, /* 1535 */
    XML_IO_EPIPE, /* 1536 */
    XML_IO_ERANGE, /* 1537 */
    XML_IO_EROFS, /* 1538 */
    XML_IO_ESPIPE, /* 1539 */
    XML_IO_ESRCH, /* 1540 */
    XML_IO_ETIMEDOUT, /* 1541 */
    XML_IO_EXDEV, /* 1542 */
    XML_IO_NETWORK_ATTEMPT, /* 1543 */
    XML_IO_ENCODER, /* 1544 */
    XML_IO_FLUSH, /* 1545 */
    XML_IO_WRITE, /* 1546 */
    XML_IO_NO_INPUT, /* 1547 */
    XML_IO_BUFFER_FULL, /* 1548 */
    XML_IO_LOAD_ERROR, /* 1549 */
    XML_IO_ENOTSOCK, /* 1550 */
    XML_IO_EISCONN, /* 1551 */
    XML_IO_ECONNREFUSED, /* 1552 */
    XML_IO_ENETUNREACH, /* 1553 */
    XML_IO_EADDRINUSE, /* 1554 */
    XML_IO_EALREADY, /* 1555 */
    XML_IO_EAFNOSUPPORT, /* 1556 */
    XML_XINCLUDE_RECURSION=1600,
    XML_XINCLUDE_PARSE_VALUE, /* 1601 */
    XML_XINCLUDE_ENTITY_DEF_MISMATCH, /* 1602 */
    XML_XINCLUDE_NO_HREF, /* 1603 */
    XML_XINCLUDE_NO_FALLBACK, /* 1604 */
    XML_XINCLUDE_HREF_URI, /* 1605 */
    XML_XINCLUDE_TEXT_FRAGMENT, /* 1606 */
    XML_XINCLUDE_TEXT_DOCUMENT, /* 1607 */
    XML_XINCLUDE_INVALID_CHAR, /* 1608 */
    XML_XINCLUDE_BUILD_FAILED, /* 1609 */
    XML_XINCLUDE_UNKNOWN_ENCODING, /* 1610 */
    XML_XINCLUDE_MULTIPLE_ROOT, /* 1611 */
    XML_XINCLUDE_XPTR_FAILED, /* 1612 */
    XML_XINCLUDE_XPTR_RESULT, /* 1613 */
    XML_XINCLUDE_INCLUDE_IN_INCLUDE, /* 1614 */
    XML_XINCLUDE_FALLBACKS_IN_INCLUDE, /* 1615 */
    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE, /* 1616 */
    XML_XINCLUDE_DEPRECATED_NS, /* 1617 */
    XML_XINCLUDE_FRAGMENT_ID, /* 1618 */
    XML_CATALOG_MISSING_ATTR = 1650,
    XML_CATALOG_ENTRY_BROKEN, /* 1651 */
    XML_CATALOG_PREFER_VALUE, /* 1652 */
    XML_CATALOG_NOT_CATALOG, /* 1653 */
    XML_CATALOG_RECURSION, /* 1654 */
    XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE, /* 1701 */
    XML_SCHEMAP_ATTRGRP_NONAME_NOREF, /* 1702 */
    XML_SCHEMAP_ATTR_NONAME_NOREF, /* 1703 */
    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF, /* 1704 */
    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE, /* 1705 */
    XML_SCHEMAP_ELEM_NONAME_NOREF, /* 1706 */
    XML_SCHEMAP_EXTENSION_NO_BASE, /* 1707 */
    XML_SCHEMAP_FACET_NO_VALUE, /* 1708 */
    XML_SCHEMAP_FAILED_BUILD_IMPORT, /* 1709 */
    XML_SCHEMAP_GROUP_NONAME_NOREF, /* 1710 */
    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI, /* 1711 */
    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME, /* 1712 */
    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI, /* 1713 */
    XML_SCHEMAP_INVALID_BOOLEAN, /* 1714 */
    XML_SCHEMAP_INVALID_ENUM, /* 1715 */
    XML_SCHEMAP_INVALID_FACET, /* 1716 */
    XML_SCHEMAP_INVALID_FACET_VALUE, /* 1717 */
    XML_SCHEMAP_INVALID_MAXOCCURS, /* 1718 */
    XML_SCHEMAP_INVALID_MINOCCURS, /* 1719 */
    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE, /* 1720 */
    XML_SCHEMAP_INVALID_WHITE_SPACE, /* 1721 */
    XML_SCHEMAP_NOATTR_NOREF, /* 1722 */
    XML_SCHEMAP_NOTATION_NO_NAME, /* 1723 */
    XML_SCHEMAP_NOTYPE_NOREF, /* 1724 */
    XML_SCHEMAP_REF_AND_SUBTYPE, /* 1725 */
    XML_SCHEMAP_RESTRICTION_NONAME_NOREF, /* 1726 */
    XML_SCHEMAP_SIMPLETYPE_NONAME, /* 1727 */
    XML_SCHEMAP_TYPE_AND_SUBTYPE, /* 1728 */
    XML_SCHEMAP_UNKNOWN_ALL_CHILD, /* 1729 */
    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD, /* 1730 */
    XML_SCHEMAP_UNKNOWN_ATTR_CHILD, /* 1731 */
    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD, /* 1732 */
    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP, /* 1733 */
    XML_SCHEMAP_UNKNOWN_BASE_TYPE, /* 1734 */
    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD, /* 1735 */
    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD, /* 1736 */
    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD, /* 1737 */
    XML_SCHEMAP_UNKNOWN_ELEM_CHILD, /* 1738 */
    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD, /* 1739 */
    XML_SCHEMAP_UNKNOWN_FACET_CHILD, /* 1740 */
    XML_SCHEMAP_UNKNOWN_FACET_TYPE, /* 1741 */
    XML_SCHEMAP_UNKNOWN_GROUP_CHILD, /* 1742 */
    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD, /* 1743 */
    XML_SCHEMAP_UNKNOWN_LIST_CHILD, /* 1744 */
    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD, /* 1745 */
    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD, /* 1746 */
    XML_SCHEMAP_UNKNOWN_REF, /* 1747 */
    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD, /* 1748 */
    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD, /* 1749 */
    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD, /* 1750 */
    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD, /* 1751 */
    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD, /* 1752 */
    XML_SCHEMAP_UNKNOWN_TYPE, /* 1753 */
    XML_SCHEMAP_UNKNOWN_UNION_CHILD, /* 1754 */
    XML_SCHEMAP_ELEM_DEFAULT_FIXED, /* 1755 */
    XML_SCHEMAP_REGEXP_INVALID, /* 1756 */
    XML_SCHEMAP_FAILED_LOAD, /* 1757 */
    XML_SCHEMAP_NOTHING_TO_PARSE, /* 1758 */
    XML_SCHEMAP_NOROOT, /* 1759 */
    XML_SCHEMAP_REDEFINED_GROUP, /* 1760 */
    XML_SCHEMAP_REDEFINED_TYPE, /* 1761 */
    XML_SCHEMAP_REDEFINED_ELEMENT, /* 1762 */
    XML_SCHEMAP_REDEFINED_ATTRGROUP, /* 1763 */
    XML_SCHEMAP_REDEFINED_ATTR, /* 1764 */
    XML_SCHEMAP_REDEFINED_NOTATION, /* 1765 */
    XML_SCHEMAP_FAILED_PARSE, /* 1766 */
    XML_SCHEMAP_UNKNOWN_PREFIX, /* 1767 */
    XML_SCHEMAP_DEF_AND_PREFIX, /* 1768 */
    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD, /* 1769 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI, /* 1770 */
    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI, /* 1771 */
    XML_SCHEMAP_NOT_SCHEMA, /* 1772 */
    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE, /* 1773 */
    XML_SCHEMAP_INVALID_ATTR_USE, /* 1774 */
    XML_SCHEMAP_RECURSIVE, /* 1775 */
    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE, /* 1776 */
    XML_SCHEMAP_INVALID_ATTR_COMBINATION, /* 1777 */
    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION, /* 1778 */
    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD, /* 1779 */
    XML_SCHEMAP_INVALID_ATTR_NAME, /* 1780 */
    XML_SCHEMAP_REF_AND_CONTENT, /* 1781 */
    XML_SCHEMAP_CT_PROPS_CORRECT_1, /* 1782 */
    XML_SCHEMAP_CT_PROPS_CORRECT_2, /* 1783 */
    XML_SCHEMAP_CT_PROPS_CORRECT_3, /* 1784 */
    XML_SCHEMAP_CT_PROPS_CORRECT_4, /* 1785 */
    XML_SCHEMAP_CT_PROPS_CORRECT_5, /* 1786 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1, /* 1787 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1, /* 1788 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2, /* 1789 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2, /* 1790 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3, /* 1791 */
    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER, /* 1792 */
    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE, /* 1793 */
    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE, /* 1794 */
    XML_SCHEMAP_SRC_IMPORT_3_1, /* 1795 */
    XML_SCHEMAP_SRC_IMPORT_3_2, /* 1796 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1, /* 1797 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2, /* 1798 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3, /* 1799 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_3, /* 1800 */
    XML_SCHEMAV_NOROOT = 1801,
    XML_SCHEMAV_UNDECLAREDELEM, /* 1802 */
    XML_SCHEMAV_NOTTOPLEVEL, /* 1803 */
    XML_SCHEMAV_MISSING, /* 1804 */
    XML_SCHEMAV_WRONGELEM, /* 1805 */
    XML_SCHEMAV_NOTYPE, /* 1806 */
    XML_SCHEMAV_NOROLLBACK, /* 1807 */
    XML_SCHEMAV_ISABSTRACT, /* 1808 */
    XML_SCHEMAV_NOTEMPTY, /* 1809 */
    XML_SCHEMAV_ELEMCONT, /* 1810 */
    XML_SCHEMAV_HAVEDEFAULT, /* 1811 */
    XML_SCHEMAV_NOTNILLABLE, /* 1812 */
    XML_SCHEMAV_EXTRACONTENT, /* 1813 */
    XML_SCHEMAV_INVALIDATTR, /* 1814 */
    XML_SCHEMAV_INVALIDELEM, /* 1815 */
    XML_SCHEMAV_NOTDETERMINIST, /* 1816 */
    XML_SCHEMAV_CONSTRUCT, /* 1817 */
    XML_SCHEMAV_INTERNAL, /* 1818 */
    XML_SCHEMAV_NOTSIMPLE, /* 1819 */
    XML_SCHEMAV_ATTRUNKNOWN, /* 1820 */
    XML_SCHEMAV_ATTRINVALID, /* 1821 */
    XML_SCHEMAV_VALUE, /* 1822 */
    XML_SCHEMAV_FACET, /* 1823 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1824 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1825 */
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1826 */
    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1827 */
    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1828 */
    XML_SCHEMAV_CVC_FACET_VALID, /* 1829 */
    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1830 */
    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1831 */
    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1832 */
    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1833 */
    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1834 */
    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1835 */
    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1836 */
    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1837 */
    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1838 */
    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1839 */
    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1840 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1841 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1842 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1843 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1844 */
    XML_SCHEMAV_CVC_ELT_1, /* 1845 */
    XML_SCHEMAV_CVC_ELT_2, /* 1846 */
    XML_SCHEMAV_CVC_ELT_3_1, /* 1847 */
    XML_SCHEMAV_CVC_ELT_3_2_1, /* 1848 */
    XML_SCHEMAV_CVC_ELT_3_2_2, /* 1849 */
    XML_SCHEMAV_CVC_ELT_4_1, /* 1850 */
    XML_SCHEMAV_CVC_ELT_4_2, /* 1851 */
    XML_SCHEMAV_CVC_ELT_4_3, /* 1852 */
    XML_SCHEMAV_CVC_ELT_5_1_1, /* 1853 */
    XML_SCHEMAV_CVC_ELT_5_1_2, /* 1854 */
    XML_SCHEMAV_CVC_ELT_5_2_1, /* 1855 */
    XML_SCHEMAV_CVC_ELT_5_2_2_1, /* 1856 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_1, /* 1857 */
    XML_SCHEMAV_CVC_ELT_5_2_2_2_2, /* 1858 */
    XML_SCHEMAV_CVC_ELT_6, /* 1859 */
    XML_SCHEMAV_CVC_ELT_7, /* 1860 */
    XML_SCHEMAV_CVC_ATTRIBUTE_1, /* 1861 */
    XML_SCHEMAV_CVC_ATTRIBUTE_2, /* 1862 */
    XML_SCHEMAV_CVC_ATTRIBUTE_3, /* 1863 */
    XML_SCHEMAV_CVC_ATTRIBUTE_4, /* 1864 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1, /* 1865 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1, /* 1866 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2, /* 1867 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_4, /* 1868 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1, /* 1869 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2, /* 1870 */
    XML_SCHEMAV_ELEMENT_CONTENT, /* 1871 */
    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING, /* 1872 */
    XML_SCHEMAV_CVC_COMPLEX_TYPE_1, /* 1873 */
    XML_SCHEMAV_CVC_AU, /* 1874 */
    XML_SCHEMAV_CVC_TYPE_1, /* 1875 */
    XML_SCHEMAV_CVC_TYPE_2, /* 1876 */
    XML_SCHEMAV_CVC_IDC, /* 1877 */
    XML_SCHEMAV_CVC_WILDCARD, /* 1878 */
    XML_SCHEMAV_MISC, /* 1879 */
    XML_XPTR_UNKNOWN_SCHEME = 1900,
    XML_XPTR_CHILDSEQ_START, /* 1901 */
    XML_XPTR_EVAL_FAILED, /* 1902 */
    XML_XPTR_EXTRA_OBJECTS, /* 1903 */
    XML_C14N_CREATE_CTXT = 1950,
    XML_C14N_REQUIRES_UTF8, /* 1951 */
    XML_C14N_CREATE_STACK, /* 1952 */
    XML_C14N_INVALID_NODE, /* 1953 */
    XML_C14N_UNKNOW_NODE, /* 1954 */
    XML_C14N_RELATIVE_NAMESPACE, /* 1955 */
    XML_FTP_PASV_ANSWER = 2000,
    XML_FTP_EPSV_ANSWER, /* 2001 */
    XML_FTP_ACCNT, /* 2002 */
    XML_FTP_URL_SYNTAX, /* 2003 */
    XML_HTTP_URL_SYNTAX = 2020,
    XML_HTTP_USE_IP, /* 2021 */
    XML_HTTP_UNKNOWN_HOST, /* 2022 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
    XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
    XML_SCHEMAP_SRC_RESOLVE, /* 3004 */
    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3005 */
    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3006 */
    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3007 */
    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3008 */
    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3009 */
    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3010 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3011 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3012 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3013 */
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3014 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3015 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3016 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3017 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3018 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3019 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3020 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
    XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */
    XML_SCHEMAP_S4S_ATTR_MISSING, /* 3036 */
    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE, /* 3037 */
    XML_SCHEMAP_SRC_ELEMENT_1, /* 3038 */
    XML_SCHEMAP_SRC_ELEMENT_2_1, /* 3039 */
    XML_SCHEMAP_SRC_ELEMENT_2_2, /* 3040 */
    XML_SCHEMAP_SRC_ELEMENT_3, /* 3041 */
    XML_SCHEMAP_P_PROPS_CORRECT_1, /* 3042 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_1, /* 3043 */
    XML_SCHEMAP_P_PROPS_CORRECT_2_2, /* 3044 */
    XML_SCHEMAP_E_PROPS_CORRECT_2, /* 3045 */
    XML_SCHEMAP_E_PROPS_CORRECT_3, /* 3046 */
    XML_SCHEMAP_E_PROPS_CORRECT_4, /* 3047 */
    XML_SCHEMAP_E_PROPS_CORRECT_5, /* 3048 */
    XML_SCHEMAP_E_PROPS_CORRECT_6, /* 3049 */
    XML_SCHEMAP_SRC_INCLUDE, /* 3050 */
    XML_SCHEMAP_SRC_ATTRIBUTE_1, /* 3051 */
    XML_SCHEMAP_SRC_ATTRIBUTE_2, /* 3052 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_1, /* 3053 */
    XML_SCHEMAP_SRC_ATTRIBUTE_3_2, /* 3054 */
    XML_SCHEMAP_SRC_ATTRIBUTE_4, /* 3055 */
    XML_SCHEMAP_NO_XMLNS, /* 3056 */
    XML_SCHEMAP_NO_XSI, /* 3057 */
    XML_SCHEMAP_COS_VALID_DEFAULT_1, /* 3058 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_1, /* 3059 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1, /* 3060 */
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2, /* 3061 */
    XML_SCHEMAP_CVC_SIMPLE_TYPE, /* 3062 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_1, /* 3063 */
    XML_SCHEMAP_SRC_IMPORT_1_1, /* 3064 */
    XML_SCHEMAP_SRC_IMPORT_1_2, /* 3065 */
    XML_SCHEMAP_SRC_IMPORT_2, /* 3066 */
    XML_SCHEMAP_SRC_IMPORT_2_1, /* 3067 */
    XML_SCHEMAP_SRC_IMPORT_2_2, /* 3068 */
    XML_SCHEMAP_INTERNAL, /* 3069 non-W3C */
    XML_SCHEMAP_NOT_DETERMINISTIC, /* 3070 non-W3C */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1, /* 3071 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2, /* 3072 */
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3, /* 3073 */
    XML_SCHEMAP_MG_PROPS_CORRECT_1, /* 3074 */
    XML_SCHEMAP_MG_PROPS_CORRECT_2, /* 3075 */
    XML_SCHEMAP_SRC_CT_1, /* 3076 */
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3, /* 3077 */
    XML_SCHEMAP_AU_PROPS_CORRECT_2, /* 3078 */
    XML_SCHEMAP_A_PROPS_CORRECT_2, /* 3079 */
    XML_SCHEMAP_C_PROPS_CORRECT, /* 3080 */
    XML_SCHEMAP_SRC_REDEFINE, /* 3081 */
    XML_SCHEMAP_SRC_IMPORT, /* 3082 */
    XML_SCHEMAP_WARN_SKIP_SCHEMA, /* 3083 */
    XML_SCHEMAP_WARN_UNLOCATED_SCHEMA, /* 3084 */
    XML_SCHEMAP_WARN_ATTR_REDECL_PROH, /* 3085 */
    XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH, /* 3085 */
    XML_SCHEMAP_AG_PROPS_CORRECT, /* 3086 */
    XML_SCHEMAP_COS_CT_EXTENDS_1_2, /* 3087 */
    XML_SCHEMAP_AU_PROPS_CORRECT, /* 3088 */
    XML_SCHEMAP_A_PROPS_CORRECT_3, /* 3089 */
    XML_SCHEMAP_COS_ALL_LIMITED, /* 3090 */
    XML_SCHEMATRONV_ASSERT = 4000, /* 4000 */
    XML_SCHEMATRONV_REPORT,
    XML_MODULE_OPEN = 4900, /* 4900 */
    XML_MODULE_CLOSE, /* 4901 */
    XML_CHECK_FOUND_ELEMENT = 5000,
    XML_CHECK_FOUND_ATTRIBUTE, /* 5001 */
    XML_CHECK_FOUND_TEXT, /* 5002 */
    XML_CHECK_FOUND_CDATA, /* 5003 */
    XML_CHECK_FOUND_ENTITYREF, /* 5004 */
    XML_CHECK_FOUND_ENTITY, /* 5005 */
    XML_CHECK_FOUND_PI, /* 5006 */
    XML_CHECK_FOUND_COMMENT, /* 5007 */
    XML_CHECK_FOUND_DOCTYPE, /* 5008 */
    XML_CHECK_FOUND_FRAGMENT, /* 5009 */
    XML_CHECK_FOUND_NOTATION, /* 5010 */
    XML_CHECK_UNKNOWN_NODE, /* 5011 */
    XML_CHECK_ENTITY_TYPE, /* 5012 */
    XML_CHECK_NO_PARENT, /* 5013 */
    XML_CHECK_NO_DOC, /* 5014 */
    XML_CHECK_NO_NAME, /* 5015 */
    XML_CHECK_NO_ELEM, /* 5016 */
    XML_CHECK_WRONG_DOC, /* 5017 */
    XML_CHECK_NO_PREV, /* 5018 */
    XML_CHECK_WRONG_PREV, /* 5019 */
    XML_CHECK_NO_NEXT, /* 5020 */
    XML_CHECK_WRONG_NEXT, /* 5021 */
    XML_CHECK_NOT_DTD, /* 5022 */
    XML_CHECK_NOT_ATTR, /* 5023 */
    XML_CHECK_NOT_ATTR_DECL, /* 5024 */
    XML_CHECK_NOT_ELEM_DECL, /* 5025 */
    XML_CHECK_NOT_ENTITY_DECL, /* 5026 */
    XML_CHECK_NOT_NS_DECL, /* 5027 */
    XML_CHECK_NO_HREF, /* 5028 */
    XML_CHECK_WRONG_PARENT,/* 5029 */
    XML_CHECK_NS_SCOPE, /* 5030 */
    XML_CHECK_NS_ANCESTOR, /* 5031 */
    XML_CHECK_NOT_UTF8, /* 5032 */
    XML_CHECK_NO_DICT, /* 5033 */
    XML_CHECK_NOT_NCNAME, /* 5034 */
    XML_CHECK_OUTSIDE_DICT, /* 5035 */
    XML_CHECK_WRONG_NAME, /* 5036 */
    XML_CHECK_NAME_NOT_NULL, /* 5037 */
    XML_I18N_NO_NAME = 6000,
    XML_I18N_NO_HANDLER, /* 6001 */
    XML_I18N_EXCESS_HANDLER, /* 6002 */
    XML_I18N_CONV_FAILED, /* 6003 */
    XML_I18N_NO_OUTPUT, /* 6004 */
    XML_BUF_OVERFLOW = 7000
} xmlParserErrors;

/**
 * xmlGenericErrorFunc:
 * @ctx:  a parsing context
 * @msg:  the message
 * @...:  the extra arguments of the varags to format the message
 *
 * Signature of the function to use when there is an error and
 * no parsing or validity context available .
 */
typedef void (XMLCDECL *xmlGenericErrorFunc) (void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
/**
 * xmlStructuredErrorFunc:
 * @userData:  user provided data for the error callback
 * @error:  the error being raised.
 *
 * Signature of the function to use when there is an error and
 * the module handles the new error reporting mechanism.
 */
typedef void (XMLCALL *xmlStructuredErrorFunc) (void *userData, xmlErrorPtr error);

/*
 * Use the following function to reset the two global variables
 * xmlGenericError and xmlGenericErrorContext.
 */
XMLPUBFUN void XMLCALL
    xmlSetGenericErrorFunc	(void *ctx,
				 xmlGenericErrorFunc handler);
XMLPUBFUN void XMLCALL
    initGenericErrorDefaultFunc	(xmlGenericErrorFunc *handler);

XMLPUBFUN void XMLCALL
    xmlSetStructuredErrorFunc	(void *ctx,
				 xmlStructuredErrorFunc handler);
/*
 * Default message routines used by SAX and Valid context for error
 * and warning reporting.
 */
XMLPUBFUN void XMLCDECL
    xmlParserError		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserWarning		(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityError	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCDECL
    xmlParserValidityWarning	(void *ctx,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(2,3);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileInfo	(xmlParserInputPtr input);
XMLPUBFUN void XMLCALL
    xmlParserPrintFileContext	(xmlParserInputPtr input);

/*
 * Extended error information routines
 */
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlGetLastError		(void);
XMLPUBFUN void XMLCALL
    xmlResetLastError		(void);
XMLPUBFUN xmlErrorPtr XMLCALL
    xmlCtxtGetLastError		(void *ctx);
XMLPUBFUN void XMLCALL
    xmlCtxtResetLastError	(void *ctx);
XMLPUBFUN void XMLCALL
    xmlResetError		(xmlErrorPtr err);
XMLPUBFUN int XMLCALL
    xmlCopyError		(xmlErrorPtr from,
				 xmlErrorPtr to);

#ifdef IN_LIBXML
/*
 * Internal callback reporting routine
 */
XMLPUBFUN void XMLCALL
    __xmlRaiseError		(xmlStructuredErrorFunc schannel,
				 xmlGenericErrorFunc channel,
				 void *data,
                                 void *ctx,
				 void *node,
				 int domain,
				 int code,
				 xmlErrorLevel level,
				 const char *file,
				 int line,
				 const char *str1,
				 const char *str2,
				 const char *str3,
				 int int1,
				 int col,
				 const char *msg,
				 ...) LIBXML_ATTR_FORMAT(16,17);
XMLPUBFUN void XMLCALL
    __xmlSimpleError		(int domain,
				 int code,
				 xmlNodePtr node,
				 const char *msg,
				 const char *extra) LIBXML_ATTR_FORMAT(4,0);
#endif
#ifdef __cplusplus
}
#endif
#endif /* __XML_ERROR_H__ */
PK��ZS����libxml/SAX.hnu�[���/*
 * Summary: Old SAX version 1 handler, deprecated
 * Description: DEPRECATED set of SAX version 1 interfaces used to
 *              build the DOM tree.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */


#ifndef __XML_SAX_H__
#define __XML_SAX_H__

#include <stdio.h>
#include <stdlib.h>
#include <libxml/xmlversion.h>
#include <libxml/parser.h>
#include <libxml/xlink.h>

#ifdef LIBXML_LEGACY_ENABLED

#ifdef __cplusplus
extern "C" {
#endif
XMLPUBFUN const xmlChar * XMLCALL
		getPublicId			(void *ctx);
XMLPUBFUN const xmlChar * XMLCALL
		getSystemId			(void *ctx);
XMLPUBFUN void XMLCALL
		setDocumentLocator		(void *ctx,
						 xmlSAXLocatorPtr loc);

XMLPUBFUN int XMLCALL
		getLineNumber			(void *ctx);
XMLPUBFUN int XMLCALL
		getColumnNumber			(void *ctx);

XMLPUBFUN int XMLCALL
		isStandalone			(void *ctx);
XMLPUBFUN int XMLCALL
		hasInternalSubset		(void *ctx);
XMLPUBFUN int XMLCALL
		hasExternalSubset		(void *ctx);

XMLPUBFUN void XMLCALL
		internalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN void XMLCALL
		externalSubset			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *ExternalID,
						 const xmlChar *SystemID);
XMLPUBFUN xmlEntityPtr XMLCALL
		getEntity			(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlEntityPtr XMLCALL
		getParameterEntity		(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlParserInputPtr XMLCALL
		resolveEntity			(void *ctx,
						 const xmlChar *publicId,
						 const xmlChar *systemId);

XMLPUBFUN void XMLCALL
		entityDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 xmlChar *content);
XMLPUBFUN void XMLCALL
		attributeDecl			(void *ctx,
						 const xmlChar *elem,
						 const xmlChar *fullname,
						 int type,
						 int def,
						 const xmlChar *defaultValue,
						 xmlEnumerationPtr tree);
XMLPUBFUN void XMLCALL
		elementDecl			(void *ctx,
						 const xmlChar *name,
						 int type,
						 xmlElementContentPtr content);
XMLPUBFUN void XMLCALL
		notationDecl			(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId);
XMLPUBFUN void XMLCALL
		unparsedEntityDecl		(void *ctx,
						 const xmlChar *name,
						 const xmlChar *publicId,
						 const xmlChar *systemId,
						 const xmlChar *notationName);

XMLPUBFUN void XMLCALL
		startDocument			(void *ctx);
XMLPUBFUN void XMLCALL
		endDocument			(void *ctx);
XMLPUBFUN void XMLCALL
		attribute			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar *value);
XMLPUBFUN void XMLCALL
		startElement			(void *ctx,
						 const xmlChar *fullname,
						 const xmlChar **atts);
XMLPUBFUN void XMLCALL
		endElement			(void *ctx,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		reference			(void *ctx,
						 const xmlChar *name);
XMLPUBFUN void XMLCALL
		characters			(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		ignorableWhitespace		(void *ctx,
						 const xmlChar *ch,
						 int len);
XMLPUBFUN void XMLCALL
		processingInstruction		(void *ctx,
						 const xmlChar *target,
						 const xmlChar *data);
XMLPUBFUN void XMLCALL
		globalNamespace			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		setNamespace			(void *ctx,
						 const xmlChar *name);
XMLPUBFUN xmlNsPtr XMLCALL
		getNamespace			(void *ctx);
XMLPUBFUN int XMLCALL
		checkNamespace			(void *ctx,
						 xmlChar *nameSpace);
XMLPUBFUN void XMLCALL
		namespaceDecl			(void *ctx,
						 const xmlChar *href,
						 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		comment				(void *ctx,
						 const xmlChar *value);
XMLPUBFUN void XMLCALL
		cdataBlock			(void *ctx,
						 const xmlChar *value,
						 int len);

#ifdef LIBXML_SAX1_ENABLED
XMLPUBFUN void XMLCALL
		initxmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr,
						 int warning);
#ifdef LIBXML_HTML_ENABLED
XMLPUBFUN void XMLCALL
		inithtmlDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
#endif
#ifdef LIBXML_DOCB_ENABLED
XMLPUBFUN void XMLCALL
		initdocbDefaultSAXHandler	(xmlSAXHandlerV1 *hdlr);
#endif
#endif /* LIBXML_SAX1_ENABLED */

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_LEGACY_ENABLED */

#endif /* __XML_SAX_H__ */
PK��Z�f?ttlibxml/xmlautomata.hnu�[���/*
 * Summary: API to build regexp automata
 * Description: the API to build regexp automata
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_AUTOMATA_H__
#define __XML_AUTOMATA_H__

#include <libxml/xmlversion.h>
#include <libxml/tree.h>

#ifdef LIBXML_REGEXP_ENABLED
#ifdef LIBXML_AUTOMATA_ENABLED
#include <libxml/xmlregexp.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlAutomataPtr:
 *
 * A libxml automata description, It can be compiled into a regexp
 */
typedef struct _xmlAutomata xmlAutomata;
typedef xmlAutomata *xmlAutomataPtr;

/**
 * xmlAutomataStatePtr:
 *
 * A state int the automata description,
 */
typedef struct _xmlAutomataState xmlAutomataState;
typedef xmlAutomataState *xmlAutomataStatePtr;

/*
 * Building API
 */
XMLPUBFUN xmlAutomataPtr XMLCALL
		    xmlNewAutomata		(void);
XMLPUBFUN void XMLCALL
		    xmlFreeAutomata		(xmlAutomataPtr am);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataGetInitState	(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataSetFinalState	(xmlAutomataPtr am,
						 xmlAutomataStatePtr state);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewState		(xmlAutomataPtr am);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewTransition2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
                    xmlAutomataNewNegTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 void *data);

XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewOnceTrans2	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 const xmlChar *token,
						 const xmlChar *token2,
						 int min,
						 int max,
						 void *data);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewAllTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int lax);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewEpsilon	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCountedTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN xmlAutomataStatePtr XMLCALL
		    xmlAutomataNewCounterTrans	(xmlAutomataPtr am,
						 xmlAutomataStatePtr from,
						 xmlAutomataStatePtr to,
						 int counter);
XMLPUBFUN int XMLCALL
		    xmlAutomataNewCounter	(xmlAutomataPtr am,
						 int min,
						 int max);

XMLPUBFUN xmlRegexpPtr XMLCALL
		    xmlAutomataCompile		(xmlAutomataPtr am);
XMLPUBFUN int XMLCALL
		    xmlAutomataIsDeterminist	(xmlAutomataPtr am);

#ifdef __cplusplus
}
#endif

#endif /* LIBXML_AUTOMATA_ENABLED */
#endif /* LIBXML_REGEXP_ENABLED */

#endif /* __XML_AUTOMATA_H__ */
PK��ZE��n�n�
libxml/tree.hnu�[���/*
 * Summary: interfaces for tree manipulation
 * Description: this module describes the structures found in an tree resulting
 *              from an XML or HTML parsing, as well as the API provided for
 *              various processing on that tree
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */

#ifndef __XML_TREE_H__
#define __XML_TREE_H__

#include <stdio.h>
#include <limits.h>
#include <libxml/xmlversion.h>
#include <libxml/xmlstring.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Some of the basic types pointer to structures:
 */
/* xmlIO.h */
typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;

typedef struct _xmlOutputBuffer xmlOutputBuffer;
typedef xmlOutputBuffer *xmlOutputBufferPtr;

/* parser.h */
typedef struct _xmlParserInput xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;

typedef struct _xmlParserCtxt xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;

typedef struct _xmlSAXLocator xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;

typedef struct _xmlSAXHandler xmlSAXHandler;
typedef xmlSAXHandler *xmlSAXHandlerPtr;

/* entities.h */
typedef struct _xmlEntity xmlEntity;
typedef xmlEntity *xmlEntityPtr;

/**
 * BASE_BUFFER_SIZE:
 *
 * default buffer size 4000.
 */
#define BASE_BUFFER_SIZE 4096

/**
 * LIBXML_NAMESPACE_DICT:
 *
 * Defines experimental behaviour:
 * 1) xmlNs gets an additional field @context (a xmlDoc)
 * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
 */
/* #define LIBXML_NAMESPACE_DICT */

/**
 * xmlBufferAllocationScheme:
 *
 * A buffer allocation scheme can be defined to either match exactly the
 * need or double it's allocated size each time it is found too small.
 */

typedef enum {
    XML_BUFFER_ALLOC_DOUBLEIT,	/* double each time one need to grow */
    XML_BUFFER_ALLOC_EXACT,	/* grow only to the minimal size */
    XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer */
    XML_BUFFER_ALLOC_IO,	/* special allocation scheme used for I/O */
    XML_BUFFER_ALLOC_HYBRID,	/* exact up to a threshold, and doubleit thereafter */
    XML_BUFFER_ALLOC_BOUNDED	/* limit the upper size of the buffer */
} xmlBufferAllocationScheme;

/**
 * xmlBuffer:
 *
 * A buffer structure, this old construct is limited to 2GB and
 * is being deprecated, use API with xmlBuf instead
 */
typedef struct _xmlBuffer xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
struct _xmlBuffer {
    xmlChar *content;		/* The buffer content UTF8 */
    unsigned int use;		/* The buffer size used */
    unsigned int size;		/* The buffer size */
    xmlBufferAllocationScheme alloc; /* The realloc method */
    xmlChar *contentIO;		/* in IO mode we may have a different base */
};

/**
 * xmlBuf:
 *
 * A buffer structure, new one, the actual structure internals are not public
 */

typedef struct _xmlBuf xmlBuf;

/**
 * xmlBufPtr:
 *
 * A pointer to a buffer structure, the actual structure internals are not
 * public
 */

typedef xmlBuf *xmlBufPtr;

/*
 * A few public routines for xmlBuf. As those are expected to be used
 * mostly internally the bulk of the routines are internal in buf.h
 */
XMLPUBFUN xmlChar* XMLCALL       xmlBufContent	(const xmlBuf* buf);
XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
XMLPUBFUN size_t XMLCALL         xmlBufShrink	(xmlBufPtr buf, size_t len);

/*
 * LIBXML2_NEW_BUFFER:
 *
 * Macro used to express that the API use the new buffers for
 * xmlParserInputBuffer and xmlOutputBuffer. The change was
 * introduced in 2.9.0.
 */
#define LIBXML2_NEW_BUFFER

/**
 * XML_XML_NAMESPACE:
 *
 * This is the namespace for the special xml: prefix predefined in the
 * XML Namespace specification.
 */
#define XML_XML_NAMESPACE \
    (const xmlChar *) "http://www.w3.org/XML/1998/namespace"

/**
 * XML_XML_ID:
 *
 * This is the name for the special xml:id attribute
 */
#define XML_XML_ID (const xmlChar *) "xml:id"

/*
 * The different element types carried by an XML tree.
 *
 * NOTE: This is synchronized with DOM Level1 values
 *       See http://www.w3.org/TR/REC-DOM-Level-1/
 *
 * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
 * be deprecated to use an XML_DTD_NODE.
 */
typedef enum {
    XML_ELEMENT_NODE=		1,
    XML_ATTRIBUTE_NODE=		2,
    XML_TEXT_NODE=		3,
    XML_CDATA_SECTION_NODE=	4,
    XML_ENTITY_REF_NODE=	5,
    XML_ENTITY_NODE=		6,
    XML_PI_NODE=		7,
    XML_COMMENT_NODE=		8,
    XML_DOCUMENT_NODE=		9,
    XML_DOCUMENT_TYPE_NODE=	10,
    XML_DOCUMENT_FRAG_NODE=	11,
    XML_NOTATION_NODE=		12,
    XML_HTML_DOCUMENT_NODE=	13,
    XML_DTD_NODE=		14,
    XML_ELEMENT_DECL=		15,
    XML_ATTRIBUTE_DECL=		16,
    XML_ENTITY_DECL=		17,
    XML_NAMESPACE_DECL=		18,
    XML_XINCLUDE_START=		19,
    XML_XINCLUDE_END=		20
#ifdef LIBXML_DOCB_ENABLED
   ,XML_DOCB_DOCUMENT_NODE=	21
#endif
} xmlElementType;


/**
 * xmlNotation:
 *
 * A DTD Notation definition.
 */

typedef struct _xmlNotation xmlNotation;
typedef xmlNotation *xmlNotationPtr;
struct _xmlNotation {
    const xmlChar               *name;	        /* Notation name */
    const xmlChar               *PublicID;	/* Public identifier, if any */
    const xmlChar               *SystemID;	/* System identifier, if any */
};

/**
 * xmlAttributeType:
 *
 * A DTD Attribute type definition.
 */

typedef enum {
    XML_ATTRIBUTE_CDATA = 1,
    XML_ATTRIBUTE_ID,
    XML_ATTRIBUTE_IDREF	,
    XML_ATTRIBUTE_IDREFS,
    XML_ATTRIBUTE_ENTITY,
    XML_ATTRIBUTE_ENTITIES,
    XML_ATTRIBUTE_NMTOKEN,
    XML_ATTRIBUTE_NMTOKENS,
    XML_ATTRIBUTE_ENUMERATION,
    XML_ATTRIBUTE_NOTATION
} xmlAttributeType;

/**
 * xmlAttributeDefault:
 *
 * A DTD Attribute default definition.
 */

typedef enum {
    XML_ATTRIBUTE_NONE = 1,
    XML_ATTRIBUTE_REQUIRED,
    XML_ATTRIBUTE_IMPLIED,
    XML_ATTRIBUTE_FIXED
} xmlAttributeDefault;

/**
 * xmlEnumeration:
 *
 * List structure used when there is an enumeration in DTDs.
 */

typedef struct _xmlEnumeration xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
struct _xmlEnumeration {
    struct _xmlEnumeration    *next;	/* next one */
    const xmlChar            *name;	/* Enumeration name */
};

/**
 * xmlAttribute:
 *
 * An Attribute declaration in a DTD.
 */

typedef struct _xmlAttribute xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
struct _xmlAttribute {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
    const xmlChar          *name;	/* Attribute name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    struct _xmlAttribute  *nexth;	/* next in hash table */
    xmlAttributeType       atype;	/* The attribute type */
    xmlAttributeDefault      def;	/* the default */
    const xmlChar  *defaultValue;	/* or the default value */
    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
    const xmlChar        *prefix;	/* the namespace prefix if any */
    const xmlChar          *elem;	/* Element holding the attribute */
};

/**
 * xmlElementContentType:
 *
 * Possible definitions of element content types.
 */
typedef enum {
    XML_ELEMENT_CONTENT_PCDATA = 1,
    XML_ELEMENT_CONTENT_ELEMENT,
    XML_ELEMENT_CONTENT_SEQ,
    XML_ELEMENT_CONTENT_OR
} xmlElementContentType;

/**
 * xmlElementContentOccur:
 *
 * Possible definitions of element content occurrences.
 */
typedef enum {
    XML_ELEMENT_CONTENT_ONCE = 1,
    XML_ELEMENT_CONTENT_OPT,
    XML_ELEMENT_CONTENT_MULT,
    XML_ELEMENT_CONTENT_PLUS
} xmlElementContentOccur;

/**
 * xmlElementContent:
 *
 * An XML Element content as stored after parsing an element definition
 * in a DTD.
 */

typedef struct _xmlElementContent xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
struct _xmlElementContent {
    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
    const xmlChar             *name;	/* Element name */
    struct _xmlElementContent *c1;	/* first child */
    struct _xmlElementContent *c2;	/* second child */
    struct _xmlElementContent *parent;	/* parent */
    const xmlChar             *prefix;	/* Namespace prefix */
};

/**
 * xmlElementTypeVal:
 *
 * The different possibilities for an element content type.
 */

typedef enum {
    XML_ELEMENT_TYPE_UNDEFINED = 0,
    XML_ELEMENT_TYPE_EMPTY = 1,
    XML_ELEMENT_TYPE_ANY,
    XML_ELEMENT_TYPE_MIXED,
    XML_ELEMENT_TYPE_ELEMENT
} xmlElementTypeVal;

#ifdef __cplusplus
}
#endif
#include <libxml/xmlregexp.h>
#ifdef __cplusplus
extern "C" {
#endif

/**
 * xmlElement:
 *
 * An XML Element declaration from a DTD.
 */

typedef struct _xmlElement xmlElement;
typedef xmlElement *xmlElementPtr;
struct _xmlElement {
    void           *_private;	        /* application data */
    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
    const xmlChar          *name;	/* Element name */
    struct _xmlNode    *children;	/* NULL */
    struct _xmlNode        *last;	/* NULL */
    struct _xmlDtd       *parent;	/* -> DTD */
    struct _xmlNode        *next;	/* next sibling link  */
    struct _xmlNode        *prev;	/* previous sibling link  */
    struct _xmlDoc          *doc;       /* the containing document */

    xmlElementTypeVal      etype;	/* The type */
    xmlElementContentPtr content;	/* the allowed element content */
    xmlAttributePtr   attributes;	/* List of the declared attributes */
    const xmlChar        *prefix;	/* the namespace prefix if any */
#ifdef LIBXML_REGEXP_ENABLED
    xmlRegexpPtr       contModel;	/* the validating regexp */
#else
    void	      *contModel;
#endif
};

/**
 * XML_LOCAL_NAMESPACE:
 *
 * A namespace declaration node.
 */
#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
typedef xmlElementType xmlNsType;

/**
 * xmlNs:
 *
 * An XML namespace.
 * Note that prefix == NULL is valid, it defines the default namespace
 * within the subtree (until overridden).
 *
 * xmlNsType is unified with xmlElementType.
 */

typedef struct _xmlNs xmlNs;
typedef xmlNs *xmlNsPtr;
struct _xmlNs {
    struct _xmlNs  *next;	/* next Ns link for this node  */
    xmlNsType      type;	/* global or local */
    const xmlChar *href;	/* URL for the namespace */
    const xmlChar *prefix;	/* prefix for the namespace */
    void           *_private;   /* application data */
    struct _xmlDoc *context;		/* normally an xmlDoc */
};

/**
 * xmlDtd:
 *
 * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
 * the internal subset and for the external subset.
 */
typedef struct _xmlDtd xmlDtd;
typedef xmlDtd *xmlDtdPtr;
struct _xmlDtd {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
    const xmlChar *name;	/* Name of the DTD */
    struct _xmlNode *children;	/* the value of the property link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlDoc  *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    void          *notations;   /* Hash table for notations if any */
    void          *elements;    /* Hash table for elements if any */
    void          *attributes;  /* Hash table for attributes if any */
    void          *entities;    /* Hash table for entities if any */
    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
    void          *pentities;   /* Hash table for param entities if any */
};

/**
 * xmlAttr:
 *
 * An attribute on an XML node.
 */
typedef struct _xmlAttr xmlAttr;
typedef xmlAttr *xmlAttrPtr;
struct _xmlAttr {
    void           *_private;	/* application data */
    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
    const xmlChar   *name;      /* the name of the property */
    struct _xmlNode *children;	/* the value of the property */
    struct _xmlNode *last;	/* NULL */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlAttr *next;	/* next sibling link  */
    struct _xmlAttr *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlAttributeType atype;     /* the attribute type if validating */
    void            *psvi;	/* for type/PSVI informations */
};

#define XML_ATTR_CLEAR_ATYPE(attr) (((attr)->atype) = 0)
#define XML_ATTR_GET_ATYPE(attr) (((attr)->atype) & ~(15U << 27))
#define XML_ATTR_SET_ATYPE(attr, type) ((attr)->atype = ((((attr)->atype) & (15U << 27)) | ((type) & ~(15U << 27))))

/**
 * xmlID:
 *
 * An XML ID instance.
 */

typedef struct _xmlID xmlID;
typedef xmlID *xmlIDPtr;
struct _xmlID {
    struct _xmlID    *next;	/* next ID */
    const xmlChar    *value;	/* The ID name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
    struct _xmlDoc   *doc;	/* The document holding the ID */
};

/**
 * xmlRef:
 *
 * An XML IDREF instance.
 */

typedef struct _xmlRef xmlRef;
typedef xmlRef *xmlRefPtr;
struct _xmlRef {
    struct _xmlRef    *next;	/* next Ref */
    const xmlChar     *value;	/* The Ref name */
    xmlAttrPtr        attr;	/* The attribute holding it */
    const xmlChar    *name;	/* The attribute if attr is not available */
    int               lineno;	/* The line number if attr is not available */
};

/**
 * xmlNode:
 *
 * A node in an XML tree.
 */
typedef struct _xmlNode xmlNode;
typedef xmlNode *xmlNodePtr;
struct _xmlNode {
    void           *_private;	/* application data */
    xmlElementType   type;	/* type number, must be second ! */
    const xmlChar   *name;      /* the name of the node, or the entity */
    struct _xmlNode *children;	/* parent->childs link */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* the containing document */

    /* End of common part */
    xmlNs           *ns;        /* pointer to the associated namespace */
    xmlChar         *content;   /* the content */
    struct _xmlAttr *properties;/* properties list */
    xmlNs           *nsDef;     /* namespace definitions on this node */
    void            *psvi;	/* for type/PSVI informations */
    unsigned short   line;	/* line number */
    unsigned short   extra;	/* extra data for XPath/XSLT */
};

#define XML_NODE_ADD_EXTRA(node, type) ((node)->extra |= ((type) & ~(15U << 12)))
#define XML_NODE_CLEAR_EXTRA(node) (((node)->extra) = 0)
#define XML_NODE_GET_EXTRA(node) (((node)->extra) & ~(15U << 12))
#define XML_NODE_SET_EXTRA(node, type) ((node)->extra = ((((node)->extra) & (15U << 12)) | ((type) & ~(15U << 12))))

/**
 * XML_GET_CONTENT:
 *
 * Macro to extract the content pointer of a node.
 */
#define XML_GET_CONTENT(n)					\
    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)

/**
 * XML_GET_LINE:
 *
 * Macro to extract the line number of an element node.
 */
#define XML_GET_LINE(n)						\
    (xmlGetLineNo(n))

/**
 * xmlDocProperty
 *
 * Set of properties of the document as found by the parser
 * Some of them are linked to similary named xmlParserOption
 */
typedef enum {
    XML_DOC_WELLFORMED		= 1<<0, /* document is XML well formed */
    XML_DOC_NSVALID		= 1<<1, /* document is Namespace valid */
    XML_DOC_OLD10		= 1<<2, /* parsed with old XML-1.0 parser */
    XML_DOC_DTDVALID		= 1<<3, /* DTD validation was successful */
    XML_DOC_XINCLUDE		= 1<<4, /* XInclude substitution was done */
    XML_DOC_USERBUILT		= 1<<5, /* Document was built using the API
                                           and not by parsing an instance */
    XML_DOC_INTERNAL		= 1<<6, /* built for internal processing */
    XML_DOC_HTML		= 1<<7  /* parsed or built HTML document */
} xmlDocProperties;

/**
 * xmlDoc:
 *
 * An XML document.
 */
typedef struct _xmlDoc xmlDoc;
typedef xmlDoc *xmlDocPtr;
struct _xmlDoc {
    void           *_private;	/* application data */
    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
    char           *name;	/* name/filename/URI of the document */
    struct _xmlNode *children;	/* the document tree */
    struct _xmlNode *last;	/* last child link */
    struct _xmlNode *parent;	/* child->parent link */
    struct _xmlNode *next;	/* next sibling link  */
    struct _xmlNode *prev;	/* previous sibling link  */
    struct _xmlDoc  *doc;	/* autoreference to itself */

    /* End of common part */
    int             compression;/* level of zlib compression */
    int             standalone; /* standalone document (no external refs)
				     1 if standalone="yes"
				     0 if standalone="no"
				    -1 if there is no XML declaration
				    -2 if there is an XML declaration, but no
					standalone attribute was specified */
    struct _xmlDtd  *intSubset;	/* the document internal subset */
    struct _xmlDtd  *extSubset;	/* the document external subset */
    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
    const xmlChar  *version;	/* the XML version string */
    const xmlChar  *encoding;   /* external initial encoding, if any */
    void           *ids;        /* Hash table for ID attributes if any */
    void           *refs;       /* Hash table for IDREFs attributes if any */
    const xmlChar  *URL;	/* The URI for that document */
    int             charset;    /* encoding of the in-memory content
				   actually an xmlCharEncoding */
    struct _xmlDict *dict;      /* dict used to allocate names or NULL */
    void           *psvi;	/* for type/PSVI informations */
    int             parseFlags;	/* set of xmlParserOption used to parse the
				   document */
    int             properties;	/* set of xmlDocProperties for this document
				   set at the end of parsing */
};

#define XML_DOC_ADD_PROPERTIES(doc, type) ((doc)->properties |= ((type) & ~(15U << 27)))
#define XML_DOC_CLEAR_PROPERTIES(doc) (((doc)->properties) = 0)
#define XML_DOC_GET_PROPERTIES(doc) (((doc)->properties) & ~(15U << 27))
#define XML_DOC_SET_PROPERTIES(doc, type) ((doc)->properties = ((((doc)->properties) & (15U << 27)) | ((type) & ~(15U << 27))))

typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;

/**
 * xmlDOMWrapAcquireNsFunction:
 * @ctxt:  a DOM wrapper context
 * @node:  the context node (element or attribute)
 * @nsName:  the requested namespace name
 * @nsPrefix:  the requested namespace prefix
 *
 * A function called to acquire namespaces (xmlNs) from the wrapper.
 *
 * Returns an xmlNsPtr or NULL in case of an error.
 */
typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
						 xmlNodePtr node,
						 const xmlChar *nsName,
						 const xmlChar *nsPrefix);

/**
 * xmlDOMWrapCtxt:
 *
 * Context for DOM wrapper-operations.
 */
struct _xmlDOMWrapCtxt {
    void * _private;
    /*
    * The type of this context, just in case we need specialized
    * contexts in the future.
    */
    int type;
    /*
    * Internal namespace map used for various operations.
    */
    void * namespaceMap;
    /*
    * Use this one to acquire an xmlNsPtr intended for node->ns.
    * (Note that this is not intended for elem->nsDef).
    */
    xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
};

/**
 * xmlChildrenNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children."
 */
#ifndef xmlChildrenNode
#define xmlChildrenNode children
#endif

/**
 * xmlRootNode:
 *
 * Macro for compatibility naming layer with libxml1. Maps
 * to "children".
 */
#ifndef xmlRootNode
#define xmlRootNode children
#endif

/*
 * Variables.
 */

/*
 * Some helper functions
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
    defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
    defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
    defined(LIBXML_DOCB_ENABLED) || defined(LIBXML_LEGACY_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateNCName	(const xmlChar *value,
					 int space);
#endif

#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlValidateQName	(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateName		(const xmlChar *value,
					 int space);
XMLPUBFUN int XMLCALL
		xmlValidateNMToken	(const xmlChar *value,
					 int space);
#endif

XMLPUBFUN xmlChar * XMLCALL
		xmlBuildQName		(const xmlChar *ncname,
					 const xmlChar *prefix,
					 xmlChar *memory,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlSplitQName2		(const xmlChar *name,
					 xmlChar **prefix);
XMLPUBFUN const xmlChar * XMLCALL
		xmlSplitQName3		(const xmlChar *name,
					 int *len);

/*
 * Handling Buffers, the old ones see @xmlBuf for the new ones.
 */

XMLPUBFUN void XMLCALL
		xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
XMLPUBFUN xmlBufferAllocationScheme XMLCALL
		xmlGetBufferAllocationScheme(void);

XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreate		(void);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateSize	(size_t size);
XMLPUBFUN xmlBufferPtr XMLCALL
		xmlBufferCreateStatic	(void *mem,
					 size_t size);
XMLPUBFUN int XMLCALL
		xmlBufferResize		(xmlBufferPtr buf,
					 unsigned int size);
XMLPUBFUN void XMLCALL
		xmlBufferFree		(xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferDump		(FILE *file,
					 xmlBufferPtr buf);
XMLPUBFUN int XMLCALL
		xmlBufferAdd		(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferAddHead	(xmlBufferPtr buf,
					 const xmlChar *str,
					 int len);
XMLPUBFUN int XMLCALL
		xmlBufferCat		(xmlBufferPtr buf,
					 const xmlChar *str);
XMLPUBFUN int XMLCALL
		xmlBufferCCat		(xmlBufferPtr buf,
					 const char *str);
XMLPUBFUN int XMLCALL
		xmlBufferShrink		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN int XMLCALL
		xmlBufferGrow		(xmlBufferPtr buf,
					 unsigned int len);
XMLPUBFUN void XMLCALL
		xmlBufferEmpty		(xmlBufferPtr buf);
XMLPUBFUN const xmlChar* XMLCALL
		xmlBufferContent	(const xmlBuffer *buf);
XMLPUBFUN xmlChar* XMLCALL
		xmlBufferDetach         (xmlBufferPtr buf);
XMLPUBFUN void XMLCALL
		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
					 xmlBufferAllocationScheme scheme);
XMLPUBFUN int XMLCALL
		xmlBufferLength		(const xmlBuffer *buf);

/*
 * Creating/freeing new structures.
 */
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCreateIntSubset	(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlNewDtd		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *ExternalID,
					 const xmlChar *SystemID);
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlGetIntSubset		(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlFreeDtd		(xmlDtdPtr cur);
#ifdef LIBXML_LEGACY_ENABLED
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewGlobalNs		(xmlDocPtr doc,
					 const xmlChar *href,
					 const xmlChar *prefix);
#endif /* LIBXML_LEGACY_ENABLED */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlNewNs		(xmlNodePtr node,
					 const xmlChar *href,
					 const xmlChar *prefix);
XMLPUBFUN void XMLCALL
		xmlFreeNs		(xmlNsPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNsList		(xmlNsPtr cur);
XMLPUBFUN xmlDocPtr XMLCALL
		xmlNewDoc		(const xmlChar *version);
XMLPUBFUN void XMLCALL
		xmlFreeDoc		(xmlDocPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewDocProp		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *value);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
#endif
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlNewNsPropEatName	(xmlNodePtr node,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN void XMLCALL
		xmlFreePropList		(xmlAttrPtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeProp		(xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyProp		(xmlNodePtr target,
					 xmlAttrPtr cur);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlCopyPropList		(xmlNodePtr target,
					 xmlAttrPtr cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlDtdPtr XMLCALL
		xmlCopyDtd		(xmlDtdPtr dtd);
#endif /* LIBXML_TREE_ENABLED */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlDocPtr XMLCALL
		xmlCopyDoc		(xmlDocPtr doc,
					 int recursive);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
/*
 * Creating new nodes.
 */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNode		(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocNodeEatName	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNode		(xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewNodeEatName	(xmlNsPtr ns,
					 xmlChar *name);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
#endif
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocText		(const xmlDoc *doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewText		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocPI		(xmlDocPtr doc,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewPI		(const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocTextLen	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextLen		(const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocComment	(xmlDocPtr doc,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewComment		(const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCDataBlock	(xmlDocPtr doc,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewCharRef		(xmlDocPtr doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewReference		(const xmlDoc *doc,
					 const xmlChar *name);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNode		(xmlNodePtr node,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNode		(xmlNodePtr node,
					 xmlDocPtr doc,
					 int recursive);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocCopyNodeList	(xmlDocPtr doc,
					 xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlCopyNodeList		(xmlNodePtr node);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewTextChild		(xmlNodePtr parent,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocRawNode	(xmlDocPtr doc,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *content);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlNewDocFragment	(xmlDocPtr doc);
#endif /* LIBXML_TREE_ENABLED */

/*
 * Navigating.
 */
XMLPUBFUN long XMLCALL
		xmlGetLineNo		(const xmlNode *node);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNodePath		(const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocGetRootElement	(const xmlDoc *doc);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlGetLastChild		(const xmlNode *parent);
XMLPUBFUN int XMLCALL
		xmlNodeIsText		(const xmlNode *node);
XMLPUBFUN int XMLCALL
		xmlIsBlankNode		(const xmlNode *node);

/*
 * Changing the structure.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlDocSetRootElement	(xmlDocPtr doc,
					 xmlNodePtr root);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetName		(xmlNodePtr cur,
					 const xmlChar *name);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChild		(xmlNodePtr parent,
					 xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddChildList		(xmlNodePtr parent,
					 xmlNodePtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlReplaceNode		(xmlNodePtr old,
					 xmlNodePtr cur);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddPrevSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
#endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddSibling		(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlAddNextSibling	(xmlNodePtr cur,
					 xmlNodePtr elem);
XMLPUBFUN void XMLCALL
		xmlUnlinkNode		(xmlNodePtr cur);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlTextMerge		(xmlNodePtr first,
					 xmlNodePtr second);
XMLPUBFUN int XMLCALL
		xmlTextConcat		(xmlNodePtr node,
					 const xmlChar *content,
					 int len);
XMLPUBFUN void XMLCALL
		xmlFreeNodeList		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlFreeNode		(xmlNodePtr cur);
XMLPUBFUN void XMLCALL
		xmlSetTreeDoc		(xmlNodePtr tree,
					 xmlDocPtr doc);
XMLPUBFUN void XMLCALL
		xmlSetListDoc		(xmlNodePtr list,
					 xmlDocPtr doc);
/*
 * Namespaces.
 */
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNs		(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlSearchNsByHref	(xmlDocPtr doc,
					 xmlNodePtr node,
					 const xmlChar *href);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN xmlNsPtr * XMLCALL
		xmlGetNsList		(const xmlDoc *doc,
					 const xmlNode *node);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */

XMLPUBFUN void XMLCALL
		xmlSetNs		(xmlNodePtr node,
					 xmlNsPtr ns);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespace	(xmlNsPtr cur);
XMLPUBFUN xmlNsPtr XMLCALL
		xmlCopyNamespaceList	(xmlNsPtr cur);

/*
 * Changing the content.
 */
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
    defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetProp		(xmlNodePtr node,
					 const xmlChar *name,
					 const xmlChar *value);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlSetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name,
					 const xmlChar *value);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
	  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNoNsProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasProp		(const xmlNode *node,
					 const xmlChar *name);
XMLPUBFUN xmlAttrPtr XMLCALL
		xmlHasNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlChar * XMLCALL
		xmlGetNsProp		(const xmlNode *node,
					 const xmlChar *name,
					 const xmlChar *nameSpace);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value);
XMLPUBFUN xmlNodePtr XMLCALL
		xmlStringLenGetNodeList	(const xmlDoc *doc,
					 const xmlChar *value,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetString	(xmlDocPtr doc,
					 const xmlNode *list,
					 int inLine);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeListGetRawString	(const xmlDoc *doc,
					 const xmlNode *list,
					 int inLine);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeSetContent	(xmlNodePtr cur,
					 const xmlChar *content);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN void XMLCALL
		xmlNodeAddContent	(xmlNodePtr cur,
					 const xmlChar *content);
XMLPUBFUN void XMLCALL
		xmlNodeAddContentLen	(xmlNodePtr cur,
					 const xmlChar *content,
					 int len);
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetContent	(const xmlNode *cur);

XMLPUBFUN int XMLCALL
		xmlNodeBufGetContent	(xmlBufferPtr buffer,
					 const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlBufGetNodeContent	(xmlBufPtr buf,
					 const xmlNode *cur);

XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetLang		(const xmlNode *cur);
XMLPUBFUN int XMLCALL
		xmlNodeGetSpacePreserve	(const xmlNode *cur);
#ifdef LIBXML_TREE_ENABLED
XMLPUBFUN void XMLCALL
		xmlNodeSetLang		(xmlNodePtr cur,
					 const xmlChar *lang);
XMLPUBFUN void XMLCALL
		xmlNodeSetSpacePreserve (xmlNodePtr cur,
					 int val);
#endif /* LIBXML_TREE_ENABLED */
XMLPUBFUN xmlChar * XMLCALL
		xmlNodeGetBase		(const xmlDoc *doc,
					 const xmlNode *cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
XMLPUBFUN void XMLCALL
		xmlNodeSetBase		(xmlNodePtr cur,
					 const xmlChar *uri);
#endif

/*
 * Removing content.
 */
XMLPUBFUN int XMLCALL
		xmlRemoveProp		(xmlAttrPtr cur);
#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
XMLPUBFUN int XMLCALL
		xmlUnsetNsProp		(xmlNodePtr node,
					 xmlNsPtr ns,
					 const xmlChar *name);
XMLPUBFUN int XMLCALL
		xmlUnsetProp		(xmlNodePtr node,
					 const xmlChar *name);
#endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */

/*
 * Internal, don't use.
 */
XMLPUBFUN void XMLCALL
		xmlBufferWriteCHAR	(xmlBufferPtr buf,
					 const xmlChar *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteChar	(xmlBufferPtr buf,
					 const char *string);
XMLPUBFUN void XMLCALL
		xmlBufferWriteQuotedString(xmlBufferPtr buf,
					 const xmlChar *string);

#ifdef LIBXML_OUTPUT_ENABLED
XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlAttrPtr attr,
					 const xmlChar *string);
#endif /* LIBXML_OUTPUT_ENABLED */

#ifdef LIBXML_TREE_ENABLED
/*
 * Namespace handling.
 */
XMLPUBFUN int XMLCALL
		xmlReconciliateNs	(xmlDocPtr doc,
					 xmlNodePtr tree);
#endif

#ifdef LIBXML_OUTPUT_ENABLED
/*
 * Saving.
 */
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size,
					 int format);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemory	(xmlDocPtr cur,
					 xmlChar **mem,
					 int *size);
XMLPUBFUN void XMLCALL
		xmlDocDumpMemoryEnc	(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding);
XMLPUBFUN void XMLCALL
		xmlDocDumpFormatMemoryEnc(xmlDocPtr out_doc,
					 xmlChar **doc_txt_ptr,
					 int * doc_txt_len,
					 const char *txt_encoding,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocFormatDump	(FILE *f,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN int XMLCALL
		xmlDocDump		(FILE *f,
					 xmlDocPtr cur);
XMLPUBFUN void XMLCALL
		xmlElemDump		(FILE *f,
					 xmlDocPtr doc,
					 xmlNodePtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFile		(const char *filename,
					 xmlDocPtr cur);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFile	(const char *filename,
					 xmlDocPtr cur,
					 int format);
XMLPUBFUN size_t XMLCALL
		xmlBufNodeDump		(xmlBufPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);
XMLPUBFUN int XMLCALL
		xmlNodeDump		(xmlBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileTo		(xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
					 const char *encoding);
XMLPUBFUN int XMLCALL
		xmlSaveFormatFileTo     (xmlOutputBufferPtr buf,
					 xmlDocPtr cur,
				         const char *encoding,
				         int format);
XMLPUBFUN void XMLCALL
		xmlNodeDumpOutput	(xmlOutputBufferPtr buf,
					 xmlDocPtr doc,
					 xmlNodePtr cur,
					 int level,
					 int format,
					 const char *encoding);

XMLPUBFUN int XMLCALL
		xmlSaveFormatFileEnc    (const char *filename,
					 xmlDocPtr cur,
					 const char *encoding,
					 int format);

XMLPUBFUN int XMLCALL
		xmlSaveFileEnc		(const char *filename,
					 xmlDocPtr cur,
					 const char *encoding);

#endif /* LIBXML_OUTPUT_ENABLED */
/*
 * XHTML
 */
XMLPUBFUN int XMLCALL
		xmlIsXHTML		(const xmlChar *systemID,
					 const xmlChar *publicID);

/*
 * Compression.
 */
XMLPUBFUN int XMLCALL
		xmlGetDocCompressMode	(const xmlDoc *doc);
XMLPUBFUN void XMLCALL
		xmlSetDocCompressMode	(xmlDocPtr doc,
					 int mode);
XMLPUBFUN int XMLCALL
		xmlGetCompressMode	(void);
XMLPUBFUN void XMLCALL
		xmlSetCompressMode	(int mode);

/*
* DOM-wrapper helper functions.
*/
XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
		xmlDOMWrapNewCtxt	(void);
XMLPUBFUN void XMLCALL
		xmlDOMWrapFreeCtxt	(xmlDOMWrapCtxtPtr ctxt);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
					 xmlNodePtr elem,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapAdoptNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapRemoveNode	(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr doc,
					 xmlNodePtr node,
					 int options);
XMLPUBFUN int XMLCALL
	    xmlDOMWrapCloneNode		(xmlDOMWrapCtxtPtr ctxt,
					 xmlDocPtr sourceDoc,
					 xmlNodePtr node,
					 xmlNodePtr *clonedNode,
					 xmlDocPtr destDoc,
					 xmlNodePtr destParent,
					 int deep,
					 int options);

#ifdef LIBXML_TREE_ENABLED
/*
 * 5 interfaces from DOM ElementTraversal, but different in entities
 * traversal.
 */
XMLPUBFUN unsigned long XMLCALL
            xmlChildElementCount        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlNextElementSibling       (xmlNodePtr node);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlFirstElementChild        (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlLastElementChild         (xmlNodePtr parent);
XMLPUBFUN xmlNodePtr XMLCALL
            xmlPreviousElementSibling   (xmlNodePtr node);
#endif
#ifdef __cplusplus
}
#endif
#ifndef __XML_PARSER_H__
#include <libxml/xmlmemory.h>
#endif

#endif /* __XML_TREE_H__ */

PK��[���hhlibxml2-config.cmakenu�[���# libxml2-config.cmake
# --------------------
#
# Libxml2 cmake module.
# THis module sets the following variables:
#
# ::
#
#   LIBXML2_INCLUDE_DIRS      - Directory where libxml2 headers are located.
#   LIBXML2_LIBRARIES         - xml2 libraries to link against.
#   LIBXML2_VERSION_MAJOR     - The major version of libxml2.
#   LIBXML2_VERSION_MINOR     - The minor version of libxml2.
#   LIBXML2_VERSION_PATCH     - The patch version of libxml2.
#   LIBXML2_VERSION_STRING    - version number as a string (ex: "2.3.4")
#   LIBXML2_MODULES           - whether libxml2 as dso support

get_filename_component(_libxml2_rootdir ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE)

set(LIBXML2_VERSION_MAJOR  2)
set(LIBXML2_VERSION_MINOR  9)
set(LIBXML2_VERSION_MICRO  7)
set(LIBXML2_VERSION_STRING "2.9.7")
set(LIBXML2_INSTALL_PREFIX ${_libxml2_rootdir})
set(LIBXML2_INCLUDE_DIRS   ${_libxml2_rootdir}/include ${_libxml2_rootdir}/include/libxml2)
set(LIBXML2_LIBRARY_DIR    ${_libxml2_rootdir}/lib)
set(LIBXML2_LIBRARIES      -L${LIBXML2_LIBRARY_DIR} -lxml2)

if(1)
  find_package(Threads REQUIRED)
  list(APPEND LIBXML2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endif()

if(1)
  find_package(LibLZMA REQUIRED)
  list(APPEND LIBXML2_LIBRARIES    ${LIBLZMA_LIBRARIES})
  list(APPEND LIBXML2_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIRS})
endif()

if(1)
  find_package(ZLIB REQUIRED)
  list(APPEND LIBXML2_LIBRARIES    ${ZLIB_LIBRARIES})
  list(APPEND LIBXML2_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS})
endif()

list(APPEND LIBXML2_LIBRARIES   -lm  )

# whether libxml2 has dso support
set(LIBXML2_MODULES 1)

mark_as_advanced( LIBXML2_INCLUDE_DIRS LIBXML2_LIBRARIES )
PKi�Z�$J����!usr/include/libxml2/libxml/tree.hnu�[���PKi�Z�e��

!N�usr/include/libxml2/libxml/list.hnu�[���PKi�Z@�hԇ�&��usr/include/libxml2/libxml/xmlstring.hnu�[���PKi�Z�bc��!��usr/include/libxml2/libxml/SAX2.hnu�[���PKi�Z��L��'g�usr/include/libxml2/libxml/xmlschemas.hnu�[���PKi�Z�Qu���&Z�usr/include/libxml2/libxml/xmlmodule.hnu�[���PKi�ZL��!	!	$B�usr/include/libxml2/libxml/xmlsave.hnu�[���PKi�Z��<�

$��usr/include/libxml2/libxml/pattern.hnu�[���PKi�ZHf�t�K�K+%usr/include/libxml2/libxml/xpathInternals.hnu�[���PKi�Z*L�h
h
 Lusr/include/libxml2/libxml/uri.hnu�[���PKi�Z���,�Vusr/include/libxml2/libxml/xmlschemastypes.hnu�[���PKi�Z��'%jusr/include/libxml2/libxml/schematron.hnu�[���PKi�Z�f?tt(�{usr/include/libxml2/libxml/xmlautomata.hnu�[���PKi�Z�.nn%Z�usr/include/libxml2/libxml/encoding.hnu�[���PKi�Z�#�S�)�)"�usr/include/libxml2/libxml/xmlIO.hnu�[���PKi�Z�ڃ��!�usr/include/libxml2/libxml/hash.hnu�[���PKi�Z�	��$-�usr/include/libxml2/libxml/threads.hnu�[���PKi�Z�)��$�$'E�usr/include/libxml2/libxml/HTMLparser.hnu�[���PKi�Z�Ř,,$^usr/include/libxml2/libxml/nanoftp.hnu�[���PKi�Z1B/�{{$�,usr/include/libxml2/libxml/relaxng.hnu�[���PKi�Z��W�44!�Dusr/include/libxml2/libxml/dict.hnu�[���PKi�Z�XM5M5"2Lusr/include/libxml2/libxml/valid.hnu�[���PKi�Z�6SS&сusr/include/libxml2/libxml/xmlwriter.hnu�[���PKi�ZM�⻿D�D,8�usr/include/libxml2/libxml/parserInternals.hnu�[���PKi�Z�,
?1?1&Susr/include/libxml2/libxml/xmlreader.hnu�[���PKi�Z䥽�;;'�Kusr/include/libxml2/libxml/xmlexports.hnu�[���PKi�Z�TI�''$zQusr/include/libxml2/libxml/chvalid.hnu�[���PKi�Z�����%�eusr/include/libxml2/libxml/nanohttp.hnu�[���PKi�Z��׹��%nusr/include/libxml2/libxml/xinclude.hnu�[���PKi�Z�McƲ�"zusr/include/libxml2/libxml/xlink.hnu�[���PKi�Zd4�RR&�usr/include/libxml2/libxml/xmlregexp.hnu�[���PKi�Z�y��**$��usr/include/libxml2/libxml/catalog.hnu�[���PKi�Zm���>>%5�usr/include/libxml2/libxml/HTMLtree.hnu�[���PKi�Z:�-5  %��usr/include/libxml2/libxml/debugXML.hnu�[���PKi�Z��UT	'	''=�usr/include/libxml2/libxml/xmlunicode.hnu�[���PKi�Z��`�[8[8$�usr/include/libxml2/libxml/globals.hnu�[���PKi�ZP!渚�%L:usr/include/libxml2/libxml/entities.hnu�[���PKi�Z��DC�C�#'Musr/include/libxml2/libxml/parser.hnu�[���PKi�Z䤔WW&��usr/include/libxml2/libxml/xmlmemory.hnu�[���PKi�Z��w�� jusr/include/libxml2/libxml/SAX.hnu�[���PKi�Z<�	�pfpf-Cusr/include/libxml2/libxml/schemasInternals.hnu�[���PKi�Z�Q����%zusr/include/libxml2/libxml/xpointer.hnu�[���PKi�Z���{A{A"-�usr/include/libxml2/libxml/xpath.hnu�[���PKi�Z
x9�� � '��usr/include/libxml2/libxml/xmlversion.hnu�[���PKi�Z�m��*�*�%5�usr/include/libxml2/libxml/xmlerror.hnu�[���PKi�Z#-��--!�|usr/include/libxml2/libxml/c14n.hnu�[���PKi�Z�&�p�Q�Q2�usr/bin/xmlcatalognuȯ��PKi�Zmjxp%p%��usr/bin/xmllintnuȯ��PKi�Z����pp�usr/bin/xml2-confignuȯ��PKi�Z.�e����Vusr/lib64/libxml2.so.2.10.2nuȯ��PKi�Z�m��==!Q�usr/lib64/pkgconfig/libxml-2.0.pcnu�[���PKi�ZTsZ���,��usr/lib64/cmake/libxml2/libxml2-config.cmakenu�[���PKi�Z�t���� /�usr/share/man/man1/xml2-config.1nu�[���PKi�Z/�+&Q!Q!h�usr/share/man/man1/xmlcatalog.1nu�[���PKi�ZzH��4�4usr/share/man/man1/xmllint.1nu�[���PKi�Z<�)		#�Gusr/share/doc/alt-libxml2/Copyrightnu�[���PKi�Z�B�Ո���VMusr/share/doc/alt-libxml2/NEWSnu�[���PKi�ZG놓\,\,,>"usr/share/doc/alt-libxml2/TODOnu�[���PKi�Z��T�r�r2�j"usr/share/doc/alt-libxml2-devel/libxml2-api.xml.gznu�[���PKi�Z�e%�pp>��$usr/share/doc/alt-libxml2-devel/tutorial/includeaddattribute.cnu�[���PKi�Z���GG9��$usr/share/doc/alt-libxml2-devel/tutorial/includekeyword.cnu�[���PKi�Z�����7F�$usr/share/doc/alt-libxml2-devel/tutorial/includexpath.cnu�[���PKi�Z�!���1��$usr/share/doc/alt-libxml2-devel/tutorial/apd.htmlnu�[���PKi�ZpP�SS3��$usr/share/doc/alt-libxml2-devel/tutorial/index.htmlnu�[���PKi�ZY��/��>7%usr/share/doc/alt-libxml2-devel/tutorial/includegetattribute.cnu�[���PKi�Z�TѦTT58%usr/share/doc/alt-libxml2-devel/tutorial/ar01s08.htmlnu�[���PKi�Zo��885�'%usr/share/doc/alt-libxml2-devel/tutorial/ar01s07.htmlnu�[���PKi�Z��M���5�7%usr/share/doc/alt-libxml2-devel/tutorial/ar01s04.htmlnu�[���PKi�Z���5~P%usr/share/doc/alt-libxml2-devel/tutorial/ar01s05.htmlnu�[���PKi�Zj�(51�m%usr/share/doc/alt-libxml2-devel/tutorial/ape.htmlnu�[���PKi�Z��BB1xz%usr/share/doc/alt-libxml2-devel/tutorial/apa.htmlnu�[���PKi�Z
�/G9�%usr/share/doc/alt-libxml2-devel/tutorial/includeconvert.cnu�[���PKi�Zg4��<��%usr/share/doc/alt-libxml2-devel/tutorial/images/toc-plus.pngnu�[���PKi�ZÜ�ee>�%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/9.pngnu�[���PKi�Zm��ii?ۍ%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/10.pngnu�[���PKi�Z��G(cc>��%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/6.pngnu�[���PKi�Zx3pnYY>��%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/4.pngnu�[���PKi�ZҜxFee>K�%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/8.pngnu�[���PKi�Z����II>�%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/1.pngnu�[���PKi�Z}�XX>Ֆ%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/7.pngnu�[���PKi�Z�\\>��%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/5.pngnu�[���PKi�Zn�y^^>e�%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/3.pngnu�[���PKi�Z�
��aa>1�%usr/share/doc/alt-libxml2-devel/tutorial/images/callouts/2.pngnu�[���PKi�ZM����7�%usr/share/doc/alt-libxml2-devel/tutorial/images/tip.pngnu�[���PKi�Z��eDvv9(�%usr/share/doc/alt-libxml2-devel/tutorial/images/blank.pngnu�[���PKi�Z�����8�%usr/share/doc/alt-libxml2-devel/tutorial/images/note.pngnu�[���PKi�Zp����;Y�%usr/share/doc/alt-libxml2-devel/tutorial/images/warning.pngnu�[���PKi�Z#�>>=��%usr/share/doc/alt-libxml2-devel/tutorial/images/toc-blank.pngnu�[���PKi�Z��O.��8H�%usr/share/doc/alt-libxml2-devel/tutorial/images/home.pngnu�[���PKi�Z����=4�%usr/share/doc/alt-libxml2-devel/tutorial/images/toc-minus.pngnu�[���PKi�Z��~.WW6��%usr/share/doc/alt-libxml2-devel/tutorial/images/up.pngnu�[���PKi�Z�+!�.D.D9a�%usr/share/doc/alt-libxml2-devel/tutorial/images/draft.pngnu�[���PKi�Z��`~~8��%usr/share/doc/alt-libxml2-devel/tutorial/images/next.pngnu�[���PKi�Z�P����;�%usr/share/doc/alt-libxml2-devel/tutorial/images/caution.pngnu�[���PKi�Z�r��ll8+&usr/share/doc/alt-libxml2-devel/tutorial/images/prev.pngnu�[���PKi�ZSq�D��=�	&usr/share/doc/alt-libxml2-devel/tutorial/images/important.pngnu�[���PKi�Z���
�
5>
&usr/share/doc/alt-libxml2-devel/tutorial/ar01s02.htmlnu�[���PKi�Za�AMkk1U&usr/share/doc/alt-libxml2-devel/tutorial/api.htmlnu�[���PKi�ZA��M�	�	2!#&usr/share/doc/alt-libxml2-devel/tutorial/ix01.htmlnu�[���PKi�Z�1t-&usr/share/doc/alt-libxml2-devel/tutorial/aph.htmlnu�[���PKi�Ze��VV5�;&usr/share/doc/alt-libxml2-devel/tutorial/ar01s03.htmlnu�[���PKi�ZE-�5��1�R&usr/share/doc/alt-libxml2-devel/tutorial/apb.htmlnu�[���PKi�Z~dg���5�Z&usr/share/doc/alt-libxml2-devel/tutorial/ar01s09.htmlnu�[���PKi�Z���=1y&usr/share/doc/alt-libxml2-devel/tutorial/apc.htmlnu�[���PKi�Z"�NA��1z�&usr/share/doc/alt-libxml2-devel/tutorial/apg.htmlnu�[���PKi�Z�B�''5��&usr/share/doc/alt-libxml2-devel/tutorial/ar01s06.htmlnu�[���PKi�ZE�IK((<5�&usr/share/doc/alt-libxml2-devel/tutorial/includeaddkeyword.cnu�[���PKi�Z�}j��1ɦ&usr/share/doc/alt-libxml2-devel/tutorial/apf.htmlnu�[���PKi�Z�w�1��&usr/share/doc/alt-libxml2-devel/examples/parse1.cnu�[���PKi�Z���0 �&usr/share/doc/alt-libxml2-devel/examples/reader2nuȯ��PKi�Z�=E�`�`�5��&usr/share/doc/alt-libxml2-devel/examples/testWriter.onu�[���PKi�Z�	׊sxsx1J}(usr/share/doc/alt-libxml2-devel/examples/Makefilenu�[���PKi�Z�~3��/�(usr/share/doc/alt-libxml2-devel/examples/parse1nuȯ��PKi�Z�<�	0w)usr/share/doc/alt-libxml2-devel/examples/reader1nuȯ��PKi�Z٥�

5�4)usr/share/doc/alt-libxml2-devel/examples/examples.xslnu�[���PKi�Z��^���/NG)usr/share/doc/alt-libxml2-devel/examples/parse3nuȯ��PKi�Z����0�0�1�f)usr/share/doc/alt-libxml2-devel/examples/parse4.onu�[���PKi�Z�Rjؚؚ38%*usr/share/doc/alt-libxml2-devel/examples/index.htmlnu�[���PKi�Z��7|e�e�5s�*usr/share/doc/alt-libxml2-devel/examples/testWriter.cnu�[���PKi�Z#ʞ�XX1=W+usr/share/doc/alt-libxml2-devel/examples/parse1.onu�[���PKi�Z$q��~�~5��+usr/share/doc/alt-libxml2-devel/examples/examples.xmlnu�[���PKi�Z��G��1�.,usr/share/doc/alt-libxml2-devel/examples/parse3.cnu�[���PKi�Z.���
�
1�4,usr/share/doc/alt-libxml2-devel/examples/parse4.cnu�[���PKi�Z�=��r|r|4-C,usr/share/doc/alt-libxml2-devel/examples/Makefile.innu�[���PKi�Z�#�AA2�,usr/share/doc/alt-libxml2-devel/examples/test3.xmlnu�[���PKi�ZF>2�#�#1��,usr/share/doc/alt-libxml2-devel/examples/index.pynu�[���PKi�Z�K���,��,usr/share/doc/alt-libxml2-devel/examples/io1nuȯ��PKi�ZC
i��.-usr/share/doc/alt-libxml2-devel/examples/io1.cnu�[���PKi�Z�nzPss4-usr/share/doc/alt-libxml2-devel/examples/Makefile.amnu�[���PKi�Z�� ` `2�"-usr/share/doc/alt-libxml2-devel/examples/reader1.onu�[���PKi�Z<«l(X(X.g�-usr/share/doc/alt-libxml2-devel/examples/io2.onu�[���PKi�Z�����2��-usr/share/doc/alt-libxml2-devel/examples/test2.xmlnu�[���PKi�Z��212�-usr/share/doc/alt-libxml2-devel/examples/.memdumpnu�[���PKi�Zǝi��.��-usr/share/doc/alt-libxml2-devel/examples/tree2nuȯ��PKi�Z�Ȥx��1�-usr/share/doc/alt-libxml2-devel/examples/xpath2.cnu�[���PKi�Z_$����0.usr/share/doc/alt-libxml2-devel/examples/tree1.cnu�[���PKi�Z�\992;.usr/share/doc/alt-libxml2-devel/examples/reader4.cnu�[���PKi�Z�i�j��/�'.usr/share/doc/alt-libxml2-devel/examples/parse4nuȯ��PKi�ZRb�X�X�1/G.usr/share/doc/alt-libxml2-devel/examples/xpath1.onu�[���PKi�Z!F&���2�1/usr/share/doc/alt-libxml2-devel/examples/reader3.cnu�[���PKi�Z���V�z�z.�=/usr/share/doc/alt-libxml2-devel/examples/io1.onu�[���PKi�Z�����.��/usr/share/doc/alt-libxml2-devel/examples/io2.cnu�[���PKi�ZT6o`��1ǽ/usr/share/doc/alt-libxml2-devel/examples/xpath2.onu�[���PKi�ZT�@�g�g20a0usr/share/doc/alt-libxml2-devel/examples/reader2.onu�[���PKi�Z��S0r�0usr/share/doc/alt-libxml2-devel/examples/reader4nuȯ��PKi�Z�˕���.��0usr/share/doc/alt-libxml2-devel/examples/tree1nuȯ��PKi�Z�U�3��/$1usr/share/doc/alt-libxml2-devel/examples/xpath1nuȯ��PKi�Z��R@a@a0}'1usr/share/doc/alt-libxml2-devel/examples/tree1.onu�[���PKi�Z��.��1�1usr/share/doc/alt-libxml2-devel/examples/parse2.cnu�[���PKi�Z������1/�1usr/share/doc/alt-libxml2-devel/examples/xpath1.cnu�[���PKi�Z���a??2q�1usr/share/doc/alt-libxml2-devel/examples/reader2.cnu�[���PKi�Z�濶�v�v2�1usr/share/doc/alt-libxml2-devel/examples/reader4.onu�[���PKi�ZP�P ��/�.2usr/share/doc/alt-libxml2-devel/examples/parse2nuȯ��PKi�Z�:�2UN2usr/share/doc/alt-libxml2-devel/examples/test1.xmlnu�[���PKi�ZM��	�	2�N2usr/share/doc/alt-libxml2-devel/examples/reader1.cnu�[���PKi�Z,No�&&3Y2usr/share/doc/alt-libxml2-devel/examples/testWriternuȯ��PKi�ZJ��جج1�x2usr/share/doc/alt-libxml2-devel/examples/parse2.onu�[���PKi�Z�\`��,�%3usr/share/doc/alt-libxml2-devel/examples/io2nuȯ��PKi�Z�E8�}
}
0�D3usr/share/doc/alt-libxml2-devel/examples/tree2.cnu�[���PKi�Z�ٞ��u�u0�R3usr/share/doc/alt-libxml2-devel/examples/tree2.onu�[���PKi�Zx����/��3usr/share/doc/alt-libxml2-devel/examples/xpath2nuȯ��PKi�Z+��4XX1X�3usr/share/doc/alt-libxml2-devel/examples/parse3.onu�[���PKi�ZQw@0�@4usr/share/doc/alt-libxml2-devel/examples/reader3nuȯ��PKi�Z���-�-56`4usr/share/doc/alt-libxml2-devel/examples/.libs/lt-io1nuȯ��PKi�Z����+�+6S�4usr/share/doc/alt-libxml2-devel/examples/.libs/reader2nuȯ��PKi�Z�n�M��5q�4usr/share/doc/alt-libxml2-devel/examples/.libs/parse1nuȯ��PKi�Z�E�P-P-9��4usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader4nuȯ��PKi�Z:�d�+�+6G5usr/share/doc/alt-libxml2-devel/examples/.libs/reader1nuȯ��PKi�Z�I�̸�5e05usr/share/doc/alt-libxml2-devel/examples/.libs/parse3nuȯ��PKi�ZX�x&�M�M<�L5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-testWriternuȯ��PKi�Z5؅��+�+7��5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-tree2nuȯ��PKi�Z�A/��+�+9��5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader1nuȯ��PKi�Z*��+�+5��5usr/share/doc/alt-libxml2-devel/examples/.libs/lt-io2nuȯ��PKi�Z�u�ܸ-�-2�6usr/share/doc/alt-libxml2-devel/examples/.libs/io1nuȯ��PKi�Z^m�4�-�-8M6usr/share/doc/alt-libxml2-devel/examples/.libs/lt-xpath1nuȯ��PKi�Z�T�˸+�+4-{6usr/share/doc/alt-libxml2-devel/examples/.libs/tree2nuȯ��PKi�ZҊk�PP7I�6usr/share/doc/alt-libxml2-devel/examples/.libs/lt-tree1nuȯ��PKi�Z�ȸ+�+9�6usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader3nuȯ��PKi�Z�0�ڸ�8!�6usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse1nuȯ��PKi�Z]^�0P-P-5A
7usr/share/doc/alt-libxml2-devel/examples/.libs/parse4nuȯ��PKi�Zz���P-P-8�:7usr/share/doc/alt-libxml2-devel/examples/.libs/lt-xpath2nuȯ��PKi�Z�k�+�+8�h7usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse2nuȯ��PKi�Z?:�P-P-6Δ7usr/share/doc/alt-libxml2-devel/examples/.libs/reader4nuȯ��PKi�Z3?��PP4��7usr/share/doc/alt-libxml2-devel/examples/.libs/tree1nuȯ��PKi�Z�;s԰-�-58�7usr/share/doc/alt-libxml2-devel/examples/.libs/xpath1nuȯ��PK i�Z:oRP-P-8M8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse4nuȯ��PK i�Z�YP���8<8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-parse3nuȯ��PK i�ZL�׸+�+5%X8usr/share/doc/alt-libxml2-devel/examples/.libs/parse2nuȯ��PK i�ZM0��M�M9B�8usr/share/doc/alt-libxml2-devel/examples/.libs/testWriternuȯ��PK i�Z<����+�+9[�8usr/share/doc/alt-libxml2-devel/examples/.libs/lt-reader2nuȯ��PK i�Zi.^��+�+2|�8usr/share/doc/alt-libxml2-devel/examples/.libs/io2nuȯ��PK i�Z~_�0P-P-5�*9usr/share/doc/alt-libxml2-devel/examples/.libs/xpath2nuȯ��PK i�Z����+�+6KX9usr/share/doc/alt-libxml2-devel/examples/.libs/reader3nuȯ��PK i�Zǩ�k�k2i�9usr/share/doc/alt-libxml2-devel/examples/reader3.onu�[���PK i�ZY&[[,c�9usr/share/doc/alt-libxml2-devel/xmllint.htmlnu�[���PK i�Z/ͽ��6�6/�K:usr/share/doc/alt-libxml2-devel/xmlcatalog.htmlnu�[���PK i�Z��.��%�:usr/share/aclocal/libxml.m4nu�[���PK i�Zk�s>~�~�/Q�:usr/share/gtk-doc/html/libxml2/libxml2-SAX.htmlnu�[���PK i�Z�G��]�]4.6;usr/share/gtk-doc/html/libxml2/libxml2-HTMLtree.htmlnu�[���PK i�Z�
(��7u�;usr/share/gtk-doc/html/libxml2/libxml2-xmlautomata.htmlnu�[���PK i�Zw�-5�<usr/share/gtk-doc/html/libxml2/libxml2-xmlmodule.htmlnu�[���PK i�Z+�~�q�q4u8<usr/share/gtk-doc/html/libxml2/libxml2-encoding.htmlnu�[���PK i�Z,��I����3��<usr/share/gtk-doc/html/libxml2/libxml2-globals.htmlnu�[���PK i�Z^^e]�]�15=usr/share/gtk-doc/html/libxml2/libxml2-xpath.htmlnu�[���PK i�Z(�(�88)�(>usr/share/gtk-doc/html/libxml2/index.htmlnu�[���PK i�ZȈ��@�@6Z7>usr/share/gtk-doc/html/libxml2/libxml2-schematron.htmlnu�[���PK i�Z�Sz�����4�x>usr/share/gtk-doc/html/libxml2/libxml2-debugXML.htmlnu�[���PK i�Zc�I�I�5�>usr/share/gtk-doc/html/libxml2/libxml2-xmlstring.htmlnu�[���PK i�Z�ߚ���5��?usr/share/gtk-doc/html/libxml2/libxml2-xmlwriter.htmlnu�[���PK i�Z��\V\V3�7Ausr/share/gtk-doc/html/libxml2/libxml2-nanoftp.htmlnu�[���PK i�ZHkl�\�\�5��Ausr/share/gtk-doc/html/libxml2/libxml2-xmlregexp.htmlnu�[���PK i�Z��G�\?\?4T1Busr/share/gtk-doc/html/libxml2/libxml2-nanohttp.htmlnu�[���PK i�Zq�S�y3y30qBusr/share/gtk-doc/html/libxml2/libxml2-c14n.htmlnu�[���PK i�Z��
�^^5�Busr/share/gtk-doc/html/libxml2/libxml2-xmlmemory.htmlnu�[���PK i�Z<1k�A�A1lCusr/share/gtk-doc/html/libxml2/libxml2-xlink.htmlnu�[���PK i�Z|�����'�ECusr/share/gtk-doc/html/libxml2/home.pngnu�[���PK i�Zӌ$^N�N�6�HCusr/share/gtk-doc/html/libxml2/libxml2-xmlschemas.htmlnu�[���PK i�ZZ��ff2E�Cusr/share/gtk-doc/html/libxml2/libxml2-parser.htmlnu�[���PK i�Z>?+Y��3
Fusr/share/gtk-doc/html/libxml2/libxml2-catalog.htmlnu�[���PK i�Zh>�?w4w4:W�Fusr/share/gtk-doc/html/libxml2/libxml2-xpathInternals.htmlnu�[���PK i�ZE�/�q�q�68�Husr/share/gtk-doc/html/libxml2/libxml2-xmlunicode.htmlnu�[���PK i�Z��.i�i�1iJusr/share/gtk-doc/html/libxml2/libxml2-valid.htmlnu�[���PK i�ZCZ��%��Kusr/share/gtk-doc/html/libxml2/up.pngnu�[���PK i�ZD���'��Kusr/share/gtk-doc/html/libxml2/left.pngnu�[���PK i�Z��Eybyb4��Kusr/share/gtk-doc/html/libxml2/libxml2-xpointer.htmlnu�[���PK i�Z�E�����0�PLusr/share/gtk-doc/html/libxml2/libxml2-tree.htmlnu�[���PK i�Zl��k��(��Ousr/share/gtk-doc/html/libxml2/right.pngnu�[���PK i�Zz`;|�I�I4��Ousr/share/gtk-doc/html/libxml2/libxml2-xmlerror.htmlnu�[���PK i�Ze�%�W�W�;�4Qusr/share/gtk-doc/html/libxml2/libxml2-parserInternals.htmlnu�[���PK i�Z�e�+Z�Z�<�Susr/share/gtk-doc/html/libxml2/libxml2-schemasInternals.htmlnu�[���PK i�Zx�y�����0�Tusr/share/gtk-doc/html/libxml2/libxml2-SAX2.htmlnu�[���PK i�ZA�R�R�0u�Tusr/share/gtk-doc/html/libxml2/libxml2-hash.htmlnu�[���PK i�Z�I�44('RUusr/share/gtk-doc/html/libxml2/style.cssnu�[���PK i�Z!� � �3�UUusr/share/gtk-doc/html/libxml2/libxml2-relaxng.htmlnu�[���PK i�Z��HH66�Uusr/share/gtk-doc/html/libxml2/libxml2-xmlversion.htmlnu�[���PK i�Z�uX?8?83�'Vusr/share/gtk-doc/html/libxml2/libxml2-xmlsave.htmlnu�[���PK i�Z�@��52523P`Vusr/share/gtk-doc/html/libxml2/libxml2-threads.htmlnu�[���PK i�Z"G�"����/�Vusr/share/gtk-doc/html/libxml2/libxml2.devhelp2nu�[���PK i�Z
6����+6�\usr/share/gtk-doc/html/libxml2/general.htmlnu�[���PK i�Z�"#�X�X4M�\usr/share/gtk-doc/html/libxml2/libxml2-entities.htmlnu�[���PK i�Z�9�?

6_�\usr/share/gtk-doc/html/libxml2/libxml2-xmlexports.htmlnu�[���PK i�Z3�SK<<4�\usr/share/gtk-doc/html/libxml2/libxml2-xinclude.htmlnu�[���PK i�Zh6�~����;@8]usr/share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.htmlnu�[���PK i�Z���550N�]usr/share/gtk-doc/html/libxml2/libxml2-dict.htmlnu�[���PK!i�Z��@7����1�^usr/share/gtk-doc/html/libxml2/libxml2-xmlIO.htmlnu�[���PK!i�Z�vn����5�^usr/share/gtk-doc/html/libxml2/libxml2-xmlreader.htmlnu�[���PK!i�Z�tI��I�I3��`usr/share/gtk-doc/html/libxml2/libxml2-pattern.htmlnu�[���PK!i�Z.��cFcF/?�`usr/share/gtk-doc/html/libxml2/libxml2-uri.htmlnu�[���PK!i�ZZn�A�A�65ausr/share/gtk-doc/html/libxml2/libxml2-HTMLparser.htmlnu�[���PK!i�Z�eէbb0�busr/share/gtk-doc/html/libxml2/libxml2-list.htmlnu�[���PK!i�ZX�#UKK3ybusr/share/gtk-doc/html/libxml2/libxml2-chvalid.htmlnu�[���PK��ZcJD
D
Dt�blibxml/parserInternals.hnu�[���PK��Za����clibxml/xmlschemas.hnu�[���PK��Zm���>>�$clibxml/HTMLtree.hnu�[���PK��Z6(��UU
%3clibxml/SAX2.hnu�[���PK��Z����Fclibxml/threads.hnu�[���PK��Zr��))�Nclibxml/catalog.hnu�[���PK��ZLp�,!!bclibxml/entities.hnu�[���PK��Z�8\�UUhuclibxml/DOCBparser.hnu�[���PK��ZO�<�@@�clibxml/xpath.hnu�[���PK��ZHf�t�K�KL�clibxml/xpathInternals.hnu�[���PK��Z�6SS,dlibxml/xmlwriter.hnu�[���PK��Ze�GH��adlibxml/nanoftp.hnu�[���PK��ZL��!	!	mpdlibxml/xmlsave.hnu�[���PK��Z�.�&
&

�ydlibxml/list.hnu�[���PK��Z�����1�dlibxml/nanohttp.hnu�[���PK��ZZX2~6565G�dlibxml/valid.hnu�[���PK��Z��ҍm m ��dlibxml/encoding.hnu�[���PK��Z*L�h
h
i�dlibxml/uri.hnu�[���PK��Z�Qu���
�dlibxml/xmlmodule.hnu�[���PK��Z�����dlibxml/schematron.hnu�[���PK��Z��if9f97elibxml/globals.hnu�[���PK��Z�)��$�$�?elibxml/HTMLparser.hnu�[���PK��Z��UT	'	'�delibxml/xmlunicode.hnu�[���PK��ZԺL���.�elibxml/xmlschemastypes.hnu�[���PK��Z��׹��_�elibxml/xinclude.hnu�[���PK��ZR7���
7�elibxml/dict.hnu�[���PK��Z:�-5  �elibxml/debugXML.hnu�[���PK��Z[�Yt%%
x�elibxml/c14n.hnu�[���PK��Z�TI�''��elibxml/chvalid.hnu�[���PK��Zl�:99A�elibxml/xmlmemory.hnu�[���PK��Z*A����elibxml/xlink.hnu�[���PK��Zzb��

�flibxml/xpointer.hnu�[���PK��Z���ll
!flibxml/relaxng.hnu�[���PK��Z?�����8flibxml/xmlversion.hnu�[���PK��Z@�yQ�f�f�Xflibxml/schemasInternals.hnu�[���PK��Z��f�\\
��flibxml/hash.hnu�[���PK��Z�,
?1?1.�flibxml/xmlreader.hnu�[���PK��Z@�hԇ��
glibxml/xmlstring.hnu�[���PK��Z$��PPx glibxml/xmlexports.hnu�[���PK��Zx�s)s)0glibxml/xmlIO.hnu�[���PK��Z��<�

�Yglibxml/pattern.hnu�[���PK��Zd4�RRdglibxml/xmlregexp.hnu�[���PK��Z�ZV�%�%��yglibxml/parser.hnu�[���PK��Z����ȏȏhlibxml/xmlerror.hnu�[���PK��ZS�����hlibxml/SAX.hnu�[���PK��Z�f?ttH�hlibxml/xmlautomata.hnu�[���PK��ZE��n�n�
�hlibxml/tree.hnu�[���PK��[���hh�^ilibxml2-config.cmakenu�[���PK++�|Wei