13.6.2.2 Oggetti Node

Tutti i componenti di un documento XML sono sotto classi di Node.

nodeType
Un intero che rappresenta il tipo di nodo. Vengono definite alcune costanti simboliche per i tipo nell'oggetto Node: ELEMENT_NODE, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE. Questi sono attributi in sola lettura.

parentNode
Il genitore del nodo corrente, o None per il nodo rappresentante il documento. Il valore è sempre un oggetto Node o None. Per nodi Element, questo sarà un elemento genitore, eccetto per l'elemento root, nel cui caso sarà l'oggetto Document. Per il nodi Attr, questo è sempre None. Questo è un attributo in sola lettura.

attributes
Un NamedNodeMap di oggetti di attributo. Solo gli elementi hanno attualmente valore per questo; altri, per questo attributo, indicano None. Questo è un attributo in sola lettura.

previousSibling
Il nodo che precede immediatamente il corrente, con lo stesso genitore. Per istanza gli elementi con un indicatore di fine tag che arrivano subito prima del proprio, self, elemento di inizio tag. Di solito, i documenti XML sono composti da più componenti che semplici elementi, per cui il precedente sibling (NdT: rivale) può essere testo, un commento, o qualche altra cosa. Se questo nodo è il primo figlio del genitore, questo attributo assume il valore None. Questo è un attributo in sola lettura.

nextSibling
Il nodo che immediatamente precede questo, con lo stesso genitore. Vedere anche anche previousSibling. Se questo è l'ultimo dei figli del genitore, questo attributo assume il valore None. Questo è un attributo in sola lettura.

childNodes
Una lista di nodi contenuti all'interno di questo nodo. Questo è un attributo in sola lettura.

firstChild
Il primo figlio all'interno del nodo, se non ce ne sono allora varrà None. Questo è un attributo in sola lettura.

lastChild
L'ultimo figlio all'interno del nodo, se non ce ne sono allora varrà None. Questo è un attributo in sola lettura.

localName
La parte di tagName successiva ai due punti, se ne è presente una, altrimenti l'intero tagName. Il valore è una stringa.

prefix
La parte di tagName che precede i due punti, se ce n'è una, altrimenti una stringa vuota. Il valore è una stringa o None.

namespaceURI
Lo spazio dei nomi associato con al nome dell'elemento. Il valore sarà una stringa o None. Questo è un attributo in sola lettura.

nodeName
Questo ha un significato differente per ogni tipo di nodo; vedere le specifiche DOM per ulteriori dettagli. Si possono sempre ottenere le informazioni volute da questo attributo, ma anche da altre proprietà, come la proprietà tagName per gli elementi o la proprietà name per gli attributi. Per tutti i tipi di nodi, il valore di questo attributo è sia una stringa che None. Questo è un attributo in sola lettura.

nodeValue
Questo assume differente significato per ogni tipo di nodo; per i dettagli vedere le specifiche DOM. La situazione è simile a nodeName. Il valore è una stringa o None.

hasAttributes( )
Restituisce vero se il nodo possiede qualche attributo.

hasChildNodes( )
Restituisce vero se il nodo possiede quache nodo figlio.

isSameNode( other)
Restituisce vero se altri, other, si riferiscono allo stesso nodo come questo nodo. Questo è particolarmente utile per le implementazioni DOM che usano alcune forme di architettura proxy (per cui più di un oggetto può riferirsi allo stesso nodo).

Note: Questo è basato sun una proposta per le API DOM di livello 3 che si trova ancora nello stadio di ``bozza in lavorazione'', ma questa particolare interfaccia appare incontrovertibile. Eventuali modifiche indicate dal W3C non necessariamente influenzeranno questo metodo nell'interfaccia DOM di Python (compreso il fatto che ogni nuova API W3C verrà supportata).

appendChild( newChild)
Aggiunge un nuovo nodo figlio per questo nodo alla fine della lista dei figli, restituendo newChild.

insertBefore( newChild, refChild)
Inserisce un nuovo nodo figlio prima di un figlio esistente. È sottinteso che refChild deve essere un figlio di questo nodo; altrimenti viene sollevata l'eccezione ValueError. Viene restituito newChild.

removeChild( oldChild)
Rimuove un nodo figlio. oldChild deve essere un figlio di questo nodo; altrimenti, viene sollevata l'eccezione ValueError. oldChild viene restituito se si ha successo. Se oldChild non verrà usato successivamente, dovrebbe essere chiamato il suo metodo unlink().

replaceChild( newChild, oldChild)
Sostituisce un nodo esistente con un nuovo nodo. Ovviamente oldChild è un figlio di questo nodo; altrimenti viene sollevata l'eccezione ValueError.

normalize( )
Unisce nodi di testo adiacenti in modo che tutti gli elementi di testo vengano uniti in una singola istanza Text. Questo semplifica l'elaborazione del testo in un albero DOM per molte applicazioni. Nuovo nella versione 2.1.

cloneNode( deep)
Clona questo nodo. Impostare deep significa la clonazione anche di tutti i nodi figli. Questo restituirà il clone.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.