1: <?php
2:
3: /**
4: * XHTML 1.1 List Module, defines list-oriented elements. Core Module.
5: */
6: class HTMLPurifier_HTMLModule_List extends HTMLPurifier_HTMLModule
7: {
8:
9: public $name = 'List';
10:
11: // According to the abstract schema, the List content set is a fully formed
12: // one or more expr, but it invariably occurs in an optional declaration
13: // so we're not going to do that subtlety. It might cause trouble
14: // if a user defines "List" and expects that multiple lists are
15: // allowed to be specified, but then again, that's not very intuitive.
16: // Furthermore, the actual XML Schema may disagree. Regardless,
17: // we don't have support for such nested expressions without using
18: // the incredibly inefficient and draconic Custom ChildDef.
19:
20: public $content_sets = array('Flow' => 'List');
21:
22: public function setup($config) {
23: $ol = $this->addElement('ol', 'List', 'Required: li', 'Common');
24: $ol->wrap = "li";
25: $ul = $this->addElement('ul', 'List', 'Required: li', 'Common');
26: $ul->wrap = "li";
27: $this->addElement('dl', 'List', 'Required: dt | dd', 'Common');
28:
29: $this->addElement('li', false, 'Flow', 'Common');
30:
31: $this->addElement('dd', false, 'Flow', 'Common');
32: $this->addElement('dt', false, 'Inline', 'Common');
33: }
34:
35: }
36:
37: // vim: et sw=4 sts=4
38: