XML - статьи

         

Пространство имен по умолчанию


Считается, задаваемое относится к тому элементу, где оно декларировано (если этот элемент не имеет ), а также ко всем элементам в содержимом этого элемента, не имеющим префикса. Если поле ссылки URI в декларации пространства имен по умолчанию оказалось пустым, считается, что все элементы без префиксов в области видимости этой декларации вообще не принадлежат ни одному пространству имен. Заметим, что пространства имен, задаваемые по умолчанию, непосредственно на атрибуты не распространяются.

<?xml version="1.0"?>

<!-- в данном случае элементы по умолчанию относятся к пространству имен HTML -->

<html xmlns='http://www.w3.org/TR/REC-html40'>

  <head><title>Frobnostication</title></head>

  <body><p>Moved to 

    <a href='http://frob.com'>here</a>.</p></body>

</html>

<?xml version="1.0"?>

<!-- типы элементов без префикса из "books" -->



<book xmlns='urn:loc.gov:books'

      xmlns:isbn='urn:ISBN:0-395-36341-6'>

    <title>Cheaper by the Dozen</title>

    <isbn:number>1568491379</isbn:number>

</book>

Более развернутый пример, показывающий область действия пространства имен:

<?xml version="1.0"?>

<!-- первоначально по умолчанию используется пространство имен "books" -->

<book xmlns='urn:loc.gov:books'

      xmlns:isbn='urn:ISBN:0-395-36341-6'>

    <title>Cheaper by the Dozen</title>

    <isbn:number>1568491379</isbn:number>

    <notes>

      <!-- для отдельного комментария пространством имен,

           используемым по умолчанию, сделать HTML -->

      <p xmlns='urn:w3-org-ns:HTML'>

          This is a <i>funny</i> book!

      </p>
    </notes>

</book>

<
Пространство имен по умолчанию может быть задано пустой строкой. Это будет иметь тот же самый эффект, словно в пределах видимости этой декларации пространства имен, используемого по умолчанию, вообще не было декларировано.

<?xml version='1.0'?>

<Beers>

  <!-- здесь по умолчанию используется пространство имен HTML -->

  <table xmlns='http://www.w3.org/TR/REC-html40'>

   <th><td>Name</td><td>Origin</td><td>Description</td></th>

   <tr> 

     <!-- внутри ячеек таблицы нет пространства имен,

          используемого по умолчанию -->

     <td><brandName xmlns="">Huntsman</brandName></td>

     <td><origin xmlns="">Bath, UK</origin></td>

     <td>

       <details xmlns=""><class>Bitter</class><hop>Fuggles</hop>

         <pro>Wonderful hop, light alcohol, good summer beer</pro>

         <con>Fragile; excessive variance pub to pub</con>

         </details>

        </td>

      </tr>

    </table>

  </Beers>

Содержание раздела