|
Wiki
UniCrema
Materie per semestre
Materie per anno
Materie per laurea
Help
|
|
Uni.BDC-DTD History
Hide minor edits - Show changes to output
Changed lines 8-9 from:
Il '''Document Type Definition''' ('''DTD''') è una specifica della struttura di documenti XML: se il documento rispetta tale specifica si dice ''valido'' rispetto ad essa. Il suo utilizzo è opzionale e può essere specificato all'inizio di un documento XML.
to:
Il '''Document Type Definition''' ('''DTD''') è una specifica della struttura di documenti XML: se il documento rispetta tale specifica si dice ''valido'' rispetto ad essa. Il suo utilizzo è opzionale e può essere specificato sia all'interno del documento XML (generalmente all'inizio) che in un documento separato cui fa riferimento con una particolare direttiva ([@<!DOCTYPE root-element SYSTEM "filename">@]).
Added lines 94-100:
!!!Limiti Il ''Document Type Definition'' è molto semplice da scrivere e questo ha un prezzo: * gli unici tipi di dati ammessi sono quelli testuali (niente numeri interi o reali, booleani, ecc) * possono esprimere un numero di vincoli sugli attributi molto limitato * non sono estendibili * non gestiscono ''namespace''
Added lines 39-40:
* se ho ''una sola occorrenza'', non ho indicatori\\ [@<! ELEMENT nomeElemento (nomeElementoAnnidato)>@]
Changed lines 65-68 from:
* se l'attributo è obbligatorio, si indica col simbolo '''#REQUIRED''' * se l'attributo è facoltativo, si indica col simbolo '''#IMPLIED''' * se all'attributo deve essere associato un valore costante, si indica col simbolo '''#FIXED "valore"''' * per dare un valore di default all'attributo, basta metterlo tra virgolette. Es: "valore1"
to:
* se l'attributo è ''obbligatorio'', si indica col simbolo '''#REQUIRED''' * se l'attributo è ''facoltativo'', si indica col simbolo '''#IMPLIED''' * se all'attributo ''deve essere associato un valore costante'', si indica col simbolo '''#FIXED "valore"''' * per dare un ''valore di default'' all'attributo, basta metterlo tra virgolette. Es: "valore1"
!!!Esempio Documento XML di partenza: [@<elenco> <prodotto codice="123"> <descrizione> libro </descrizione> <prezzo> 50 </prezzo> </prodotto> <prodotto codice="456"> <descrizione> penna stilo </descrizione> </prodotto> </elenco>@]
DTD risultante: [@(1) <!ELEMENT ELENCO (PRODOTTO+)> (2) <!ELEMENT PRODOTTO (DESCRIZIONE, PREZZO?)> (3) <!ATTLIST PRODOTTO codice ID #REQUIRED> (4) <!ELEMENT DESCRIZIONE (#PCDATA)> (5) <!ELEMENT PREZZO (#PCDATA)>@]
Commenti punto per punto: * (1) l'elemento ELENCO contiene altri elementi di tipo PRODOTTO. In particolare ne deve avere obbligatoriamente almeno 1 * (2) l'elemento PRODOTTO contiene altri due elementi: DESCRIZIONE (che può avere un'unica occorrenza) e PREZZO, la cui presenza è facoltativa * (3) l'elemento PRODOTTO ''deve'' avere come attributo il suo codice identificativo * (4) e (5) gli elementi DESCRIZIONE e PREZZO sono stringhe di testo
Changed lines 18-19 from:
%center% [@<! ELEMENT nomeElemento (modelloDiContenuto)>@]
to:
%center%[@<! ELEMENT nomeElemento (modelloDiContenuto)>@]
Added lines 47-66:
Gli '''attributi''' forniscono informazioni aggiuntive sugli elementi, e per definire quelli leciti all'interno del documento si utilizza la seguente sintassi:
[@ <!ATTLIST nomeElemento nomeAttributo1 (tipo) valoriPredefiniti nomeAttributo2 (tipo) valoriPredefiniti ... ... ...>@]
I '''tipi''' sono fondamentalmente tre: * ''stringhe'', indicate dalla parola chiave '''CDATA''' * ''token'', che limitano i valori permessi sull'attributo. Un esempio è '''ID''' che identifica in modo univoco un elemento * ''enumerazioni'', che specificano una serie di valori permessi indicati tra parentesi tonde e separate da '''|'''. Ad esempio:\\ [@<!ATTLIST messaggio Avviso ( basso | normale | urgente) “basso”>@] Ho tre valori permessi (basso, normale, urgente) di cui basso è quello predefinito.
Per quanto riguarda i '''valori predefiniti''' degli attributi, su essi possono essere imposti alcuni vincoli: * se l'attributo è obbligatorio, si indica col simbolo '''#REQUIRED''' * se l'attributo è facoltativo, si indica col simbolo '''#IMPLIED''' * se all'attributo deve essere associato un valore costante, si indica col simbolo '''#FIXED "valore"''' * per dare un valore di default all'attributo, basta metterlo tra virgolette. Es: "valore1"
Added lines 1-50:
(:title Basi di Dati - Complementi - Document Type Definition:)
%titolo%''':: Basi di Dati - Complementi ::'''
%center%%sottotitolo%'''Document Type Definition'''
!!!Cos'è Il '''Document Type Definition''' ('''DTD''') è una specifica della struttura di documenti XML: se il documento rispetta tale specifica si dice ''valido'' rispetto ad essa. Il suo utilizzo è opzionale e può essere specificato all'inizio di un documento XML.
E' costituito da un insieme di regole, che possono essere di due tipi: * regole che definiscono gli ''elementi'' XML ammissibili e il loro contenuto * regole che specificano gli ''attributi'' degli elementi XML, il loro tipo e i vincoli sul loro valore
!!!Sintassi !!!!Elementi Per definire gli '''elementi''' leciti all'interno del documento si utilizza la seguente sintassi:
%center% [@<! ELEMENT nomeElemento (modelloDiContenuto)>@]
Il '''modello di contenuto''' può essere di vari tipi:
* se l'elemento ''ne contiene altri annidati'':\\ [@<! ELEMENT nomeElemento (nomeElementoAnnidato1, nomeElementoAnnidato2, ...)>@]
* se l'elemento ''ha contenuto testuale'':\\ [@<! ELEMENT nomeElemento (#PCDATA)>@]
* se l'elemento ''ha contenuto misto'' si utilizza il simbolo '''|''' come separatore:\\ [@<! ELEMENT nomeElemento (#PCDATA | nomeElementoAnnidato)>@]
* se l'elemento ''non è sicuramente vuoto, ma non se ne conosce il modello di contenuto'':\\ [@<! ELEMENT nomeElemento ANY>@]
* se l'elemento ''è vuoto'':\\ [@<! ELEMENT nomeElemento EMPTY>@]
Ogni elemento può avere diversi '''indicatori di occorrenza''' per i suoi sotto-elementi, quindi diversa cardinalità:
* se l'occorrenza è ''facoltativa'' (0 o 1 volta), si indica col simbolo '''?'''\\ [@<! ELEMENT nomeElemento (nomeElementoAnnidato?)>@] * se l'occorrenza è ''obbligatoria e ripetibile'' (1 o più volte), si indica col simbolo '''+'''\\ [@<! ELEMENT nomeElemento (nomeElementoAnnidato+)>@] * se l'occorrenza è ''facoltativa e ripetibile'' (0 o più volte), si indica col simbolo '''*'''\\ [@<! ELEMENT nomeElemento (nomeElementoAnnidato*)>@]
!!!!Attributi
---- [[Torna alla pagina di Basi di Dati - Complementi -> BDComplementi]]
|
|