Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: Recupero dati dal server...
Recupero dati dal server...
Primo livello 

Namespace  - AS3

PacchettoPrimo livello
Classepublic final class Namespace
EreditarietàNamespace Inheritance Object

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

La classe Namespace contiene i metodi e le proprietà per definire e utilizzare gli spazi dei nomi. Esistono tre possibili scenari per l'utilizzo degli spazi dei nomi:
  • Spazi dei nomi degli oggetti XML Gli spazi dei nomi associano un prefisso dello spazio dei nomi a un Uniform Resource Identifier (URI) che identifica lo spazio dei nomi. Il prefisso è una stringa utilizzata per fare riferimento allo spazio dei nomi all'interno di un oggetto XML. Se il prefisso non è definito, quando l'XML viene convertito in una stringa ne viene automaticamente generato uno.
  • Spazi dei nomi per differenziare i metodi Gli spazi dei nomi possono differenziare i metodi con lo stesso nome per eseguire operazioni diverse. Se due metodi hanno lo stesso nome ma spazi dei nomi separati, possono eseguire operazioni diverse.
  • Spazi dei nomi per il controllo dell'accesso Gli spazi dei nomi possono essere utilizzati per controllare l'accesso a un gruppo di proprietà e metodi di una classe. Se collocate le proprietà e i metodi in uno spazio dei nomi privato, essi diventano inaccessibili per qualunque codice che non abbia accesso allo spazio dei nomi. Potete consentire l'accesso al gruppo di proprietà e di metodi passando lo spazio dei nomi ad altre classi, metodi o funzioni.

Questa classe mostra due forme del metodo di costruzione poiché ogni forma accetta due parametri diversi.

Questa classe (insieme alle classi XML, XMLList e QName) implementa dei potenti standard di gestione dell'XML definiti nella specifica ECMAScript for XML (E4X) (ECMA-357 edition 2).

Vedere gli esempi

Altri esempi

Altre informazioni

Elementi API correlati



Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  prefix : String
Il prefisso dello spazio dei nomi.
Namespace
  uri : String
L'Uniform Resource Identifier (URI) dello spazio dei nomi.
Namespace
Metodi pubblici
 MetodoDefinito da
  
Namespace(prefixValue:*, uriValue:*)
Crea un oggetto Namespace in base ai valori dei parametri prefixValue e uriValue.
Namespace
  
Namespace(uriValue:*)
Crea un oggetto Namespace.
Namespace
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
 Inherited
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate.
Object
  
Equivalente alla proprietà Namespace.uri.
Namespace
  
Restituisce il valore URI dell'oggetto specificato.
Namespace
Descrizione delle proprietà

prefix

proprietà
prefix:String

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Il prefisso dello spazio dei nomi.



Implementazione
    public function get prefix():String
    public function set prefix(value:String):void

uri

proprietà 
uri:String

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

L'Uniform Resource Identifier (URI) dello spazio dei nomi.



Implementazione
    public function get uri():String
    public function set uri(value:String):void
Descrizione della funzione di costruzione

Namespace

()Funzione di costruzione
public function Namespace(prefixValue:*, uriValue:*)

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Crea un oggetto Namespace in base ai valori dei parametri prefixValue e uriValue. Questa funzione di costruzione richiede entrambi i parametri.

Il valore del parametro prefixValue viene assegnato alla proprietà prefix nel modo seguente:

  • Se viene passato undefined, prefix viene impostato su undefined.
  • Se il valore è un nome XML valido, determinato dalla funzione isXMLName(), viene convertito in una stringa e assegnato alla proprietà prefix.
  • Se il valore non è un nome XML valido, la proprietà prefix viene impostata su undefined.

Il valore del parametro uriValue viene assegnato alla proprietà prefix nel modo seguente:

  • Se viene passato un oggetto QName, la proprietà uri viene impostata sul valore della proprietà uri dell'oggetto QName.
  • In caso contrario, il parametro uriValue viene convertito in una stringa e assegnato alla proprietà uri.

Nota: questa classe mostra due voci del metodo di costruzione poiché ogni forma accetta dei parametri diversi. La funzione di costruzione si comporta in modo diverso a seconda del tipo e del numero di argomenti passati, come spiegato in dettaglio per ogni voce. ActionScript 3.0 non supporta l'overload dei metodi o delle funzioni di costruzione.

Parametri
prefixValue:* — Il prefisso da utilizzare per lo spazio dei nomi.
 
uriValue:* — L'Uniform Resource Identifier (URI) dello spazio dei nomi.

Namespace

()Funzione di costruzione 
public function Namespace(uriValue:*)

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Crea un oggetto Namespace. I valori assegnati alle proprietà uri e prefix del nuovo oggetto Namespace dipendono dal tipo di valore passato per il parametro uriValue:

  • Se non passate alcun valore, le proprietà prefix e uri vengono impostate su una stringa vuota.
  • Se il valore è un oggetto Namespace, viene creata una copia dell'oggetto.
  • Se il valore è un oggetto QName, la proprietà uri viene impostata sulla proprietà uri dell'oggetto QName.

Nota: questa classe mostra due voci di costruzione poiché ogni forma accetta dei parametri diversi. La funzione di costruzione si comporta in modo diverso a seconda del tipo e del numero di parametri passati, come spiegato in dettaglio per ogni voce. ActionScript 3.0 non supporta l'overload dei metodi o delle funzioni di costruzione.

Parametri
uriValue:* — L'Uniform Resource Identifier (URI) dello spazio dei nomi.
Descrizione dei metodi

toString

()metodo
AS3 function toString():String

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Equivalente alla proprietà Namespace.uri.

Restituisce
String — L'Uniform Resource Identifier (URI) dello spazio dei nomi, sotto forma di stringa.

valueOf

()metodo 
AS3 function valueOf():String

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9

Restituisce il valore URI dell'oggetto specificato.

Restituisce
String — L'Uniform Resource Identifier (URI) dello spazio dei nomi, sotto forma di stringa.
NamespaceExample.as

Nell'esempio seguente viene illustrato come utilizzare gli spazi dei nomi definiti negli oggetti XML. Questa operazione viene eseguita mediante la procedura seguente:
  1. L'esempio seguente definisce tre oggetti Namespace, ognuno con un URI univoco che definisce uno spazio dei nomi.
  2. L'esempio definisce una variabile XML denominata myXML e assegna ad essa il valore restituito da getRSS(). Il metodo getRSS() definisce un oggetto XML contenente numerosi spazi dei nomi e restituisce l'oggetto XML.
  3. Il codice di esempio dichiara e valuta una variabile Array mediante la chiamata al metodo parseRSS() al quale viene passata la variabile myXML. In parseRSS(), lo spazio dei nomi XML predefinito è definito come rss e l'esempio definisce una variabile XMLList mediante l'assegnazione dell'elenco degli oggetti item di myXML. Viene creato un array che viene compilato con diversi nodi all'interno di myXML.item. L'array viene quindi restituito.
  4. Gli elementi dell'array vengono stampati mediante un ciclo for e tre chiamate a trace().
package {
    import flash.display.Sprite;

    public class NamespaceExample extends Sprite {
        private var rss:Namespace = new Namespace("http://purl.org/rss/1.0/");
        private var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
        private var dc:Namespace  = new Namespace("http://purl.org/dc/elements/1.1/");

        public function NamespaceExample() {
            var myXML:XML = getRSS();
            var rssItems:Array = parseRSS(myXML);
            
            var len:uint = rssItems.length;
            for (var i:uint; i < len; i++) {
                trace(rssItems[i].title);
                trace(rssItems[i].creator);
                trace(rssItems[i].date);
                // Adobe Flash Developer Center
                // Adobe
                // 2005-08-08
                // Flex Developer Center
                // Adobe
                // 2005-10-16                
            }
        }
        
        private function parseRSS(rssXML:XML):Array {
            default xml namespace = rss;

            var items:XMLList = rssXML.item;

            var arr:Array = new Array();            
            var len:uint = items.length();
            for (var i:uint; i < len; i++) {
                arr.push({title:items[i].title, creator:items[i].dc::creator, date:items[i].dc::date});
            }
            
            return arr;
        }

        private function getRSS():XML {
            var myXML:XML =  <rdf:RDF
              xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
              xmlns="http://purl.org/rss/1.0/"
              xmlns:dc="http://purl.org/dc/elements/1.1/"
            >
              <channel rdf:about="http://www.xml.com/cs/xml/query/q/19">
                <title>Test RSS</title>
                <link>http://www.adobe.com/</link>
                <description>This is a test RSS document.</description>
                <language>en-us</language>
                <items>
                  <rdf:Seq>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flash/"/>
                <rdf:li rdf:resource="http://www.adobe.com/devnet/flex/"/>
                  </rdf:Seq>
                </items>
              </channel>
              <item rdf:about="http://www.adobe.com/devnet/flash/">
                <title>Adobe Flash Developer Center</title>
                <link>http://www.adobe.com/devnet/flash/</link>
                <description>Welcome to the Flash Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-08-08</dc:date>    
              </item>
              <item rdf:about="http://www.adobe.com/devnet/flex/">
                <title>Flex Developer Center</title>
                <link>http://www.adobe.com/devnet/flex/</link>
                <description>Welcome to the Flex Developer Center</description>
                <dc:creator>Adobe</dc:creator>
                <dc:date>2005-10-16</dc:date>    
              </item>
            </rdf:RDF>;
            
            return myXML;
        }
    }
}
Namespace_2_Example.as

L'esempio seguente mostra come utilizzare gli spazi dei nomi per differenziare i metodi che hanno lo stesso nome ma eseguono operazioni diverse. In questo esempio, tre metodi denominati hello() si trovano in spazi dei nomi separati e, quando vengono chiamati, restituiscono una stringa diversa.
package {

    import flash.display.Sprite;

    public class Namespace_2_Example extends Sprite {    
        public function Namespace_2_Example() {
            var vocab:MultilingualVocabulary = new MultilingualVocabulary();

            trace(vocab.hello());    // hello
            
            var languages:Array = vocab.getLanguages();
            
            for (var i:uint; i < languages.length; i++) {
                var ns:Namespace = languages[i];
                if (ns != null) {
                    trace(ns.toString() + ": " + vocab.ns::hello());
                    // hello
                    // MultilingualVocabulary:Hawaiian: aloha
                    // MultilingualVocabulary:French: bon jour
                }
            }
        }
    }    
}

class MultilingualVocabulary {
    public namespace French;
    public namespace Hawaiian;
    private var languages:Array;

    public function MultilingualVocabulary() {
        languages = new Array(Hawaiian, French);
    }
        
    public function hello():String { 
        return "hello";
    }

    Hawaiian function hello():String {
        return "aloha";
    }

    French function hello():String { 
        return "bon jour";
    }
        
    public function getLanguages():Array {
        return languages;
    }
}
Namespace_3_Example.as

L'esempio seguente utilizza gli spazi dei nomi per selezionare un valore di variabile appropriato. Viene mostrato come memorizzare un valore di spazio dei nomi in una variabile e come utilizzarla per fare riferimento agli oggetti all'interno di tale spazio dei nomi.

L'esempio definisce gli spazi dei nomi e i colori corrispondenti agli stati del mouse per un pulsante rettangolare. Ogni volta che viene disegnato un pulsante, l'esempio applica il colore appropriato (rosso per out, giallo per over e bianco per down) mediante il riferimento alla variabile bgcolor dello spazio dei nomi corrispondente (out, over, down).

package {
    import flash.display.Sprite;
  
    public class Namespace_3_Example extends Sprite {     
        public function Namespace_3_Example() {
            addChild(new StateButton("Press Me."));
        }
    }
}

import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;

class StateButton extends Sprite{
    private namespace out;
    private namespace over;
    private namespace down;
    private var label:TextField;
    private var labelTxt:String;
    private var ns:Namespace;
    out var bgColor:Number = 0xFF0000;
    over var bgColor:Number = 0xFFFF00;
    down var bgColor:Number = 0xFFFFFF;
      
    public function StateButton(str:String) {
        buttonMode = true;
        labelTxt = str;
        ns = out;
        draw();
        addLabel();
        addListeners();
    }

    private function addLabel():void {
        label = new TextField();
        label.text = labelTxt;
        label.width = 50;
        label.height = 20;
        label.mouseEnabled = false;
        addChild(label);
    }
      
    private function addListeners():void {
        addEventListener(MouseEvent.MOUSE_UP, mouseOverHandler);
        addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
        addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
        addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
    }
 
    private function mouseOutHandler(e:Event):void {
        ns = out;
        draw();
    }
 
    private function mouseOverHandler(e:Event):void {
        ns = over;
        draw();
    }
 
    private function mouseDownHandler(e:Event):void {
        ns = down;
        draw();
    }
 
    private function draw():void {
        this.graphics.clear();
        this.graphics.beginFill(ns::bgColor);
        this.graphics.drawRect(0, 0, 60, 20);
    }
} 




[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.