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
undefined
est transmis,prefix
est 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é
prefix
est 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é
uri
est définie sur la valeur de la propriétéuri
de l’objet QName. - Dans le cas contraire, le paramètre
uriValue
est 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
prefix
eturi
sont 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é
uri
est définie sur la propriétéuri
de 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
myXML
et 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 sousrss
et l’exemple définit une variable XMLList en affectant la liste d’objetsitem
dansmyXML
. 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
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; } } }
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