1<?php
2/*************************************************************************************
3 * html4strict.php
4 * ---------------
5 * Author: Nigel McNie (nigel@geshi.org)
6 * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
7 * Release Version: 1.0.9.1
8 * Date Started: 2004/07/10
9 *
10 * HTML 4.01 strict language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2005/12/28 (1.0.4)
15 *   -  Removed escape character for strings
16 * 2004/11/27 (1.0.3)
17 *   -  Added support for multiple object splitters
18 * 2004/10/27 (1.0.2)
19 *   -  Added support for URLs
20 * 2004/08/05 (1.0.1)
21 *   -  Added INS and DEL
22 *   -  Removed the background colour from tags' styles
23 * 2004/07/14 (1.0.0)
24 *   -  First Release
25 *
26 * TODO (updated 2004/11/27)
27 * -------------------------
28 * * Check that only HTML4 strict attributes are highlighted
29 * * Eliminate empty tags that aren't allowed in HTML4 strict
30 * * Split to several files - html4trans, xhtml1 etc
31 *
32 *************************************************************************************
33 *
34 *     This file is part of GeSHi.
35 *
36 *   GeSHi is free software; you can redistribute it and/or modify
37 *   it under the terms of the GNU General Public License as published by
38 *   the Free Software Foundation; either version 2 of the License, or
39 *   (at your option) any later version.
40 *
41 *   GeSHi is distributed in the hope that it will be useful,
42 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
43 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
44 *   GNU General Public License for more details.
45 *
46 *   You should have received a copy of the GNU General Public License
47 *   along with GeSHi; if not, write to the Free Software
48 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
49 *
50 ************************************************************************************/
51
52$language_data = array (
53    'LANG_NAME' => 'HTML',
54    'COMMENT_SINGLE' => array(),
55    'COMMENT_MULTI' => array(),
56    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
57    'QUOTEMARKS' => array("'", '"'),
58    'ESCAPE_CHAR' => '',
59    'KEYWORDS' => array(
60        2 => array(
61            'a', 'abbr', 'acronym', 'address', 'applet', 'area',
62            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
63            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
64            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
65            'em',
66            'fieldset', 'font', 'form', 'frame', 'frameset',
67            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
68            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
69            'kbd',
70            'label', 'legend', 'link', 'li',
71            'map', 'meta',
72            'noframes', 'noscript',
73            'object', 'ol', 'optgroup', 'option',
74            'param', 'pre', 'p',
75            'q',
76            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
77            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
78            'ul', 'u',
79            'var',
80            ),
81        3 => array(
82            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
83            'background', 'bgcolor', 'border',
84            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
85            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
86            'enctype',
87            'face', 'for', 'frame', 'frameborder',
88            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
89            'id', 'ismap',
90            'label', 'lang', 'language', 'link', 'longdesc',
91            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
92            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
93            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
94            'profile', 'prompt',
95            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
96            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
97            'tabindex', 'target', 'text', 'title', 'type',
98            'usemap',
99            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
100            'width'
101            )
102        ),
103    'SYMBOLS' => array(
104        '/', '='
105        ),
106    'CASE_SENSITIVE' => array(
107        GESHI_COMMENTS => false,
108        2 => false,
109        3 => false,
110        ),
111    'STYLES' => array(
112        'KEYWORDS' => array(
113            2 => 'color: #000000; font-weight: bold;',
114            3 => 'color: #000066;'
115            ),
116        'COMMENTS' => array(
117            ),
118        'ESCAPE_CHAR' => array(
119            0 => 'color: #000099; font-weight: bold;'
120            ),
121        'BRACKETS' => array(
122            0 => 'color: #66cc66;'
123            ),
124        'STRINGS' => array(
125            0 => 'color: #ff0000;'
126            ),
127        'NUMBERS' => array(
128            0 => 'color: #cc66cc;'
129            ),
130        'METHODS' => array(
131            ),
132        'SYMBOLS' => array(
133            0 => 'color: #66cc66;'
134            ),
135        'SCRIPT' => array(
136            -2 => 'color: #404040;', // CDATA
137            -1 => 'color: #808080; font-style: italic;', // comments
138            0 => 'color: #00bbdd;',
139            1 => 'color: #ddbb00;',
140            2 => 'color: #009900;'
141            ),
142        'REGEXPS' => array(
143            )
144        ),
145    'URLS' => array(
146        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
147        3 => ''
148        ),
149    'OOLANG' => false,
150    'OBJECT_SPLITTERS' => array(
151        ),
152    'REGEXPS' => array(
153        ),
154    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
155    'SCRIPT_DELIMITERS' => array(
156        -2 => array(
157            '<![CDATA[' => ']]>'
158            ),
159        -1 => array(
160            '<!--' => '-->'
161            ),
162        0 => array(
163            '<!DOCTYPE' => '>'
164            ),
165        1 => array(
166            '&' => ';'
167            ),
168        2 => array(
169            '<' => '>'
170            )
171    ),
172    'HIGHLIGHT_STRICT_BLOCK' => array(
173        -2 => false,
174        -1 => false,
175        0 => false,
176        1 => false,
177        2 => true
178        ),
179    'TAB_WIDTH' => 4,
180    'PARSER_CONTROL' => array(
181        'KEYWORDS' => array(
182            2 => array(
183                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
184                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
185            )
186        )
187    )
188);
189