П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 182378 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 81843 раз(а).

Учебник HTML.
Просмотров 76894 раз(а).

Руководство по PHP5.
Просмотров 47870 раз(а).

Хостинг через призму DNS.
Просмотров 55474 раз(а).

Подборка текстов стандартных документов.
Просмотров 47345 раз(а).

Учебник PHP - Самоучитель
Просмотров 53824 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 54529 раз(а).

Внешние атаки...
Просмотров 44129 раз(а).

Учебник PHP.
Просмотров 39454 раз(а).

SSI в примерах.
Просмотров 29326 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Что такое Namespaces?

   Как уже упоминалось ранее, вся прелесть использования XML заключается в возможности придумывания собственных тэгов, названия которых наиболее полно соответствовали бы предназначению. Но фантазия и словарный запас людей не безграничны, поэтому нет абсолютно никакой гарантии того, что данные вами имена элементов не будут использованы кем-то еще. До тех пор, пока в вашем приложении обрабатываются только собственные XML-документы, никаких проблем не возникнет. Но вполне возможна ситуация, когда один и тот же документ будет содержать информацию для нескольких обработчиков одновременно. В этом случае названия некоторых элементов или их атрибутов могут совпасть, что вызовет либо ошибку в XML- анализаторе, либо неправильное представление документа. Например, в нашем случае, элемент event вполне мог бы быть использован для записи других событий и обрабатываться другим приложением.

   Чтобы исправить эту ситуацию, мы должны определить уникальные названия элементов и их атрибутов, "дописывая" к их обычным именам некоторый универсальный неповторяющийся префикс. Для этого применяется механизм Namespaces (спецификация Namespaces была официально утверждена W3C в январе 1999 года и сегодня является частью стандарта XML). Согласно этой спецификации, для определения "области действия" тэга ( на самом деле этот термин, широко используемый в обычных языках программирования, неприменим в XML, потому что как такового множества, на котором могла бы быть построена "область", внутри структурированного XML документа нет) необходимо определить уникальный атрибут, описывающий название элемента, по которому анализатор документа сможет определить, к какой группе имен оно относится (Namespace идентификаторы могут применяться для описания уникальных названий как элементов, так и их атрибутов). В нашем последнем примере это может быть сделано так:

   <?xml version="1.0" encoding="koi8-r"?>

   <!--DOCTYPE log SYSTEM "log.dtd"-->

   <log xmlns:xlg="www.mrcpk.nstu.ru/xml/ar/4/">

    <xlg:event xlg:date=" 27/May/1999:02:32:46 " xlg:result="success">

    <ip-from> 195.151.62.18 </ip-from>

    <method>GET</method>

    <url-to> /misc/</url-to>

    <response>200</response>

   </event>

    <xlg:event date=" 27/May/1999:02:41:47 " result="success">

    <ip-from> 195.209.248.12 </ip-from>

    <method>GET</method>

    <url-to> /soft.htm</url-to>

    <response>200</response>

   </event>

    </log>

   

   Уникальность атрибуту имени обеспечивает использование в качестве его значения некоторых универсальных идентификаторов ресурсов (например, URI или ISBN) .

   Полную информацию по использованию Namespace вы можете найти в официальной спецификации этого стандарта. В дальнейшем, для упрощения примеров, мы будем Namespace - описания пропускать.

[Назад] [Содержание] [Вперед]



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: