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_<element>_<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>
|