работа с фрагментами XML в CKEditor - PullRequest
1 голос
/ 10 августа 2010

Я использую CKEditor в своем приложении, где пользователи могут писать блоги, создавать страницы и т.д .., Исходный режим отключен для редактора. Запись xml в текстовой области редактора не сохраняется после сохранения содержимого. Я ясно вижу, что контент был закодирован в HTML и то же самое передается в качестве ввода в текстовую область CKEditor.

Ответы [ 2 ]

2 голосов
/ 10 августа 2010

Работает как задумано. Что бы вы ни вводили в область WYSIWYG, кодируется HTML. Как бы вы хотели вести себя по-другому?

Если вам нужен текстовый редактор для написания XML, возможно, ответы на этот вопрос полезны: Текстовая область, которая может выполнять подсветку синтаксиса на лету?

0 голосов
/ 23 января 2013

Я тоже хочу, чтобы 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'; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...