| Pacote | Nível superior |
| Classe | public final class Namespace |
| Herança | Namespace Object |
| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- Namespaces de objetos XML Namespaces associam um prefixo de namespace com um URI (Uniform Resource Identifier) que identifica o namespace. O prefixo é uma string usada para fazer referência ao namespace em um objeto XML. Se o prefixo for indefinido, quando o XML for convertido em uma string, um prefixo será automaticamente gerado.
- Namespace para diferenciar métodos Namespaces podem diferenciar métodos com o mesmo nome para realizar diferentes tarefas. Se dois métodos tiverem o mesmo nome, mas namespaces separados, poderão realizar diferentes tarefas.
- Namespaces para controle de acesso Namespaces podem ser usados para controlar o acesso a um grupo de propriedades e métodos em uma classe. Se você inserir as propriedades e os métodos em um namespace privado, eles não poderão ser acessados por códigos que não tiverem acesso a esse namespace. É possível conceder acesso ao grupo de propriedades e métodos transmitindo o namespace a outras classes, métodos ou funções.
Essa classe mostra duas formas do método do construtor, já que cada uma aceita diferentes parâmetros.
Essa classe (junto com as classes XML, XMLList e QName) implementa eficientes padrões de manipulação de XML definidos na especificação ECMAScript para XML (E4X) (ECMA-357 edição 2).
Saiba mais
Elementos da API relacionados
| Propriedade | Definido por | ||
|---|---|---|---|
![]() | constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | |
| prefix : String
O prefixo do namespace. | Namespace | ||
| uri : String
URI (Identificador de Recurso Uniforme) do namespace. | Namespace | ||
| Método | Definido por | ||
|---|---|---|---|
Cria um objeto Namespace de acordo com os valores dos parâmetros valorPrefixo e valorUri. | Namespace | ||
Cria um objeto Namespace. | Namespace | ||
![]() |
Indica se um objeto tem uma propriedade especificada definida. | Object | |
![]() |
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | |
![]() |
Indica se a propriedade especificada existe e é enumerável. | Object | |
![]() |
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | |
![]() |
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | |
Equivalente à propriedade Namespace.uri. | Namespace | ||
Retorna o valor URI do objeto especificado. | Namespace | ||
prefix | propriedade |
uri | propriedade |
Namespace | () | Construtor |
public function Namespace(prefixValue:*, uriValue:*)| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria um objeto Namespace de acordo com os valores dos parâmetros prefixValue e uriValue. Esse construtor requer ambos os parâmetros.
O valor do parâmetro prefixValue é atribuído à propriedade prefix da seguinte maneira:
- Se
undefinedfor transmitido,prefixserá definido comoundefined. - Se o valor for um nome XML válido, conforme determinado pela função
isXMLName(), ele será convertido em uma string e atribuído à propriedadeprefix. - Se o valor não for um nome XML válido, a propriedade
prefixserá definida comoundefined.
O valor do parâmetro uriValue é atribuído à propriedade uri da seguinte maneira:
- Se o objeto QName for transmitido, a propriedade
uriserá definida como o valor da propriedadeuridesse objeto QName. - Caso contrário, o parâmetro
uriValueserá convertido em uma string e atribuído à propriedadeuri.
Nota: esta classe mostra duas entradas de método de construtor, uma vez que cada forma aceita diferentes parâmetros. O construtor se comporta de forma diferente dependendo do tipo e do número de argumentos transmitidos, conforme detalhado em cada entrada. O ActionScript 3.0 não oferece suporte à sobrecarga de métodos ou construtores.
ParâmetrosprefixValue:* — O prefixo a ser usado para o namespace.
| |
uriValue:* — URI (Identificador de Recurso Uniforme) do namespace.
|
Namespace | () | Construtor |
public function Namespace(uriValue:*)| Versão da linguagem: | ActionScript 3.0 |
| Versões de runtime: | AIR 1.0, Flash Player 9 |
Cria um objeto Namespace. Os valores atribuídos às propriedades uri e prefix do novo objeto Namespace dependem do tipo de valor transmitido para o parâmetro uriValue:
- Se nenhum valor for transmitido, as propriedades
prefixeuriserão definidas como uma string vazia. - Se o valor for um objeto Namespace, uma cópia desse objeto será criada.
- Se o valor for um objeto QName, a propriedade
uriserá definida como a propriedadeurido objeto QName.
Nota: esta classe mostra duas entradas de construtor, uma vez que cada forma aceita diferentes parâmetros. O construtor se comporta de forma diferente dependendo do tipo e do número de parâmetros transmitidos, conforme detalhado em cada entrada. O ActionScript 3.0 não oferece suporte à sobrecarga de métodos ou construtores.
ParâmetrosuriValue:* — URI (Identificador de Recurso Uniforme) do namespace.
|
toString | () | método |
valueOf | () | método |
- O exemplo define três objetos Namespace, cada qual com um URI exclusivo que define um namespace.
- O exemplo define uma variável XML denominada
myXMLe a atribui ao valor de retorno degetRSS(). O métodogetRSS()define um objeto XML que contém vários namespaces e que retorna esse objeto XML. - O exemplo declara e avalia uma variável Array chamando o método
parseRSS()com a variávelmyXMLtransmitida. EmparseRSS(), o namespace XML padrão é definido comorsse o exemplo define uma variável XMLList atribuindo a lista de objetositememmyXML. Uma matriz é criada e preenchida com vários nós emmyXML.item. Em seguida, essa matriz é retornada. - Os elementos na matriz são impressos com o uso de uma repetição
fore três chamadas atrace().
package {
import flash.display.Sprite;
public class NamespaceExample extends Sprite {
private var rss:Namespace = new Namespace("http://purl.org/rss/1.0/");
private var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
private var dc:Namespace = new Namespace("http://purl.org/dc/elements/1.1/");
public function NamespaceExample() {
var myXML:XML = getRSS();
var rssItems:Array = parseRSS(myXML);
var len:uint = rssItems.length;
for (var i:uint; i < len; i++) {
trace(rssItems[i].title);
trace(rssItems[i].creator);
trace(rssItems[i].date);
// Adobe Flash Developer Center
// Adobe
// 2005-08-08
// Flex Developer Center
// Adobe
// 2005-10-16
}
}
private function parseRSS(rssXML:XML):Array {
default xml namespace = rss;
var items:XMLList = rssXML.item;
var arr:Array = new Array();
var len:uint = items.length();
for (var i:uint; i < len; i++) {
arr.push({title:items[i].title, creator:items[i].dc::creator, date:items[i].dc::date});
}
return arr;
}
private function getRSS():XML {
var myXML: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>Adobe 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>;
return myXML;
}
}
}
hello() residem em namespaces separados; cada um retorna uma string diferente quando chamado.
package {
import flash.display.Sprite;
public class Namespace_2_Example extends Sprite {
public function Namespace_2_Example() {
var vocab:MultilingualVocabulary = new MultilingualVocabulary();
trace(vocab.hello()); // hello
var languages:Array = vocab.getLanguages();
for (var i:uint; i < languages.length; i++) {
var ns:Namespace = languages[i];
if (ns != null) {
trace(ns.toString() + ": " + vocab.ns::hello());
// hello
// MultilingualVocabulary:Hawaiian: aloha
// MultilingualVocabulary:French: bon jour
}
}
}
}
}
class MultilingualVocabulary {
public namespace French;
public namespace Hawaiian;
private var languages:Array;
public function MultilingualVocabulary() {
languages = new Array(Hawaiian, French);
}
public function hello():String {
return "hello";
}
Hawaiian function hello():String {
return "aloha";
}
French function hello():String {
return "bon jour";
}
public function getLanguages():Array {
return languages;
}
}
O exemplo define namespaces e cores que correspondem a estados do mouse para um botão retangular. Sempre que o botão for desenhado, o exemplo aplicará a cor apropriada ("out" é vermelho; "over" é amarelo e "down" é branco), fazendo referência à variável bgcolor do namespace correspondente (out, over, down).
package {
import flash.display.Sprite;
public class Namespace_3_Example extends Sprite {
public function Namespace_3_Example() {
addChild(new StateButton("Press Me."));
}
}
}
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
class StateButton extends Sprite{
private namespace out;
private namespace over;
private namespace down;
private var label:TextField;
private var labelTxt:String;
private var ns:Namespace;
out var bgColor:Number = 0xFF0000;
over var bgColor:Number = 0xFFFF00;
down var bgColor:Number = 0xFFFFFF;
public function StateButton(str:String) {
buttonMode = true;
labelTxt = str;
ns = out;
draw();
addLabel();
addListeners();
}
private function addLabel():void {
label = new TextField();
label.text = labelTxt;
label.width = 50;
label.height = 20;
label.mouseEnabled = false;
addChild(label);
}
private function addListeners():void {
addEventListener(MouseEvent.MOUSE_UP, mouseOverHandler);
addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
}
private function mouseOutHandler(e:Event):void {
ns = out;
draw();
}
private function mouseOverHandler(e:Event):void {
ns = over;
draw();
}
private function mouseDownHandler(e:Event):void {
ns = down;
draw();
}
private function draw():void {
this.graphics.clear();
this.graphics.beginFill(ns::bgColor);
this.graphics.drawRect(0, 0, 60, 20);
}
}
Wed Jun 13 2018, 11:10 AM Z
Ocultar propriedades públicas herdadas
Mostrar propriedades públicas herdadas