[239] | 1 | /*
|
---|
| 2 | Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
---|
| 3 | For licensing, see LICENSE.html or http://ckeditor.com/license
|
---|
| 4 | */
|
---|
| 5 |
|
---|
| 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.
|
---|
| 10 | */
|
---|
| 11 |
|
---|
| 12 | /**
|
---|
| 13 | * @namespace Holds and object representation of the HTML DTD to be used by the
|
---|
| 14 | * editor in its internal operations.<br />
|
---|
| 15 | * <br />
|
---|
| 16 | * Each element in the DTD is represented by a property in this object. Each
|
---|
| 17 | * property contains the list of elements that can be contained by the element.
|
---|
| 18 | * Text is represented by the "#" property.<br />
|
---|
| 19 | * <br />
|
---|
| 20 | * Several special grouping properties are also available. Their names start
|
---|
| 21 | * with the "$" character.
|
---|
| 22 | * @example
|
---|
| 23 | * // Check if "div" can be contained in a "p" element.
|
---|
| 24 | * alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
|
---|
| 25 | * @example
|
---|
| 26 | * // Check if "p" can be contained in a "div" element.
|
---|
| 27 | * alert( !!CKEDITOR.dtd[ 'div' ][ 'p' ] ); "true"
|
---|
| 28 | * @example
|
---|
| 29 | * // Check if "p" is a block element.
|
---|
| 30 | * alert( !!CKEDITOR.dtd.$block[ 'p' ] ); "true"
|
---|
| 31 | */
|
---|
| 32 | CKEDITOR.dtd = (function()
|
---|
| 33 | {
|
---|
| 34 | var X = CKEDITOR.tools.extend,
|
---|
| 35 |
|
---|
| 36 | A = {isindex:1,fieldset:1},
|
---|
| 37 | B = {input:1,button:1,select:1,textarea:1,label:1},
|
---|
| 38 | C = X({a:1},B),
|
---|
| 39 | D = X({iframe:1},C),
|
---|
| 40 | E = {hr:1,ul:1,menu:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist: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},
|
---|
| 41 | F = {ins:1,del:1,script:1,style:1},
|
---|
| 42 | 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,wbr:1},F),
|
---|
| 43 | H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1,mark:1},G),
|
---|
| 44 | I = X({p:1},H),
|
---|
| 45 | J = X({iframe:1},H,B),
|
---|
| 46 | 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,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist: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},
|
---|
| 47 |
|
---|
| 48 | L = X({a:1},J),
|
---|
| 49 | M = {tr:1},
|
---|
| 50 | N = {'#':1},
|
---|
| 51 | O = X({param:1},K),
|
---|
| 52 | P = X({form:1},A,D,E,I),
|
---|
| 53 | Q = {li:1},
|
---|
| 54 | R = {style:1,script:1},
|
---|
| 55 | S = {base:1,link:1,meta:1,title:1},
|
---|
| 56 | T = X(S,R),
|
---|
| 57 | U = {head:1,body:1},
|
---|
| 58 | V = {html:1};
|
---|
| 59 |
|
---|
| 60 | var block = {address:1,blockquote:1,center:1,dir:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
|
---|
| 61 |
|
---|
| 62 | return /** @lends CKEDITOR.dtd */ {
|
---|
| 63 |
|
---|
| 64 | // The "$" items have been added manually.
|
---|
| 65 |
|
---|
| 66 | // List of elements living outside body.
|
---|
| 67 | $nonBodyContent: X(V,U,S),
|
---|
| 68 |
|
---|
| 69 | /**
|
---|
| 70 | * List of block elements, like "p" or "div".
|
---|
| 71 | * @type Object
|
---|
| 72 | * @example
|
---|
| 73 | */
|
---|
| 74 | $block : block,
|
---|
| 75 |
|
---|
| 76 | /**
|
---|
| 77 | * List of block limit elements.
|
---|
| 78 | * @type Object
|
---|
| 79 | * @example
|
---|
| 80 | */
|
---|
| 81 | $blockLimit : { body:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,td:1,th:1,caption:1,form:1 },
|
---|
| 82 |
|
---|
| 83 | /**
|
---|
| 84 | * List of inline (<span> like) elements.
|
---|
| 85 | */
|
---|
| 86 | $inline : L, // Just like span.
|
---|
| 87 |
|
---|
| 88 | /**
|
---|
| 89 | * list of elements that can be children at <body>.
|
---|
| 90 | */
|
---|
| 91 | $body : X({script:1,style:1}, block),
|
---|
| 92 |
|
---|
| 93 | $cdata : {script:1,style:1},
|
---|
| 94 |
|
---|
| 95 | /**
|
---|
| 96 | * List of empty (self-closing) elements, like "br" or "img".
|
---|
| 97 | * @type Object
|
---|
| 98 | * @example
|
---|
| 99 | */
|
---|
| 100 | $empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1,wbr:1},
|
---|
| 101 |
|
---|
| 102 | /**
|
---|
| 103 | * List of list item elements, like "li" or "dd".
|
---|
| 104 | * @type Object
|
---|
| 105 | * @example
|
---|
| 106 | */
|
---|
| 107 | $listItem : {dd:1,dt:1,li:1},
|
---|
| 108 |
|
---|
| 109 | /**
|
---|
| 110 | * List of list root elements.
|
---|
| 111 | * @type Object
|
---|
| 112 | * @example
|
---|
| 113 | */
|
---|
| 114 | $list: {ul:1,ol:1,dl:1},
|
---|
| 115 |
|
---|
| 116 | /**
|
---|
| 117 | * Elements that accept text nodes, but are not possible to edit into
|
---|
| 118 | * the browser.
|
---|
| 119 | * @type Object
|
---|
| 120 | * @example
|
---|
| 121 | */
|
---|
| 122 | $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1,audio:1,video:1},
|
---|
| 123 |
|
---|
| 124 | /**
|
---|
| 125 | * List of block tags with each one a singleton element lives in the corresponding structure for description.
|
---|
| 126 | */
|
---|
| 127 | $captionBlock : { caption:1, legend:1 },
|
---|
| 128 |
|
---|
| 129 | /**
|
---|
| 130 | * List of elements that can be ignored if empty, like "b" or "span".
|
---|
| 131 | * @type Object
|
---|
| 132 | * @example
|
---|
| 133 | */
|
---|
| 134 | $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,mark:1},
|
---|
| 135 |
|
---|
| 136 | /**
|
---|
| 137 | * List of elements that have tabindex set to zero by default.
|
---|
| 138 | * @type Object
|
---|
| 139 | * @example
|
---|
| 140 | */
|
---|
| 141 | $tabIndex : {a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},
|
---|
| 142 |
|
---|
| 143 | /**
|
---|
| 144 | * List of elements used inside the "table" element, like "tbody" or "td".
|
---|
| 145 | * @type Object
|
---|
| 146 | * @example
|
---|
| 147 | */
|
---|
| 148 | $tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},
|
---|
| 149 |
|
---|
| 150 | html: U,
|
---|
| 151 | head: T,
|
---|
| 152 | style: N,
|
---|
| 153 | script: N,
|
---|
| 154 | body: P,
|
---|
| 155 | base: {},
|
---|
| 156 | link: {},
|
---|
| 157 | meta: {},
|
---|
| 158 | title: N,
|
---|
| 159 | col : {},
|
---|
| 160 | tr : {td:1,th:1},
|
---|
| 161 | img : {},
|
---|
| 162 | colgroup : {col:1},
|
---|
| 163 | noscript : P,
|
---|
| 164 | td : P,
|
---|
| 165 | br : {},
|
---|
| 166 | wbr : {},
|
---|
| 167 | th : P,
|
---|
| 168 | center : P,
|
---|
| 169 | kbd : L,
|
---|
| 170 | button : X(I,E),
|
---|
| 171 | basefont : {},
|
---|
| 172 | h5 : L,
|
---|
| 173 | h4 : L,
|
---|
| 174 | samp : L,
|
---|
| 175 | h6 : L,
|
---|
| 176 | ol : Q,
|
---|
| 177 | h1 : L,
|
---|
| 178 | h3 : L,
|
---|
| 179 | option : N,
|
---|
| 180 | h2 : L,
|
---|
| 181 | form : X(A,D,E,I),
|
---|
| 182 | select : {optgroup:1,option:1},
|
---|
| 183 | font : L,
|
---|
| 184 | ins : L,
|
---|
| 185 | menu : Q,
|
---|
| 186 | abbr : L,
|
---|
| 187 | label : L,
|
---|
| 188 | table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
|
---|
| 189 | code : L,
|
---|
| 190 | tfoot : M,
|
---|
| 191 | cite : L,
|
---|
| 192 | li : P,
|
---|
| 193 | input : {},
|
---|
| 194 | iframe : P,
|
---|
| 195 | strong : L,
|
---|
| 196 | textarea : N,
|
---|
| 197 | noframes : P,
|
---|
| 198 | big : L,
|
---|
| 199 | small : L,
|
---|
| 200 | span : L,
|
---|
| 201 | hr : {},
|
---|
| 202 | dt : L,
|
---|
| 203 | sub : L,
|
---|
| 204 | optgroup : {option:1},
|
---|
| 205 | param : {},
|
---|
| 206 | bdo : L,
|
---|
| 207 | 'var' : L,
|
---|
| 208 | div : P,
|
---|
| 209 | object : O,
|
---|
| 210 | sup : L,
|
---|
| 211 | dd : P,
|
---|
| 212 | strike : L,
|
---|
| 213 | area : {},
|
---|
| 214 | dir : Q,
|
---|
| 215 | map : X({area:1,form:1,p:1},A,F,E),
|
---|
| 216 | applet : O,
|
---|
| 217 | dl : {dt:1,dd:1},
|
---|
| 218 | del : L,
|
---|
| 219 | isindex : {},
|
---|
| 220 | fieldset : X({legend:1},K),
|
---|
| 221 | thead : M,
|
---|
| 222 | ul : Q,
|
---|
| 223 | acronym : L,
|
---|
| 224 | b : L,
|
---|
| 225 | a : J,
|
---|
| 226 | blockquote : P,
|
---|
| 227 | caption : L,
|
---|
| 228 | i : L,
|
---|
| 229 | u : L,
|
---|
| 230 | tbody : M,
|
---|
| 231 | s : L,
|
---|
| 232 | address : X(D,I),
|
---|
| 233 | tt : L,
|
---|
| 234 | legend : L,
|
---|
| 235 | q : L,
|
---|
| 236 | pre : X(G,C),
|
---|
| 237 | p : L,
|
---|
| 238 | em : L,
|
---|
| 239 | dfn : L,
|
---|
| 240 | //HTML5
|
---|
| 241 | section : P,
|
---|
| 242 | header : P,
|
---|
| 243 | footer : P,
|
---|
| 244 | nav : P,
|
---|
| 245 | article : P,
|
---|
| 246 | aside : P,
|
---|
| 247 | figure: P,
|
---|
| 248 | dialog : P,
|
---|
| 249 | hgroup : P,
|
---|
| 250 | mark : L,
|
---|
| 251 | time : L,
|
---|
| 252 | meter : L,
|
---|
| 253 | menu : L,
|
---|
| 254 | command : L,
|
---|
| 255 | keygen : L,
|
---|
| 256 | output : L,
|
---|
| 257 | progress : O,
|
---|
| 258 | audio : O,
|
---|
| 259 | video : O,
|
---|
| 260 | details : O,
|
---|
| 261 | datagrid : O,
|
---|
| 262 | datalist : O
|
---|
| 263 | };
|
---|
| 264 | })();
|
---|
| 265 |
|
---|
| 266 | // PACKAGER_RENAME( CKEDITOR.dtd )
|
---|