X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fcore%2Fdtd.js;h=51293a0f652eb86fb2060990b1412fb81cf86581;hb=f0610347140239143439a511ee2bd48cb784f470;hp=f569ed09573217fe6d1e1ea482414233041fe8c2;hpb=941b0a9ba4e673e292510d80a5a86806994b8ea6;p=ckeditor.git
diff --git a/_source/core/dtd.js b/_source/core/dtd.js
index f569ed0..51293a0 100644
--- a/_source/core/dtd.js
+++ b/_source/core/dtd.js
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
@@ -10,16 +10,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
- * Holds and object representation of the HTML DTD to be used by the editor in
- * its internal operations.
- *
- * Each element in the DTD is represented by a
- * property in this object. Each property contains the list of elements that
- * can be contained by the element. Text is represented by the "#" property.
- *
+ * @namespace Holds and object representation of the HTML DTD to be used by the
+ * editor in its internal operations.
+ *
+ * Each element in the DTD is represented by a property in this object. Each
+ * property contains the list of elements that can be contained by the element.
+ * Text is represented by the "#" property.
+ *
* Several special grouping properties are also available. Their names start
* with the "$" character.
- * @namespace
* @example
* // Check if "div" can be contained in a "p" element.
* alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
@@ -38,13 +37,13 @@ CKEDITOR.dtd = (function()
B = {input:1,button:1,select:1,textarea:1,label:1},
C = X({a:1},B),
D = X({iframe:1},C),
- 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},
- F = {ins:1,del:1,script:1},
- 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),
- H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),
+ 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},
+ F = {ins:1,del:1,script:1,style:1},
+ 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),
+ 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),
I = X({p:1},H),
J = X({iframe:1},H,B),
- 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},
+ 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},
L = X({a:1},J),
M = {tr:1},
@@ -58,7 +57,7 @@ CKEDITOR.dtd = (function()
U = {head:1,body:1},
V = {html:1};
- 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};
+ 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};
return /** @lends CKEDITOR.dtd */ {
@@ -79,10 +78,16 @@ CKEDITOR.dtd = (function()
* @type Object
* @example
*/
- $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },
+ $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 },
+ /**
+ * List of inline (<span> like) elements.
+ */
$inline : L, // Just like span.
+ /**
+ * list of elements that can be children at <body>.
+ */
$body : X({script:1,style:1}, block),
$cdata : {script:1,style:1},
@@ -92,7 +97,7 @@ CKEDITOR.dtd = (function()
* @type Object
* @example
*/
- $empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},
+ $empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1,wbr:1},
/**
* List of list item elements, like "li" or "dd".
@@ -102,11 +107,11 @@ CKEDITOR.dtd = (function()
$listItem : {dd:1,dt:1,li:1},
/**
- * List of list root elements.
- * @type Object
- * @example
- */
- $list: { ul:1,ol:1,dl:1},
+ * List of list root elements.
+ * @type Object
+ * @example
+ */
+ $list: {ul:1,ol:1,dl:1},
/**
* Elements that accept text nodes, but are not possible to edit into
@@ -114,14 +119,19 @@ CKEDITOR.dtd = (function()
* @type Object
* @example
*/
- $nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},
+ $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},
+
+ /**
+ * List of block tags with each one a singleton element lives in the corresponding structure for description.
+ */
+ $captionBlock : { caption:1, legend:1 },
/**
* List of elements that can be ignored if empty, like "b" or "span".
* @type Object
* @example
*/
- $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},
+ $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},
/**
* List of elements that have tabindex set to zero by default.
@@ -153,6 +163,7 @@ CKEDITOR.dtd = (function()
noscript : P,
td : P,
br : {},
+ wbr : {},
th : P,
center : P,
kbd : L,
@@ -176,7 +187,6 @@ CKEDITOR.dtd = (function()
label : L,
table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
code : L,
- script : N,
tfoot : M,
cite : L,
li : P,
@@ -226,7 +236,30 @@ CKEDITOR.dtd = (function()
pre : X(G,C),
p : L,
em : L,
- dfn : L
+ dfn : L,
+ //HTML5
+ section : P,
+ header : P,
+ footer : P,
+ nav : P,
+ article : P,
+ aside : P,
+ figure: P,
+ dialog : P,
+ hgroup : P,
+ mark : L,
+ time : L,
+ meter : L,
+ menu : L,
+ command : L,
+ keygen : L,
+ output : L,
+ progress : O,
+ audio : O,
+ video : O,
+ details : O,
+ datagrid : O,
+ datalist : O
};
})();