在 CKEditor 中使用 xml 片段

发布于 2024-09-13 14:40:34 字数 133 浏览 5 评论 0原文

我在我的应用程序中使用 CKEditor,用户可以在其中编写博客、创建页面等..., 编辑器禁用源模式。保存内容后,在编辑器的文本区域中写入 xml 不会保留。我清楚地看到内容已进行 HTML 编码,并且同样作为 CKEditor 文本区域的输入提供。

I am Using CKEditor in my application where the users can write blogs, create pages etc..,
Source mode is disabled for the editor. Writing xml in the editor's text area is not retained after saving the content. I clearly see that the content got HTML Encoded and the same is supplied as input to the CKEditor's textarea.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

°如果伤别离去 2024-09-20 14:40:34

按设计工作。无论您在 WYSIWYG 区域中输入什么内容,都将获得 HTML 编码。您希望如何以不同的方式表现它?

如果您想要一个用于编写 XML 的文本编辑器,也许这个问题的答案很有用:可以即时进行语法高亮的文本区域?

Works as designed. Whatever you enter into the WYSIWYG area, will get HTML encoded. How would you want to behave it differently?

If you want a text editor for writing XML, maybe the answers to this question are useful: Textarea that can do syntax highlighting on the fly?

逆流 2024-09-20 14:40:34

我也希望 CKEditor 支持 XML 标签,但我知道您不能只是将它们键入到主窗口中 - 此处键入的任何内容都被假定为实际内容,而不是标记,因此会被编码。

我想要做的是定义一个样式列表,这些样式会导致使用我选择的标签,例如,如果用户选择“示例”样式,CKEDitor 会执行 ;内容。不幸的是,尽管破解了 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 标记 - 如果我希望 XML 内联,我使用 ;如果我想要,我使用

它是块级的。 data-xmlTag 属性说明了我实际想要使用的 XML 标记(在本例中为 x)。 class 允许我在 CSS 中定义一些样式,这意味着我可以将多个 XML 标记分组到一个类名下。定义一些CSS:

config.contentsCss = CKEDITOR.basePath+'tagStyles.css'; 

I too want CKEditor to support XML tags, but I understand that you can't just type them into the main window - anything typed here is assumed to be actual content, not tagging, and therefore gets encoded.

What I'd like to do is define a list of styles that cause a tag of my choosing to be used, e.g. if the user chooses the 'example' style, CKEDitor does <x>content</x>. Unfortunately I haven't had much success with this, despite hacking the dtd.js file.

My current solution is to define a list of styles but map them to a standard HTML tag, then put my desired XML tag name in as an attribute. I'll then need to write some XSLT that transforms the data later.

CKEDITOR.stylesSet.add('myStyles',
[{
  name: 'Example sentence', 
  element: 'span', 
  attributes: {'class': 'example', 'data-xmlTag': 'x'} 
}];        

config.stylesSet = 'myStyles'; 

element specifies a standard HTML tag – I use <span> if I want the XML to be inline and <div> if I want it to be block level. The data-xmlTag attribute says what XML tag I actually wanted to use (x in this case). The class allows me to define some styles in CSS and means I can group several XML tags under one class name. To define some CSS:

config.contentsCss = CKEDITOR.basePath+'tagStyles.css'; 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文