File: HTMLPDTD.html

package info (click to toggle)
cern-httpd 3.0A-1
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 5,392 kB
  • ctags: 6,554
  • sloc: ansic: 37,902; makefile: 1,746; perl: 535; csh: 167; sh: 143
file content (233 lines) | stat: -rw-r--r-- 5,148 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
<HTML><HEAD><TITLE>The HTML PLUS DTD -- software interface in libwww
</TITLE><NEXTID N="z4"></HEAD><HEAD></HEAD><BODY><H1>
HTML Plus DTD - Software Interface</H1>SGML purists should excuse the use of
the term "DTD" in this file to represent DTD-related information which is not
exactly a DTD itself.<P>The C modular structure doesn't work very well here,
as the dtd is partly in the .h and partly in the .c which are not very
independent.
Tant pis.<P>There are a couple of HTML-specific utility routines also defined.
<PRE>
#ifndef HTMLDTD_H
#define HTMLDTD_H

#include "HTUtils.h"
#include <A HREF="SGML.html" NAME="z3">"SGML.h"</A>

</PRE><H2>Entity numbers</H2></BODY><BODY>
The entity names are defined in the C file.  This gives the number of them.
</BODY><BODY><PRE>
#define HTML_ENTITIES 66



</PRE></BODY><BODY><H2>Element Numbers</H2>Must Match all tables by element!
These include tables in <A HREF="HTMLPDTD.c" NAME="z1">HTMLPDTD.c</A> and code
in <A HREF="HTML.c" NAME="z0">HTML.c</A> .
<P>Differences from Internet Draft 00:
HTML, H7,PLAINTEXT LISTINGand XMP left in. <PRE>
typedef enum _HTMLElement {
	HTML_A, 
	HTML_ABBREV,
	HTML_ABSTRACT,
	HTML_ACRONYM,
	HTML_ADDED,
	HTML_ADDRESS,
	HTML_ARG,
	HTML_B,
	HTML_BASE,
	HTML_BLOCKQUOTE,
	HTML_BODY,
	HTML_BOX,
	HTML_BR,
	HTML_BYLINE,
	HTML_CAPTION,
	HTML_CHANGED,
	HTML_CITE,
	HTML_CMD,
	HTML_CODE,
	HTML_COMMENT,
	HTML_DD,
 	HTML_DFN,
	HTML_DIR,
 	HTML_DL,
 	HTML_DT,
	HTML_EM,
	HTML_FIG,
	HTML_FOOTNOTE,
	HTML_FORM,
	HTML_H1,
 	HTML_H2,
 	HTML_H3,
	HTML_H4,
	HTML_H5,
 	HTML_H6, 
	HTML_H7,
	HTML_HEAD,
 	HTML_HR,
	HTML_HTML,
	HTML_HTMLPLUS,
	HTML_I,
	HTML_IMAGE,
	HTML_IMG,
	HTML_INPUT,
	HTML_ISINDEX,
 	HTML_KBD,	
	HTML_L,
 	HTML_LI,
 	HTML_LINK,
	HTML_LISTING,
	HTML_LIT,
	HTML_MARGIN,
	HTML_MATH,
	HTML_MENU,
	HTML_NEXTID,
	HTML_NOTE,
	HTML_OL,
	HTML_OPTION,
	HTML_OVER,
	HTML_P,
	HTML_PERSON,
	HTML_PLAINTEXT,
	HTML_PRE,
	HTML_Q,
	HTML_QUOTE,
	HTML_RENDER,
	HTML_REMOVED,
	HTML_S,
	HTML_SAMP,
	HTML_SELECT,
	HTML_STRONG,
	HTML_SUB,
	HTML_SUP,
	HTML_TAB,
	HTML_TABLE,
	HTML_TD,
	HTML_TEXTAREA,
	HTML_TH,
	HTML_TITLE,
	HTML_TR,
	HTML_TT,
	HTML_U,
	HTML_UL,
	HTML_VAR,
	HTML_XMP }
HTMLElement;

#define HTMLP_ELEMENTS 85

</PRE><H2>Attribute numbers</H2>Identifier is
HTML_&lt;element>_&lt;attribute>. These must match the tables in <A
HREF="HTMLPDTD.c" NAME="z2">HTMLPDTD.c</A> ! <PRE>
#define HTML_A_EFFECT 		0
#define HTML_A_HREF		1
#define HTML_A_ID		2
#define HTML_A_METHODS		3
#define HTML_A_NAME 		4
#define HTML_A_PRINT		5
#define HTML_A_REL		6
#define HTML_A_REV		7
#define HTML_A_SHAPE		8	
#define HTML_A_TITLE		9
#define HTML_A_ATTRIBUTES	10

#define HTML_BASE_ATTRIBUTES	1
#define HTML_FORM_ATTRIBUTES	5

#define HTML_FIG_ATTRIBUTES	6

#define HTML_GEN_ATTRIBUTES	3

#define HTML_HTMLPLUS_ATTRIBUTES	2

#define HTML_IMAGE_ATTRIBUTES	5

#define HTML_CHANGED_ATTRIBUTES	2
#define HTML_DL_ATTRIBUTES	3

#define DL_COMPACT 0

#define HTML_IMG_ALIGN		0
#define HTML_IMG_ALT		1
#define HTML_IMG_ISMAP		2	/* Obsolete but supported */
#define HTML_IMG_SEETHRU	3

#define HTML_IMG_SRC 		4

#define HTML_IMG_ATTRIBUTES	5

#define HTML_INPUT_ALIGN	0
#define HTML_INPUT_CHECKED	1
#define HTML_INPUT_DISABLED	2
#define HTML_INPUT_ERROR	3
#define HTML_INPUT_MAX		4
#define HTML_INPUT_MIN		5
#define HTML_INPUT_NAME		6
#define HTML_INPUT_SIZE		7
#define HTML_INPUT_SRC		8
#define HTML_INPUT_TYPE		9
#define HTML_INPUT_VALUE	10
#define HTML_INPUT_ATTRIBUTES	11

#define HTML_L_ATTRIBUTES	4

#define HTML_LI_ATTRIBUTES	4
#define HTML_LIST_ATTRIBUTES	4

#define HTML_LINK_ATTRIBUTES	5

#define HTML_ID_ATTRIBUTE	1

#define HTML_NEXTID_ATTRIBUTES  1
#define HTML_NEXTID_N 0

#define HTML_NOTE_ATTRIBUTES	4

#define HTML_OPTION_ATTRIBUTES	3

/* #define HTML_PRE_WIDTH		0
  #define HTML_PRE_ATTRIBUTES	1
*/
#define HTML_RENDER_ATTRIBUTES 	2

#define HTML_SELECT_ATTRIBUTES	4
#define HTML_TAB_ATTRIBUTES	2
#define HTML_TABLE_ATTRIBUTES	4
#define HTML_TD_ATTRIBUTES	4

#define HTML_TEXTAREA_ATTRIBUTES	6

#define HTML_TH_ATTRIBUTES	4

#define HTML_UL_ATTRIBUTES	6

extern CONST SGML_dtd HTMLP_dtd;


</PRE><H2>Start anchor element</H2>It is kinda convenient to have a particular
routine for starting an anchor element,
as everything else for HTML is simple anyway. <H3>On entry</H3>targetstream
poinst to a structured stream object.<P>name and href point to attribute
strings or are NULL if the attribute is to be omitted. <PRE>
extern void HTStartAnchor PARAMS((
		HTStructured * targetstream,
		CONST char *  	name,
		CONST char *  	href));


</PRE><H2>Put image element</H2>Hopefully as useful as HTStartAnchor. <H3>
On entry</H3>targetstream point to a structured stream object.<P>src,
alt and align are omitted if they are set to NULL. <PRE>
extern void HTMLPutImg PARAMS((HTStructured *obj,
		 	       CONST char *src,
			       CONST char *alt,
			       CONST char *align));

</PRE><H2>Specify next ID to be used</H2>This is another convenience routine,
for specifying the next ID to be used by an editor in the series z1. z2,...
<PRE>
extern void HTNextID PARAMS((HTStructured * targetStream,
			CONST char * s));

#endif /* HTMLDTD_H */

</PRE>End of module definition </BODY></HTML>