Dispense XML. Indice

Documenti analoghi
Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

La struttura: DTD. Laura Farinetti Dip. Automatica e Informatica Politecnico di Torino. laura.farinetti@polito.it

Tecniche Multimediali

extensible Markup Language

XML: La nascita del linguaggio

Introduzione a XML: Document Type Definition; parser XML; XML-schema; extensible Stylesheet Language. a.a. 2004/05 Tecnologie Web 1

Sintassi dei DTD. <!DOCTYPE > <!ELEMENT > <!ATTLIST > <!ENTITY >: Entità generali <!ENTITY % >: Entità parametriche

XML e TEI: introduzione alla codifica dei testi letterari. La nascita del linguaggio. Il concetto di metalinguaggio di codifica SGML

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri.

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

Infrastrutture INFormatiche Ospedaliere 2 Corso di laurea di Ingegneria Medica. Indice

Tecnologie Web T Introduzione a XML

Introduzione a XML. Language

RDF. Resource Description Framework

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

Linguaggi per il web oltre HTML: XML

a cura di Maria Finazzi

G I O R D A N I A L E S S A N D R A I T T S E R A L E G. M A R C O N I

XML INVITO ALLO STUDIO EUROPEAN NETWORK OF INNOVATIVE SCHOOLS

Tecnologie Web T DTD Document Type Definition

XML. Parte VI - Introduzione e nozioni fondamentali di sintassi. XML: Extensible Markup Language:

Javascript e CSS nelle pagine WEB

Tecniche Multimediali

Esercizi su XML, DTD e DOM

Modellazione e Gestione di Informazioni non Strutturate

Applicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Rappresentare i file XML - XSL

Linguaggi di Programmazione

Prefazione. Piersalvo Ortu 1

HTML+XML= XHTML. Che cos è l XHTML

Architetture Web I Server Web e gli Standard della Comunicazione

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

XSL: extensible Stylesheet Language

D B M G Il linguaggio HTML

Simple & Efficient.

La Guida Generale degli Archivi di Stato italiani informatizzata SGML XML

Prof. Pagani Corrado HTML

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

Sommario. Settimana - Gli elementi fondamentali Introduzione...xv. Giorno 1 - I linguaggi di markup...3

XML. XML è contemporaneamente: XML non è:

Web applications (WA)

XML e standard connessi. XML, XML-Names, XSL, XPointer, XLink

Sommario. HTML e CSS I fogli di stile. cosa sono principali proprietà

XML: sintassi. Prof. Carlo Blundo Tecnologie di Sviluppo per il Web 1

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A Language) Stylesheet.

Il linguaggio XML. Capitolo Introduzione al linguaggio XML

Esercizi su XML e DTD

Creare documenti XML. La natura epistemologica della codifica. Perché comprare XML? La struttura gerarchica ordinata. Riassumendo le componenti

Transcript:

Indice Dispense XML...1 Breve introduzione a XML...1 Analisi e Visualizzazione del documento...1 Supporto Microsoft per XML...3 XML server side...3 Spazio dei nomi...4 Struttura di un documento XML...5 I

Breve introduzione a XML XML è un nuovo linguaggio creato a partire dallo standard SGML al fine di garantire maggior flessibilità e generalità di utilizzo per implementare diversi tipi di dati. È stato sviluppato dallo XML Working Group (originariamente noto come SGML Editorial Review Board) costituitosi all'interno del W3C nel 1996. Obiettivi: 1. Creare un linguaggio utilizzabile con facilità in Internet ma più flessibile di HTML. 2. Compatibilità con applicazioni differenti. 3. Facilità di progettazione ed elaborazione. 4. Necessità di disporre di un linguaggio che permettesse di descrivere e strutturare i dati. 5. Comprensibilità elevata dei documenti grazie all'utilizzo di elementi aventi nomi non arbitrari o convenzionali ma che rispecchino il loro contenuto 6. Permettere la pubblicazione online di documenti indipendenti dal tipo di dispositivo che vi avrà accesso. XML é un metalinguaggio che permette la definizione di markup. É possibile definire delle classi di documenti significative (chiamate DTD Document Type Definition ossia definizione di tipo del documento) e associarvi particolari proprietà mediante un foglio di stile esterno, che puó essere realizzato in formato CSS o XSL. Si possono anche utilizzare DTD già create (come MathML Mathematical Markup Language). Analisi e Visualizzazione del documento Un documento XML viene interpretato da una specifica applicazione, costituita da due parti fondamentali: Un parser, che esegue il controllo sintattico del documento e si occupa della gestione degli errori. Il parser esegue il controllo su due livelli: * Sulla validità del documento, se esiste una DTD. * Sulla forma del documento (se é ben formato oppure no). Un processore, che si occupa di visualizzare il documento utilizzando un apposito foglio di stile. Per ottenere una visualizzazione della pagina web é necessario aggiungere valore semantico agli elementi dichiarati, ossia applicare al documento un foglio di stile (CSS o XSL) tramite una dichiarazione posta subito dopo l'iniziale dichiarazione del linguaggio: <?xml:stylesheet href="xml.css" title="stile" type="text/css"?> Esempio di foglio di stile CSS: 1

title { display:block; font family: Arial, Helvetica; font wieght: bold; font size: 20pt; color: #9370db; text align: center; } ISBN { display:block; font family: Arial, Helvetica; font weight: bold; font size: 12pt; color: #c71585; text align: left; } authors { display:inline; font family: Arial, Helvetica; font style: italic; font size: 10pt; color: #9370db; text align: left; } description { display:block; font family: Arial, Helvetica; font size: 12pt; color: #ff1010; text align: left; 2

} Supporto Microsoft per XML Explorer 5.0: Visualizzazione immediata dei documenti XML, sia in versione albero, sia formattati con un foglio di stile. XML engine, che garantisce il supporto rispetto alle specifiche W3C di XML 1.0 e degli spazi dei nomi. Supporto di XSLT, tramite Microsoft XSLT processor. Supporto di XML Schema. Gli schemi sono elementi di XML che definiscono in modo rigido le regole di un documento XML per quanto riguarda i tag utilizzati e i tipi di dati. DOM (Document Object Model) XML, interfaccia di programmazione che offre agli sviluppatori controllo su contenuto, struttura e formato dei documenti XML. Differenze specifiche W3C supporto Microsoft: Spazio dei nomi XSLT: Explorer richiede lo spazio dei nomi relativo alla versione precedente di XSL (http://www.w3.org/tr/wd xsl) mentre le specifiche W3C http://www.w3.org/1999/xsl/tranform. Tipo MIME XSLT: "test/xsl" invece che "text/xml". Template di default: non supportato. XML server side É possibile effettuare la trasformazione del codice XML mediante: Codice ASP. PHP. Java servlet. Appositi processori. Esempio codice ASP: <% 'Load the XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(server.mappath("esami2.xml")) 'Load the XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(server.mappath("esami2.xsl")) 'Transform the file 3

Response.Write(xml.transformNode(xsl)) %> Breve spiegazione: Creazione oggetto DOM e caricamento file xml. Creazione oggetto DOM e caricamento file xsl. Trasformazione del file mediante metodo "write". Processori XSLT Pprogrammi, realizzati generalmente in linguaggio Java o C++, che si occupano di applicare un foglio di stile XSLT a un documento XML e di produrre il documento risultante come file indipendente. Processori piú diffusi: Sablotron (http://www.gingerall.com) : scritto in C++. Puó essere usato da linea di comando o come modulo Perl. Sintassi: sabcmd file.xsl file.xml file.htm Xalan (http://xml.apache.org/xalan/overview.html): processore creato dalla ASF (Apache Software Foundation), con tecnologia derivata da precedente prodotto IBM (LotusXSL). Disponibile in Java e in C++. Free, disponibile per numerose piattaforme. Puó essere richiamato sia da linea di comando o da Java API. Saxon (http://users.iclway.co.uk/mhkay/saxon): programma Java. Puó essere richiamato da linea di comando, da una classe Java oppure tramite servlet. Altri prodotti simili: Oracle XSL9, XT10, ixslt11, 12, Stylus13, MSXML314. Spazio dei nomi Lo spazio dei nomi (namespace) di XML é un modo per eliminare ambiguità nell'uso di elementi, marcatori e attributi. Nome attribuito alla lista degli elementi contenuti nel documento. Ognuno degli elementi é preceduto da un prefisso, separato dal nome dal carattere ":". es fo:, utilizzato da XSL. XML utilizza l'attributo predefinito "xmlns" (extensible Markup Language Name Space) per introdurre i prefissi utilizzati. Il valore di quest'attributo é un URI, ad esempio http://www.w3.org/1999/xsl/format. Ogni spazio dei nomi deve essere dichiarato prima di poter essere usato. La sintassi per la dichiarazione é: xmlns:[prefisso] =" [URI] " 4

Struttura di un documento XML Un documento XML deve innanzitutto essere ben formato, ossia rispettare tutte le regole di sintassi previste dal linguaggio: Presenza di un unico elemento radice che contiene tutti gli altri. Chiudere sempre tutti gli elementi aperti (a meno che siano elementi vuoti, che vanno comunque chiusi con la speciale sintassi <br /> Differenza tra maiuscolo e minuscolo. Un documento XML é valido se possiede una DTD a cui corrisponde. A indicare se é provvisto o meno di una DTD interna o esterna é l'attributo standalone nella dichiarazione iniziale: Encoding permette di definire il tipo di codifica utilizzato per presentare i dati. <?XML version="1.0" standalone="yes" encoding="utf 8"?> Struttura gerarchica basata su elemento radice e figli. Forma degli elementi: <nome (attributo:valore)></nome> Elementi vuoti : <nome /> I tag possono iniziare con una lettera, un underscore (_), oppure ":". Non é possibile iniziare nessun tag con la combinazione di lettere "xml", né maiuscole né minuscole. DTD Un elemento XML puó avere una struttura predefinita tramite la DTD in modo da vincolarne il contenuto. Definizione dell'elemento principale, dei figli, degli attributi (con il dominio di valori assumibili). É possibile anche dichiarare entità, ossia riferimenti a blocchi di dati, interni o esterni al documento. Una DTD descrive lo "schema" del documento. Codifica per elementi e attributi :, Indica che l'ordinamento dato deve essere rispettato Indica che é possibile inserire gli elementi in qualsiasi ordine 5

+ Indica che deve essere presente almeno un elemento di quel tipo * Indica che puó essere presente un elemento di quel tipo? Indica che l'elemento é opzionale () Indica un raggruppamento I tipi di dati possono essere: PCDATA, caratteri interpretati. CDATA, caratteri non interpretati. Per ogni elemento possono poi essere indicati una serie di attributi ( ATTLIST), definiti in base al tipo di carattere (PCDATA o CDATA) e alla obbligatorietá o meno della loro presenza. Tre casi base: #REQUIRED, la presenza dell'attributo é obbligatoria. #FIXED, il valore dell'attributo é fisso. #IMPLIED, l'attributo é previsto ma non obbligatorio e non ha un valore di default. Esempio di DTD <!DOCTYPE books [ <!ELEMENT books (book+)> <!ELEMENT book (title, coll, ISBN, authors, description?, price+)> <!ELEMENT title (#PCDATA)> <!ELEMENT ISBN (#PCDATA)> <!ELEMENT authors (author+)> <!ELEMENT author (#PCDATA)> <!ELEMENT description (#PCDATA)> Esempio di documento XML: 6

<!DOCTYPE books SYSTEM "books.dtd"> <books> <book> <title>titolo del libro</title> <ISBN>1234567</ISBN> <authors>nomi degli autori <author>primo autore</author> <author>secondo autore</author> </authors> <description>breve descrizione del contentuo del libro</description> </book> </books> Last Modified Date: 03/20/2001 09:42:34 7