1/*
2 * Summary: interface for the XSLT namespace handling
3 * Description: set of function easing the processing and generation
4 *              of namespace nodes in XSLT.
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
11#ifndef __XML_XSLT_NAMESPACES_H__
12#define __XML_XSLT_NAMESPACES_H__
13
14#include <libxml/tree.h>
15#include "xsltexports.h"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21/*
22 * Used within nsAliases hashtable when the default namespace is required
23 * but it's not been explicitly defined
24 */
25/**
26 * UNDEFINED_DEFAULT_NS:
27 *
28 * Special value for undefined namespace, internal
29 */
30#define	UNDEFINED_DEFAULT_NS	(const xmlChar *) -1L
31
32XSLTPUBFUN void XSLTCALL
33		xsltNamespaceAlias	(xsltStylesheetPtr style,
34					 xmlNodePtr node);
35XSLTPUBFUN xmlNsPtr XSLTCALL
36		xsltGetNamespace	(xsltTransformContextPtr ctxt,
37					 xmlNodePtr cur,
38					 xmlNsPtr ns,
39					 xmlNodePtr out);
40XSLTPUBFUN xmlNsPtr XSLTCALL
41		xsltGetPlainNamespace	(xsltTransformContextPtr ctxt,
42					 xmlNodePtr cur,
43					 xmlNsPtr ns,
44					 xmlNodePtr out);
45XSLTPUBFUN xmlNsPtr XSLTCALL
46		xsltGetSpecialNamespace	(xsltTransformContextPtr ctxt,
47					 xmlNodePtr cur,
48					 const xmlChar *URI,
49					 const xmlChar *prefix,
50					 xmlNodePtr out);
51XSLTPUBFUN xmlNsPtr XSLTCALL
52		xsltCopyNamespace	(xsltTransformContextPtr ctxt,
53					 xmlNodePtr elem,
54					 xmlNsPtr ns);
55XSLTPUBFUN xmlNsPtr XSLTCALL
56		xsltCopyNamespaceList	(xsltTransformContextPtr ctxt,
57					 xmlNodePtr node,
58					 xmlNsPtr cur);
59XSLTPUBFUN void XSLTCALL
60		xsltFreeNamespaceAliasHashes
61					(xsltStylesheetPtr style);
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* __XML_XSLT_NAMESPACES_H__ */
68
69