Master d Informatique Examen janvier 2011



Documents pareils
Programmation des Applications Réparties. Parsers XML DOM et SAX

Master d Informatique Corrigé du partiel novembre 2010

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Gestion Électronique de Documents et XML. Master 2 TSM

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

BD et XML : Exercices

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

HTML. Notions générales

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

4. SERVICES WEB REST 46

Document Object Model (DOM)

XML et Bases de données. Les bases de données XML natives.

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Compte Rendu d intégration d application

Master Technologies numériques appliquées à l'histoire Deuxième année

Adobe Technical Communication Suite 5

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

< Atelier 1 /> Démarrer une application web

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Élaborer une production dans un contexte collaboratif. Michel Futtersack, Faculté de Droit, Université Paris Descartes, Sorbonne Paris Cité

SII Stage d informatique pour l ingénieur

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

SECTION 5 BANQUE DE PROJETS

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

A. Structurer le catalogue. v Dans le menu Catalogue, sélectionnez Catégories. 1. Les catégories. Chapitre 6 : Construire le catalogue ...

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Les structures de données. Rajae El Ouazzani

Générer du code à partir d une description de haut niveau

Programmation Internet Cours 4

Par KENFACK Patrick MIF30 19 Mai 2009

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Module : programmation site Web dynamique Naviguer entre les pages via site map

Optimiser pour les appareils mobiles

Initiation à html et à la création d'un site web

Plateforme PAYZEN. Définition de Web-services

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

chapitre 4 Nombres de Catalan

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Manuel d'utilisation. Ticket Center Manuel d'utilisation. Ticket Center 2: mai AdNovum Informatik AG. Mis en circulation

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Etude et développement d un moteur de recherche

Production de documents avec XSLT. Production de documents p.1/??

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Exercices de dénombrement

Université Paris-Dauphine DUMI2E 1ère année, Applications

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

les techniques d'extraction, les formulaires et intégration dans un site WEB

Introduction aux concepts d ez Publish

EXPOSE. La SuisseID, qu est ce que c est? Secrétariat d Etat à l Economie SECO Pierre Hemmer, Chef du développement egovernment

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Mysql avec EasyPhp. 1 er mars 2006

Réseaux. 1 Généralités. E. Jeandel

Obtention via HTTP des fichiers PDF générés par le service de SMS/MMS certifiés

Le serveur web Windows Home Server 2011

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Archivage pérenne : les formats conformes Version :

Cours 1 : introduction

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Le modèle de données

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Serveur d Applications Web : WebObjects

Module BD et sites WEB

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Programmation Web. Madalina Croitoru IUT Montpellier

Bases de données avancées Introduction

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Tutoriel : Feuille de style externe

Utiliser Access ou Excel pour gérer vos données

PROSOP : un système de gestion de bases de données prosopographiques

Le langage SQL Rappels

Informatique : Création de site Web Master 2 ANI TP 1

Définition des Webservices Ordre de paiement par . Version 1.0

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Outils logiciels pour l'ingénierie documentaire

1. Installation du Module

ech-0148 Motifs d annonce Entreprises - taxes de domaine

GUIDE DE L UTILISATEUR

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Aide à la prise en charge / PEC+ Utilisation dans les logiciels Mélusine Taxi Live

BES WEBDEVELOPER ACTIVITÉ RÔLE

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

données en connaissance et en actions?

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Transcription:

Université de Provence Technologies XML Master d Informatique Examen janvier 2011 Année 2010-11 Notes de cours autorisées Vous rendrez vos réponses sur les copies anonymes que l on vous a distribuées. Les exercices peuvent être traités dans le désordre. Le barème n est donné qu à titre indicatif et pourra être modifié. Dans l ensemble du sujet, nous considérons des documents XML permettant de décrire l organisation interne d une entreprise. Un tel document est organisé suivant les règles suivantes : la balise racine est organisation la balise racine possède deux éléments fils, services et employes, dans cet ordre la balise services contient un élément fils nommé service pour chaque service de l entreprise décrit dans le document la balise employes contient un élément fils nommé employe pour chaque employé de l entreprise décrit dans le document chaque service est décrit de la façon suivante : il possède un attribut nommé num lui donnant un identifiant il contient un élément fils nommé nom contenant son nom il peut contenir un élément fils vide nommé responsable possédant un attribut nommé nom, et référençant un employé. chaque employé est décrit de la façon suivante : il possède un attribute id lui donnant un identifiant il possède un élément nom contenant son nom il possède (éventuellement) un élément prenom contenant son prénom il possède un élément activites qui décrit les services dans lesquels il intervient. Cet élément contient des éléments activite, qui sont vides, mais possèdent un attribut nommé ref, et qui fait référence à un élément service défini ailleurs il peut posséder un élément details, optionnel, qui peut contenir les informations suivantes (chacune de ces informations est optionnelle) : un élément age contenant l âge un élément sexe contenant le sexe Un exemple (simple) de document respectant ces contraintes est donné dans l annexe page 5 par le document 1. Exercice 1 : DTDs (2 points) Donnez une DTD décrivant les documents XML utilisés pour l organisation d une entreprise. Le document 1 doit être valide par rapport à votre DTD, et de plus elle doit vérifier les critères énoncés dans l introduction. Exercice 2 : Requêtes XPath et XQuery (7,5 points) Nous considérons toujours les documents XML utilisés pour l organisation d une entre- 1

prise. Les requêtes que vous écrirez par la suite doivent naturellement être valables pour n importe quel document XML suivant la spécification décrite dans l introduction. 1. Requêtes XPath (2,5 points = 5 0,5 points) Donnez des requêtes XPath pour sélectionner les éléments suivants. Décrivez (en français) le contenu du résultat de chaque requête pour le document 1 sans donner tout le code XML renvoyé. (a) les employés dont le nom de famille est Willey. (b) les noms de famille des employés dont l âge est supérieur ou égal à 50 ans. (c) les noms de famille des employés travaillant dans le service de comptabilité (en sachant que l identifiant de ce service est compta ). (d) les identifiants des employés travaillant dans au moins deux services. (e) compter le nombre de personnes impliquées dans le service de direction. 2. Documents XQuery (5 points) Pour chacune des questions suivantes, donnez une requête XQuery permettant de construire le document demandé. (a) On souhaite modifier légèrement le document XML : nous voulons conserver la partie services inchangée, et dans la partie employés, modifier la façon dont les noms des employés est stockée. Nous voulons fusionner les nom et prénom, en mettant d abord le prénom, et en plaçant le tout dans une balise identité. Par exemple, pour les deux premiers employés de l exemple, nous devons obtenir : <employe id="ralf"> <identite>ralf Krecker</identite> <age>29</age> <sexe>homme</sexe> <employe id="joe"> <identite>joye Willey</identite> <activite ref="direction"/> (b) Nous supposons que le document est à nouveau dans son état initial. Nous voulons à présent l aplatir, c est-à dire qu il ne contienne que la partie services, mais dans laquelle on donne explicitement les employés dans chaque service. De plus, 2

dans cette question, on ne conserve pas l information concernant le responsable. Un élément service contiendra donc une balise nom puis une balise employes, qui contiendra tous les employés effectivement affectés à ce service. Ici, les éléments employe ne contiendront donc plus de balise activites. Ils ne contiendront plus non plus d identifiant. Vous pouvez pour réaliser cela définir des fonctions, par exemple une fonction recopiant un employé en enlevant la partie activites. Par exemple, pour le premier service, on doit obtenir : <service num="direction"> <nom>direction</nom> <employes> <nom>willey</nom> <prenom>joey</prenom> <nom>nick</nom> <age>35</age> </employes> (c) Modifiez la requête construite à la question précédente pour conserver l information concernant le responsable du service. Pour cela, on ajoutera à l employé responsable du service un élément vide responsable. Par exemple pour le premier service, on doit obtenir : <service num="direction"> <nom>direction</nom> <employes> <nom>willey</nom> <prenom>joey</prenom> <responsable/> <nom>nick</nom> <age>35</age> </employes> 3

Exercice 3 : Transformations XSLT (5 points) Affichage XSL (2,5 points) Proposez une requête XQuery permettant de construire la page web (X)HTML dont un extrait est représenté dans le document 2 page 6. Bien sûr, votre transformation doit pouvoir être appliquée à n importe quel document XML du même type que celui considéré en exemple dans ce sujet. Notez la présentation des détails des employés, des responsabilités éventuelles... Production XSL-FO (2,5 points) Ecrivez un document XSLT permettant la production d un document XSL-FO pour réaliser la présentation de l organisation de l entreprise. Ce catalogue présentera un contenu proche de celui de la page web réalisée précédemment. Plus précisément, on isolera une première page contenant le titre du document, la liste des services de l entreprise et le nombre d employés. Les pages suivantes présenteront les employés un par un, comme cela est fait dans la page web. Exercice 4 : APIs Java (2 points) Ecrivez une extension de la classe SimpleSaxParser permettant d afficher les noms de famille des employés de l entreprise travaillant pour le service Comptabilité. Attention, vous ne connaissez pas a priori l identifiant de ce service. Exercice 5 : Automates d arbres (3,5 points) DTDs. Nous considérons les deux DTD suivantes : DTD 1 : <!ELEMENT gene (dtype rtype)*)> <!ELEMENT rtype (#PCDATA)> <!ELEMENT dtype (age,year,size)> <!ELEMENT age (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ELEMENT size (#PCDATA)> DTD 2 : <!ELEMENT spec (dtype rtype)*)> <!ELEMENT rtype (#PCDATA)> <!ELEMENT dtype (year,size)> <!ELEMENT year (#PCDATA)> <!ELEMENT size (#PCDATA)> 1. Pour chaque DTD, donnez un automate d arbre descendant déterministe associé à cette DTD. 2. Donnez un automate descendant déterministe reconnaissant l union des deux DTDs. 3. Existe-t-il une DTD permettant de décrire cette union? Expliquez pourquoi. Automates. Nous considérons les arbres binaires (tout noeud a exactement 0 ou 2 fils) construits sur les deux symboles a et b. Donnez un automate d arbre ascendant déterministe permettant de reconnaître les arbres binaires de cette nature dont le nombre de noeuds étiquettés par un a est pair. Vous expliquerez avec précision les différents éléments permettant de construire votre automate. 4

Annexes Document 1 : Un document de gestion d entreprise <organisation> <services> <service num="direction"> <nom>direction</nom> <responsable nom="joe"/> <service num="compta"> <nom>comptabilite</nom> <service num="com"> <nom>communication</nom> <responsable nom="nick"/> </services> <employes> <employe id="ralf"> <nom>krecker</nom> <prenom>ralf</prenom> <age>29</age> <sexe>homme</sexe> <employe id="joe"> <nom>willey</nom> <prenom>joey</prenom> <activite ref="direction"/> <employe id="nick"> <nom>nick</nom> <activite ref="com"/> <activite ref="direction"/> 5

<age>35</age> </employes> </organisation> Document 2 : Présentation HTML de l entreprise <html> <head> <title>organisation de l entreprise</title> </head> <body> Les employés sont <li><p> Ralf Krecker, Homme de 29 ans. <li>comptabilité</li> </p></li> <li><p> Joey Willey. <li>comptabilité</li> <li>direction, responsable</li> </p></li> <li><p> Nick, 35 ans. <li>communication, responsable</li> <li>direction</li> </p></li> </body> </html> 6