Per poter validare un file XML occorre indicare al parser dove recuperare lo schema. Tale informazione può essere indicata nell’elemento radice del file usando i tag xmlns:xsi e xsi:noNamespaceSchemaLocation.
1 2 3 4 |
<libro xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="libro.xsd" titolo="Titolo" > |
L’attributo xmlns:xsi indica un URL che specifica la modalità con cui si indicherà il riferimento allo schema XML, mentre l’attributoxsi:noNamespaceSchemaLocation indica il nome e l’eventuale percorso del file contenente lo schema XML di riferimento.
Concetto fondamentale è quello del namespace, che permette di individuare univocamente un tipo all’interno del file xml, qualora all’interno del file sia presenti grammatiche diverse.
Per namespace si intende un insieme di nomi di elementi e nomi di attributi identificati univocamente da un identificatore.
Per definire un namespace si usa l’attributo xmlns associato al root element, come nel seguente esempio:
1 |
<libro xmlns="http://www.valeriofinazzo.it/libro"> |
Questa formula indica che l’elemento articolo ed i suoi sottoelementi utilizzano i nomi definiti nel namespace identificato dall’identificatore http://www.valeriofinazzo.it/libro. Il valore del namespace è una stringa libera, che per prassi, viene indicata tramite una URI, Uniform Resource Identifier.
È possibile creare delle abbreviazioni per fare riferimento ai namespace, costituite da caratteri alfanumerici seguiti da due punti (:) dichiarati nel root element ed utilizzati come prefissi dei nomi degli elementi.
Es. <lib:libro titolo=”Titolo” xmlns:lib=”http://www.valeriofinazzo.it/libro” >