icon_python.png

Utiliser XML avec Python

PYTHON-XML2 jours

Objet

Python est un langage puissant, orienté objet, convenant parfaitement à la majorité des travaux de développement d'applications et d'interfaces graphiques. Se servir de Python pour développer des services Web, des sites dynamiques connectés à des bases de données, des applications manipulant des données XML ou des logiciels fédérant différentes applications existantes est en effet l'une des meilleures solutions disponibles actuellement, à la fois en termes de performances et d'efficacité. De nos jours, XML a pris un rôle stratégique aussi bien dans l'échange de données entre applications que dans l'édition de contenu, c'est pourquoi Python propose dans sa bibliothèque standard un ensemble très complet d'outils permettant de manipuler ce langage. Cet ensemble est complété par d'autres outils plus spécifiques disponibles dans des bibliothèques spécialisées de Python.
La formation proposée ici se déroule sur deux jours et s'adresse à des auditeurs connaissant déjà le langage Python. Après une description du langage XML et des standards qui l'entourent, elle présente différents moyens de lire, écrire, manipuler, et valider du XML dans Python. Des modules permettant des utilisations spécialisées de XML sont également évoqués.
La formation comporte une large part de travaux pratiques permettant de mettre en œuvre immédiatement les concepts ayant été vus dans le cadre du cours.


Public visé

Ce cours s'adresse aux personnes souhaitant apprendre à utiliser et manipuler des documents XML avec le langage Python.


Pré-requis

Connaissance de Python et du modèle Objet. Une connaissance préalable de XML n'est pas nécessaire.


Programme

Le langage XML

  • Introduction à XML

    historique et principe des langages à balises, concept d'espace de nommage (namespace), divers standards XML, divers moyens pour mettre en forme, afficher ou utiliser les données XML (SAX, DOM, CSS, XSL, XSLT).
  • Syntaxe de XML

    structure d'un document, éléments, attributs, document bien formé.
  • Structure de XML

    espaces de nommage (namespaces), écriture et utilisation d'une DTD, limitations des DTD, écriture et utilisation d'un XML Schema.

SAX, Simple API for XML

  • Lecture de XML avec SAX

    architecture générale, présentation des interfaces de fichier et des gestionnaires, utilisation des gestionnaires.
  • Module Python pour SAX

    utilisation de xml.sax pour lire du XML.

ElementTree (xml.etree)

  • Présentation de ElementTree

    architecture générale, présentation des principales classes et fonctions.
  • Lire du XML avec ElementTree

    utilisation de xml.etree pour lire du XML. Limitations.
  • Écrire du XML avec ElementTree

    utilisation de xml.etree pour écrire du XML. Limitations.

lxml

  • Présentation de lxml

    architecture générale, présentation des principaux modules, apports par rapport à ElementTree.
  • Lire du XML avec lxml

    utilisation de lxml.etree pour lire du XML. Différences avec ElementTree. Limitations.
  • Écrire du XML avec lxml

    utilisation de lxml.etree pour écrire du XML. Différences avec ElementTree. Limitations.
  • Valider du XML avec lxml

    Présentation des différentes possibilités (XML Schema, RelaxNG, Schematron, DTD). Comparaison.
  • Aller plus loin avec lxml

    Utilisation de lxml.objectify. Utilisation de XPath pour sélectionner des nœuds XML. Utilisation de XSLT pour transformer des arbres XML.

Synthèse

  • Travailler avec du XML sous Python

    Synthèse des possibilités (SAX, ElementTree, lxml), différences, critères de choix.


Adaptations possibles

Cette formation peut être adaptée afin de répondre au mieux à vos besoins. En particulier, il est possible d'approfondir certains modules de traitement du XML selon les désirs des auditeurs. Logilab dispose aujourd'hui d'une palette très large de modules pédagogiques permettant la personnalisation de ses formations.
L'adaptation des cours en intra-entreprise est quasiment systématique. N'hésitez pas à demander conseil à notre service commercial.


Conditions

Il est possible d'organiser, à votre demande, une ou plusieurs sessions en intra-entreprise (sur site) n'importe où en France ou en Europe.
Chaque participant à la formation dispose d'un exemplaire personnel du support de cours et du manuel d'exercices.

Durée

2 jours soit 14 heures.

Langue

Au choix, française ou anglaise

Intervenant

Tous les intervenants animant cette formation bénéficient de compétences pédagogiques reconnues. D'autre part, ils participent activement au développement du langage Python et ont pris part à la mise en place de certains modules de manipulation du XML.

Travaux pratiques

Cette formation accorde une place prépondérante aux travaux pratiques qui permettent, tout au long du cours, de mettre en œuvre et assimiler les concepts théoriques.

Intra-entreprise

  • groupes de 10 personnes maximum
  • 2 journées