Руководство по actionscript. часть 3, стр. 067

Для обращения к уточненным пространствам имен элементам и атрибутам из листинга 18.14 мы должны сначала получить ссылку на используемые пространства имен. Чтобы получить ссылку на пространство http: / /www. example. com/ furniture, мы вызываем метод экземпляра namespace ( ) класса XML над корневым узлом документа, передавая в качестве аргумента префикс «shop». В результате метод namespace ( ) возвращает объект Namespace, представляющий пространство имен http://www. example. com/furniture. Мы присваиваем этот объект переменной shopNS для дальнейшего использования, var shopNS:Namespace = catalog. namespaceCshop»);

В качестве альтернативы, если известен идентификатор URI пространства имен, можно создать ссылку на объект Namespace, используя конструктор одноименного класса:

var shopNS:Namespace = new Namespace(«http://www. example. com/furniture»):

Чтобы получить ссылку на пространство имен, используемое по умолчанию, мы вызываем метод namespace ( ) над корневым узлом документа, не передавая префикс пространства имен:

var htmlNS:Namespace = catalog. namespace( ):

В качестве альтернативы, если известен идентификатор URI пространства имен, мы можем создать ссылку на объект Namespace, используемый по умолчанию, с помощью конструктора одноименного класса:

var htmlNS:Namespace = new Namespace(«http://www. w3.org/1999/xhtml»);

Для обращения к пространствам имен документа могут использоваться и методы inScopeNamespaces ( ) и namespaceDeclarations ( ). Дополнительную информацию можно найти в справочнике по языку ActionScript корпорации Adobe.

В расширении Е4Х атрибуты пространств имен XML не представляются в виде атрибутов (то есть к ним нельзя обратиться с помощью метода attributesC) или выражения некийЭлемент.®*). Вместо этого для обращения к объявлениям пространств имен элемента применяется метод экземпляра namespaceDeclarations() класса XML.

Теперь, когда у нас есть ссылка на объект Namespace, мы можем обращаться к уточненным пространством имен элементам и атрибутам, используя уточненные имена в следующем общем формате:

пространствоИмен::локальноеИмяЭлемента пространствоИмен::$локальноеИмяАтрибута

Например, вот так записывается уточненное имя элемента в коде на языке ActionScript:

shopNS::price

Обратите внимание на использование оператора уточнителя имени (: :), который отделяет имя пространства имен от локального имени.

Вот так можно обратиться к элементу , который уточняется пространством имен по умолчанию (http: / /www. w3 . org/1999/xhtml):

catalog. htmlNS::body

Для обращения к элементу, который является ребенком элемента , используется следующая запись:

catalog. htmlNS::body. shopNS::table

Для обращения к атрибуту shop: id используется такая запись:

catalog. htmlNS::body. shopNS::table.@shopNS::id

Для обращения к элементу мы можем использовать следующий «кошмарный» код:

catalog. htmlNS::body. shopNS: -.table. htmlNS::table. htmlNS: :tr[ 1].htmlNS::td[l].shopNS::price

Однако мы будем спать спокойнее, если воспользуемся преимуществом оператора «потомок» (. .) в двух местах, как показано в следующем коде:

catalog. .shopNS: -.table. .shopNS: :price

И все равно повторное использование shopNS: : слегка раздражает. Мы можем избежать нескольких лишних нажатий клавиш, попросив язык ActionScript автоматически уточнять все неуточненные имена элементов и атрибутов с помощью

выбранного пространства имен. Для этого мы используем инструкцию назначения пространства имен XML по умолчанию, которая имеет следующий вид:

default xml namespace = пространствоИменИлиСтрокаиЙ1

Например, следующий код заставляет язык ActionScript автоматически уточнять все неуточненные имена элементов и атрибутов с помощью пространства имен http://www. example. com/furniture:

default xml namespace = shopNS;

После выполнения этой инструкции пространство имен http: / / www. example. com/ furniture применяется ко всем неуточненным ссылкам на элементы и атрибуты, поэтому мы можем сократить следующий код:

catalog..shopNS::table..shopNS::price

до записи:

catalog..table..price

» «|СяР Из»за ошибки в приложении Flash Player 9 при выполнении предыдущего примера кода 1—1 (catalog..table..price) в первый раз возвращается значение undefined.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 102
  • 09.06.2011">Acer выпустит маленький ноутбук-трансформер
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 103
  • 23.08.2011">ACER Ferrari ONE 200
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.37
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.112
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 104
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 067
  • 02.04.2012">Хакеры LulzSec Reborn рассказали о планах на будущее
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 130
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 084
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 069
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 014
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 022
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 126
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...