| Package | Niveau supérieur |
| Classe | public final class Namespace |
| Héritage | Namespace Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- Espaces de nom d’objets XML Les espaces de nom associent un préfixe d’espace de nom à un URI (Uniform Resource Identifier) qui les identifie. Le préfixe est une chaîne utilisée pour référencer l’espace de nom dans un objet XML. Si le préfixe n’est pas défini, il est automatiquement généré lorsque l’objet XML est converti en chaîne.
- Espaces de nom utilisés pour différencier les méthodes Les espaces de nom permettent de différencier les méthodes portant un nom identique pour effectuer des tâches différentes. Si deux méthodes ont le même nom, mais des espaces de nom distincts, elles peuvent exécuter des tâches différentes.
- Espaces de nom pour le contrôle d’accès Les espaces de nom permettent de contrôler l’accès à un groupe de propriétés et de méthodes d’une classe. Si vous placez les propriétés et les méthodes dans un espace de nom privé, tout code qui n’a pas accès à l’espace de nom ne peut pas non plus accéder à celles-ci. Vous pouvez accorder un accès au groupe de propriétés et de méthodes en transmettant l’espace de nom à d’autres classes, méthodes ou fonctions.
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 implémente des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).
Plus d’exemples
Informations complémentaires
Eléments de l’API associés
| Propriété | Défini par | ||
|---|---|---|---|
![]() | constructor : 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 | ||
| uri : String
URI (Uniform Resource Identifier) de l’espace de noms. | Namespace | ||
| Méthode | Défini par | ||
|---|---|---|---|
Crée un objet Namespace en fonction de la valeur des paramètres prefixValue et uriValue. | Namespace | ||
Crée un objet Namespace. | Namespace | ||
![]() |
Indique si la propriété spécifiée d’un objet est définie. | Object | |
![]() |
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 | |
![]() |
Indique si la propriété spécifiée existe et est énumérable. | Object | |
![]() |
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | |
![]() |
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | |
Equivalent à la propriété Namespace.uri. | Namespace | ||
Renvoie la valeur URI de l’objet spécifié. | Namespace | ||
prefix | propriété |
uri | propriété |
Namespace | () | Constructeur |
public function Namespace(prefixValue:*, uriValue:*)| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0, 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 :
- Si
undefinedest transmis,prefixest réglé surundefined. - Si la valeur est un nom XML valide, déterminé par la fonction
isXMLName(), elle est convertie en chaîne et octroyée à la propriétéprefix. - Si la valeur n’est pas un nom XML valide, la propriété
prefixest définie surundefined.
La valeur du paramètre uriValue est octroyée à la propriété uri de la façon suivante :
- Si un objet QName est transmis, la propriété
uriest définie sur la valeur de la propriétéuride l’objet QName. - Dans le cas contraire, le paramètre
uriValueest converti en chaîne et octroyé à la propriétéuri.
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ètresprefixValue:* — Préfixe à utiliser pour l’espace de nom.
| |
uriValue:* — URI (Uniform Resource Identifier) de l’espace de noms.
|
Namespace | () | Constructeur |
public function Namespace(uriValue:*)| Version du langage: | ActionScript 3.0 |
| Versions du moteur d’exécution: | AIR 1.0, 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 :
- Si aucune valeur n’est transmise, les propriétés
prefixeturisont réglées sur une chaîne vide. - Si la valeur est un objet Namespace, une copie de ce dernier est générée.
- Si la valeur est un objet QName, la propriété
uriest définie sur la propriétéuride l’objet QName.
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ètresuriValue:* — URI (Uniform Resource Identifier) de l’espace de noms.
|
toString | () | méthode |
valueOf | () | méthode |
- L’exemple définit trois objets Namespace, disposant tous d’un URI unique qui définit un nom d’espace.
- Cet exemple définit une variable XML appelée
myXMLet l’affecte à la valeur renvoyée pargetRSS(). La méthodegetRSS()définit un objet XML qui contient plusieurs noms d’espace et renvoie cet objet XML. - Cet exemple déclare et évalue une variable Array en appelant la méthode
parseRSS()tout en lui transmettantmyXML. DansparseRSS(), le nom d’espace XML par défaut est défini sousrsset l’exemple définit une variable XMLList en affectant la liste d’objetsitemdansmyXML. Un tableau est créé et rempli par différents nœuds au sein demyXML.item. Le tableau est ensuite renvoyé. - Les éléments du tableau sont imprimés à l’aide d’une boucle
foret 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;
}
}
}
hello() résident dans des noms d’espace distincts, qui renvoient 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;
}
}
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);
}
}
Tue Jun 12 2018, 09:30 AM Z
Masquer les propriétés publiques héritées
Afficher les propriétés publiques héritées