Paquete | Nivel superior |
Clase | public final class QName |
Herencia | QName Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Más información
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
localName : String [solo lectura]
El nombre local del objeto QName. | QName | ||
uri : String [solo lectura]
Identificador uniforme de recurso (URI) del objeto QName. | QName |
Método | Definido por | ||
---|---|---|---|
Crea un objeto QName que es una copia de otro objeto QName. | QName | ||
Crea un objeto QName con un URI de un objeto Namespace y un localName de un objeto QName. | QName | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve una cadena formada por el URI y el nombre local del objeto QName separados por "::". | QName | ||
Devuelve el objeto QName. | QName |
localName | propiedad |
uri | propiedad |
QName | () | Información sobre |
public function QName(qname:QName)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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ámetrosqname: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.
|
QName | () | Información sobre |
public function QName(uri:Namespace, localName:QName)
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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ámetrosuri: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.
|
toString | () | método |
AS3 function toString():String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, 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:
IfValor devueltouri
== ""toString
returnslocalName
else ifuri
== nulltoString
returns *::localName
elsetoString
returnsuri
::localName
String — El nombre completo en forma de cadena.
|
valueOf | () | método |
- 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. - 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:
- Define una variable XML llamada
rssXML
. - Crea un nuevo objeto Namespace con el prefijo
dc
. - Crea un nuevo objeto QName con el objeto Namespace y el nombre local
creator
. - Llama al método
showDescendants()
, que utiliza el métodoXML.descendants()
para obtener una instancia de XMLList que contenga todos los elementos descendientes cuyo nombre completo coincida con la instancia de QName determinada. - Muestra el nombre completo y el valor de texto de cada elemento de la lista mediante un bucle
for each
. - Crea otro objeto QName utilizando un valor de cadena para el parámetro
uri
y el nombre localdate
. - 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" } } } }
Tue Jun 12 2018, 02:12 PM Z