Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner


 
  

Home -> Manuali e Tutorials -> Guida XML -> Entità  


Scarica il tutorial      |    Stampa il tutorial      |    Cerca nel sito      



ENTITA' XML



Potrebbe essere necessario inserire in un documento XML dei caratteri particolari che potrebbero renderlo non ben formato. Ad esempio, se dobbiamo inserire del testo che contiene il simbolo <, corriamo il rischio che possa venire interpretato come l'inizio di un nuovo tag.
Per evitare situazioni di questo tipo, XML prevede degli oggetti speciali detti entità che consentono di sostituire altri caratteri. Basta a tal punto usare l'entità predefinita per tale carattere: & lt;.

La struttura fisica di un documento XML è costituita da tutto il contenuto del documento stesso.
Le unità di memorizzazione definite entità, possono essere parte integrante del documento o possono essere esterne. Ogni entità è identificata da un nome univoco e da un contenuto specifico che può essere costituito da un singolo carattere all'interno del documento o da un file esterno di grandi dimensioni. In termini di struttura logica di un documento XML, le entità vengono dichiarate nel prologo e viene loro fatto riferimento nell'elemento Document.

Dopo aver dichiarato la DTD, l'entità può essere utilizzata in un punto qualsiasi del documento.

Un riferimento ad una entità indica all'elaboratore di recuperare il contenuto dell'entità stessa, come stabilito dalla sua dichiarazione, e di utilizzarla all'interno del documento stesso.

Le entità hanno tutte un contenuto e sono identificate da un nome.

Ciascun documento ha almeno un'entità detta entità documento (la radice dell'albero logico), che serve come punto di partenza per il processore XML.

Ogni dichiarazione di entità ne stabilisce un nome ed un valore.
Il valore può essere una stringa di testo od anche un dato memorizzato esternamente.

Le entità sono categorizzate secondo diversi criteri:


1.   Interne / Esterne

Un'entità interna è un'entità la cui dichiarazione DTD contiene dati di sostituzione, mentre una esterna contiene i dati di sostituzione in un file esterno. Esempio di entità interna:

<!ENTITY author "Giampiero Granatella">

Se ora nel testo voglio utilizzare l'entità author non devo far altro che immettere nel contenuto il nome dell'entità fra i simboli "&" e ";" , esattamente come nell'esempio seguente:


Questo testo è stato scritto da &author; per fare un esempio dell'utilizzo di una entità .


Ogni volta, quindi, che nel documento viene fatto riferimento a tale entità, questa verrà sostituita con il suo valore. Se si desidera modificare il contenuto dell'entità, è necessario effettuare questa operazione solo nella dichiarazione e la modifica si rifletterà in qualsiasi punto del documento in cui venga utilizzata l'entità.

Un esempio di entità esterna è il seguente:

<!ENTITY intestazione SYSTEM "/libro" intestazione.xml>


Con questa dichiarazione viene detto di cercare il dato di sostituzione nel file "intestazione.xml", contenuto nella directory locale "/libro".
SYSTEM indica che il file risiede nel disco locale o su un unità esterna identificata dall'URL.


Alcune DTD sono standard stabiliti disponibili per un'ampia gamma di utenti. Sarebbe necessario utilizzare la parola chiave PUBLIC, seguita dall'identificatore pubblico che l'elaboratore può impiegare se è disponibile una libreria standard. Dopo l'identificatore pubblico è inserito un URI, simile a quello utilizzato con la parola chiave SYSTEM. Un esempio potrebbe essere questo:


<!ENTITY IMAGE1 PUBLIC "-//XMLCo//TEXT Standard Images//EN" "http://XMLCo.com/Images/Xmlquot.gif" NDATA GIF>


L'annotazione NDATA GIF viene visualizzata nella parte finale della dichiarazione. Questa annotazione indica all'elaboratore il tipo di oggetto a cui viene fatto riferimento. A questo punto se viene semplicemente aggiunta la dichiarazione di entità alla DTD e viene eseguita attraverso l'elaboratore, verrà visualizzato un messaggio di errore simile al seguente:


Declaration ‘IMAGE1' contains reference to undefined notation ‘GIF'.

(La dichiarazione ‘IMAGE1' contiene un riferimento a un'annotazione ‘GIF' non identificata.)



L'errore si verifica perché la dichiarazione di entità fa riferimento a un tipo di file binario e all'elaboratore non è stato indicato come operare con questo file. Si tratta di un'entità non analizzabile che l'elaboratore non è in grado di comprendere. In questo caso l'annotazione deve essere dichiarata come dichiarazione di annotazione. Una dichiarazione di annotazione indica all'elaboratore come operare con un tipo di file binario specifico. Le dichiarazioni di annotazione hanno il seguente formato:


<!NOTATION GIF SYSTEM "Iexplore.exe">


Questa dichiarazione indica all'elaboratore di utilizzare il programma Iexplore.exe per elaborare il file GIF ogni volta che nella DTD ne viene rilevato uno.


2.   Generali / a Parametro

Un'entità generale è contenuta all'interno di un documento, mentre una a parametro può essere contenuta solo all'interno di una DTD.
Un'entità a parametro ha prima del nome dell'entità il simbolo "%" e può essere inserita solo all'interno di una DTD o nella dichiarazione di un'altra entità ( interna, nell'esempio ):


<!ENTITY % C "Documento scritto da G. Bianchi. Tutti i diritti sono riservati.">
<!ENTITY Fine "FINE. Copyright &C;">



In determinate situazioni gli elementi da sostituire con le entità possono essere molti, il che rischia di rendere illeggibile il testo. In questo caso, al posto di sostituire tutte le occorrenze dei simboli speciali con le corrispondenti entità è possibile utilizzare una sezione CDATA.
Una sezione CDATA (Character DATA) è un blocco di testo che viene considerato sempre come testo, anche se contiene codice XML o altri caratteri speciali. Per indicare una sezione CDATA è sufficiente racchiuderla tra le sequenze di caratteri <![CDATA[ e ]]>.

Un esempio è il seguente:


<codice>
<![CDATA[
   <libro>
      <capitolo>
      </capitolo>
   </libro>
]]>
</codice>





Torna su      |    Indice Guida      |    Pagina << 8 >>    


Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]