Release 1.6.1, merged in 931 to HEAD.
[htmlpurifier.git] / docs / ref-loose-vs-strict.txt
blob7828aa631c908d763912a825538f43b96156eb19
2 Loose versus Strict
3     Changes from one doctype to another
5 There are changes.  Wow, how insightful.  Not everything changed is relevant
6 to HTML Purifier, though, so let's take a look:
8 == Major incompatibilities ==
10 [done] BLOCKQUOTE changes from 'flow' to 'block'
11     current behavior: inline inner contents should not be nuked, block-ify as necessary
12 [partially-done] U, S, STRIKE cut
13     current behavior: removed completely
14     projected behavior: replace with appropriate inline span + CSS
15 [done] ADDRESS from potpourri to Inline (removes p tags)
16     current behavior: block tags silently dropped
17     ideal behavior: replace tags with something like <br>. (not high priority)
19 == Things we can loosen up ==
21 Tags DIR, MENU, CENTER, ISINDEX, FONT, BASEFONT? allowed in loose
22     current behavior: transform to strict-valid forms
23 Attributes allowed in loose (see attribute transforms in 'dev-progress.html')
24     current behavior: projected to transform into strict-valid forms
26 == Periphery issues ==
28 A tag's attribute 'target' (for selecting frames) cut
29     current behavior: not allowed at all
30     projected behavior: use loose doctype if needed, needs valid values
31 [done] OL/LI tag's attribute 'start'/'value' (for renumbering lists) cut
32     current behavior: no substitute, just delete when in strict, allow in loose
33 Attribute 'name' deprecated in favor of 'id'
34     current behavior: dropped silently
35     projected behavior: create proper AttrTransform
36 [done] PRE tag allows SUB/SUP? (strict dtd comment vs syntax, loose disallows)
37     current behavior: disallow as usual