Paket | Oberste Ebene |
Klasse | public final class QName |
Vererbung | QName Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Weitere Informationen
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : 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 |
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein QName-Objekt, das eine Kopie eines anderen QName-Objekts ist. | QName | ||
Erstellt ein QName-Objekt mit einem URI aus einem Namespace-Objekt und localName aus einem QName-Objekt. | QName | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
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 |
localName | Eigenschaft |
uri | Eigenschaft |
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.
Parameterqname: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.
Parameteruri: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.
|
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:
IfRückgabewerteuri
== ""toString
returnslocalName
else ifuri
== nulltoString
returns *::localName
elsetoString
returnsuri
::localName
String — Der qualifizierte Name als String.
|
valueOf | () | Methode |
- 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. - Erstellen Sie eine QName-Instanz und verwenden Sie einen einfachen Stringwert für den
uri
-Parameter im QName-Konstruktor.
Dieser Code bewirkt Folgendes:
- Definiert eine XML-Variable namens
rssXML
. - Erstellt ein neues Namespace-Objekt mit dem Präfix
dc
. - Erstellt ein neues QName-Objekt mithilfe des Namespace-Objekts und dem lokalen Namen
creator
. - Ruft die
showDescendants()
-Methode auf, die mithilfe derXML.descendants()
-Methode eine XMLList-Instanz abruft. Diese Instanz enthält alle untergeordneten Elemente, deren qualifizierte Namen mit der gegebenen QName-Instanz übereinstimmen. - Zeigt den qualifizierten Namen und den Textwert jedes aufgelisteten Elements mithilfe einer
for each
-Schleife an. - Erstellt ein weiteres QName-Objekt und verwendet einen Stringwert für den Parameter
uri
sowie den lokalen Namendate
. - 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" } } } }
Tue Jun 12 2018, 10:04 AM Z