Un normale documento XML è un testo con dei tag, esempio:
<biblioteca>
<libro>
<titolo>Via col vento</titolo>
<autore>Margaret Mitchell</autore>
<proprietario>Mario</proprietario>
</libro>
<libro>
<titolo>Pinocchio</titolo>
<autore>Carlo Collodi</autore>
<proprietario>Luigi</proprietario>
</libro>
</biblioteca>
Il namespace è una complicazione, inutile, dello standard XML. Permette di aggiungere una proprietà dentro al tag. Ad esempio il proprietario invece di avere un suo tag, lo mettiamo dentro ad altri tag:
<biblioteca>
<mario:libro>
<mario:titolo>Via col vento</mario:titolo>
<mario:autore>Margaret Mitchell</mario:autore>
</mario:libro>
<luigi:libro>
<luigi:titolo>Pinocchio</luigi:titolo>
<luigi:autore>Carlo Collodi</luigi:autore>
</luigi:libro>
</biblioteca>
Livecode permette di importare i dati XML sia con i namespace, sia ignorandoli.
Per importare un XML senza namespace, facendolo diventare un array, basta usare il comando revCreateXMLTree, che crea questo array:
libro[1]
libro[1]/titolo: "Via col vento"
libro[1]/autore: "Margaret Mitchell"
libro[1]/proprietario: "Mario"
libro[2]
libro[2]/titolo: "Pinocchio"
libro[2]/autore: "Carlo Collodi"
libro[2]/proprietario: "Luigi"
mentre per averlo con i namespace bisogna usare revCreateXMLTreeWithNamespaces, che crea:
mario:libro[1]
mario:libro[1]/mario:titolo: "Via col vento"
mario:libro[1]/mario:autore: "Margaret Mitchell"
mario:libro[2]
mario:libro[2]/mario:titolo: "Pinocchio"
mario:libro[2]/mario:autore: "Carlo Collodi"
come vedete, potete gestire i namespace anche con livecode; ma io li sconsiglio, creano troppa confusione e obbligano a scrivere molto codice in più per interpretarli..
Nessun commento:
Posta un commento