cerca
Tecnologie Web - Namespace
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.XMLNamespace History

Hide minor edits - Show changes to output

Added lines 11-20:
>>left bgcolor=#f5f9fc width=240px border='2px solid #cccccc' padding=5px<<
%center%'''Indice'''

# [[#s1| Scopi]]
# [[#s2| Sintassi]]
# [[#s3| Namespace default]]
# [[#s4| Legame coi DTD]]
>><<

[[#s1]]
Added line 27:
[[#s2]]
Added line 59:
[[#s3]]
Added line 72:
[[#s4]]
Added lines 49-66:
La dichiarazione di un namespace di default viene utilizzata quando tutto(o quasi) il contenuto di un elemento si riferisce alla stessa applicazione.\\
La sintassi è la seguente:

%center%[@ <elementoPadre xmlns="URI" @]

Con questo tipo di dichiarazione indichiamo che tutti gli elementi privi di ''prefisso'' e i relativi discendenti dipendono dallo stesso namespace presente nell'elemento padre.\\
Il namespace di default non viene applicato agli elementi dotati di prefisso, che dipendono quindi dal namespace al quale il prefisso relativo risulta legato. E' quindi possibile modificare il namespace di default all'interno di un particolare elemento aggiungendo un attributo ''xmlns'' all'elemento stesso.\\
NOTA: Il namespace di default è applicabile solo agli elementi, non agli attributi.

{+Esempio+}:\\

!!Legame coi DTD
I namespace sono indipendenti dai DTD, quindi un documento XML può utilizzare namespace e non avere un DTD, oppure avere un DTD e non utlizzare namespace.\\
I namespace non modificano la sintassi DTD e non hanno alcun ruolo nella validità di un documento.\\
Un DTD di un documento che utilizza un elemento ''dc:title'' dovrà includere la dichiarazione ELEMENT che descrive il contenuto dell'elemento ''dc:title'':\\
[@ <!ELEMENT dc:title (#PCDATA)> @]

quindi il nome dell'elemento nel DTD include anche il prefisso se questo è presente, mentre se utilizziamo un namespace di default e quindi abbiamo degli elementi privi di prefisso allora anche nel DTD dovranno essere dichiarati senza prefisso. Bisogna seguire questa regola perché il validatore se ne frega dei namespace, gli interessano i nomi degli elementi e degli attributi.
Changed lines 43-66 from:
[@
<art
:articolo titolo="Guida ad XML"
xmlns:art="http://www
.dominio.it/xml/articolo"
xmlns:bibl="http://www.dominio.it/xml/bibliografia" >
<art:paragrafo titolo="Introduzione">
<art:testo>
bla bla bla
</art:testo>
</art:paragrafo>
<art:paragrafo titolo="Bibliografia">
<bibl:bibliografia>
<bibl:autore>
Tizio
</bibl:autore>
<bibl:titolo>
Opera citata
</bibl:titolo>
<bibl:anno>
1999
</bibl:anno>
</bibl:bibliografia>
</art:paragrafo>
</art:articolo>
@]
to:
Attach:XMLNS01.jpg
Changed lines 18-19 from:
Quindi tutti gli elementi e gli attributi relativi ad un'applicazione XML vengono assegnati ad un URI, mentre quelli relativi ad un'altra applicazione XML vengono assegnati ad un URI differente, però non è sempre così. Infatti è possibile che all'interno della stessa applicazione XML si utilizzino namespaces multipli per suddividere porzioni differenti dell'applicazione.\\\
to:
Tutti gli elementi e gli attributi relativi ad un'applicazione XML vengono assegnati ad un URI, mentre quelli relativi ad un'altra applicazione XML vengono assegnati ad un URI differente, però non è sempre così. Infatti è possibile che all'interno della stessa applicazione XML si utilizzino namespaces multipli per suddividere porzioni differenti dell'applicazione.\\\
Changed lines 27-32 from:
* ''nome qualificato'': è tutto il blocco, cioè prefisso; : ; porzioneLocale.

Il motivo per cui viene usato un prefisso è che gli URI sono, nella maggior parte dei casi, composti da caratteri particolari (ex: / * %) che non sono legali nei nomi XML.\\
Il prefisso può contenere qualsiasi carattere tranne i ''':'''; lo stesso vale
per la porzioneLocale per ovvi motivi di sintassi.

All'inizio però abbiamo detto che un namespace associa gli elementi ad un URI, quindi significa
ogni prefisso di un nome qualificato deve essere associato ad un URI.\\
to:
* ''nome qualificato'': è tutto il blocco, cioè prefisso:porzioneLocale.

Il motivo per cui viene usato un prefisso è che gli URI sono, nella maggior parte dei casi, composti da caratteri particolari (ex: / * %) che non sono legali nei nomi XML ed inoltre avere un file XML con mille mila URI riportati per esteso non è esattamente il massimo della leggibilità.\\
Il prefisso può contenere qualsiasi carattere tranne i [+''':'''+] Lo stesso vale per la porzioneLocale per ovvi motivi di sintassi.

All'inizio però abbiamo detto che un namespace associa gli elementi ad un URI, quindi significa che
ogni prefisso di un nome qualificato deve essere associato ad un URI.\\
Changed line 35 from:
%center%[@ xmlns:prefix @]
to:
%center%[@ xmlns:prefix="URI" @]
Changed line 11 from:
!!!Scopi
to:
!!Scopi
Changed line 17 from:
!!!Sintassi
to:
!!Sintassi
Changed line 71 from:
!!!Namespace default
to:
!!Namespace default
Changed line 17 from:
!!!!Sintassi
to:
!!!Sintassi
Changed lines 41-42 from:
{+''Esempio''+}[- preso da html.it -]:\\
to:
{+''Esempio''+}[- (preso da html.it) -]:\\\
Changed lines 18-19 from:
Quindi tutti gli elementi e gli attributi relativi ad un'applicazione XML vengono assegnati ad un URI, mentre quelli relativi ad un'altra applicazione XML vengono assegnati ad un URI differente, però non è sempre così. Infatti è possibile che all'interno della stessa applicazione XML si utilizzino namespaces multipli per suddividere porzioni differenti dell'applicazione.\\
to:
Quindi tutti gli elementi e gli attributi relativi ad un'applicazione XML vengono assegnati ad un URI, mentre quelli relativi ad un'altra applicazione XML vengono assegnati ad un URI differente, però non è sempre così. Infatti è possibile che all'interno della stessa applicazione XML si utilizzino namespaces multipli per suddividere porzioni differenti dell'applicazione.\\\
Changed lines 22-71 from:
%center%[@ @]
to:
%center%[@ prefisso:porzioneLocale @]

dove:
* ''prefisso'': indica il namespace al quale appartiene l'elemento o l'attributo.
* ''porzione locale'': identifica l'elemento o l'attributo appartenente al namespace.
* ''nome qualificato'': è tutto il blocco, cioè prefisso; : ; porzioneLocale.

Il motivo per cui viene usato un prefisso è che gli URI sono, nella maggior parte dei casi, composti da caratteri particolari (ex: / * %) che non sono legali nei nomi XML.\\
Il prefisso può contenere qualsiasi carattere tranne i ''':'''; lo stesso vale per la porzioneLocale per ovvi motivi di sintassi.

All'inizio però abbiamo detto che un namespace associa gli elementi ad un URI, quindi significa ogni prefisso di un nome qualificato deve essere associato ad un URI.\\
La sintassi per legare un prefisso ad un URI è la seguente:

%center%[@ xmlns:prefix @]

dove:
* ''prefix'': prefisso che si desidera utlizzare.
* ''xmlns:prefix'': va aggiunto all'elemento prefissato o a uno degli elementi che lo sovrastano nella gerarchia. Infatti il legame tra il prefisso e URI è attivo solo all'interno dell'elemento nel quale viene dichiarato.

{+''Esempio''+}[- preso da html.it -]:\\
[@
<art:articolo titolo="Guida ad XML"
xmlns:art="http://www.dominio.it/xml/articolo"
xmlns:bibl="http://www.dominio.it/xml/bibliografia" >
<art:paragrafo titolo="Introduzione">
<art:testo>
bla bla bla
</art:testo>
</art:paragrafo>
<art:paragrafo titolo="Bibliografia">
<bibl:bibliografia>
<bibl:autore>
Tizio
</bibl:autore>
<bibl:titolo>
Opera citata
</bibl:titolo>
<bibl:anno>
1999
</bibl:anno>
</bibl:bibliografia>
</art:paragrafo>
</art:articolo>
@]

'''NOTA''': Solitamente per convenzione le applicazioni XML sono associate a prefissi prestabiliti (ex: gli elementi SVG sono associati al prefisso ''svg''), ma questi prefissi sono solo una convenzione e possono essere modificati come si desidera(ovviamente sempre rispettando le regole viste precedentemente).\\
Gli URI invece sono standardizzati quindi se si desidera si può modificare il prefisso, ma lo URI deve rimanere lo stesso.\\

!!!Namespace default
Changed lines 19-20 from:
La sintassi è la seguente:\\
to:
La sintassi è la seguente:
Changed line 12 from:
I '''namespaces''' (spazio dei nomi) sono dei metodi utilizzati da XML per associare elementi ed attributi ad un URI.\\
to:
I '''namespaces''' (spazio dei nomi) sono dei metodi utilizzati da XML per associare elementi ed attributi ad un URI. Gli URI permettono di suddividere gli elementi in insiemi disgiunti, infatti gli elementi con lo stesso nome, ma associati ad URI differenti sono considerati elementi differenti.\\
Changed lines 15-17 from:
# raggruppare assieme tutti gli elementi e gli attributi di un'applicazione XML correlati tra di loro. Questo per fare in modo che il software possa gestirli più facilmente.
to:
# raggruppare assieme tutti gli elementi e gli attributi di un'applicazione XML correlati tra di loro, per fare in modo che il software possa gestirli più facilmente.

!!!!Sintassi
Quindi tutti gli elementi e gli attributi relativi ad un'applicazione XML vengono assegnati ad un URI, mentre quelli relativi ad un'altra applicazione XML vengono assegnati ad un URI differente, però non è sempre così. Infatti è possibile che all'interno della stessa applicazione XML si utilizzino namespaces multipli per suddividere porzioni differenti dell'applicazione.\\
La sintassi è la seguente:\\
%center%[@ @]
Changed lines 14-15 from:
# servono a distinguere tra elementi e attributi con lo stesso nome, appartenenti ad applicazioni XML differenti.
# servono a raggruppare assieme tutti gli elementi e gli attributi di un'applicazione XML correlati tra di loro. Questo per fare in modo che il software possa gestirli più facilmente.
to:
# distinguere tra elementi e attributi con lo stesso nome, appartenenti ad applicazioni XML differenti.
# raggruppare assieme tutti gli elementi e gli attributi di un'applicazione XML correlati tra di loro. Questo per fare in modo che il software possa gestirli più facilmente.
Changed lines 11-12 from:
!!!Cosa sono e scopo
I
namespaces (spazio dei nomi) sono dei metodi utilizzati da XML per associare elementi ed attributi ad un URI.\\
to:
!!!Scopi
I '''
namespaces''' (spazio dei nomi) sono dei metodi utilizzati da XML per associare elementi ed attributi ad un URI.\\
I due scopi principali dei namespaces sono:
# servono a distinguere tra elementi e attributi con lo stesso nome, appartenenti ad applicazioni XML differenti.
# servono a raggruppare assieme tutti gli elementi e gli attributi di un'applicazione XML correlati tra di loro. Questo per fare in modo che il software possa gestirli più facilmente.
Changed lines 11-13 from:
!!!
to:
!!!Cosa sono e scopo
I namespaces (spazio dei nomi) sono dei metodi utilizzati da XML per associare elementi ed attributi ad un URI.\\
Added lines 1-14:
(:title Tecnologie Web - Namespace:)
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]
----

(:title Tecnologie Web - Namespace:)

%titolo%''':: Tecnologie Web ::'''

%center%%sottotitolo%'''Namespace'''

!!!

----
[[Torna alla pagina di Tecnologie Web -> TecnologieWeb]]