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
------------------------------------------------------------------------------
_______________________________________________
Xsltforms-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xsltforms-support