Пространство имен по умолчанию
Считается, задаваемое относится к тому элементу, где оно декларировано (если этот элемент не имеет ), а также ко всем элементам в содержимом этого элемента, не имеющим префикса. Если поле ссылки 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> </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> |