Anteprima
Vedrai una selezione di 4 pagine su 11
Appunti XML - Damiano Pag. 1 Appunti XML - Damiano Pag. 2
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Appunti XML - Damiano Pag. 6
Anteprima di 4 pagg. su 11.
Scarica il documento per vederlo tutto.
Appunti XML - Damiano Pag. 11
1 su 11
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ESERCIZIO OPERA D’ARTE:

L’elemento radice del documento è Pinacoteca, che contiene almeno un quadro (in realtà

potrebbe essere anche vuoto). Il quadro ha un titolo, 0 o più autori, caratteristiche e luogo.

L’autore è fatto da testo. Caratteristiche è un elemento complesso che contiene al suo interno

soggetto e dimensioni. Il soggetto è costituito da testo. Le dimensioni anche loro da testo.

Il quarto elemento della sequenza è il luogo, che comprende sede e ente. Sono entrambi

elementi testuali.

Poi ci sono degli attributi: soggetto (con l’attributo iconclass che è costituito da testo ed è

obbligatorio) mentre le dimensioni con l’attributo unità di misura che possono essere cm inch

o mm e che è obbligatorio. Spesso si utilizzano degli standard, per esempio quello di avere un

insieme di valori possibili per esprimere un certo concetto. Qui chiede di creare un documento

XML (almeno uno) usando due vocabolari per descrivere il soggetto e il nome dell’autore. Per il

soggetto usiamo iconclass, una risorsa che contiene un elenco strutturato di etichette per

descrivere il soggetto iconografico di un’opera. E’ un documento di testo o database, oppure può

essere consultato online e si possono cercare dei soggetti e trovare tanti tipi di quel soggetto

(es. nativity) oppure posso navigare nel sistema secondo la modalità dal generale allo specifico.

Come soggetto scriveremo la stringa che si trova dentro iconclass che descrive il soggetto del

quadro da noi scelto e poi il codice che troviamo lo mettiamo come valore dell’attributo

iconclass del tag soggetto. Il sito di iconclass non è un albero perché lo stesso elemento

compare in più punti. Dobbiamo anche usare la risorsa che serve per esprimere il nome

dell’autore, nel sito della fondazione Getty (Getty Vocabularies - ULAN).

<?xml version="1.1" encoding ="UTF-8"?>

<pinacoteca> <quadro>

<titolo> Paesaggio Invernale </titolo> <autore> Caspar David Friedrich </autore> <caratteristiche>

<soggetto iconclass="23F41(+4)"> Winter landscape </soggetto> <dimensioni unit_misura="cm"> 80 x 60 </dimensioni>

</caratteristiche>

<luogo>

<sede> Londra </sede>

<ente> National Gallery </ente>

</luogo>

</quadro> </pinacoteca> 15 Dicembre 2015

Lezione 3:

XML riconosce 5 entità predefinite (character entities). Vengono utilizzate per inserire nei

documenti alcuni caratteri che non potrebbero essere inseriti direttamente. Per definire un’entità:

<!ENTITY name “entity_value”>

<!ENTITY discl “il contenuto di questo documento … ecc”>

Ogni volta che si scriverà &discl; apparirà la scritta contenuta nella virgolette. Nella DTD:

5 <!ENTITY disclaimer “quest’opera è protetta da copyright”>

nel documento XML: <titolo>La ronda di Notte (&disclaimer)</titolo>

nel browser: La ronda di Notte (quest’opera è protetta da copyright)

Problema: definizioni differenti dello stesso tag. Il namespace è un sistema di prefissi per

identificare definizione di un tag (nomi che appartengono ad un certo linguaggio basato su XML).

I prefissi appaiono sia nell’apertura del tag che nella chiusura.

Prefisso = URI della definizione (prefisso apposto al tag dove compare):

<esempio xmlns:prova = “http://www.w3…”>

<prova:esempio> …

Il parser, ovvero un interprete sintattico che analizza la struttura dei documenti XML

permettendo di produrre la visualizzazione detta, cerca la definizione di esempio nella DTD che

si trova all’URI “http://www.w3…”. All’inizio del foglio di stile:

<xsl:stylesheet

xmlns;xsl=“link”=“1.0”>

Specificare namespace dentro ai template. Linguaggio Formatting Objects (fo:block font-

size=“12pt”) permette di creare automaticamente un file PDF dall’HTML.

Il formato Dublin Core contiene riferimenti a due linguaggi diversi (RDF e DC). È uno schema di

metadati (ex: indirizzo, data, autore, etc, di una pagina web) per annotare risorse testuali e

multimediali. Nasce esclusivamente per il Web, è lo schema di metadati più semplice (standard

ISO 15836). Ha lo scopo esplicito di permettere il reperimento di risorse del web. “Organisations,

even small, possess information worth millions, but cannot get it to the right people”.

[europeana.eu]: metaportale in cui è possibile fare ricerche tematiche all’interno di un insieme

molto ampio di portali online per i beni culturali che appartengono ai diversi paesi europei.

DC descrive risorse, anything that has identity (RFC2396). “A resource will typically be an

information or service resource, but may be applied more broadly”. DCMI Typelist: …?

Element Dublin Core (DC-MES): Title, Creatore, Subject, Description, Publisher, Contributor,

Date, Type, Format, Identifier, Source, Language, Relation, Coverage, Rights.

Regole di utilizzo: ordine irrilevante, gli elementi possono essere ripetuti ed essere opzionali.

Termini = elementi + attributi (10) 16 Dicembre 2015

Lezione 4:

Risorse: qualsiasi cosa che può essere pubblicata sul web e identificata da un indirizzo web

(URL, URI, IRI).

http://www.imdb.com/xml/find?xml=1&nr=1&tt=on&q=gentlemen+prefer+blondes

https://developers.google.com/maps/documentation/geocoding/intro

Text Encoding Initiative è un linguaggio markup basato su XML che permette di codificare la

struttura di un testo. Il testo viene etichettato inserendo dei tag che ne identificano le parti:

6 <div1 type=“chapter” n=“38”>

<p>Reader, I married him. A quite wedding we had: he and I, the parson and clerk, were alone

present. …</p>

L’etichettatura include aspetti peritestuali e editoriali. La struttura TEI ha un teiHeader, ha un

text che ha tre componenti di base (front, body, back) Front ha tag per tutto ciò che precede il

testo vero e proprio (intestazioni, titoli, prefazioni e dediche), il back tutto quello che segue il

testo. Gli elementi di divisione del testo sono <p>, <div> e gli attributi id (identificativo univoco),

n (numero progressivo) e type (nome del tipo di divisione come libro o sonetto). tei-c.org

Scalable Vector Graphic (SVG) 21 Dicembre 2015

Lezione 5: Lo schema XML

Lo schema XML è una DTD scritta in XML. I limiti della DTD sono 1. non permette di distinguere

tipi di dati diversi (ci sono solo stringhe di caratteri e elementi) 2. non è scritta in XML.

Gli schemi XML servono:

a fornire una lista di elementi e attributi in un vocabolario (nome con cui viene identificato

• l’insieme di termini che servono per descrivere un certo dominio);

ad associare tipi (types) o tipi più specifici (sock_colour) ai valori reali che vengono trovati nei

• documenti;

a vincolare dove gli elementi e gli attributi possono apparire e cosa può apparire all’interno di

• questi elementi

a fornire una documentazione che sia human-readable e machine-processable;

• per dare una descrizione formale di uno o più documenti.

Lo schema XML è un documento XML (non occorre un altro processore) è più difficile da leggere

per via della prolissità. Uno schema XML comincia con una dichiarazione del tipo di linguaggio:

<?xml version=“1.1”?>

seguito da il namespace di riferimento:

<xsd:schema xmlns:xsd=“link”>

Tutti i tag hanno il prefisso xsd (XML Schema Definition). Nel primo tag dobbiamo specificare il

collocamento dello schema utilizzando l’attributo schemaLocation. La sintassi specifica delle

DTD trova corrispondenza negli elementi del linguaggio XML Schema:

!ELEMENT <xs:element … > </xs:element>

!ATTLIST <xs:attribute …> </xs:attribute>

esempio: <!ELEMENT titolo (#PCDATA)>

diventa

<xs:element name=“titolo” type=“xs:string”/>

L’elemento titolo viene riferito in altre parti dello schema tramite l’attributo ref (si usa anche per

gli attributi), il cui valore è il nome (name) dell’elemento a cui ci si riferisce:

<xs:element ref=“titolo”/>

7

Quando lo dichiaro uso name quando lo richiamo uso ref. Si usa il tag sequence per …? mentre

per le alternative si usa xs:choice :

<!ELEMENT capitolo ((titolo|numero),corpo)

diventa

<xs:sequence> <xs:choice> <xs:element ref=“titolo”/> <xs:element ref=“numero”/></

xs:choice> <xs:element ref=“corpo”/> </xs:sequence>

La definizione di un attributo diventa:

<xs:attribute name=“orderDate” type=“xs:date”/>

Il ref negli attributi si usa così: <xs:attribute name=“immagine”

type=“xs:string”

use=“optional”

Si usa xs:attributeGroup per un gruppo di attributi (anche quando c’è un attributo solo), per

dargli un nome, e dentro l’elemento si va a riferire il gruppo di attributi di esso.

È possibile porre restrizioni sul numero di occorrenze di un elemento (generalizza gli operatori

come *, +, ? della DTD) e vincolare il valore degli attributi (). Per esempio:

!ELEMENT dati (autore+,titolo_libro, editore?

<xs:sequence> <xs:element maxOccurs=“unbounded” ref=“autore”/>

<xs:element ref=“titolo:libro”

<xs:element minOccurs=“0” ref=“editore”/> </xs:sequence>

Se non si scrive niente il valore di min/maxOccurs predefinito è uno. Per gli attributi:

!ATTLIST prefazione valutazione (pessimo | sufficiente | buono | ottimo) #IMPLIED>

diventa

<xs:attributeGroup name=“prefazione”><xs:attribute name=“valutazione”>

<xs:simpleType> <xs:restriction base=“xs:toke”>

<xs:enumeration value=”pessimo”> …. </xs:restriction> …

I tipo di dati definiti possono essere riutilizzati, è possibile estendere un tipo di dato aggiungendo

elementi o vincoli che rende possibile riutilizzare definizioni e creare gerarchie di tipi di dato.

[biblioteca schema.xsd] Se non si specifica l’attributo type puoi mettere qualsiasi tipo di

informazione all’interno, va sempre bene.

Well-Formed is Not Enough:

A well-formed XML document is a document that conforms to the XML syntax rules, like:

it must begin with the XML declaration; it must have one unique root element; start-tags must

have matching end-tags; elements are case sensitive; all elements must be closed; all elements

must be proper

Dettagli
Publisher
A.A. 2016-2017
11 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Rig_Ce di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Torino o del prof Damiano Rossana.