PaketOberste Ebene
Klassepublic final class QName
VererbungQName Inheritance Object

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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 "ECMAScript for XML (E4X) Specification" (ECMA-357, 2. Auflage) 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 Eigenschaft uri des verbundenen QName-Objekts auf den globalen Standardnamespace gesetzt. Wird das QName-Objekt eines XML-Attributs angegeben ohne einen Namespace zu identifizieren, wird die Eigenschaft uri auf einen leeren String gesetzt.

Beispiele anzeigen

Siehe auch

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


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  localName : String
[read-only] Der lokale Name des QName-Objekts.
QName
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
  uri : String
[read-only] Der URI (Uniform Resource Identifier, einheitlicher Ressourcenbezeichner) des QName-Objekts.
QName
Öffentliche Methoden
 MethodeDefiniert von
  
QName(uri:Namespace, localName:QName)
Erstellt ein QName-Objekt mit einem URI aus einem Namespace-Objekt und localName aus einem QName-Objekt.
QName
  
QName(qname:QName)
Erstellt ein QName-Objekt, das eine Kopie eines anderen QName-Objekts ist.
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
  
Gibt einen String zurück, der sich aus dem URI und dem lokalen Namen für das QName-Objekt zusammensetzt, wobei die beiden durch "::" von einander getrennt sind.
QName
  
Gibt das QName-Objekt zurück.
QName
Eigenschaftsdetail
localNameEigenschaft
localName:String  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Der lokale Name des QName-Objekts.


Implementierung
    public function get localName():String
uriEigenschaft 
uri:String  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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


Implementierung
    public function get uri():String
Konstruktordetail
QName()Konstruktor
public function QName(uri:Namespace, localName:QName)

Sprachversion : ActionScript 3.0
Player-Version : 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. Ein Parameter irgend eines anderen Typs wird in einen String konvertiert.
 
localName:QName — Ein QName-Objekt, aus dem der localName-Wert zu kopieren ist. Ein Parameter irgend eines anderen Typs wird in einen String konvertiert.
QName()Konstruktor 
public function QName(qname:QName)

Sprachversion : ActionScript 3.0
Player-Version : 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 Eigenschaft localName 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.
Methodendetail
toString()Methode
AS3 function toString():String

Sprachversion : ActionScript 3.0
Player-Version : 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 "::" von einander getrennt sind.

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

Wenn uri == "", dann gibt toString localName zurück; andernfalls, wenn uri == null, dann gibt toString *:: localName zurück; anderfalls gibt toString Folgendes zurück: uri::localName

Rückgabewerte
String — Der qualifizierte Name als String.
valueOf()Methode 
AS3 function valueOf():QName

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt das QName-Objekt zurück.

Rückgabewerte
QName — Der Grundwert einer QName-Instanz.
Beispiele Verwendung von Beispielen
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 Eigenschaft Namespace.prefix später für andere Zwecke verwenden möchten.
  2. Erstellen Sie eine QName-Instanz und verwenden Sie einen einfachen Stringwert für den Parameter uri 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 Methode showDescendants() auf, die mithilfe der Methode XML.descendants() eine XMLList-Instanz abruft. Diese Instanz enthält alle Nachfolgerelemente, 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 Methode showDescendants() erneut auf, um den Namen und den Textwert der Nachfolgerelemente 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"
            }                
        }
    }
}




 

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/QName.html