/*\r
-Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
*/\r
CKEDITOR.dtd = (function()\r
{\r
- var X = CKEDITOR.tools.extend,\r
+ var X = CKEDITOR.tools.extend,\r
\r
A = {isindex:1,fieldset:1},\r
B = {input:1,button:1,select:1,textarea:1,label:1},\r
C = X({a:1},B),\r
D = X({iframe:1},C),\r
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},\r
- F = {ins:1,del:1,script:1},\r
+ F = {ins:1,del:1,script:1,style:1},\r
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),\r
H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),\r
I = X({p:1},H),\r
N = {'#':1},\r
O = X({param:1},K),\r
P = X({form:1},A,D,E,I),\r
- Q = {li:1};\r
+ Q = {li:1},\r
+ R = {style:1,script:1},\r
+ S = {base:1,link:1,meta:1,title:1},\r
+ T = X(S,R),\r
+ U = {head:1,body:1},\r
+ V = {html:1};\r
\r
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};\r
\r
- return /** @lends CKEDITOR.dtd */ {\r
+ return /** @lends CKEDITOR.dtd */ {\r
\r
// The "$" items have been added manually.\r
\r
+ // List of elements living outside body.\r
+ $nonBodyContent: X(V,U,S),\r
+\r
/**\r
* List of block elements, like "p" or "div".\r
* @type Object\r
*/\r
$block : block,\r
\r
- $body : X({script:1}, block),\r
+ /**\r
+ * List of block limit elements.\r
+ * @type Object\r
+ * @example\r
+ */\r
+ $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },\r
+\r
+ $inline : L, // Just like span.\r
+\r
+ $body : X({script:1,style:1}, block),\r
\r
$cdata : {script:1,style:1},\r
\r
$listItem : {dd:1,dt:1,li:1},\r
\r
/**\r
+ * List of list root elements.\r
+ * @type Object\r
+ * @example\r
+ */\r
+ $list: { ul:1,ol:1,dl:1},\r
+\r
+ /**\r
* Elements that accept text nodes, but are not possible to edit into\r
* the browser.\r
* @type Object\r
* @example\r
*/\r
- $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1},\r
+ $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},\r
\r
/**\r
* List of elements that can be ignored if empty, like "b" or "span".\r
*/\r
$tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},\r
\r
+ html: U,\r
+ head: T,\r
+ style: N,\r
+ script: N,\r
+ body: P,\r
+ base: {},\r
+ link: {},\r
+ meta: {},\r
+ title: N,\r
col : {},\r
tr : {td:1,th:1},\r
img : {},\r
form : X(A,D,E,I),\r
select : {optgroup:1,option:1},\r
font : L,\r
- ins : P,\r
+ ins : L,\r
menu : Q,\r
abbr : L,\r
label : L,\r
map : X({area:1,form:1,p:1},A,F,E),\r
applet : O,\r
dl : {dt:1,dd:1},\r
- del : P,\r
+ del : L,\r
isindex : {},\r
fieldset : X({legend:1},K),\r
thead : M,\r