Back to index

python3.2  3.2.2
Defines | Typedefs | Functions | Variables
xmlrole.c File Reference
#include <stddef.h>
#include "expat_external.h"
#include "internal.h"
#include "xmlrole.h"
#include "ascii.h"

Go to the source code of this file.

Defines

#define MIN_BYTES_PER_CHAR(enc)   ((enc)->minBytesPerChar)
#define setTopLevel(state)   ((state)->handler = internalSubset)

Typedefs

typedef int PTRCALL PROLOG_HANDLER (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)

Functions

static int FASTCALL common (PROLOG_STATE *state, int tok)
static int PTRCALL prolog0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL prolog1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL prolog2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype3 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype4 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL doctype5 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL internalSubset (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity3 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity4 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity5 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity6 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity7 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity8 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity9 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL entity10 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL notation0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL notation1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL notation2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL notation3 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL notation4 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist3 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist4 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist5 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist6 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist7 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist8 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL attlist9 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element0 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element1 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element2 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element3 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element4 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element5 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element6 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL element7 (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL declClose (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
static int PTRCALL error (PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)
void XmlPrologStateInit (PROLOG_STATE *state)

Variables

static const char KW_ANY []
static const char KW_ATTLIST []
static const char KW_CDATA []
static const char KW_DOCTYPE []
static const char KW_ELEMENT []
static const char KW_EMPTY []
static const char KW_ENTITIES []
static const char KW_ENTITY []
static const char KW_FIXED []
static const char KW_ID []
static const char KW_IDREF []
static const char KW_IDREFS []
static const char KW_IGNORE []
static const char KW_IMPLIED []
static const char KW_INCLUDE []
static const char KW_NDATA []
static const char KW_NMTOKEN []
static const char KW_NMTOKENS []
static const char KW_NOTATION []
static const char KW_PCDATA []
static const char KW_PUBLIC []
static const char KW_REQUIRED []
static const char KW_SYSTEM []
static PROLOG_HANDLER prolog0
static PROLOG_HANDLER prolog1
static PROLOG_HANDLER prolog2
static PROLOG_HANDLER doctype0
static PROLOG_HANDLER doctype1
static PROLOG_HANDLER doctype2
static PROLOG_HANDLER doctype3
static PROLOG_HANDLER doctype4
static PROLOG_HANDLER doctype5
static PROLOG_HANDLER internalSubset
static PROLOG_HANDLER entity0
static PROLOG_HANDLER entity1
static PROLOG_HANDLER entity2
static PROLOG_HANDLER entity3
static PROLOG_HANDLER entity4
static PROLOG_HANDLER entity5
static PROLOG_HANDLER entity6
static PROLOG_HANDLER entity7
static PROLOG_HANDLER entity8
static PROLOG_HANDLER entity9
static PROLOG_HANDLER entity10
static PROLOG_HANDLER notation0
static PROLOG_HANDLER notation1
static PROLOG_HANDLER notation2
static PROLOG_HANDLER notation3
static PROLOG_HANDLER notation4
static PROLOG_HANDLER attlist0
static PROLOG_HANDLER attlist1
static PROLOG_HANDLER attlist2
static PROLOG_HANDLER attlist3
static PROLOG_HANDLER attlist4
static PROLOG_HANDLER attlist5
static PROLOG_HANDLER attlist6
static PROLOG_HANDLER attlist7
static PROLOG_HANDLER attlist8
static PROLOG_HANDLER attlist9
static PROLOG_HANDLER element0
static PROLOG_HANDLER element1
static PROLOG_HANDLER element2
static PROLOG_HANDLER element3
static PROLOG_HANDLER element4
static PROLOG_HANDLER element5
static PROLOG_HANDLER element6
static PROLOG_HANDLER element7
static PROLOG_HANDLER declClose
static PROLOG_HANDLER error

Define Documentation

#define MIN_BYTES_PER_CHAR (   enc)    ((enc)->minBytesPerChar)

Definition at line 83 of file xmlrole.c.

#define setTopLevel (   state)    ((state)->handler = internalSubset)

Definition at line 92 of file xmlrole.c.


Typedef Documentation

typedef int PTRCALL PROLOG_HANDLER(PROLOG_STATE *state, int tok, const char *ptr, const char *end, const ENCODING *enc)

Definition at line 95 of file xmlrole.c.


Function Documentation

static int PTRCALL attlist0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 748 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = attlist1;
    return XML_ROLE_ATTLIST_ELEMENT_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 766 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_DECL_CLOSE:
    setTopLevel(state);
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = attlist2;
    return XML_ROLE_ATTRIBUTE_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 787 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NAME:
    {
      static const char * const types[] = {
        KW_CDATA,
        KW_ID,
        KW_IDREF,
        KW_IDREFS,
        KW_ENTITY,
        KW_ENTITIES,
        KW_NMTOKEN,
        KW_NMTOKENS,
      };
      int i;
      for (i = 0; i < (int)(sizeof(types)/sizeof(types[0])); i++)
        if (XmlNameMatchesAscii(enc, ptr, end, types[i])) {
          state->handler = attlist8;
          return XML_ROLE_ATTRIBUTE_TYPE_CDATA + i;
        }
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_NOTATION)) {
      state->handler = attlist5;
      return XML_ROLE_ATTLIST_NONE;
    }
    break;
  case XML_TOK_OPEN_PAREN:
    state->handler = attlist3;
    return XML_ROLE_ATTLIST_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist3 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 828 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NMTOKEN:
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = attlist4;
    return XML_ROLE_ATTRIBUTE_ENUM_VALUE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist4 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 847 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_CLOSE_PAREN:
    state->handler = attlist8;
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_OR:
    state->handler = attlist3;
    return XML_ROLE_ATTLIST_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist5 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 867 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_OPEN_PAREN:
    state->handler = attlist6;
    return XML_ROLE_ATTLIST_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist6 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 884 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NAME:
    state->handler = attlist7;
    return XML_ROLE_ATTRIBUTE_NOTATION_VALUE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist7 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 901 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_CLOSE_PAREN:
    state->handler = attlist8;
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_OR:
    state->handler = attlist6;
    return XML_ROLE_ATTLIST_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL attlist8 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 922 of file xmlrole.c.

Here is the call graph for this function:

static int PTRCALL attlist9 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 962 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_LITERAL:
    state->handler = attlist1;
    return XML_ROLE_FIXED_ATTRIBUTE_VALUE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int FASTCALL common ( PROLOG_STATE state,
int  tok 
) [static]

Definition at line 1299 of file xmlrole.c.

{
#ifdef XML_DTD
  if (!state->documentEntity && tok == XML_TOK_PARAM_ENTITY_REF)
    return XML_ROLE_INNER_PARAM_ENTITY_REF;
#endif
  state->handler = error;
  return XML_ROLE_ERROR;
}
static int PTRCALL declClose ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1272 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return state->role_none;
  case XML_TOK_DECL_CLOSE:
    setTopLevel(state);
    return state->role_none;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 211 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = doctype1;
    return XML_ROLE_DOCTYPE_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 229 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_OPEN_BRACKET:
    state->handler = internalSubset;
    return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
  case XML_TOK_DECL_CLOSE:
    state->handler = prolog2;
    return XML_ROLE_DOCTYPE_CLOSE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
      state->handler = doctype3;
      return XML_ROLE_DOCTYPE_NONE;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
      state->handler = doctype2;
      return XML_ROLE_DOCTYPE_NONE;
    }
    break;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 259 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_LITERAL:
    state->handler = doctype3;
    return XML_ROLE_DOCTYPE_PUBLIC_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype3 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 276 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_LITERAL:
    state->handler = doctype4;
    return XML_ROLE_DOCTYPE_SYSTEM_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype4 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 293 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_OPEN_BRACKET:
    state->handler = internalSubset;
    return XML_ROLE_DOCTYPE_INTERNAL_SUBSET;
  case XML_TOK_DECL_CLOSE:
    state->handler = prolog2;
    return XML_ROLE_DOCTYPE_CLOSE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL doctype5 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 313 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_DECL_CLOSE:
    state->handler = prolog2;
    return XML_ROLE_DOCTYPE_CLOSE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 979 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = element1;
    return XML_ROLE_ELEMENT_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 997 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_EMPTY)) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
      return XML_ROLE_CONTENT_EMPTY;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_ANY)) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
      return XML_ROLE_CONTENT_ANY;
    }
    break;
  case XML_TOK_OPEN_PAREN:
    state->handler = element2;
    state->level = 1;
    return XML_ROLE_GROUP_OPEN;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1027 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_POUND_NAME:
    if (XmlNameMatchesAscii(enc,
                            ptr + MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_PCDATA)) {
      state->handler = element3;
      return XML_ROLE_CONTENT_PCDATA;
    }
    break;
  case XML_TOK_OPEN_PAREN:
    state->level = 2;
    state->handler = element6;
    return XML_ROLE_GROUP_OPEN;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT;
  case XML_TOK_NAME_QUESTION:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_OPT;
  case XML_TOK_NAME_ASTERISK:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_REP;
  case XML_TOK_NAME_PLUS:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_PLUS;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element3 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1067 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_CLOSE_PAREN:
    state->handler = declClose;
    state->role_none = XML_ROLE_ELEMENT_NONE;
    return XML_ROLE_GROUP_CLOSE;
  case XML_TOK_CLOSE_PAREN_ASTERISK:
    state->handler = declClose;
    state->role_none = XML_ROLE_ELEMENT_NONE;
    return XML_ROLE_GROUP_CLOSE_REP;
  case XML_TOK_OR:
    state->handler = element4;
    return XML_ROLE_ELEMENT_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element4 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1092 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = element5;
    return XML_ROLE_CONTENT_ELEMENT;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element5 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1110 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_CLOSE_PAREN_ASTERISK:
    state->handler = declClose;
    state->role_none = XML_ROLE_ELEMENT_NONE;
    return XML_ROLE_GROUP_CLOSE_REP;
  case XML_TOK_OR:
    state->handler = element4;
    return XML_ROLE_ELEMENT_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element6 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1131 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_OPEN_PAREN:
    state->level += 1;
    return XML_ROLE_GROUP_OPEN;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT;
  case XML_TOK_NAME_QUESTION:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_OPT;
  case XML_TOK_NAME_ASTERISK:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_REP;
  case XML_TOK_NAME_PLUS:
    state->handler = element7;
    return XML_ROLE_CONTENT_ELEMENT_PLUS;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL element7 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1161 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ELEMENT_NONE;
  case XML_TOK_CLOSE_PAREN:
    state->level -= 1;
    if (state->level == 0) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
    }
    return XML_ROLE_GROUP_CLOSE;
  case XML_TOK_CLOSE_PAREN_ASTERISK:
    state->level -= 1;
    if (state->level == 0) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
    }
    return XML_ROLE_GROUP_CLOSE_REP;
  case XML_TOK_CLOSE_PAREN_QUESTION:
    state->level -= 1;
    if (state->level == 0) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
    }
    return XML_ROLE_GROUP_CLOSE_OPT;
  case XML_TOK_CLOSE_PAREN_PLUS:
    state->level -= 1;
    if (state->level == 0) {
      state->handler = declClose;
      state->role_none = XML_ROLE_ELEMENT_NONE;
    }
    return XML_ROLE_GROUP_CLOSE_PLUS;
  case XML_TOK_COMMA:
    state->handler = element6;
    return XML_ROLE_GROUP_SEQUENCE;
  case XML_TOK_OR:
    state->handler = element6;
    return XML_ROLE_GROUP_CHOICE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 432 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_PERCENT:
    state->handler = entity1;
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_NAME:
    state->handler = entity2;
    return XML_ROLE_GENERAL_ENTITY_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 452 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_NAME:
    state->handler = entity7;
    return XML_ROLE_PARAM_ENTITY_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity10 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 634 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_DECL_CLOSE:
    setTopLevel(state);
    return XML_ROLE_ENTITY_COMPLETE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 469 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
      state->handler = entity4;
      return XML_ROLE_ENTITY_NONE;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
      state->handler = entity3;
      return XML_ROLE_ENTITY_NONE;
    }
    break;
  case XML_TOK_LITERAL:
    state->handler = declClose;
    state->role_none = XML_ROLE_ENTITY_NONE;
    return XML_ROLE_ENTITY_VALUE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity3 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 497 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_LITERAL:
    state->handler = entity4;
    return XML_ROLE_ENTITY_PUBLIC_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity4 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 514 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_LITERAL:
    state->handler = entity5;
    return XML_ROLE_ENTITY_SYSTEM_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity5 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 531 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_DECL_CLOSE:
    setTopLevel(state);
    return XML_ROLE_ENTITY_COMPLETE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_NDATA)) {
      state->handler = entity6;
      return XML_ROLE_ENTITY_NONE;
    }
    break;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity6 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 554 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_NAME:
    state->handler = declClose;
    state->role_none = XML_ROLE_ENTITY_NONE;
    return XML_ROLE_ENTITY_NOTATION_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity7 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 572 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
      state->handler = entity9;
      return XML_ROLE_ENTITY_NONE;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
      state->handler = entity8;
      return XML_ROLE_ENTITY_NONE;
    }
    break;
  case XML_TOK_LITERAL:
    state->handler = declClose;
    state->role_none = XML_ROLE_ENTITY_NONE;
    return XML_ROLE_ENTITY_VALUE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity8 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 600 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_LITERAL:
    state->handler = entity9;
    return XML_ROLE_ENTITY_PUBLIC_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL entity9 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 617 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ENTITY_NONE;
  case XML_TOK_LITERAL:
    state->handler = entity10;
    return XML_ROLE_ENTITY_SYSTEM_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL error ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 1289 of file xmlrole.c.

{
  return XML_ROLE_NONE;
}
static int PTRCALL internalSubset ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 330 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_DECL_OPEN:
    if (XmlNameMatchesAscii(enc,
                            ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_ENTITY)) {
      state->handler = entity0;
      return XML_ROLE_ENTITY_NONE;
    }
    if (XmlNameMatchesAscii(enc,
                            ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_ATTLIST)) {
      state->handler = attlist0;
      return XML_ROLE_ATTLIST_NONE;
    }
    if (XmlNameMatchesAscii(enc,
                            ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_ELEMENT)) {
      state->handler = element0;
      return XML_ROLE_ELEMENT_NONE;
    }
    if (XmlNameMatchesAscii(enc,
                            ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_NOTATION)) {
      state->handler = notation0;
      return XML_ROLE_NOTATION_NONE;
    }
    break;
  case XML_TOK_PI:
    return XML_ROLE_PI;
  case XML_TOK_COMMENT:
    return XML_ROLE_COMMENT;
  case XML_TOK_PARAM_ENTITY_REF:
    return XML_ROLE_PARAM_ENTITY_REF;
  case XML_TOK_CLOSE_BRACKET:
    state->handler = doctype5;
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_NONE:
    return XML_ROLE_NONE;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL notation0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 651 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NOTATION_NONE;
  case XML_TOK_NAME:
    state->handler = notation1;
    return XML_ROLE_NOTATION_NAME;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL notation1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 668 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NOTATION_NONE;
  case XML_TOK_NAME:
    if (XmlNameMatchesAscii(enc, ptr, end, KW_SYSTEM)) {
      state->handler = notation3;
      return XML_ROLE_NOTATION_NONE;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
      state->handler = notation2;
      return XML_ROLE_NOTATION_NONE;
    }
    break;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL notation2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 692 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NOTATION_NONE;
  case XML_TOK_LITERAL:
    state->handler = notation4;
    return XML_ROLE_NOTATION_PUBLIC_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL notation3 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 709 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NOTATION_NONE;
  case XML_TOK_LITERAL:
    state->handler = declClose;
    state->role_none = XML_ROLE_NOTATION_NONE;
    return XML_ROLE_NOTATION_SYSTEM_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL notation4 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 727 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NOTATION_NONE;
  case XML_TOK_LITERAL:
    state->handler = declClose;
    state->role_none = XML_ROLE_NOTATION_NONE;
    return XML_ROLE_NOTATION_SYSTEM_ID;
  case XML_TOK_DECL_CLOSE:
    setTopLevel(state);
    return XML_ROLE_NOTATION_NO_SYSTEM_ID;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL prolog0 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 122 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    state->handler = prolog1;
    return XML_ROLE_NONE;
  case XML_TOK_XML_DECL:
    state->handler = prolog1;
    return XML_ROLE_XML_DECL;
  case XML_TOK_PI:
    state->handler = prolog1;
    return XML_ROLE_PI;
  case XML_TOK_COMMENT:
    state->handler = prolog1;
    return XML_ROLE_COMMENT;
  case XML_TOK_BOM:
    return XML_ROLE_NONE;
  case XML_TOK_DECL_OPEN:
    if (!XmlNameMatchesAscii(enc,
                             ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                             end,
                             KW_DOCTYPE))
      break;
    state->handler = doctype0;
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL prolog1 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 159 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_PI:
    return XML_ROLE_PI;
  case XML_TOK_COMMENT:
    return XML_ROLE_COMMENT;
  case XML_TOK_BOM:
    return XML_ROLE_NONE;
  case XML_TOK_DECL_OPEN:
    if (!XmlNameMatchesAscii(enc,
                             ptr + 2 * MIN_BYTES_PER_CHAR(enc),
                             end,
                             KW_DOCTYPE))
      break;
    state->handler = doctype0;
    return XML_ROLE_DOCTYPE_NONE;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

Here is the call graph for this function:

static int PTRCALL prolog2 ( PROLOG_STATE state,
int  tok,
const char *  ptr,
const char *  end,
const ENCODING *  enc 
) [static]

Definition at line 190 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_PI:
    return XML_ROLE_PI;
  case XML_TOK_COMMENT:
    return XML_ROLE_COMMENT;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

Here is the call graph for this function:

Definition at line 1310 of file xmlrole.c.

{
  state->handler = prolog0;
#ifdef XML_DTD
  state->documentEntity = 1;
  state->includeLevel = 0;
  state->inEntityValue = 0;
#endif /* XML_DTD */
}

Variable Documentation

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

const char KW_ANY[] [static]
Initial value:
 {
    ASCII_A, ASCII_N, ASCII_Y, '\0' }

Definition at line 31 of file xmlrole.c.

const char KW_ATTLIST[] [static]
Initial value:

Definition at line 33 of file xmlrole.c.

const char KW_CDATA[] [static]
Initial value:

Definition at line 35 of file xmlrole.c.

const char KW_DOCTYPE[] [static]
Initial value:

Definition at line 37 of file xmlrole.c.

const char KW_ELEMENT[] [static]
Initial value:

Definition at line 39 of file xmlrole.c.

const char KW_EMPTY[] [static]
Initial value:

Definition at line 41 of file xmlrole.c.

const char KW_ENTITIES[] [static]
Initial value:

Definition at line 43 of file xmlrole.c.

const char KW_ENTITY[] [static]
Initial value:

Definition at line 46 of file xmlrole.c.

const char KW_FIXED[] [static]
Initial value:

Definition at line 48 of file xmlrole.c.

const char KW_ID[] [static]
Initial value:
 {
    ASCII_I, ASCII_D, '\0' }

Definition at line 50 of file xmlrole.c.

const char KW_IDREF[] [static]
Initial value:

Definition at line 52 of file xmlrole.c.

const char KW_IDREFS[] [static]
Initial value:

Definition at line 54 of file xmlrole.c.

const char KW_IGNORE[] [static]
Initial value:

Definition at line 56 of file xmlrole.c.

const char KW_IMPLIED[] [static]
Initial value:

Definition at line 58 of file xmlrole.c.

const char KW_INCLUDE[] [static]
Initial value:

Definition at line 60 of file xmlrole.c.

const char KW_NDATA[] [static]
Initial value:

Definition at line 62 of file xmlrole.c.

const char KW_NMTOKEN[] [static]
Initial value:

Definition at line 64 of file xmlrole.c.

const char KW_NMTOKENS[] [static]
Initial value:

Definition at line 66 of file xmlrole.c.

const char KW_NOTATION[] [static]
Initial value:

Definition at line 69 of file xmlrole.c.

const char KW_PCDATA[] [static]
Initial value:

Definition at line 72 of file xmlrole.c.

const char KW_PUBLIC[] [static]
Initial value:

Definition at line 74 of file xmlrole.c.

const char KW_REQUIRED[] [static]
Initial value:

Definition at line 76 of file xmlrole.c.

const char KW_SYSTEM[] [static]
Initial value:

Definition at line 79 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.

Definition at line 102 of file xmlrole.c.