• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/tcl-102/tcl_ext/tdom/tdom/generic/

Lines Matching defs:expat

4  *   A Tcl interface to James Clark's expat XML parser
85 tmpTclHandlerSet = expat->firstTclHandlerSet; \
86 expat->firstTclHandlerSet = activeTclHandlerSet; \
126 TclGenExpatInfo *expat, int resetOptions ));
127 static void TclExpatFreeParser _ANSI_ARGS_((TclGenExpatInfo *expat));
129 TclGenExpatInfo *expat, char *data, int len,
132 TclGenExpatInfo *expat, int objc, Tcl_Obj *CONST objv[]));
134 TclGenExpatInfo *expat, int objc, Tcl_Obj *CONST objv[]));
137 TclGenExpatInfo *expat, int objc, Tcl_Obj *CONST objv[]));
138 static void TclExpatDispatchPCDATA _ANSI_ARGS_((TclGenExpatInfo *expat));
326 * Creation command for expat class.
332 * This creates an expat parser.
462 * Create or re-initializes (if it already exists) the expat
472 * Creates or reset an expat parser.
479 TclExpatInitializeParser(interp, expat, resetOptions)
481 TclGenExpatInfo *expat;
487 if (expat->parser) {
488 XML_ParserReset (expat->parser, NULL);
489 activeCHandlerSet = expat->firstCHandlerSet;
492 activeCHandlerSet->resetProc (expat->interp,
498 if (expat->ns_mode) {
499 if (!(expat->parser =
500 XML_ParserCreate_MM(NULL, MEM_SUITE, &expat->nsSeparator))) {
501 Tcl_SetResult(interp, "unable to create expat parserNs", NULL);
505 if (!(expat->parser =
507 Tcl_SetResult(interp, "unable to create expat parser", NULL);
513 expat->status = TCL_OK;
514 if (expat->result) {
515 Tcl_DecrRefCount (expat->result);
516 expat->result = NULL;
518 if (expat->cdata) {
519 Tcl_DecrRefCount (expat->cdata);
521 expat->cdata = NULL;
522 eContent = expat->eContents;
524 XML_FreeContentModel (expat->parser, eContent->content);
529 expat->eContents = NULL;
530 expat->finished = 0;
531 expat->parsingState = 0;
534 expat->final = 1;
535 expat->needWSCheck = 0;
536 expat->noexpand = 0;
537 expat->useForeignDTD = 0;
538 expat->paramentityparsing = XML_PARAM_ENTITY_PARSING_NEVER;
539 if (expat->baseURI) {
540 Tcl_DecrRefCount (expat->baseURI);
541 expat->baseURI = NULL;
545 if (expat->baseURI) {
546 XML_SetBase (expat->parser, Tcl_GetString (expat->baseURI));
547 Tcl_DecrRefCount (expat->baseURI);
548 expat->baseURI = NULL;
555 XML_SetElementHandler(expat->parser,
558 XML_SetNamespaceDeclHandler(expat->parser,
561 XML_SetCharacterDataHandler(expat->parser,
563 XML_SetProcessingInstructionHandler(expat->parser,
565 XML_SetDefaultHandlerExpand(expat->parser,
568 XML_SetNotationDeclHandler(expat->parser,
570 XML_SetExternalEntityRefHandler(expat->parser,
572 XML_SetUnknownEncodingHandler(expat->parser,
574 (void *) expat);
577 XML_SetCommentHandler(expat->parser, TclGenExpatCommentHandler);
579 XML_SetNotStandaloneHandler(expat->parser, TclGenExpatNotStandaloneHandler);
581 XML_SetCdataSectionHandler(expat->parser, TclGenExpatStartCdataSectionHandler,
584 XML_SetElementDeclHandler(expat->parser, TclGenExpatElementDeclHandler);
586 XML_SetAttlistDeclHandler(expat->parser, TclGenExpatAttlistDeclHandler);
588 XML_SetDoctypeDeclHandler(expat->parser,
592 XML_SetXmlDeclHandler (expat->parser, TclGenExpatXmlDeclHandler);
594 XML_SetEntityDeclHandler (expat->parser,
596 if (expat->noexpand) {
597 XML_SetDefaultHandlerExpand(expat->parser, NULL);
598 XML_SetDefaultHandler(expat->parser,
601 XML_SetDefaultHandler(expat->parser, NULL);
602 XML_SetDefaultHandlerExpand(expat->parser,
606 XML_SetUserData(expat->parser, (void *) expat);
616 * Destroy the expat parser structure and frees the stored content models,
630 TclExpatFreeParser(expat)
631 TclGenExpatInfo *expat;
635 eContent = expat->eContents;
637 XML_FreeContentModel (expat->parser, eContent->content);
642 expat->eContents = NULL;
644 XML_ParserFree(expat->parser);
645 expat->parser = NULL;
653 * Implements instance command for expat class objects.
671 TclGenExpatInfo *expat = (TclGenExpatInfo *) clientData;
705 result = TclExpatConfigure(interp, expat, objc - 2, objv + 2);
711 result = TclExpatCget(interp, expat, objc - 2, objv + 2);
718 if (expat->parsingState > 1) {
723 Tcl_DeleteCommand(interp, Tcl_GetString(expat->name));
731 result = TclExpatGet(interp, expat, objc - 2, objv + 2);
737 if (expat->parsingState > 1) {
743 result = TclExpatParse(interp, expat, data, len, EXPAT_INPUT_STRING);
744 if (expat->final || result != TCL_OK) {
745 expat->final = 1;
746 expat->finished = 1;
753 if (expat->parsingState > 1) {
759 result = TclExpatParse(interp, expat, data, len, EXPAT_INPUT_CHANNEL);
760 if (expat->final || result != TCL_OK) {
761 expat->final = 1;
762 expat->finished = 1;
769 if (expat->parsingState > 1) {
775 result = TclExpatParse (interp, expat, data, len,
777 if (expat->final || result != TCL_OK) {
778 expat->final = 1;
779 expat->finished = 1;
787 if (expat->parsingState > 1) {
792 result = TclExpatInitializeParser (interp, expat, 1);
807 * Wrapper to invoke expat parser and check return result.
819 TclExpatParse (interp, expat, data, len, type)
821 TclGenExpatInfo *expat;
840 if (expat->finished) {
841 if ((result = TclExpatInitializeParser (interp, expat, 0)) != TCL_OK)
845 if (!expat->parsingState) {
846 activeCHandlerSet = expat->firstCHandlerSet;
849 activeCHandlerSet->initParseProc (expat->interp,
853 expat->needWSCheck = 1;
857 expat->parsingState = 1;
865 expat->parsingState = 2;
866 result = XML_Parse(expat->parser,
868 expat->final);
869 expat->parsingState = 1;
896 expat->parsingState = 2;
902 result = XML_Parse (expat->parser, buf, bytesread, done);
904 if (!XML_Parse (expat->parser, buf, bytesread, done)) {
918 if (!XML_Parse (expat->parser, str, len, done)) {
932 expat->parsingState = 2;
937 result = XML_Parse (expat->parser, buf, bytesread, done);
939 if (!XML_Parse (expat->parser, buf, bytesread, done)) {
946 expat->parsingState = 1;
957 parser = expat->parser;
958 expat->parsingState = 2;
966 expat->parsingState = 1;
975 expat->parsingState = 1;
988 expat->parsingState = 1;
993 if (expat->status == ERROR_IN_EXTREFHANDLER) {
994 Tcl_SetObjResult (interp, expat->result);
998 sprintf(s, "%ld", XML_GetCurrentLineNumber(expat->parser));
1000 XML_ErrorString(XML_GetErrorCode(expat->parser)),
1002 sprintf(s, "%ld", XML_GetCurrentColumnNumber(expat->parser));
1012 switch (expat->status) {
1020 Tcl_SetObjResult(interp, expat->result);
1028 Tcl_SetObjResult(interp, expat->result);
1029 return expat->status;
1038 * Implements instance command for expat class objects.
1050 TclExpatConfigure (interp, expat, objc, objv)
1052 TclGenExpatInfo *expat;
1129 if (expat->firstTclHandlerSet
1130 && (strcmp ("default", expat->firstTclHandlerSet->name)==0)) {
1131 activeTclHandlerSet = expat->firstTclHandlerSet;
1145 expat->final = bool;
1150 if (expat->finished) {
1151 if (expat->baseURI) {
1152 Tcl_DecrRefCount (expat->baseURI);
1154 expat->baseURI = objPtr[1];
1155 Tcl_IncrRefCount (expat->baseURI);
1157 if (XML_SetBase(expat->parser, Tcl_GetString(objPtr[1]))
1320 expat->needWSCheck = 1;
1331 XML_UseForeignDTD (expat->parser, (unsigned char)bool);
1460 XML_SetParamEntityParsing(expat->parser,
1462 expat->paramentityparsing = XML_PARAM_ENTITY_PARSING_ALWAYS;
1465 XML_SetParamEntityParsing(expat->parser,
1467 expat->paramentityparsing = XML_PARAM_ENTITY_PARSING_NEVER;
1470 XML_SetParamEntityParsing(expat->parser,
1472 expat->paramentityparsing =
1482 activeTclHandlerSet = expat->firstTclHandlerSet;
1491 if (!expat->firstTclHandlerSet) {
1492 expat->firstTclHandlerSet = activeTclHandlerSet;
1495 tmpTclHandlerSet = expat->firstTclHandlerSet;
1509 XML_SetDefaultHandlerExpand(expat->parser, NULL);
1510 XML_SetDefaultHandler(expat->parser,
1514 XML_SetDefaultHandler(expat->parser, NULL);
1515 XML_SetDefaultHandlerExpand(expat->parser,
1518 expat->noexpand = bool;
1548 TclExpatCget (interp, expat, objc, objv)
1550 TclGenExpatInfo *expat;
1619 activeTclHandlerSet = expat->firstTclHandlerSet;
1637 for (activeTclHandlerSet = expat->firstTclHandlerSet;
1664 Tcl_SetResult(interp, expat->final ? "1" : "0", NULL);
1669 if (expat->finished) {
1670 Tcl_SetResult (interp, expat->baseURI != NULL
1671 ? Tcl_GetString (expat->baseURI) : "", NULL);
1673 Tcl_SetResult(interp, XML_GetBase(expat->parser) != NULL
1674 ? (char*) XML_GetBase(expat->parser) : "", NULL);
1680 SetIntResult (interp, expat->useForeignDTD);
1685 switch (expat->paramentityparsing) {
1702 SetIntResult (interp, expat->noexpand);
1707 SetIntResult (interp, expat->ns_mode);
1950 TclExpatGet (interp, expat, objc, objv)
1952 TclGenExpatInfo *expat;
1990 Tcl_SetIntObj(resultPtr, XML_GetSpecifiedAttributeCount(expat->parser));
1995 Tcl_SetIntObj(resultPtr, XML_GetCurrentByteCount(expat->parser));
2000 Tcl_SetIntObj(resultPtr, XML_GetCurrentLineNumber(expat->parser));
2005 Tcl_SetIntObj(resultPtr, XML_GetCurrentColumnNumber(expat->parser));
2010 Tcl_SetLongObj(resultPtr, XML_GetCurrentByteIndex(expat->parser));
2036 TclExpatHandlerResult(expat, handlerSet, result)
2037 TclGenExpatInfo *expat;
2068 expat->status = TCL_ERROR;
2069 expat->result = Tcl_GetObjResult(expat->interp);
2070 Tcl_IncrRefCount(expat->result);
2077 expat->status = result;
2078 expat->result = Tcl_GetObjResult(expat->interp);
2079 Tcl_IncrRefCount(expat->result);
2089 * Called by expat for each start tag.
2106 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2115 if (expat->status != TCL_OK) {
2119 TclExpatDispatchPCDATA(expat);
2121 activeTclHandlerSet = expat->firstTclHandlerSet;
2155 Tcl_ListObjAppendElement(expat->interp, atList, Tcl_NewStringObj((char *)atPtr[0], strlen(atPtr[0])));
2156 Tcl_ListObjAppendElement(expat->interp, atList, Tcl_NewStringObj((char *)atPtr[1], strlen(atPtr[1])));
2167 activeTclHandlerSet->elementstartclientData, expat->interp,
2169 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2181 Tcl_Preserve((ClientData) expat->interp);
2183 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
2185 Tcl_ListObjAppendElement(expat->interp, cmdPtr, atList);
2192 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2194 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2199 Tcl_Release((ClientData) expat->interp);
2201 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2211 activeCHandlerSet = expat->firstCHandlerSet;
2229 * Called by expat for each end tag.
2245 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2252 if (expat->status != TCL_OK) {
2256 TclExpatDispatchPCDATA(expat);
2258 activeTclHandlerSet = expat->firstTclHandlerSet;
2292 Tcl_Preserve((ClientData) expat->interp);
2294 activeTclHandlerSet->elementendclientData, expat->interp,
2296 Tcl_Release((ClientData) expat->interp);
2297 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2307 Tcl_Preserve((ClientData) expat->interp);
2309 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
2317 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2319 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2324 Tcl_Release((ClientData) expat->interp);
2326 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2336 activeCHandlerSet = expat->firstCHandlerSet;
2354 * Called by expat for each start tag.
2371 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2377 if (expat->status != TCL_OK) {
2381 activeTclHandlerSet = expat->firstTclHandlerSet;
2411 Tcl_Preserve((ClientData) expat->interp);
2413 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
2415 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
2423 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2425 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2430 Tcl_Release((ClientData) expat->interp);
2432 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2437 activeCHandlerSet = expat->firstCHandlerSet;
2454 * Called by expat for each end tag.
2470 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2476 if (expat->status != TCL_OK) {
2480 activeTclHandlerSet = expat->firstTclHandlerSet;
2512 Tcl_Preserve((ClientData) expat->interp);
2514 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)prefix, -1));
2521 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2523 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2528 Tcl_Release((ClientData) expat->interp);
2530 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2534 activeCHandlerSet = expat->firstCHandlerSet;
2552 * Called by expat for character data.
2582 * Called by expat for character data.
2599 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2601 if (expat->status != TCL_OK) {
2605 if (!expat->cdata) {
2606 expat->cdata = Tcl_NewObj();
2607 Tcl_IncrRefCount (expat->cdata);
2609 Tcl_AppendToObj (expat->cdata, s, len);
2631 TclExpatDispatchPCDATA(expat)
2632 TclGenExpatInfo *expat;
2641 if (expat->cdata == NULL ||
2642 expat->status != TCL_OK
2647 s = Tcl_GetStringFromObj (expat->cdata, &len);
2648 if (expat->needWSCheck) {
2652 activeTclHandlerSet = expat->firstTclHandlerSet;
2678 Tcl_Preserve((ClientData) expat->interp);
2680 activeTclHandlerSet->datacommandclientData, expat->interp,
2682 Tcl_Release((ClientData) expat->interp);
2684 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2693 Tcl_Preserve((ClientData) expat->interp);
2695 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
2703 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2705 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2710 Tcl_Release((ClientData) expat->interp);
2712 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2718 activeCHandlerSet = expat->firstCHandlerSet;
2731 Tcl_DecrRefCount (expat->cdata);
2732 expat->cdata = 0;
2742 * Called by expat for processing instructions.
2759 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2765 if (expat->status != TCL_OK) {
2769 TclExpatDispatchPCDATA(expat);
2771 activeTclHandlerSet = expat->firstTclHandlerSet;
2793 Tcl_Preserve((ClientData) expat->interp);
2795 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)target, strlen(target)));
2796 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)data, strlen(data)));
2803 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2805 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2810 Tcl_Release((ClientData) expat->interp);
2812 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2817 activeCHandlerSet = expat->firstCHandlerSet;
2833 * Called by expat for processing data which has no other handler.
2850 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2856 TclExpatDispatchPCDATA(expat);
2858 if (expat->status != TCL_OK) {
2862 activeTclHandlerSet = expat->firstTclHandlerSet;
2884 Tcl_Preserve((ClientData) expat->interp);
2886 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)s, len));
2893 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
2895 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
2900 Tcl_Release((ClientData) expat->interp);
2902 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
2907 activeCHandlerSet = expat->firstCHandlerSet;
2924 * Called by expat for processing an unparsed entity references.
2947 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
2953 TclExpatDispatchPCDATA(expat);
2955 if (expat->status != TCL_OK) {
2959 activeTclHandlerSet = expat->firstTclHandlerSet;
2981 Tcl_Preserve((ClientData) expat->interp);
2983 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)entityname, strlen(entityname)));
2984 Tcl_ListObjAppendElement (expat->interp, cmdPtr, Tcl_NewIntObj (is_param));
2986 Tcl_ListObjAppendElement (expat->interp, cmdPtr, Tcl_NewListObj (0, NULL));
2989 Tcl_ListObjAppendElement (expat->interp, cmdPtr, Tcl_NewStringObj ((char *) value, length));
2992 Tcl_ListObjAppendElement (expat->interp, cmdPtr, Tcl_NewListObj (0, NULL));
2995 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)base, strlen(base)));
2998 Tcl_ListObjAppendElement (expat->interp, cmdPtr, Tcl_NewListObj (0, NULL));
3000 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)systemId, strlen(systemId)));
3003 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewListObj(0, NULL));
3005 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)publicId, strlen(publicId)));
3008 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewListObj(0, NULL));
3010 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)notationName, strlen(notationName)));
3018 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3020 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3025 Tcl_Release((ClientData) expat->interp);
3027 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3032 activeCHandlerSet = expat->firstCHandlerSet;
3050 * Called by expat for processing a notation declaration.
3069 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3075 TclExpatDispatchPCDATA(expat);
3077 if (expat->status != TCL_OK) {
3081 activeTclHandlerSet = expat->firstTclHandlerSet;
3102 Tcl_Preserve((ClientData) expat->interp);
3104 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)notationName, strlen(notationName)));
3105 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)base, strlen(base)));
3107 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewListObj(0, NULL));
3109 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)systemId, strlen(systemId)));
3112 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewListObj(0, NULL));
3114 Tcl_ListObjAppendElement(expat->interp, cmdPtr, Tcl_NewStringObj((char *)publicId, strlen(publicId)));
3122 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3124 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3129 Tcl_Release((ClientData) expat->interp);
3131 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3136 activeCHandlerSet = expat->firstCHandlerSet;
3153 * Called by expat for processing a reference to a character in an
3171 TclGenExpatInfo *expat = (TclGenExpatInfo *) encodingHandlerData;
3174 TclExpatDispatchPCDATA(expat);
3176 if (expat->status != TCL_OK) {
3180 if (expat->firstTclHandlerSet) {
3181 Tcl_SetResult(expat->interp, "not implemented", NULL);
3185 activeCHandlerSet = expat->firstCHandlerSet;
3201 * Called by expat for processing external entity references.
3220 TclGenExpatInfo *expat = (TclGenExpatInfo *) XML_GetUserData(parser);
3232 if (expat->status != TCL_OK) {
3236 TclExpatDispatchPCDATA(expat);
3238 activeTclHandlerSet = expat->firstTclHandlerSet;
3259 Tcl_Preserve((ClientData) expat->interp);
3262 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3265 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3270 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3273 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3278 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3281 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3286 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3288 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3293 Tcl_Release((ClientData) expat->interp);
3302 TclExpatHandlerResult (expat, activeTclHandlerSet,
3306 TclExpatHandlerResult (expat, activeTclHandlerSet, result);
3312 resultObj = Tcl_GetObjResult (expat->interp);
3315 result = Tcl_ListObjLength (expat->interp, resultObj, &tclLen);
3319 result = Tcl_ListObjIndex (expat->interp, resultObj, 0, &resultTypeObj);
3334 result = Tcl_ListObjIndex (expat->interp, resultObj, 1, &extbaseObj);
3342 Tcl_SetResult (expat->interp,
3343 "unable to create expat external entity parser",
3345 TclExpatHandlerResult(expat, activeTclHandlerSet,
3350 oldparser = expat->parser;
3351 expat->parser = extparser;
3354 result = Tcl_ListObjIndex (expat->interp, resultObj, 2, &dataObj);
3359 activeCHandlerSet = expat->firstCHandlerSet;
3375 chan = Tcl_GetChannel (expat->interp, dataStr, &mode);
3380 Tcl_UnregisterChannel (expat->interp, chan);
3381 Tcl_ResetResult (expat->interp);
3382 Tcl_AppendResult (expat->interp, "channel \"", dataStr,
3385 TclExpatHandlerResult (expat, activeTclHandlerSet,
3389 expat->parser = oldparser;
3401 Tcl_UnregisterChannel (expat->interp, chan);
3407 Tcl_ResetResult (expat->interp);
3408 Tcl_AppendResult (expat->interp, "error opening file \"",
3410 TclExpatHandlerResult (expat, activeTclHandlerSet,
3414 expat->parser = oldparser;
3423 Tcl_ResetResult (expat->interp);
3424 Tcl_SetResult (expat->interp, "Out of memory\n", NULL);
3425 TclExpatHandlerResult (expat, activeTclHandlerSet,
3432 Tcl_ResetResult (expat->interp);
3433 Tcl_AppendResult (expat->interp,
3436 TclExpatHandlerResult (expat, activeTclHandlerSet,
3455 Tcl_ResetResult (expat->interp);
3457 Tcl_AppendResult(expat->interp, "Not wellformed error \"",
3462 Tcl_AppendResult(expat->interp, s, NULL);
3464 expat->parser = oldparser;
3465 TclExpatHandlerResult(expat, activeTclHandlerSet,
3473 TclExpatDispatchPCDATA(expat);
3476 expat->parser = oldparser;
3478 activeCHandlerSet = expat->firstCHandlerSet;
3487 TclExpatHandlerResult(expat, activeTclHandlerSet, TCL_OK);
3494 activeCHandlerSet = expat->firstCHandlerSet;
3510 Tcl_ResetResult (expat->interp);
3513 expat->parser = oldparser;
3515 Tcl_AppendResult (expat->interp, "The -externalentitycommand script has",
3519 TclExpatHandlerResult (expat, activeTclHandlerSet,
3529 * Called by expat to handle comments encountered while parsing
3545 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3552 if (expat->status != TCL_OK) {
3556 TclExpatDispatchPCDATA(expat);
3558 activeTclHandlerSet = expat->firstTclHandlerSet;
3576 Tcl_Preserve((ClientData) expat->interp);
3578 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3582 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3584 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3589 Tcl_Release((ClientData) expat->interp);
3591 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3596 activeCHandlerSet = expat->firstCHandlerSet;
3611 * Called by expat to handle "not standalone" documents (ie, documents
3628 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3634 TclExpatDispatchPCDATA(expat);
3636 if (expat->status != TCL_OK) {
3640 activeTclHandlerSet = expat->firstTclHandlerSet;
3658 Tcl_Preserve((ClientData) expat->interp);
3661 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3663 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3668 Tcl_Release((ClientData) expat->interp);
3670 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3675 activeCHandlerSet = expat->firstCHandlerSet;
3690 * Called by expat to handle CDATA section starts.
3705 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3711 if (expat->status != TCL_OK) {
3715 TclExpatDispatchPCDATA(expat);
3717 activeTclHandlerSet = expat->firstTclHandlerSet;
3738 Tcl_Preserve((ClientData) expat->interp);
3741 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3743 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3748 Tcl_Release((ClientData) expat->interp);
3750 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3755 activeCHandlerSet = expat->firstCHandlerSet;
3770 * Called by expat to handle CDATA section ends
3785 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3791 if (expat->status != TCL_OK) {
3795 TclExpatDispatchPCDATA(expat);
3797 activeTclHandlerSet = expat->firstTclHandlerSet;
3815 Tcl_Preserve((ClientData) expat->interp);
3818 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3820 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3825 Tcl_Release((ClientData) expat->interp);
3827 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3832 activeCHandlerSet = expat->firstCHandlerSet;
3914 * Called by expat to handle <!ELEMENT declarations.
3931 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
3939 TclExpatDispatchPCDATA(expat);
3943 eContent->next = expat->eContents;
3944 expat->eContents = eContent;
3946 if (expat->status != TCL_OK) {
3950 activeTclHandlerSet = expat->firstTclHandlerSet;
3969 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
3974 generateModel (expat->interp, content, model);
3976 Tcl_ListObjAppendElement(expat->interp, cmdPtr, content);
3979 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
3981 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
3987 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
3992 activeCHandlerSet = expat->firstCHandlerSet;
4009 * Called by expat to handle <!ATTLIST declarations.
4029 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
4035 TclExpatDispatchPCDATA(expat);
4037 if (expat->status != TCL_OK) {
4041 activeTclHandlerSet = expat->firstTclHandlerSet;
4060 Tcl_Preserve((ClientData) expat->interp);
4062 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4064 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4066 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4069 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4073 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4076 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4080 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
4082 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
4087 Tcl_Release((ClientData) expat->interp);
4089 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
4094 activeCHandlerSet = expat->firstCHandlerSet;
4111 * Called by expat to handle the start of <!DOCTYPE declarations.
4130 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
4136 TclExpatDispatchPCDATA(expat);
4138 if (expat->status != TCL_OK) {
4142 activeTclHandlerSet = expat->firstTclHandlerSet;
4161 Tcl_Preserve((ClientData) expat->interp);
4163 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4166 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4169 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4173 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4176 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4179 Tcl_ListObjAppendElement(expat->interp, cmdPtr,
4183 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
4185 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
4190 Tcl_Release((ClientData) expat->interp);
4192 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
4197 activeCHandlerSet = expat->firstCHandlerSet;
4215 * Called by expat to handle the end of <!DOCTYPE declarations.
4230 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
4237 TclExpatDispatchPCDATA(expat);
4239 if (expat->status != TCL_OK) {
4243 activeTclHandlerSet = expat->firstTclHandlerSet;
4261 Tcl_Preserve((ClientData) expat->interp);
4264 result = Tcl_GlobalEvalObj(expat->interp, cmdPtr);
4266 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
4271 Tcl_Release((ClientData) expat->interp);
4273 TclExpatHandlerResult(expat, activeTclHandlerSet, result);
4278 activeCHandlerSet = expat->firstCHandlerSet;
4286 eContent = expat->eContents;
4288 XML_FreeContentModel (expat->parser, eContent->content);
4293 expat->eContents = NULL;
4304 * Called by expat for both XML declarations and text declarations.
4322 TclGenExpatInfo *expat = (TclGenExpatInfo *) userData;
4328 if (expat->status != TCL_OK) {
4332 activeTclHandlerSet = expat->firstTclHandlerSet;
4350 Tcl_Preserve ((ClientData) expat->interp);
4352 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4354 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4357 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4361 Tcl_ListObjAppendElement (expat->interp, cmdPtr,
4366 result = Tcl_GlobalEvalObj (expat->interp, cmdPtr);
4368 result = Tcl_EvalObjEx(expat->interp, cmdPtr,
4373 Tcl_Release((ClientData) expat->interp);
4375 TclExpatHandlerResult (expat, activeTclHandlerSet, result);
4380 activeCHandlerSet = expat-> firstCHandlerSet;
4397 * Called when an expat parser is deleted.
4412 TclGenExpatInfo *expat = (TclGenExpatInfo *) clientData;
4416 TclExpatFreeParser(expat);
4418 Tcl_DecrRefCount(expat->name);
4420 if (expat->cdata) {
4421 Tcl_DecrRefCount(expat->cdata);
4422 expat->cdata = NULL;
4425 if (expat->result) {
4426 Tcl_DecrRefCount(expat->result);
4429 if (expat->baseURI) {
4430 Tcl_DecrRefCount (expat->baseURI);
4432 activeTclHandlerSet = expat->firstTclHandlerSet;
4499 activeCHandlerSet = expat->firstCHandlerSet;
4503 activeCHandlerSet->freeProc (expat->interp,
4513 FREE( (char*) expat);
4541 TclGenExpatInfo *expat;
4547 expat = (TclGenExpatInfo *) info.objClientData;
4548 if (expat->firstCHandlerSet != NULL) {
4549 activeCHandlerSet = expat->firstCHandlerSet;
4564 expat->firstCHandlerSet = handlerSet;
4567 expat->needWSCheck = 1;
4579 TclGenExpatInfo *expat;
4585 expat = (TclGenExpatInfo *) info.objClientData;
4586 if (expat->firstCHandlerSet == NULL) {
4590 activeCHandlerSet = expat->firstCHandlerSet;
4601 expat->firstCHandlerSet = activeCHandlerSet->nextHandlerSet;
4619 TclGenExpatInfo *expat;
4625 expat = (TclGenExpatInfo *) info.objClientData;
4626 if (expat->firstCHandlerSet == NULL) {
4629 activeCHandlerSet = expat->firstCHandlerSet;
4646 TclGenExpatInfo *expat;
4652 expat = (TclGenExpatInfo *) info.objClientData;
4653 if (expat->firstCHandlerSet == NULL) {
4656 activeCHandlerSet = expat->firstCHandlerSet;