DTD et schémas XML avec oxygen



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

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Traitement de texte : Quelques rappels de quelques notions de base

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

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

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

et de la feuille de styles.

Le service de création de site Internet : Mode d emploi. La Création de Site Internet

Tutoriel. Votre site web en 30 minutes

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

EXTRANET STUDENT. Qu'est ce que Claroline?

MEDIAplus elearning. version 6.6

Edutab. gestion centralisée de tablettes Android

Premiers pas sur e-lyco

Climat Scolaire - Manuel utilisateur - Chapitre 2 : «Créer, Editer et suivi d un texte»

Découvrir OpenOffice Comment optimiser et formater votre ebook avec OpenOffice

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

PLAN. Qui peut faire quoi? Présentation. L'internaute Consulte le site public

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Classer et partager ses photographies numériques

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

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

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Guide pour la réalisation d'un document avec Open Office Writer 2.2

Dans la série. présentés par le site FRAMASOFT

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

GUIDE DE DEMARRAGE RAPIDE:

Notes pour l utilisation d Expression Web

Comment formater votre ebook avec Open Office

Créer une base de données

Administration du site (Back Office)

SOMMAIRE. Travailler avec les requêtes... 3

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

Freeway 7. Nouvelles fonctionnalités

@telier d'initiation

Outils logiciels pour l'ingénierie documentaire

SAUVEGARDER SES DONNEES PERSONNELLES

BIRT (Business Intelligence and Reporting Tools)

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

Publipostage avec Calc

l'ordinateur les bases

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Module SMS pour Microsoft Outlook MD et Outlook MD Express. Guide d'aide. Guide d'aide du module SMS de Rogers Page 1 sur 40 Tous droits réservés

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

Comment développer et intégrer un module à PhpMyLab?

Formation. Module WEB 4.1. Support de cours

Création d'un questionnaire (sondage)

Utilisation de l'outil «Open Office TEXTE»

Guide de démarrage rapide

Guide de démarrage rapide

Comment bien démarrer avec. NetAirClub GUIDE ADMINISTRATEUR V1.5. Table des matières

7.0 Guide de la solution Portable sans fil

Inspiration 7.5. Brève description d Inspiration. Avantages d Inspiration. Inconvénients d Inspiration

Solutions en ligne Guide de l utilisateur

Auguria_PCM Product & Combination Manager

Manuel d utilisation du site web de l ONRN

Reporting Services - Administration

Guide de démarrage Janvier 2012

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Google Drive, le cloud de Google

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

Antidote et vos logiciels

8 Mars Guide du Wiki Confluence

Mon aide mémoire traitement de texte (Microsoft Word)

Tune Sweeper Manuel de l'utilisateur

Manuel d'utilisation d'apimail V3

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus

Écriture de journal. (Virement de dépense)

MEGA ITSM Accelerator. Guide de Démarrage

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Cyberclasse L'interface web pas à pas

Didacticiel de mise à jour Web

Espace Client Aide au démarrage

CREER UN PETIT SITE WEB EN COMPOSANT DES PAGES HTML

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

Manuel d utilisation du web mail Zimbra 7.1

Installation et utilisation du client FirstClass 11

Access 2007 FF Access FR FR Base

GUIDE DE DÉMARRAGE RAPIDE

Mode d emploi base de données AIFRIS : Commande et inscriptions

Présentation de GnuCash

Créer un diaporama avec Open Office. Sommaire

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

TABLEAU CROISE DYNAMIQUE

FAQ Trouvez des solutions aux problématiques techniques.

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

DECOUVERTE DE LA MESSAGERIE GMAIL

Comment faire des étiquettes

Les outils de création de sites web

INTRODUCTION AU CMS MODX

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Transcription:

/travaux-dirigés/semaine 2 DTD et schémas XML avec oxygen Dans ce TP, il s'agit de commencer à utiliser un logiciel spécialisé pour faire du XML, de rechercher les fonctionnalités permettant de manipuler les concepts vus en cours jusque là, et en particulier, d'expérimenter comment les propriétés "bien formée" et "valide" sont testées. Les ordinateurs de travail sont des Mac sous système OS 10.5. Les logiciels utilisés sont : oxygen-editor pour travailler sur les fichiers XML (et donc les DTD et XSD), Firefox pour visualiser les fichiers XML. Concrêtement, il s'agit pour la propriété "bien formé", les fichiers XML produits précédement sont testés par l'outil adhoc, et le cas échéant, le code doit être modifié jusqu'à ce qu'il soit bien formé ; pour la propriété "valide", après avoir échangé les feuilles de styles mise au point par chacun des étudiant sur le fichier XML de son voisin, et observé le résultat, de trouver les outils qui permettent de calculer une DTD qui soit représentative de toute une classe de documents, et de restreindre la DTD apprise automatiquement sur le fichier XML pour pouvoir prévenir en avance si le fichier de style pourra être utilisé pour le fichier XML d'un autre étudiant et donner des résultats similaires à ceux attendus. Finalement, le fichier DTD est converti en schéma XML (.xsd) et la classe de document restreinte un peu plus finement en le modifiant. Quelques copies d'écran et explications sont fournies dans la rubrique /LicPro-XML/logiciels /oxygen-editor/ de ce site. Sur le plan des concepts, le but du TP est de se rendre compte au travers de l'utilisation du logiciel oxygen, de ce que signifie chacune de ces 2 qualités bien formé et Valide, fondamentales dans l'utilisation du langage XML. Un compte-rendu de TP est attendu pour mémoriser le contenu de ces travaux. CR-sem 2-ABourguignon.pdf CR-sem 2-AHely.pdf CR-sem 2-BAngebault.doc CR-sem 2-FRaulet.pdf CR-sem 2-JMatray.pdf CR-sem 2-JRousseaux.pdf CR-sem 2-TJankowski.pdf CR-sem2-PThery.pdf CR_sem 2-ELamourre.pdf CR_sem 2-TPineau.pdf http://www.tiprof.fr/licpro-xml/travaux-dirig%c3%a9s/semaine%202/ 1

HELY Adrien Licence Professionnelle 23 novembre 2009 XML Compte-Rendu de T.P. 2 XML "bien formé", XML "valide" DTD et Schéma XML Familiarisés avec la syntaxe XML, nous allons tenter désormais, au travers des fonctionnalités d'un logiciel dédié à l'édition XML, de générer des documents "bien formés" et "valides". A partir d'un document "bien formé" nous allons apprendre à écrire la DTD ou le schéma XML. Objectifs du TP Prendre en main le logiciel dédié au XML, <oxygen/> Utiliser le debugger intégré à oxygen pour vérifier un document XML Comprendre et se soumettre aux normes "bien formé" et "valide" Générer et modifier une DTD et un Schéma XML Logiciels utilisés <oxygen/> Editor (version Mac OS X) Safari Plan I - Vérification de la syntaxe, XML "bien formé" Introduction Définition XML "bien formé" <oxygen/> Editor, prise en main <oxygen/> Editor, outil de vérification de la forme du XML 2 - Création d'une DTD, XML "valide" Définition "XML Valide" Pour valider notre XML... Création de la DTD Réécriture de notre DTD 3 - Création d'un Schéma XML Introduction Transformation de notre DTD en XSD Syntaxe XSD Exemple de contrainte possible Firefox 1

I - Vérification de la syntaxe, XML "bien formé" 4Introduction Il s'agit dans cette première étape d'utiliser les outils intégrés du logiciel <oxygen/> Editor pour vérifier le bonne forme de notre document XML (le CV réalisé lors du premier TP) et, le cas échéant, corriger les erreurs pour qu'il devienne "bien formé". 4Définition XML "bien formé" Nous avons déjà abordé cette notion lors du premier TP. Pour rappel, le World Wide Web Consortium (W3C) qui en charge de la standardisation du XML, a défini une liste de critères qui doivent impérativement être satisfaits pour qu'un document soit considéré comme "bien formé". Ces critères concernent uniquement la syntaxe du document : Les documents XML doivent avoir un élément racine Les éléments XML doivent avoir une balise de fermeture Les balises sont "case sensitive" (sensible à la casse) Les éléments XML doivent être positionnés correctement Les valeurs d'attribut XML doivent toujours être entre guillemets 4<oXygen/> Editor, prise en main Ce logiciel est un puissant éditeur de XML et des langages qui lui sont associés (XSD, HTML, XSL, DTD, etc.) Petit état des lieux des avantages que l'on remarque dès l'ouverture d'un fichier : Un code couleur automatique permet de différencier les différents éléments de la syntaxe XML (PCDATA, balises, attributs, déclarations...) Une autre fonction utile : la complétion, qui permet entre autre de gagner du temps et d'éviter les erreurs lors de l'écriture. Le logiciel propose d'afficher l'arbre, la structure du document. 4<oXygen/> Editor, outil de vérification de la forme du XML Intéressons-nous maintenant à cette fonctionnalité de vérification de la syntaxe. Cette icône dans la barre d'outils (ou alors XML > "Vérifier que le document soit bien formé" ou encore Pomme+Shift+W) permet d'éxécuter la vérification automatique. Si le document comporte des anomalies de syntaxe, le logiciel inscrira alors une liste d'erreurs explicite à corriger. Ses fonctionnalités sont nombreuses, et nous n'utiliseront qu'une petite partie d'entre elles. Si, au contraire, le document ne comporte pas d'anomalies, il sera considéré comme "bien formé" (well-formed) et le logiciel ne retournera aucune erreur mais affichera plutôt en bas à droite le message : 2

2 - Création d'une DTD, XML "valide" 4Définition XML "valide" Le XML valide est un XML "bien formé" (qui répond donc à toutes les contraintes de syntaxe précédemment évoquées) et dont la structure respecte une DTD (ou un schéma XML). 4Pour valider notre XML... Le logiciel intégre une fonctionnalité de vérification du XML valide accessible via l'icône : <oxygen/> se refuse à valider notre CV en xml en l'état. Il nous affiche en effet, le message : Il va donc nous falloir créer une DTD puis l'associer à notre document XML pour le rendre "valide" 4Création de la DTD 41ère méthode : Le xml ouvert, on clique sur Outils > Générer/Convertir Schéma Avec cette seconde méthode, nous obtenons une DTD trop large, qui comporte des "ou" (barre verticale l ) partout. A nous de la retravailler manuellement pour qu'elle coincïde à nos besoins. En revanche cette méthode permet d'associer automatiquement le XML avec sa DTD; le logiciel ajoutant automatiquement la ligne suivante dans le prologue du XML : <!DOCTYPE cv SYSTEM "cv.dtd"> ("cv" correspond ici à l'élément racine du XML) 4Réécriture de notre DTD Quelle que soit la méthode choisie pour générer la DTD, il est impératif de la modifier pour qu'elle soit en parfaite cohérence avec la logique de notre document. Il est d'ailleurs préférable de choisir la seconde méthode et ainsi partir d'une DTD trop large pour la contraindre au fur et à mesure. Dans la boîte de dialogue qui s'ouvre on renseigne : en entrée : le format xml et le chemin de notre CV.xml en sortie : XML 1.0 DTD L'avantage de cette méthode réside dans le fait que nous obtenons une DTD relativement précise (pas trop large) 42nde méthode : La seconde méthode est à privilégier. Le xml ouvert, on clique sur Document > Document XML > Enregistrer la structure du document La DTD va permettre de définir un ensemble de règles pour la structure d'un document XML et la hiérarchisation des données. C'est dans le DTD que l'on va définir les balises (éléments,nœuds) pouvant être utilisées dans le document XML, auxquelles on pourra éventuellement adjoindre une définition d'attributs La DTD est tout simplement un modèle servant à définir votre langage de balises. 4Les ELEMENTS Pour déclarer un élément (correspondant à une balise) utilisable dans le xml. on utilise la ligne : <!ELEMENT nom_de_la_balise...> Pour déclarer des éléments fils on utilise une séquence entre paranthèse juste après le nom de la balise : <!ELEMENT etatcivil (civilite,nom,prenom,situfam,datenais)> civilite,nom,prenom etc. sont des éléments fils du noeud "etatcivil" 3

Voici un extrait de la DTD obtenue et retravaillée pour notre CV : <?xml encoding="utf-8"?> <!ELEMENT nom_elmt_parent (sous_elmt1, sous_elmt2,...)> La virgule ", " (équivalent d'un ET logique) dans la séquence implique que tous les éléments fils sont obligatoires et dans l'ordre où ils sont déclarés. <!ELEMENT nom_elmt_parent (sous_elmt1 sous_elmt2...)> La barre verticale " l " (équivalent d'un OU logique) dans la séquence implique qu'un seul des éléments peut être utilisés (sans être obligé d'utiliser tous les autres). <!ELEMENT nom_elmt_parent (sous_elmt1?, sous_elmt2,...)> Le signe "? " permet de rendre un élément optionnel, il sera présent 0 ou 1 fois <!ELEMENT nom_elmt_parent (sous_elmt1+, sous_elmt2,...)> Avec le signe " + " l'élément sera présent 1 ou plusieurs fois. <!ELEMENT nom_elmt_parent (sous_elmt1*, sous_elmt2,...)> Avec le signe " * " l'élément sera présent 0, 1 ou plusieurs fois <!ELEMENT element (#PCDATA)> (#PCDATA) indique que l'élément défini contient une chaîne de caractères. <!ELEMENT element EMPTY> EMPTY indique que l'élément est un élément vide 4Les ATTRIBUTS Les attributs de notre document XML seront définis à l'aide de ATTLIST, on peut définir un plusieurs attributs par éléments et préciser leurs valeurs par défaut : <!ATTLIST élément nom_d'attribut valeur_par_défaut nom_d'attribut valeur_par_défaut... > On peut également contraindre l'attribut à une liste de valeur possible : <!ATTLIST élément nom_d'attribut (valeur 1 l valeur 2 l...)> #REQUIRED sert à préciser que la valeur doit obligatoirement être indiquée. <!ELEMENT cv (identite,fonction,formation,expprof,divers)> <!ATTLIST cv xmlns CDATA #FIXED ''> <!ELEMENT identite (etatcivil,contact)> <!ATTLIST identite xmlns CDATA #FIXED ''> <!ELEMENT formation (diplome)+> <!ATTLIST formation xmlns CDATA #FIXED ''> <!ELEMENT expprof (poste)+> <!ATTLIST expprof xmlns CDATA #FIXED ''> <!ELEMENT divers (langues,informatique,permis)> <!ATTLIST divers xmlns CDATA #FIXED ''> <!ELEMENT etatcivil (civilite,nom,prenom,situfam,datenais)> <!ATTLIST etatcivil xmlns CDATA #FIXED ''> <!ELEMENT contact (adresse,teleph,adelect)> <!ATTLIST contact xmlns CDATA #FIXED ''> <!ELEMENT diplome (anneeobt,niveau,intitule,etablissement,mention)> <!ATTLIST diplome xmlns CDATA #FIXED '' cadre CDATA #REQUIRED cursus CDATA #REQUIRED> <!ELEMENT poste (fonction,debut,fin,entreprise)> <!ATTLIST poste xmlns CDATA #FIXED '' type CDATA #REQUIRED> <!ELEMENT langues (langue)+> <!ATTLIST langues xmlns CDATA #FIXED ''> <!ELEMENT informatique (langages)> <!ATTLIST informatique xmlns CDATA #FIXED ''> <!ELEMENT permis EMPTY> <!ATTLIST permis xmlns CDATA #FIXED ''> <!ELEMENT civilite (#PCDATA)> <!ATTLIST civilite xmlns CDATA #FIXED ''> <!ELEMENT prenom (#PCDATA)> <!ATTLIST prenom xmlns CDATA #FIXED ''> <!ELEMENT situfam (#PCDATA)> <!ATTLIST situfam xmlns CDATA #FIXED ''> <!ELEMENT datenais (#PCDATA)> <!ATTLIST datenais xmlns CDATA #FIXED ''>......... 4

3 - Création d'un Schéma XML 4Introduction Nous l'avons vu, si la DTD permet de définir les balises et les attributs utilisés dans le XML, elle reste limité en ce qui concerne les contraintes. En permettant de définir un domaine de validité pour la valeur d'un élément, le schéma XML se différencie. Une autre différence réside dans le fait que contrairement au DTD qui s'écrit en SGML, le Schéma va s'écrire en XML. Dès lors, le XML sera défini par du XML, on pourra parler d'un langage auto-récursif. Pour ce TP, le Schéma de définition XML sera enregistré dans un fichier externe au format XSD (XSD = extensible Schema Definition), puis appelé dans le document cv XML en remplaçant la balise racine <cv> par : <cv xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="schema.xsd"> 4Transformation de notre DTD en XSD Danx <oxygen/>, à l'aide de l'outil "Générer/convertir schéma" on sélectionne en entrée notre DTD puis en sortie le format de fichier XML Schéma Le logiciel convertit automatiquement notre DTD en XSD 4Syntaxe XSD XSD = extensible Schema Definition 4Entête et espace de nom xml : Ci-dessous voici l'entête de notre fichier xsd. C'est ici que l'espace de nom sera défini. L'espace de nom déclaré par l'attribut xmlns (pour xml namespace) fait référence à une URL pointant vers le W3C. C'est grâce à cette déclaration que l'on pourra utiliser des préfixes devant le nom des éléments ( on utilisera par exemple ici le prefixe "xs"). Si un préfixe est utilisé, il implique que l'élément qui le suit à un sens précis et reconnu par le parseur que l'on utilisera. <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified"> on peut également forcer le contenu à une date, un nombre, etc. Pour préciser la structure du document, c'est à dire définir la hierarchie, on déclarera les éléments fils sous l'élément parent de cette marnière : <xs:element name="parent"> <xs:complextype> <xs:element ref="fils1"> <xs:element ref="fils2">... </xs:complextype> </xs:element> 4Déclarer un attribut : Pour déclarer un attribut : <xs:attributegroup name="attlist.adelect"> <xs:attribute name="type"/> </xs:attributegroup> 4Exemple de contrainte possible Pour montrer à quel point le XSD permet une définition précise des contraintes, nous avons décidé de limiter le nombre d'entrées de numéro de téléphone à 3 n au maximum. La ligne de définition de l'élément "teleph" <xs:element minoccurs="0" maxoccurs="unbounded" ref="teleph"/> sera remplacé par : <xs:element minoccurs="0" maxoccurs="3" ref="teleph"/> Rq: on placera à la fin du document (</xs:schema>) 4Déclarer un élément : Pour déclarer un élément on utilise "xs:element name=": <xs:element name="identite"> Si l'élément est prédisposé à contenir une chaîne de caractères, on écrira <xs:element name="prenom" type="xs:string"/> 5

Bourguignon Adrien Licence Professionnelle: flux numérique, édition et production d'imprimé. Tp oxygene Une fichier xml bien formé consiste à avoir une bonne syntaxe, un logiciel comme oxygène est capable, sans connaître les balises de dire si le fichiers est bien écrit. En effet, il regarde si les balises ouvertes sont bien fermés et si des '«' n'ont pas été oublié. Comment créer une DTD?(avec oxygène) Dans oxygene, on peu réaliser une dtd grâce au logiciel et à un outil intitulé: générer/convertir schémas. Qu'est ce qu'une DTD? Littéralement, la DTD signifie «Document Type Definition», soit en français «définition de type de document». La DTD permet de définir un modèle descriptif de structuration, comme un arbre généalogiques, des données contenues dans le document. Elle aide à organiser les données de manière normalisée et permet de partager des fichiers XML. La DTD ne fait pas partie du document XML. Elle vient le compléter pour que les données contenues dans ce document XML soient organisées de manière normalisée et puissent être partagées suivant un modèle commun pour le partage de documents XML. A quoi sert une DTD? Une DTD définit un modèle de données, qui structure un document XML selon des règles bien définies. L idée est de définir une structure commune à un ensemble d utilisateurs et de programmateurs de documents XML, qui partagent cette structure et qui peuvent échanger de cette manière aisément les documents XML puisque ceux-ci ont une

structure de base qui est commune. Voici la DTD: Une fois la DTD crée, on a pour CV la ligne suivante: <!ELEMENT cv (#PCDATA fonction identite photo formation exprof divers)*>,or ici on ne veut de pcdata car il n'y aura aucun CV avec du texte juste après cette balise, alors il faut l'écrire comme suit: <!ELEMENT cv (fonction identite photo formation exprof divers)*>,ensuite, on souhaite ajouter les balises contenu dans CV or ici nous avons soit l'un ou soit l'autre, alors il faut remplacer les barres vertical par des virgules, qui consiste à dire «et ensuite»le point d'interrogation signifie que l'on peut avoir divers ou pas. <!ELEMENT cv (fonction, identite, photo, formation, exprof, divers?)*> La ligne ci-dessous signifie que l'on veut dans cv, fonction 'et ensuite' identité, 'et ensuite' photo, 'et' 'soit' formation 'et' exprof 'ou' formation 'ou' exprof, 'et ensuite' divers 'ou pas': <!ELEMENT cv (fonction, identite, photo,((formation, Exprof) formation exprof), divers?)*> Sur cette ligne, on peut voir l'utilisation simultané du ou et de ou pas, on alors dans informatique on a logiciel 'ou pas' 'ou' language 'ou pas'. <!ELEMENT informatique (logiciel? language?)>

Sur cette ligne, on a contact avec que des 'et' mais on peu avoir plusieurs numéros de téléphone et plusieurs email: <!ELEMENT contact (adresse, telephone*, email*)> On peu également transformer la DTD en schéma: Il faut aller dans outils, puis générer convertir et sélectionner les points comme suit: Dans ce cas, nous avons régler le nombre de fois que peu apparaître le numéros de téléphone soit 0 ou 3 fois:

Théry PERSYN XML Compte Rendu 2 Objectif : Réaliser un CV en utilisant le language de programmation XML sous Oxygen. Après avoir testé le fichier CSS de notre voisin, en changeant le nom du fichier CSS à appeller dans notre fichier XML, nous téléchargeons le logiciel Oxygen Editor afin de l installer. Définition : Oxygen XML Editor est un éditeur XML, debugger XSLT, qui visualise et édite des arborescences. La première étape que l on va effectuer sous oxygen après avoir ouvert notre fichier XML sera de créer un fichier DTD. Définition : La Document Type Definition (DTD), ou Définition de Type de Document, est un document permettant de décrire un modèle de document SGML ou XML. Une DTD indique les noms des éléments pouvant apparaître et leur contenu, c est-à-dire les sous-éléments et les attributs. En dehors des attributs, le contenu est spécifié en indiquant le nom, l ordre et le nombre d occurrences autorisées des sous-éléments. L ensemble constitue la définition des hiérarchies valides d éléments et de texte. En revanche, les DTD ne permettent pas de poser des contraintes sur la valeur du texte comme «le contenu de l élément X est un entier en décimal», ou encore «dans l élément Y, toutes les séquences de blancs sont équivalentes à un seul espace». Pour créer le fichier DTD on suit les chemins suivants : Document - Document XML - Apprendre la structure - Enregistrer la structure -1-

L ensemble des lignes de comandes du document DTD décrivent l odre et le nombre des paramètres. On peut ainsi les modifier selon nos besoins. Les principales fonctions que l on va changer dans le fichier DTD sont : = ou, = et? = ou pas * = 0 ou plusieurs + = 1 ou plusieurs -2-

Par exemple nous avons modifié la ligne suivante : <!ELEMENT cv (#PCDATA fonction identite... divers)*> en <!ELEMENT cv (fonction, indentite ((formation, expprof) formation expprof), divers?)*> Avec : #PCDATA = texte A partir de notre fichier DTD on va générer un fichier XSD qui va définir un schéma. On va créer ce fichier grâce au menu Génerer/Convertir schéma. -3-

Le schéma générer par le fichier XSD nous permet d observer en détail toute l arborescence de notre CV.xml : -4-

Angebault Baptiste le 23/11/2009 Licence professionnelle flux numérique Compte-rendu du TP2 : OXYGENE XML Le logiciel Oxygène xml ; est capable de dire si un document est bien formé ou non. Le logiciel est capable de dire si ce document est bien formé, sans lire les balises, en fonction de la structure du document. - Au cours de ce TP, nous avons échanger, par binôme le «cv» en «.xml» - Création d un document DTD, à partir du document xml échangé. - On voit que le fichier DTD à bien été pris en compte : - On s assure que le document DTD est bien valide - Dans le fichier DTD, à la ligne : on supprime «#PCDATA» et on remplace les qui signifient : fonction OU identité OU formation OU expprof OU divers, par des «,» qui signifient des «ET ADDITION». On ajoute le «?» qui signifie que la catégorie «divers» est optionnelle, elle sera affichée ou pas.

- On s assure que le document xml est toujours bien formé après les modifications effectuées. - «#PCDATA» signifie qu il y a du texte sans balises. Par défaut ceci se met automatiquement, il faut donc enlever cette inscription dès lors que le texte est comprit à l intérieur de balises. - Dans cette ligne, on a remplacé les par des virgules puisque l on souhaite avoir toutes ces informations : l adresse, le ou les numéros de téléphone, la ou les email - Dans la ligne suivante du document DTD «*» que l on a plusieurs numéros de téléphones, ainsi que plusieurs email. L opération sera donc répéter pour autant de n de téléphone et d email, qu il y a. - Dans cette ligne, on a la encore supprimer #PCDATA qui était inutile - Puis on réalise de nouveau la même opération pour «poste» - On s assure que le document xml est toujours bien formé après les modifications effectuées. - On procède à l échange des fichiers DTD, pour voir si la mise en page des fichiers est compatible sur un autre ordinateur. On s aperçoit alors que le fichier n est pas compatible. En effet une balise est appeler «situation familliale» dans un fichier et «situation fam» dans l autre. - On convertit alors notre fichier DTD en schéma de façon à pouvoir visualiser le shéma DTD, Ee passant par le menu «Outil > générer/convertir schéma»

- On obtient alors un schéma de format «.xsd» qui a cette forme :

- En utilisant l onglet texte en bas du logiciel oxygène peut définir une occurrence minimum et maximum pour des balises. On décide alors de définir une occurrence maximale de 3 pour les balises téléphone et email de la catégorie contacts - Et voici comment cette occurrence est schématisée :

Lamourre Étienne Séance du 23 novembre 2009 Compte rendu T.P 2 : oxygen Le but de cette séance de T.P était la découverte du logiciel oxygen, les documents DTD ainsi que le format de fichier XSD. Le logiciel oxygen est un éditeur de fichier XML. Il permet de modifier et contrôler un document pour savoir s il est bien formé et valide. Il permet aussi de générer des fichiers DTD décrivant la structure du document. I-Vérification du fichier Pour ce TP, nous avons utilisé le fichier XML que nous avions créé lors du TP précédent. Il s agit d un CV. Nous avons donc ouvert ce document dans oxygen afin de contrôler qu il soit correct, c est à dire valide et bien formé. La norme XML n impose pas l utilisation d une DTD pour un document XML, mais elle impose par contre le respect des règles de base de la norme XML. On parlera alors de : document valide pour un document XML comportant une DTD document bien formé pour un document XML répondant aux règles de base du XML (syntaxe bonne) Le logiciel intègre des outils permettant de vérifier ces points automatiquement et de nous avertir en cas d erreur. a-bien formé Cette icône permet de vérifier que le document est bien formé Lorsque l analyse du document est terminée, on peu voir en bas de la fenêtre, cette information s afficher. a-valide Cette icône permet de vérifier que le document est valide Le logiciel nous indique alors que notre document n est pas valide car il n existe pas de DTD qui lui est associé. Une DTD permet de décrire le document en décrivant la liste des balises qui le compose. C est la structure du document. Module 2 xml

II-Création de la DTD Une fois la DTD est crée, nous avons du la modifier pour que l affichage du CV soit plus cohérent. À certains endroit, nous avons remplacé les par des «,» afin de conserver obligatoirement l ordre que nous avions décrit. Prenons l exemple de la ligne 40, en y insérant des virgule, on force la séquence qui est indiquée il affichera alors la fonction et ensuite l identité et ensuite la formation, etc. Nous avons aussi supprimé les «#PCDATA» de certaines lignes. Cet élément est utiliser pour indiquer que ce qui suit est uniquement des données chiffrée. Or, dans certains cas, ce qui suivait cet élément ne l était pas. Enfin, nous avons ajouté des «?». Cela permet d ajouter l élément qui le précède que lorsqu il a des infos à afficher. Par exemple, nous avons placé un «?» après divers, cela permet de n afficher cette partie du CV que si elle contient quelque chose. Si il n y a pas d informations à afficher (pas de balise divers) cette partie ne sera pas affichée. Une fois la DTD créée et associée au XML, nous vérifions que le document soit valide. Si cela s affiche en bas de la fenetre apres la verification du logiciel : le document est valide et le DTD est bien attribué au profil. III-Création du XSD Un fichier XSD est un langage de description de format de document XML permettant de définir la structure d un document XML. La connaissance de la structure d un document XML permet notamment de vérifier la validité de ce document. Un fichier de description de structure (XML Schéma Définition en anglais, ou fichier XSD) est donc lui-même un document XML. partie du fichier xsd décrivant la structure du document Module 2 xml

IV-Modification du XSD Le XSD est un document XML, il est donc modifiable. Ainsi, nous avons cherché une solution permettant l affichage de trois numéros de téléphone maximum dans les coordonnées du titulaire du CV ainsi que dans les coordonnées des établissements où il a travaillé et étudié. Nous avons donc cherché la ligne se référant aux coordonnées téléphoniques et avons ajouté la valeur «3» après «max0ccurs». Afin de ne pas surcharger le CV de coordonnées, nous avons aussi appliqué ce réglage aux adresses électroniques. On remarque aussi qu il est possible d indiquer un nombre minimum de numéros de téléphones. Module 2 xml

Compte Rendu XML - 3 Ojectif: Explorer oxygen à travers des mots clés et création de la dtd du fichier XML créé lors de la séance précédente. On a commencé par vérifier si le fichier XML était bien formé. Pour cela le programme vérifie entre autres si les balises sont bien fermées, que toutes les valeurs des attribues sont bien entre quote etc. Si en bas de la fenêtre il y a un carré vert avec «le document est bien formé», c est que c est bon. Dans notre cas ça l est.

ETAPE 1: Création de la DTD Nous avons dans un deuxième temps créer la DTD: Document -> Document XML -> Enregistrer la structure du document

Ce qui nous donne: On va essayer à présent de réduire les champs. On peut remarquer que certains attribues on un +, cela signifie qu il peut en avoir plusieurs.une fois la DTD de construite on peut valider le document à l aide de l icone de la feuille blanche avec un signe rouge.

ETAPE 2: Optimisation de la DTD par la réduction des champs Une fois la DTD de créé nous l avons modifié de telle sorte à ce qu elle se rapproche de la mise en page établie par le fichier CSS. <!ELEMENT cv (#PCDATA fonction identite photo formation expprof divers)*> Notre css n étant pas prévu pour qu une personne ait du texte, on enlève #PCDATA. Ensuite pour forcer la suite des attribues on met une virgule à la place des qui s imbolisent des ou. Par exemple on peut mettre divers de manière facultative en mettant juste après? le fichier dtd restera valide qu il ait ou pas de balise divers <!ELEMENT cv ( fonction, identite, photo, formation, expprof, divers?)*> Si on veut soit formation tout court ou expprof ou les deux mais dans ce cas il devra suivre l ordre formation puis expprof <!ELEMENT cv ( ((fonction,expprof) formation expprof) identite photo formation divers?)*> L étoile symbolise 0 ou plusieurs. Pour imposer 1 seul fois, il faut mettre un + On enlève #PCDATA pour les balises qui n ont pas de texte mais qui contiennent des balises. <!ELEMENT contact (adresse, teleph*, adelect*)> Ici ça va répéter seulement teleph et adelect (car ce sont les deux qui ont une * adresse n en a pas) si il y a plusieurs numéro ou adresse electronique sans répéter adresse. Pour répéter les 3 à la fois, il faut mettre * après la grande parenthèse. Il faut après toutes ces modifications re-vérifier si la DTD est valide. Pour cela il faut cliquer sur l icone de la feuille avec le trait rouge. ETAPE 3: Transformation de la DTD en schéma Pour cela il faut aller dans générer/convertir schéma (Outil -> générer/convertir schéma). Il faut bien avoir sélectionner au préalable l onglet de la DTD. Ne surtout pas créer un schéma de sa DTD en étant sur l onglet XML.

Une fois le schéma de généré il est possible de le visualiser et modifier de plusieurs manière différentes: Mode design: Mode Texte:

Nous pouvons encore intervenir et modifier différente chose. Pour cela il est conseillé de passer en mode texte. Par exemple, si on veut limiter le nombre de téléphone à 3. Il faut remplacer unbounded par 3 On peut passer en mode design pour constater que la modification a bien été apportée.

MATRAY Jérémy Oxygen Compte rendu Ce TD consiste à ouvrir notre fichier XML créé sur TextWrangler sur le logiciel Oxygen et à y effectuer des modifications. 1 - Création du fichier DTD On ouvre notre fichier.xml dans Oxygen en prenant le style.css de notre voisin afin de vérifer que celui s applique correctement. Pour cela on modifie la ligne qui spécifie le fichier.css à aller chercher en paramétrant notre nouveau fichier. Ensuite on créer un fichier DTD grace au menu document qui va créer un nouveau fichier. 1 Licence professionnel flux numérique

Ce fichier aura la particularité d avoir l ensemble des lignes de commande en ligne par ligne. On modifie les lignes auquel on doit apporter une modification on l on remplace les «ou «par des «et «. 2 - Conversion en schéma On converti ensuite notre fichier en schéma W3C afin d avoir un style graphique plus approprié. 2

Thomas Jankowski Licence Pro Flux numériques Compte rendu sur le logiciel Oxygen Objectif de la séance : - Découvrir le logiciel Oxygen XML Editor - Découvrir les documents DTD - Découvrir le format de fichier XSD Introduction : Le logiciel Oxygen XML Editor est un éditeur de fichier XML qui permet de contrôler et de modifier un document et de savoir s il est bien formé et s il est valide. Ce programme permet également de générer des fichiers DTD (Document Type Definition) qui décrivent la structure d un document SGML ou XML. TP : Nous avons commencé par télécharger le logiciel sur le site de l éditeur. Ensuite, nous avons utilisé le fichier du CV que l on avait crée en XML lors de la précédente séance. Dans le programme Oxygen, nous l avons ouvert pour le contrôler et voir s il est valide et bien formé. Ce logiciel possède des fonctions qui nous permettent de contrôler le fichier. S il y a une erreur, le logiciel nous averti. L icône ci dessous permet de vérifier que le document est valide. La fenêtre permet de voir où se situe l erreur. Si le document est valide, il apparait ce message au bas de la fenêtre. L icône ci dessous permet de vérifier que le document est bien formé.

Thomas Jankowski Licence Pro Flux numériques Une fois le fichier valide et bien formé, nous avons créé le fichier DTD. Pour cela, il faut ouvrir le fichier XML, cliquer sur outils/ Générer /Convertir Schéma.

Thomas Jankowski Licence Pro Flux numériques Voici le fichier DTD qui a été généré. Une fois ce fichier créé, nous avons dû le modifier pour que son affichage soit davantage cohérent. Nous avons remplacé les «(trait vertical)» par des, à la ligne 41, nous avons également inséré des virgules, cela nous a permis d afficher tout d abord la fonction ensuite l identité et enfin la formation. Nous avons aussi supprimé les #PCDATA de quelques lignes. Ce PCDATA indique que ce sont des données chiffrées. Dans l exemple du CV, certaines fois ce n était pas des données chiffrées.

Thomas Jankowski Licence Pro Flux numériques Enfin, nous avons vérifiés que le document soit toujours valide et que le DTD soit bien attribué au profil. Nous avons créé un fichier XSD, c est un langage de description de format de document XML. Il s'agit d'une extension du nom d'un fichier qui comporte une définition XML Schema. Le format XSD est modifiable. Nous avons essayé d afficher trois numéros de téléphone au maximum dans les coordonnées de la personne et des établissements et entreprises où il a travaillé. Nous avons commencé par rechercher les lignes des coordonnées téléphoniques et après max0ccurs, nous avons ajouté un 3 et comme nombre minimum nous avons laissé 0. Nous avons ensuite fait la même chose avec les adresses mails.

Thomas Jankowski Licence Pro Flux numériques Ensuite, nous avons voulus créer un schéma, pour cela il faut cliquer sur le menu Document / Document XML/ Convertir schéma. Le schéma est présenté en mode Design. Ici, on peut voir l arborescence du schéma, ainsi que les valeurs maximales et minimales.

Thomas Jankowski Licence Pro Flux numériques

XML : extensible Markup Lanquage Le DTD : La Document Type Definition ou Définition de Type de Document, est un document permettant de décrire un modèle de document de type SGML ou XML. c'est-à-dire une grammaire permettant de vérifier la conformité du document XML. La norme XML n'impose pas l'utilisation d'une DTD pour un document XML, mais elle impose par contre le respect exact des règles de base. Un document suivant les règles de XML est appelé document bien formé. Un document XML possédant une DTD et étant conforme à celle-ci est appelé document valide. Une DTD indique les noms des éléments pouvant apparaître et leur contenu, c'est-à-dire les souséléments et les attributs. En dehors des attributs, le contenu est spécifié en indiquant le nom, l'ordre, et le nombre de répétition. En revanche, les DTD ne permettent pas de poser des contraintes sur la valeur du texte comme «le contenu de l'élément X est un entier en décimal», ou encore «dans l'élément Y, toutes les séquences de blancs sont équivalentes à un seul espace». Une DTD peut définir des entités générales. Celles-ci ont les rôles suivants : - une référence à un fragment de document externe, typiquement un autre fichier, - une abréviation pour un fragment de texte répétitif, - un synonyme de caractère permettant des références par nom plutôt que par un code numérique. Oxygen XML : Pour la création de notre DTD nous avons utilisé lors du TP un logiciel qui est : Oxygene XML. - Oxygen est un éditeur XML multi-plateformes pour le développement de document en utilisant des langages de tels que le XML, le XSD, le XSL ou encore le DTD. - Il offre aux utilisateurs un puissant environnement intégré de développement. - Basé sur JAVA, l'interface graphique d'utilisateur de l'éditeur XML est facile à utiliser et offre des fonctionnalités robustes pour l'édition, la gestion de projet et la validation de sources structurées. - Oxygen supporte la sortie vers de multiples formats cibles, dont : le PDF, le PS, l'html, le TXT et bien sûr le XML. - Oxygen est sans dout l'éditeur XML de choix pour les développeurs et toutes autres personnes qui demandent une sortie de haute qualitée avec un environnement flexible, une source unique, et un formatage structuré.

Une des interface de Oxygen XML Editor sur une plateforme de type Mac. La même interface du logiciel mais cette fois-çi sur une plateforme Window. Création d'un DTD dans Oxygéne : Il existe deux méthodes pour la création d'un DTD : - Première méthode :

Une fois le fichier XML ouvert dans Oxygen XML Editor, ouvrir l'onglet Outil puis Générer/Convertir Schéma... La page suivante s'ouvre : - dans la partie droite de la fenêtre l'on y indique le format d'entrées (pour le TP nous aurons donc un document XML) et l'emplacement du fichier que l'on traite, - dans la partie de gauche de la fenêtre l'on y indique le format de sortie désiré (toujours dans le cadre du TP nous choisissons XML 1.0 DTD) et l'emplacement de reception du nouveau fichier.

Obtention du DTD de manière précise grâce à cette méthode. - Deuxième méthode : Une fois le document au format XML ouvert, ouvrir l'onglet DocuMent puis dans le menus ouvrir Document XML et pour finir dans le sous-menus ouvrir Enregistrer la structure du document.

Une fois le fenêtre ici présente ouverte sélectionner votre format (toujours DTD pour le TP) puis enregistrer votre transformation. Dans cette version de la création du DTD le fichier obtenu est trop «large», mais en revanche dans cette méthode une déclaration s'insère automatiquement dans le document XML de type : <!DOCTYPE cv SYSTEM "cv2.dtd"> Conversion du DTD en schéma : Le XML Schema amène plusieurs différences avec les DTD. Il permet par exemple de définir des domaines de validité pour la valeur d'un champ, alors que cela n'est pas possible dans une DTD, en revanche, il ne définit pas des entités. XML Schema est un document au format XML, alors que les DTD sont des documents au format SGML.

Comme pour la première méthode lors de la transformation d'un document XML au format DTD, on ouvre le DTD puis l'onglet Outils et ensuite on ouvre la fenêtre dans le menus qui s'intitule Générer/Convertir schéma... Il suffit alors pour terminer l'opération de sélectionner le format XML 1.0 DTD en entrée et W3M XML Schéma en format de sorti. Le schéma permet d'affiner par la suite les contraintes liés au fichier.

PINEAU Thomas TP2 : Utilisation d'oxygen L'objectif du TP est de prendre en main le logiciel Oxygen en essayant de comprendre le fonctionnement de celui-ci. Tout d'abord, nous avons testé deux fonctions, des plus utiles, du logiciel à savoir "bien formé" "valide" (j'ai définit ces deux fonctions dans le compte-rendu 091116_TP1_cr_pineau). Nous avons donc ouvert notre fichier XML puis avons testé ce dernier avec ces deux fonctions. Nous obtenons un fichier "bien formé": cela est écrit en bas de page près d'un carré vert. En revanche, nous obtenons une erreur lorsque nous testons notre fichier avec la fonction "valide" : cela est dû au fait que nous n'avons pas créé de fichier DTD (structure de document qui décrit des balises). L'étape suivante consiste donc à créer ce fichier DTD. Document / Document XML / Enregistrer la structure du document On obtient donc un fichier de cette forme : et On obtient, par la suite, un fichier valide : cela est écrit en bas de page près d'un carré vert. On peut donc ensuite apporter des contraintes au fichier DTD créé : - remplacer " " par "," : cela permet d'imposer une séquence ; - supprimer "#PCDATA" : cela indique que la balise en question comporte du texte ; - mettre un "?" : pour que la balise apparaisse que s'il ya quelque chose dedans. 1

On prend l'exemple suivant : La notation à l'intérieur de la parenthèse se traduit comme suit : pour afficher soit "formation" et "exp_prof " en même temps ou soit que "formation" ou que "ex_prof ". On peut donc conclure que " " a le rôle de "ou" et "," a le rôle de "et". Nous avons essayé de remplacer notre fichier DTD par celui de notre voisin et lors de la validation du fichier XML, nous obtenons des messages d'erreurs. Cela est dû au fait que nous avons pas mis les mêmes contraintes dans notre fichier DTD. Ensuite, à partir du fichier DTD, on créé un fichier XSD : Outils / Générer / Convertir Schéma 2

On obtient donc le fichier XSD suivant : Pour avoir plusieurs fois "adresse", "tel" et "ad_elec" on peut modifier le fichier XSD : "minoccurs" et "maxoccurs" permettent de définir le nombre minimum et maximum de répétition possible des balises "adresse","tel" et "ad_elec". Pour finir, on assoscie le SLX avec le fichier XML du départ : Document / Document XML / Associer un schéma On peut donc constater que la première balise "CV" est modifiée : 3

MATRAY Jérémy Oxygen Compte rendu Ce TD consiste à ouvrir notre fichier XML créé sur TextWrangler sur le logiciel Oxygen et à y effectuer des modifications. 1 - Création du fichier DTD On ouvre notre fichier.xml dans Oxygen en prenant le style.css de notre voisin afin de vérifer que celui s applique correctement. Pour cela on modifie la ligne qui spécifie le fichier.css à aller chercher en paramétrant notre nouveau fichier. Ensuite on créer un fichier DTD grace au menu document qui va créer un nouveau fichier. 1 Licence professionnel flux numérique

Ce fichier aura la particularité d avoir l ensemble des lignes de commande en ligne par ligne. On modifie les lignes auquel on doit apporter une modification on l on remplace les «ou «par des «et «. 2 - Conversion en schéma On converti ensuite notre fichier en schéma W3C afin d avoir un style graphique plus approprié. 2