DOM / SAX / JAXP. Module développement/ Conception XML. DOM / SAX Module XML / ESIAL 3A
|
|
- Anne-Laure Morneau
- il y a 8 ans
- Total affichages :
Transcription
1 / JAXP Module développement/ Conception XML 1
2 Plan Général parser DOM SAX JAXP 2
3 Présentation générale Présentation générale DTD XML XML Conception Données Données XSL Amphi précédents XML : syntaxe DTD : spécifier une grammaire XSL : spécifier des traitements Comment faire des applications avec XML? Tirer parti des spécificités de XML Traitement 3
4 Présentation générale Étapes d une application XML standard Deux étapes essentielles Analyse (parsing) Récupérer les données à partir du fichier XML Traitements des données Manipulation : Accès, Modification, Sauvegarde Autre traitements : affichage, etc Utilisateur Interface Web Analyse traitement Données 4
5 Présentation générale Composants d une application XML standard Composants d une application XML standard: Sources Données dans un fichier XML Analyse Un parser pour analyser les données du fichier XML Traitement Des objets pour stocker les données Des méthodes pour les manipuler 5
6 Présentation générale Composants d une application XML standard Composants d une application XML standard: Sources Données dans un fichier XML Analyse Un parser pour analyser les données du fichier XML Traitement Des objets pour stocker les données Des méthodes pour les manipuler Utilisateur Interface Web analyse Application traitement Données Parser Modèle 6
7 Présentation générale Contenu du cours Utilisateur Interface Web analyse Application traitement Données Parser Modèle Comment Récupérer et Stocker de l information de documents XML Manipuler des documents XML Créer de nouveaux documents XML 7
8 Plan Général parser DOM SAX JAXP 8
9 Parser Parser XML (1) Pourquoi un parser? Il existe une infinité de modèle de données XML pour une infinité d'applications Toutes les applications devront implémenter la lecture de données XML : A partir de la même syntaxe (document bien formé) Des grammaires différentes mais représentées dans la DTD Résoudre le problème de l indexation, de stockage, et de manipulation Qu'est-ce qu'un parser? Un parser serait donc un petit module de programme, dont le seul objectif serait de découper un flux d'entrée en un ensemble de " mots" (token) qui seront ensuite proposés à d'autres applications. Un parser n'est donc pas un programme en soi : il est associé à un module de traitement et c'est la nature de ce module qui prime. La spécification XML parle alors de "processeur XML" (parser et traitement). 9
10 Parser Parser XML (2) Tâches du parser XML : Analyse syntaxique Le contrôle de conformité de la syntaxe par rapport à la norme Tâches du processeur XML : Lire et analyser la structure d'un document XML Décomposition des documents éléments, attributs, texte, entités, instructions de traitement, commentaires, Vérification Documents bien-formés (syntaxiquement corrects) Validation (DTD, schéma) Éventuellement, accéder au contenu de la DTD ou du schéma Pour l'instant, interface propriétaire! Représentation interne des informations : DOM 10
11 Parser Processeurs XML Interface des parsers est propriétaire Propre au parser utilisé Fonctionnalités fines mais spécifiques et nettement moins portables 2 types Processeurs XML Processeur DOM Modèle objet Document Object Model (DOM 1, 2 et 3) Processeur SAX Interface évènementielle Simple API for XML (SAX 1 et 2) 11
12 Parser JAXP Autres modèles de parsing et d'api Java API for XML Parsing Une initiative de Sun pour "normaliser" la déclaration du parser XML à utiliser et uniformiser les paramètres standards JDOM Java + XML Définir des classes JAVA pour manipuler des fichiers XML 12
13 Parser Catégories de parsers XML On peut classifier les parsers sous plusieurs catégories : Les validant vs. non-validant (par rapport DTD) Les parsers supportant le modèle DOM (tree-based) Les parsers supportant l'interface SAX (event-based) Les parsers écrits avec différents langages Java, C/C++, Perl, Python, etc. C# Les parsers: Xerces (apache), JAXP (Sun), Oracle XML Parser, Microsoft XML Parser (msxml), XML4J (IBM), etc Voir les benchmarks! 13
14 Plan Général parser DOM SAX JAXP 14
15 DOM DOM Recommandation Utilisation Package DOM Parser DOM Lecture de document Manipulation Interface Node Interface Document Sauvegarde 15
16 La recommandation DOM du W3C Document Object Model C est une recommandation du W3C ("norme") Elle spécifie une API orientée objet permettant au programmeur d application d écrire des fonctions de création, de modification et de consultation des éléments constitutifs d un document XML ou HTML. C est un modèle d objets représentant un document : générique une interface de programmation pour les documents HTML ou XML DOM core, DOM HTML Représentation arborescente d objets : Attributs et méthodes permettent la manipulation de la structure logique et l information contenue dans ce document Indépendant des plates-formes, des langages de programmation et de script 16
17 Qu est ce que DOM? Représentation en mémoire d'un arbre de nœuds contenant la structure et les données contenues dans le document XML Lecture d'un document XML existant XML Modèle Création d un modèle Utilisant un parser Modèle Parser Données 17
18 Qu est ce que DOM? Représentation en mémoire d'un arbre de nœuds contenant la structure et les données contenues dans le document XML Lecture d'un document XML existant XML Modèle Création d un modèle Utilisant un parser Modifications en utilisant l'api DOM Modèle Modèle Manipulation de modèle Modèle Parser Modèle Parser Données Données 18
19 Qu est ce que DOM? Représentation en mémoire d'un arbre de nœuds contenant la structure et les données contenues dans le document XML Lecture d'un document XML existant XML Modèle Création d un modèle Utilisant un parser Modifications en utilisant l'api DOM Modèle Modèle Manipulation de modèle Création d'un nouveau document XML Modèle XML Sauvegarde de document XML Modèle Parser Modèle Parser Modèle Parser Données Données Données 19
20 Intérêts de DOM DOM se situe entre le parser et l'application Indépendance (ou presque) de l'application par rapport au parser Modèle générique de document API indépendante des plate-formes et langages 20
21 DOM : organisation des recommandations La spécification est organisée en différents niveaux (3 niveaux) Chaque niveau possède un CORE Qui est générique, pour n'importe quel document XML Qui a certaines caractéristiques dépendantes du niveau Que doit supporter toute implémentation de DOM. Des modules Correspond à des interfaces spécifiques, pour des types de documents donnés. Ces interfaces sont des extensions des interfaces Core DOM XML : avec specificité entité, CDATA DOM HTML DOM CSS 21
22 DOM : core et extensions Le CORE de DOM définit les éléments ci-après : ce qu'est une implémentation DOM et la nature des erreurs reconnues les interfaces de gestion d'un document XML pour Y accéder (fonction d'accès à des éléments, attributs, etc.) le construire (fonctions de création de documents, d'éléments, d'attributs, etc.) Les extensions, qui sont optionnelles dans les implémentations, ajoutent pour XML: les notions de sections CDATA et la gestion des entités externes (niveau 1), les notions de DTD, de processing instructions, de notation (niveau 2). 22
23 DOM Niveau 1 (Oct 1998) Objectif : gestion XML et HTML Définit un modèle orienté objet pour représenter des documents structurés (XML, HTML) Document, Element, Attr, Text,, Node CORE: Accéder et construire document Extension XML et HTML Objets nouveaux comme les frames, les images ou les ancres. Les fonctionnalités de manipulation sont minimes, celles du core étant a priori souvent suffisantes. 23
24 DOM Niveau 2 (Nov 2000) CORE : Ajout des espaces de nommage (ajouter NS à la fin des méthodes (éléments par ex)) Extensions : Des fonctionnalités de manipulation des CSS, les feuilles de styles associées aux documents HTML. Des fonctionnalités d'accès à des événements liées à des changements d'état d'un document ou à des actions de l'utilisateur sur un document (Des fonctionnalités de parcours de document XML, avec ou sans filtre Fonctionnalités d'identification de portion de document, basées sur les informations de structure ou sur des contenus quelconques, identifiés par leur ordre séquentiel. 24
25 DOM Niveau 3 (Avr 2004) DOM CORE niveau 3 permet Accés aux modèles de documents Sous la forme de DTD, Schéma ou tout autre formalisme. Chargement et sauvegarde des données Utilisation de filtres 25
26 Utilisation de DOM Vous devez disposer parserxml Compatible DOM JAXP ou Xerces Fichier XML Implémentation DOM Java Possibilité Création Manipulation Sauvegarde? Instancier document Source Manipulation document Sauvegarde document Destination 26
27 import org.w3c.dom.*; Package et API DOM et indépendant du parser sauf : Pour instancier un Document Mais à partir d'une instance de Document, on reste dans du DOM Pour accéder aux nœuds, éléments, attributs, textes, Pour créer de nouveaux nœuds 27
28 Instancier un document DOM Instancier document Manipulation document Sauvegarde document Source Destination 28
29 Lecture de DOM Utilise un parser compatible DOM Document XML Parser XML Transforme le document XML en objets Java. Accès et modification par l'api DOM Objets Ensemble d'objets contenant l'information du document XML, un objet Document. Application Utilisation de l'interface DOM pour accéder aux données du document XML Parser XML & DOM 29
30 Un parser XML DOM Transforme un document XML en une représentation arborescente orientée objet Le document est stocké en mémoire (attention donc!) Permet d'accéder, de naviguer ou de modifier le document Sans manipuler directement le fichier XML! Le parser effectue quelques traitements simples Résout toutes les entités externes par exemple Opération de validation si la DTD/schéma est présent 30
31 Étapes On dispose d un document XML Trois étapes Spécifier un parser DOM Créer un objet document Charger le contenu du fichier XML dans le document Ces étapes dépendent du parser utilisé 31
32 Créer un document (exemple JAXP) import org.w3c.dom.*; //package DOM import javax.xml.parsers.*; //jaxp import java.io.*; try { // Code propre à JAXP de Sun DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder (); Document doc = db.parse(new File("annuaire.xml")); Création documentbuilder Création du document // A partir d'ici, c'est du DOM } cash(exception e) { } 32
33 Créer un document (exemple Xerces) import org.w3c.dom.*; //package DOM import java.io.*; try { // Code propre à Xerces org.apache.xerces.parsers.domparser parser= new org.apache.xerces.parsers.domparser (); parser.setfeature(" Création parser parser.parse("annuaire.xml"); Document doc=parser.getdocument(); Création du document // A partir d'ici, c'est du DOM } cash(exception e) { } 33
34 Manipulation On suppose qu on a un document chargé Indépendant du parser Instancier document Manipulation document Sauvegarde document Source Destination Utiliser API DOM Créer un objet Document API DOM différentes interfaces 34
35 DOMImplementation NodeList DOM-core (interfaces API DOM) DocumentFragment Element Node Attr CharacterData Document Text Comment CDATASection DocumentType Notation Entity ProcessingInstruction 35
36 DOM-core : interface Node Interface fondamentale Node : tout est nœud ou presque Utilisation: On ne manipule que des nœuds On ne crée pas de nœuds Mais une interface héritée Éléments, Attributs, Commentaires, etc Remarque: Tout nœud est rattaché à un document (propriété ownerdocument) Mais n est pas forcément dans l arbre du document (ex création) 36
37 DOM-core : Node (propriétés) Méthodes de l'interface Node getnodetype( ): indique une valeur caractérisant le type du noeud (ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, ) getnodename( ): nom de l élément (lecture seule) Null si Text Nom de la balise ou de l attribut getnodevalue( ) : valeur du nœud Attribut: valeur de l attribut Si élément retourne null getattributes( ) : Retourne nodemap des attributs (seulement si élément) 37
38 Types de nœud Type nodename nodevalue attributes Element tag name null NamedNodeMap Attr attribute name valeur de l'attribut null Text #text contenu null CDATASection #cdata-section contenu null EntityReference nom de l'entité null null Entity nom de l'entité null null ProcessingInstruction cible (target) contenu sauf la cible null Comment #comment contenu du commentaire null Document #document null null DocumentType nom de la DTD null null DocumentFragment #document-fragment null null Notation nom de la notation null null 38
39 Exemple <?xml version="1.0"?> <carnet> <personne> <nom>thomas</nom> <prenom>vincent</prenom> </personne> </carnet> Element Carnet Element Personne Element Nom Text Thomas Element Prenom 39 Text Vincent
40 Exemple Element Carnet Element Personne Element Nom Element Prenom Text Thomas Text Vincent nodetype? nodename? nodevalue? 40
41 Exemple Element Carnet Element Personne Element Nom Element Prenom Text Thomas Text Vincent nodetype ELEMENT_NODE nodename Nom nodevalue null 41
42 Exemple Element Carnet Element Personne Element Nom Element Prenom Text Thomas Text Vincent nodetype? nodename? nodevalue? 42
43 Exemple Element Carnet Element Personne Element Nom Element Prenom Text Thomas Text Vincent nodetype TEXT_NODE nodename "#text" nodevalue "Thomas" 43
44 Node (navigation dans l arbre) Savoir si le nœud à des enfants Boolean haschildnodes() Accéder aux autres éléments Faire des gets (cf transparent suivant) 44
45 DOM-core (navigation dans l arbre) Node ParentNode Node PreviousSibling Node Élément courant NodeList ChildNodes Node FirstChild Node Node NextSibling Node LastChild 45
46 Navigation arbre avec Node (exemple) <?xml version="1.0"?> <carnet> <personne> <nom>thomas</nom> <prenom>vincent</prenom> </personne> </carnet> // part d un Node Obj correspondant à Carnet Element Carnet Element Personne Element Nom //acceder «carnet» Obj.getNodeName(); //acceder «prenom» Node Obj2=(Obj.getLastChild()).getLastChild(); Obj2.getNodeName(); //acceder «Vincent» (Obj2.getLastChild()).getNodeValue(); Element Prenom Text Thomas Text Vincent 46
47 DOM-core : Node (manipulation) Ajouter un nœud en tant que dernier fils appenchild(node nouvel_objet) Ajouter nœud insertbefore(node nouvel_objet,node objet_fils) Retirer un nœud removechild(node objet_fils) Remplacer un nœud replacechild(node nouvel_objet,node objet_fils) Cloner un nœud CloneNode(boolean deep) 47
48 Interface Node: Clone Node Deux manières distinctes de cloner Superficielle Seul nœud courant Et les attributs (si c'est un élément) En profondeur récursivement "false" (superficiel) clonenode() "true" (en profondeur) 48
49 DOM-core : interface document L interface document représente l ensemble du document C est aussi un Node Le nœud document est la racine du document Et non pas l élément racine!! Interface de construction Utiliser des méthodes de document pour créer des nœuds Les nœuds sont reliés au document (même s ils ne sont pas dans l arbre) Ajouter ces nœuds à l arbre 49
50 Méthodes de construction createnodetype() Précise NodeType Element, Attribut, TextNode, DOM-core : document Méthodes d accès Node getdocumentelement() : renvoie l élément racine NodeList getelemenstbytagname(string name) Accès aux élément à partir des tags 50
51 Navigation arbre avec document <?xml version="1.0"?> <carnet> <personne> <nom>thomas</nom> <prenom>vincent</prenom> </personne> </carnet> Element Carnet Element Personne Element Nom // part d un Document Doc //acceder «carnet» Node Obj=Doc.getDocumentElement(); Obj.getNodeName(); Element Prenom Text Thomas Text Vincent 51
52 DOM-Core (document from scratch) Démarche à suivre: 1. Créer un document ObjDoc = new Document(); 2. Créer des éléments à partir du document ObjElement=ObjDoc.createElement("racine"); SsElement=ObjDoc.createElement("elem"); 3. Insérer les éléments dans l arbre ObjDoc.appenChild(ObjElement); ObjElement.appenChild(SsElement); 52
53 DOM-Core (document from scratch) Attention Les nœuds créés appartiennent au document Les nœuds créés appartiennent au document Insérer un Nœud de Doc1 sur l arbre de Doc2 Génére DOMException utiliser Node importnode(node noeud, boolean deep) de document // part d un Document Doc1 et Doc2 Element El1=doc1.getDocumentElement(); Element El2=doc2.getDocumentElement(); //génère une exception El1.appenChild(El2); // part d un Document Doc1 et Doc2 Element El1=doc1.getDocumentElement(); Element El2=doc2.getDocumentElement(); //accepté Node node=doc1.importnode(el2, true) El1.appenChild(El2); 53
54 DOM-core : Element (manipulation) NamedNodeMap getattributes() String getattribute (String name) Retourne la valeur de l attribut Attr getattribute (String name) Retourne le noeud de l attribut String gettagname() Retourne le nom de l élément void removeattribute(string name) Retire l attribut spécifié Idem avec removeattributenode(attr node) void setattribute(string name, String value) Ajoute un attribut Idem avec setattributenode(attr node) 54
55 DOM-core : Attributs (manipulation) Les attributs sont des Node eux aussi MAIS Ils ne sont pas connectés à l arbre par dépendance hiérarchique Pour un node élément, getchildnodes( ) ne contient pas d attributs, il faut utiliser getattributes( ) de node 55
56 DOM-core : DocumentFragment Un fragment de document XML peut être stocké temporairement dans un nœud de type DocumentFragment Objet léger, par exemple pour les copier-coller Attaché sur un autre nœud, il se détruit automatiquement Très utile pour l ajout des enfants dans l arbre Arbre DOM Sous arbre DocumentFragment Nouvel Arbre DOM 56
57 On a un document Sauvegarde d un Document Instancier document Manipulation document Sauvegarde document Source Destination On souhaite l exporter Directement Après transformation XSLT 57
58 Sauvegarde et transformation d un document Pas dans API DOM (sauf niveau 3) Dans JAXP: Java API for XML Parsing Processeurs XSL Utilise DOM (fin amphi : JAXP) Packages javax.xml.transform 58
59 DOM: sauvegarde et transformation (JAXP) Class TransformerFactory : créer des Transformer...(sic) newtransformer() qui produit un nouveau transformer newtransformer(source XML) qui produit un nouveau transformer (possibilité d utiliser XSL) Class Transformer : appliquer des transformations setparameter permet de spécifier des paramètres à la transformations transform(source XmlSource, Result target) effectue la transformation du document source vers le résultat Class Source : Utiliser des StreamSource ou DOMSource Class Result : Utiliser des StreamResult ou DOMResult 59
60 DOM: sauvegarde et transformation (ex) // créer un stream vers xsl StreamSource style_auteur=new StreamSource("transfo.xsl"); 60
61 DOM: sauvegarde et transformation (ex) // créer un stream vers xsl StreamSource style_auteur=new StreamSource("transfo.xsl"); //créer un transformer utilisant XSL TransformerFactory TR=TransformerFactory.newInstance(); Transformer Transfo=TR.newTransformer(style_auteur); 61
62 DOM: sauvegarde et transformation (ex) // créer un stream vers xsl StreamSource style_auteur=new StreamSource("transfo.xsl"); //créer un transformer utilisant XSL TransformerFactory TR=TransformerFactory.newInstance(); Transformer Transfo=TR.newTransformer(style_auteur); //créer la source et la destination //doc désigne un document DOM DOMSource source=new DOMSource(doc); StreamResult=new StreamResult("result.html"); 62
63 DOM: sauvegarde et transformation (ex) // créer un stream vers xsl StreamSource style_auteur=new StreamSource("transfo.xsl"); //créer un transformer utilisant XSL TransformerFactory TR=TransformerFactory.newInstance(); Transformer Transfo=TR.newTransformer(style_auteur); //créer la source et la destination //doc désigne un document DOM DOMSource source=new DOMSource(doc); StreamResult=new StreamResult("result.html"); //appliquer la transformation Transfo.transform(sourceb,resultb); 63
64 On a vu DOM: résumé L API DOM Interface node, document, Comment utiliser cette API sous java Package Pour Charger et analyser un document XML Manipuler ce document Faire des transformations Sauvegarder le document Plus d informations sur: 64
65 SAX Plan Général parser DOM SAX JAXP 65
66 SAX Simple API for XML Interface SAX (1) SAX est une normalisation proposée par des industriels (xml-dev) Standard de fait (1997) Supportée par la majeure partie des parsers XML Une alternative à DOM pour éviter les problèmes de mémoire et la lecture de gros documents XML 66
67 SAX DOM Différence SAX/DOM Utilisateur Application analyse traitement Données Parser Modèle Problème: on charge tout le document en mémoire Avantage: on peut manipuler l'arbre construit SAX Demande analyse Application Gestionnaire événement Données Parser SAX Avantage : On traite au fur et à mesure Probleme: On ne conserve pas l'information 67
68 SAX Interface SAX (2) Principe: SAX est événementiel Une application SAX implémente un ensemble de méthodes correspondant aux évènements du parser Balise ouvrante/fermante... Le parser XML appelle ces méthodes, en passant les paramètres nécessaires un nom pour un élément, un couple nom/valeur pour un attribut, Un parser SAX est uniquement un consommateur de données, il ne garde rien en mémoire 68
69 SAX Architecture générique d'une application SAX Application SAX 2 Modèle objet Java 3 Parser SAX XML -> Java String toxml() Java -> XML 1 4 Document XML Document XML 69
70 SAX Application SAX Avoir un parser XML implémentant SAX Trois étapes pour utiliser SAX Créer un modèle objet interne (comme CD, Livre, ) Créer un parser SAX Créer un ContentHandler Qui traite les événements pour transformer le document XML en objets internes Et éventuellement, un ErrorHandler, DTDHandler et un EntityResolver Créer modèle Objet interne Créer un Parser SAX Créer un ContentHandler 70
71 SAX 1) Créer un modèle objet interne Créer modèle Objet interne Créer un ContentHandler Créer un Parser SAX Votre objet Dans lequel vous récupérerez les informations lors de l analyse 71
72 SAX 2) Créer un ContentHandler Créer modèle Objet interne Créer un ContentHandler Créer un Parser SAX ContentHandler est chargé de traiter les événements Package org.xml.sax.* En JAVA: il suffit implémenter interface ContentHandler Et surcharger certaines méthodes pour répondre aux événements correspondants 72
73 SAX ContentHandler (Réception évènements) Évènement Méthode Début du document Fin du document startdocument() enddocument() Balise ouvrante Balise fermante startelement(string, String local, String qname, Attributes liste) endelement(string) Chaîne de caractères Processing instruction Espaces blancs (problème DTD) characters(char[],int, int) processinginstruction(string,string) ignorablewhitespace(char[],int,int) 73
74 SAX Séquence des évènements <?xml version="1.0"?> <cd id="4"> <titre> Freak on ica </titre> startdocument() startelement("cd",...) startelement("titre",...) characters(char[],start,length) endelement("titre") </cd> endelement("cd") enddocument() 74
75 SAX Remarques Attention Pas de recommandation SAX pour characters Pour les contenus mixtes <cd id="4"> a <b/> c </cd> Récupérer les attributs startelement(string namespaceuri, String localname, String qname, Attributes atts) a pour paramètres Le nom qname de l élément rencontré La liste d attributs liste avec plusieurs methodes getlength() qui renvoie le nombre d attributs getqname(int i) renvoie le nom de l attribut numero i getvalue(int i) renvoie la valeur de l attribut numero i getvalue(string name) renvoie la valeur de l attribut name gettype(int i) revoie le type de l attribut 75
76 SAX DefaultHandler qui affiche les éléments Utiliser une classe DefaultHandler implémentant ContentHandler Pour afficher les noms des éléments rencontrés Public class Lecture extends DefaultHandler { public void startdocument() throws SAXException {System.out.println("debut");} public void enddocument() throws SAXException {System.out.println("fin");} public void startelement(string namespaceuri, String localname, String qname, Attributes atts) throws SAXException { System.out.println("l element est"+qname);} Début document Fin document Début élément } 76
77 SAX Utilisation du handler <?xml version="1.0"?> <cd id="4"> <titre> Freak on ica </titre> startdocument() startelement( ) startelement( ) characters( ) endelement( ) début cd rencontré titre rencontré </cd> endelement( ) enddocument() fin 77
78 SAX 3) Créer un parser SAX Créer modèle Objet interne Créer un ContentHandler Créer un Parser SAX Il faut créer un parser SAX A partir d une librairie En lui fournissant le ContentHandler Possibilité De gérer les exceptions : interface errorhandler D accéder aux déclarations de la dtd: interface DTDHandler De gérer plusieurs entrées De résoudre les liens des entités 78
79 SAX Création du parser SAX Déclarer un parser Obtenir un parser org.xml.sax.xmlreader reader; reader = org.xml.sax.helpers.xmlreaderfactory.createxmlreader(nom); Désigne un parser compatible SAX Par exemple : "com.sun.xml.parser.parser" Associer un ContentHandler reader.setcontenthandler(handler); Handler désigne un ContentHandler Instancié au préalable 79
80 SAX Lier le parser a un fichier XML InputSource : Analogue à un InputStream mais encapsule un flux de lecture sur : un flux d'octets (bytes) un flux de caractères une connexion HTTP un fichier XML local Création InputSource InputSource InputSource source= new source= InputSource(source) new InputSource("nom") Le lier au XMLReader pour parser un fichier Xmlreader.parse(source); 80
81 SAX Interface ErrorHandler Gestion des exceptions Ses Méthodes permettent de personnaliser les messages d erreur dans votre Application SAX error(saxparseexception) : fatalerror(saxparseexception) warning(saxparseexception) Associer au parser parser.seterrorhandler(errorhandler); 81
82 SAX DTDHandler Interface pour des évènements liés à la DTD Notation dans les DTD Notation déclaré dans les DTD Permet de spécifier des formats de fichiers Evenement récupéré par la méthode Void notationdecl(string name,string PublicId,String systemid) Unparsed entity Evenement récupéré par la méthode Void unparsedentity(string name,string PublicId,String systemid,string notationname) 82
83 SAX EntityResolver Permet de modifier la source à traiter Lorsqu'on rencontre des entités exterieure Évènement est récupéré par la méthode resolveentity Celle-ci retourne un nouvel InputSource 83
84 ou SAX? DOM Navigation, parcours du document Documents peu structurés Beaucoup de données Petits documents (< 1Mo) Extraction de fragment Création de nouveau document XML SAX Lecture séquentielle : pas d'accès aléatoire au document Documents très structurés Peu de données Petits et gros documents (de 1ko à 2,5Mo) Sélection Extraction de données Filtrage 84
85 JAXP et JDOM Plan Général parser DOM SAX JAXP et JDOM 85
86 JAXP et JDOM JAXP Java API for XML Parsing JAXP est un ensemble d'apis Java permettant d'effectuer des traitements XML qui inclut SAX (SAX 2.0) DOM (DOM Level 2) la manipulation de transformations XSLT Le but est de : Fournir une couche d abstraction au dessus de SAX ou DOM afin de garantir un effort de standardisation des aspects non couverts par SAX et DOM L origine : L'API est le fruit de travaux de développement communs à Ariba, AOL/Netscape, BEA, Bluestone, Fujitsu, IBM, et Oracle. Téléchargeable gratuitement depuis l'espace de Sun Java Technology and XML (XML Pack). 86
87 JAXP et JDOM Packages JAXP La librairie JAXP utilise plusieurs packages javax.xml.parsers Ensemble de classes pour interfacer des parsers SAX : SAXParser et SAXParserFactory DOM : DocumentBuilder et DocumentBuilderFactory org.w3c.dom Package DOM org.xml.sax et org.xml.sax.helpers Packages SAX 87
88 JAXP et JDOM JAXP Pourquoi utiliser JAXP : DOM ne spécifie pas comment créer un objet parser différent API selon implémentation portabilité du code est affecté. En utilisant DOM, il faut explicitement importer et référencer la classe de l analyseur (org.apache.xerces.parsers.domparser) Si on change de parser problèmes! Avant chaque opération DOM, le document XML a besoin d être analysé (parsé) et un objet doit être créé. Cette opération n est pas standardisée par le W3C! Pas de norme sur l'obtention d'un document JAXP sert donc de couche intermédiaire entre votre application et le(s) parser(s) utilisé(s). Livré en plus avec un parser XML minimal (non validant) 88
89 JAXP et JDOM Cf transparent DOM Cf transparents SAX JAXP comment utiliser? 89
90 JAXP et JDOM DOM: Créer un document (exemple JAXP) import org.w3c.dom.*; //package DOM import javax.xml.parsers.*; //jaxp import java.io.*; try { // Code propre à JAXP de Sun DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder (); Document doc = db.parse(new File("annuaire.xml")); Création documentbuilder Création du document // A partir d'ici, c'est du DOM } cash(exception e) { } 90
91 JAXP et JDOM DOM: sauvegarde et transformation (ex) // créer un stream vers xsl StreamSource style_auteur=new StreamSource("transfo.xsl"); //créer un transformer utilisant XSL TransformerFactory TR=TransformerFactory.newInstance(); Transformer Transfo=TR.newTransformer(style_auteur); //créer la source et la destination //doc désigne un document DOM DOMSource source=new DOMSource(doc); StreamResult=new StreamResult("result.html"); //appliquer la transformation Transfo.transform(sourceb,resultb); 91
92 JAXP et JDOM JDOM : le principe Philosophie de JDOM (projet open-source Apache like): Facile à utiliser pour les programmeurs Java Devrait intégrer DOM et SAX Lecture et écriture des documents DOM et les évènements SAX Utilisation des différents parsers DOM ou SAX (utilisation du modèle JAXP) Devrait rester compatible avec les dernières normes de XML Pourquoi ne pas utiliser DOM directement : Occupation élevée de la mémoire Pourquoi ne pas utiliser SAX : Pas de possibilité de modifier les documents, d accéder aléatoirement, ou de générer une sortie physique Java optimalisé (utilisation des Collections Java 2 par exemple) Couvrir 80% des problèmes et laisser 20% aux autres parsers! 92
93 JAXP et JDOM Les classes représentant un document XML et sa construction: Attribute CDATA Comment DocType Document Element EntityRef Namespace ProcessingInstruction (PartialList) (Verifier) (Assorted Exceptions) JDOM : packages Les classes de lecture des documents XML depuis des sources existants : DOMBuilder SAXBuilder Packages d adaptateurs pour obtenir un objet DOM à partir de n importe quel analyseur org.jdom org.jdom.adapters org.jdom.input Les classes pour écrire les documents XML sous plusieurs formes et sorties : org.jdom.output DOMOutputter SAXOutputter XMLOutputter org.jdom.transform 93
94 JAXP et JDOM JDOM vs. DOM : un exemple Création d'un document from scratch en JDOM Document doc = new Document( new Element("rootElement").setText("This is a root element")); Et en DOM? Document mydocument = new org.apache.xerces.dom.documentimpl(); Element root = mydocument.createelement("myrootelement"); Text text = mydocument.createtext( "This is a root element"); // Et on ajoute le tout! root.appendchild(text); mydocument.appendchild(root); 94
Programmation des Applications Réparties. Parsers XML DOM et SAX
Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment
Plus en détail<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0>
Cahiers GUTenberg GUT LE DOCUMENT OBJECT MODEL (DOM) François Role, Philippe Verdret Cahiers GUTenberg, no 33-34 (1999), p. 155-171. Association
Plus en détail34. DOM (Document Object Model)
34. DOM (Document Object Model) 34.1. DOM DOM est l'acronyme de Document Object Model. C'est une spécification du W3C pour proposer une API qui permet de modéliser, de parcourir et de manipuler un document
Plus en détailXML et Java 2007. Vue Balisée en XML. Programmation avancée NFP 121. XML pourquoi faire? Structuration des données. Titre Auteur Section Paragraphe
Programmation avancée NFP 121 XML et Java 2007 XML pourquoi faire? Structuration des données Titre Auteur Section Paragraphe Paragraphe Paragraphe XML: Des BD aux Services Web Georges Gardarin 1. Introduction
Plus en détailDocument Object Model (DOM)
Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés
Plus en détailLangage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>
Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee
Plus en détailXML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million
XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................
Plus en détailMaster d Informatique Corrigé du partiel novembre 2010
Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,
Plus en détailDOM - Document Object Model
DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et
Plus en détailXML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailFaculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch
Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties
Plus en détailL'API DOM : Document Object Model
Ingénierie Documentaire L'API DOM : Document Object Model http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - Introduction au DOM 5 A. Principes du DOM...5 B. L'interface DOM...6
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailIntroduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailUniversité de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailArchitecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailPDO : PHP Data Object 1/13
PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailDocumentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailDéveloppement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Plus en détailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailTHEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL
. THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailFormation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailAuthentification et contrôle d'accès dans les applications web
Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailBTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais
BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailXML et Bases de données. Les bases de données XML natives.
XML et Bases de données. Les bases de données XML natives. Introduction. Une définition de l'expression «Base de données XML Native» : Une base de données XML native définit un modèle (logique) de document
Plus en détailCours Bases de données
Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles
Plus en détailBASE DE DONNÉES XML NATIVE
BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet
Plus en détailGroupe Eyrolles, 2004 ISBN : 2-212-11504-0
Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure
Plus en détailAspects techniques : guide d interfaçage SSO
COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailQu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML
XML : Extensible Markup Language SGML Une introduction (1) http://kiwi.emse.fr/3a/dn.html Ph. Jaillon / J.J. Girardot J.J. GIRARDOT - EMSE 10/2004 1 Standard Generalized Markup Language Norme ISO-8879
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailREQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit
v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détail27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailMagento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Plus en détailJava Naming and Directory Interface
Introduction Java Naming and Directory Interface Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique M2 Spécialité SAR Java Naming and Directory Interface (JNDI) Java Standard
Plus en détailThierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition
XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante
Plus en détailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
Plus en détailIngénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr
Plus en détailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailSQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Plus en détailFileMaker Server 11. Publication Web personnalisée avec XML et XSLT
FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une
Plus en détailModule BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr
Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents
Plus en détail«Clustering» et «Load balancing» avec Zope et ZEO
«Clustering» et «Load balancing» avec Zope et ZEO IN53 Printemps 2003 1 Python : généralités 1989 : Guido Van Rossum, le «Python Benevolent Dictator for Life» Orienté objet, interprété, écrit en C Mêle
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailCahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES
Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailUrbanisme du Système d Information et EAI
Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailConfiguration d'un annuaire LDAP
Le serveur Icewarp Configuration d'un annuaire LDAP Version 10.3 Juillet 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration d'un annuaire LDAP 1 Introduction... 1 Qu'est-ce que LDAP?...
Plus en détailLivre Blanc WebSphere Transcoding Publisher
Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,
Plus en détail