PacchettoPrimo livello
Classepublic final class QName
EreditarietàQName Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Gli oggetti QName rappresentano i nomi completi degli elementi e degli attributi XML. Ogni oggetto QName ha un nome locale e un Uniform Resource Identifier (URI) per lo spazio dei nomi. Quando il valore dell'URI dello spazio dei nomi è null, l'oggetto QName corrisponde a qualunque spazio dei nomi. Utilizzare la funzione di costruzione QName per creare un nuovo oggetto QName, che è la copia di un altro oggetto QName oppure un nuovo oggetto QName con un parametro uri di un oggetto Namespace e un parametro localName di un oggetto QName.

I metodi specifici di E4X possono utilizzare gli oggetti QName con le stringhe in modo intercambiabile. I metodi E4X, che accettano una stringa, si trovano nelle classi QName, Namespace, XML e XMLList e possono accettare anche un oggetto QName. Questa possibilità di intercambio costituisce il modo in cui il supporto dello spazio dei nomi lavora ad esempio con il metodo XML.child().

La classe QName (insieme alle classi XML, XMLList e Namespace) implementa dei potenti standard di gestione dell'XML definiti nella specifica ECMAScript for XML (E4X) (ECMA-357 edition 2).

Un identificatore completo restituisce un oggetto QName. Se l'oggetto QName di un elemento XML viene specificato senza identificare uno spazio dei nomi, la proprietà uri dell'oggetto QName associato viene impostata sullo spazio dei nomi predefinito globale. Se l'oggetto QName di un attributo XML viene specificato senza identificare uno spazio dei nomi, la proprietà uri viene impostata su una stringa vuota.

Vedere gli esempi

Vedere anche

XML
XMLList
Namespace
Specifica ECMAScript for XML (E4X) (ECMA-357 edition 2)


Proprietà pubbliche
 ProprietàDefinito da
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  localName: String
[sola lettura] Il nome locale dell'oggetto QName.
QName
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
  uri: String
[sola lettura] L'Uniform Resource Identifier (URI) dell'oggetto QName.
QName
Metodi pubblici
 MetodoDefinito da
  
QName(uri:Namespace, localName:QName)
Crea un oggetto QName con un URI tratto da un oggetto Namespace e un parametro localName tratto da un oggetto QName.
QName
  
QName(qname:QName)
Crea un oggetto QName che è la copia di un altro oggetto QName.
QName
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
Restituisce una stringa composta dall'URI e dal nome locale dell'oggetto QName, separati da "::".
QName
  
Restituisce l'oggetto QName.
QName
Descrizione delle proprietà
localNameproprietà
localName:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il nome locale dell'oggetto QName.


Implementazione
    public function get localName():String
uriproprietà 
uri:String  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

L'Uniform Resource Identifier (URI) dell'oggetto QName.


Implementazione
    public function get uri():String
Descrizione della funzione di costruzione
QName()Funzione di costruzione
public function QName(uri:Namespace, localName:QName)

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea un oggetto QName con un URI tratto da un oggetto Namespace e un parametro localName tratto da un oggetto QName. Se uno dei due parametri non è del tipo di dati previsto, il parametro viene convertito in una stringa e assegnato alla proprietà corrispondente del nuovo oggetto QName. Ad esempio, se entrambi i parametri sono stringhe, viene restituito un nuovo oggetto QName con una proprietà uri impostata sul primo parametro e una proprietà localName impostata sul secondo. In altre parole, le permutazioni seguenti (insieme a molte altre) sono forme valide della funzione di costruzione:

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

Se si passa null per il parametro uri, la proprietà uri del nuovo oggetto QName viene impostata su null.

Nota: questa classe mostra due voci di costruzione poiché ogni forma accetta dei parametri diversi. La funzione di costruzione si comporta in modo diverso a seconda del tipo e del numero di parametri passati, come spiegato in dettaglio per ogni voce. ActionScript 3.0 non supporta l'overload dei metodi o delle funzioni di costruzione.

Parametri
uri:Namespace — Un oggetto Namespace da cui copiare il valore uri. Un parametro di qualunque altro tipo viene convertito in una stringa.
 
localName:QName — Un oggetto QName da cui copiare il valore localName. Un parametro di qualunque altro tipo viene convertito in una stringa.
QName()Funzione di costruzione 
public function QName(qname:QName)

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea un oggetto QName che è la copia di un altro oggetto QName. Se il parametro passato alla funzione di costruzione è un oggetto QName, viene creata una copia dell'oggetto QName. Se il parametro non è un oggetto QName, il parametro viene convertito in una stringa e assegnato alla proprietà localName della nuova istanza QName. Se il parametro è undefined o non è specificato, viene creato un nuovo oggetto QName con la proprietà localName impostata sulla stringa vuota.

Nota: questa classe mostra due voci di costruzione poiché ogni forma accetta dei parametri diversi. La funzione di costruzione si comporta in modo diverso a seconda del tipo e del numero di parametri passati, come spiegato in dettaglio per ogni voce. ActionScript 3.0 non supporta l'overload dei metodi o delle funzioni di costruzione.

Parametri
qname:QName — L'oggetto QName da copiare. Gli oggetti di qualunque altro tipo vengono convertiti in una stringa che viene assegnata alla proprietà localName del nuovo oggetto QName.
Descrizione dei metodi
toString()metodo
AS3 function toString():String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce una stringa composta dall'URI e dal nome locale dell'oggetto QName, separati da "::".

Il formato dipende dalla proprietà uri dell'oggetto QName:

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

Restituisce
String — Il nome completo, sotto forma di stringa.
valueOf()metodo 
AS3 function valueOf():QName

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce l'oggetto QName.

Restituisce
QName — Il valore di base di un'istanza QName.
Esempi Come utilizzare gli esempi
QNameExample.as

L'esempio seguente mostra come creare un'istanza QName e utilizzarla per selezionare gli elementi XML. Vengono indicati due modi di creare un'istanza QName:
  1. Creazione di un'istanza Namespace da utilizzare come input nella funzione di costruzione QName. Questo approccio è la soluzione ideale se si desidera utilizzare la proprietà Namespace.prefix in futuro per altre finalità.
  2. Creazione di un'istanza QName assegnando un valore di stringa semplice al parametro uri nella funzione di costruzione QName.

Il codice esegue le seguenti operazioni:

  1. Definisce una variabile XML denominata rssXML.
  2. Crea un nuovo oggetto Namespace con il prefisso dc.
  3. Crea un nuovo oggetto QName mediante l'oggetto Namespace e il nome locale creator.
  4. Chiama il metodo showDescendants() che utilizza il metodo XML.descendants() per ottenere un'istanza XMLList contenente tutti gli elementi discendenti il cui nome completo corrisponde all'istanza QName data.
  5. Visualizza il nome completo e il valore di testo di ogni elemento dell'elenco mediante un ciclo for each.
  6. Crea un altro oggetto QName utilizzando un valore di stringa per il parametro uri e il nome locale date.
  7. Chiama di nuovo il metodo showDescendants() per visualizzare il nome e il valore di testo degli elementi discendenti.
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"
            }                
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/QName.html