XML DOM - Modello
Ora che sappiamo cosa significa DOM, vediamo cos'è una struttura DOM. Un documento DOM è una raccolta di nodi o pezzi di informazioni, organizzati in una gerarchia. Alcuni tipi di nodi possono avere nodi figli di vario tipo e altri sono nodi foglia che non possono avere nulla sotto di essi nella struttura del documento. Di seguito è riportato un elenco dei tipi di nodo, con un elenco dei tipi di nodo che possono avere come figli:
Document - Elemento (massimo uno), ProcessingInstruction, Commento, DocumentType (massimo uno)
DocumentFragment - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
EntityReference - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
Element - Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference
Attr - Testo, EntityReference
ProcessingInstruction - Niente bambini
Comment - Niente bambini
Text - Niente bambini
CDATASection - Niente bambini
Entity - Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference
Notation - Niente bambini
Esempio
Considera la rappresentazione DOM del seguente documento XML node.xml.
<?xml version = "1.0"?>
<Company>
<Employee category = "technical">
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
</Employee>
<Employee category = "non-technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
</Employee>
</Company>
Il Document Object Model del documento XML di cui sopra sarebbe il seguente:
Dal diagramma di flusso sopra, possiamo dedurre:
L' oggetto nodo può avere un solo oggetto nodo padre . Questo occupa la posizione sopra tutti i nodi. Ecco Company .
Il nodo padre può avere più nodi chiamati nodi figlio . Questi nodi figlio possono avere nodi aggiuntivi chiamati nodi di attributo . Nell'esempio precedente, abbiamo due nodi di attributo Tecnico e Non tecnico . Il nodo dell'attributo non è effettivamente un figlio del nodo dell'elemento, ma è ancora associato ad esso.
Questi nodi figlio a loro volta possono avere più nodi figlio. Il testo all'interno dei nodi è chiamato nodo di testo .
Gli oggetti nodo allo stesso livello vengono chiamati come fratelli.
Il DOM identifica:
gli oggetti per rappresentare l'interfaccia e manipolare il documento.
la relazione tra gli oggetti e le interfacce.