sspxml ist ein leichtgewichtiger (ca. 40KB) XML-Editor für kleine bis mittelgroße
XML-Dokumente und XML-Fragmente. Der Editor eignet sich hervorragend für die
Erfassung von XML im Browser, z.B. innerhalb eines CMS-Frontends oder zur Pflege
von Konfigurationen. Im Nur-Lesen-Modus bietet sspxml eine elegante Möglichkeit
zur formschönen Darstellung von XML auf Webseiten.
Demo
Spezielle Tasten:
Strg-A: Alles selektieren Strg-M im Start-Elementnamen: Element selektieren Strg-U: Selektierten Text in kleine Zeichen wandeln Strg-Shift-U: Selektierten Text in große Zeichen wandeln
Als Input wird ein XML-DOM-Object übergeben (oder ein String
mit einem validen XML-Dokument in Textform, dieser wird bei der Initialisierung
geparsed).
Wird kein XML (oder gar kein Parameter) übergeben, wird versucht,
den Inhalt des HTML-Platzhalters als XML zu parsen.
Ist dies ein Textknoten mit gültigem XML, wird der Textknoten entfernt und das Control
mit dem geparsten XML initialisiert:
sspxml ist ein XML-Knoten-Editor mit Syntax-Highlighting.
Eine willkürliche Formatierung durch den Anwender ist nicht möglich, das XML wird
stets in der Standardformatierung dargestellt. Zeilenumbrüche in Textknoten bleiben
jedoch erhalten.
Über die Zwischenablage können nur XML-Schnipsel eingefügt werden, die syntaktisch
an der Einfügestelle prinzipiell gültig sind.
Eingaben werden während des Tippens umfangreich analysiert
und entsprechend formatiert und vervollständigt, ggf. auch blockiert.
Eine abschließende Validierung kann beim Abholen des bearbeiteten XML
(durch Parsen mit dem XML-Parser des Browsers; Parser-Exception, wenn nicht "wohlgeformt")
durchgeführt werden. Eine darüber hinausgehende Validierung muss
anderweitig (z.B. serverseitig oder durch explizite Prüfung per Javascript)
implementiert werden.
Elemente können eingeklappt und im Start-Tag umbenannt werden.
Navigation und Markieren auch weitgehend mit Tastatur möglich (Cursortasten, Tab, Navigationstasten, Strg-A, etc.).
Das nötige CSS und die Grafiken der Expand-Buttons sind bereits in der js-Datei enthalten.
sspxml ist ein jQuery-Plugin und benötigt zur Laufzeit eine aktuelle Version der Bibliothek jQuery.
Folgende XML-Knotentypen werden von sspxml nicht unterstützt, da sie selten notwendig und i.d.R. vermeidbar sind:
Document Type Nodes
Notation Nodes
Entity Nodes
Entity Reference Nodes
Auf die Implementierung dieser Knotentypen wurde bewusst verzichtet, um den Editor-Code klein zu halten.
Verwenden Sie sspxml nicht, wenn Sie die Anforderung haben, mindestens einen dieser Knotentypen
verarbeiten können zu müssen.