Re: [Xsltforms-support] TinyMCE
Brought to you by:
alain-couthures
From: Alain C. <ala...@ag...> - 2015-05-26 20:06:13
|
Hello Kristian, Converting HTML into XHTML is not very difficult and I have already coded this in Javascript sometimes ago. After that, the parse() XPath function can be used to integrate the result from the RTE into an instance. Please don't hesitate to contact me back if you need this after all. --Alain Le 21/05/2015 21:38, Kristian Kankainen a écrit : > I now removed the TinyMCE fields from my production code and moved it > to a development branch. Thus it is unclear when I can give you > further feedback. Since the html I got from the tinymce editor isn't > xhtml I need to solve the problem of having html as textual data in my > xml. Right now I got tired of the problem and reverted back to pure > text instead. The text get's converted into <p>aragraphs in my xml > database, thus searching for example a string in the second paragraph > is easily done with XPath. With the html it became a nightmare :( > > If anyone has good pointers for best practices on handling (non-xml) > html inside xml, I'm eager to read and learn. > > Thank you very much, Alain. I will try to get back to TinyMCE, it > would help my users but now it seriously impacted and started to tear > on my XRX design. > > Kristian > > 19.05.2015 23:14, Alain Couthures kirjutas: >> Hello Kristian, >> >> I think that I have just found a workaround for the getContent() >> issue with TinyMCE4 when adding a line: I have added a test to avoid >> useless setContent() call when value is actually unchanged... >> >> Please have a look at latest revision (rev.615). >> >> Thank you for your feedback! >> >> --Alain >> >> Le 19/05/2015 10:12, Kristian Kankainen a écrit : >>> The thing that irritate me the most with these bogus elements, is >>> that they seem not be valid according to my TinyMCE settings. Since >>> I keep getting <br> instead of <br /> I can't parse the input as XML. >>> >>> My current solution is to delete (in the serialised string) the >>> bogus elements, convert <br> to <br/> and then parse the (hopefully >>> valid) xml and delete all the rest of the @data-mce* attributes. >>> >>> This is very fragile and I would insist in using the API method >>> since that is what it is there for... What is the major issue using >>> it in XSLTForms? Looking at the TinyMCE4 API documentation it >>> doesn't seem to have changed and is still the supposed way of >>> getting "clean" content from the editor. >>> >>> Kristian >>> >>> 18.05.2015 23:26, Alain Couthures kirjutas: >>>> Hello Kristian, >>>> >>>> This forum post seems too old to be related to TinyMCE4. With >>>> TinyMCE3, the getContent() method worked perfectly for each event >>>> that XSLTForms has to capture. Unfortunately, with TinyMCE4, there >>>> is a major issue using this method as soon as a new line is entered... >>>> >>>> That is why I had to search for an alternative solution and the >>>> innerHTML property seems good enough except for some extra >>>> attributes that you have noticed. Do you think that some regular >>>> expression could remove them? >>>> >>>> --Alain >>>> >>>> Le 14/05/2015 23:39, Kristian Kankainen a écrit : >>>>> Hello again! >>>>> >>>>> Okey, I now understood and accepted that the content has to be >>>>> serialized. But I now get un-clean input from the TinyMCE equipped >>>>> fields. >>>>> >>>>> I get (serialized) <br data-mce-bogus="1"> elements saved in my >>>>> database. I understand TinyMCE uses these elements internally so >>>>> that users can put the cursor inside empty elements when clicking. >>>>> But these bogus elements should be automatically cleaned away >>>>> before the form data gets sent to the server! >>>>> Reading the whole thread about the problem, this post [1] by the >>>>> main developer says that: >>>>>> Use the proper API:s tinymce.activeEditor.getContent() or save >>>>>> etc. Raw HTML should never be stored or extracted. TinyMCE never >>>>>> produces any internal data-mce-bogus output if you use our >>>>>> methods for content extraction. >>>>> >>>>> Could this be the problem in XSLTForms, that the proper API isn't >>>>> used? I'm sorry I can't look at the code myself. This is my >>>>> TinyMCE config in XSLTForms: >>>>>> <schema xmlns="http://www.w3.org/2001/XMLSchema" >>>>>> targetNamespace="http://www.agencexml.com/xsltforms/rte"> >>>>>> <simpleType name="standardHTML"> >>>>>> <restriction base="xf:HTMLFragment" >>>>>> xsltforms:rte="TinyMCE"/> >>>>>> <annotation> >>>>>> <appinfo> >>>>>> { >>>>>> element_format : "xhtml", >>>>>> browser_spellcheck: true, >>>>>> entity_encoding: "numeric", >>>>>> cleanup: true, >>>>>> plugins: [ >>>>>> "autolink lists link charmap", >>>>>> "searchreplace code fullscreen", >>>>>> "insertdatetime paste" >>>>>> ], >>>>>> toolbar: "undo redo | bold italic underline | >>>>>> alignleft aligncenter alignright alignjustify | bullist numlist >>>>>> outdent indent | link | charmap", >>>>>> statusbar : false >>>>>> } >>>>>> </appinfo> >>>>>> </annotation> >>>>>> </simpleType> >>>>>> </schema> >>>>> I use version 4.1.9 of TinyMCE and I think the XSLTForms code is >>>>> version 614. >>>>> >>>>> Can I send some more information for reproducing this? >>>>> >>>>> Thank you in advance >>>>> Kristian K >>>>> >>>>> [1] http://www.tinymce.com/forum/viewtopic.php?pid=109291#p109291 >>>>> >>>> >>> >> > |