Документация / XML
Пространства имён
Пространства имён (Namespaces in XML) позволяют смешивать в одном документе элементы из разных форматов
без конфликтов имён. Например, table в XHTML — таблица, а в формате мебельного каталога — стол. Пространство имён
идентифицируется URI — обычно адресом, который принадлежит автору формата. Это просто уникальная строка:
по ней ничего не скачивается.
Префиксы
Пространство имён привязывается к префиксу атрибутом xmlns:префикс. Префикс действует в элементе, где
объявлен, и во всех вложенных; имя с префиксом (inv:total) называется квалифицированным.
<?xml version="1.0" encoding="UTF-8"?>
<inv:invoice xmlns:inv="http://example.com/invoice"
xmlns:addr="http://example.com/address">
<inv:number>INV-15</inv:number>
<addr:address>
<addr:city>Москва</addr:city>
</addr:address>
<inv:total>15000.00</inv:total>
</inv:invoice>
Для программы важен не префикс, а пространство имён: inv:number и i:number при xmlns:i, указывающем на тот же
URI, — одно и то же имя.
Пространство имён по умолчанию
xmlns="URI" задаёт пространство имён для элементов без префикса — в этом элементе и вложенных. Так документы
выглядят проще:
<?xml version="1.0" encoding="UTF-8"?>
<invoice xmlns="http://example.com/invoice">
<number>INV-15</number>
<total>15000.00</total>
</invoice>
Объявление xmlns="" отменяет пространство по умолчанию для вложенных элементов.
Атрибуты и пространства имён
Атрибуты без префикса не попадают в пространство имён по умолчанию: они принадлежат своему элементу. Атрибуты
с префиксом (xsi:schemaLocation, xml:lang) относятся к пространству своего префикса — это «глобальные» атрибуты,
которые можно добавлять к элементам любых форматов.
Зарезервированные префиксы
xmlвсегда связан сhttp://www.w3.org/XML/1998/namespace, объявлять его не нужно.xmlnsиспользуется только для объявлений.
Частые пространства имён
| Префикс | URI | Формат |
|---|---|---|
xs / xsd | http://www.w3.org/2001/XMLSchema | XML Schema |
xsi | http://www.w3.org/2001/XMLSchema-instance | Атрибуты связи документа со схемой |
wsdl | http://schemas.xmlsoap.org/wsdl/ | WSDL 1.1 |
soap | http://schemas.xmlsoap.org/wsdl/soap/ | Привязка SOAP 1.1 в WSDL |
soapenv | http://schemas.xmlsoap.org/soap/envelope/ | Конверт SOAP 1.1 |
bpmn | http://www.omg.org/spec/BPMN/20100524/MODEL | BPMN 2.0 |
Советы
- Объявляйте все пространства имён в корневом элементе — так документ легче читать.
- Не полагайтесь на конкретные префиксы при обработке XML: сравнивайте URI.
- Используйте в качестве URI адрес, который вы контролируете, и включайте в него версию формата:
https://example.com/schemas/order/v2.
Похожие инструменты
Обновлено: 30 сентября 2026 г.
