Opened 12 years ago
Last modified 12 years ago
#9301 closed Bug
Complete DTD for HTML5 — at Version 2
Reported by: | Piotrek Koszuliński | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 4.0 |
Component: | Core : DTD | Version: | 4.0 |
Keywords: | Cc: |
Description (last modified by )
Intro
Googling... googling... That's right - there's no DTD for HTML5 and there won't be any, because HTML5 cannot be defined by poor DTD. There are other schema languages like RELAX NG in which HTML5 may be defined, but AFAIK WHATWG won't create schema for HTML5.
Subject of this task
We need to update our pseudo-DTD with HTML5's new stuff. See e.g. https://github.com/ckeditor/ckeditor-dev/pull/6
The purpose of CKEDITOR.dtd
is mainly to validate DOM tree structure + few more specific for editor things (like the list of editable elements). Unfortunately in current CKEDITOR.dtd
's format we won't be able to define HTML5's precisely.
I see two main problems:
- Transparent elements (http://dev.w3.org/html5/markup/terminology.html#transparent)
E.g. if
<a>
is a child of<div>
, then<a>
may contain block elements (in HTML5's terminology - flow elements (http://dev.w3.org/html5/markup/common-models.html#common.elem.flow)) and inline elements (phrasing elements). If<a>
is a child of<p>
, then it may contain phrasing elements only. - Nesting rules dependent on attributes/sth else.
E.g. if
<audio>
doesn't havesrc
attr it may contain<source>
elements. Otherwise it may not.
We are not able to handle 1. and I believe that we've got to live now with the current state of things. However, for 2., rules of our DTD should just be as tolerant as possible. That's the solution for now.
Few interesting links
Change History (2)
comment:1 Changed 12 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 12 years ago by
Description: | modified (diff) |
---|