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

Lines Matching defs:expat

4  *	TclXML driver for James Clark's expat XML parser
29 * The structure below is used to refer to an expat parser object.
33 XML_Parser parser; /* The expat parser structure */
162 classinfo->name = Tcl_NewStringObj("expat", -1);
183 if (Tcl_PkgProvide(interp, "xml::expat", TCLXML_VERSION) != TCL_OK) {
196 * Create an expat parser instance.
202 * This creates an expat parser.
212 TclExpatInfo *expat;
218 if (!(expat = (TclExpatInfo *) ckalloc(sizeof(TclExpatInfo)))) {
219 ckfree((char *)expat);
223 expat->interp = interp;
224 expat->xmlinfo = xmlinfo;
226 if (!(expat->parser = XML_ParserCreate(NULL))) {
227 Tcl_SetResult(interp, "unable to create expat parser", NULL);
228 ckfree((char *)expat);
236 XML_SetElementHandler(expat->parser, TclExpatElementStartHandler,
238 XML_SetCharacterDataHandler(expat->parser, TclExpatCharacterDataHandler);
239 XML_SetProcessingInstructionHandler(expat->parser,
241 XML_SetDefaultHandler(expat->parser, TclExpatDefaultHandler);
243 XML_SetUnparsedEntityDeclHandler(expat->parser,
245 XML_SetNotationDeclHandler(expat->parser, TclExpatNotationDeclHandler);
247 XML_SetExternalEntityRefHandler(expat->parser,
250 XML_SetUnknownEncodingHandler(expat->parser, TclExpatUnknownEncodingHandler,
254 /* Tell expat to use the TclExpat comment handler */
255 XML_SetCommentHandler(expat->parser, TclExpatCommentHandler);
257 /* Tell expat to use the TclExpat "not standalone" handler */
258 XML_SetNotStandaloneHandler(expat->parser, TclExpatNotStandaloneHandler);
261 /* Tell expat to use the TclExpat CdataSection handlers */
262 XML_SetCdataSectionHandler(expat->parser, TclExpatStartCdataSectionHandler,
266 /* Tell expat to use the TclExpat Element decl handler */
267 XML_SetElementDeclHandler(expat->parser, TclExpatElementDeclHandler);
269 /* Tell expat to use the TclExpat Attlist decl handler */
270 XML_SetAttlistDeclHandler(expat->parser, TclExpatAttlistDeclHandler);
272 /* Tell expat to use the TclExpat DOCTYPE decl handlers */
273 XML_SetDoctypeDeclHandler(expat->parser,
277 XML_SetUserData(expat->parser, (void *) expat);
279 return (ClientData) expat;
288 * Create an expat entity parser, based on the original
295 * The TclExpatInfo struct pointed to by expat is modified.
306 TclExpatInfo *expat;
308 if (!(expat = (TclExpatInfo *) ckalloc(sizeof(TclExpatInfo)))) {
309 ckfree((char *)expat);
313 expat->interp = parent->interp;
314 expat->xmlinfo = parent->xmlinfo;
316 if (!(expat->parser = XML_ExternalEntityParserCreate(parent->parser,
318 Tcl_SetResult(interp, "unable to create expat external entity parser",
323 XML_SetUserData(expat->parser, (void *) expat);
324 return (ClientData) expat;
333 * Destroy the expat parser structure.
348 TclExpatInfo *expat = (TclExpatInfo *) clientData;
350 XML_ParserFree(expat->parser);
351 ckfree((char *)expat);
362 * Wrapper to invoke expat parser and check return result.
379 TclExpatInfo *expat = (TclExpatInfo *) clientData;
383 result = XML_Parse(expat->parser,
388 Tcl_ResetResult(expat->interp);
389 sprintf(s, "%d", XML_GetCurrentLineNumber(expat->parser));
390 Tcl_AppendResult(expat->interp, "error \"",
391 XML_ErrorString(XML_GetErrorCode(expat->parser)),
393 sprintf(s, "%d", XML_GetCurrentColumnNumber(expat->parser));
394 Tcl_AppendResult(expat->interp, s, NULL);
408 * Implements instance command for expat class objects.
425 TclExpatInfo *expat = (TclExpatInfo *) clientData;
453 if (Tcl_GetIndexFromObj(expat->interp, objPtr[0], switches,
455 Tcl_ResetResult(expat->interp);
462 if (XML_SetBase(expat->parser, (const XML_Char*)Tcl_GetString(objPtr[1])) == 0) {
463 Tcl_SetResult(expat->interp, "unable to set base URL", NULL);
472 if (Tcl_GetBooleanFromObj(expat->interp, objPtr[1], &bool) != TCL_OK) {
476 XML_SetDefaultExpandInternalEntities(expat->parser, bool);
482 if (Tcl_GetIndexFromObj(expat->interp, objPtr[1], paramEntityParsingValues,
488 XML_SetParamEntityParsing(expat->parser,
492 XML_SetParamEntityParsing(expat->parser,
496 XML_SetParamEntityParsing(expat->parser,
540 TclExpatInfo *expat = (TclExpatInfo *) clientData;
560 Tcl_SetResult(expat->interp, "Only one value may be requested at a time",
565 if (Tcl_GetIndexFromObj(expat->interp, objv[0], switches,
570 resultPtr = Tcl_GetObjResult(expat->interp);
576 Tcl_SetIntObj(resultPtr, XML_GetSpecifiedAttributeCount(expat->parser));
582 Tcl_SetIntObj(resultPtr, XML_GetCurrentByteCount(expat->parser));
588 Tcl_SetIntObj(resultPtr, XML_GetCurrentLineNumber(expat->parser));
594 Tcl_SetIntObj(resultPtr, XML_GetCurrentColumnNumber(expat->parser));
600 Tcl_SetLongObj(resultPtr, XML_GetCurrentByteIndex(expat->parser));
619 * Called by expat for various document features.
635 TclExpatInfo *expat = (TclExpatInfo *) userdata;
646 expat->xmlinfo,
656 TclExpatInfo *expat = (TclExpatInfo *) userdata;
659 expat->xmlinfo,
669 TclExpatInfo *expat = (TclExpatInfo *) userdata;
672 expat->xmlinfo,
682 TclExpatInfo *expat = (TclExpatInfo *) userdata;
685 expat->xmlinfo,
696 TclExpatInfo *expat = (TclExpatInfo *) userdata;
699 expat->xmlinfo,
712 TclExpatInfo *expat = (TclExpatInfo *) userdata;
715 expat->xmlinfo,
732 TclExpatInfo *expat = (TclExpatInfo *) userdata;
735 expat->xmlinfo,
748 TclExpatInfo *expat = (TclExpatInfo *) userdata;
751 expat->xmlinfo,
759 TclExpatInfo *expat = (TclExpatInfo *) userdata;
761 return TclXML_NotStandaloneHandler(expat->xmlinfo);
768 TclExpatInfo *expat = (TclExpatInfo *) userdata;
780 TclExpatInfo *expat = (TclExpatInfo *) userdata;
793 * Called by expat for processing external entity references.
812 TclExpatInfo *expat = (TclExpatInfo *) XML_GetUserData(parser);
815 (ClientData) expat->xmlinfo,
864 TclExpatInfo *expat = (TclExpatInfo *) userdata;
870 Tcl_ListObjAppendElement(expat->interp, contentspecObj, Tcl_NewStringObj(contentspec[0][count], -1));
874 expat->xmlinfo,
885 TclExpatInfo *expat = (TclExpatInfo *) userdata;
891 Tcl_ListObjAppendElement(expat->interp, attdefnObj, Tcl_NewStringObj((*attributes)[count], -1));
895 expat->xmlinfo,
905 TclExpatInfo *expat = (TclExpatInfo *) userdata;
908 expat->xmlinfo,
916 TclExpatInfo *expat = (TclExpatInfo *) userdata;
918 TclXML_EndDoctypeDeclHandler(expat->xmlinfo);