Update ckeditor to version 3.2.1
[gopost.git] / ckeditor / _source / core / dtd.js
blobd5af5bfaa3df35c94d82c15846c84a078446d2f3
1 /*
2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3 For licensing, see LICENSE.html or http://ckeditor.com/license
4 */
6 /**
7 * @fileOverview Defines the {@link CKEDITOR.dtd} object, which holds the DTD
8 * mapping for XHTML 1.0 Transitional. This file was automatically
9 * generated from the file: xhtml1-transitional.dtd.
12 /**
13 * Holds and object representation of the HTML DTD to be used by the editor in
14 * its internal operations.
16 * Each element in the DTD is represented by a
17 * property in this object. Each property contains the list of elements that
18 * can be contained by the element. Text is represented by the "#" property.
20 * Several special grouping properties are also available. Their names start
21 * with the "$" character.
22 * @namespace
23 * @example
24 * // Check if "div" can be contained in a "p" element.
25 * alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
26 * @example
27 * // Check if "p" can be contained in a "div" element.
28 * alert( !!CKEDITOR.dtd[ 'div' ][ 'p' ] ); "true"
29 * @example
30 * // Check if "p" is a block element.
31 * alert( !!CKEDITOR.dtd.$block[ 'p' ] ); "true"
33 CKEDITOR.dtd = (function()
35 var X = CKEDITOR.tools.extend,
37 A = {isindex:1,fieldset:1},
38 B = {input:1,button:1,select:1,textarea:1,label:1},
39 C = X({a:1},B),
40 D = X({iframe:1},C),
41 E = {hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},
42 F = {ins:1,del:1,script:1,style:1},
43 G = X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F),
44 H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),
45 I = X({p:1},H),
46 J = X({iframe:1},H,B),
47 K = {img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},
49 L = X({a:1},J),
50 M = {tr:1},
51 N = {'#':1},
52 O = X({param:1},K),
53 P = X({form:1},A,D,E,I),
54 Q = {li:1},
55 R = {style:1,script:1},
56 S = {base:1,link:1,meta:1,title:1},
57 T = X(S,R),
58 U = {head:1,body:1},
59 V = {html:1};
61 var block = {address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
63 return /** @lends CKEDITOR.dtd */ {
65 // The "$" items have been added manually.
67 // List of elements living outside body.
68 $nonBodyContent: X(V,U,S),
70 /**
71 * List of block elements, like "p" or "div".
72 * @type Object
73 * @example
75 $block : block,
77 /**
78 * List of block limit elements.
79 * @type Object
80 * @example
82 $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },
84 $inline : L, // Just like span.
86 $body : X({script:1,style:1}, block),
88 $cdata : {script:1,style:1},
90 /**
91 * List of empty (self-closing) elements, like "br" or "img".
92 * @type Object
93 * @example
95 $empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},
97 /**
98 * List of list item elements, like "li" or "dd".
99 * @type Object
100 * @example
102 $listItem : {dd:1,dt:1,li:1},
105 * List of list root elements.
106 * @type Object
107 * @example
109 $list: { ul:1,ol:1,dl:1},
112 * Elements that accept text nodes, but are not possible to edit into
113 * the browser.
114 * @type Object
115 * @example
117 $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},
120 * List of elements that can be ignored if empty, like "b" or "span".
121 * @type Object
122 * @example
124 $removeEmpty : {abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},
127 * List of elements that have tabindex set to zero by default.
128 * @type Object
129 * @example
131 $tabIndex : {a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},
134 * List of elements used inside the "table" element, like "tbody" or "td".
135 * @type Object
136 * @example
138 $tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},
140 html: U,
141 head: T,
142 style: N,
143 script: N,
144 body: P,
145 base: {},
146 link: {},
147 meta: {},
148 title: N,
149 col : {},
150 tr : {td:1,th:1},
151 img : {},
152 colgroup : {col:1},
153 noscript : P,
154 td : P,
155 br : {},
156 th : P,
157 center : P,
158 kbd : L,
159 button : X(I,E),
160 basefont : {},
161 h5 : L,
162 h4 : L,
163 samp : L,
164 h6 : L,
165 ol : Q,
166 h1 : L,
167 h3 : L,
168 option : N,
169 h2 : L,
170 form : X(A,D,E,I),
171 select : {optgroup:1,option:1},
172 font : L,
173 ins : L,
174 menu : Q,
175 abbr : L,
176 label : L,
177 table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
178 code : L,
179 script : N,
180 tfoot : M,
181 cite : L,
182 li : P,
183 input : {},
184 iframe : P,
185 strong : L,
186 textarea : N,
187 noframes : P,
188 big : L,
189 small : L,
190 span : L,
191 hr : {},
192 dt : L,
193 sub : L,
194 optgroup : {option:1},
195 param : {},
196 bdo : L,
197 'var' : L,
198 div : P,
199 object : O,
200 sup : L,
201 dd : P,
202 strike : L,
203 area : {},
204 dir : Q,
205 map : X({area:1,form:1,p:1},A,F,E),
206 applet : O,
207 dl : {dt:1,dd:1},
208 del : L,
209 isindex : {},
210 fieldset : X({legend:1},K),
211 thead : M,
212 ul : Q,
213 acronym : L,
214 b : L,
215 a : J,
216 blockquote : P,
217 caption : L,
218 i : L,
219 u : L,
220 tbody : M,
221 s : L,
222 address : X(D,I),
223 tt : L,
224 legend : L,
225 q : L,
226 pre : X(G,C),
227 p : L,
228 em : L,
229 dfn : L
231 })();
233 // PACKAGER_RENAME( CKEDITOR.dtd )