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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Что такое 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 - описания пропускать.

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



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