PaketOberste Ebene
Klassepublic final class Namespace
VererbungNamespace Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Namespace-Klasse enthält Methoden und Eigenschaften für die Definition und Verwendung von Namespaces (Namensräumen). Es gibt drei Situationen, in denen Namespaces verwendet werden:

Diese Klasse zeigt zwei Formen der Konstruktormethode, da jede Form andere Parameter akzeptiert.

Diese Klasse implementiert (zusammen mit den Klassen XML, XMLList und QName) leistungsstarke Standards zur XML-Verarbeitung, die in der ECMAScript for XML (E4X) Specification (ECMA-357, 2. Auflage) definiert sind.

Beispiele anzeigen

Siehe auch

XML
XMLList
QName
ECMAScript for XML (E4X) Specification (ECMA-357 2. Auflage)
XML-Namespaces


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  prefix : String
Das Präfix des Namespaces.
Namespace
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
  uri : String
Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner).
Namespace
Öffentliche Methoden
 MethodeDefiniert von
  
Namespace(uriValue:*)
Erstellt ein Namespace-Objekt.
Namespace
  
Namespace(prefixValue:*, uriValue:*)
Erstellt ein Namespace-Objekt gemäß den Werten der Parameter prefixValue und uriValue.
Namespace
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
Äquivalent zur Eigenschaft Namespace.uri.
Namespace
  
Gibt den URI-Wert des angegebenen Objekts zurück.
Namespace
Eigenschaftsdetail
prefixEigenschaft
prefix:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Das Präfix des Namespaces.


Implementierung
    public function get prefix():String
    public function set prefix(value:String):void
uriEigenschaft 
uri:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner).


Implementierung
    public function get uri():String
    public function set uri(value:String):void
Konstruktordetail
Namespace()Konstruktor
public function Namespace(uriValue:*)

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Erstellt ein Namespace-Objekt. Welche Werte den Eigenschaften uri und prefix des neuen Namespace-Objekts zugewiesen werden, hängt davon ab, welche Art von Wert an den Parameter uriValue übergeben wurde:

Hinweis: Diese Klasse zeigt zwei Konstruktoreinträge, da jede Form andere Parameter akzeptiert. Der Konstruktor verhält sich unterschiedlich, je nach Typ und Anzahl der übergebenen Parameter, wie sie in den einzelnen Einträgen beschrieben sind. Überladene Methoden oder Konstruktoren werden von ActionSript 3.0 nicht unterstützt.

Parameter
uriValue:* — Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner).
Namespace()Konstruktor 
public function Namespace(prefixValue:*, uriValue:*)

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Erstellt ein Namespace-Objekt gemäß den Werten der Parameter prefixValue und uriValue. Dieser Konstruktor benötigt beide Parameter.

Der Wert des Parameters prefixValue wird der Eigenschaft prefix wie folgt zugewiesen:

Der Wert des Parameters uriValue wird der Eigenschaft uri wie folgt zugewiesen:

Hinweis: Diese Klasse zeigt zwei Konstruktormethodeneinträge, da jede Form andere Parameter akzeptiert. Der Konstruktor verhält sich unterschiedlich, je nach Typ und Anzahl der übergebenen Argumente, wie sie in den einzelnen Einträgen beschrieben sind. Überladene Methoden oder Konstruktoren werden von ActionSript 3.0 nicht unterstützt.

Parameter
prefixValue:* — Das für den Namespace zu verwendende Präfix.
 
uriValue:* — Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner).
Methodendetail
toString()Methode
AS3 function toString():String

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Äquivalent zur Eigenschaft Namespace.uri.

Rückgabewerte
String — Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner) als String.
valueOf()Methode 
AS3 function valueOf():String

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt den URI-Wert des angegebenen Objekts zurück.

Rückgabewerte
String — Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner) als String.
Beispiele Verwendung von Beispielen
NamespaceExample.as

Das folgende Beispiel veranschaulicht, wie Sie mit in XML-Objekten definierten Namespaces arbeiten. Dies wird in den folgenden Schritten erreicht:
  1. In diesem Beispiel werden drei Namespace-Objekte definiert, und zwar jeweils mit einer den Namespace definierenden eindeutigen URI.
  2. In diesem Beispiel wird eine XML-Variable mit dem Namen myXML definiert und dem Rückgabewert getRSS() zugewiesen. Die getRSS()-Methode definiert ein XML-Objekt, das mehrere Namespaces enthält, und gibt dieses XML-Objekt zurück.
  3. Eine Array-Variable wird deklariert und bewertet, indem die Methode parseRSS() aufgerufen und an diemyXML übergeben wird. Der Standard-XML-Namespace wird in parseRSS() als rss definiert. Im Beispiel wird durch Zuweisen der Liste der item-Objekte in myXML eine XMLList-Variable definiert. Ein Array wird mit verschiedenen Knoten innerhalb von myXML.item erstellt und gefüllt. Anschließend wird das Array zurückgegeben.
  4. Der Ausdruck der im Array enthaltenen Elemente erfolgt mithilfe einer for-Schleife und von drei Aufrufen von 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

Das folgende Beispiel veranschaulicht, wie Methoden, die den gleichen Namen haben, aber verschiedene Aufgaben ausführen, mithilfe von Namespaces unterschieden werden können. Im Rahmen dieses Beispiels befinden sich drei Methoden namens hello() in separaten Namespaces; bei jedem Aufruf wird ein anderer String zurückgegeben.
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

Im folgenden Beispiel wird mithilfe von Namespace-Namen der entsprechende Variablenwert ausgewählt. Es wird veranschaulicht, wie Sie einen Namespace-Wert in einer Variable speichern und mit dieser Variablen auf Objekte in diesem Namespace verweisen.

In diesem Beispiel werden Namespaces und Farben definiert, die den Mauszuständen für eine rechteckige Schaltfläche entsprechen. Bei jedem Zeichnen der Schaltfläche wird die entsprechende Farbe ("out" (Deaktiviert) ist Rot; "over" (Darüber) ist Gelb; "down" (Gedrückt) ist Weiß) angewendet, indem die bgcolor-Variable auf den entsprechenden Namespace verweist (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);
    }
} 




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/Namespace.html