xinclude: implementation of XInclude

## xinclude

xinclude - implementation of XInclude

API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 November 2003

Author(s): Daniel Veillard

## Synopsis

    #define XINCLUDE_PARSE_TEXT;
    #define XINCLUDE_PARSE_XPOINTER;
    #define XINCLUDE_HREF;
    #define XINCLUDE_FALLBACK;
    #define XINCLUDE_NS;
    #define XINCLUDE_PARSE;
    #define XINCLUDE_NODE;
    #define XINCLUDE_PARSE_XML;
    #define XINCLUDE_PARSE_ENCODING;
    #define XINCLUDE_OLD_NS;
    typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
    typedef xmlXIncludeCtxt * xmlXIncludeCtxtPtr;
    int	xmlXIncludeProcessTreeFlagsData	(xmlNodePtr tree,
    					 int flags,
    					 void * data);
    int	xmlXIncludeProcessFlagsData	(xmlDocPtr doc,
    					 int flags,
    					 void * data);
    int	xmlXIncludeProcessFlags		(xmlDocPtr doc,
    					 int flags);
    int	xmlXIncludeProcessTree		(xmlNodePtr tree);
    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt,
    					 xmlNodePtr node);
    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt);
    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt,
    					 int flags);
    int	xmlXIncludeProcess		(xmlDocPtr doc);
    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc);
    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree,
    					 int flags);

## Description

## Details

### Macro XINCLUDE_FALLBACK

    #define XINCLUDE_FALLBACK;

Macro defining "fallback"

### Macro XINCLUDE_HREF

    #define XINCLUDE_HREF;

Macro defining "href"

### Macro XINCLUDE_NODE

    #define XINCLUDE_NODE;

Macro defining "include"

### Macro XINCLUDE_NS

    #define XINCLUDE_NS;

Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude

### Macro XINCLUDE_OLD_NS

    #define XINCLUDE_OLD_NS;

Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude

### Macro XINCLUDE_PARSE

    #define XINCLUDE_PARSE;

Macro defining "parse"

### Macro XINCLUDE_PARSE_ENCODING

    #define XINCLUDE_PARSE_ENCODING;

Macro defining "encoding"

### Macro XINCLUDE_PARSE_TEXT

    #define XINCLUDE_PARSE_TEXT;

Macro defining "text"

### Macro XINCLUDE_PARSE_XML

    #define XINCLUDE_PARSE_XML;

Macro defining "xml"

### Macro XINCLUDE_PARSE_XPOINTER

    #define XINCLUDE_PARSE_XPOINTER;

Macro defining "xpointer"

### Structure xmlXIncludeCtxt

    struct _xmlXIncludeCtxt {
    The content of this structure is not made public by the API.
    } xmlXIncludeCtxt;

### Typedef xmlXIncludeCtxtPtr

    xmlXIncludeCtxt * xmlXIncludeCtxtPtr;

### xmlXIncludeFreeContext ()

    void	xmlXIncludeFreeContext		(xmlXIncludeCtxtPtr ctxt)

Free an XInclude context

`ctxt`: | the XInclude context

### xmlXIncludeNewContext ()

    xmlXIncludeCtxtPtr	xmlXIncludeNewContext	(xmlDocPtr doc)

Creates a new XInclude context

`doc`: | an XML Document
`Returns`: | the new set

### xmlXIncludeProcess ()

    int	xmlXIncludeProcess		(xmlDocPtr doc)

Implement the XInclude substitution on the XML document @doc

`doc`: | an XML document
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessFlags ()

    int	xmlXIncludeProcessFlags		(xmlDocPtr doc,
    					 int flags)

Implement the XInclude substitution on the XML document @doc

`doc`: | an XML document
`flags`: | a set of xmlParserOption used for parsing XML includes
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessFlagsData ()

    int	xmlXIncludeProcessFlagsData	(xmlDocPtr doc,
    					 int flags,
    					 void * data)

Implement the XInclude substitution on the XML document @doc

`doc`: | an XML document
`flags`: | a set of xmlParserOption used for parsing XML includes
`data`: | application data that will be passed to the parser context in the _private field of the parser context(s)
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessNode ()

    int	xmlXIncludeProcessNode		(xmlXIncludeCtxtPtr ctxt,
    					 xmlNodePtr node)

Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.

`ctxt`: | an existing XInclude context
`node`: | a node in an XML document
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessTree ()

    int	xmlXIncludeProcessTree		(xmlNodePtr tree)

Implement the XInclude substitution for the given subtree

`tree`: | a node in an XML document
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessTreeFlags ()

    int	xmlXIncludeProcessTreeFlags	(xmlNodePtr tree,
    					 int flags)

Implement the XInclude substitution for the given subtree

`tree`: | a node in an XML document
`flags`: | a set of xmlParserOption used for parsing XML includes
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeProcessTreeFlagsData ()

    int	xmlXIncludeProcessTreeFlagsData	(xmlNodePtr tree,
    					 int flags,
    					 void * data)

Implement the XInclude substitution on the XML node @tree

`tree`: | an XML node
`flags`: | a set of xmlParserOption used for parsing XML includes
`data`: | application data that will be passed to the parser context in the _private field of the parser context(s)
`Returns`: | 0 if no substitution were done, -1 if some processing failed or the number of substitutions done.

### xmlXIncludeSetFlags ()

    int	xmlXIncludeSetFlags		(xmlXIncludeCtxtPtr ctxt,
    					 int flags)

Set the flags used for further processing of XML resources.

`ctxt`: | an XInclude processing context
`flags`: | a set of xmlParserOption used for parsing XML includes
`Returns`: | 0 in case of success and -1 in case of error.