Pakiet | Najwyższy poziom |
Klasa | public final class QName |
Dziedziczenie | QName Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
null
, obiekt QName jest zgodny z dowolną przestrzenią nazw. Aby utworzyć nowy obiekt QName będący albo kopią innego obiektu QName, albo nowym obiektem QName o właściwości uri
określonej w obiekcie Namespace oraz właściwości localName
określonej w obiekcie QName, należy użyć konstruktora QName.
W przypadku metod E4X można zamiennie z ciągami znaków używać obiektów QName. Metody E4X należą do klas QName, Namespace, XML oraz XMLList. Te metody E4X, które przyjmują ciąg znaków, mogą również przyjmować obiekty QName. Taka możliwość zamiany charakteryzuje sposób, w jaki przestrzeń nazw obsługuje np. metodę XML.child()
.
Klasa QName (wraz z klasami XML, XMLList oraz Namespace) implementuje zaawansowane standardy obsługi kodu XML określone w specyfikacji ECMAScript for XML (E4X) (ECMA-357, wydanie 2).
Kwalifikowany identyfikator określa wartość dla obiektu QName. Jeśli obiekt QName elementu XML został określony bez identyfikacji przestrzeni nazw, właściwość uri
skojarzonego obiektu QName zostaje ustawiona na globalną, domyślną przestrzeń nazw. Jeśli obiekt QName atrybutu XML został określony bez identyfikacji przestrzeni nazw, właściwość uri
zostaje ustawiona na pusty ciąg znaków.
Więcej informacji
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
localName : String [tylko do odczytu]
Lokalna nazwa obiektu QName. | QName | ||
uri : String [tylko do odczytu]
Identyfikator URI (Uniform Resource Identifier) obiektu QName. | QName |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy obiekt QName będący kopią innego obiektu QName. | QName | ||
Tworzy z obiektu Namespace obiekt QName z identyfikatorem URI, a także obiekt localName z obiektu QName. | QName | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg znaków złożony z adresu URI oraz lokalnej nazwy obiektu QName, oddzielone znakami „::”. | QName | ||
Zwraca obiekt QName. | QName |
localName | właściwość |
uri | właściwość |
QName | () | Konstruktor |
public function QName(qname:QName)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Tworzy obiekt QName będący kopią innego obiektu QName. Jeśli przekazany do konstruktora parametr to obiekt QName, tworzona jest kopia tego obiektu. Jeśli parametr nie jest obiektem QName, zostaje on przekonwertowany na ciąg znaków i przypisany właściwości localName
nowej instancji QName. Jeśli parametr posiada wartość undefined
lub nie został określony, tworzony jest nowy obiekt QName z właściwością localName
, której wartość zostaje ustawiona na pusty ciąg znaków.
Uwaga: Ta klasa zawiera dwa wpisy konstruktora, ponieważ każdy formularz wymaga różnych parametrów. Zachowanie konstruktora może być różne w zależności o typu i liczby przekazanych parametrów określonych w każdym wpisie. Język ActionScript 3.0 nie obsługuje przeciążania metod i konstruktorów.
Parametryqname:QName — Obiekt QName, który będzie kopiowany. Obiekty innego typu są konwertowane na ciąg znaków, który zostanie przypisany właściwości localName nowego obiektu QName.
|
QName | () | Konstruktor |
public function QName(uri:Namespace, localName:QName)
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Tworzy z obiektu Namespace obiekt QName z identyfikatorem URI, a także obiekt localName
z obiektu QName. Jeśli którykolwiek z tych dwóch parametrów nie jest zgodny z oczekiwanym typem danych, zostaje przekonwertowany na ciąg znaków i przypisany odpowiedniej właściwości obiektu QName. Na przykład, jeśli obydwa parametry to ciąg znaków, nowy obiekt QName jest zwracany z właściwością uri
ustawioną na pierwszy parametr, a właściwość localName
zostaje ustawiona na drugi parametr. Innymi słowy, poniższe permutacje (jak i wiele innych) stanowią poprawne formularze dla konstruktora:
QName (uri:Namespace, localName:String); QName (uri:String, localName: QName); QName (uri:String, localName: String);
Jeśli parametrowi uri
zostanie nadana wartość null
, właściwość uri
nowego obiektu QName zostanie ustawiona na wartość null
.
Uwaga: Ta klasa zawiera dwa wpisy konstruktora, ponieważ każdy formularz wymaga różnych parametrów. Zachowanie konstruktora może być różne w zależności o typu i liczby przekazanych parametrów określonych w każdym wpisie. Język ActionScript 3.0 nie obsługuje przeciążania metod i konstruktorów.
Parametryuri:Namespace — Obiekt Namespace, którego wartość uri będzie kopiowana. Dowolny parametr jest konwertowany na ciąg znaków.
| |
localName:QName — Obiekt QName, którego wartość localName będzie kopiowana. Parametr dowolnego typu jest konwertowany na ciąg.
|
toString | () | metoda |
AS3 function toString():String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Zwraca ciąg złożony z identyfikatora URI oraz lokalnej nazwy obiektu QName, oddzielone znakami „::”.
Formularz zależy od właściwości uri
obiektu QName:
IfZwracauri
== ""toString
returnslocalName
else ifuri
== nulltoString
returns *::localName
elsetoString
returnsuri
::localName
String — Pełna nazwa w postaci ciągu znaków.
|
valueOf | () | metoda |
- Tworzenie instancji Namespace i wprowadzenie jej do konstruktora QName. Ten sposób umożliwia późniejsze wykorzystanie właściwości
Namespace.prefix
do innych celów. - Tworzenie instancji QName za pomocą prostego ciągu wartości dla parametru
uri
w konstruktorze QName.
Rezultaty zastosowania tego kodu:
- Określenie zmiennej XML o nazwie
rssXML
. - Utworzenie nowego obiektu Namespace z przedrostkiem
dc
. - Utworzenie nowego obiektu QName przy użyciu obiektu Namespace oraz nazwy lokalnej
creator
. - Wywołanie metody
showDescendants()
, która wykorzystuje metodęXML.descendants()
do pobrania instancji XMLList zawierającej wszystkie elementy potomne, której pełna nazwa jest zgodna z daną instancja QName. - Wyświetlenie pełnej nazwy i wartości tekstowej dla każdego elementu z listy za pomocą pętli
for each
. - Utworzenie kolejnego obiektu QName za pomocą ciągu wartości parametru
uri
i nazwy lokalnejdate
. - Ponowne wywołanie metody
showDescendants()
w celu wyświetlenia nazwy i wartości tekstowej elementów podrzędnych.
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, 12:06 PM Z