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: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
Oberste Ebene 

QName  - AS3

PaketOberste Ebene
Klassepublic final class QName
VererbungQName Inheritance Object

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

QName-Objekte repräsentieren qualifizierte Namen von XML-Elementen und -Attributen. Jedes QName-Objekt besitzt einen lokalen Namen und einen Namespace-URI (Uniform Resource Identifier, einheitlichen Ressourcenbezeichner). Ist der Wert des Namespace-URI null, entspricht das QName-Objekt einem beliebigen Namespace. Verwenden Sie den QName-Konstruktor, um ein neues QName-Objekt zu erstellen, bei dem es sich entweder um eine Kopie eines anderen QName-Objekts handelt oder um ein neues QName-Objekt mit dem uri eines Namespace-Objekts und dem localName eines QName-Objekts.

E4X-spezifische Methoden können QName-Objekte anstelle von Strings verwenden. E4X-Methoden sind in den Klassen QName, Namespace, XML und XMLList zu finden. Diese E4X-Methoden, die einen String akzeptieren, können stattdessen auch ein QName-Objekt annehmen. Durch diese Austauschbarkeit ist es möglich, dass die Namespace-Unterstützung beispielsweise mit der Methode XML.child() funktioniert.

Die QName-Klasse implementiert (zusammen mit den Klassen XML, XMLList und Namespace) leistungsstarke Standards zur XML-Verarbeitung, die in der Spezifikation ECMA-357, Edition 2: „ECMAScript for XML (E4X)“ definiert sind.

Wenn ein qualifizierter Bezeichner ausgewertet wird, ergibt sich ein QName-Objekt. Wird das QName-Objekt eines XML-Elements angegeben ohne einen Namespace zu identifizieren, wird die uri-Eigenschaft des verknüpften QName-Objekts auf den globalen Standardnamespace gesetzt. Wird das QName-Objekt eines XML-Attributs angegeben ohne einen Namespace zu identifizieren, wird die uri-Eigenschaft auf einen leeren String gesetzt.

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
  localName : String
[schreibgeschützt] Der lokale Name des QName-Objekts.
QName
  uri : String
[schreibgeschützt] Der URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner) des QName-Objekts.
QName
Öffentliche Methoden
 MethodeDefiniert von
  
QName(qname:QName)
Erstellt ein QName-Objekt, das eine Kopie eines anderen QName-Objekts ist.
QName
  
QName(uri:Namespace, localName:QName)
Erstellt ein QName-Objekt mit einem URI aus einem Namespace-Objekt und localName aus einem QName-Objekt.
QName
 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
  
Gibt einen String zurück, der sich aus dem URI und dem lokalen Namen für das QName-Objekt zusammensetzt, wobei die beiden durch „::“ voneinander getrennt sind.
QName
  
Gibt das QName-Objekt zurück.
QName
Eigenschaftendetails

localName

Eigenschaft
localName:String  [schreibgeschützt]

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

Der lokale Name des QName-Objekts.



Implementierung
    public function get localName():String

uri

Eigenschaft 
uri:String  [schreibgeschützt]

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

Der URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner) des QName-Objekts.



Implementierung
    public function get uri():String
Konstruktordetails

QName

()Konstruktor
public function QName(qname:QName)

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

Erstellt ein QName-Objekt, das eine Kopie eines anderen QName-Objekts ist. Wenn der an den Konstruktor übergebene Parameter ein QName-Objekt ist, wird eine Kopie des QName-Objekts erstellt. Handelt es sich bei dem Parameter aber nicht um ein QName-Objekt, wird der Parameter in einen String konvertiert und der localName-Eigenschaft der neuen QName-Instanz zugewiesen. Ist der Parameter undefined oder wurde er gar nicht angegeben, wird ein neues QName-Objekt erstellt, wobei die localName-Eigenschaft auf einen leeren String gesetzt ist.

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
qname:QName — Das zu kopierende QName-Objekt. Objekte eines anderen Typs werden in einen String konvertiert, der dann der localName-Eigenschaft des neuen QName-Objekts zugewiesen wird.

QName

()Konstruktor 
public function QName(uri:Namespace, localName:QName)

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

Erstellt ein QName-Objekt mit einem URI aus einem Namespace-Objekt und localName aus einem QName-Objekt. Hat einer der Parameter nicht den erwarteten Datentyp, wird er in einen String konvertiert und der entsprechenden Eigenschaft des neuen QName-Objekts zugewiesen. Handelt es sich beispielsweise bei beiden Parametern um Strings, wird ein neues QName-Objekt zurückgegeben, dessen uri-Eigenschaft auf den ersten Parameter gesetzt ist und dessen localName-Eigenschaft auf den zweiten Parameter gesetzt ist. Anders ausgedrückt: Die folgenden Permutationen sind, neben vielen anderen, zulässige Formen des Konstruktors:

QName (uri:Namespace, localName:String);
QName (uri:String, localName: QName);
QName (uri:String, localName: String);

Wenn Sie den Wert null an den uri-Parameter übergeben, wird die uri-Eigenschaft des neuen QName-Objekts auf null 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
uri:Namespace — Ein Namespace-Objekt, aus dem der uri-Wert zu kopieren ist. Parameter aller anderen Typen werden in einen String konvertiert.
 
localName:QName — Ein QName-Objekt, aus dem der localName-Wert zu kopieren ist. Parameter aller anderen Typen werden in einen String konvertiert.
Methodendetails

toString

()Methode
AS3 function toString():String

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

Gibt einen String zurück, der sich aus dem URI und dem lokalen Namen für das QName-Objekt zusammensetzt, wobei die beiden durch „::“ voneinander getrennt sind.

Das Format hängt von der uri-Eigenschaft des QName-Objekts ab:

If uri == "" 
		toString returns localName
	else if uri == null
		toString returns *::localName 
	else
		toString returns uri::localName

Rückgabewerte
String — Der qualifizierte Name als String.

valueOf

()Methode 
AS3 function valueOf():QName

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

Gibt das QName-Objekt zurück.

Rückgabewerte
QName — Der Grundwert einer QName-Instanz.
QNameExample.as

Im folgenden Beispiel sehen Sie, wie eine QName-Instanz erstellt und damit XML-Elemente ausgewählt werden. Es werden zwei Möglichkeiten zum Erstellen einer QName-Instanz gezeigt:
  1. Erstellen Sie eine Namespace-Instanz, und übergeben Sie sie dann an den QName-Konstruktor. Dieser Ansatz ist zu empfehlen, wenn Sie die Namespace.prefix-Eigenschaft später für andere Zwecke verwenden möchten.
  2. Erstellen Sie eine QName-Instanz und verwenden Sie einen einfachen Stringwert für den uri-Parameter im QName-Konstruktor.

Dieser Code bewirkt Folgendes:

  1. Definiert eine XML-Variable namens rssXML.
  2. Erstellt ein neues Namespace-Objekt mit dem Präfix dc.
  3. Erstellt ein neues QName-Objekt mithilfe des Namespace-Objekts und dem lokalen Namen creator.
  4. Ruft die showDescendants()-Methode auf, die mithilfe der XML.descendants()-Methode eine XMLList-Instanz abruft. Diese Instanz enthält alle untergeordneten Elemente, deren qualifizierte Namen mit der gegebenen QName-Instanz übereinstimmen.
  5. Zeigt den qualifizierten Namen und den Textwert jedes aufgelisteten Elements mithilfe einer for each-Schleife an.
  6. Erstellt ein weiteres QName-Objekt und verwendet einen Stringwert für den Parameter uri sowie den lokalen Namen date.
  7. Ruft die showDescendants()-Methode erneut auf, um den Namen und den Textwert der untergeordneten Elemente anzuzeigen.
package
{
    import flash.display.Sprite;
    
    public class QNameExample extends Sprite
    {
        public function QNameExample()
        {
            var rssXML: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>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>;
            
            var dcNamespace:Namespace = new Namespace("dc", "http://purl.org/dc/elements/1.1/");
            var creatorQName:QName = new QName(dcNamespace, "creator");
            trace(creatorQName.uri); // http://purl.org/dc/elements/1.1/
            trace(creatorQName.localName); // creator
            
            showDescendants(rssXML, creatorQName);
            
            var dateQName:QName = new QName("http://purl.org/dc/elements/1.1/", "date");
            trace(dateQName.uri); // http://purl.org/dc/elements/1.1/
            trace(dateQName.localName); // date
            
            showDescendants(rssXML, dateQName);
        }
        
        public function showDescendants(xmlData:XML, qualifiedName:QName):void
        {
            var decendantList:XMLList = xmlData.descendants(qualifiedName);
            
            for each (var element:XML in decendantList)
            {
                trace(element.name()); // the fully qualified name, 
                                       // like "http://purl.org/dc/elements/1.1/::creator"
                trace(element); // the simple text value of each element, like "Adobe"
            }                
        }
    }
}




[ 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.