PackageNiveau supérieur
Classepublic final class Namespace
HéritageNamespace Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe Namespace contient les méthodes et propriétés destinées à la définition et à l’utilisation des espaces de nom. Les espaces de nom sont utilisés dans trois cas de figure :

Cette classe utilise deux formes de la méthode de constructeur, car chaque forme accepte des paramètres différents.

A l’instar des classes XML, XMLList et QName, cette classe met en œuvre des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).

Consulter les exemples

Voir aussi

XML
XMLList
QName
ECMAScript pour la spécification XML (E4X) (ECMA-357 edition 2)
Utilisation d'espaces de nom XML


Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  prefix : String
Préfixe de l’espace de nom.
Namespace
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  uri : String
URI (Uniform Resource Identifier) de l'espace de nom.
Namespace
Méthodes publiques
 MéthodeDéfini par
  
Namespace(uriValue:*)
Crée un objet Namespace.
Namespace
  
Namespace(prefixValue:*, uriValue:*)
Crée un objet Namespace en fonction de la valeur des paramètres prefixValue et uriValue.
Namespace
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Equivalent à la propriété Namespace.uri.
Namespace
  
Renvoie la valeur URI de l'objet spécifié.
Namespace
Détails des propriétés
prefixpropriété
prefix:String  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Préfixe de l’espace de nom.


Implémentation
    public function get prefix():String
    public function set prefix(value:String):void
uripropriété 
uri:String  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

URI (Uniform Resource Identifier) de l'espace de nom.


Implémentation
    public function get uri():String
    public function set uri(value:String):void
Détails du constructeur
Namespace()Constructeur
public function Namespace(uriValue:*)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un objet Namespace. Les valeurs affectées aux propriétés uri et prefix du nouvel objet Namespace varient selon le type de valeur transmise pour le paramètre uriValue :

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d'un constructeur.

Paramètres
uriValue:* — URI (Uniform Resource Identifier) de l'espace de nom.
Namespace()Constructeur 
public function Namespace(prefixValue:*, uriValue:*)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un objet Namespace en fonction de la valeur des paramètres prefixValue et uriValue. Ce constructeur requiert les deux paramètres.

La valeur du paramètre prefixValue est octroyée à la propriété prefix de la façon suivante :

La valeur du paramètre uriValue est octroyée à la propriété uri de la façon suivante :

Remarque : cette classe utilise deux entrées de méthode de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre d’arguments transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d'un constructeur.

Paramètres
prefixValue:* — Préfixe à utiliser pour l’espace de nom.
 
uriValue:* — URI (Uniform Resource Identifier) de l'espace de nom.
Détails des méthodes
toString()méthode
AS3 function toString():String

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Equivalent à la propriété Namespace.uri.

Valeur renvoyée
String — URI (Uniform Resource Identifier) de l'espace de nom, spécifié sous forme de chaîne.
valueOf()méthode 
AS3 function valueOf():String

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie la valeur URI de l'objet spécifié.

Valeur renvoyée
String — URI (Uniform Resource Identifier) de l'espace de nom, spécifié sous forme de chaîne.
Exemples Utilisation des exemples
NamespaceExample.as

L'exemple suivant indique comment traiter les noms d'espace définis dans les objets XML. Cette opération s'accomplit de la façon suivante :
  1. L'exemple définit trois objets Namespace, disposant tous d'un URI unique qui définit un nom d'espace.
  2. Cet exemple définit une variable XML appelée myXML et l'affecte à la valeur renvoyée par getRSS(). La méthode getRSS() définit un objet XML qui contient plusieurs noms d'espace et renvoie cet objet XML.
  3. Cet exemple déclare et évalue une variable Array en appelant la méthode parseRSS() tout en lui transmettant myXML. Dans parseRSS(), le nom d'espace XML par défaut est défini sous rss et l'exemple définit une variable XMLList en affectant la liste d'objets item dans myXML. Un tableau est créé et rempli par différents nœuds au sein de myXML.item. Le tableau est ensuite renvoyé.
  4. Les éléments du tableau sont imprimés à l'aide d'une boucle for et de trois appels à 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'exemple suivant indique comment les espaces de nom permettent de différencier les méthodes du même nom qui effectuent des tâches différentes. Dans cet exemple, trois méthodes appelées hello() résident dans des noms d'espace distincts, qui retournent tous une chaîne distincte lorsqu'ils sont appelés.
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'exemple suivant utilise des noms d'espace de nom pour sélectionner une valeur de variable appropriée. Il indique comment vous pouvez stocker une valeur de nom d'espace dans une variable et utiliser cette dernière pour référencer des objets au sein de l'espace de nom.

L'exemple définit des espaces de nom et des couleurs qui correspondent à des états de souris pour un bouton rectangulaire. Lorsque le bouton est dessiné, l'exemple applique la couleur appropriée (rouge lorsque la souris quitte la zone active (out) ; jaune pour le survol (over) ; blanc pour abaissé (down)) en référençant la variable bgcolor pour l'espace de nom correspondant (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);
    }
} 




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/Namespace.html