⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlrole.c

📁 很牛的GUI源码wxWidgets-2.8.0.zip 可在多种平台下运行.
💻 C
📖 第 1 页 / 共 3 页
字号:
  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);}static int PTRCALLattlist7(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}/* default value */static int PTRCALLattlist8(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLattlist9(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement0(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement1(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement2(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement3(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement4(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement5(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement6(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}static int PTRCALLelement7(PROLOG_STATE *state,         int tok,         const char *ptr,         const char *end,         const ENCODING *enc){  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);}#ifdef XML_DTDstatic int PTRCALLcondSect0(PROLOG_STATE *state,          int tok,          const char *ptr,          const char *end,          const ENCODING *enc){  switch (tok) {  case XML_TOK_PROLOG_S:    return XML_ROLE_NONE;  case XML_TOK_NAME:    if (XmlNameMatchesAscii(enc, ptr, end, KW_INCLUDE)) {      state->handler = condSect1;      return XML_ROLE_NONE;    }    if (XmlNameMatchesAscii(enc, ptr, end, KW_IGNORE)) {      state->handler = condSect2;      return XML_ROLE_NONE;    }    break;  }  return common(state, tok);}static int PTRCALLcondSect1(PROLOG_STATE *state,          int tok,          const char *ptr,          const char *end,          const ENCODING *enc){  switch (tok) {  case XML_TOK_PROLOG_S:    return XML_ROLE_NONE;  case XML_TOK_OPEN_BRACKET:    state->handler = externalSubset1;    state->includeLevel += 1;    return XML_ROLE_NONE;  }  return common(state, tok);}static int PTRCALLcondSect2(PROLOG_STATE *state,          int tok,          const char *ptr,          const char *end,          const ENCODING *enc){  switch (tok) {  case XML_TOK_PROLOG_S:    return XML_ROLE_NONE;  case XML_TOK_OPEN_BRACKET:    state->handler = externalSubset1;    return XML_ROLE_IGNORE_SECT;  }  return common(state, tok);}#endif /* XML_DTD */static int PTRCALLdeclClose(PROLOG_STATE *state,          int tok,          const char *ptr,          const char *end,          const ENCODING *enc){  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);}static int PTRCALLerror(PROLOG_STATE *state,      int tok,      const char *ptr,      const char *end,      const ENCODING *enc){  return XML_ROLE_NONE;}static int FASTCALLcommon(PROLOG_STATE *state, int tok){#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;}voidXmlPrologStateInit(PROLOG_STATE *state){  state->handler = prolog0;#ifdef XML_DTD  state->documentEntity = 1;  state->includeLevel = 0;  state->inEntityValue = 0;#endif /* XML_DTD */}#ifdef XML_DTDvoidXmlPrologStateInitExternalEntity(PROLOG_STATE *state){  state->handler = externalSubset0;  state->documentEntity = 0;  state->includeLevel = 0;}#endif /* XML_DTD */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -