Der Kurs wird vom Autor von lxml gehalten, der führenden XML-Bibliothek für Python.
Dieser Kurs richtet sich an Programmierer mit Python-Erfahrung. Basiskenntnisse von XML sind hilfreich, werden jedoch nicht vorausgesetzt.
Die eXtensible Markup Language, XML, hat sich seit ihrer Einführung 1998 längst zur Standardsprachfamilie für portable Datenformate entwickelt. Wichtige Dokumentenformate wie das von OpenOffice verwendete Open Document Format (ODF) oder Microsoft's sogenanntes OpenXML-Format bauen ebenso darauf auf wie das Netzwerk-Applikationsprotokoll SOAP. Zahlreiche Schnittstellen zum Datenaustausch zwischen Business-Anwendungen verwenden XML-Formate, teilweise standardisiert, teilweise proprietär oder ad-hoc erstellt. Konfigurationsdateien für Software-Anwendungen werden oft in XML realisiert. Und auch im Web-Umfeld ist XML dank RSS-Feeds und konfigurierbaren Browser-GUIs (XHTML, XUL) nicht mehr wegzudenken.
Die Unterstützung von XML in Programmiersprachen hat sich seit den frühen Tagen wesentlich verbessert. Entwickler können heute auf sehr effiziente Werkzeuge zurückgreifen, die die Verwendung von XML merklich erleichtern. Insbesondere für die Programmiersprache Python existieren hier sehr leistungsfähige Tools, die ihren Hauptkonkurrenten aus der Java-Welt bezüglich Performance und insbesondere Benutzbarkeit ein gutes Stück voraus sind.
Ziel des Kurses ist es, ein Verständnis für XML und wichtige XML-Technologien zu entwickeln und die dafür vorhandenen Werkzeuge anhand von Beispielen anwenden zu lernen.
Der Kurs vermittelt zu Beginn ein grundlegendes Verständnis von XML (speziell des XML Infosets) und einigen Anwendungen. Der Hauptteil des Kurses beschäftigt sich dann mit der effizienten Verarbeitung von XML (und in Ansätzen HTML) in Python, für das sehr schnelle und besonders einfach zu nutzende Werkzeuge existieren.
Anwendung finden dabei sowohl die ElementTree Bibliothek, die in der Python Standardbibliothek (seit Version 2.5) vorhanden ist, als auch die frei verfügbare lxml Bibliothek, die eine kompatible Schnittstelle bietet, jedoch zusätzlich eine Fülle an interessanten XML-Features.
- XML und das XML Infoset
- XML Namespaces
- Umgang mit verschiedenen XML-Formaten
- Parsen und Serialisieren von XML-Dateien
- Extrahieren von Informationen (Baum-Navigation, XPath, CSS-Selektoren)
- Verarbeiten und Transformieren von XML-Daten im Hauptspeicher
- Generieren von XML-Daten
- Stream-Verarbeitung großer XML-Dateien die nicht in den Hauptspeicher passen
- Erstellung eigener XML-Formate
- Validierung von XML-Formaten mit XML-Schemasprachen (z.B. RelaxNG, Schematron)
- Abbildung von XML-Daten auf Python-Objekte (lxml.objectify)
- Erstellung eigener, anwendungsspezifischer XML-APIs mit lxml
- Einführung in Stylesheet-Transformationen (XSLT)
1 Tag
Stefan Behnel ist als Senior Software Developer bei der Senacor Technologies AG tätig. Dort kümmert er sich vor allem um Datenintegration in großen Server-Systemen und Entwickler-Tooling. Daneben arbeitet er freiberuflich als Berater und Software-Entwickler im Umfeld von Python und Open-Source. Er zeichnet sich für die High-Performance XML-Bibliothek "lxml" verantwortlich und ist Mitentwickler des optimierenden Python-nach-C Compilers "Cython".
Stefan Behnel hat sein Informatikstudium an verschiedenen europäischen Universitäten absolviert. Seinen Master-Abschluss mit der Spezialisierung auf Netzwerke und Verteilte Systeme erhielt er an der Université des Sciences et Technologies de Lille in Nordfrankreich. Nach einem Intermezzo als Web-Entwickler schrieb er schließlich an der Technischen Universität Darmstadt seine Doktorarbeit im Bereich Software-Design für selbstverwaltende Overlay-Netzwerke und wurde in der Fachgruppe "Datenbanken und Verteilte Systeme" promoviert.
Kundenstimmen
We had a wide range of Python experience in our group and each person gained something valuable to take away....
Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zürich, Schweiz mehr dazu ...
Den Kurs kann ich bedingungslos allen empfehlen, die innert kurzer Zeit
zu einer produktiven Arbeit mit Python kommen wollen.
Dr. med. Beat Meister, Bern
mehr dazu ...
The standard Python for programmers and the customized "Python for Experts"
course where a great success. ...
Bart Hillaert, Alcatel-Lucent Belgien
mehr dazu ...
[The trainer] knows well what scientists need, so his hints are very practical and valuable. The hands-on course [..] covers a wide range of examples and will be very helpful in my daily work. ...
Dorota Jarecka, University of Warsaw about the course "Python for Scientists and Engineers" mehr dazu ...
The course "Python for Scientists and Engineers" is a very useful
introduction to Python programming for scientific applications ...
Dr. Mihai Duta, Oxford Supercomputing Centre
mehr dazu ...
Sehr gute Einführung in die Programmiersprache ...
Matthias Enderle
mehr dazu ...
Kurs "Python für Programmierer", 17. - 19. September, 2010
details ...
Nächster Pythonstammtisch am 21. September 2010
mehr dazu ...
Kurs "Python für Programmierer", 10. - 12. November, 2010
details ...
Kurs "Django Python Web-Framework", 29. November - 01. Dezember 2010
details ...