PaqueteNivel superior
Clasepublic final class QName
HerenciaQName Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Los objetos QName representan nombres completos de elementos y atributos XML. Cada objeto QName tiene un nombre local y un identificador uniforme de recurso (URI) de espacio de nombres. Si el valor del URI del espacio de nombres es null, el objeto QName coincide con cualquier espacio de nombres. Utilice el constructor QName para crear un nuevo objeto QName que sea una copia de otro objeto QName o un nuevo objeto QName con un uri de un objeto Namespace y un localName de un objeto QName.

Los métodos específicos de E4X pueden utilizar objetos QName intercambiables por cadenas. Los métodos E4X están en las clases QName, Namespace, XML y XMLList. Estos métodos E4X, que toman una cadena, también pueden tomar un objeto QName. Esta capacidad de intercambio es la manera de funcionar de la compatibilidad con espacios de nombres, por ejemplo, con el método XML.child().

La clase QName (junto con las clases XML, XMLList y Namespace) implementa potentes normas de gestión de XML definidas en la especificación ECMAScript para XML (E4X) (ECMA-357 edición 2).

Un identificador completo da como resultado un objeto QName. Si el objeto QName de un elemento XML se especifica sin identificar un espacio de nombres, la propiedad uri del objeto QName asociado se define con el espacio de nombres global predeterminado. Si el objeto QName de un atributo XML se especifica sin identificar un espacio de nombres, la propiedad uri se define como una cadena vacía.

Ver los ejemplos

Véase también

XML
XMLList
Namespace
Especificación ECMAScript para XML (E4X) (ECMA-357; edición 2)


Propiedades públicas
 PropiedadDefinido por
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  localName : String
[read-only] El nombre local del objeto QName.
QName
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  uri : String
[read-only] Identificador uniforme de recurso (URI) del objeto QName.
QName
Métodos públicos
 MétodoDefinido por
  
QName(uri:Namespace, localName:QName)
Crea un objeto QName con un URI de un objeto Namespace y un localName de un objeto QName.
QName
  
QName(qname:QName)
Crea un objeto QName que es una copia de otro objeto QName.
QName
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
Devuelve una cadena formada por el URI y el nombre local del objeto QName separados por "::".
QName
  
Devuelve el objeto QName.
QName
Información sobre propiedades
localNamepropiedad
localName:String  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El nombre local del objeto QName.


Implementación
    public function get localName():String
uripropiedad 
uri:String  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Identificador uniforme de recurso (URI) del objeto QName.


Implementación
    public function get uri():String
Información sobre constructores
QName()constructor
public function QName(uri:Namespace, localName:QName)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un objeto QName con un URI de un objeto Namespace y un localName de un objeto QName. Si el parámetro no tiene el tipo de datos esperado, el parámetro se convertirá en una cadena y se asignará a la propiedad correspondiente del nuevo objeto QName. Por ejemplo, si ambos parámetros son cadenas, se devolverá un nuevo objeto QName con una propiedad uri definida con el primer parámetro y una propiedad localName definida con el segundo parámetro. Dicho de otro modo, las siguientes variantes de orden, entre otras muchas, son formas válidas del constructor:

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

Si pasa null para el parámetro uri, la propiedad uri del nuevo objeto QName se define como null.

Nota: esta clase muestra dos entradas de constructor porque cada forma acepta parámetros diferentes. El constructor se comporta de forma diferente dependiendo del tipo y el número de parámetros pasados, como se detalla en cada entrada. ActionScript 3.0 no admite la sobrecarga de métodos o constructores.

Parámetros
uri:Namespace — Un objeto Namespace del que se copia el valor uri. Los parámetros de cualquier otro tipo se convierten en cadenas.
 
localName:QName — Un objeto QName del que se copia el valor localName. Los parámetros de cualquier otro tipo se convierten en cadenas.
QName()constructor 
public function QName(qname:QName)

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea un objeto QName que es una copia de otro objeto QName. Si el parámetro que se pasa al constructor es un objeto QName, se creará una copia del objeto QName. Si el parámetro no es un objeto QName, el parámetro se convertirá en una cadena y se asignará a la propiedad localName de la nueva instancia QName. Si el parámetro es undefined no se ha especificado, se creará un nuevo objeto QName con la propiedad localName definida como una cadena vacía.

Nota: esta clase muestra dos entradas de constructor porque cada forma acepta parámetros diferentes. El constructor se comporta de forma diferente dependiendo del tipo y el número de parámetros pasados, como se detalla en cada entrada. ActionScript 3.0 no admite la sobrecarga de métodos o constructores.

Parámetros
qname:QName — El objeto QName que se va a copiar. Los objetos de cualquier otro tipo se convertirán en una cadena y se asignarán a la propiedad localName del nuevo objeto QName.
Información sobre métodos
toString()método
AS3 function toString():String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve una cadena formada por el URI y el nombre local del objeto QName separados por "::".

El formato depende de la propiedad uri del objeto QName:

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

Valor devuelto
String — El nombre completo en forma de cadena.
valueOf()método 
AS3 function valueOf():QName

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve el objeto QName.

Valor devuelto
QName — El valor simple de una instancia QName.
Ejemplos Cómo utilizar los ejemplos
QNameExample.as

El siguiente ejemplo ilustra cómo crear una instancia de QName y utilizarla para seleccionar elementos XML. Se indican dos formas de creación de QName:
  1. Crear una instancia de Namespace y, después, utilizarla como entrada para el constructor QName. Este método es el recomendado si se quiere utilizar la propiedad Namespace.prefix para otros fines más adelante.
  2. Crear una instancia de QName con un valor de cadena simple para el parámetro uri en el constructor QName.

El código hace lo siguiente:

  1. Define una variable XML llamada rssXML.
  2. Crea un nuevo objeto Namespace con el prefijo dc.
  3. Crea un nuevo objeto QName con el objeto Namespace y el nombre local creator.
  4. Llama al método showDescendants(), que utiliza el método XML.descendants() para obtener una instancia de XMLList que contenga todos los elementos descendientes cuyo nombre completo coincida con la instancia de QName determinada.
  5. Muestra el nombre completo y el valor de texto de cada elemento de la lista mediante un bucle for each.
  6. Crea otro objeto QName utilizando un valor de cadena para el parámetro uri y el nombre local date.
  7. Vuelve a llamar al método showDescendants() para mostrar el nombre y el valor de texto de los elementos descendientes.
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"
            }
        }
    }
}




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/QName.html