Opened 13 years ago
Last modified 8 years ago
#10340 confirmed Bug
DTD caching makes it impossible to modify DTD even before first editor creation
| Reported by: | Piotrek Koszuliński | Owned by: | |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | General | Version: | 4.0 Beta |
| Keywords: | Webkit Opera | Cc: |
Description (last modified by )
CKEDITOR.dtd.customtag = { em:1 };
CKEDITOR.dtd.$block.customtag = 1;
CKEDITOR.dtd.body.customtag = 1;
Load:
<customtag>foo</customtag>
It will be transformed to:
<customtag></customtag> <p>foo</p>
I think that we don't have to rewrite all code which caches DTD objects because that would ruin performance or increase complexity in some places. Therefore we can introduce event CKEDITOR#dtd fired when DTD is created and allowing its modifications.
EDIT: The problem is DTD caching makes it impossible to extend it after loading CKEditor source.
Change History (8)
comment:1 Changed 13 years ago by
| Keywords: | Webkit Opera added |
|---|---|
| Status: | new → confirmed |
| Version: | → 4.0 Beta |
comment:2 Changed 13 years ago by
Seems other browsers are affected too.
In IE and FF if you paste <customtag>foo</customtag> switch to source and back it works as expected but if in wysiwyg mode you click on a tag and then switch to source result will be:
<customtag></customtag> <p>foo</p>
comment:5 Changed 9 years ago by
#14717 was marked as duplicate.
We need to make sure that tags with namespaces like: <cnn:news> will also be accepted by the editor.
comment:6 Changed 9 years ago by
This is not a duplicate. This issue is about making it simpler to change DTD in specific case. The DTD is always configurable and can be tuned up to accept tags like cnn:news.
comment:7 Changed 8 years ago by
| Description: | modified (diff) |
|---|
comment:9 Changed 8 years ago by
| Description: | modified (diff) |
|---|
comment:10 Changed 8 years ago by
Related issues: #11562, #14717, #14615.
Please aslo see this comment

Problem can be reproduced in Webkit and Opera from CKEditor 4.0 beta.
To reproduce I have:
CKEDITOR.config.allowedContent = true; //Only in 4.1 CKEDITOR.dtd.customtag = { em:1 }; CKEDITOR.dtd.$block.customtag = 1; CKEDITOR.dtd.body.customtag = 1;Results: