Olaf Schneider: wysiwyg-Editor für xml

Hallo,

für eine Intranetplattform bin ich auf der Suche nach einem wysiwyg-Editor. Der zu editierende Inhalt soll jedoch nie als html gerendert, sondern nur als xml ans Backend übergeben werden.

Die gewünschten Features sind:

  
<strong>strong text</strong>  
<headline>headline</headline>  
<annotation text="annotation">text</annotation>  

letztendlich sind aber Element- und Attributnamen egal, so dass man ebenso gut folgendes xhtml-Subset benutzen könnte:

  
<strong>strong text</strong>  
<h1>headline</h1>  
<span title="annotation">text</span>  

Ich suche also einen wysiwyg-Editor, der folgendes kann:

  • lässt sich auf die oben genannten Elemente einschränken/erweitern/anpassen
  • generiert xhtml und damit xml
  • läuft unter IE6, IE7, FF2, FF3, Safari3
  • verträgt sich mit jQuery
  • ist javascriptbasiert und damit ohne Flash, Plugins, Applets lauffähig

Meine Recherchen haben eine ganze Menge Editoren zutage gebracht. Interessant fand ich:

Die ersten beiden Editoren sind mir eigentlich zu schwergewichtig und featurelastig, der letzte ist leider fast nicht dokumentiert und hat nicht gerade eine aktive Community.

Was könnt Ihr mir empfehlen: Einen der genannten Editoren oder habt Ihr einen Geheimtipp.

Gruß
Olaf

  1. Lieber Olaf,

    zuersteinmal frage ich mich, warum Du ein XML-Dokument mit einem WYSIWYG-Editor bearbeiten willst. Soweit ich das verstehe, ist XML ein Format, in welchem sich so manches an Daten speichern lässt, unter anderem auch "HTML" (z.B. als XHTML). Inwieweit Deine Anfoderungen jetzt aber "WYSIWYG" werden sollen will mir nicht so ganz einleuchten. Beabsichtigst Du etwa eine Art besonderes Layout bei der Eingabe der XML-Daten (was Du mittels der HTML-Editoren der Browser im WYSIWYG-Modus umzusetzen planst), um die Datenstruktur besser "sichtbar" zu machen?

    Interessant fand ich:

    Ich verwende den TinyMCE schon länger (seit Version 1.x) und bin von dessen Skalierbarkeit (Stichwort "Plugins") sehr begeistert. Wenn Du etwas nicht benötigst, dann kannst Du das ganz leicht weglassen. Wenn Du etwas besonderes benötigst, dann kannst Du Dir dafür relativ leicht ein Plugin schreiben.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix,

      zuersteinmal frage ich mich, warum Du ein XML-Dokument mit einem WYSIWYG-Editor bearbeiten willst.

      das xml-Dokument repräsentiert formatierten Text für eine automatische pdf-Generierung. Daher korrespondieren die einzelnen Elemente tatsächlich mit einer visuellen Darstellung. Da die User größtenteils unerfahren sein werden, was xml-Strukturen angeht, möchte ich ein Editieren per wysiwyg ermöglichen, um den User von der xml-Datenstruktur fernzuhalten.

      Interessant fand ich:

      Ich verwende den TinyMCE schon länger (seit Version 1.x) und bin von dessen Skalierbarkeit (Stichwort "Plugins") sehr begeistert. Wenn Du etwas nicht benötigst, dann kannst Du das ganz leicht weglassen. Wenn Du etwas besonderes benötigst, dann kannst Du Dir dafür relativ leicht ein Plugin schreiben.

      Das ist schon einmal interessant. Ich schrecke zwar noch ein bisschen vor den zusätzlich zu ladenden Ressourcen zurück, da TinyMCE unabhängig von jQuery läuft und damit Funktionalität doppelt; damit muss ich aber wohl leben. Hast Du schon Erfahrungen im gemeinsamen Einsatz von TinyMCE und jQuery?

      Gruß
      Olaf

      1. Lieber Olaf,

        Ich schrecke zwar noch ein bisschen vor den zusätzlich zu ladenden Ressourcen zurück, da TinyMCE unabhängig von jQuery läuft und damit Funktionalität doppelt; damit muss ich aber wohl leben. Hast Du schon Erfahrungen im gemeinsamen Einsatz von TinyMCE und jQuery?

        hmm. Ich verwende keine Frameworks à la jQuery. Ich habe aber gesehen, dass es in TinyMCEs SVN Trunk auf Sourceforge eine Version für jQuery gibt. Was es genau damit auf sich hat ist mir nicht bekannt. Probier's doch einfach aus!

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Hallo Felix,

          hmm. Ich verwende keine Frameworks à la jQuery.

          mal interessehalber: Warum verwendest Du keine Frameworks dieser Art?

          Ich sehe bei Frameworks den Nachteil, dass man Kontrolle abgibt und sie oft schwergewichtig sind, aber den Vorteil, dass man eine browserübergreifende API hat, die vermutlich besser getestet ist, als man das als Einzelkämpfer könnte.

          Ich habe aber gesehen, dass es in TinyMCEs SVN Trunk auf Sourceforge eine Version für jQuery gibt. Was es genau damit auf sich hat ist mir nicht bekannt. Probier's doch einfach aus!

          das schaue ich mir auf jeden Fall mal an.

          Gruß
          Olaf

          1. Lieber Olaf,

            hmm. Ich verwende keine Frameworks à la jQuery.

            mal interessehalber: Warum verwendest Du keine Frameworks dieser Art?

            ich will es selbst können. Ist mein eigener Idealismus. Außerdem sind meine Scripte dann etwas kleiner und funktionieren unabhängig. Das sehe ich als Vorteil.

            Ich sehe bei Frameworks den Nachteil, dass man Kontrolle abgibt und sie oft schwergewichtig sind, aber den Vorteil, dass man eine browserübergreifende API hat, die vermutlich besser getestet ist, als man das als Einzelkämpfer könnte.

            Das mit dem Einzelkämpfer mag stimmen. Trotzdem kann ich bei meinen selbstgestrickten Scripten besser debuggen. Und wenn es mal einfach nicht "funzen" will, dann komme ich hierher. Da wird mir so gut wie immer geholfen.

            Liebe Grüße aus Ellwangen,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        2. Hallo Felix,

          […] Ich habe aber gesehen, dass es in TinyMCEs SVN Trunk auf Sourceforge eine Version für jQuery gibt. Was es genau damit auf sich hat ist mir nicht bekannt.

          leider ist diese Version minimiert. Das ist mir dann doch ein bisschen gefährlich, dann kann man ja nicht mal debuggen, wenn etwas nicht funktioniert. Schade.

          Gruß
          Olaf