Namespace Spazio dei nomi Ing. Luca Sabatucci
Scopo I Namespace servono a: I Namespace servono a: distinguere tra elementi e attributi con lo stesso nome appartenenti ad applicazioni differenti distinguere tra elementi e attributi con lo stesso nome appartenenti ad applicazioni differenti raggruppare assieme tutti gli elementi e gli attributi di una applicazione XML correlati tra loro in modo che il software li possa distinguere facilmente raggruppare assieme tutti gli elementi e gli attributi di una applicazione XML correlati tra loro in modo che il software li possa distinguere facilmente Questa necessità nasce dal fatto che spesso accade che più applicazioni XML risiedono nello stesso documento. Questa necessità nasce dal fatto che spesso accade che più applicazioni XML risiedono nello stesso documento.
Esempi Documento XHTML con immagini SVG Documento XHTML con immagini SVG Documento XHTML con equazioni MathML Documento XHTML con equazioni MathML RDF + applicazioni risorsa RDF + applicazioni risorsa XSL + documento origine XSL + documento origine Documento DocBook con elementi XHTML Documento DocBook con elementi XHTML
Catalogo di quadri Memory of the garden at Etten Vincent Van Gogh November, 1888 Two women look to the left. The Swing Pierre-Auguste Renoir 1876 A young girl on a swing.
Uso di RDF per descrivere la risorsa Lapplicazione RDF (Resource Description Framework) può essere usata per descrivere delle risorse. Lapplicazione RDF (Resource Description Framework) può essere usata per descrivere delle risorse. Supponiamo di voler inserire il catalogo di quadri sul Web e di voler usare RDF per rendere alcune informazioni accessibili ai motori di ricerca Supponiamo di voler inserire il catalogo di quadri sul Web e di voler usare RDF per rendere alcune informazioni accessibili ai motori di ricerca
RDF RDF Description titlecreatordatedescription
Uso di RDF Catalogo quadri impressionismo 800 Luca Sabatucci Pittori impressionisti Memory of the garden at Etten Vincent Van Gogh November, 1888 Two women look to the left....
Conflitto Tra lapplicazione CatalogoQuadri e RDF è nato un conflitto di termini: Tra lapplicazione CatalogoQuadri e RDF è nato un conflitto di termini: title title description description date date Tali elementi hanno lo stesso nome, ma significati completamente diversi tra loro. Tali elementi hanno lo stesso nome, ma significati completamente diversi tra loro.
Implementazione I Namespace vengono implementati aggiungendo un prefisso al nome di ogni elemento e attributo. I Namespace vengono implementati aggiungendo un prefisso al nome di ogni elemento e attributo. Ogni prefisso viene messo in corrispondenza ad una applicazione XML diversa Ogni prefisso viene messo in corrispondenza ad una applicazione XML diversa In questo modo allinterno di un documento XML si possono avere elementi riguardanti più applicazioni XML In questo modo allinterno di un documento XML si possono avere elementi riguardanti più applicazioni XML
Prefisso La sintassi usata per introdurre un prefisso Namespace è la seguente: La sintassi usata per introdurre un prefisso Namespace è la seguente:<prefisso:nome_elemento> Per cui si può distinguere tra: Per cui si può distinguere tra: rdf:description rdf:description ex:description ex:description description description
Uso di Namespace Catalogo quadri impressionismo 800 Luca Sabatucci Pittori impressionisti Memory of the garden at Etten Vincent Van Gogh November, 1888 Two women look to the left....
Uso degli URL I prefissi eliminano lambiguità tra elementi con lo stesso nome I prefissi eliminano lambiguità tra elementi con lo stesso nome E obbligatorio assegnare ad ogni prefisso un URL che identifica la particolare applicazione di riferimento E obbligatorio assegnare ad ogni prefisso un URL che identifica la particolare applicazione di riferimento I prefissi vengono legati agli URL dei Namespace aggiungendo un attributo xmlns:prefisso allelemento base della gerarchia I prefissi vengono legati agli URL dei Namespace aggiungendo un attributo xmlns:prefisso allelemento base della gerarchia
Esempi Attributo che contiene lURL del Namespace Prefisso del namespace Elemento radice del documento che specifica il namespace
LURL La stringa specificata come valore dellattributo xmlns:prefisso ha la forma di un URL internet. La stringa specificata come valore dellattributo xmlns:prefisso ha la forma di un URL internet. In realtà gli URL sono degli identificatori puramente formali In realtà gli URL sono degli identificatori puramente formali Non è necessario che la pagina specificata dallURL esista realmente Non è necessario che la pagina specificata dallURL esista realmente Tuttavia è buona norma quella di inserire allURL specificato la descrizione della grammatica o il DTD dellapplicazione di riferimento Tuttavia è buona norma quella di inserire allURL specificato la descrizione della grammatica o il DTD dellapplicazione di riferimento
Namespace e DTD I namespace sono completamente indipendenti dai DTD I namespace sono completamente indipendenti dai DTD Un documento può essere dotato di DTD ma non utilizzare i namespace Un documento può essere dotato di DTD ma non utilizzare i namespace Oppure può usare i namespace ma non avere un DTD Oppure può usare i namespace ma non avere un DTD I namespace non modificano la sintassi dei DTD in nessuna maniera I namespace non modificano la sintassi dei DTD in nessuna maniera