Paket | Översta nivån |
Klass | public final class Namespace |
Arv | Namespace Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- Namnutrymmen för XML-objekt Namnutrymmen associerar ett prefix för namnutrymme med en URI (Uniform Resource Identifier) som identifierar namnutrymmet. Prefixet är en sträng som refererar till namnutrymmet inom ett XML-objekt. Om prefixet är odefinierat genereras automatiskt ett prefix när XML konverteras till en sträng.
- Namnutrymmen för att skilja på metoder Namnutrymmen kan skilja på olika metoder med samma namn för att utföra olika uppgifter. Om två metoder har samma namn men olika namnutrymmen kan de utföra olika uppgifter.
- Namnutrymmen för åtkomst Namnutrymmen kan användas för att styra åtkomst till en grupp med egenskaper och metoder i en klass. Om du placerar egenskaperna och metoderna i ett privat namnutrymme är de otillgängliga för annan kod som inte har åtkomst till det namnutrymmet. Du kan ge åtkomst till gruppen med egenskaper och metoder genom att skicka namnutrymmet till andra klasser, metoder eller funktioner.
Klassen visar två former av konstruktormetoden eftersom varje form accepterar olika parametrar.
Klassen (tillsammans med klasserna XML, XMLList och QName) implementerar kraftfulla XML-hanteringsstandarder som definieras i specifikationen ECMAScript för XML (E4X) (ECMA-357 utgåva 2).
Lär dig mer
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
prefix : String
Prefixet för namnutrymmet. | Namespace | ||
uri : String
Namnutrymmets URI (Uniform Resource Identifier). | Namespace |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett Namespace-objekt enligt värdena i parametrarna prefixValue och uriValue. | Namespace | ||
Skapar ett Namespace-objekt. | Namespace | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Likvärdigt med egenskapen Namespace.uri. | Namespace | ||
Returnerar det angivna objektets URI-värde. | Namespace |
prefix | egenskap |
uri | egenskap |
Namespace | () | Konstruktor |
public function Namespace(prefixValue:*, uriValue:*)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skapar ett Namespace-objekt enligt värdena i parametrarna prefixValue
och uriValue
. Konstruktorn kräver båda parametrarna.
Värdet på parametern prefixValue
tilldelas till egenskapen prefix
enligt följande:
- Om
undefined
skickas ställsprefix
in påundefined
. - Om värdet är ett giltigt XML-namn enligt funktionen
isXMLName()
konverteras det till en sträng och tilldelas till egenskapenprefix
. - Om värdet inte är ett giltigt XML-namn ställs egenskapen
prefix
in påundefined
.
Värdet på parametern uriValue
tilldelas till egenskapen uri
enligt följande:
- Om ett QName-objekt skickas ställs egenskapen
uri
in på innehållet i egenskapenuri
för QName-objektet. - I annat fall konverteras parametern
uriValue
till en sträng och tilldelas till egenskapenuri
.
Obs! Klassen visar två konstruktormetoder, eftersom varje form accepterar olika parametrar. Konstruktorn uppför sig på olika sätt beroende på vilken typ av och antal argument som skickas enligt detaljerna för varje post. ActionScript 3.0 tillåter inte metod- eller konstruktoröverinläsning.
ParametrarprefixValue:* — Prefixet för namnutrymmet.
| |
uriValue:* — Namnutrymmets URI (Uniform Resource Identifier).
|
Namespace | () | Konstruktor |
public function Namespace(uriValue:*)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Skapar ett Namespace-objekt. Vilka värden som tilldelas till egenskaperna uri
och prefix
i det nya Namespace-objektet beror på vilken typ av värde som skickas för parametern uriValue
:
- Om inget värde skickas ställs egenskaperna
prefix
ochuri
in på en tom sträng. - Om värdet är ett Namespace-objekt skapas en kopia av objektet.
- Om värdet är ett QName-objekt ställs egenskapen
uri
in på innehållet i egenskapenuri
för QName-objektet.
Obs! Klassen visar två konstruktorer eftersom varje form accepterar olika parametrar. Konstruktorn uppför sig på olika sätt beroende på vilken typ av och antal parametrar som skickas enligt detaljerna för varje post. ActionScript 3.0 tillåter inte metod- eller konstruktoröverinläsning.
ParametraruriValue:* — Namnutrymmets URI (Uniform Resource Identifier).
|
toString | () | metod |
valueOf | () | metod |
- Exemplen definierar tre Namespace-objekt, vart och ett med ett unikt URI som definierar ett namnutrymme.
- Exemplet definierar en XML-variabel med namnet
myXML
och tilldelar den till returvärdet hosgetRSS()
. MetodengetRSS()
definierar ett XML-objekt som innehåller flera namnutrymmen och objekt. - I exemplet deklareras och utvärderas en Array-variabel genom ett anrop till metoden
parseRSS()
medmyXML
som argument. IparseRSS()
definieras XML-standardnamnutrymmet somrss
och i exemplet definieras en XMLList-variabel genom att tilldela listan meditem
-objekt imyXML
. En array skapas och fylls med olika noder imyXML.item
. Därefter returneras arrayen. - Elementen i arrayen skrivs ut med hjälp av en
for
-slinga och tre anrop tilltrace()
.
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()
, i olika namnutrymmen. Varje metod returnerar en egen sträng när den anropas.
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; } }
I exemplet definieras namnutrymmen och färger som motsvarar muslägen för en rektangulär knapp. Varje gång som knappen ritas upp i exemplet används lämplig färg (out är röd; over är gul; down är vit) genom att referera till variabeln bgcolor
för motsvarande namnutrymme (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, 01:40 PM Z