Руководство по actionscript. часть 2, стр. 152
Public function doSomething ( ):void { // Это допустимо
namespace n = «http://www. example. eom/n»; trace(n: .-someVariable) ;
}
Определения пространств имен на уровне функции используются только в редких случаях, когда функция не может обратиться к пространству имен, которое временно требуется для этой функции, напрямую, при этом идентификатор URI пространства имен известен. Например, функция, которая обрабатывает фрагмент XML-документа, содержащего уточненные имена элементов, может использовать код, похожий на следующий:
public function getPrice ( ):void { namespace htmlNS = «http://www. w3.org/1999/xhtml»; output. text = htmlNS::table. htmlNS::tr[l].htmlNS::td[l].price;
}
Пространства имен XML будут рассматриваться в гл. 18.
Видимость уточненных идентификаторов
Наверняка вы заметили, что в этой книге определения уточненных идентификаторов не включают модификаторы управления доступом (public, internal, protected или private). Мы видели достаточно много таких определений:
fruit var orange:String = «Round citrus fruit»:
Однако ни одного такого (обратите внимание на присутствие модификатора управления доступом private):
private fruit var orange:String = «Round citrus fruit»;
По понятной причине нельзя использовать модификаторы управления доступом в определениях, которые включают уточняющее пространство имен. Например, следующий код:
private, fruit var orange:String;
вызовет ошибку:
Access specifiers not allowed with namespace attributes
На русском языке она будет звучать так: Использование спецификаторов вместе с атрибутами пространства имен недопустимо.