PackageNiveau supérieur
Classepublic final class QName
HéritageQName Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Les objets QName représentent les noms complets des éléments et attributs XML. Chaque objet QName possède un nom local et un URI (Uniform Resource Identifier) d’espace de nom. Si la valeur de l’URI de l’espace de nom est null, l’objet QName correspond à tout espace de nom. Utilisez le constructeur QName pour créer un objet QName correspondant soit à une copie d’un autre objet QName, soit à un nouvel objet QName dont le paramètre uri est extrait d'un objet Namespace et le paramètre localName est extrait d’un objet QName.

Les méthodes spécifiques à E4X peuvent utiliser les objets QName, quels qu’ils soient, à l’aide de chaînes. Les méthodes E4X figurent dans les classes QName, Namespace, XML et XMLList. Parce qu'elles extraient une chaîne, elles peuvent également extraire un objet QName. Cette interchangeabilité explique comment une méthode telle que XML.child() gère la prise en charge des espaces de nom.

A l’instar des classes XML, XMLList et Namespace, la classe QName met en œuvre des normes de gestion XML performantes définies dans la spécification ECMAScript pour XML (E4X) (ECMA-357, édition 2).

Un identificateur complet renvoie un objet QName. Si l’objet QName d’un élément XML est spécifié sans identifier d’espace de nom, la propriété uri de l’objet QName associé est définie sur l’espace de nom global par défaut. Si l’objet QName d’un attribut XML est spécifié sans identifier d’espace de nom, la propriété uri est définie sur une chaîne vide.

Consulter les exemples

Voir aussi

XML
XMLList
Namespace
ECMAScript pour la spécification XML (E4X) (ECMA-357 edition 2)


Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  localName : String
[lecture-seule] Nom local de l’objet QName.
QName
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  uri : String
[lecture-seule] URI (Uniform Resource Identifier) de l’objet QName.
QName
Méthodes publiques
 MéthodeDéfini par
  
QName(uri:Namespace, localName:QName)
Crée un objet QName associé à une URI à partir d’un objet Namespace et une valeur localName extraite d’un objet QName.
QName
  
QName(qname:QName)
Crée un objet QName qui est une copie d’un autre objet QName.
QName
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Renvoie une chaîne composée de l’URI et le nom local de l’objet QName, séparés par « :: ».
QName
  
Renvoie l'objet QName.
QName
Détails des propriétés
localNamepropriété
localName:String  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nom local de l’objet QName.


Implémentation
    public function get localName():String
uripropriété 
uri:String  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

URI (Uniform Resource Identifier) de l’objet QName.


Implémentation
    public function get uri():String
Détails du constructeur
QName()Constructeur
public function QName(uri:Namespace, localName:QName)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un objet QName associé à une URI à partir d’un objet Namespace et une valeur localName extraite d’un objet QName. Si l'un des paramètres ne correspond pas au type de données attendu, le paramètre est converti en chaîne et est affecté à la propriété correspondante du nouvel objet QName. Si, par exemple, les deux paramètres sont des chaînes, un nouvel objet QName est renvoyé. La propriété uri est définie sur le premier paramètre, et la propriété localName est définie sur le second paramètre. En d’autres termes, les permutations suivantes (qui ne constituent que quelques exemples) représentent des formes valides du constructeur :

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

Si vous transmettez null pour le paramètre uri, la propriété uri du nouvel objet QName est définie sur null.

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d'un constructeur.

Paramètres
uri:Namespace — Objet Namespace d’où sera copiée la valeur uri. Un paramètre de tout autre type est converti en chaîne.
 
localName:QName — Objet QName d’où sera copiée la valeur localName. Un paramètre de tout autre type est converti en chaîne.
QName()Constructeur 
public function QName(qname:QName)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un objet QName qui est une copie d’un autre objet QName. Si le paramètre transmis au constructeur est un objet QName, une copie de ce dernier est créée. Si le paramètre n’est pas un objet QName, le paramètre est converti en chaîne et affecté à la propriété localName de la nouvelle occurrence de QName. Si le paramètre est réglé sur undefined ou n’est pas spécifié, un nouvel objet est créé et sa propriété localName est définie sur la chaîne vide.

Remarque : cette classe utilise deux entrées de constructeur, car chaque forme accepte des paramètres différents. Le constructeur se comporte différemment selon le type et le nombre de paramètres transmis, comme indiqué dans chaque entrée. ActionScript 3.0 ne prend pas en charge la surcharge d’une méthode ou d'un constructeur.

Paramètres
qname:QName — Objet QName à copier. Les objets de tout autre type sont convertis en chaîne, qui est affectée à la propriété localName du nouvel objet QName.
Détails des méthodes
toString()méthode
AS3 function toString():String

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie une chaîne composée de l’URI et le nom local de l’objet QName, séparés par « :: ».

Le format varie selon la propriété uri de l’objet QName :

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

Valeur renvoyée
String — Nom complet, exprimé sous forme de chaîne.
valueOf()méthode 
AS3 function valueOf():QName

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Renvoie l'objet QName.

Valeur renvoyée
QName — Valeur primitive d’une occurrence de QName.
Exemples Utilisation des exemples
QNameExample.as

L'exemple suivant indique comment créer une occurrence QName et l'utiliser pour sélectionner des éléments XML. Deux méthodes de création de QName sont indiquées :
  1. Création d'une occurrence d'espace de nom, puis utilisation de cette dernière en tant qu'entrée pour le constructeur QName. Cette approche est préférable lorsque vous utilisez ultérieurement la propriété Namespace.prefix à d'autres fins.
  2. Création d'une occurrence QName utilisant une valeur de chaîne pour le paramètre uri dans le constructeur QName.

Ce code produit les résultats suivants :

  1. Définit une variable XML appelée rssXML.
  2. Crée un nouvel objet Namespace avec le préfixe dc.
  3. Crée un objet QName qui utilise l'objet Namespace et le créateur de nom local.
  4. Appelle la méthode showDescendants(), qui utilise la méthode XML.descendants() pour obtenir une occurrence XMLList qui contient tous les éléments descendants, dont le nom qualifié correspond à l'occurrence QName donnée.
  5. Affiche le nom qualifié et la valeur de texte des éléments de la liste à l'aide d'une boucle for each.
  6. Crée un autre objet QName qui utilise une valeur de chaîne pour le paramètre uri et la date du nom local.
  7. Appelle la méthode showDescendants() à nouveau pour afficher le nom et la valeur de texte des éléments descendants.
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"
            }                
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/QName.html