Этот документ является не официальным переводом исходнойанглийской версии. Обратите внимание на то, что оригинальная версия документа существуеттолько на английском языке. Может содержать неточности и ошибки. ©Зайцев Дмитрий, 2011. При поддержке сайтаlatex pillows. Комментарии к переводу оставляйтездесь! | |На главную
Пожалуйста, обратитесь к страницеисправлений этого документа, которая может включать в себя нормативные изменения.
См. такжепереводы.
Copyright © 2006 W3C® (MIT,ERCIM,Keio), Все права защищены. W3C придерживается правилответственности,торговой марки ииспользования документов
Пространства имен XML обеспечивают простую методику получения имен элементов и атрибутов имен, используемых в документах использующих расширяемый язык разметки, ассоциируя их с пространствами имен определенными ссылкамиIRI.
Этот раздел описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться виндексе технических докладов W3Cна http://www.w3.org/TR/.
Этот документ был подготовленРабочей Группой XML Coreв рамкахдеятельности W3C XML.Английская версия этой спецификации является единственной нормативной версией. Тем не менее, переводы данного документа см.http://www.w3.org/2003/03/Translations/byTechnology?technology=xml-names-11.
Известные реализации описаны вдокладе о реализациях Пространства имен 1.1(все известные реализации Пространства имен 1.1 также поддерживают Пространства имен 1.0).Также доступны наборы тестов на страницеXML Test Suite.
Это второе издание включает в себя все известные исправления по состоянию на дату публикации.Оно заменяет предыдущуюРекомендацию W3C от 4 февраля 2004.Для удобства читателей, также предоставляетсяXHTML версия с разноцветным пересмотром показателей.
Пожалуйста, сообщите об ошибках в данном документе[email protected];по ссылке, доступны публичныеархивы. Ознакомиться со списком исправлений для этого документа можно наhttp://www.w3.org/XML/2006/xml-names11-errata.
Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными сторонами, иодобрен Директором в качестве Рекомендации W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитат в другом документе. Роль W3C в разработке Рекомендации, заключается в привлечении внимания к спецификации, и способствовать ее широкому распространению. Это повышает функциональность и совместимость в Веб(Web).
Этот документ руководствуется24 Января 2002 CPPс поправками, внесенными в соответствииПереходной Процедурой Патентной Политики.W3C поддерживаетпубличный список открытых патентов,сделанный в связи с результатами деятельности группы; эта страница также включает в себя инструкции по раскрытию патента.Лица, обладающие актуальной информацией о патенте, который удовлетворяетосновным требованиям,должны раскрыть эту информацию согласнопункту 6 патентной политики W3C.
1Мотивация и Резюме
1.1Примечание к Обозначению и Использованию
2Пространства имен XML
2.1Основные Понятия
2.2Использование IRI, как названия пространства имен
2.3Сравнение характеристик IRI
3Объявление Пространства имен
4Полные имена
5Использование полных имен
6Применение пространств имен для элементов и атрибутов
6.1Пространства имен, область действий
6.2Пространства имен по умолчанию
6.3Уникальность атрибутов
7Соответствия документов
8Соответствия процессоров
AНормативные документы
BДругие документы (ненормативные)
CВнутренняя структура пространства имен XML (ненормативное)
DИзменения по сравнению с версией 1.0 (ненормативное)
D.1Изменения по сравнению с версией 1.1
EБлагодарности (ненормативное)
Мы предполагаем, что применение расширяемого языка разметки (XML), где один документ XML может содержать элементы и атрибуты (здесь называемый "словарь разметки"), которые определены и используются несколькими программными модулями.Причина возникновения для этого является модульность: если такой словарь разметки существует, который в свою очередь хорошо понимает и для которого есть полезное программное обеспечение,в таком случае, эту разметку лучше использовать повторно, чем изобретать ее для новой обработки.
Такие документы, содержащие несколько словарей разметки, создают проблемы распознавания и коллизии. Программные модули должны быть в состоянии распознавать элементы и атрибуты, которые предназначены для обработки, даже в условиях "коллизий", возникающих при использовании того жеимени или атрибута разметкой, которая предназначена для другого программного пакета.
Эти соображения накладывают требования, чтобы конструкции документа имели имена, построенные таким образом, чтобы избежать столкновений между именами из разных словарей разметки.В данной спецификации описывается механизмпространства имен XML, который решает эту задачу путем назначениярасширенных имен элементов и атрибутов.
В тех местах, где встречаютсяВЫДЕЛЕННЫЕ, ключевые словаДОЛЖЕН,НЕ ДОЛЖЕН,НЕОБХОДИМО,СЛЕДУЕТ,НЕ СЛЕДУЕТ,ВЕРОЯТНО,в этом документе должны интерпретироваться, как описано в[Ключевые слова].
Обратите внимание, что нетерминальные конструкции в данной спецификации определяются не здесь, а в спецификации XML[XML]. Когда нетерминальные конструкции определенные здесь имеют такие же имена, как нетерминалы определенные в спецификации XML, тогда сценарии, использованные здесь, во всех случаях будут подмножеством строк, которые соответствуют сценарию там.
В сценариях этого документа аббревиатураNSC
, обозначающая "Ограничение пространства Имен" ("Namespace Constraint"), это одно из правил, которомуДОЛЖНЫ следовать документы соответствующие этой спецификации.
[Определение:Пространство имен XML идентифицируется ссылкой IRI[RFC3987];имена элементов и атрибутов могут быть помещены в пространство имен XML с помощью механизмов, описанных в этой спецификации.]
[Определение:Расширенное имя это пара, состоящая изимени пространства именилокального имени.][Определение: Для имениN в пространстве имен определенном с помощьюIRIкакI,Именем пространства именбудетI. Для имениN которое не находится в пространстве имен,имя пространства имен будет не определено.][Определение: В любом из случаевлокальным именембудетN.]Именно это сочетание из универсально управляемых IRI пространства имен с локальными именами лексики, является эффективным в предотвращении конфликтов имен.
IRIссылки могут содержать символы не допустимые в именах, и очень часто слишком длинные,поэтому расширенные имена не используются непосредственно для названия элементов и атрибутов в XML-документах.Вместо этого используютсяполные имена.[Определение:Полное имя это имя субъекта в интерпретации пространства имен.]В документах, соответствующих данной спецификации, имена элементов и атрибутов отображаются как полные имена.Синтаксически, они являют собойпрефиксные имена илибезпрефиксные имена.Описание синтаксиса на основании атрибутов обеспечивает связь префиксов пространства имен и связь пространства имен по умолчанию, которое применяется к безпрефиксным именам элементов; эти описания находятся в области видимости элементами, на которых они появляются,так что разные привязки могут применяться в различных частях документа.Процессоры соответствующие данной спецификации,ДОЛЖНЫопознать и действовать на основании этих описаний и префиксов.
Пустая строка, хотя это и законная ссылкаIRI, не может быть использована как имя пространства имен.
Использование относительных ссылокIRI, включая ссылки того же документа, в объявлениях пространств имен, является устаревшим.
Примечание:
Это неодобрение относительных ссылок URI было принято наПленарном голосовании W3C XML (W3C XML Plenary Ballot)[неодобрение относительных ссылок URI]. В нем также заявлено, что"последующие характеристики, такие как DOM, XPath, и прочие будут определять без расшифровки к ним".
IRI ссылки, идентифицируя пространства имен, сравнивают при определении, имя на принадлежность к данному пространству имен, и относятся ли два имени к одному и тому же пространству имен.[Определение: Две ссылкиIRIрассматриваются как строки, и они считаютсяидентичными только в том случае, если эти строки идентичны, то есть, они имеют одинаковую последовательность символов.]Сравнение происходит с учетом регистра символов, и без выполненного или невыполненного %-маскирования.
Следствием этого является то, чтоIRIссылки, которые не являются идентичными в этом смысле, могут быть отнесены к одному и тому же ресурсу. Примеры включают в себя ссылкиIRI, которые отличаются только регистром, %-маскированием или когда ссылки находятся во внешних объектах, которые имеют различные базовые URI (но учтите, что относительныеIRI являются устаревшими, как названия пространства имен).
В декларации пространства имен, ссылкаIRIявляетсянормированным значениематрибута, поэтому замена символа XML и ссылки на объекты были уже сделаны ранее, перед всеми сравнениями.
Примеры:
СсылкиIRI,представленные ниже, все различные для идентификации пространств имен, так как они отличаются регистром:
http://www.example.org/wine
http://www.Example.org/wine
http://www.example.org/Wine
IRI ссылки, представленные ниже, также все различны для идентификации пространств имен:
http://www.example.org/rosé
http://www.example.org/ros%c3%a9
http://www.example.org/ros%c3%A9
http://www.example.org/ros%C3%a9
http://www.example.org/ros%C3%A9
Как и этот пример:
http://www.example.org/~wilbur
http://www.example.org/%7ewilbur
http://www.example.org/%7Ewilbur
Если объект с именемeacute был определен какé,то ниже, при объявлении пространств имен, начало тегов содержат обязательный префиксp на туже самую ссылку IRI,http://example.org/rosé
.
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
<p:foo xmlns:p="http://example.org/rosé">
Из-за риска путаницы междуIRI, которые будут эквивалентны при разыменовании, использование %-маскированных символов в именах пространства имен настоятельно не рекомендуется.
[Определение: Пространство имен(или если точнее, обязательное пространство имен)объявляется с помощью семейства зарезервированных атрибутов.Такое имя атрибута должно быть либоxmlns или начаться сxmlns:.Эти атрибуты, как и любые другие XML-атрибуты, могут быть представлены непосредственно или бытьпо умолчанию.]
[1] | NSAttName | ::= | PrefixedAttName | |
|DefaultAttName | ||||
[2] | PrefixedAttName | ::= | 'xmlns:'NCName | [NSC: Зарезервированные префиксы и названия пространства имен] |
[3] | DefaultAttName | ::= | 'xmlns' | |
[4] | NCName | ::= | NCNameStartCharNCNameChar* | /*Имя XML за вычетом ":" */ |
[5] | NCNameChar | ::= | NameChar- ':' | |
[6] | NCNameStartChar | ::= | NameStartChar- ':' |
Нормализованное значение атрибутаДОЛЖНОбыть либо ссылкойIRI —название пространства именопределяет пространство имен —или пустой строкой.Имя пространства имен, служит по прямому своему назначению и емуСЛЕДУЕТиметь характеристики уникальности и постоянства.Это не основная цель, которая будет непосредственно использоваться для поиска схемы отображения (если таковая существует). Uniform Resource Names[RFC2141] является примером синтаксиса, который разработан с учетом этих целей.Однако следует отметить, что обычными URL-адресами можно управлять точно таким образом, чтобы достичь этих же целей.
[Определение: Еслиимя атрибута соответствуетPrefixedAttName,в таком случае,NCName даетпрефикс пространства имен, используемый для связывания имен элементов и атрибутов с указанным в значении атрибутаименем пространства имен в пределах элемента, где эта декларация была подана.]
[Определение: Если имя атрибута соответствуетDefaultAttName,в таком случае, указанное в значении атрибутаимя пространства имен в области видимости элемента, где эта декларация была подана,становитсяпространством имен по умолчанию.]Пространства имен по умолчанию и переопределение деклараций обсуждаются в6 Применение пространства имен к элементам и атрибутам.
Пример декларации пространства имен, который связывает префикс пространства именedi с названием пространства именhttp://ecommerce.example.org/schema
:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- "edi" префикс связан с http://ecommerce.example.org/schema для элемента "x" и его содержимого --></x>
Ограничения для пространства имен: Защищенные префиксы и названия пространств имен
Префиксxml, по определению, связан с названием пространства именhttp://www.w3.org/XML/1998/namespace
. ОнМОЖЕТ,но в этом нет необходимости, быть объявлен, иНЕ ДОЛЖЕНбытьотменен илисвязан с любым другим названием пространства имен. Другие префиксыНЕ ДОЛЖНЫбыть связаны с этим названием пространства имен,и онНЕ ДОЛЖЕНбыть декларирован как пространство имен по умолчанию.
Префиксxmlns служит только для декларирования привязок пространства имен и, по определению, связан с названием пространства именhttp://www.w3.org/2000/xmlns/
. ОнНЕ ДОЛЖЕНбыть объявленили не объявлен.Другие префиксыНЕ ДОЛЖНЫбыть связаны с этим названием пространства имен,и онНЕ ДОЛЖЕНбыть объявлен как пространство имен по умолчанию.Имена элементовНЕ ДОЛЖНЫиметь префиксxmlns
.
Все остальные префиксы, начинающиеся с трех букв x, m, l,в любых комбинациях, зарезервированы. Это означает, что:
пользователямНЕ СЛЕДУЕТ использовать их, за исключением, случаев определенных в последующих спецификациях
процессорыНЕ ДОЛЖНЫрассматривать их как фатальные ошибки.
Хотя сами они не зарезервированы, нецелесообразно использовать имена префиксов, локальная часть(LocalPart) которых начинается с букв x, m, l, в любых комбинациях, так какэти имена будут зарезервированы, если использовать их без префикса.
В документах XMLсоответствующих данной спецификации, некоторые имена(конструкции, которые соответствуют нетерминальномуName)ДОЛЖНЫбыть переданы какполные имена,которые определяются следующим образом:
[7] | QName | ::= | PrefixedName |
|UnprefixedName | |||
[8] | PrefixedName | ::= | Prefix ':'LocalPart |
[9] | UnprefixedName | ::= | LocalPart |
[10] | Prefix | ::= | NCName |
[11] | LocalPart | ::= | NCName |
ПолеPrefix определяет из части полного именипрефикс пространства имен, иДОЛЖЕНбыть связан со ссылкойIRI указанной вдекларации пространства имен.[Определение: ПолеLocalPart определяетлокальную часть полного имени.]
Отметьте, что префикс используетсятолько для сохранения названия пространства имен.ПриложениямСЛЕДУЕТиспользовать только название пространства имен, а не префикс, при построении имен,область действия которых выходит за пределы первоначального документа.
В документах XML соответствующих данной спецификации,имена элементов указаны какполные имена, аименно:
[12] | STag | ::= | '<'QName (SAttribute)*S? '>' | [NSC: Декларированный Префикс] |
[13] | ETag | ::= | '</'QNameS? '>' | [NSC: Декларированный Префикс] |
[14] | EmptyElemTag | ::= | '<'QName (SAttribute)*S? '/>' | [NSC: Декларированный Префикс] |
Пример использования полного имени, выступающего в качестве имени элемента:
<!-- пространство имен элемента 'price' является http://ecommerce.example.org/schema --> <edi:price xmlns:edi='http://ecommerce.example.org/schema' units='Euro'>32.18</edi:price>
Атрибуты либодекларируют пространства именили их имена указаны какполные имена:
[15] | Attribute | ::= | NSAttNameEqAttValue | |
|QNameEqAttValue | [NSC: Декларированный Префикс] |
Пример использования полного имени, в качестве имени атрибута:
<x xmlns:edi='http://ecommerce.example.org/schema'> <!-- пространство имен атрибута 'taxClass' - http://ecommerce.example.org/schema --> <lineItem edi:taxClass="exempt">Baby food</lineItem></x>
Ограничение пространства имен: Декларированный Префикс
Префикс пространства имен, за исключениемxml
илиxmlns
,ДОЛЖЕНбыть объявлен в атрибуте, которыйдекларирует пространство имен,в любом начальном теге элемента, где используется префикс или в том элементе, который является его предком (т.е. элемент, всодержании которого действуетпрефиксная разметка).Кроме того, внутри такой декларации, значение атрибутаНЕ ДОЛЖНОбытьпустой строкой.
Это ограничение может привести к эксплуатационным трудностям, когда атрибут, который декларирует пространство имен, не был представлен непосредственно всущности документа XML, но был декларирован во внешней сущности с помощью атрибута по умолчанию.Такие декларации не могут быть прочитаны программным обеспечением основанном на непроверяющем процессоре XML.Многие приложения XML, предположительно включая и те, которые зависят от пространства имен, не могут использоватьпроверяющие процессоры.Если требуется правильность работы с такими приложениями,декларации пространств именДОЛЖНЫбытьпредставлены или непосредственно или с помощью атрибутов по умолчанию, которые декларированыво внутреннем подмножестве DTD.
Имена элементов иимена атрибутов, также приводятся как полные имена, когда они появляются в декларациях вDTD:
[16] | doctypedecl | ::= | '<!DOCTYPE'SQName (SExternalID)?S? ('[' (markupdecl |PEReference |S)* ']'S?)? '>' |
[17] | elementdecl | ::= | '<!ELEMENT'SQNameScontentspecS? '>' |
[18] | cp | ::= | (QName |choice |seq) ('?' | '*' | '+')? |
[19] | Mixed | ::= | '('S? '#PCDATA'(S? '|'S?QName)*S? ')*' |
| '('S? '#PCDATA'S? ')' | |||
[20] | AttlistDecl | ::= | '<!ATTLIST'SQNameAttDef*S? '>' |
[21] | AttDef | ::= | S (QName |NSAttName)SAttTypeSDefaultDecl |
Обратите внимание, что проверка, основанная на DTD это не знакомое пространство имен в следующем смысле: DTD ограничивает элементы и атрибуты, которые могут появиться в документе по их неинтерпретированным именам, а не по (название пространства имен, локальное имя) парам.Чтобы проверить документ, который использует пространства имен в отношении DTD необходимо, чтобы префиксы, использованные в DTD, были такие же, как и документе.Однако DTD может косвенно ограничивать пространства имен, используемые в валидном документе, путем предоставления#FIXED
значений для атрибутов, которые декларируют пространства имен.
Область действий декларации пространства имен при декларировании префикса проходит от начала открывающего тега, в котором она появляется, до концасоответствующего закрывающего тега, за исключением области действий любых внутренних деклараций с таким же полем NSAttName.В случае если тег пустой, областью является сам тег.
Такая декларация пространства имен распространяется на все имена элементов и атрибутовв своей области действий, префиксы которых соответствуют тому, который указан в декларации.
Расширенное имясоответствующее префиксному элементу или имени атрибута имеет ссылкуIRI,в которойпрефикссвязан, как егоимя пространства имен,алокальная часть, как еголокальное имя.
<?xml version="1.1"?><html:html xmlns:html='http://www.w3.org/1999/xhtml'> <html:head><html:title>Frobnostication</html:title></html:head> <html:body><html:p>Moved to <html:a href='http://frob.example.com'>here.</html:a></html:p></html:body></html:html>
Несколько префиксов в пространстве имен могут быть объявлены, как атрибуты одного элемента, пример:
<?xml version="1.1"?><!-- оба префикса пространства имен доступны отовсюду --><bk:book xmlns:bk='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <bk:title>Cheaper by the Dozen</bk:title> <isbn:number>1568491379</isbn:number></bk:book>
Значение префикса в декларации пространства имен для префиксаМОЖЕТбыть пустым.Это эффективно, в рамках декларации, при устранении любых ассоциаций префикса с именем пространства имен.Дальнейшие декларацииМОГУТповторно объявить префикс снова:
<?xml version="1.1"?><x xmlns:n1="http://www.w3.org"> <n1:a/> <!-- верно; префикс n1 связан с http://www.w3.org --> <x xmlns:n1=""> <n1:a/> <!-- неверно; префикс n1, здесь, ни с чем не связан --><x xmlns:n1="http://www.w3.org"> <n1:a/> <!-- верно; префикс n1 снова определен --> </x> </x></x>
Область действий декларациипространства имен по умолчаниюпроходит от начала открывающего тега, в котором она появляется, до концасоответствующего закрывающего тега, за исключением области действий любых внутренних деклараций пространств по умолчанию.В том случае, когда тег пустой, областью становится сам тег.
Декларация пространства имен по умолчанию относится ко всем именам элементов без префиксав пределах своей области.Декларации пространств имен по умолчанию не относятся непосредственно к именам атрибутов;интерпретации атрибутов без префикса определяются элементом, в котором они возникают.
Если существует декларация пространства имен по умолчанию в области действий, тогдарасширенное имя,соответствующего имени элемента без префикса, имеетIRIизпространства имен по умолчаниюв качественазвания пространства имен.Если не существует декларации пространства имен по умолчанию в области действий, в таком случае,значение для названия пространства имен будет отсутствовать.Значение названия пространства имен для названия атрибута без префикса, всегда будет отсутствовать.Во всех случаях,локальное имя этолокальная часть области(которое, конечно же, как и само имя без префикса).
<?xml version="1.1"?><!-- элементы в пространстве имен HTML, в этом случае по умолчанию --><html xmlns='http://www.w3.org/1999/xhtml'> <head><title>Frobnostication</title></head> <body><p>Moved to <a href='http://frob.example.com'>here</a>.</p></body></html>
<?xml version="1.1"?><!-- типы элемента без префикса из пространства имен "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.1"?><!-- первоначальным пространством имен по умолчанию, является "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='http://www.w3.org/1999/xhtml'> This is a <i>funny</i> book! </p> </notes></book>
Значение атрибута в декларации пространства имен по умолчаниюМОЖЕТбыть пустым.Это будет иметь тот же эффект, как будто в пределах видимости этой декларации пространство имен по умолчанию, вообще не было задекларировано.
<?xml version='1.1'?><Beers> <!--внутри таблиц, по умолчанию пространством имен используется HTML --> <table xmlns='http://www.w3.org/1999/xhtml'> <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>
В документах XML соответствующих данной спецификации,нет тега, содержащего два атрибута, которые:
имеют одинаковые имена, или
имеют полные имена с одинаковойлокальной частью и спрефиксами связанными сименами пространства имен, которыеидентичны.
Это ограничение равносильно тому, что нет элемента имеющего два атрибута с одинаковымрасширенным именем.
Например, каждый изbad
тегов пустого элемента неправилен, в следующих тегах:
<!-- http://www.w3.org связано с n1 и n2 --><x xmlns:n1="http://www.w3.org" xmlns:n2="http://www.w3.org" > <bad a="1" a="2" /> <bad n1:a="1" n2:a="2" /></x>
Однако, каждый из следующих тегов правилен, т.к. пространство имен по умолчанию, не распространяется на имена атрибутов:
<!-- http://www.w3.org связано с n1 и является пространством по умолчанию --><x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /></x>
Эта спецификация относится к документам XML 1.1. Чтобы соответствовать даннойспецификации, документДОЛЖЕНбыть правильно сформирован в соответствии со спецификацией XML 1.1[XML 1.1].
В XML-документах, которые соответствуют этой спецификации, имена элементов и атрибутовДОЛЖНЫсоответствовать конструкции дляQNameиДОЛЖНЫудовлетворять "Ограничениям пространства имен". Чтобы соответствоватьконструкции XML дляName (Имени),все остальные лексемы в документе, которыеНЕОБХОДИМЫ,для корректности XML 1.1,ДОЛЖНЫсоответствовать конструкции этой спецификации дляNCName.
[Определение: Документ становитсякорректно сформированным, по отношению к пространству имен, если он соответствует данной документации.]
Из этого следует, что в корректно сформированном, по отношению к пространству имен, документе:
Все имена элементов и атрибутов содержат одно двоеточие, либо не содержат его вообще;
Имена сущностей, инструкции по обработке целей или имена обозначений, не содержат двоеточия.
Кроме того, корректно сформированным, по отношению к пространству имен, документ также может быть валидным.
[Определение: корректно сформированный, по отношению к пространству имен, документ будетвалидным,если он действует в соответствии с XML 1.1 спецификацией и все лексемы, за исключением, имен элементов и атрибутов, которыеНЕОБХОДИМЫдля валидности XML 1.1, в соответствии с конструкцией XML дляName (Имени)соответствуют конструкции этой спецификации дляNCName.]
Из этого следует, что в валидном, по отношению к пространству имен, документе:
Ни один атрибут с объявленными типамиID,IDREF(S),ENTITY(IES), илиNOTATION не содержит двоеточий.
Чтобы соответствовать данной спецификации, процессорДОЛЖЕНсообщатьо нарушениях в корректно-сформированном пространстве имен, с тем исключением, когда нетНЕОБХОДИМОСТИ проверять, чтоназвания пространства имен являются легальными ссылкамиIRI.
[Определение: Процессор проверяющий корректность XML, который соответствует этой спецификации, являетсяпроверкой корректности пространства имен, если, кроме того, он сообщает о нарушениях корректности пространства имен.]
Данная версия включает в себя исправления для версии 1.0 от 6 декабря 2002[Исправления 1.0].Также имеются еще два существенных изменения:
Механизм предназначен для не объявленных префиксов;
Имена пространства имен это ссылки IRI, вместо URI.
Есть несколько изменений редакционного характера, включая количествоизменений и дополнений в терминологии предназначенной для получения большей согласованности. Ненормативное приложение "Внешняя структура пространства имен XML" ("The Internal Structure of XML Namespaces"), было удалено.
Эта версия включает в себя исправления до версии 1.1 по состоянию на 1 Июня 2006[Исправления 1.1].
Поскольку окончательный вариант IRI RFC еще не был опубликован,первое издание версии 1.1, включало в себя свое собственное определение IRI. В этой версии, это определение было удалено, и заменено ссылкой на RFC.
Эта работа отражает вклад от очень большого количества людей, особенно хочется отметитьучастников World Wide Web Consortium XML Working Group и Special Interest Group, а также участников из W3C Metadata Activity. Особенно ценным является вкладЧарльза Фрэнкстона из Microsoft.