HTML-DTD
view release on metacpan or search on metacpan
share/html-3.dtd view on Meta::CPAN
<!--======================== Math ========================================-->
<!-- Use     etc for greater control of spacing. -->
<!-- Subscripts and Superscripts
<SUB> and <SUP> are used for subscripts and superscripts.
i j
X <SUP>i</SUP>Y<SUP>j</SUP> is X Y
i.e. the space following the X disambiguates the binding.
The align attribute can be used for horizontal alignment,
e.g. to explicitly place an index above an element:
i
X<sup align=center>i</sup> produces X
Short references are defined for superscripts, subscripts and boxes
to save typing when manually editing HTML math, e.g.
x^2^ is mapped to x<sup>2</sup>
y_z_ is mapped to y<sub>z</sub>
{a+b} is mapped to <box>a + b</box>
Note that these only apply within the MATH element and can't be
used in normal text!
-->
<!ENTITY REF1 STARTTAG "SUP">
<!ENTITY REF2 ENDTAG "SUP">
<!ENTITY REF3 STARTTAG "SUB">
<!ENTITY REF4 ENDTAG "SUB">
<!ENTITY REF5 STARTTAG "BOX">
<!ENTITY REF6 ENDTAG "BOX">
<!USEMAP MAP1 MATH>
<!USEMAP MAP2 SUP>
<!USEMAP MAP3 SUB>
<!USEMAP MAP4 BOX>
<!SHORTREF MAP1 "^" REF1
"_" REF3
"{" REF5 >
<!SHORTREF MAP2 "^" REF2
"_" REF3
"{" REF5 >
<!SHORTREF MAP3 "_" REF4
"^" REF1
"{" REF5 >
<!SHORTREF MAP4 "}" REF6
"^" REF1
"_" REF3
"{" REF5 >
<!--
The inclusion of %math and exclusion of %notmath is used here
to alter the content model for the B, SUB and SUP elements,
to limit them to formulae rather than general text elements.
-->
<!ENTITY % mathvec "VEC|BAR|DOT|DDOT|HAT|TILDE" -- common accents -->
<!ENTITY % mathface "B|T|BT" -- control of font face -->
<!ENTITY % math "BOX|ABOVE|BELOW|%mathvec|ROOT|SQRT|ARRAY|SUB|SUP|%mathface">
<!ENTITY % formula "#PCDATA|%math">
<!ELEMENT MATH - - (#PCDATA)* -(%notmath) +(%math)>
<!ATTLIST MATH
id ID #IMPLIED
class NAMES #IMPLIED -- e.g. class=chem -->
<!-- The BOX element acts as brackets. Delimiters are optional and
stretch to match the height of the box. The OVER element is used
when you want a line between numerator and denominator. This line
is suppressed with the alternative ATOP element. CHOOSE acts like
ATOP but adds enclosing round brackets as a convenience for binomial
coefficients. Note the use of { and } as shorthand for <BOX> and
</BOX> respectively:
1 + X
{1 + X<OVER>Y} is _______
Y
a + b
{a + b<ATOP>c - d} is
c - d
The delimiters are represented using the LEFT and RIGHT
elements as in:
{[<LEFT>x + y<RIGHT>]} is [ x + y ]
{(<LEFT>a<RIGHT>]} is (a]
{||<LEFT>a<RIGHT>||} is || a ||
Use { and } for "{" and "}" respectively as
these symbols are used as shorthand for BOX, e.g.
{{<LEFT>a+b<RIGHT>}} is {a+b}
You can stretch definite integrals to match the integrand, e.g.
{∫<SUB>a</SUB><SUP>b</SUP><LEFT>{f(x)<over>1+x} dx}
b
/ f(x)
| ----- dx
/ 1 + x
a
Note the complex content model for BOX is a work around
for the absence of support for infix operators in SGML.
You can get oversize delimiters with the SIZE attribute,
for example <BOX SIZE=large>(<LEFT>...<RIGHT>)</BOX>
Note that the names of common functions are recognized
by the parser without the need to use "&" and ";" around
them, e.g. int, sum, sin, cos, tan, ...
-->
<!ELEMENT BOX - - ((%formula)*, (LEFT, (%formula)*)?,
((OVER|ATOP|CHOOSE), (%formula)*)?,
(RIGHT, (%formula)*)?)>
<!ATTLIST BOX
size (normal|medium|large|huge) normal -- oversize delims -->
<!ELEMENT (OVER|ATOP|CHOOSE|LEFT|RIGHT) - O EMPTY>
<!-- Horizontal line drawn ABOVE contents
The symbol attribute allows authors to supply
an entity name for an accent, arrow symbol etc.
Generalisation of LaTeX's overline command.
e.g. <above sym=ssmile>x</above>
places an upwardly turning curve above the "x"
-->
<!ELEMENT ABOVE - - (%formula)+>
<!ATTLIST ABOVE sym ENTITY #IMPLIED>
<!-- Horizontal line drawn BELOW contents
The symbol attribute allows authors to
supply an entity name for an arrow symbol etc.
Generalisation of LaTeX's underline command.
-->
<!ELEMENT BELOW - - (%formula)+>
<!ATTLIST BELOW sym ENTITY #IMPLIED>
<!-- Convenience tags for common accents:
vec, bar, dot, ddot, hat and tilde
-->
<!ELEMENT (%mathvec) - - (%formula)+>
<!--
T and BT are used to designate terms which should
be rendered in an upright font (& bold face for BT)
-->
<!ELEMENT (T|BT) - - (%formula)+>
<!ATTLIST (T|BT) class NAMES #IMPLIED>
<!-- Roots e.g. <ROOT>3<OF>1+x</ROOT> -->
<!ELEMENT ROOT - - ((%formula)+, OF, (%formula)+)>
<!ELEMENT OF - O (%formula)* -- what the root applies to -->
<!ELEMENT SQRT - - (%formula)* -- square root convenience tag -->
<!-- LaTeX like arrays. The COLDEF attribute specifies
a single capital letter for each column determining
how the column should be aligned, e.g. coldef="CCC"
"L" left
"C" center
"R" right
An optional separator letter can occur between columns
and should be one of + - or =, e.g. "C+C+C+C=C".
Whitespace within coldef is ignored. By default, the
columns are all centered.
The ALIGN attribute alters the vertical position of the
array as compared with preceding and following expressions.
Use LDELIM and RDELIM attributes for delimiter entities.
When the LABELS attribute is present, the array is
displayed with the first row and the first column as
labels displaced from the other elements. In this case,
the first element of the first row should normally be
left blank.
Use &vdots; &cdots; and &ddots; for vertical, horizontal
and diagonal ellipsis dots. Use &dotfill; to fill an array
cell with horizontal dots (e.g. for a full row).
Note &ldots; places the dots on the baseline, while &cdots;
places them higher up.
-->
<!ELEMENT ARRAY - - (ROW)+>
<!ATTLIST ARRAY
align (top|middle|bottom) middle -- vertical alignment --
coldef CDATA #IMPLIED -- column alignment and separator --
ldelim CDATA #IMPLIED -- stretchy left delimiter --
rdelim CDATA #IMPLIED -- stretchy right delimiter --
labels (labels) #IMPLIED -- TeX's \bordermatrix style -->
<!ELEMENT ROW - O (ITEM)*>
<!ELEMENT ITEM - O (%formula)*>
<!ATTLIST ITEM
align CDATA #IMPLIED -- override coldef alignment --
colspan NUMBER 1 -- merge columns as per TABLE --
rowspan NUMBER 1 -- merge rows as per TABLE -->
<!--================ Document Head ========================================-->
<![ %HTML.Deprecated [
<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
& META* & LINK* & RANGE* & NEXTID?">
]]>
<!ENTITY % head.nextid "">
<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & STYLE?
& META* & LINK* & RANGE*">
<!ELEMENT HEAD O O (%head.content)>
<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
href %URI #REQUIRED
%linkExtraAttributes; >
<!ELEMENT RANGE - O EMPTY>
<!ATTLIST RANGE
id ID #IMPLIED -- for naming marked range --
class NAMES #IMPLIED -- for subclassing --
from IDREF #REQUIRED -- start of marked range --
until IDREF #REQUIRED -- end of marked range --
>
<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
href %URI #IMPLIED -- server handling queries --
prompt CDATA #IMPLIED -- prompt message -->
<!--
The BASE element gives the base URL for
dereferencing relative URLs, e.g.
<BASE href="http://foo.com/images">
...
<IMG SRC="bar.gif">
The image is deferenced to
http://foo.com/images/bar.gif
-->
<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
id ID #IMPLIED
href %URI; #REQUIRED
>
<![ %HTML.Deprecated [
<!ELEMENT NEXTID - O EMPTY>
<!ATTLIST NEXTID N CDATA #REQUIRED>
]]>
( run in 1.115 second using v1.01-cache-2.11-cpan-39bf76dae61 )