2010-08-10 40 views
1

我在我的應用程序中使用CKEditor,用戶可以在其中編寫博客,創建頁面等。, 編輯器禁用源模式。保存內容後,編輯器的文本區域中編寫xml不會被保留。我清楚地看到,內容得到了HTML編碼,並提供相同的輸入到CKEditor的textarea。在CKEditor中使用xml片段

回答

2

按設計工作。無論你進入WYSIWYG區域,都會得到HTML編碼。你想如何改變它?

如果你想編寫XML文本編輯器,也許是這個問題的答案是有用的:Textarea that can do syntax highlighting on the fly?

+0

但是同樣應該顯示爲內容isnt視圖上的xml片段? – Amareswar 2010-08-10 09:21:19

+0

@Ama我不明白你的意思,你能澄清一下嗎? – 2010-08-10 09:24:16

+0

我在編輯器中輸入xml,如並保存了內容。 我向編輯提供了相同的內容。文本區域中沒有顯示任何內容。 – Amareswar 2010-08-10 09:34:43

0

我太想CKEditor的支持XML標籤,但我明白,你不能只鍵入他們進入主窗口 - 此處輸入的任何內容都被假定爲實際內容,而不是標記,因此被編碼。

我想要做的是定義一個樣式列表,使我選擇的標籤被使用。如果用戶選擇'示例'風格,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';