La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 2010 - CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi

Presentazioni simili


Presentazione sul tema: "© 2010 - CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi"— Transcript della presentazione:

1 © 2010 - CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi lombardi@dsi.unimi.it

2 © 2010 - CEFRIEL The present original document was produced by CEFRIEL and the Teacher for the benefit and internal use of this course, and nobody else may claim any right or paternity on it. No right to use the document for any purpose other than the Intended purpose and no right to distribute, disclose, release, furnish or disseminate it or a part of it in any way or form to anyone without the prior express written consent of CEFRIEL and the Teacher. © copyright Cefriel and the Teacher-Milan-Italy-23/06/2008. All rights reserved in accordance with rule of law and international agreements.

3 © 2010 - CEFRIEL Sommario SLIDECONTENUTO XML Basi relative allXML. Streaming Leggere e scrivere XML. JAXP Trasformatori di XML come framework generico. Validazione Validare il contenuto di un documento. XMLEnc/Dec, JAXB Persistenza tramite XML. Java e XML… Riferimenti a un mondo da scoprire!

4 © 2010 - CEFRIEL XML: eXtendible Markup Language eXtendible: –lXML è un meta-linguaggio, è quindi possibile definirne istanze proprietarie che lo estendano; –nuovi tag e nuovi attributi possono essere definiti, assieme alle regole grammaticali per utilizzarli. –esempio: XHTML e RSS sono due diverse applicazioni XML, con scopi e gramatiche differenti. Markup: –come per le bustine da congelatore, lXML ha lo scopo di contenere e conservare… dati etichettati; –i tag sono i contenitori, gli attributi sono le etichette. Language: –sarebbe più corretto meta-language, solo la sintassi è definita, la grammatica dei tag è definita nelle istanze.

5 © 2010 - CEFRIEL XML: basi di sintassi Un documento XML è: –un albero radicato in un nodo di tipo Document; –formato differenti tipologie di nodi; –la radice deve contenere uno e un solo sotto-nodo di tipo di tipo Element (spesso chiamati tag); –case-sensitive e normalmente indipendente dallindentazione (eccetto i nodi di testo); –ma soprattutto… è testo umanamente leggibile! Un esempio: ilgabbio@yahoo.it lombardi@dsi.unimi.it 0234567890 +39340340340 DirettivaRoot element Element con attributiElement vuoto (con attributi) Element connsotto-element Element con testoChiusura di un element

6 © 2010 - CEFRIEL XML: basi di sintassi &nome; si chiama entity, genera di solito un carattere speciale come < o &: –< & & –à à&quote; … vedere specification.

7 © 2010 - CEFRIEL XML in Java: streaming Scopo: –leggere e scrivere documenti XML come flusso di nodi dellalbero rappresentato dal documento; –evitare di caricare in memoria un intero documento; –generare/ricevere eventi verso/dal documento (di creazione/rilevamento di nodi). Strumenti (javax.xml.stream.*): –XMLOutputFactory: generazione di stream XML in uscita; –XMLInputFactory: generazione di stream XML in ingresso. Esempio: –Code\08_XML\XmlIO\...\Streaming.java

8 © 2010 - CEFRIEL XML in Java: encoding/decoding Scopo: –codifica e decodifica di dati in XML (solo per java); –persistenza ottenibile senza infrastrutture ausiliarie; –come java.io.Object*Stream… ma in XML. Strumenti: (java.beans.*): –XMLEncoder: codifica di oggetti in XML; –XMLDecoder: decodifica di oggetti in XML. Esempio: –Code\08_XML\XmlIO\...\EncDec.java

9 © 2010 - CEFRIEL XML in Java: JAXB Scopo: –mappare oggetti POJO (anche strutture dati articolate) in documenti XML (con validazione); –riutilizzare classi già esistenti; –sintassi dichiarativa tramite annotazioni. Strumenti: (javax.xml.bind.*): –JAXBContext: contesto di.marshalling/unmarshalling; conosce classi e mapping co lXML; ci fornisce Marshaller e Unmarshaller. Esempio: –Code\08_XML\XmlIO\...\JAXB.java


Scaricare ppt "© 2010 - CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi"

Presentazioni simili


Annunci Google