Пакет | Верхний уровень |
Класс | public final class QName |
Наследование | QName Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
null
, объект QName совпадает с любым пространством имен. Создайте с помощью конструктора QName новый объект QName, который либо является копией другого объекта QName либо представляет собой новый объект QName, для которого параметр uri
берется из объекта Namespace, а параметр localName
- из объекта QName.
Применяя методы, относящиеся к E4X, можно использовать поочередно строки и объекты QName. Методы E4X представлены в классах QName, Namespace, XML и XMLList. Эти методы принимают как строки, так и объекты QName. Эта взаимозаменяемость проявляется, например, в том, как поддержка пространства имен обрабатывает метод XML.child()
.
В классе QName (а также в классах XML, XMLList и Namespace) реализованы мощные стандарты обработки XML, определенные в языке ECMAScript для спецификации XML E4X (ECMA-357, второе издание).
Результаты оценки с помощью классифицированного идентификатора записываются в объект QName. Если объект QName элемента XML задается без указания пространства имен, свойству uri
связанного объекта QName присваивается значение глобального пространства имен по умолчанию. Если объект QName атрибута XML задается без указания пространства имен, свойству uri
присваивается пустая строка.
Дополнительно
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
localName : String [только для чтения]
Локальное имя объекта QName. | QName | ||
uri : String [только для чтения]
Унифицированный идентификатор ресурса (URI-адрес) объекта QName. | QName |
Метод | Определено | ||
---|---|---|---|
Создает объект QName, который является копией другого объекта QName. | QName | ||
Создает объект QName с URI из объекта Namespace и свойством localName из объекта QName. | QName | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строку, составленную из URI и локального имени для объекта QName, разделенных символами «::». | QName | ||
Возвращает объект QName. | QName |
localName | свойство |
uri | свойство |
QName | () | Конструктор |
public function QName(qname:QName)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает объект QName, который является копией другого объекта QName. Если переданный конструктору параметр является объектом QName, создается копия объекта QName. Если параметр не является объектом QName, то он преобразуется в строку и присваивается свойству localName
нового экземпляра QName. Если параметр undefined
(не определен) или не указан, создается новый объект QName, где для свойства localName
выбрана пустая строка.
Примечание. В этом классе показаны две записи конструктора, поскольку каждая из них поддерживает разные параметры. Режим работы конструктора меняется в зависимости от типа и количества переданных параметров (см. описание в записях). ActionScript 3.0 не поддерживает переопределение метода или конструктора.
Параметрыqname:QName — Копируемый объект QName. Объекты других типов преобразуются в строки, которые присваиваются свойству localName нового объекта QName.
|
QName | () | Конструктор |
public function QName(uri:Namespace, localName:QName)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает объект QName с URI из объекта Namespace и свойством localName
из объекта QName. Если любой из параметров не относится к ожидаемому типу данных, то он преобразуется в строку и присваивается соответствующему свойству нового объекта QName. Например, если оба параметра представляют собой строки, возвращается новый объект QName. При этом свойство uri
устанавливается для первого параметра, а свойство localName
— для второго параметра. Иными словами, следующие перестановки наряду со многими другими являются действительными формами конструктора:
QName (uri:Namespace, localName:String); QName (uri:String, localName: QName); QName (uri:String, localName: String);
Если значение null
передается для параметра uri
, свойство uri
нового объекта QName получает значение null
.
Примечание. В этом классе показаны две записи конструктора, поскольку каждая из них поддерживает разные параметры. Режим работы конструктора меняется в зависимости от типа и количества переданных параметров (см. описание в записях). ActionScript 3.0 не поддерживает переопределение метода или конструктора.
Параметрыuri:Namespace — Объект Namespace, из которого копируется значение uri . Параметр любого другого типа преобразуется в строку.
| |
localName:QName — Объект QName, из которого копируется значение localName . Параметр любого другого типа преобразуется в строку.
|
toString | () | метод |
AS3 function toString():String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает строку, составленную из URI и локального имени для объекта QName, разделенных символами «::».
Формат зависит от свойства uri
объекта QName:
IfВозвращаетuri
== ""toString
returnslocalName
else ifuri
== nulltoString
returns *::localName
elsetoString
returnsuri
::localName
String — Полное имя в виде строки.
|
valueOf | () | метод |
- Создание экземпляра пространства имен и последующее использование его в качестве входных данных для конструктора QName. Этот подход является наилучшим, если необходимо позднее воспользоваться свойством
Namespace.prefix
в других целях. - Создание экземпляра QName с помощью простого строчного значения параметра
uri
в конструкторе QName.
Этот код выполняет следующие функции:
- Определяет переменную XML с именем
rssXML
. - Создает новый объект Namespace с префиксом
dc
. - Создает новый объект QName с помощью объекта Namespace, которому присваивается локальное имя
creator
. - Вызывает метод
showDescendants()
, использующий методXML.descendants()
для получения экземпляра XMLList, в котором содержатся все элементы-потомки, классифицированное имя которых соответствует данному экземпляру QName. - Показывает классифицированное имя и текстовое значение каждого элемента в списке с помощью цикла
for each
. - Создает еще один объект QName, применяя строковое значение параметра
uri
и локальное имяdate
. - Снова вызывает метод
showDescendants()
для показа имени и текстового значения элементов-потомков.
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, 11:34 AM Z