tDOM

Check-in [60af362516]
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merged from trunk.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | schema
Files: files | file ages | folders
SHA3-256: 60af362516428178dd6d71f34b33667e5770974739d00704ae3f8989f6b536c1
User & Date: rolf 2019-03-07 22:46:51
Context
2019-03-07
23:12
Removed an ancient CONST, that somehow sliped in. check-in: afef231e60 user: rolf tags: schema
22:46
Merged from trunk. check-in: 60af362516 user: rolf tags: schema
22:45
Made novem compatible. check-in: d41caf001d user: rolf tags: trunk
13:44
Merged feature virtual constraints into the main schema dev branch. check-in: c24d55afe8 user: rolf tags: schema
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/dom.c.

5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
#endif
    /* Now the tdom cmd specific elements */
    int               tdomStatus;
    Tcl_Obj          *extResolver;

} tdomCmdReadInfo;

EXTERN int tcldom_returnDocumentObj (Tcl_Interp *interp, 
                                     domDocument *document,
                                     int setVariable, Tcl_Obj *var_name,
                                     int trace, int forOwnerDocument);

void
tdom_freeProc (
    Tcl_Interp *interp,
    void       *userData
)
{






|
|
|
|







5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
#endif
    /* Now the tdom cmd specific elements */
    int               tdomStatus;
    Tcl_Obj          *extResolver;

} tdomCmdReadInfo;

int tcldom_returnDocumentObj (Tcl_Interp *interp, 
                              domDocument *document,
                              int setVariable, Tcl_Obj *var_name,
                              int trace, int forOwnerDocument);

void
tdom_freeProc (
    Tcl_Interp *interp,
    void       *userData
)
{

Changes to generic/tcldom.h.

68
69
70
71
72
73
74
75
76
77
78
79
80
#if defined(_MSC_VER) || defined(__MINGW32__)
#  undef TCL_STORAGE_CLASS
#  define TCL_STORAGE_CLASS DLLEXPORT
#endif

#define STR_TDOM_VERSION(v) (VERSION)

EXTERN int Tdom_Init     (Tcl_Interp *interp);
EXTERN int Tdom_SafeInit (Tcl_Interp *interp);

#endif








|
|




68
69
70
71
72
73
74
75
76
77
78
79
80
#if defined(_MSC_VER) || defined(__MINGW32__)
#  undef TCL_STORAGE_CLASS
#  define TCL_STORAGE_CLASS DLLEXPORT
#endif

#define STR_TDOM_VERSION(v) (VERSION)

int Tdom_Init     (Tcl_Interp *interp);
int Tdom_SafeInit (Tcl_Interp *interp);

#endif


Changes to generic/tclexpat.h.

148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
\-------------------------------------------------------------------------*/

#if defined(_MSC_VER) || defined(BUILD_tdom) || defined(__MINGW32__) 
#  undef TCL_STORAGE_CLASS
#  define TCL_STORAGE_CLASS DLLEXPORT
#endif

EXTERN Tcl_ObjCmdProc TclExpatObjCmd;

EXTERN int CheckExpatParserObj (Tcl_Interp *interp,
				Tcl_Obj *const nameObj);
EXTERN int CHandlerSetInstall (Tcl_Interp *interp,
			       Tcl_Obj *const expatObj,
			       CHandlerSet *handlerSet);
EXTERN int CHandlerSetRemove (Tcl_Interp *interp,
			      Tcl_Obj *const expatObj,
			      char *handlerSetName);
EXTERN CHandlerSet * CHandlerSetCreate (char *name);
EXTERN CHandlerSet * CHandlerSetGet (Tcl_Interp *interp,
                                     Tcl_Obj *const expatObj,
				     char *handlerSetName);
EXTERN void * CHandlerSetGetUserData (Tcl_Interp *interp,
                                      Tcl_Obj *const expatObj,
				      char *handlerSetName);

EXTERN TclGenExpatInfo * GetExpatInfo (Tcl_Interp *interp,
				       Tcl_Obj *const expatObj);






|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|

148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
\-------------------------------------------------------------------------*/

#if defined(_MSC_VER) || defined(BUILD_tdom) || defined(__MINGW32__) 
#  undef TCL_STORAGE_CLASS
#  define TCL_STORAGE_CLASS DLLEXPORT
#endif

Tcl_ObjCmdProc TclExpatObjCmd;

int CheckExpatParserObj (Tcl_Interp *interp,
 			Tcl_Obj *const nameObj);
int CHandlerSetInstall (Tcl_Interp *interp,
 		       Tcl_Obj *const expatObj,
 		       CHandlerSet *handlerSet);
int CHandlerSetRemove (Tcl_Interp *interp,
 		      Tcl_Obj *const expatObj,
 		      char *handlerSetName);
CHandlerSet * CHandlerSetCreate (char *name);
CHandlerSet * CHandlerSetGet (Tcl_Interp *interp,
                              Tcl_Obj *const expatObj,
 			     char *handlerSetName);
void * CHandlerSetGetUserData (Tcl_Interp *interp,
                               Tcl_Obj *const expatObj,
 			      char *handlerSetName);

TclGenExpatInfo * GetExpatInfo (Tcl_Interp *interp,
				       Tcl_Obj *const expatObj);

Changes to generic/tdomDecls.h.

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
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#endif

/*
 * Exported function declarations:
 */

/* 0 */
EXTERN int		TclExpatObjCmd(ClientData dummy, Tcl_Interp *interp,
				int objc, Tcl_Obj *const objv[]);
/* 1 */
EXTERN int		CheckExpatParserObj(Tcl_Interp *interp,
				Tcl_Obj *const nameObj);
/* 2 */
EXTERN int		CHandlerSetInstall(Tcl_Interp *interp,
				Tcl_Obj *const expatObj, 
				CHandlerSet *handlerSet);
/* 3 */
EXTERN int		CHandlerSetRemove(Tcl_Interp *interp,
				Tcl_Obj *const expatObj, 
				char *handlerSetName);
/* 4 */
EXTERN CHandlerSet *	CHandlerSetCreate(char *name);
/* 5 */
EXTERN CHandlerSet *	CHandlerSetGet(Tcl_Interp *interp,
				Tcl_Obj *const expatObj, 
				char *handlerSetName);
/* 6 */
EXTERN void *		CHandlerSetGetUserData(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 7 */
EXTERN TclGenExpatInfo * GetExpatInfo(Tcl_Interp *interp,
				Tcl_Obj *const expatObj);
/* 8 */
EXTERN XML_Size		XML_GetCurrentLineNumber(XML_Parser parser);
/* 9 */
EXTERN XML_Size		XML_GetCurrentColumnNumber(XML_Parser parser);
/* 10 */
EXTERN XML_Index	XML_GetCurrentByteIndex(XML_Parser parser);
/* 11 */
EXTERN int		XML_GetCurrentByteCount(XML_Parser parser);
/* 12 */
EXTERN enum XML_Status	XML_SetBase(XML_Parser parser, const XML_Char *base);
/* 13 */
EXTERN const XML_Char *	 XML_GetBase(XML_Parser parser);
/* 14 */
EXTERN int		XML_GetSpecifiedAttributeCount(XML_Parser parser);
/* 15 */
EXTERN int		XML_GetIdAttributeIndex(XML_Parser parser);
/* 16 */
EXTERN domNode *	tcldom_getNodeFromName(Tcl_Interp *interp,
				char *nodeName, char **errMsg);
/* 17 */
EXTERN domDocument *	tcldom_getDocumentFromName(Tcl_Interp *interp,
				char *docName, char **errMsg);

typedef struct TdomStubs {
    int magic;
    void *hooks;

    int (*tclExpatObjCmd) (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 0 */
................................................................................
    const XML_Char * (*xML_GetBase) (XML_Parser parser); /* 13 */
    int (*xML_GetSpecifiedAttributeCount) (XML_Parser parser); /* 14 */
    int (*xML_GetIdAttributeIndex) (XML_Parser parser); /* 15 */
    domNode * (*tcldom_getNodeFromName) (Tcl_Interp *interp, char *nodeName, char **errMsg); /* 16 */
    domDocument * (*tcldom_getDocumentFromName) (Tcl_Interp *interp, char *docName, char **errMsg); /* 17 */
} TdomStubs;

extern const TdomStubs *tdomStubsPtr;

#ifdef __cplusplus
}
#endif

#if defined(USE_TDOM_STUBS)







|


|


|
|


|
|


|

|
|


|



|


|

|

|

|

|

|

|

|

|


|







 







|







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
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#endif

/*
 * Exported function declarations:
 */

/* 0 */
int		TclExpatObjCmd(ClientData dummy, Tcl_Interp *interp,
				int objc, Tcl_Obj *const objv[]);
/* 1 */
int		CheckExpatParserObj(Tcl_Interp *interp,
				Tcl_Obj *const nameObj);
/* 2 */
int		CHandlerSetInstall(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				CHandlerSet *handlerSet);
/* 3 */
int		CHandlerSetRemove(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 4 */
CHandlerSet *	CHandlerSetCreate(char *name);
/* 5 */
CHandlerSet *	CHandlerSetGet(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 6 */
void *		CHandlerSetGetUserData(Tcl_Interp *interp,
				Tcl_Obj *const expatObj,
				char *handlerSetName);
/* 7 */
TclGenExpatInfo * GetExpatInfo(Tcl_Interp *interp,
				Tcl_Obj *const expatObj);
/* 8 */
XML_Size		XML_GetCurrentLineNumber(XML_Parser parser);
/* 9 */
XML_Size		XML_GetCurrentColumnNumber(XML_Parser parser);
/* 10 */
XML_Index	XML_GetCurrentByteIndex(XML_Parser parser);
/* 11 */
int		XML_GetCurrentByteCount(XML_Parser parser);
/* 12 */
enum XML_Status	XML_SetBase(XML_Parser parser, const XML_Char *base);
/* 13 */
const XML_Char *	 XML_GetBase(XML_Parser parser);
/* 14 */
int		XML_GetSpecifiedAttributeCount(XML_Parser parser);
/* 15 */
int		XML_GetIdAttributeIndex(XML_Parser parser);
/* 16 */
domNode *	tcldom_getNodeFromName(Tcl_Interp *interp,
				char *nodeName, char **errMsg);
/* 17 */
domDocument *	tcldom_getDocumentFromName(Tcl_Interp *interp,
				char *docName, char **errMsg);

typedef struct TdomStubs {
    int magic;
    void *hooks;

    int (*tclExpatObjCmd) (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]); /* 0 */
................................................................................
    const XML_Char * (*xML_GetBase) (XML_Parser parser); /* 13 */
    int (*xML_GetSpecifiedAttributeCount) (XML_Parser parser); /* 14 */
    int (*xML_GetIdAttributeIndex) (XML_Parser parser); /* 15 */
    domNode * (*tcldom_getNodeFromName) (Tcl_Interp *interp, char *nodeName, char **errMsg); /* 16 */
    domDocument * (*tcldom_getDocumentFromName) (Tcl_Interp *interp, char *docName, char **errMsg); /* 17 */
} TdomStubs;

const TdomStubs *tdomStubsPtr;

#ifdef __cplusplus
}
#endif

#if defined(USE_TDOM_STUBS)

Changes to tests/data/REC-xslt-19991116.xml.

6352
6353
6354
6355
6356
6357
6358



6359
6360
6361
6362
6363
<item><p>a way to group together consecutive nodes having duplicate
subelements or attributes;</p></item>

<item><p>features to make handling of the HTML <code>style</code>
attribute more convenient.</p></item>

</ulist>




</inform-div1>

</back>
</spec>






>
>
>





6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
<item><p>a way to group together consecutive nodes having duplicate
subelements or attributes;</p></item>

<item><p>features to make handling of the HTML <code>style</code>
attribute more convenient.</p></item>

</ulist>

<item><p>features to make handling of the HTML <code>style</code>
attribute more convenient.</p></item>

</inform-div1>

</back>
</spec>