Я тоже хочу, чтобы CKEditor поддерживал теги XML, но я понимаю, что вы не можете просто ввести их в главное окно - предполагается, что все введенное здесь является фактическим содержимым, а не тегами, и поэтому кодируется.
То, что я хотел бы сделать, это определить список стилей, которые вызывают использование тега по моему выбору, например, если пользователь выбирает стиль 'example', CKEDitor делает <x>content</x>
.К сожалению, у меня не было большого успеха с этим, несмотря на взлом файла dtd.js.
Мое текущее решение состоит в том, чтобы определить список стилей, но сопоставить их со стандартным тегом HTML, а затем поместить желаемый тег XMLимя в качестве атрибута.Затем мне понадобится написать XSLT, который преобразует данные позже.
CKEDITOR.stylesSet.add('myStyles',
[{
name: 'Example sentence',
element: 'span',
attributes: {'class': 'example', 'data-xmlTag': 'x'}
}];
config.stylesSet = 'myStyles';
element
определяет стандартный тег HTML - я использую <span>
, если я хочу, чтобы XML был встроенным, и <div>
если я хочу, чтобы это был уровень блока.Атрибут data-xmlTag
сообщает, какой XML-тег я на самом деле хотел использовать (в данном случае x
).class
позволяет мне определять некоторые стили в CSS и означает, что я могу сгруппировать несколько тегов XML под одним именем класса.Чтобы определить некоторые CSS:
config.contentsCss = CKEDITOR.basePath+'tagStyles.css';