Movatterモバイル変換


[0]ホーム

URL:


Этот документ является не официальным переводом исходнойанглийской версии. Обратите внимание на то, что оригинальная версия документа существуеттолько на английском языке. Может содержать неточности и ошибки. ©Зайцев Дмитрий, 2011. При поддержке сайтаlatex pillows. Комментарии к переводу оставляйтездесь! | |На главную

W3C

Пространства имен в XML 1.1 (Второе издание)

Рекомендация W3C от 16 августа 2006

Данная версия:
http://www.w3.org/TR/2006/REC-xml-names11-20060816
Последняя версия:
http://www.w3.org/TR/xml-names11
Предыдущая версия:
http://www.w3.org/TR/2006/PER-xml-names11-20060614
Редакторы:
Tim Bray, Textuality<[email protected]>
Dave Hollander, Contivo, Inc.<[email protected]>
Andrew Layman, Microsoft<[email protected]>
Richard Tobin, University of Edinburgh and Markup Technology Ltd<[email protected]>

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

См. такжепереводы.

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Благодарности (ненормативное)


1 Мотивация и Резюме

Мы предполагаем, что применение расширяемого языка разметки (XML), где один документ XML может содержать элементы и атрибуты (здесь называемый "словарь разметки"), которые определены и используются несколькими программными модулями.Причина возникновения для этого является модульность: если такой словарь разметки существует, который в свою очередь хорошо понимает и для которого есть полезное программное обеспечение,в таком случае, эту разметку лучше использовать повторно, чем изобретать ее для новой обработки.

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

Эти соображения накладывают требования, чтобы конструкции документа имели имена, построенные таким образом, чтобы избежать столкновений между именами из разных словарей разметки.В данной спецификации описывается механизмпространства имен XML, который решает эту задачу путем назначениярасширенных имен элементов и атрибутов.

1.1 Примечание к Обозначению и Использованию

В тех местах, где встречаютсяВЫДЕЛЕННЫЕ, ключевые словаДОЛЖЕН,НЕ ДОЛЖЕН,НЕОБХОДИМО,СЛЕДУЕТ,НЕ СЛЕДУЕТ,ВЕРОЯТНО,в этом документе должны интерпретироваться, как описано в[Ключевые слова].

Обратите внимание, что нетерминальные конструкции в данной спецификации определяются не здесь, а в спецификации XML[XML]. Когда нетерминальные конструкции определенные здесь имеют такие же имена, как нетерминалы определенные в спецификации XML, тогда сценарии, использованные здесь, во всех случаях будут подмножеством строк, которые соответствуют сценарию там.

В сценариях этого документа аббревиатураNSC, обозначающая "Ограничение пространства Имен" ("Namespace Constraint"), это одно из правил, которомуДОЛЖНЫ следовать документы соответствующие этой спецификации.

2 Пространства имен XML

2.1 Основные понятия

[Определение:Пространство имен XML идентифицируется ссылкой IRI[RFC3987];имена элементов и атрибутов могут быть помещены в пространство имен XML с помощью механизмов, описанных в этой спецификации.]

[Определение:Расширенное имя это пара, состоящая изимени пространства именилокального имени.][Определение: Для имениN в пространстве имен определенном с помощьюIRIкакI,Именем пространства именбудетI. Для имениN которое не находится в пространстве имен,имя пространства имен будет не определено.][Определение: В любом из случаевлокальным именембудетN.]Именно это сочетание из универсально управляемых IRI пространства имен с локальными именами лексики, является эффективным в предотвращении конфликтов имен.

IRIссылки могут содержать символы не допустимые в именах, и очень часто слишком длинные,поэтому расширенные имена не используются непосредственно для названия элементов и атрибутов в XML-документах.Вместо этого используютсяполные имена.[Определение:Полное имя это имя субъекта в интерпретации пространства имен.]В документах, соответствующих данной спецификации, имена элементов и атрибутов отображаются как полные имена.Синтаксически, они являют собойпрефиксные имена илибезпрефиксные имена.Описание синтаксиса на основании атрибутов обеспечивает связь префиксов пространства имен и связь пространства имен по умолчанию, которое применяется к безпрефиксным именам элементов; эти описания находятся в области видимости элементами, на которых они появляются,так что разные привязки могут применяться в различных частях документа.Процессоры соответствующие данной спецификации,ДОЛЖНЫопознать и действовать на основании этих описаний и префиксов.

2.2 ИспользованиеIRIкак названия пространства имен

Пустая строка, хотя это и законная ссылкаIRI, не может быть использована как имя пространства имен.

Использование относительных ссылокIRI, включая ссылки того же документа, в объявлениях пространств имен, является устаревшим.

Примечание:

Это неодобрение относительных ссылок URI было принято наПленарном голосовании W3C XML (W3C XML Plenary Ballot)[неодобрение относительных ссылок URI]. В нем также заявлено, что"последующие характеристики, такие как DOM, XPath, и прочие будут определять без расшифровки к ним".

2.3 Сравнение ссылокIRI

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&#xe9;">

  • <p:foo xmlns:p="http://example.org/ros&#xE9;">

  • <p:foo xmlns:p="http://example.org/ros&#233;">

  • <p:foo xmlns:p="http://example.org/ros&eacute;">

Из-за риска путаницы междуIRI, которые будут эквивалентны при разыменовании, использование %-маскированных символов в именах пространства имен настоятельно не рекомендуется.

3 Объявление Пространств имен

[Определение: Пространство имен(или если точнее, обязательное пространство имен)объявляется с помощью семейства зарезервированных атрибутов.Такое имя атрибута должно быть либо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, в любых комбинациях, так какэти имена будут зарезервированы, если использовать их без префикса.

4 Полные имена

В документах XMLсоответствующих данной спецификации, некоторые имена(конструкции, которые соответствуют нетерминальномуName)ДОЛЖНЫбыть переданы какполные имена,которые определяются следующим образом:

Полное Имя
[7]   QName   ::=   PrefixedName
|UnprefixedName
[8]   PrefixedName   ::=   Prefix ':'LocalPart
[9]   UnprefixedName   ::=   LocalPart
[10]   Prefix   ::=   NCName
[11]   LocalPart   ::=   NCName

ПолеPrefix определяет из части полного именипрефикс пространства имен, иДОЛЖЕНбыть связан со ссылкойIRI указанной вдекларации пространства имен.[Определение: ПолеLocalPart определяетлокальную часть полного имени.]

Отметьте, что префикс используетсятолько для сохранения названия пространства имен.ПриложениямСЛЕДУЕТиспользовать только название пространства имен, а не префикс, при построении имен,область действия которых выходит за пределы первоначального документа.

5 Использование полных имен

В документах 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 значений для атрибутов, которые декларируют пространства имен.

6 Применение пространства имен к элементам и атрибутам

6.1 Область действий пространства имен

Область действий декларации пространства имен при декларировании префикса проходит от начала открывающего тега, в котором она появляется, до концасоответствующего закрывающего тега, за исключением области действий любых внутренних деклараций с таким же полем 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>

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

Область действий декларациипространства имен по умолчаниюпроходит от начала открывающего тега, в котором она появляется, до концасоответствующего закрывающего тега, за исключением области действий любых внутренних деклараций пространств по умолчанию.В том случае, когда тег пустой, областью становится сам тег.

Декларация пространства имен по умолчанию относится ко всем именам элементов без префиксав пределах своей области.Декларации пространств имен по умолчанию не относятся непосредственно к именам атрибутов;интерпретации атрибутов без префикса определяются элементом, в котором они возникают.

Если существует декларация пространства имен по умолчанию в области действий, тогдарасширенное имя,соответствующего имени элемента без префикса, имеет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>

6.3 Уникальность атрибутов

В документах XML соответствующих данной спецификации,нет тега, содержащего два атрибута, которые:

  1. имеют одинаковые имена, или

  2. имеют полные имена с одинаковойлокальной частью и спрефиксами связанными сименами пространства имен, которыеидентичны.

Это ограничение равносильно тому, что нет элемента имеющего два атрибута с одинаковымрасширенным именем.

Например, каждый из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>

7 Соответствия документов

Эта спецификация относится к документам 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.]

Из этого следует, что в валидном, по отношению к пространству имен, документе:

8 Соответствие процессоров

Чтобы соответствовать данной спецификации, процессорДОЛЖЕНсообщатьо нарушениях в корректно-сформированном пространстве имен, с тем исключением, когда нетНЕОБХОДИМОСТИ проверять, чтоназвания пространства имен являются легальными ссылкамиIRI.

[Определение: Процессор проверяющий корректность XML, который соответствует этой спецификации, являетсяпроверкой корректности пространства имен, если, кроме того, он сообщает о нарушениях корректности пространства имен.]

Нормативные документы

Ключевые слова
RFC 2119: Ключевые слова для использования в документах RFC для указания уровней требований,S. Bradner, изд.IETF (Internet Engineering Task Force),март 1997.Доступно по ссылкеhttp://www.rfc-editor.org/rfc/rfc2119.txt
RFC2141
RFC 2141: Синтаксис URN,R. Moats, изд.IETF (Internet Engineering Task Force),май 1997.Доступно по ссылкеhttp://www.rfc-editor.org/rfc/rfc2141.txt.
RFC3986
RFC 3986: Унифицированный идентификатор ресурса (URI): общий синтаксис,T. Berners-Lee, R. Fielding, и L. Masinter, ред.IETF (Internet Engineering Task Force),январь 2005.Доступно по ссылкеhttp://www.rfc-editor.org/rfc/rfc3986.txt
RFC3629
RFC 3629: UTF-8, преобразование формата ISO 10646,F. Yergeau, изд.IETF (Internet Engineering Task Force),ноябрь 2003.Доступно по ссылке http://www.rfc-editor.org/rfc/rfc3629.txt
RFC3987
Интернационализированные идентификаторы ресурсов (IRIs),M. Duerst и M. Suignard ред.январь 2005.Доступно по ссылке http://www.rfc-editor.org/rfc/rfc3987.txt.
XML
Расширяемый язык разметки (XML) 1.0 (Четвертое издание), Tim Bray, JeanPaoli, C. M. Sperberg-McQueen, Eve Maler и François Yergeau ред.W3C (World Wide Web Consortium),16 августа 2006.Доступно по ссылкеhttp://www.w3.org/TR/2006/REC-xml-20060816/.
XML 1.1
Расширяемый язык разметки(XML) 1.1 (Второе издание),Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau и John Cowan ред.W3C (World Wide Web Consortium),16 августа 2006.Доступно по ссылкеhttp://www.w3.org/TR/2006/REC-xml11-20060816/.

B Другие документы (ненормативные)

Исправления 1.0
Пространства имен в XML. Исправления.W3C (World Wide Web Consortium).Доступно по ссылкеhttp://www.w3.org/XML/xml-names-19990114-errata.
Исправления 1.1
Пространства имен в XML 1.1. Исправления.W3C (World Wide Web Consortium).Доступно по ссылкеhttp://www.w3.org/XML/2004/xml-names11-errata.
Неодобрение относительных ссылок URI
Результаты W3C XML пленарного голосования об относительных ссылках URI в декларации пространства имен 3-17 июля 2000 года,Dave Hollander иC. M. Sperberg-McQueen,6 сентября 2000.Доступно по ссылкеhttp://www.w3.org/2000/09/xppa.
Требования
Пространства имен в XML 1.1, Требования,Jonathan Marsh, изд.W3C (World Wide Web Consortium),март 2002.Доступно по ссылкеhttp://www.w3.org/TR/2002/WD-xml-names11-req-20020403/.

C Внутренняя структура пространства имен XML (Ненормативное)

Данное приложение было удалено.

D Изменения, начиная с версии 1.0 (Ненормативное)

Данная версия включает в себя исправления для версии 1.0 от 6 декабря 2002[Исправления 1.0].Также имеются еще два существенных изменения:

Есть несколько изменений редакционного характера, включая количествоизменений и дополнений в терминологии предназначенной для получения большей согласованности. Ненормативное приложение "Внешняя структура пространства имен XML" ("The Internal Structure of XML Namespaces"), было удалено.

D.1 Изменения, начиная с версии 1.1

Эта версия включает в себя исправления до версии 1.1 по состоянию на 1 Июня 2006[Исправления 1.1].

Поскольку окончательный вариант IRI RFC еще не был опубликован,первое издание версии 1.1, включало в себя свое собственное определение IRI. В этой версии, это определение было удалено, и заменено ссылкой на RFC.

E Благодарности (ненормативное)

Эта работа отражает вклад от очень большого количества людей, особенно хочется отметитьучастников World Wide Web Consortium XML Working Group и Special Interest Group, а также участников из W3C Metadata Activity. Особенно ценным является вкладЧарльза Фрэнкстона из Microsoft.


[8]
ページ先頭

©2009-2025 Movatter.jp