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

📄 htmlpdtd.c

📁 www工具包. 这是W3C官方支持的www支撑库. 其中提供通用目的的客户端的WebAPI: complete HTTP/1.1 (with caching, pipelining, PUT, POS
💻 C
📖 第 1 页 / 共 2 页
字号:
/*								     HTMLPDTD.c**	STATIC DTD FOR HTML (with frame support)****	(c) COPYRIGHT MIT 1995.**	Please first read the full copyright statement in the file COPYRIGH.**	@(#) $Id: HTMLPDTD.c,v 2.32 1999/07/22 23:57:44 raff Exp $****	 6 Nov 93	MD	Increased size of img_attr array to make space**  				for terminator.*//* Library include files */#include "wwwsys.h"#include "HTUtils.h"#include "HTMLPDTD.h"struct _HTStructured {    HTStructuredClass * isa;	/* ... */};/***	ENTITY NAMES**	This table must be matched exactly with ALL the translation tables*/PRIVATE const char* entities[HTML_ENTITIES] = {/* 00 */  "AElig",	/* capital AE diphthong (ligature) */   "Aacute",	/* capital A, acute accent */   "Acirc",	/* capital A, circumflex accent */   "Agrave",	/* capital A, grave accent */   "Aring",	/* capital A, ring */   "Atilde",	/* capital A, tilde */   "Auml",	/* capital A, dieresis or umlaut mark */   "Ccedil",	/* capital C, cedilla */   "ETH",	/* capital Eth, Icelandic */   "Eacute",	/* capital E, acute accent */ /* 10 */  "Ecirc",	/* capital E, circumflex accent */   "Egrave",	/* capital E, grave accent */   "Euml",	/* capital E, dieresis or umlaut mark */   "Iacute",	/* capital I, acute accent */   "Icirc",	/* capital I, circumflex accent */   "Igrave",	/* capital I, grave accent */   "Iuml",	/* capital I, dieresis or umlaut mark */   "Ntilde",	/* capital N, tilde */   "Oacute",	/* capital O, acute accent */   "Ocirc",	/* capital O, circumflex accent */ /* 20 */  "Ograve",	/* capital O, grave accent */   "Oslash",	/* capital O, slash */   "Otilde",	/* capital O, tilde */   "Ouml",	/* capital O, dieresis or umlaut mark */   "THORN",	/* capital THORN, Icelandic */   "Uacute",	/* capital U, acute accent */   "Ucirc",	/* capital U, circumflex accent */   "Ugrave",	/* capital U, grave accent */   "Uuml",	/* capital U, dieresis or umlaut mark */   "Yacute",	/* capital Y, acute accent */ /* 30 */  "aacute",	/* small a, acute accent */   "acirc",	/* small a, circumflex accent */   "acute",	/* acute accent */  "aelig",	/* small ae diphthong (ligature) */   "agrave",	/* small a, grave accent */   "amp",	/* ampersand */   "aring",	/* small a, ring */   "atilde",	/* small a, tilde */   "auml",	/* small a, dieresis or umlaut mark */   "brvbar",	/* broken vertical bar *//* 40 */  "ccedil",	/* small c, cedilla */   "cedil",	/* cedilla */  "cent",	/* cent sign */  "copy",	/* copyright */  "curren",	/* general currency sign */  "deg",	/* degree sign */  "divide",	/* division sign */  "eacute",	/* small e, acute accent */   "ecirc",	/* small e, circumflex accent */   "egrave",	/* small e, grave accent */ /* 50 */  "eth",	/* small eth, Icelandic */   "euml",	/* small e, dieresis or umlaut mark */   "frac12",	/* fraction one-half */  "frac14",	/* fraction one-fourth */  "frac34",	/* fraction three-fourth */  "gt",		/* greater than */   "iacute",	/* small i, acute accent */   "icirc",	/* small i, circumflex accent */   "iexcl",	/* inverted exclamation */  "igrave",	/* small i, grave accent */ /* 60 */  "iquest",	/* inverted question mark */  "iuml",	/* small i, dieresis or umlaut mark */   "laquo",	/* left angle quote */  "lt",		/* less than */   "macr",	/* macron accent */  "micro",	/* micro sign (greek mu) */  "middot",	/* middle dot */  "nbsp",	/* non breaking space */  "not",	/* not sign */  "ntilde",	/* small n, tilde */ /* 70 */  "oacute",	/* small o, acute accent */   "ocirc",	/* small o, circumflex accent */   "ograve",	/* small o, grave accent */   "ordf",	/* feminine ordinal */  "ordm",	/* masculine ordinal */  "oslash",	/* small o, slash */   "otilde",	/* small o, tilde */   "ouml",	/* small o, dieresis or umlaut mark */  "para",	/* paragraph sign */  "plusmn",	/* plus or minus *//* 80 */  "pound",	/* pound sign */  "quot",	/* double quote sign  - June 1994 */   "raquo",	/* right angle quote */  "reg",	/* registered trademark */  "sect",	/* section sign */  "shi",	/* soft hyphen */  "sup1",	/* superscript 1 */  "sup2",	/* superscript 2 */  "sup3",	/* superscript 3 */  "szlig",	/* small sharp s, German (sz ligature) */ /* 90 */  "thorn",	/* small thorn, Icelandic */   "times",	/* multiply sign */  "uacute",	/* small u, acute accent */   "ucirc",	/* small u, circumflex accent */   "ugrave",	/* small u, grave accent */   "uml",	/* dieresis or umlaut mark */  "uuml",	/* small u, dieresis or umlaut mark */   "yacute",	/* small y, acute accent */   "yen",	/* yen sign */  "yuml"	/* small y, dieresis or umlaut mark */ /* 100 */};/***	ATTRIBUTE DEFINITION MACROS (see HTMLPDTD.h)*//* * redefine the macros, so that the "stringized" attribute name * is generated */#undef	HTML_ATTR#define	HTML_ATTR(t,a)		{ #a }#undef	HTML_ATTRIBUTES#define	HTML_ATTRIBUTES(t)	{ 0 }/***	ATTRIBUTE LISTS*/PRIVATE HTAttr no_attr[1] = 	{{ 0 }};PRIVATE HTAttr body_attr[HTML_BODY_ATTRIBUTES+1] = {	/* to catch images */	HTML_ATTR(BODY,ALINK),	HTML_ATTR(BODY,BACKGROUND),	HTML_ATTR(BODY,BGCOLOR),	HTML_ATTR(BODY,CLASS),	HTML_ATTR(BODY,DIR),	HTML_ATTR(BODY,ID),	HTML_ATTR(BODY,LANG),	HTML_ATTR(BODY,LINK),	HTML_ATTR(BODY,STYLE),	HTML_ATTR(BODY,TEXT),	HTML_ATTR(BODY,TITLE),	HTML_ATTR(BODY,VLINK),	HTML_ATTRIBUTES(BODY)};	PRIVATE HTAttr frame_attr[HTML_FRAME_ATTRIBUTES+1] = {	/* frame attributes */	HTML_ATTR(FRAME,CLASS),	HTML_ATTR(FRAME,FRAMEBORDER),	HTML_ATTR(FRAME,ID),	HTML_ATTR(FRAME,NAME),	HTML_ATTR(FRAME,MARGINHEIGHT),	HTML_ATTR(FRAME,MARGINWIDTH),	HTML_ATTR(FRAME,NORESIZE),	HTML_ATTR(FRAME,LONGDESC),	HTML_ATTR(FRAME,SCROLLING),	HTML_ATTR(FRAME,SRC),	HTML_ATTR(FRAME,STYLE),	HTML_ATTR(FRAME,TARGET),	HTML_ATTR(FRAME,TITLE),	HTML_ATTRIBUTES(FRAME)};PRIVATE HTAttr frameset_attr[HTML_FRAMESET_ATTRIBUTES+1] = { /* frameset attributes */	HTML_ATTR(FRAMESET,CLASS),	HTML_ATTR(FRAMESET,COLS),	HTML_ATTR(FRAMESET,ID),	HTML_ATTR(FRAMESET,ROWS),	HTML_ATTR(FRAMESET,STYLE),	HTML_ATTR(FRAMESET,TITLE),	HTML_ATTRIBUTES(FRAMESET)};PRIVATE HTAttr a_attr[HTML_A_ATTRIBUTES+1] = {		/* Anchor attributes */	HTML_ATTR(A,ACCESSKEY),	HTML_ATTR(A,CHARSET),	HTML_ATTR(A,CLASS),	HTML_ATTR(A,COORDS),	HTML_ATTR(A,DIR),	HTML_ATTR(A,HREF),	HTML_ATTR(A,HREFLANG),	HTML_ATTR(A,ID),	HTML_ATTR(A,NAME),	HTML_ATTR(A,REL),	HTML_ATTR(A,REV),	HTML_ATTR(A,SHAPE),	HTML_ATTR(A,STYLE),	HTML_ATTR(A,TABINDEX),	HTML_ATTR(A,TARGET),	HTML_ATTR(A,TYPE),	HTML_ATTR(A,TITLE),	HTML_ATTRIBUTES(A)};	PRIVATE HTAttr applet_attr[HTML_APPLET_ATTRIBUTES+1] = {	HTML_ATTR(APPLET,ALIGN),	HTML_ATTR(APPLET,ALT),	HTML_ATTR(APPLET,ARCHIVE),	HTML_ATTR(APPLET,CLASS),	HTML_ATTR(APPLET,CODE),	HTML_ATTR(APPLET,CODEBASE),	HTML_ATTR(APPLET,HEIGHT),	HTML_ATTR(APPLET,HSPACE),	HTML_ATTR(APPLET,ID),	HTML_ATTR(APPLET,NAME),	HTML_ATTR(APPLET,OBJECT),	HTML_ATTR(APPLET,STYLE),	HTML_ATTR(APPLET,TITLE),	HTML_ATTR(APPLET,VSPACE),	HTML_ATTR(APPLET,WIDTH),	HTML_ATTRIBUTES(APPLET)};PRIVATE HTAttr area_attr[HTML_AREA_ATTRIBUTES+1] = {		/* Area attributes */	HTML_ATTR(AREA,ACCESSKEY),	HTML_ATTR(AREA,ALT),	HTML_ATTR(AREA,CLASS),	HTML_ATTR(AREA,COORDS),	HTML_ATTR(AREA,DIR),	HTML_ATTR(AREA,HREF),	HTML_ATTR(AREA,ID),	HTML_ATTR(AREA,NAME),	HTML_ATTR(AREA,NOHREF),	HTML_ATTR(AREA,LANG),	HTML_ATTR(AREA,SHAPE),	HTML_ATTR(AREA,STYLE),	HTML_ATTR(AREA,TABINDEX),	HTML_ATTR(AREA,TARGET),	HTML_ATTR(AREA,TITLE),	HTML_ATTRIBUTES(AREA)};	PRIVATE HTAttr base_attr[HTML_BASE_ATTRIBUTES+1] = {	/* BASE attributes */	HTML_ATTR(BASE,HREF),        HTML_ATTR(BASE,TARGET),        HTML_ATTRIBUTES(BASE)};	PRIVATE HTAttr bdo_attr[HTML_BDO_ATTRIBUTES+1] = {	HTML_ATTR(BDO,CLASS),	HTML_ATTR(BDO,DIR),	HTML_ATTR(BDO,ID),	HTML_ATTR(BDO,LANG),	HTML_ATTR(BDO,STYLE),	HTML_ATTR(BDO,TITLE),	HTML_ATTRIBUTES(BDO)};PRIVATE HTAttr bq_attr[HTML_BQ_ATTRIBUTES+1] = {	HTML_ATTR(BQ,CITE),	HTML_ATTR(BQ,CLASS),	HTML_ATTR(BQ,DIR),	HTML_ATTR(BQ,ID),	HTML_ATTR(BQ,LANG),	HTML_ATTR(BQ,STYLE),	HTML_ATTR(BQ,TITLE),	HTML_ATTRIBUTES(BQ)};PRIVATE HTAttr br_attr[HTML_BR_ATTRIBUTES+1] = {	HTML_ATTR(BR,CLASS),	HTML_ATTR(BR,CLEAR),	HTML_ATTR(BR,ID),	HTML_ATTR(BR,STYLE),	HTML_ATTR(BR,TITLE),	HTML_ATTRIBUTES(BR)};PRIVATE HTAttr button_attr[HTML_BUTTON_ATTRIBUTES+1] = {	HTML_ATTR(BUTTON,ACCESSKEY),	HTML_ATTR(BUTTON,CLASS),	HTML_ATTR(BUTTON,DIR),	HTML_ATTR(BUTTON,DISABLED),	HTML_ATTR(BUTTON,ID),	HTML_ATTR(BUTTON,LANG),	HTML_ATTR(BUTTON,NAME),	HTML_ATTR(BUTTON,STYLE),	HTML_ATTR(BUTTON,TABINDEX),	HTML_ATTR(BUTTON,TITLE),	HTML_ATTR(BUTTON,TYPE),	HTML_ATTR(BUTTON,VALUE),	HTML_ATTRIBUTES(BUTTON),};PRIVATE HTAttr col_attr[HTML_COL_ATTRIBUTES+1] = {	HTML_ATTR(COL,CLASS),	HTML_ATTR(COL,DIR),	HTML_ATTR(COL,ID),	HTML_ATTR(COL,LANG),	HTML_ATTR(COL,SPAN),	HTML_ATTR(COL,STYLE),	HTML_ATTR(COL,TITLE),	HTML_ATTR(COL,WIDTH),	HTML_ATTRIBUTES(COL)};PRIVATE HTAttr changes_attr[HTML_CHANGES_ATTRIBUTES+1] = {	HTML_ATTR(CHANGES,CITE),	HTML_ATTR(CHANGES,CLASS),	HTML_ATTR(CHANGES,DATETIME),	HTML_ATTR(CHANGES,DIR),	HTML_ATTR(CHANGES,ID),	HTML_ATTR(CHANGES,LANG),	HTML_ATTR(CHANGES,STYLE),	HTML_ATTR(CHANGES,TITLE),	HTML_ATTRIBUTES(CHANGES)};PRIVATE HTAttr font_attr[HTML_FONT_ATTRIBUTES+1] = {	HTML_ATTR(FONT,CLASS),	HTML_ATTR(FONT,COLOR),	HTML_ATTR(FONT,DIR),	HTML_ATTR(FONT,FACE),	HTML_ATTR(FONT,ID),	HTML_ATTR(FONT,LANG),	HTML_ATTR(FONT,SIZE),	HTML_ATTR(FONT,STYLE),	HTML_ATTR(FONT,TITLE),	HTML_ATTRIBUTES(FONT)};PRIVATE HTAttr form_attr[HTML_FORM_ATTRIBUTES+1] = {	HTML_ATTR(FORM,ACCEPT),	{ "ACCEPT-CHARSET" }, /* HTML_ATTR(FORM,ACCEPT_CHARSET) */	HTML_ATTR(FORM,ACTION),	HTML_ATTR(FORM,CLASS),	HTML_ATTR(FORM,DIR),	HTML_ATTR(FORM,ENCTYPE),	HTML_ATTR(FORM,ID),	HTML_ATTR(FORM,LANG),	HTML_ATTR(FORM,METHOD),	HTML_ATTR(FORM,STYLE),	HTML_ATTR(FORM,TARGET),	HTML_ATTR(FORM,TITLE),	HTML_ATTRIBUTES(FORM)};PRIVATE HTAttr gen_attr[HTML_GEN_ATTRIBUTES+1] = { /* General, for many things */	HTML_ATTR(GEN,CLASS),	HTML_ATTR(GEN,DIR),	HTML_ATTR(GEN,ID),	HTML_ATTR(GEN,LANG),	HTML_ATTR(GEN,STYLE),	HTML_ATTR(GEN,TITLE),	HTML_ATTRIBUTES(GEN)};PRIVATE HTAttr block_attr[HTML_BLOCK_ATTRIBUTES+1] = { /* DIV, SPAN, H1-H6 */	HTML_ATTR(BLOCK,ALIGN),	HTML_ATTR(BLOCK,CLASS),	HTML_ATTR(BLOCK,DIR),	HTML_ATTR(BLOCK,ID),	HTML_ATTR(BLOCK,LANG),	HTML_ATTR(BLOCK,STYLE),	HTML_ATTR(BLOCK,TITLE),	HTML_ATTRIBUTES(BLOCK)};PRIVATE HTAttr head_attr[HTML_HEAD_ATTRIBUTES+1] = {	HTML_ATTR(HEAD,DIR),	HTML_ATTR(HEAD,LANG),	HTML_ATTR(HEAD,PROFILE),	HTML_ATTRIBUTES(HEAD)};PRIVATE HTAttr hr_attr[HTML_HR_ATTRIBUTES+1] = {	HTML_ATTR(HR,ALIGN),	HTML_ATTR(HR,CLASS),	HTML_ATTR(HR,DIR),	HTML_ATTR(HR,ID),	HTML_ATTR(HR,LANG),	HTML_ATTR(HR,NOSHADE),	HTML_ATTR(HR,SIZE),	HTML_ATTR(HR,STYLE),	HTML_ATTR(HR,TITLE),	HTML_ATTR(HR,WIDTH),	HTML_ATTRIBUTES(HR)};PRIVATE HTAttr html_attr[HTML_HTML_ATTRIBUTES+1] = {	HTML_ATTR(HTML,DIR),	HTML_ATTR(HTML,LANG),	HTML_ATTR(HTML,VERSION),	HTML_ATTRIBUTES(HTML)};PRIVATE HTAttr iframe_attr[HTML_IFRAME_ATTRIBUTES+1] = {	HTML_ATTR(IFRAME,ALIGN),	HTML_ATTR(IFRAME,CLASS),	HTML_ATTR(IFRAME,FRAMEBORDER),	HTML_ATTR(IFRAME,HEIGHT),	HTML_ATTR(IFRAME,ID),	HTML_ATTR(IFRAME,LONGDESC),	HTML_ATTR(IFRAME,MARGINHEIGHT),	HTML_ATTR(IFRAME,MARGINWIDTH),	HTML_ATTR(IFRAME,NAME),	HTML_ATTR(IFRAME,SCROLLING),	HTML_ATTR(IFRAME,SRC),	HTML_ATTR(IFRAME,STYLE),	HTML_ATTR(IFRAME,TARGET),	HTML_ATTR(IFRAME,TITLE),	HTML_ATTR(IFRAME,WIDTH),	HTML_ATTRIBUTES(IFRAME)};PRIVATE HTAttr img_attr[HTML_IMG_ATTRIBUTES+1] = {	/* IMG attributes */	HTML_ATTR(IMG,ALIGN),	HTML_ATTR(IMG,ALT),	HTML_ATTR(IMG,BORDER),	HTML_ATTR(IMG,CLASS),	HTML_ATTR(IMG,DIR),	HTML_ATTR(IMG,HEIGHT),	HTML_ATTR(IMG,HSPACE),	HTML_ATTR(IMG,ID),	HTML_ATTR(IMG,ISMAP),	HTML_ATTR(IMG,LANG),	HTML_ATTR(IMG,LONGDESC),	HTML_ATTR(IMG,SRC),	HTML_ATTR(IMG,STYLE),	HTML_ATTR(IMG,TITLE),	HTML_ATTR(IMG,USEMAP),	HTML_ATTR(IMG,VSPACE),	HTML_ATTR(IMG,WIDTH),	HTML_ATTRIBUTES(IMG)};	PRIVATE HTAttr input_attr[HTML_INPUT_ATTRIBUTES+1] = {	HTML_ATTR(INPUT,ACCEPT),	HTML_ATTR(INPUT,ACCESSKEY),	HTML_ATTR(INPUT,ALIGN),	HTML_ATTR(INPUT,ALT),	HTML_ATTR(INPUT,CHECKED),	HTML_ATTR(INPUT,CLASS),	HTML_ATTR(INPUT,DIR),	HTML_ATTR(INPUT,DISABLED),	HTML_ATTR(INPUT,ID),	HTML_ATTR(INPUT,LANG),	HTML_ATTR(INPUT,MAXLENGTH),	HTML_ATTR(INPUT,NAME),	HTML_ATTR(INPUT,READONLY),	HTML_ATTR(INPUT,SIZE),	HTML_ATTR(INPUT,SRC),	HTML_ATTR(INPUT,STYLE),	HTML_ATTR(INPUT,TABINDEX),	HTML_ATTR(INPUT,TITLE),	HTML_ATTR(INPUT,TYPE),	HTML_ATTR(INPUT,USEMAP),	HTML_ATTR(INPUT,VALUE),	HTML_ATTRIBUTES(INPUT)};PRIVATE HTAttr isindex_attr[HTML_ISINDEX_ATTRIBUTES+1] = {	HTML_ATTR(ISINDEX,CLASS),	HTML_ATTR(ISINDEX,DIR),	HTML_ATTR(ISINDEX,ID),	HTML_ATTR(ISINDEX,LANG),	HTML_ATTR(ISINDEX,PROMPT),	HTML_ATTR(ISINDEX,STYLE),	HTML_ATTR(ISINDEX,TITLE),	HTML_ATTRIBUTES(ISINDEX)};PRIVATE HTAttr label_attr[HTML_LABEL_ATTRIBUTES+1] = {	HTML_ATTR(LABEL,ACCESSKEY),	HTML_ATTR(LABEL,CLASS),

⌨️ 快捷键说明

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