1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
/*----------------------------------------------------------------------------
| Copyright (c) 2000 Jochen Loewer (loewerj@hotmail.com)
|-----------------------------------------------------------------------------
|
| A XSLT implementation for tDOM, according to the W3C
| recommendation (16 Nov 1999,
| http://www.w3.org/TR/1999/REC-xslt-19991116).
|
|
| The contents of this file are subject to the Mozilla Public License
| Version 2.0 (the "License"); you may not use this file except in
| compliance with the License. You may obtain a copy of the License at
| http://www.mozilla.org/MPL/
|
| Software distributed under the License is distributed on an "AS IS"
| basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
| License for the specific language governing rights and limitations
| under the License.
|
| The Original Code is tDOM.
|
| The Initial Developer of the Original Code is Jochen Loewer
| Portions created by Jochen Loewer are Copyright (C) 1998, 1999
| Jochen Loewer. All Rights Reserved.
|
| Contributor(s):
|
|
| $Log$
| Revision 1.6 2004/08/14 14:42:27 rolf
| Use 'Id' cvs keyword (instead of 'Header') in the file heads.
|
| Revision 1.5 2003/01/11 00:19:02 rolf
| Added conversion of XSLT stylesheet DOM trees to 'cached' xslt cmds
| (new domDoc method toXSLTcmd). Works for non threaded tcl; needs
| additional work for multi-threaded tcl and documentation.
|
| Revision 1.4 2002/12/27 23:40:10 rolf
| The xslt method now understands also the options
| -ignoreUndeclaredParameters and -xsltmessagecmd.
|
| Revision 1.3 2002/06/02 06:36:24 zoran
| Added thread safety with capability of sharing DOM trees between
| threads and ability to read/write-lock DOM documents
|
| Revision 1.2 2002/04/08 02:11:12 rolf
| Added -parameters option to domNode xslt method, to enable setting of
| top level parameters from tcl level.
|
| Revision 1.1.1.1 2002/02/22 01:05:35 rolf
| tDOM0.7test with Jochens first set of patches
|
| Revision 1.1 2002/02/04 08:08:19 jolo
| Initial revision
|
|
|
| written by Jochen Loewer
| June, 2000
|
\---------------------------------------------------------------------------*/
#ifndef __DOMXSLT_H__
#define __DOMXSLT_H__
#include <dom.h>
#include <domxpath.h>
typedef int (*xsltMsgCB) (void *clientData, char *str,
int length, int terminate);
/*----------------------------------------------------------------------------
| Prototypes
|
\---------------------------------------------------------------------------*/
int xsltProcess (domDocument * xsltDoc,
domNode * xmlNode,
void * xsltCmdData,
char ** parameters,
int ignoreUndeclaredParameters,
int maxApplyDepth,
xpathFuncCallback funcCB,
void * xpathFuncClientData,
xsltMsgCB xsltMsgCB,
void * xsltMsgClientData,
char ** errMsg,
domDocument ** resultDoc
);
void * xsltCompileStylesheet (
domDocument * xsltDoc,
xpathFuncCallback funcCB,
void * xpathFuncClientData,
int guardXSLTTree,
char ** errMsg
);
void xsltFreeStateWrapper (void *clientData);
void sortByDocOrder (xpathResultSet *rs);
#endif
|