Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 022
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 071
  • 07.10.2010">Подбор цветовой палитры с помощью web — сервиса Adobe Kuler
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 029
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 005
  • 06.04.2010">Интересные заметки за январь
  • 13.11.2011">Делаем iPad в Фотошопе
  • 13.11.2012">Китай снял блокаду сервисов Google
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.158
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.143
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.14
  • 09.10.2010">Разница между растровым и векторным изображением
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 106
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 071
  • 26.07.2010">Функциональная навигация
Опрос

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

View Results

Loading ... Loading ...