ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
Oberste Ebene 

Namespace  - AS3

PaketOberste Ebene
Klassepublic final class Namespace
VererbungNamespace Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

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:
  • Namespaces von XML-Objekten. Namespaces ordnen ein Namespacepräfix einem URI (Uniform Resource Identifier, einheitlicher Ressourcenlokator) zu, der den Namespace identifiziert. Das Präfix ist ein String, der verwendet wird, um innerhalb eines XML-Objekts auf den Namespace zu verweisen. Ist das Präfix nicht definiert, wenn das XML-Objekt in einen String konvertiert wird, wird ein Präfix automatisch erzeugt.
  • Namespaces zum Unterscheiden von Methoden. Namespaces können Methoden mit demselben Namen unterscheiden, die aber unterschiedliche Aufgaben wahrnehmen. Besitzen zwei Methoden denselben Namen, aber unterschiedliche Namespaces, so können Sie unterschiedliche Aufgaben durchführen.
  • Namespaces für die Zugriffskontrolle. Namespaces können verwendet werden, um auf eine Gruppe von Eigenschaften und Methoden in einer Klasse zuzugreifen. Wenn Sie die Eigenschaften und Methoden in einen „private“-Namespace setzen, sind sie für jeglichen Code, der keine Zugriffsberechtigung zu diesem Namespace hat, unzugänglich. Sie können Zugriff zu dieser Gruppe an Eigenschaften und Methoden gewähren, indem Sie den Namespace auch an andere Klassen, Methoden oder Funktionen übergeben.

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 Spezifikation ECMA-357, Edition 2: „ECMAScript for XML (E4X)“ definiert sind.

Beispiele anzeigen

Weitere Informationen

Verwandte API-Elemente



Ö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
  uri : String
Der Namespace-URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner).
Namespace
Öffentliche Methoden
 MethodeDefiniert von
  
Namespace(prefixValue:*, uriValue:*)
Erstellt ein Namespace-Objekt gemäß den Werten der Parameter prefixValue und uriValue.
Namespace
  
Namespace(uriValue:*)
Erstellt ein Namespace-Objekt.
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
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
Äquivalent zur Eigenschaft Namespace.uri.
Namespace
  
Gibt den URI-Wert des angegebenen Objekts zurück.
Namespace
Eigenschaftendetails

prefix

Eigenschaft
prefix:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

Das Präfix des Namespaces.



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

uri

Eigenschaft 
uri:String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9

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



Implementierung
    public function get uri():String
    public function set uri(value:String):void
Konstruktordetails

Namespace

()Konstruktor
public function Namespace(prefixValue:*, uriValue:*)

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, 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 prefix-Eigenschaft wie folgt zugewiesen:

  • Wird undefined übergeben, wird die prefix-Eigenschaft auf undefined gesetzt.
  • Handelt es sich bei dem Wert um einen gemäß der Funktion isXMLName() gültigen XML-Namen, wird er in einen String konvertiert und der Eigenschaft prefix zugewiesen.
  • Ist der Wert kein gültiger XML-Name, wird prefix auf undefined gesetzt.

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

  • Wird ein QName-Objekt übergeben, wird die Eigenschaft uri auf den Wert der uri-Eigenschaft des QName-Objekts gesetzt.
  • Andernfalls wird der Parameter uriValue in einen String konvertiert und der Eigenschaft uri 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).

Namespace

()Konstruktor 
public function Namespace(uriValue:*)

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, 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:

  • Wurde kein Wert übergeben, werden die Eigenschaften prefix und uri auf einen leeren String gesetzt.
  • Ist der Wert ein Namespace-Objekt, wird eine Kopie des Objekts erstellt.
  • Ist der Wert ein QName-Objekt, wird die uri auf die uri-Eigenschaft des QName-Objekts gesetzt.

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).
Methodendetails

toString

()Methode
AS3 function toString():String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, 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
Laufzeitversionen: AIR 1.0, 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.
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);
    }
} 




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.