XML data binding: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m smistamento lavoro sporco e fix vari |
m clean up, replaced: L'''' → L{{'}}''' |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 1:
{{F|linguaggi di programmazione|novembre 2014}}
L{{'}}'''XML data binding''' costituisce un modo per trasformare le informazioni contenute in un documento [[XML]] in un oggetto (''object'') della memoria di un computer. Questo consente alle applicazioni di accedere ai dati XML direttamente dall'oggetto invece di utilizzare ''[[Document Object Model]]'' (DOM) o ''[[Simple API for XML]]'' (SAX) per recuperarli dal documento XML.
Un XML data binder permette questo processo creando automaticamente le relazioni (''mapping'') tra gli elementi dello schema XML e gli oggetti equivalenti.
Riga 13:
Allo stesso modo, dal momento che gli oggetti nella memoria del computer non sono intrinsecamente sequenziali, e possono includere collegamenti ad altri oggetti (inclusi i link autoreferenziali), il ''mapping'' dei dati attraverso l'XML binding spesso non riesce a preservare tutte le informazioni su un oggetto quando questo viene serializzato (''marshalling'') in XML.
Un approccio alternativo al ''data binding'' automatico si basa invece su espressioni [[XPath]] realizzate manualmente che estraggono i dati dai file XML. Questo approccio ha diversi vantaggi; in primo luogo, il codice per il ''data binding'' ha bisogno solo di una conoscenza approssimata (ad esempio, la topologia, i nomi dei [[Tag (metadato)|tag]], ecc.) della struttura ad albero del documento XML, che gli sviluppatori possono determinare, guardando ai dati e gli schemi XML non sono più obbligatori. Inoltre, XPath consente all'applicazione di effettuare il ''binding'' degli elementi rilevanti escludendo tutto il resto, evitando in tal modo i processi superflui che sarebbero richiesti per deserializzare (''unmarshalling'') completamente l'intero documento XML. Lo svantaggio di questo approccio è la mancanza di automazione nell'implementazione dell{{'}}''object model'' e delle espressioni XPath che gli sviluppatori devono creare manualmente.
==Collegamenti esterni==
|