亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? xmlrole.c

?? xmlrpc,用 XML表示得遠程過程調用,基于web上得遠程計算
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*
Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
See the file copying.txt for copying permission.
*/
#include "xmlrpc_config.h"

#include "xmldef.h"
#include "xmlrole.h"
#include "ascii.h"

/* Doesn't check:

 that ,| are not mixed in a model group
 content of literals

*/

static const char KW_ANY[] = { ASCII_A, ASCII_N, ASCII_Y, '\0' };
static const char KW_ATTLIST[] = { ASCII_A, ASCII_T, ASCII_T, ASCII_L, ASCII_I, ASCII_S, ASCII_T, '\0' };
static const char KW_CDATA[] = { ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' };
static const char KW_DOCTYPE[] = { ASCII_D, ASCII_O, ASCII_C, ASCII_T, ASCII_Y, ASCII_P, ASCII_E, '\0' };
static const char KW_ELEMENT[] = { ASCII_E, ASCII_L, ASCII_E, ASCII_M, ASCII_E, ASCII_N, ASCII_T, '\0' };
static const char KW_EMPTY[] = { ASCII_E, ASCII_M, ASCII_P, ASCII_T, ASCII_Y, '\0' };
static const char KW_ENTITIES[] = { ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_I, ASCII_E, ASCII_S, '\0' };
static const char KW_ENTITY[] = { ASCII_E, ASCII_N, ASCII_T, ASCII_I, ASCII_T, ASCII_Y, '\0' };
static const char KW_FIXED[] = { ASCII_F, ASCII_I, ASCII_X, ASCII_E, ASCII_D, '\0' };
static const char KW_ID[] = { ASCII_I, ASCII_D, '\0' };
static const char KW_IDREF[] = { ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, '\0' };
static const char KW_IDREFS[] = { ASCII_I, ASCII_D, ASCII_R, ASCII_E, ASCII_F, ASCII_S, '\0' };
static const char KW_IGNORE[] = { ASCII_I, ASCII_G, ASCII_N, ASCII_O, ASCII_R, ASCII_E, '\0' };
static const char KW_IMPLIED[] = { ASCII_I, ASCII_M, ASCII_P, ASCII_L, ASCII_I, ASCII_E, ASCII_D, '\0' };
static const char KW_INCLUDE[] = { ASCII_I, ASCII_N, ASCII_C, ASCII_L, ASCII_U, ASCII_D, ASCII_E, '\0' };
static const char KW_NDATA[] = { ASCII_N, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' };
static const char KW_NMTOKEN[] = { ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, '\0' };
static const char KW_NMTOKENS[] = { ASCII_N, ASCII_M, ASCII_T, ASCII_O, ASCII_K, ASCII_E, ASCII_N, ASCII_S, '\0' };
static const char KW_NOTATION[] = { ASCII_N, ASCII_O, ASCII_T, ASCII_A, ASCII_T, ASCII_I, ASCII_O, ASCII_N, '\0' };
static const char KW_PCDATA[] = { ASCII_P, ASCII_C, ASCII_D, ASCII_A, ASCII_T, ASCII_A, '\0' };
static const char KW_PUBLIC[] = { ASCII_P, ASCII_U, ASCII_B, ASCII_L, ASCII_I, ASCII_C, '\0' };
static const char KW_REQUIRED[] = { ASCII_R, ASCII_E, ASCII_Q, ASCII_U, ASCII_I, ASCII_R, ASCII_E, ASCII_D, '\0' };
static const char KW_SYSTEM[] = { ASCII_S, ASCII_Y, ASCII_S, ASCII_T, ASCII_E, ASCII_M, '\0' };

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

#ifdef XML_DTD
#define setTopLevel(state) \
  ((state)->handler = ((state)->documentEntity \
                       ? internalSubset \
                       : externalSubset1))
#else /* not XML_DTD */
#define setTopLevel(state) ((state)->handler = internalSubset)
#endif /* not XML_DTD */

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

static PROLOG_HANDLER
  prolog0, prolog1, prolog2,
  doctype0, doctype1, doctype2, doctype3, doctype4, doctype5,
  internalSubset,
  entity0, entity1, entity2, entity3, entity4, entity5, entity6,
  entity7, entity8, entity9,
  notation0, notation1, notation2, notation3, notation4,
  attlist0, attlist1, attlist2, attlist3, attlist4, attlist5, attlist6,
  attlist7, attlist8, attlist9,
  element0, element1, element2, element3, element4, element5, element6,
  element7,
#ifdef XML_DTD
  externalSubset0, externalSubset1,
  condSect0, condSect1, condSect2,
#endif /* XML_DTD */
  declClose,
  error;

static
int common(PROLOG_STATE *state, int tok);

static
int prolog0(PROLOG_STATE *state,
	    int tok,
	    const char *ptr,
	    const char *end,
	    const ENCODING *enc)
{
  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_NONE;
  case XML_TOK_COMMENT:
    state->handler = prolog1;
  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_NONE;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

static
int prolog1(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_PI:
  case XML_TOK_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_NONE;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

static
int prolog2(PROLOG_STATE *state,
	    int tok,
	    const char *ptr ATTR_UNUSED,
	    const char *end ATTR_UNUSED,
	    const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_PI:
  case XML_TOK_COMMENT:
    return XML_ROLE_NONE;
  case XML_TOK_INSTANCE_START:
    state->handler = error;
    return XML_ROLE_INSTANCE_START;
  }
  return common(state, tok);
}

static
int doctype0(PROLOG_STATE *state,
	     int tok,
	     const char *ptr ATTR_UNUSED,
	     const char *end ATTR_UNUSED,
	     const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_NAME:
  case XML_TOK_PREFIXED_NAME:
    state->handler = doctype1;
    return XML_ROLE_DOCTYPE_NAME;
  }
  return common(state, tok);
}

static
int doctype1(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 = internalSubset;
    return XML_ROLE_NONE;
  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_NONE;
    }
    if (XmlNameMatchesAscii(enc, ptr, end, KW_PUBLIC)) {
      state->handler = doctype2;
      return XML_ROLE_NONE;
    }
    break;
  }
  return common(state, tok);
}

static
int doctype2(PROLOG_STATE *state,
	     int tok,
	     const char *ptr ATTR_UNUSED,
	     const char *end ATTR_UNUSED,
	     const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_LITERAL:
    state->handler = doctype3;
    return XML_ROLE_DOCTYPE_PUBLIC_ID;
  }
  return common(state, tok);
}

static
int doctype3(PROLOG_STATE *state,
	     int tok,
	     const char *ptr ATTR_UNUSED,
	     const char *end ATTR_UNUSED,
	     const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_LITERAL:
    state->handler = doctype4;
    return XML_ROLE_DOCTYPE_SYSTEM_ID;
  }
  return common(state, tok);
}

static
int doctype4(PROLOG_STATE *state,
	     int tok,
	     const char *ptr ATTR_UNUSED,
	     const char *end ATTR_UNUSED,
	     const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_OPEN_BRACKET:
    state->handler = internalSubset;
    return XML_ROLE_NONE;
  case XML_TOK_DECL_CLOSE:
    state->handler = prolog2;
    return XML_ROLE_DOCTYPE_CLOSE;
  }
  return common(state, tok);
}

static
int doctype5(PROLOG_STATE *state,
	     int tok,
	     const char *ptr ATTR_UNUSED,
	     const char *end ATTR_UNUSED,
	     const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_DECL_CLOSE:
    state->handler = prolog2;
    return XML_ROLE_DOCTYPE_CLOSE;
  }
  return common(state, tok);
}

static
int internalSubset(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_DECL_OPEN:
    if (XmlNameMatchesAscii(enc,
			    ptr + 2 * MIN_BYTES_PER_CHAR(enc),
			    end,
			    KW_ENTITY)) {
      state->handler = entity0;
      return XML_ROLE_NONE;
    }
    if (XmlNameMatchesAscii(enc,
			    ptr + 2 * MIN_BYTES_PER_CHAR(enc),
			    end,
			    KW_ATTLIST)) {
      state->handler = attlist0;
      return XML_ROLE_NONE;
    }
    if (XmlNameMatchesAscii(enc,
			    ptr + 2 * MIN_BYTES_PER_CHAR(enc),
			    end,
			    KW_ELEMENT)) {
      state->handler = element0;
      return XML_ROLE_NONE;
    }
    if (XmlNameMatchesAscii(enc,
			    ptr + 2 * MIN_BYTES_PER_CHAR(enc),
			    end,
			    KW_NOTATION)) {
      state->handler = notation0;
      return XML_ROLE_NONE;
    }
    break;
  case XML_TOK_PI:
  case XML_TOK_COMMENT:
    return XML_ROLE_NONE;
  case XML_TOK_PARAM_ENTITY_REF:
    return XML_ROLE_PARAM_ENTITY_REF;
  case XML_TOK_CLOSE_BRACKET:
    state->handler = doctype5;
    return XML_ROLE_NONE;
  }
  return common(state, tok);
}

#ifdef XML_DTD

static
int externalSubset0(PROLOG_STATE *state,
		    int tok,
		    const char *ptr,
		    const char *end,
		    const ENCODING *enc)
{
  state->handler = externalSubset1;
  if (tok == XML_TOK_XML_DECL)
    return XML_ROLE_TEXT_DECL;
  return externalSubset1(state, tok, ptr, end, enc);
}

static
int externalSubset1(PROLOG_STATE *state,
		    int tok,
		    const char *ptr,
		    const char *end,
		    const ENCODING *enc)
{
  switch (tok) {
  case XML_TOK_COND_SECT_OPEN:
    state->handler = condSect0;
    return XML_ROLE_NONE;
  case XML_TOK_COND_SECT_CLOSE:
    if (state->includeLevel == 0)
      break;
    state->includeLevel -= 1;
    return XML_ROLE_NONE;
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_CLOSE_BRACKET:
    break;
  case XML_TOK_NONE:
    if (state->includeLevel)
      break;
    return XML_ROLE_NONE;
  default:
    return internalSubset(state, tok, ptr, end, enc);
  }
  return common(state, tok);
}

#endif /* XML_DTD */

static
int entity0(PROLOG_STATE *state,
	    int tok,
	    const char *ptr ATTR_UNUSED,
	    const char *end ATTR_UNUSED,
	    const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_PERCENT:
    state->handler = entity1;
    return XML_ROLE_NONE;
  case XML_TOK_NAME:
    state->handler = entity2;
    return XML_ROLE_GENERAL_ENTITY_NAME;
  }
  return common(state, tok);
}

static
int entity1(PROLOG_STATE *state,
	    int tok,
	    const char *ptr ATTR_UNUSED,
	    const char *end ATTR_UNUSED,
	    const ENCODING *enc ATTR_UNUSED)
{
  switch (tok) {
  case XML_TOK_PROLOG_S:
    return XML_ROLE_NONE;
  case XML_TOK_NAME:
    state->handler = entity7;
    return XML_ROLE_PARAM_ENTITY_NAME;
  }
  return common(state, tok);
}

static
int entity2(PROLOG_STATE *state,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品成人免费在线| 欧美午夜理伦三级在线观看| 五月天久久比比资源色| 中文字幕人成不卡一区| 日韩毛片视频在线看| 中文字幕第一页久久| 中文字幕欧美国产| 久久久久99精品国产片| 精品99一区二区三区| 久久久久久久久久美女| 国产亚洲欧美中文| 中文字幕亚洲成人| 亚洲精品乱码久久久久久| 一区二区三区不卡视频| 午夜在线电影亚洲一区| 欧美aⅴ一区二区三区视频| 久久精品国产亚洲一区二区三区| 麻豆精品国产91久久久久久| 精品一区二区三区久久| 国产大陆精品国产| 一本大道久久a久久综合婷婷| 91亚洲大成网污www| 欧美日韩国产系列| 精品毛片乱码1区2区3区| 久久精品视频一区二区三区| 亚洲婷婷国产精品电影人久久| 一区二区三区精品在线| 免费成人av在线| youjizz久久| 欧美日韩在线播放三区四区| 日韩女优制服丝袜电影| 欧美激情综合五月色丁香小说| 亚洲精品一卡二卡| 久久精品噜噜噜成人88aⅴ| 不卡av在线网| 欧美一区二区久久| 亚洲欧美日韩国产手机在线| 婷婷中文字幕综合| 成人免费视频免费观看| 91精品视频网| 亚洲欧美综合另类在线卡通| 蜜臀a∨国产成人精品| 91在线无精精品入口| 亚洲精品一区二区在线观看| 日本不卡免费在线视频| 菠萝蜜视频在线观看一区| 国产人伦精品一区二区| 亚洲精品免费播放| 久久国产视频网| 色一情一乱一乱一91av| 久久综合久久久久88| 亚洲乱码国产乱码精品精98午夜| 日本特黄久久久高潮| 东方欧美亚洲色图在线| 日韩亚洲欧美中文三级| 一区二区激情视频| 99热99精品| 精品美女一区二区| 日本在线不卡视频| 欧美亚洲动漫另类| 一区二区三区色| jiyouzz国产精品久久| 亚洲不卡一区二区三区| 国产精品伊人色| 国产高清久久久久| 亚洲精品在线电影| 蜜桃av一区二区三区| 91丨porny丨蝌蚪视频| 欧美精品一区二区三区在线| 午夜精品久久久久久久| 在线观看国产精品网站| 亚洲黄一区二区三区| 成人avav在线| 国产精品久久久久久久久免费相片| 捆绑变态av一区二区三区| 欧美一区二区免费| 爽好多水快深点欧美视频| 欧美日韩一区二区三区不卡| 亚洲精品成a人| 色综合色综合色综合| 亚洲少妇中出一区| 色婷婷激情综合| 亚洲在线免费播放| 欧美色窝79yyyycom| 亚洲成a人片在线观看中文| 欧美视频自拍偷拍| 午夜视频一区二区| 欧美一级高清片| 国产精品资源网站| 欧美激情一区二区三区全黄| 99免费精品在线| 伊人色综合久久天天| 欧美色欧美亚洲另类二区| 午夜精品一区二区三区电影天堂 | 中文av一区二区| 成人久久18免费网站麻豆 | 7777精品伊人久久久大香线蕉最新版| 亚洲电影中文字幕在线观看| 欧美精品久久一区二区三区| 久久99国产精品麻豆| 国产精品伦理在线| 欧美综合色免费| 久久国内精品视频| 亚洲欧洲韩国日本视频| 欧美日韩亚洲国产综合| 久久er精品视频| 亚洲人成在线播放网站岛国| 欧美日韩国产一区二区三区地区| 精品一区二区三区蜜桃| 国产精品成人免费在线| 欧美一区二区三区爱爱| 国产高清精品网站| 午夜精品成人在线视频| 久久综合色婷婷| 欧美日韩另类国产亚洲欧美一级| 看电影不卡的网站| 亚洲最大的成人av| 国产区在线观看成人精品| 欧美巨大另类极品videosbest | 成人av片在线观看| 视频一区欧美精品| 亚洲欧洲日韩在线| 亚洲精品在线电影| 欧美日韩一级二级三级| 成人亚洲精品久久久久软件| 日本sm残虐另类| 亚洲欧洲无码一区二区三区| 久久久亚洲精品一区二区三区| 欧美性生活久久| 成人av资源在线| 国产一区二区主播在线| 日韩av中文在线观看| 亚洲日本乱码在线观看| 欧美韩国日本综合| 91.com视频| 欧美丝袜自拍制服另类| 99久久精品国产导航| 国产成人一区在线| 久久精品国产色蜜蜜麻豆| 午夜精品久久久久久久99樱桃| 亚洲欧洲一区二区在线播放| 国产视频911| 久久久久高清精品| 久久精品欧美日韩精品| 日韩欧美的一区| 日韩欧美成人一区二区| 日韩一区二区精品在线观看| 欧美色国产精品| 欧美视频一二三区| 欧美日韩精品系列| 欧美在线观看视频一区二区| 欧美色网一区二区| 欧美男男青年gay1069videost| 欧美亚洲一区二区在线| 在线观看91视频| 欧美日韩精品欧美日韩精品一| 欧美性生活大片视频| 欧美日韩三级在线| 日韩一卡二卡三卡国产欧美| 日韩视频在线一区二区| 日韩亚洲欧美成人一区| 久久综合久久99| 国产精品你懂的| 亚洲视频一区二区在线| 亚洲激情图片一区| 丝袜亚洲另类欧美| 一本色道综合亚洲| 色狠狠色狠狠综合| 欧美日韩视频在线观看一区二区三区 | 国产网红主播福利一区二区| 久久亚洲春色中文字幕久久久| 精品处破学生在线二十三| 国产日韩欧美高清| 亚洲欧美日韩人成在线播放| 一区二区三区不卡视频在线观看| 日韩一区欧美二区| 国产精品一区在线观看你懂的| 国产91丝袜在线播放九色| 91麻豆免费视频| 欧美放荡的少妇| 国产欧美日韩不卡免费| 亚洲日本在线视频观看| 热久久一区二区| 成人性生交大片免费看在线播放| 91蝌蚪porny| 精品少妇一区二区三区在线播放| 久久久精品免费免费| 亚洲精品视频自拍| 美女脱光内衣内裤视频久久网站| 丰满白嫩尤物一区二区| 99在线视频精品| 日韩一区二区精品| 亚洲精品高清在线| 国产一区二区导航在线播放| 欧美在线免费播放| 日本一区二区免费在线观看视频| 亚洲国产毛片aaaaa无费看| 黄色日韩网站视频| 欧美精品自拍偷拍| 亚洲人吸女人奶水|