Freie XML-Parsern und XML-Editoren Datum der Erstellung 29.07.2003 Autor Sven Siewczynski Inhaltsverzeichnis 1 Kriterien................................................................................................................................................................ 5 Parser ............................................................................................................................................................... 5 Editoren ........................................................................................................................................................... 5 XML-Parser .......................................................................................................................................................... 6 2.1 MSXML 4.0 ..................................................................................................................................................... 6 2.2 Xerces .............................................................................................................................................................. 8 2.3 Libxml2 .......................................................................................................................................................... 10 2.4 Expat .............................................................................................................................................................. 12 XML-Editoren .................................................................................................................................................... 13 3.1 XmEdil ........................................................................................................................................................... 13 3.2 Morphon ........................................................................................................................................................ 16 3.3 Bonfire Studio ................................................................................................................................................ 20 3.4 Cooktop ......................................................................................................................................................... 23 Bewertung ........................................................................................................................................................... 26 4.1 Parser ............................................................................................................................................................. 26 4.2 Editoren ......................................................................................................................................................... 26 Internetverzeichnis .............................................................................................................................................. 27 1.1 1.2 2 3 4 5 2 Abkürzungsverzeichnis API ASCII CSS DOM DSSSL DTD ISO SAX UTF W3C XML XPath XPointer XSD XSL Application Programming Interface American Standard Code for Information Interchange Cascading Style Sheet Document Object Model Document Style Semantics and Specification Language Document Typ Definition International Organization for Standardization Simple API for XML Unicode Transformation Format World Wide Web Consortium eXtensible Markup Language Xml Path language Xml Pointer language Xml Schema Definition language eXtensible Stylesheet Language 3 Einleitung XML wird mittlerweile in vielen Softwarebereichen benutzt. Ziel der vorliegenden Recherche ist eine Bewertung von freien XML-Parsern und -Editoren. Der Autor beschränkt sich dabei auf Parser und Editoren, die XML-, DTD/XSD- und XSLT-Dokumente verarbeiten, einfach benutzbar und nicht kommerziell sind. 4 1 Kriterien 1.1 Parser push/pull-Parser (DOM/SAX-Parstechniken) Validierung vom XML-Dokument mittels DTD/XSD-Dokument Unterstützung von XPath/Xpointer-Techniken stylesheet-Unterstützung (XSLT/CSS/DSSSL) Benutzerdokumentation Installation Benutzbarkeit Weiterentwicklung 1.2 Editoren Validierung vom XML-Dokument mittels DTD/XSD-Dokument variierbare Farbkodierungen des Dokuments automatische tag-Vollständigung undo/redo drag & drop Baumanzeige Detailanzeige der selektierten Komponente browser-Vorschau XSLT-Transformationen XPath/XPointer-Unterstützung Projektmanagement Benutzerdokumentation plug-in-Erweiterbarkeit Druckerunterstützung Installation Benutzbarkeit Weiterentwicklung 5 2 XML-Parser 2.1 MSXML 4.0 Eigenschaften push/pull – Parser (DOM/SAX) Validierung vom XML-Dokument mittels DTD/XSD-Dokument (standardmäßig ausgeschaltet) XPath/XPointer-Techniken stylesheet-Unterstützung (XSLT) Benutzerdokumentation in SDK-Hilfe oder auf der Webseite von Microsoft weitere Eigenschaften o Benutzung C/C++, Visual Basic, Javascript o Plattform: Windows Voraussetzung Windowsbetriebsystem Windows Installer Installation windowstypische einfache Installation Benutzung Programmierung über externe Tools/Editoren Weiterentwicklung als Standardparser für Windows wird Microsoft den Parser ständig weiterentwickeln Links MSXML 4.0 http://www.microsoft.com/ http://www.topxml.com/parsers/default.asp Online-Dokumentation von Microsoft: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/htm/sdk_intro_6g53.asp 6 Bewertung Der Parser ist im Microsoft Internet Explorer standardmäßig enthalten. Die neueste Version 4.0 bietet umfangreiche Erweiterungen. Der Zugriff auf den Parser erfolgt über das Laden der Parser DLLs. Durch Benutzung von Sprachen wie Microsofts Javascript, Visual Basic oder C/C++ kann auf die Parserfunktionen zugegriffen werden. Microsoft bietet Anleitungen zur Programmierung und Benutzung. MSXML ist ein sehr umfangreicher und mächtiger Parser und für Windowsanwendungen die erste Wahl. 7 2.2 Xerces Eigenschaften pull/push-Parser (DOM, SAX) Validierung vom XML-Dokument mittels DTD/XSD-Dokument (standardmäßig ausgeschaltet) KEINE XPath/XPointer-Techniken (ist im Xalan-Entwicklerpacket enthalten) KEINE stylesheet-Unterstützung (XSLT) (ist im Xalan-Entwicklerpacket enthalten) ausfühliche API-Benutzerdokumentation weitere Eigenschaften o Benutzung über Java, C++ oder Perl o Plattform: Java, Windows, Unix Voraussetzung Betriebssystem mit Java-, C++- oder Perl-Programmierumgebung Installation Xerces mit unzip oder Winzip entpacken Benutzung Programmierung über externe Tools/Editoren Weiterentwicklung ständige Weiterentwicklungen gute Aussichten, da viele Entwickler am Apache-Projekt arbeiten Links Xerces Java 2.4.0 Xerces C++ 2.3.0 Xerces Perl 1.7.0-1 http://xml.apache.org/ 8 Bewertung Xerces ist ein JAVA-basierter Parser. Aufgrund der Entwicklerplattform JAVA, ist der Parser leicht auf jegliche Systemplattform, wo eine JAVA-Laufzeitumgebung verfügbar ist, transferierbar. Mittels zusätzlicher JAVA-Pakete lässt sich der Parser fast beliebig erweitern, z.B. können mit dem Xalan-Entwicklerpaket XSLT-Stylesheets verarbeiten werden. Im ApacheProjekt wird an weiteren Entwicklerpaketen gearbeitet. Hilfe ist unter anderem in der ausführlichen API-Dokumentation, in Beispielen oder in den Apache-Foren zu bekommen. 9 2.3 Libxml2 Eigenschaften pull/push-Parser (DOM, SAX) Validierung vom XML-Dokument mittels DTD/XSD-Dokument (standardmäßig ausgeschaltet) XPath/XPointer-Techniken KEINE stylesheet-Unterstützung (XSLT) (ist im Libxslt-Entwicklerpacket enthalten) ausfühliche API-Benutzerdokumentation weitere Eigenschaften o entwickelt fürs Gnome-Projekt o Plattform: Unix, Windows, Mac Voraussetzung Betriebssystem mit C-Compiler und C-Bibliotheken Installation entsprechend dem Betriebsystem entpacken mit unzip oder Winzip bzw. installieren über rpm Benutzung Programmierung über externe Tools/Editoren Weiterentwicklung ständige Weiterentwicklungen gute Aussichten, da viele Entwickler am Gnome-Projekt arbeiten Links Libxml2 http://xmlsoft.org/ 10 Bewertung Libxml2 entstand aus dem GNOME-Projekt. Der Parser wird hauptsächlich auf Unix-Plattformen benutzt, wobei es auch Portierungen auf andere Plattformen gibt. Der Parser liegt als CBibliothek vor. Der Zugriff erfolgt über Schnittstellen. Vor der Benutzung muss der Parser erst für das Betriebssystem kompiliert werden. Mit zusätzlichen Bibliotheken, wie Libxslt können die Parserfunktionen erweitert werden. Zugriffsfunktionen und Erläuterungen sind in der API-Dokumentation zu finden. 11 2.4 Expat Eigenschaften pull/push-Parser (DOM, SAX) KEINE Validierung vom XML-Dokument mittels DTD/XSD-Dokument KEINE XPath/XPointer/XLink-Techniken KEINE stylesheet-Unterstützung (XSLT) spärliche API-Benutzerdokumentation weitere Eigenschaften o XML Parser Bibliothek in C geschrieben o Encodings: UTF-8, UTF-16, ISO-8859-1, US-ASCII o Plattform: Unix, Windows Voraussetzung Betriebssystem mit C-Compiler und C-Bibliotheken Installation Expat mit unzip oder Winzip entpacken gegebenenfalls Quellen kompilieren Benutzung Programmierung über externe Tools MakeFile Weiterentwicklung wird weiterentwickelt viele Entwickler benutzen den schnellen Parser und entwickelten dazu Erweiterungen Links Expat 1.95.6 http://expat.sourceforge.net/ http://www.xml.com/pub/a/1999/09/expat/index.html?page=1 Bewertung Expat ist ein einfacher in C geschriebener Parser, der Aufgrund seiner Kompaktheit sehr schnell große XML-Dokumente parsen kann. Die Dokumentation ist allerdings etwas spärlich. 12 3 XML-Editoren 3.1 XmEdil Eigenschaften validiert ein XML-Dokument mittels DTD/XSD-Dokumenten variierbare Farbkodierungen teilautomatische tag-Vervollständigung (Tastaturkürzel) undo/redo drag & drop KEINE Baumanzeige Detailanzeige während dem Schreiben browser-Vorschau XSLT Transformationen (XSLT-Stysheet muß dem XML-Dokument zugewiesen werden) XPath/XPointer-Unterstützung Projektmanagement ausführliche Benutzerdokumentation KEINE plug-in Erweiterungen Druckerunterstützung weitere Eigenschaften o Programmierhelfer o beta-Version o Sprache: englisch o Plattform: Windows Oberfläche grafische Benutzeroberfläche Voraussetzung Windowsbetriebsystem Installation windowstypische einfache Installation 13 Benutzung leichte intuitive Bedienung (englisch Kenntnisse erforderlich) übersichtliche Menüs vordefinierte Tasten zum schnellen Zugriff auf Menüpunkte Benutzeroberfläche 14 Links XmEdil 0.3.1 (beta) http://www.xmedil.com/ Bewertung Der Editor ist zwar noch eine Beta-Version, aber sie funktioniert sehr gut. Das Schreiben der Dokumente erfolgt im Quellcode. Über Tastaturkürzel lassen sich einfach Elemente, Attribute usw. in den Quellcode einfügen. Bei der Editierung von XSLT/XSD-Dokumenten werden die möglichen tag-Elemente bzw. Attribute in extra Fenstern angezeigt und lassen sich als Codesegmente in den Quellcode einfügen. Durch die Erstellung von Projekten, lassen sich Dokumente leichter verwalten. Die Hilfe zum Editor ist sehr ausführlich. Es lohnt sich ein Blick hineinzuwerfen. 15 3.2 Morphon Eigenschaften validiert ein XML-Dokument mittels DTD/XSD-Dokumenten feste Farbkodierungen KEINE tag-Vervollständigung undo/redo KEIN drag & drop Baumanzeige Detailanzeige browser-Vorschau KEINE XSLT-Transformation XPath/XPointer-Unterstützung KEIN Projektmanagement ausführliche Benutzerdokumentation plug-in Erweiterungen Druckerunterstützung weitere Eigenschaften o Javabasierter XML-Editor o multi-platform fähig o Tastaturbelegung veränderbar o unterstützt Unicode 3.0 o CSS-Editor verfügbar o verschiedene Anzeigenmodie o Sprache: englisch, französisch, holländisch o Plattform: JAVA Oberfläche grafische Benutzeroberfläche Voraussetzung virtuelle Java-Maschine 10 mb Festplattenspeicher 32 mb RAM Installation windowstypische einfache Installation Unix-Install-BIN Archive ohne Installationsprogramm 16 Benutzung leichte intuitive Bedienung (englisch Kenntnisse erforderlich) übersichtliche Java-Menüs spartanische Anzeige beim Quellcode Benutzeroberfläche 17 Links Morphon 3.1.1 http://www.morphon.com/ Bewertung Die Erstellung von Dokumenten im Morphon Editor erfolgt über Element- und Attributeinfügungen in extra dafür vorgesehenen Fenstern. Die erstellten Komponenten werden als Knoten in dem Dokument-Baum eingefügt und im Baumanzeigefenster sichtbar. Ebenso erscheint die Eingabe als Ergebnis im Hauptfenster. Über die Tasten STRG+U bzw. über den Menüpunkt "view" lässt sich die Ansicht auf den Quellcode umstellen. In dieser Ansicht gibt es allerdings keine weitere Unterstützung für die Editierung vom Quellcode. Der Editor ist sehr gut für die ergebnisorientierte Entwicklung geeignet, vor allem in Verbindung mit CSS-Stylesheets, z.B. wenn ein CSS-Stylesheet vorhanden ist und am XML-Dokument Veränderungen bzw. neue Elemente hinzugefügt werden, so wird das Ergebnis sofort im Hauptfenster sichtbar. Die Hilfe zum Editor ist sehr ausführlich. Es lohnt sich ein Blick hineinzuwerfen. 18 Aufgrund der Entwicklerplattform JAVA, ist der Editor leicht auf jegliche Systemplattform, wo eine JAVA-Laufzeitumgebung verfügbar ist, transferierbar. 19 3.3 Bonfire Studio Eigenschaften validiert ein XML-Dokument mittels DTD/XSD-Dokumenten variierbare Farbkodierungen KEINE tag-Vervollständigung undo/redo drag & drop Baumanzeige KEINE Detailanzeige browser-Vorschau XSLT-Transformationen XPath/XPointer-Unterstützung Projektmanagement Benutzerdokumentation KEINE plug-in-Erweiterungen Druckerunterstützung weitere Eigenschaften o Sprache: englisch o Plattform: Windows Oberfläche grafische Benutzeroberfläche Voraussetzung Windows Betriebsystem MSXML-Parser ab 3.x Installation windowstypische einfache Installation Benutzung leichte intuitive Bedienung (englisch Kenntnisse erforderlich) übersichtliche Menüs schneller Wechsel der einzelnen Ansichten 20 Benutzeroberfläche 21 Links Bonfire Studio 1.4 http://www.nzworks.com/bonfire/ Bewertung Das Erstellen der Dokumente erfolgt im Quellcode. Der Editor bietet keine Unterstützung um Codesegmente zu erstellen. Vorteilhaft ist der schnelle Wechsel zur guten Baumansicht oder zur Ergebnisanzeige, sofern ein Stylesheet explizit dem XML-Dokument zugewiesen wurde. Die Validierung erfolgt am schnellsten über Tastaturkürzel (F8), damit erspart man sich die umständliche Klickerei auf Tools/Validate. Projektverwaltung wird unterstützt. Die Hilfe liefert einen Überblick über den Editor. 22 3.4 Cooktop Eigenschaften validiert ein XML-Dokument mittels DTD/XSD-Dokumenten variierbare Farbkodierungen KEINE tag-Vervollständigung undo/redo drag & drop umständliche Baumanzeige KEINE Detailanzeige browser-Vorschau XSLT-Transformationen und Ergebnisanzeige XPath/XPointer-Unterstützung KEIN Projektmanagement wenig informative Benutzerdokumentation fest vorgegebene plug-in-Erweiterungen Druckerunterstützung weitere Eigenschaften: o frei definierbare „Code Bits“-Bibliothek (Codeblock-Bibliothek) o tidy-Unterstützung o Sprache: englisch o Plattform: Windows Oberfläche grafische Benutzeroberfläche Voraussetzung Windows Betriebsystem Installer von Microsoft ab 1.x Installation windowstypische einfache Installation Benutzung leichte intuitive Bedienung (englisch Kenntnisse erforderlich) übersichtliche Menüs vordefinierte Tasten zum schnellen Zugriff auf Menüpunkte 23 Benutzeroberfläche 24 Links Cooktop 2.5 für Win2000/NT Cooktop 2.2 für Win98 http://www.xmlcooktop.com/ Bewertung Das Erstellen der Dokumente erfolgt im Quellcode. Über eine frei definierbare Code-Bibliothek können schnell Codesegmente eingefügt werden. Das Editierfenster besitzt 5 Unterfenster, zum einen Fenster für XML- und XSLT-Dokumente, eine XPath Console und 2 Ergebnisfenster, wobei in einem Fenster nur HTML-Ergebnisausgaben angezeigt werden. Die Baumanzeige ist über das Tastaturkürzel STRG+3 zu erreichen. Leider bleibt die Anzeige nicht erhalten. Die Funktion dieser Anzeige dient hauptsächlich zur Übersichtanzeige und zur schnellen Navigation durch die Struktur. Der Editor ist gut für die Erstellung von Stylesheets, zur schnellen Ergebniskontrolle, geeignet. Die Hilfe ist sehr spartanisch. 25 4 Bewertung 4.1 Parser Die Wahl des Parsers hängt von mehreren Faktoren ab unter anderem, Anwendungsbereich, Plattform, Funktionsumfang usw. Bei einer Windowsplattform wird hauptsächlich MSXML eingesetzt werden, bei Abneigung gegen diesen Parser empfiehlt sich Xerces mit zusätzlichen Entwicklerpaketen. Wird ein schneller Parser benötigt, ohne das eine Validierung erfolgen soll, dann empfiehlt sich Expat. 4.2 Editoren Für die Wahl des Editors trifft in etwa das gleiche zu, wie bei den Parsern. Entsprechend dem Anwendungsbereich bzw. der Plattform oder Funktionsumfang empfiehlt sich der eine oder andere Editor. Für die Entwicklung von XML-Dokumenten mit CSS-Stylesheets sollte Morphon die erste Wahl sein. Für die Entwicklung von XML-Dokumenten mit XSLT-Stylesheets ist jeder der 3 anderen Editoren brauchbar. 26 5 Internetverzeichnis Parser MSXML - http://www.microsoft.com oder http://www.topxml.com/parsers/default.asp Xerces - http://xml.apache.org/ Libxml2 - http://xmlsoft.org/ Expat - http://expat.sourceforge.net/ für Delphi: XML Parser for Delphi http://www.icom-dv.de/products/xml_tools/uk_xml_parser_01.php3 MXP1 (XPP3) - http://www.extreme.indiana.edu/xgws/xsoap/xpp/mxp1/ NanoXML - http://web.wanadoo.be/cyberelf/nanoxml/ Oracle’s XDK - http://otn.oracle.com/tech/xml/xdk_java/content.html Pull Parser - http://www.xmlpull.org/ Editoren XmEdil - http://www.xmedil.com/ Morphon - http://www.morphon.com/ Bonfire Studio - http://www.nzworks.com/bonfire/ Cooktop - http://www.xmlcooktop.com/ für Macintosh: ElfData XML Editor - http://www.elfdata.com/xmleditor/ für Linux: Xerlin - http://www.xerlin.org/ Peter’s XML Editor - http://www.iol.ie/~pxe/ eXeed - http://www.aparto-soft.com/eXeries/eXeed/index_en.html firstobject - http://www.firstobject.com/ XRay2 - http://architag.com/xray/ 27