mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-22 08:21:52 +00:00
Commit updated spec files in preparation for attributes.
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@126 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
parent
f881061d5f
commit
4c737ab430
271
docs/dtd/xhtml1-purified.dtd
Normal file
271
docs/dtd/xhtml1-purified.dtd
Normal file
@ -0,0 +1,271 @@
|
|||||||
|
<!-- Transform %TextAlign to align:value in style -->
|
||||||
|
|
||||||
|
<!-- text alignment for p, div, h1-h6. The default is
|
||||||
|
align="left" for ltr headings, "right" for rtl
|
||||||
|
|
||||||
|
Move to style! -->
|
||||||
|
<!ENTITY % TextAlign "DEPRECATED align (left|center|right|justify) #IMPLIED">
|
||||||
|
|
||||||
|
<!-- type and start should have CSS equivalents -->
|
||||||
|
<!ENTITY % ULStyle "(disc|square|circle)">
|
||||||
|
<!-- Ordered list numbering style
|
||||||
|
|
||||||
|
1 arabic numbers 1, 2, 3, ...
|
||||||
|
a lower alpha a, b, c, ...
|
||||||
|
A upper alpha A, B, C, ...
|
||||||
|
i lower roman i, ii, iii, ...
|
||||||
|
I upper roman I, II, III, ...
|
||||||
|
|
||||||
|
The style is applied to the sequence number which by default
|
||||||
|
is reset to 1 for the first list item in an ordered list.
|
||||||
|
-->
|
||||||
|
<!ENTITY % OLStyle "CDATA">
|
||||||
|
<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
|
||||||
|
<!ENTITY % LIStyle "CDATA">
|
||||||
|
|
||||||
|
<!ATTLIST ol
|
||||||
|
%attrs;
|
||||||
|
DEPRECATED type %OLStyle; #IMPLIED
|
||||||
|
DEPRECATED start %Number; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST li
|
||||||
|
%attrs;
|
||||||
|
DEPRECATED type %LIStyle; #IMPLIED
|
||||||
|
DEPRECATED value %Number; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST hr
|
||||||
|
%attrs;
|
||||||
|
DEPRECATED align (left|center|right) #IMPLIED
|
||||||
|
DEPRECATED size %Pixels; #IMPLIED
|
||||||
|
DEPRECATED width %Length; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST pre
|
||||||
|
%attrs;
|
||||||
|
DEPRECATED width %Number; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST blockquote
|
||||||
|
%attrs;
|
||||||
|
cite %URI; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST ins
|
||||||
|
%attrs;
|
||||||
|
cite %URI; #IMPLIED
|
||||||
|
datetime %Datetime; #IMPLIED
|
||||||
|
>
|
||||||
|
<!ATTLIST del
|
||||||
|
%attrs;
|
||||||
|
cite %URI; #IMPLIED
|
||||||
|
datetime %Datetime; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST a
|
||||||
|
%attrs;
|
||||||
|
name NMTOKEN #IMPLIED // ID
|
||||||
|
href %URI; #IMPLIED
|
||||||
|
rel %LinkTypes; #IMPLIED // needs policing
|
||||||
|
rev %LinkTypes; #IMPLIED // see rel
|
||||||
|
target %FrameTarget; #IMPLIED // usually not used, but might be
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST bdo
|
||||||
|
%coreattrs;
|
||||||
|
lang %LanguageCode; #IMPLIED
|
||||||
|
xml:lang %LanguageCode; #IMPLIED
|
||||||
|
dir (ltr|rtl) #REQUIRED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST br
|
||||||
|
%coreattrs;
|
||||||
|
DEPRECATED clear (left|all|right|none) "none"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ELEMENT q %Inline;> <!-- inlined quote -->
|
||||||
|
<!ATTLIST q
|
||||||
|
%attrs;
|
||||||
|
cite %URI; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST img
|
||||||
|
%attrs;
|
||||||
|
src %URI; #REQUIRED
|
||||||
|
alt %Text; #REQUIRED
|
||||||
|
DEPRECATED name NMTOKEN #IMPLIED // ID
|
||||||
|
longdesc %URI; #IMPLIED
|
||||||
|
height %Length; #IMPLIED // dubious, but we'll allow
|
||||||
|
width %Length; #IMPLIED //
|
||||||
|
DEPRECATED align %ImgAlign; #IMPLIED
|
||||||
|
DEPRECATED border %Length; #IMPLIED
|
||||||
|
DEPRECATED hspace %Pixels; #IMPLIED // left/right margin
|
||||||
|
DEPRECATED vspace %Pixels; #IMPLIED // up/down margin
|
||||||
|
>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The border attribute sets the thickness of the frame around the
|
||||||
|
table. The default units are screen pixels.
|
||||||
|
|
||||||
|
The frame attribute specifies which parts of the frame around
|
||||||
|
the table should be rendered. The values are not the same as
|
||||||
|
CALS to avoid a name clash with the valign attribute.
|
||||||
|
-->
|
||||||
|
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The rules attribute defines which rules to draw between cells:
|
||||||
|
|
||||||
|
If rules is absent then assume:
|
||||||
|
"none" if border is absent or border="0" otherwise "all"
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!ENTITY % TRules "(none | groups | rows | cols | all)">
|
||||||
|
|
||||||
|
<!-- horizontal placement of table relative to document -->
|
||||||
|
<!ENTITY % TAlign "(left|center|right)">
|
||||||
|
|
||||||
|
<!-- horizontal alignment attributes for cell contents
|
||||||
|
|
||||||
|
char alignment char, e.g. char=':'
|
||||||
|
charoff offset for alignment char
|
||||||
|
-->
|
||||||
|
<!ENTITY % cellhalign
|
||||||
|
"align (left|center|right|justify|char) #IMPLIED
|
||||||
|
char %Character; #IMPLIED
|
||||||
|
charoff %Length; #IMPLIED"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- vertical alignment attributes for cell contents -->
|
||||||
|
<!ENTITY % cellvalign
|
||||||
|
"valign (top|middle|bottom|baseline) #IMPLIED"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- we may want to convert some of these nonetheless -->
|
||||||
|
<!ATTLIST table
|
||||||
|
%attrs;
|
||||||
|
summary %Text; #IMPLIED
|
||||||
|
width %Length; #IMPLIED
|
||||||
|
border %Pixels; #IMPLIED
|
||||||
|
frame %TFrame; #IMPLIED
|
||||||
|
rules %TRules; #IMPLIED
|
||||||
|
cellspacing %Length; #IMPLIED
|
||||||
|
cellpadding %Length; #IMPLIED
|
||||||
|
DEPRECATED align %TAlign; #IMPLIED
|
||||||
|
DEPRECATED bgcolor %Color; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ENTITY % CAlign "(top|bottom|left|right)">
|
||||||
|
|
||||||
|
<!ATTLIST caption
|
||||||
|
%attrs;
|
||||||
|
DEPRECATED align %CAlign; #IMPLIED // watch, it's a special set
|
||||||
|
>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
colgroup groups a set of col elements. It allows you to group
|
||||||
|
several semantically related columns together.
|
||||||
|
-->
|
||||||
|
<!ATTLIST colgroup
|
||||||
|
%attrs;
|
||||||
|
span %Number; "1"
|
||||||
|
width %MultiLength; #IMPLIED
|
||||||
|
%cellhalign; // very interesting
|
||||||
|
%cellvalign;
|
||||||
|
>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
col elements define the alignment properties for cells in
|
||||||
|
one or more columns.
|
||||||
|
|
||||||
|
The width attribute specifies the width of the columns, e.g.
|
||||||
|
|
||||||
|
width=64 width in screen pixels
|
||||||
|
width=0.5* relative width of 0.5
|
||||||
|
|
||||||
|
The span attribute causes the attributes of one
|
||||||
|
col element to apply to more than one column.
|
||||||
|
-->
|
||||||
|
<!ATTLIST col
|
||||||
|
%attrs;
|
||||||
|
span %Number; "1"
|
||||||
|
width %MultiLength; #IMPLIED
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Use thead to duplicate headers when breaking table
|
||||||
|
across page boundaries, or for static headers when
|
||||||
|
tbody sections are rendered in scrolling panel.
|
||||||
|
|
||||||
|
Use tfoot to duplicate footers when breaking table
|
||||||
|
across page boundaries, or for static footers when
|
||||||
|
tbody sections are rendered in scrolling panel.
|
||||||
|
|
||||||
|
Use multiple tbody sections when rules are needed
|
||||||
|
between groups of table rows.
|
||||||
|
-->
|
||||||
|
<!ATTLIST thead
|
||||||
|
%attrs;
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST tfoot
|
||||||
|
%attrs;
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST tbody
|
||||||
|
%attrs;
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST tr
|
||||||
|
%attrs;
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
DEPRECATED bgcolor %Color; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- Scope is simpler than headers attribute for common tables -->
|
||||||
|
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
|
||||||
|
|
||||||
|
<!-- th is for headers, td for data and for cells acting as both -->
|
||||||
|
|
||||||
|
<!ATTLIST th
|
||||||
|
%attrs;
|
||||||
|
abbr %Text; #IMPLIED
|
||||||
|
axis CDATA #IMPLIED
|
||||||
|
headers IDREFS #IMPLIED
|
||||||
|
scope %Scope; #IMPLIED
|
||||||
|
rowspan %Number; "1"
|
||||||
|
colspan %Number; "1"
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
DEPRECATED nowrap (nowrap) #IMPLIED
|
||||||
|
DEPRECATED bgcolor %Color; #IMPLIED
|
||||||
|
DEPRECATED width %Length; #IMPLIED
|
||||||
|
DEPRECATED height %Length; #IMPLIED
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ATTLIST td
|
||||||
|
%attrs;
|
||||||
|
abbr %Text; #IMPLIED
|
||||||
|
axis CDATA #IMPLIED
|
||||||
|
headers IDREFS #IMPLIED
|
||||||
|
scope %Scope; #IMPLIED
|
||||||
|
rowspan %Number; "1"
|
||||||
|
colspan %Number; "1"
|
||||||
|
%cellhalign;
|
||||||
|
%cellvalign;
|
||||||
|
DEPRECATED nowrap (nowrap) #IMPLIED
|
||||||
|
DEPRECATED bgcolor %Color; #IMPLIED
|
||||||
|
DEPRECATED width %Length; #IMPLIED
|
||||||
|
DEPRECATED height %Length; #IMPLIED
|
||||||
|
>
|
||||||
|
|
1201
docs/dtd/xhtml1-transitional.dtd
Normal file
1201
docs/dtd/xhtml1-transitional.dtd
Normal file
File diff suppressed because it is too large
Load Diff
@ -95,6 +95,10 @@ into Data (although I don't see why we can't do that at the start).
|
|||||||
One last thing: the remove foreign elements has to do the element
|
One last thing: the remove foreign elements has to do the element
|
||||||
transformations, from FONT to SPAN, etc.
|
transformations, from FONT to SPAN, etc.
|
||||||
|
|
||||||
|
font -> span
|
||||||
|
size CDATA #IMPLIED
|
||||||
|
color %Color; #IMPLIED
|
||||||
|
face CDATA #IMPLIED
|
||||||
|
|
||||||
|
|
||||||
== STAGE 3 - make well formed ==
|
== STAGE 3 - make well formed ==
|
||||||
@ -276,6 +280,14 @@ to text when PCDATA is allowed.
|
|||||||
Note that generic child definitions are not usually desirable: we should
|
Note that generic child definitions are not usually desirable: we should
|
||||||
implement custom handlers for each one that specify the stuff correctly.
|
implement custom handlers for each one that specify the stuff correctly.
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
<!--
|
||||||
|
ins/del are allowed in block and inline content, but it is
|
||||||
|
inappropriate to include block content within an ins element
|
||||||
|
occurring in inline content.
|
||||||
|
-->
|
||||||
|
|
||||||
== STAGE 4 - check attributes ==
|
== STAGE 4 - check attributes ==
|
||||||
|
|
||||||
STATUS: N (not started)
|
STATUS: N (not started)
|
||||||
@ -332,7 +344,7 @@ Color #NNNNNN, #NNN or color name (translate it
|
|||||||
Red = #FF0000 Blue = #0000FF
|
Red = #FF0000 Blue = #0000FF
|
||||||
Purple = #800080 Teal = #008080
|
Purple = #800080 Teal = #008080
|
||||||
Fuchsia= #FF00FF Aqua = #00FFFF
|
Fuchsia= #FF00FF Aqua = #00FFFF
|
||||||
// plus some directly defined in the spec
|
// plus some directly in the spec
|
||||||
|
|
||||||
Everything else is either ID, or defined as a certain set of values.
|
Everything else is either ID, or defined as a certain set of values.
|
||||||
|
|
||||||
@ -347,6 +359,32 @@ The final problem is CSS. Get intimate with the syntax here:
|
|||||||
http://www.w3.org/TR/CSS21/syndata.html and also note the "bad" CSS elements
|
http://www.w3.org/TR/CSS21/syndata.html and also note the "bad" CSS elements
|
||||||
that HTML_Safe defines to help determine a whitelist.
|
that HTML_Safe defines to help determine a whitelist.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
<!ENTITY % coreattrs
|
||||||
|
"id ID #IMPLIED
|
||||||
|
class CDATA #IMPLIED
|
||||||
|
style %StyleSheet; #IMPLIED
|
||||||
|
title %Text; #IMPLIED"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ENTITY % i18n
|
||||||
|
"lang %LanguageCode; #IMPLIED
|
||||||
|
xml:lang %LanguageCode; #IMPLIED
|
||||||
|
dir (ltr|rtl) #IMPLIED"
|
||||||
|
>
|
||||||
|
|
||||||
|
<!ENTITY % attrs "%coreattrs; %i18n;">
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
These are the elements that only have %attrs:
|
||||||
|
ul, dl, dt, dd, address, span, em, strong, dfn, code, samp, kbd, var,
|
||||||
|
cite, abbr, acronym, sub, sup, tt, i, b, big, small, u, s, strike
|
||||||
|
|
||||||
|
These are the elements that only have %attrs and need an alignment transform
|
||||||
|
div, p, h1, h2, h3, h4, h5, h6
|
||||||
|
|
||||||
== PART 5 - stringify ==
|
== PART 5 - stringify ==
|
||||||
|
|
||||||
Status: A+ (done completely!)
|
Status: A+ (done completely!)
|
||||||
|
Loading…
Reference in New Issue
Block a user