Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 7 di 12
  • livello principiante
Indice lezioni

IgnoreWhite

Eliminazione degli spazi vuoti nel file xml
Eliminazione degli spazi vuoti nel file xml
Link copiato negli appunti

Guardiamo queste due immagini:

File XML formattato con spazi

File XML formattato con spazi

File XML senza spazi e a capo

File XML senza spazi e a capo

Nonostante i due file XML rappresentati siano sostanzialmente identici, hanno una differenza molto evidente: nel primo caso, ai nodi è stata applicata una formattazione, con diversi "a capo" e con relativa indentazione, mentre nel secondo mancano entrambi.

È chiaro che il primo sistema rende il file XML più leggibile e gradevole all'occhio umano, ma per la "macchina" è meglio il secondo: per la maggiore velocità di parsing, e per l'assenza degli spazi che, di default, vengono considerati come nodi testuali vuoti

Cosa significa? Che se formattiamo il file XML come nel primo caso, il parser XML del Flash penserà che l'a capo tra <elenco> e <categoria...> sia un nodo, con risultati imprevedibili per quanto riguarda l'utilizzo dei dati.

Per poter utilizzare quindi la formattazione del primo tipo, ma far considerare al parser XML i nodi come se utilizzassimo il secondo, si deve settare la proprietà ignoreWhite dell'XML come vera:

mio_xml = new XML();
mio_xml.ignoreWhite = true;

Al momento del parsing, il player verifica la proprietà ignoreWhite dell'istanza della Classe XML e, nel caso questa sia settata come true, ignora tutti gli spazi bianchi e gli a capo che non sono compresi all'interno del contenuto di un nodo.

<nodo>gli spazi tra queste parole vengono considerati come tali</nodo>

Ora, la proprietà ignoreWhite funziona correttamente con il Flash Player 6 (corrispondente al Flash MX), ma non con tutte le versioni del Flash Player 5. In particolare, si può utilizzare tranquillamente solo a partire dalla versione 5,0,41,0.

Dobbiamo quindi prestare attenzione:

• che, per la visualizzazione nel browser, sia installata una versione del plugin superiore alla 5,0,41,0

• che, nell'ambiente di authoring del Flash5, la versione non è sufficientemente elevata, essendo la 5,0,30,0, come si può verificare dal debugger (in figura):

Debugger

Debugger

e che quindi non funziona

• che, all'uscita del Flash 5, la proprietà era ancora in fase di "sperimentazione", e che quindi non viene colorata di blu, come le altre proprietà, nel pannello delle Azioni

Nel caso in cui volessimo testare il nostro filmato nell'ambiente di authoring del Flash 5, o nel caso in cui non potessimo prevedere, per l'utente finale, una versione del player superiore o uguale alla 5,0,41,0, potremmo:

- formattare il file xml come mostrato dalla seconda figura

oppure

- utilizzare la funzione stripWhiteSpace creata da Colin Moock, e scaricabile con il nome "strip xml whitespace" dal suo Code Depot.

Ti consigliamo anche