13#ifndef __XML_XSLT_INTERNALS_H__
14#define __XML_XSLT_INTERNALS_H__
37#define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \
38 (((n)->type == XML_TEXT_NODE) || \
39 ((n)->type == XML_CDATA_SECTION_NODE)))
47#define XSLT_MARK_RES_TREE_FRAG(n) \
48 (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt");
55#define XSLT_IS_RES_TREE_FRAG(n) \
56 ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \
57 ((n)->name != NULL) && ((n)->name[0] == ' '))
65#define XSLT_REFACTORED_KEYCOMP
88#define XSLT_REFACTORED_VARS
92extern const xmlChar *xsltXSLTAttrMarker;
107#ifdef XSLT_REFACTORED_XSLT_NSCOMP
109extern const xmlChar *xsltConstNamespaceNameXSLT;
116#define IS_XSLT_ELEM_FAST(n) \
117 (((n) != NULL) && ((n)->ns != NULL) && \
118 ((n)->ns->href == xsltConstNamespaceNameXSLT))
125#define IS_XSLT_ATTR_FAST(a) \
126 (((a) != NULL) && ((a)->ns != NULL) && \
127 ((a)->ns->href == xsltConstNamespaceNameXSLT))
134#define XSLT_HAS_INTERNAL_NSMAP(s) \
135 (((s) != NULL) && ((s)->principal) && \
136 ((s)->principal->principalData) && \
137 ((s)->principal->principalData->nsMap))
144#define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap)
153#define IS_XSLT_ELEM_FAST(n) \
154 (((n) != NULL) && ((n)->ns != NULL) && \
155 (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
162#define IS_XSLT_ATTR_FAST(a) \
163 (((a) != NULL) && ((a)->ns != NULL) && \
164 (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE)))
185typedef struct _xsltPointerList xsltPointerList;
186typedef xsltPointerList *xsltPointerListPtr;
187struct _xsltPointerList {
208#define XSLT_MAX_SORT 15
215#define XSLT_PAT_NO_PRIORITY -12345789
240#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info
248#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate
256#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ
445#ifdef XSLT_REFACTORED
452 XSLT_FUNC_LITERAL_RESULT_ELEMENT,
453 XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
497#ifdef XSLT_REFACTORED
503 xsltPointerListCreate (
int initialSize);
505 xsltPointerListFree (xsltPointerListPtr
list);
507 xsltPointerListClear (xsltPointerListPtr
list);
509 xsltPointerListAddSize (xsltPointerListPtr
list,
519typedef struct _xsltNsListContainer xsltNsListContainer;
520typedef xsltNsListContainer *xsltNsListContainerPtr;
521struct _xsltNsListContainer {
536#define XSLT_ITEM_COMPATIBILITY_FIELDS \
537 xsltElemPreCompPtr next;\
539 xsltTransformFunction func;\
548#define XSLT_ITEM_NAVIGATION_FIELDS
560#define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs;
567#define XSLT_ITEM_COMMON_FIELDS \
568 XSLT_ITEM_COMPATIBILITY_FIELDS \
569 XSLT_ITEM_NAVIGATION_FIELDS \
570 XSLT_ITEM_NSINSCOPE_FIELDS
593 xsltNsListContainerPtr inScopeNs;
604typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem;
605typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr;
607struct _xsltStyleBasicEmptyItem {
608 XSLT_ITEM_COMMON_FIELDS
617typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem;
618typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr;
620struct _xsltStyleBasicExpressionItem {
621 XSLT_ITEM_COMMON_FIELDS
624 xmlXPathCompExprPtr comp;
644typedef struct _xsltStyleItemElement xsltStyleItemElement;
645typedef xsltStyleItemElement *xsltStyleItemElementPtr;
647struct _xsltStyleItemElement {
648 XSLT_ITEM_COMMON_FIELDS
669typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute;
670typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr;
672struct _xsltStyleItemAttribute {
673 XSLT_ITEM_COMMON_FIELDS
690typedef struct _xsltStyleItemText xsltStyleItemText;
691typedef xsltStyleItemText *xsltStyleItemTextPtr;
693struct _xsltStyleItemText {
694 XSLT_ITEM_COMMON_FIELDS
706typedef xsltStyleBasicEmptyItem xsltStyleItemComment;
707typedef xsltStyleItemComment *xsltStyleItemCommentPtr;
718typedef struct _xsltStyleItemPI xsltStyleItemPI;
719typedef xsltStyleItemPI *xsltStyleItemPIPtr;
721struct _xsltStyleItemPI {
722 XSLT_ITEM_COMMON_FIELDS
733typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports;
734typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr;
746typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates;
747typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr;
749struct _xsltStyleItemApplyTemplates {
750 XSLT_ITEM_COMMON_FIELDS
755 xmlXPathCompExprPtr comp;
768typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate;
769typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr;
771struct _xsltStyleItemCallTemplate {
772 XSLT_ITEM_COMMON_FIELDS
791typedef struct _xsltStyleItemCopy xsltStyleItemCopy;
792typedef xsltStyleItemCopy *xsltStyleItemCopyPtr;
794struct _xsltStyleItemCopy {
795 XSLT_ITEM_COMMON_FIELDS
809typedef struct _xsltStyleItemIf xsltStyleItemIf;
810typedef xsltStyleItemIf *xsltStyleItemIfPtr;
812struct _xsltStyleItemIf {
813 XSLT_ITEM_COMMON_FIELDS
816 xmlXPathCompExprPtr comp;
827typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf;
828typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr;
838typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf;
839typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr;
841struct _xsltStyleItemValueOf {
842 XSLT_ITEM_COMMON_FIELDS
845 xmlXPathCompExprPtr comp;
864typedef struct _xsltStyleItemNumber xsltStyleItemNumber;
865typedef xsltStyleItemNumber *xsltStyleItemNumberPtr;
867struct _xsltStyleItemNumber {
868 XSLT_ITEM_COMMON_FIELDS
880typedef xsltStyleBasicEmptyItem xsltStyleItemChoose;
881typedef xsltStyleItemChoose *xsltStyleItemChoosePtr;
891typedef xsltStyleBasicEmptyItem xsltStyleItemFallback;
892typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr;
903typedef xsltStyleBasicExpressionItem xsltStyleItemForEach;
904typedef xsltStyleItemForEach *xsltStyleItemForEachPtr;
915typedef struct _xsltStyleItemMessage xsltStyleItemMessage;
916typedef xsltStyleItemMessage *xsltStyleItemMessagePtr;
918struct _xsltStyleItemMessage {
919 XSLT_ITEM_COMMON_FIELDS
928typedef struct _xsltStyleItemDocument xsltStyleItemDocument;
929typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr;
931struct _xsltStyleItemDocument {
932 XSLT_ITEM_COMMON_FIELDS
958typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable;
959typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr;
961struct _xsltStyleBasicItemVariable {
962 XSLT_ITEM_COMMON_FIELDS
965 xmlXPathCompExprPtr comp;
983typedef xsltStyleBasicItemVariable xsltStyleItemVariable;
984typedef xsltStyleItemVariable *xsltStyleItemVariablePtr;
996typedef struct _xsltStyleItemParam xsltStyleItemParam;
997typedef xsltStyleItemParam *xsltStyleItemParamPtr;
999struct _xsltStyleItemParam {
1000 XSLT_ITEM_COMMON_FIELDS
1003 xmlXPathCompExprPtr comp;
1020typedef xsltStyleBasicItemVariable xsltStyleItemWithParam;
1021typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr;
1035typedef struct _xsltStyleItemSort xsltStyleItemSort;
1036typedef xsltStyleItemSort *xsltStyleItemSortPtr;
1038struct _xsltStyleItemSort {
1039 XSLT_ITEM_COMMON_FIELDS
1057 xmlXPathCompExprPtr comp;
1070typedef struct _xsltStyleItemWhen xsltStyleItemWhen;
1071typedef xsltStyleItemWhen *xsltStyleItemWhenPtr;
1073struct _xsltStyleItemWhen {
1074 XSLT_ITEM_COMMON_FIELDS
1077 xmlXPathCompExprPtr comp;
1088typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise;
1089typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr;
1091struct _xsltStyleItemOtherwise {
1092 XSLT_ITEM_COMMON_FIELDS
1095typedef struct _xsltStyleItemInclude xsltStyleItemInclude;
1096typedef xsltStyleItemInclude *xsltStyleItemIncludePtr;
1098struct _xsltStyleItemInclude {
1099 XSLT_ITEM_COMMON_FIELDS
1109typedef struct _xsltStyleItemUknown xsltStyleItemUknown;
1110typedef xsltStyleItemUknown *xsltStyleItemUknownPtr;
1111struct _xsltStyleItemUknown {
1112 XSLT_ITEM_COMMON_FIELDS
1142typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement;
1143typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr;
1144struct _xsltStyleItemExtElement {
1145 XSLT_ITEM_COMMON_FIELDS
1155typedef struct _xsltEffectiveNs xsltEffectiveNs;
1156typedef xsltEffectiveNs *xsltEffectiveNsPtr;
1157struct _xsltEffectiveNs {
1158 xsltEffectiveNsPtr nextInStore;
1159 xsltEffectiveNsPtr
next;
1176typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo;
1177typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr;
1178struct _xsltStyleItemLRElementInfo {
1179 XSLT_ITEM_COMMON_FIELDS
1189 xsltEffectiveNsPtr effectiveNs;
1193#ifdef XSLT_REFACTORED
1195typedef struct _xsltNsAlias xsltNsAlias;
1196typedef xsltNsAlias *xsltNsAliasPtr;
1197struct _xsltNsAlias {
1198 xsltNsAliasPtr
next;
1201 xmlDocPtr docOfTargetNs;
1205#ifdef XSLT_REFACTORED_XSLT_NSCOMP
1207typedef struct _xsltNsMap xsltNsMap;
1208typedef xsltNsMap *xsltNsMapPtr;
1225typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData;
1226typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr;
1228typedef struct _xsltNsList xsltNsList;
1229typedef xsltNsList *xsltNsListPtr;
1240typedef struct _xsltVarInfo xsltVarInfo;
1241typedef xsltVarInfo *xsltVarInfoPtr;
1242struct _xsltVarInfo {
1243 xsltVarInfoPtr
next;
1244 xsltVarInfoPtr prev;
1255typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo;
1256typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr;
1257struct _xsltCompilerNodeInfo {
1258 xsltCompilerNodeInfoPtr
next;
1259 xsltCompilerNodeInfoPtr prev;
1268 xsltNsListContainerPtr inScopeNs;
1270 xsltPointerListPtr exclResultNs;
1272 xsltPointerListPtr extElemNs;
1275 xsltStyleItemLRElementInfoPtr litResElemInfo;
1284 int preserveWhitespace;
1285 int stripWhitespace;
1289 int extContentHandled;
1299#define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt)
1302 XSLT_ERROR_SEVERITY_ERROR = 0,
1303 XSLT_ERROR_SEVERITY_WARNING
1304} xsltErrorSeverityType;
1306typedef struct _xsltCompilerCtxt xsltCompilerCtxt;
1307typedef xsltCompilerCtxt *xsltCompilerCtxtPtr;
1308struct _xsltCompilerCtxt {
1312 xsltErrorSeverityType errSeverity;
1323 xsltCompilerNodeInfoPtr
inode;
1324 xsltCompilerNodeInfoPtr inodeList;
1325 xsltCompilerNodeInfoPtr inodeLast;
1326 xsltPointerListPtr tmpList;
1331 int hasForwardsCompat;
1341 xsltPrincipalStylesheetDataPtr psData;
1342 xsltStyleItemUknownPtr unknownItem;
1344 xsltNsAliasPtr nsAliases;
1345 xsltVarInfoPtr ivars;
1346 xsltVarInfoPtr ivar;
1439#ifdef XSLT_REFACTORED
1441struct _xsltPrincipalStylesheetData {
1451 xsltPointerListPtr inScopeNamespaces;
1455 xsltPointerListPtr exclResultNamespaces;
1459 xsltPointerListPtr extElemNamespaces;
1460 xsltEffectiveNsPtr effectiveNs;
1461#ifdef XSLT_REFACTORED_XSLT_NSCOMP
1621#ifdef XSLT_REFACTORED
1625 xsltCompilerCtxtPtr compCtxt;
1627 xsltPrincipalStylesheetDataPtr principalData;
1649#ifdef XSLT_DEBUG_PROFILE_CACHE
1667(*xsltNewLocaleFunc)(
const xmlChar *
lang,
int lowerFirst);
1810#define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return;
1818#define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error;
1826#define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0);
1834#ifndef XML_CAST_FPTR
1848#define XML_CAST_FPTR(fptr) fptr
1923 xmlXPathObjectPtr
obj);
1930 xmlXPathObjectPtr
obj,
1963#ifdef XSLT_REFACTORED
1965 xsltParseSequenceConstructor(
1966 xsltCompilerCtxtPtr cctxt,
1969 xsltParseAnyXSLTElem (xsltCompilerCtxtPtr cctxt,
1971#ifdef XSLT_REFACTORED_XSLT_NSCOMP
1973 xsltRestoreDocumentNamespaces(
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
void CDECL terminate(void)
INT WSAAPI select(IN INT s, IN OUT LPFD_SET readfds, IN OUT LPFD_SET writefds, IN OUT LPFD_SET exceptfds, IN CONST struct timeval *timeout)
GLint GLint GLsizei GLsizei GLsizei depth
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLdouble GLdouble GLint GLint order
static unsigned int number
static unsigned __int64 next
struct _xsltDocument * includes
struct _xsltDocument * next
xsltElemPreCompDeallocator free
xsltTransformFunction func
struct _xsltKeyDef * next
xmlXPathCompExprPtr usecomp
struct _xsltKeyTable * next
struct _xsltStackElem * next
xsltTransformContextPtr context
xsltTransformFunction func
const xmlChar * case_order
struct _xsltCompMatch * rootMatch
xmlHashTablePtr nsAliases
struct _xsltStylesheet * next
xmlHashTablePtr namedTemplates
xsltTemplatePtr templates
struct _xsltCompMatch * textMatch
xmlXPathContextPtr xpathCtxt
struct _xsltStylesheet * imports
xsltDecimalFormatPtr decimalFormat
xsltStackElemPtr variables
struct _xsltCompMatch * elemMatch
struct _xsltCompMatch * piMatch
xmlHashTablePtr templatesHash
xsltElemPreCompPtr preComps
struct _xsltStylesheet * parent
struct _xsltCompMatch * parentMatch
xmlHashTablePtr cdataSection
struct _xsltCompMatch * attrMatch
const xmlChar * defaultAlias
struct _xsltCompMatch * commentMatch
xmlHashTablePtr stripSpaces
xsltStylesheetPtr principal
xmlHashTablePtr attributeSets
struct _xsltCompMatch * keyMatch
struct _xsltTemplate * next
struct _xsltStylesheet * style
xsltTemplatePtr * templCalledTab
xsltTemplatePtr * templTab
xsltNewLocaleFunc newLocale
xmlHashTablePtr extElements
unsigned long * traceCode
xmlHashTablePtr extFunctions
xmlHashTablePtr globalVars
xsltTransformCachePtr cache
xsltGenSortKeyFunc genSortKey
xmlNodePtr initialContextNode
xsltFreeLocaleFunc freeLocale
xsltRuntimeExtraPtr extras
xsltTemplatePtr currentTemplateRule
xsltStackElemPtr * varsTab
xmlGenericErrorFunc error
xmlXPathContextPtr xpathCtxt
xmlDocPtr initialContextDoc
xsltDocumentPtr styleList
Character const *const prefix
static const WCHAR lang[]
void(* xmlGenericErrorFunc)(void *ctx, const char *msg,...) LIBXML_ATTR_FORMAT(2
void(* xmlFreeFunc)(void *mem)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltLoadStylesheetPI(xmlDocPtr doc)
XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultRegister(xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj)
xmlChar *(* xsltGenSortKeyFunc)(void *locale, const xmlChar *lang)
xsltTransformContext * xsltTransformContextPtr
xsltKeyDef * xsltKeyDefPtr
@ XSLT_FUNC_APPLYTEMPLATES
void(* xsltSortFunc)(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, int nbsorts)
XSLTPUBFUN void XSLTCALL xsltNumberFormat(xsltTransformContextPtr ctxt, xsltNumberDataPtr data, xmlNodePtr node)
XSLTPUBFUN void XSLTCALL xsltUninit(void)
XSLTPUBFUN void XSLTCALL xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
XSLTPUBFUN void XSLTCALL xsltParseStylesheetOutput(xsltStylesheetPtr style, xmlNodePtr cur)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetFile(const xmlChar *filename)
XSLTPUBFUN int XSLTCALL xsltRegisterPersistRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
XSLTPUBFUN void XSLTCALL xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ)
xsltTransformCache * xsltTransformCachePtr
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc)
void *(* xsltNewLocaleFunc)(const xmlChar *lang, int lowerFirst)
XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL xsltDecimalFormatGetByName(xsltStylesheetPtr style, xmlChar *name)
xsltElemPreComp * xsltElemPreCompPtr
XSLTPUBFUN void XSLTCALL xsltFreeStylesheet(xsltStylesheetPtr style)
XSLTPUBFUN void XSLTCALL xsltFreeAVTList(void *avt)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltNewStylesheet(void)
XSLTPUBFUN int XSLTCALL xsltIsBlank(xmlChar *str)
xsltStylesheet * xsltStylesheetPtr
xsltKeyTable * xsltKeyTablePtr
XSLTPUBFUN int XSLTCALL xsltFlagRVTs(xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj, int val)
XSLTPUBFUN int XSLTCALL xsltAllocateExtraCtxt(xsltTransformContextPtr ctxt)
xsltRuntimeExtra * xsltRuntimeExtraPtr
XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL xsltDecimalFormatGetByQName(xsltStylesheetPtr style, const xmlChar *nsUri, const xmlChar *name)
xsltTemplate * xsltTemplatePtr
XSLTPUBFUN void XSLTCALL xsltFreeStackElemList(xsltStackElemPtr elem)
XSLTPUBFUN int XSLTCALL xsltRegisterLocalRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
XSLTPUBFUN int XSLTCALL xsltRegisterTmpRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xsltDecimalFormat * xsltDecimalFormatPtr
XSLTPUBFUN xmlXPathError XSLTCALL xsltFormatNumberConversion(xsltDecimalFormatPtr self, xmlChar *format, double number, xmlChar **result)
XSLTPUBFUN void XSLTCALL xsltCompileAttr(xsltStylesheetPtr style, xmlAttrPtr attr)
void(* xsltElemPreCompDeallocator)(xsltElemPreCompPtr comp)
XSLTPUBFUN int XSLTCALL xsltParseStylesheetUser(xsltStylesheetPtr style, xmlDocPtr doc)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetImportedDoc(xmlDocPtr doc, xsltStylesheetPtr style)
XSLTPUBFUN xmlChar *XSLTCALL xsltEvalAVT(xsltTransformContextPtr ctxt, void *avt, xmlNodePtr node)
xsltStackElem * xsltStackElemPtr
XSLTPUBFUN xmlDocPtr XSLTCALL xsltCreateRVT(xsltTransformContextPtr ctxt)
XSLTPUBFUN int XSLTCALL xsltAllocateExtra(xsltStylesheetPtr style)
xsltStylePreComp * xsltStylePreCompPtr
void(* xsltFreeLocaleFunc)(void *locale)
XSLTPUBFUN void XSLTCALL xsltFreeRVTs(xsltTransformContextPtr ctxt)
XSLTPUBFUN int XSLTCALL xsltInitAllDocKeys(xsltTransformContextPtr ctxt)
void(* xsltTransformFunction)(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltElemPreCompPtr comp)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetDoc(xmlDocPtr doc)
xsltDocument * xsltDocumentPtr
XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultFinalize(xsltTransformContextPtr ctxt)
XSLTPUBFUN int XSLTCALL xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr doc, xsltKeyDefPtr keyd)