Пространства имен
Понятие “пространство имен” чрезвычайно важно в программировании. Оно является основой объектно-ориентированного подхода. В ActionScript роль пространств имен выполняют объекты. В чем же польза от разделения глобальной области видимости на отдельные “комнаты”? Она огромна. При этом снижается риск конфликта идентификаторов, повышается читабельность программы, появляется возможность ее сборки из отдельных модулей.
Пространства имен есть и в XML. Исполняют они в нем практически ту же роль, что и в языках программирования. Чаще всего пространства имен применяются для объединения группы связанных по смыслу или назначению узлов, что упрощает обработку сложных XML-документов при помощи программного обеспечения.
Чтобы выделить некоторый элемент (это может быть узел или атрибут) в определенное пространство имен, перед его именем следует ввести соответствующий пространству имен префикс. Префикс отделяется от имени при помощи двоеточия. Например:
<new:text>Привет</new:text>
Префикс может быть любым. Единственное, в него не должны входить зарезервированные символы, двоеточие, а также нельзя использовать в качестве префикса “xml” (это сочетание служебное). Сами по себе префиксы еще не выделяют элемент в конкретное пространство имен. Для этого нужно явно указать, что префикс соответствует стандартной URI пространства. Обычно в качестве URI, идентифицирующей пространство имен, используется ссылка на документ, в котором описываются особенности данного XML-формата. Однако это совсем не правило: в принципе, в качестве URI может выступать любая строка.
Чтобы связать префикс с URI пространства имен, следует в теге, который является родительским для подлежащих группированию элементов, задать атрибут xmlns по следующей схеме: xmlns:prefix=”URI”. Например:
<doc xmlns:new=”http://www.mysite.ru/my_xml_format.html”>
<new:text>Привет</new:text>
</doc>
На первый взгляд не совсем ясно, зачем нужны префиксы, если реальным идентификатором пространства имен является URI. Дело в том, что в качестве URI обычно используется гиперссылка, в которую могут входить недопустимые в именах XML символы. Кроме того, URI – это обычно довольно длинная строка, поэтому ее применение в качестве префикса чревато потерей читабельности и увеличением размера документа.
|