Datum der Erstellung 29.07.2003
Autor Sven Siewczynski
Inhaltsverzeichnis
1 Kriterien...5
1.1 Parser...5
1.2 Editoren...5
2 XML-Parser...6
2.1 MSXML 4.0...6
2.2 Xerces...8
2.3 Libxml2...10
2.4 Expat...12
3 XML-Editoren...13
3.1 XmEdil...13
3.2 Morphon...16
3.3 Bonfire Studio...20
3.4 Cooktop...23
4 Bewertung...26
4.1 Parser...26
4.2 Editoren...26
5 Internetverzeichnis...27
API Application Programming Interface
ASCII American Standard Code for Information Interchange CSS Cascading Style Sheet
DOM Document Object Model
DSSSL Document Style Semantics and Specification Language DTD Document Typ Definition
ISO International Organization for Standardization
SAX Simple API for XML
UTF Unicode Transformation Format W3C World Wide Web Consortium XML eXtensible Markup Language XPath Xml Path language
XPointer Xml Pointer language
XSD Xml Schema Definition language XSL 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.
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
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/
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 Apache- Projekt 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/
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 C-Bibliothek 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.
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
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
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.
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
19
Benutzeroberfläche
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.
21
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
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.
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.
25
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/