| Pacchetto | Primo livello |
| Classe | public final class Namespace |
| Ereditarietà | Namespace Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- Spazi dei nomi degli oggetti XML Gli spazi dei nomi associano un prefisso dello spazio dei nomi a un Uniform Resource Identifier (URI) che identifica lo spazio dei nomi. Il prefisso è una stringa utilizzata per fare riferimento allo spazio dei nomi all'interno di un oggetto XML. Se il prefisso non è definito, quando l'XML viene convertito in una stringa ne viene automaticamente generato uno.
- Spazi dei nomi per differenziare i metodi Gli spazi dei nomi possono differenziare i metodi con lo stesso nome per eseguire operazioni diverse. Se due metodi hanno lo stesso nome ma spazi dei nomi separati, possono eseguire operazioni diverse.
- Spazi dei nomi per il controllo dell'accesso Gli spazi dei nomi possono essere utilizzati per controllare l'accesso a un gruppo di proprietà e metodi di una classe. Se collocate le proprietà e i metodi in uno spazio dei nomi privato, essi diventano inaccessibili per qualunque codice che non abbia accesso allo spazio dei nomi. Potete consentire l'accesso al gruppo di proprietà e di metodi passando lo spazio dei nomi ad altre classi, metodi o funzioni.
Questa classe mostra due forme del metodo di costruzione poiché ogni forma accetta due parametri diversi.
Questa classe (insieme alle classi XML, XMLList e QName) implementa dei potenti standard di gestione dell'XML definiti nella specifica ECMAScript for XML (E4X) (ECMA-357 edition 2).
Altri esempi
Altre informazioni
Elementi API correlati
| Proprietà | Definito da | ||
|---|---|---|---|
![]() | constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | |
| prefix : String
Il prefisso dello spazio dei nomi. | Namespace | ||
| uri : String
L'Uniform Resource Identifier (URI) dello spazio dei nomi. | Namespace | ||
| Metodo | Definito da | ||
|---|---|---|---|
Crea un oggetto Namespace in base ai valori dei parametri prefixValue e uriValue. | Namespace | ||
Crea un oggetto Namespace. | Namespace | ||
![]() |
Indica se per un oggetto è definita una proprietà specifica. | Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile. | Object | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | |
![]() |
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | |
Equivalente alla proprietà Namespace.uri. | Namespace | ||
Restituisce il valore URI dell'oggetto specificato. | Namespace | ||
prefix | proprietà |
uri | proprietà |
Namespace | () | Funzione di costruzione |
public function Namespace(prefixValue:*, uriValue:*)| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un oggetto Namespace in base ai valori dei parametri prefixValue e uriValue. Questa funzione di costruzione richiede entrambi i parametri.
Il valore del parametro prefixValue viene assegnato alla proprietà prefix nel modo seguente:
- Se viene passato
undefined,prefixviene impostato suundefined. - Se il valore è un nome XML valido, determinato dalla funzione
isXMLName(), viene convertito in una stringa e assegnato alla proprietàprefix. - Se il valore non è un nome XML valido, la proprietà
prefixviene impostata suundefined.
Il valore del parametro uriValue viene assegnato alla proprietà prefix nel modo seguente:
- Se viene passato un oggetto QName, la proprietà
uriviene impostata sul valore della proprietàuridell'oggetto QName. - In caso contrario, il parametro
uriValueviene convertito in una stringa e assegnato alla proprietàuri.
Nota: questa classe mostra due voci del metodo 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 argomenti passati, come spiegato in dettaglio per ogni voce. ActionScript 3.0 non supporta l'overload dei metodi o delle funzioni di costruzione.
ParametriprefixValue:* — Il prefisso da utilizzare per lo spazio dei nomi.
| |
uriValue:* — L'Uniform Resource Identifier (URI) dello spazio dei nomi.
|
Namespace | () | Funzione di costruzione |
public function Namespace(uriValue:*)| Versione linguaggio: | ActionScript 3.0 |
| Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un oggetto Namespace. I valori assegnati alle proprietà uri e prefix del nuovo oggetto Namespace dipendono dal tipo di valore passato per il parametro uriValue:
- Se non passate alcun valore, le proprietà
prefixeurivengono impostate su una stringa vuota. - Se il valore è un oggetto Namespace, viene creata una copia dell'oggetto.
- Se il valore è un oggetto QName, la proprietà
uriviene impostata sulla proprietàuridell'oggetto QName.
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.
ParametriuriValue:* — L'Uniform Resource Identifier (URI) dello spazio dei nomi.
|
toString | () | metodo |
valueOf | () | metodo |
- L'esempio seguente definisce tre oggetti Namespace, ognuno con un URI univoco che definisce uno spazio dei nomi.
- L'esempio definisce una variabile XML denominata
myXMLe assegna ad essa il valore restituito dagetRSS(). Il metodogetRSS()definisce un oggetto XML contenente numerosi spazi dei nomi e restituisce l'oggetto XML. - Il codice di esempio dichiara e valuta una variabile Array mediante la chiamata al metodo
parseRSS()al quale viene passata la variabilemyXML. InparseRSS(), lo spazio dei nomi XML predefinito è definito comersse l'esempio definisce una variabile XMLList mediante l'assegnazione dell'elenco degli oggettiitemdimyXML. Viene creato un array che viene compilato con diversi nodi all'interno dimyXML.item. L'array viene quindi restituito. - Gli elementi dell'array vengono stampati mediante un ciclo
fore tre chiamate 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() si trovano in spazi dei nomi separati e, quando vengono chiamati, restituiscono una stringa diversa.
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;
}
}
L'esempio definisce gli spazi dei nomi e i colori corrispondenti agli stati del mouse per un pulsante rettangolare. Ogni volta che viene disegnato un pulsante, l'esempio applica il colore appropriato (rosso per out, giallo per over e bianco per down) mediante il riferimento alla variabile bgcolor dello spazio dei nomi corrispondente (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);
}
}
Tue Jun 12 2018, 02:44 PM Z
Nascondi proprietà pubbliche ereditate
Mostra proprietà pubbliche ereditate