Back to index

lightning-sunbird  0.9+nobinonly
Defines | Typedefs | Functions | Variables
xmlrole.c File Reference
#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 78 of file xmlrole.c.

Definition at line 87 of file xmlrole.c.


Typedef Documentation

Definition at line 90 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 741 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 759 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 780 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_NAME:
    {
      static const char *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 821 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 840 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 860 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 877 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 894 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 915 of file xmlrole.c.

{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_ATTLIST_NONE;
  case XML_TOK_POUND_NAME:
    if (XmlNameMatchesAscii(enc,
                            ptr + MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_IMPLIED)) {
      state->handler = attlist1;
      return XML_ROLE_IMPLIED_ATTRIBUTE_VALUE;
    }
    if (XmlNameMatchesAscii(enc,
                            ptr + MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_REQUIRED)) {
      state->handler = attlist1;
      return XML_ROLE_REQUIRED_ATTRIBUTE_VALUE;
    }
    if (XmlNameMatchesAscii(enc,
                            ptr + MIN_BYTES_PER_CHAR(enc),
                            end,
                            KW_FIXED)) {
      state->handler = attlist9;
      return XML_ROLE_ATTLIST_NONE;
    }
    break;
  case XML_TOK_LITERAL:
    state->handler = attlist1;
    return XML_ROLE_DEFAULT_ATTRIBUTE_VALUE;
  }
  return common(state, tok);
}

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 955 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 1292 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 1265 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 206 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 224 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 254 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 271 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 288 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 308 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 972 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 990 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 1020 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 1060 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 1085 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 1103 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 1124 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 1154 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 425 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 445 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 627 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 462 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 490 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 507 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 524 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 547 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 565 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 593 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 610 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 1282 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 325 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;
  }
  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 644 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 661 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 685 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 702 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 720 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 117 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 154 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 185 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 1303 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 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

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

Definition at line 26 of file xmlrole.c.

const char KW_ATTLIST[] [static]
Initial value:

Definition at line 28 of file xmlrole.c.

const char KW_CDATA[] [static]
Initial value:

Definition at line 30 of file xmlrole.c.

const char KW_DOCTYPE[] [static]
Initial value:

Definition at line 32 of file xmlrole.c.

const char KW_ELEMENT[] [static]
Initial value:

Definition at line 34 of file xmlrole.c.

const char KW_EMPTY[] [static]
Initial value:

Definition at line 36 of file xmlrole.c.

const char KW_ENTITIES[] [static]
Initial value:

Definition at line 38 of file xmlrole.c.

const char KW_ENTITY[] [static]
Initial value:

Definition at line 41 of file xmlrole.c.

const char KW_FIXED[] [static]
Initial value:

Definition at line 43 of file xmlrole.c.

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

Definition at line 45 of file xmlrole.c.

const char KW_IDREF[] [static]
Initial value:

Definition at line 47 of file xmlrole.c.

const char KW_IDREFS[] [static]
Initial value:

Definition at line 49 of file xmlrole.c.

const char KW_IGNORE[] [static]
Initial value:

Definition at line 51 of file xmlrole.c.

const char KW_IMPLIED[] [static]
Initial value:

Definition at line 53 of file xmlrole.c.

const char KW_INCLUDE[] [static]
Initial value:

Definition at line 55 of file xmlrole.c.

const char KW_NDATA[] [static]
Initial value:

Definition at line 57 of file xmlrole.c.

const char KW_NMTOKEN[] [static]
Initial value:

Definition at line 59 of file xmlrole.c.

const char KW_NMTOKENS[] [static]
Initial value:

Definition at line 61 of file xmlrole.c.

const char KW_NOTATION[] [static]
Initial value:

Definition at line 64 of file xmlrole.c.

const char KW_PCDATA[] [static]
Initial value:

Definition at line 67 of file xmlrole.c.

const char KW_PUBLIC[] [static]
Initial value:

Definition at line 69 of file xmlrole.c.

const char KW_REQUIRED[] [static]
Initial value:

Definition at line 71 of file xmlrole.c.

const char KW_SYSTEM[] [static]
Initial value:

Definition at line 74 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.

Definition at line 97 of file xmlrole.c.