Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XMLDOM::ExpatHandlers Namespace Reference

Functions

static void Doctype (void *userData, const XML_Char *doctypeName, const XML_Char *sysid, const XML_Char *pubid, int has_internal_subset)
 
static void StartElement (void *userData, const XML_Char *name, const XML_Char **atts)
 
static void EndElement (void *userData, const XML_Char *name)
 
static void CData (void *userData, const XML_Char *s, int len)
 
static void PI (void *userData, const XML_Char *target, const XML_Char *data)
 
static void Comment (void *userData, const XML_Char *data)
 

Function Documentation

static void XMLDOM::ExpatHandlers::CData ( void *  userData,
const XML_Char *  s,
int  len 
)
static

Definition at line 436 of file XMLDocument.cpp.

References XMLDOM::XMLElement::appendContents(), XMLDOM::XMLParserContext::current, XMLDOM::XMLSerializer::OPT_WANT_CDATA, XMLDOM::XMLSerializer::options, and XMLDOM::XMLParserContext::xparser.

Referenced by XMLDOM::XMLSerializer::initialise().

437 {
438  XMLParserContext *internals = (XMLParserContext*) userData;
439  assert( internals );
440  assert( internals->current );
441  assert( internals->xparser );
442  if ( !(internals->xparser->options&XMLSerializer::OPT_WANT_CDATA) )
443  return;
444  internals->current->appendContents( std::string( s, len ) );
445 }
static void XMLDOM::ExpatHandlers::Comment ( void *  userData,
const XML_Char *  data 
)
static

Definition at line 462 of file XMLDocument.cpp.

References XMLDOM::XMLElement::appendChild(), XMLDOM::XMLParserContext::current, XMLDOM::XMLSerializer::OPT_WANT_COMMENTS, XMLDOM::XMLSerializer::options, XMLDOM::XMLElement::XET_COMMENT, and XMLDOM::XMLParserContext::xparser.

Referenced by XMLDOM::XMLSerializer::initialise().

463 {
464  XMLParserContext *internals = (XMLParserContext*) userData;
465  assert( internals );
466  assert( internals->current );
467  assert( internals->xparser );
468  if ( !(internals->xparser->options&XMLSerializer::OPT_WANT_COMMENTS) )
469  return;
470  internals->current->appendChild( new XMLElement( XMLElement::XET_COMMENT, std::string( data ) ) );
471 }
static void XMLDOM::ExpatHandlers::Doctype ( void *  userData,
const XML_Char *  doctypeName,
const XML_Char *  sysid,
const XML_Char *  pubid,
int  has_internal_subset 
)
static

Definition at line 395 of file XMLDocument.cpp.

References XMLDOM::XMLDocument::docType, XMLDOM::XMLParserContext::document, XMLDOM::XMLDocument::pubId, and XMLDOM::XMLDocument::sysId.

400 {
401  XMLParserContext *internals = (XMLParserContext*) userData;
402  assert( internals );
403  assert( internals->document );
404  internals->document->docType = doctypeName;
405  internals->document->sysId = sysid;
406  internals->document->pubId = pubid;
407 }
static void XMLDOM::ExpatHandlers::EndElement ( void *  userData,
const XML_Char *  name 
)
static

Definition at line 427 of file XMLDocument.cpp.

References XMLDOM::XMLParserContext::current, and XMLDOM::XMLElement::getParent().

Referenced by XMLDOM::XMLSerializer::initialise().

428 {
429  XMLParserContext *internals = (XMLParserContext*) userData;
430  assert( internals );
431  assert( internals->current );
432  internals->current = internals->current->getParent();
433 }
static void XMLDOM::ExpatHandlers::PI ( void *  userData,
const XML_Char *  target,
const XML_Char *  data 
)
static

Definition at line 448 of file XMLDocument.cpp.

References XMLDOM::XMLParserContext::current, XMLDOM::XMLParserContext::document, XMLDOM::XMLParserContext::processors, and XMLDOM::XMLParserContext::xparser.

Referenced by XMLDOM::XMLSerializer::initialise().

449 {
450  XMLParserContext *internals = (XMLParserContext*) userData;
451  assert( internals );
452  XMLParserContext::ProcessorMap::const_iterator it = internals->processors.find( std::string( target ) );
453  if ( it != internals->processors.end() ) {
454  it->second->execute(
455  internals->xparser,
456  internals->document,
457  internals->current,
458  std::string( data ) );
459  }
460 }
static void XMLDOM::ExpatHandlers::StartElement ( void *  userData,
const XML_Char *  name,
const XML_Char **  atts 
)
static

Definition at line 411 of file XMLDocument.cpp.

References XMLDOM::XMLElement::appendChild(), XMLDOM::XMLParserContext::current, and XMLDOM::XMLElement::getChild().

Referenced by XMLDOM::XMLSerializer::initialise().

412 {
413  XMLParserContext *internals = (XMLParserContext*) userData;
414  assert( internals );
415  assert( internals->current );
416  internals->current =
417  internals->current->getChild(
418  internals->current->appendChild(
419  new XMLElement(
420  (const char*) name,
421  (const char*const*) atts
422  )
423  )
424  );
425 }