Release 2.0.1, merged in 1181 to HEAD.
[htmlpurifier.git] / smoketests / testSchema.php
blob6e8bc74b5d43c193a96a2c2b71fb3f4c8e94b0ca
1 <?php
3 // overload default configuration schema temporarily
4 $custom_schema = new HTMLPurifier_ConfigSchema();
5 $old = HTMLPurifier_ConfigSchema::instance();
6 $custom_schema =& HTMLPurifier_ConfigSchema::instance($custom_schema);
8 HTMLPurifier_ConfigSchema::defineNamespace('Element', 'Chemical substances that cannot be further decomposed');
10 HTMLPurifier_ConfigSchema::define('Element', 'Abbr', 'H', 'string', 'Abbreviation of element name.');
11 HTMLPurifier_ConfigSchema::define('Element', 'Name', 'hydrogen', 'istring', 'Full name of atoms.');
12 HTMLPurifier_ConfigSchema::define('Element', 'Number', 1, 'int', 'Atomic number, is identity.');
13 HTMLPurifier_ConfigSchema::define('Element', 'Mass', 1.00794, 'float', 'Atomic mass.');
14 HTMLPurifier_ConfigSchema::define('Element', 'Radioactive', false, 'bool', 'Does it have rapid decay?');
15 HTMLPurifier_ConfigSchema::define('Element', 'Isotopes', array('1' => true, '2' => true, '3' => true), 'lookup',
16 'What numbers of neutrons for this element have been observed?');
17 HTMLPurifier_ConfigSchema::define('Element', 'Traits', array('nonmetallic', 'odorless', 'flammable'), 'list',
18 'What are general properties of the element?');
19 HTMLPurifier_ConfigSchema::define('Element', 'IsotopeNames', array('1' => 'protium', '2' => 'deuterium', '3' => 'tritium'), 'hash',
20 'Lookup hash of neutron counts to formal names.');
22 HTMLPurifier_ConfigSchema::defineNamespace('Instrument', 'Of the musical type.');
24 HTMLPurifier_ConfigSchema::define('Instrument', 'Manufacturer', 'Yamaha', 'string', 'Who made it?');
25 HTMLPurifier_ConfigSchema::defineAllowedValues('Instrument', 'Manufacturer', array(
26 'Yamaha', 'Conn-Selmer', 'Vandoren', 'Laubin', 'Buffet', 'other'));
27 HTMLPurifier_ConfigSchema::defineValueAliases('Instrument', 'Manufacturer', array(
28 'Selmer' => 'Conn-Selmer'));
30 HTMLPurifier_ConfigSchema::define('Instrument', 'Family', 'woodwind', 'istring', 'What family is it?');
31 HTMLPurifier_ConfigSchema::defineAllowedValues('Instrument', 'Family', array(
32 'brass', 'woodwind', 'percussion', 'string', 'keyboard', 'electronic'));
33 HTMLPurifier_ConfigSchema::defineValueAliases('Instrument', 'Family', array(
34 'synth' => 'electronic'));
36 HTMLPurifier_ConfigSchema::defineNamespace('ReportCard', 'It is for grades.');
37 HTMLPurifier_ConfigSchema::define('ReportCard', 'English', null, 'string/null', 'Grade from English class.');
38 HTMLPurifier_ConfigSchema::define('ReportCard', 'Absences', 0, 'int', 'How many times missing from school?');