thesis

Langage de combinateurs pour XML : conception, typage, implantation

Defense date:

Jan. 1, 2008

Edit

Institution:

Paris 11

Disciplines:

Authors:

Abstract EN:

This thesis details the theoretical and practical study of a language of combinators for XML. XML documents, which are a de facto standard used to represent heterogeneous data in a structured and generic way so that they can be easily shared by many programs, are usually manipulated by all-purpose languages (JAVA, C,. . . ). Alongside these languages, one finds specialised languages, designs specifically to deal with XML documents (retrieving information from a document, transforming from a document format to another. . . ). We focus on statically typed languages. It is indeed possible to specify the ''shape'' of a document (sets of tags, order,. . . ) by the mean of a schema. Statically typed languages perform a static analysis of the source code of the program to ensure that every operation is valid with respect to the schema of a processed document. The analysis is said to be static because it only relies on the source code of the program, not on any runtime information or document sample. This thesis presents the theoretical foundations of a language for manipulating XML documents, in a statically typed way. It also features a practical study as well as an implementation of the formal language. Lastly, it presents many use case of type based optimisation in the context of XML processing (transformation, loading of a document in memory. . . ).

Abstract FR:

Cette thèse détaille l'étude théorique et pratique d'un langage de combinateurs pour XML. Les documents XML, standard de fait permettant de représenter des données hétérogènes de manière structurée et uniforme de manière à ce qu'elles soient réutilisable par plusieurs programmes, sont traditionnellement manipulés par des langages généralistes (JAVA, C,. . . ). Parallèlement à ces langages généralistes existent des langages spécialisés, dont le seul but est le traitement de document XML (récupération d'information dans un document, transformation d'un format de document vers un autre. . . ). On s'intéresse plus particulièrement aux langages spécialisés à typage statique. En effet, il est possible de spécifié précisément la « forme » d'un document XML (balises qu'il contient, ordre,. . . ) au moyen d'un schéma. Les langages statiquement typés effectuent une analyse statique du code du programme pour vérifier qu'aucune opération ne viole les contraintes spécifiées dans le schéma d'un document traité. L'analyse est dites statique en cela qu'elle ne repose que sur le code du programme et non sur des exemples de documents ou d'informations disponibles lors de l'exécution du programme. Cette thèse présente les fondements théoriques d'un langage de manipulation de document XML, typé statiquement. Elle propose aussi une implantation ainsi qu'une étude de son utilisation en pratique. Elle présente aussi plusieurs cas d'utilisation du typage statique pour l'optimisation d'opérations sur les documents XML (transformation, chargement en mémoire. . . ).