Riprendiamo, dopo un pò di vacanza, i nostri post tecnici.
Lavorando con i dati in XML ci imbattiamo in termini quali XML DOM, e well-formatted vediamo di cosa stiamo parlando
XML DOM
Supponiamo d'avere diversi sistemi di comunicazione in "colloquio" tra loro, la cosa più semplice che ci viene in mente, comprensibile da vari sistemi, è uno standard text-based, dunque è perfetto l' XML. Inoltre XML è conforme allo standard sviluppato da W3C (World Wide Web Consortium). L'ideale sarebbe utilizzare dei XML well-formatted, tipo questo:
version="1.0"?>
Sara</Nome>
Rossi</Cognome>
05/09/1983</Nato>
04/01/2002</PrimoOrd>
</cliente>
Marina</Nome>
Vinti</Cognome>
18/10/1975</Nato>
04/01/2002</PrimoOrd>
</cliente>
</clienti>
Ok, abbiamo detto che è well-formatted ma avevendo davanti una cosa del genere come facciamo a dire che è well-formatted?
Controlliamo...., abbiamo che:
- è presente un tag di chiusura per ogni tag d'apertura <....>
- è associato ad:
- un documento di definizione (DTD) che definisce la "grammatica" per una classe del documento XML
- oppure ad uno Schema XML che descrive e valida un documento XML
Ma come leggiamo un documento XML? Ovvero come farà la nostra applicazione a decifrare in quale modo il documento XML è formattato?
Per risolvere questo problema interviene il XML DOM che permette di leggere, modificare, manipolare un documento XML da codice. Ok, ma di cosa stiamo parlando?
Il XML Document Object Model
La classe XML DOM è una rappresentazione di un documento XML in memoria. Dato un documento XML con questa classe possiamo:
- leggerelo
- scriverelo
- manipolarlo
Le classi che ci mette a disposizione il Framework .NET per "scorrere" ed ottenere informazioni rilevanti da un documento XML sono numerose. Ogni documento XML consiste di un nodo parent e di un nodo child. Nel nostro esempio il nodo parent è clienti il nodo child è cliente,si dicono sibling i nodi allo stesso livello nel nostro esempio Nome e Nato.
Vediamo quali sono i tipi di nodi previsti da un XML DOM.
- Document
- DocumentType questo nodo rappresenta il
- Element
- Attribute
- Comment
- Text questo nodo rappresenta il testo sottostante ad un particolare nodo o attributo
Per qualche spunto ulteriore rimando ad msnd:
Modelli di progettazione di W3C XML Schema: gestione delle modifiche
http://www.microsoft.com/italy/msdn/library/xmlsoap/xmlschemachange.asp
Modelli di progettazione di W3C XML Schema: come evitare la complessità
http://www.microsoft.com/italy/msdn/library/xmlsoap/xmlschemacomplex.asp
powered by IMHO 1.3