//
// Duplicate names between elements and tags
//
// in the case where a given name applies to both an element and a tag,
// m4 requires that I diffrentiate which is which. I settled on the following
// prefixes:
//
// tag_ means I chose to rename an element
// attr_ means I chose to rename an attribute of an element
//
// I believe I made sane choices. The prefixed elements were chosen on the basis
// of which was least likely to be used, or which was deprecated, or which was
// least *frequently* used you only ever need one title element() which is provided
// in the template, but you need many title attributes in a document)
//
// the following list indicates which element/attributes got which prefix:
//
// attr_link
// link
//
// attr_abbr
// abbr
//
// cite
// tag_cite
//
// attr_code
// code
//
// dir
// tag_dir
//
// attr_label
// label
//
// attr_object
// object
//
// attr_span
// span
//
// style
// tag_style
//
// title
// tag_title
//
// tag_col
// col
// empty elements
#define base(XX) )
#define meta(XX) )
#define link(XX) )
#define hr(XX)
)
#define br(XX) )
#define basefont(XX) )
#define param(XX) )
#define img(XX) )
#define area(XX) )
#define input(XX) )
#define isindex(XX) )
#define tag_col(XX) )
// non-empty elements
#define a(XX, YY) (YY) )
#define abbr(XX, YY) (YY) )
#define acronym(XX, YY) (YY) )
#define address(XX, YY) (YY) )
#define applet(XX, YY) (YY) )
#define b(XX, YY) (YY) )
#define bdo(XX, YY) (YY) )
#define big(XX, YY) (YY) )
#define blockquote(XX, YY) (YY) )
#define body(XX, YY) (YY))
#define button(XX, YY) (YY) )
#define caption(XX, YY) (YY) )
#define center(XX, YY) (YY) )
#define tag_cite(XX, YY) (YY) )
#define code(XX, YY) (YY)
)
#define colgroup(XX, YY) (YY) )
#define dd(XX, YY) (YY) )
#define del(XX, YY) (YY))
#define dfn(XX, YY) (YY) )
#define tag_dir(XX, YY) (YY) )
#define div(XX, YY) (YY)
)
#define dl(XX, YY) (YY) )
#define dt(XX, YY) (YY) )
#define em(XX, YY) (YY) )
#define fieldset(XX, YY) (YY) )
#define font(XX, YY) (YY) )
#define form(XX, YY) )
#define h1(XX, YY) (YY) )
#define h2(XX, YY) (YY) )
#define h3(XX, YY) (YY) )
#define h4(XX, YY) (YY) )
#define h5(XX, YY) (YY) )
#define h6(XX, YY) (YY) )
#define head(XX, YY) (YY))
#define html(XX, YY) (YY))
#define i(XX, YY) (YY) )
#define iframe(XX, YY) )
#define ins(XX, YY) (YY) )
#define kbd(XX, YY) (YY) )
#define label(XX, YY) (YY) )
#define legend(XX, YY) (YY) )
#define li(XX, YY) (YY) )
#define map(XX, YY) (YY) )
#define menu(XX, YY) (YY) )
#define noframes(XX, YY) (YY) )
#define noscript(XX, YY) (YY) )
#define object(XX, YY) (YY) )
#define ol(XX, YY) (YY) )
#define optgroup(XX, YY) (YY) )
#define option(XX, YY) (YY) )
#define p(XX, YY) (YY)
)
#define pre(XX, YY) (YY) )
#define q(XX, YY) (YY) )
#define s(XX, YY) (YY) )
#define samp(XX, YY) (YY) )
#define script(XX, YY) )
#define select(XX, YY) (YY) )
#define small(XX, YY) (YY) )
#define span(XX, YY) (YY) )
#define strike(XX, YY) (YY) )
#define strong(XX, YY) (YY) )
#define style(XX, YY) )
#define sub(XX, YY) (YY) )
#define sup(XX, YY) (YY) )
#define table(XX, YY) )
#define tbody(XX, YY) (YY) )
#define td(XX, YY) (YY) )
#define textarea(XX, YY) )
#define tfoot(XX, YY) (YY) )
#define th(XX, YY) (YY) )
#define thead(XX, YY) (YY) )
#define tag_title(XX, YY) (YY) )
#define tr(XX, YY) (YY) )
#define tt(XX, YY) (YY) )
#define u(XX, YY) (YY) )
#define ul(XX, YY) )
// attributes
#define attr_abbr(XX) abbr="(XX)")
#define accept(XX) accept="(XX)")
#define acceptcharset(XX) accept-charset="(XX)")
#define accesskey(XX) accesskey="(XX)")
#define action(XX) action="(XX)")
#define align(XX) align="(XX)")
#define alink(XX) alink="(XX)")
#define alt(XX) alt="(XX)")
#define archive(XX) archive="(XX)")
#define axis(XX) axis="(XX)")
#define background(XX) background="(XX)")
#define bgcolor(XX) bgcolor="(XX)")
#define border(XX) border="(XX)")
#define cellpadding(XX) cellpadding="(XX)")
#define cellspacing(XX) cellspacing="(XX)")
#define char(XX) char="(XX)")
#define charoff(XX) charoff="(XX)")
#define charset(XX) charset="(XX)")
#define checked(XX) checked="(XX)")
#define cite(XX) cite="(XX)")
#define class(XX) class="(XX)")
#define classid(XX) classid="(XX)")
#define clear(XX) clear="(XX)")
#define attr_code(XX) code="(XX)")
#define codebase(XX) codebase="(XX)")
#define codetype(XX) codetype="(XX)")
#define color(XX) color="(XX)")
#define cols(XX) cols="(XX)")
#define colspan(XX) colspan="(XX)")
#define compact(XX) compact="(XX)")
#define content(XX) content="(XX)")
#define coords(XX) coords="(XX)")
#define data(XX) data="(XX)")
#define datetime(XX) datetime="(XX)")
#define declare(XX) declare="(XX)")
#define defer(XX) defer="(XX)")
#define dir(XX) dir="(XX)")
#define disabled(XX) disabled="(XX)")
#define enctype(XX) enctype="(XX)")
#define face(XX) face="(XX)")
#define for(XX) for="(XX)")
#define frame(XX) frame="(XX)")
#define frameborder(XX) frameborder="(XX)")
#define headers(XX) headers="(XX)")
#define height(XX) height="(XX)")
#define href(XX) href="(XX)")
#define hreflang(XX) hreflang="(XX)")
#define hspace(XX) hspace="(XX)")
#define httpequiv(XX) http-equiv="(XX)")
#define id(XX) id="(XX)")
#define ismap(XX) ismap="(XX)")
#define attr_label(XX) label="(XX)")
#define lang(XX) lang="(XX)")
#define language(XX) language="(XX)")
#define attr_link(XX) link="(XX)")
#define longdesc(XX) longdesc="(XX)")
#define marginheight(XX) marginheight="(XX)")
#define marginwidth(XX) marginwidth="(XX)")
#define maxlength(XX) maxlength="(XX)")
#define media(XX) media="(XX)")
#define method(XX) method="(XX)")
#define multiple(XX) multiple="(XX)")
#define name(XX) name="(XX)")
#define nohref(XX) nohref="(XX)")
#define noshade(XX) noshade="(XX)")
#define nowrap(XX) nowrap="(XX)")
#define attr_object(XX) object="(XX)")
#define onblur(XX) onblur="(XX)")
#define onchange(XX) onchange="(XX)")
#define onclick(XX) onclick="(XX)")
#define ondblclick(XX) ondblclick="(XX)")
#define onfocus(XX) onfocus="(XX)")
#define onkeydown(XX) onkeydown="(XX)")
#define onkeypress(XX) onkeypress="(XX)")
#define onkeyup(XX) onkeyup="(XX)")
#define onload(XX) onload="(XX)")
#define onmousedown(XX) onmousedown="(XX)")
#define onmousemove(XX) onmousemove="(XX)")
#define onmouseout(XX) onmouseout="(XX)")
#define onmouseover(XX) onmouseover="(XX)")
#define onmouseup(XX) onmouseup="(XX)")
#define onreset(XX) onreset="(XX)")
#define onselect(XX) onselect="(XX)")
#define onsubmit(XX) onsubmit="(XX)")
#define onunload(XX) onunload="(XX)")
#define profile(XX) profile="(XX)")
#define prompt(XX) prompt="(XX)")
#define readonly(XX) readonly="(XX)")
#define rel(XX) rel="(XX)")
#define rev(XX) rev="(XX)")
#define rows(XX) rows="(XX)")
#define rowspan(XX) rowspan="(XX)")
#define rules(XX) rules="(XX)")
#define scheme(XX) scheme="(XX)")
#define scope(XX) scope="(XX)")
#define scrolling(XX) scrolling="(XX)")
#define selected(XX) selected="(XX)")
#define shape(XX) shape="(XX)")
#define size(XX) size="(XX)")
#define attr_span(XX) span="(XX)")
#define src(XX) src="(XX)")
#define standby(XX) standby="(XX)")
#define start(XX) start="(XX)")
#define style(XX) style="(XX)")
#define summary(XX) summary="(XX)")
#define tabindex(XX) tabindex="(XX)")
#define target(XX) target="(XX)")
#define text(XX) text="(XX)")
#define title(XX) title="(XX)")
#define type(XX) type="(XX)")
#define usemap(XX) usemap="(XX)")
#define valign(XX) valign="(XX)")
#define value(XX) value="(XX)")
#define valuetype(XX) valuetype="(XX)")
#define vlink(XX) vlink="(XX)")
#define vspace(XX) vspace="(XX)")
#define width(XX) width="(XX)")
#define xmllang(XX) xml:lang="(XX)")
#define xmlspace(XX) xml:space="(XX)")
#define xmlns(XX) xmlns="(XX)")