FDI 2.1 7 Dicembre 2015
Lezione 0: Introduzione a XML
XML è il formato di base per l’interscambio di dati sul web; standard testuale più diffuso. XML è
HTML senza i tag perchè dobbiamo inventarli noi; XML è un’insieme di regole per creare
linguaggi come HTML. XML (Extensible Mark-up Language) è uno standard del web
consortium [XML 1.1]; deriva da/è una parte di SGML (Standard Generalised Mark-up
Language; standard ISO (istituto che rilascia gli standard)) che è uno standard internazionale
per la definizione di un metodi di rappresentazione di testi in forma elettronica, indipendenti dal
device e dal sistema operativo.
L’XML è un meta-linguaggio, ovvero non ha tag ma solo regole che spiegano
come si creano un insieme di tag e come si combinano tra di loro, che permette
di definire nuovi linguaggi di mark-up.
[link] XML è un semplice formato testuale molto flessibile; originariamente era designato per
incontrare le sfide su larga scale per la pubblicazione elettronica; [link] Nato come strumento per
codificare documenti in formato elettronico e poi ha avuto una vita propria perchè il suo design
era talmente ottimale per lo scambio dei dati e facile da trattare per strumenti automatico che è
diventato uno standard per trattare dati da device diversi.
Differenze con HTML:
Tutti i tag devono essere chiusi o segnati come vuoti;
• Tutti i valori degli attributi devono essere chiusi dalle doppie virgolette;
• Non c’è niente di precostituito;
• Non ci sono le character entities [sono solo cinque in XML: <, &, sono le parentesi
• angolari, l’& e gli apostrofi/virgolette, etc.] In XML ci sono i punti unicode, sequenze
numeriche per un determinato simbolo; ti puoi costruire direttamente le abbreviazioni per fare
questi simboli mentre in HTML questa abbreviazione è già fatta.
Scopi del design di XML:
1. XML shall be straightforwardly usable over the Internet.
2. XML shall support a wide variety of applications. [dalla grafica, ai servizi web, le biblioteche
digitali]
3. XML shall be compatible with SGML.
4. It shall be easy to write programs which process XML documents.
5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero.
Tutto deve essere definito, ci devono essere pochi elementi convenzionali.
6. XML documents should be human-legible and reasonably clear. Ciò che l’ha reso così
importante e famoso.
7. The XML design should be prepared quickly.
8. The design of XML shall be formal and concise.
9. XML documents shall be easy to create.
10. Terseness in XML markup is of minimal importance.
1
A cosa serve XML:
HTML: layout e formattazione, non dice niente sul contenuto
• XML: strutturazione del contenuto (per questo i tag vanno creati di volta in volta, hanno uno
• scopo preciso), formato di scambio dati, leggibilità, trattamenti automatico, no pubblicazione
diretta (non sono fatti per essere pubblicati direttamente sul web.
Quando si parla di XML si parla di linguaggi …? perchè si può ~tradurre. Trattamento
documento XML: può essere visualizzato tramite fogli di stile, per diversi device, con
mutlicanalità e documenti narrativi (c’è un contenuto testuale e non solo dati; ex dati: lista
prodotti, schede catalogo beni culturali), permette il trattamento automatico con XSLT
(extensible stylesheet language transformations), che permette manipolare la struttura del
documento e di convertire in un altro linguaggio. Da solo, XML non produce alcun risultato.
La struttura del documento XML. Each XML document has both a logical and a physical
structure. Physically, the document is composed of units called entities (caratteri, numeri).
Logically, the document is composed of declarations (all’inizio: “questo è un documento XML”),
elements, comments (le nostre annotazioni), character references (punti UNICODE), and
processing instructions, all of which are indicated in the document by explicit markup. The
logical and physical structures MUST nest properly (se apri un tag devi chiuderlo, devi scriverlo
correttamente, etc).
Terminologia:
MUST (obbligatorietà), SHOULD (consigliato) e MAY (possibile) sono usati nel senso formale definito in IETF
• RFC 2119;
nata per definire i protocolli di rete
• definisce livelli di requisiti che sono regolati dagli standard (RFC).
•
La struttura logica di un documento XML:
Each XML document contains one or more elements, the boundaries of which are either
• delimited by start-tags and end-tags, or, for empty elements, by an empty-element tag.
Tags mark the start and end of an element.
<foo> — start tag </foo> — end tag <foo></foo> — element
Each element has a type, identified by name, sometimes called its "generic identifier" (GI),
• and may have a set of attribute specifications.
<element-name …> </element-name>
Each attribute specification has a name and a value.
• <element-name attribute-name=value …> </element-name>
Esempio ricetta ciambella.
<?xml-stylesheet type=“text/xsl” href=“ricetta_semplice.xslt”?> (*)
Il documento ha una radice che è il nodo ricetta. Le “foglie” sono i nodi fase perché non hanno
altri nodi ma solo testo all’interno [nodi terminali]. Non è narrativo ma solo dati. “Fase” è un
entità. Dal pov procedurale la struttura è ad albero.
Le caratteristiche di un documento XML sono: l’XML declaration (*), il markup (Tag, attributi,
struttura gerarchica) e i dati (testo, nell’esempio era il testo della ricetta, e entity references,
sezioni CDATA). Le regole per avere un documento ben formato:
tutti i tag sono chiusi
• i tag sono annidati senza incrociarsi (chiuderli nell’ordine inverso a quello in cui vengono
• aperti)
c’è solo un elemento radice (primo ad aprirsi e ultimo a chiudersi)
•
2 tutti i valori sono tra virgolette
• non ci sono attributi con uno stesso nome per stesso elemento
• non ci sono commenti nei tag
• non ci sono <, &, e altri determinati simboli nei dati o nei valori.
•
Tipi di errori sono sintattici (tag non chiusi, incrociati, doppie virgolette) o logici (manca un
elemento o attributo obbligatorio, l’ordine in cui sono annidati gli elementi non è corretto.
Differenza documento ben formato (rispetta regole XML/sintattico) e valido (rispetto ad un
linguaggio di riferimento/logico).
La DTD (Document Type Definition) contiene la grammatica di un linguaggio basato su XML.
Conformità di un documento a una DTD: può essere contenuta in un file esterno ** o definita nel
documento stesso. [esempio DTD] Nella DTD si definisce la struttura logica e non fisica del
documento (quindi non si parla di tag). Non è importan
-
XML - informatica - schemi, documento, DTD e formati XML
-
Appunti lezioni Prof. Damiano Palano
-
Appunti completi di scienze politiche prof. Damiano Palano
-
Programmazione Web - Appunti