Pakket | Hoofdniveau |
Klasse | public final class Namespace |
Overerving | Namespace Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
- Naamruimten van XML-objecten Naamruimten koppelen een voorvoegsel naamruimte aan een URI (Uniform Resource Identifier) die de naamruimte aanduidt. Het voorvoegsel is een tekenreeks die verwijst naar de naamruimte binnen een XML-object. Wanneer geen voorvoegsel is gedefinieerd, wordt bij het omzetten van de XML in een tekenreeks automatisch een voorvoegsel gegenereerd.
- Naamruimte voor onderscheiden van methoden Naamruimten kunnen methoden met dezelfde naam onderscheiden om verschillende taken uit te voeren. Wanneer twee methoden dezelfde naam hebben maar afzonderlijke naamruimten, kunnen ze verschillende taken uitvoeren.
- Naamruimten voor toegangsbeheer Met naamruimten kunt u de toegang tot een groep eigenschappen en methoden in een klasse beheren. Wanneer u de eigenschappen en methoden in een persoonlijke naamruimte plaatst, zijn ze niet toegankelijk voor code die geen toegang hebben tot die naamruimte. U kunt toegang verlenen tot groepen eigenschappen en methoden door de naamruimte door te geven aan andere klassen, methoden of functies.
Voor deze klasse worden twee vormen van de constructormethode getoond omdat elke vorm andere parameters accepteert.
Deze klasse (samen met de klasse XML, XMLList en QName) implementeert krachtige XML-verwerkingsstandaarden gedefinieerd in de ECMAScript for XML (E4X) Specification (ECMA-357), 2nd Edition.
Meer informatie
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
prefix : String
Het voorvoegsel van de naamruimte. | Namespace | ||
uri : String
De URI (Uniform Resource Identifier) van de naamruimte. | Namespace |
Methode | Gedefinieerd door | ||
---|---|---|---|
Maakt een object Namespace volgens de waarden van de parameters prefixValue en uriValue. | Namespace | ||
Maakt een object van het type Namespace. | Namespace | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Komt overeen met de eigenschap Namespace.uri. | Namespace | ||
Retourneert de URI-waarde van het opgegeven object. | Namespace |
prefix | eigenschap |
uri | eigenschap |
Namespace | () | Constructor |
public function Namespace(prefixValue:*, uriValue:*)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Maakt een object Namespace volgens de waarden van de parameters prefixValue
en uriValue
. Deze constructor vereist beide parameters.
De waarde van de parameter prefixValue
wordt als volgt toegewezen aan de eigenschap prefix
:
- Wanneer
undefined
wordt doorgegeven, wordtprefix
ingesteld opundefined
. - Wanneer de waarde een geldige XML-naam is, zoals vastgesteld door de functie
isXMLName()
, wordt deze omgezet in een tekenreeks en doorgegeven aan de eigenschapprefix
. - Wanneer de waarde geen geldige XML-naam is, wordt de eigenschap
prefix
ingesteld opundefined
.
De waarde van de parameter uriValue
wordt als volgt toegewezen aan de eigenschap uri
:
- Wanneer een object QName wordt doorgegeven, wordt de eigenschap
uri
ingesteld op de eigenschapuri
van het object QName. - Anders wordt de parameter
uriValue
omgezet in een tekenreeks en toegewezen aan de eigenschapuri
.
Opmerking: voor deze klasse worden twee constructormethoden vermeld omdat elke vorm andere parameters accepteert. Het gedrag van de constructor hangt af van het type en het aantal argumenten dat wordt doorgegeven, zoals in elke vermelding wordt beschreven. ActionScript 3.0 biedt geen ondersteuning voor overbelasting van methoden of constructors.
ParametersprefixValue:* — Het voorvoegsel voor de naamruimte.
| |
uriValue:* — De URI (Uniform Resource Identifier) van de naamruimte.
|
Namespace | () | Constructor |
public function Namespace(uriValue:*)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9 |
Maakt een object van het type Namespace. De toegewezen waarden aan de eigenschappen uri
en prefix
van het nieuwe object Namespace zijn afhankelijk van het type waarde dat wordt doorgegeven voor de parameter uriValue
:
- Wanneer geen waarde wordt doorgegeven, worden de eigenschappen
prefix
enuri
ingesteld op een lege tekenreeks. - Wanneer de waarde een object Namespace is, wordt een kopie van het object gemaakt.
- Wanneer de waarde een object QName is, wordt de eigenschap
uri
ingesteld op de eigenschapuri
van het object QName.
Opmerking: voor deze klasse worden twee constructormethoden vermeld omdat elke vorm andere parameters accepteert. Het gedrag van de constructor hangt af van het type en het aantal parameters dat wordt doorgegeven, zoals in elke vermelding wordt beschreven. ActionScript 3.0 biedt geen ondersteuning voor overbelasting van methoden of constructors.
ParametersuriValue:* — De URI (Uniform Resource Identifier) van de naamruimte.
|
toString | () | methode |
valueOf | () | methode |
- In dit voorbeeld worden drie objecten Namespace gedefinieerd, elk met een unieke URI die een naamruimte definieert.
- In het voorbeeld wordt een XML-variabele met de naam
myXML
gedefinieerd, die wordt toegewezen aan de geretourneerde waarde vangetRSS()
. De methodegetRSS()
definieert en retourneert een XML-object dat diverse naamruimten bevat. - In het voorbeeld wordt een variabele Array gedeclareerd en geƫvalueerd door de methode
parseRSS()
aan te roepen metmyXML
eraan doorgegeven. InparseRSS()
wordt de standaard XML-naamruimte gedefinieerd alsrss
en in het voorbeeld wordt een variabele XMLList gedefinieerd door de lijst metitem
-objecten inmyXML
toe te wijzen. Een array wordt gemaakt en gevuld met verschillende knooppunten binnenmyXML.item
. De array wordt vervolgens geretourneerd. - De elementen in de array worden afgedrukt met gebruik van een lus
for
en drie aanroepen vantrace()
.
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()
in afzonderlijke naamruimten; elk retourneert bij het aanroepen een andere tekenreeks.
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; } }
In dit voorbeeld worden naamruimten en kleuren gedefinieerd die overeenkomen met muistoestanden voor een rechthoekige knop. Telkens wanneer de knop wordt getekend, wordt in het voorbeeld de juiste kleur toegepast (out is rood; over is geel; down is wit) door te verwijzen naar de variabele bgcolor
voor de desbetreffende naamruimte (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:42 AM Z