A: eZ Publish comes with a WYSIWYG editor.
You can insert externally formatted HTML into the online editor. However since eZ Publish is strictly based on validated XML there are two modes this can be done under. The first is to have eZ Publish wash the HTML and convert it to valid XML, the other is to use literal definitions that enables the editor to input the actual HTML that will be rendered. The latter is useful if you need to insert some very specific HTML like for example an embedded YouTube video code.
All literal definitions can automatically be filtered away if the content is delivered to other channels (e.g. for mobile Apps or print where the HTML would not work).
Further information on the Online Editor can be found at the following link:
http://doc.ez.no/Extensions/eZ-Publish-extensions/Online-Editor/5.x