Jump to content

QName

QName XML или уточненное имя — это полное имя элемента, атрибута или идентификатора в - документе. QName кратко связывает URI пространства имен XML с локальным именем элемента, атрибута или идентификатора в этом пространстве имен. [1] Чтобы создать эту ассоциацию, QName присваивает локальному имени префикс , соответствующий его пространству имен. В целом, QName включает в себя URI пространства имен XML, префикс и локальное имя .

Консорциум World Wide Web представил соглашение QName в спецификации 1999 года «Пространства имен в XML». [1] [2]

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

Формальное определение

[ редактировать ]

QNames формально определены W3C как: [3]

QName	           ::=   PrefixedName | UnprefixedName
PrefixedName	   ::=   Prefix ':' LocalPart
UnprefixedName     ::=   LocalPart
Prefix	           ::=   NCName
LocalPart          ::=   NCName

NCName определяется следующим образом:

NCName	           ::=   Name - (Char* ':' Char*)  (* An XML Name, minus the ":" *)
Name	           ::=   NameStartChar (NameChar)*
NameStartChar	   ::=   ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] 
                         | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF]  
                         | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] 
                         | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] 
                         | [#x10000-#xEFFFF]
NameChar           ::=   NameStartChar | "-" | "." | [0-9] 
                         | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
Char	           ::=   (* any Unicode char, excluding surrogate blocks FFFE and FFFF. *)
                         #x9 | #xA | #xD | [#x20-#xD7FF] 
                         | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

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

<?xml version="1.0"?>
<doc xmlns:x="https://example.com/ns/foo">
  <x:p/>
</doc>

Во второй строке объявляется, что префикс «x» связан с URI «http://example.com/ns/foo». Этот префикс в дальнейшем можно использовать как сокращение для этого пространства имен. Впоследствии тег «x:p» является допустимым QName, поскольку он использует «x» в качестве ссылки на пространство имен и «p» в качестве локальной части. Тег «doc» также является допустимым QName, но состоит только из локальной части. [4]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Уолш, Норман, изд. (17 марта 2004 г.). «Использование полных имен (QNames) в качестве идентификаторов в XML-контенте» . W3.org . Консорциум Всемирной паутины . Проверено 12 июня 2018 г.
  2. ^ Брей, Тим; Холландер, Дэйв; Лэйман, Эндрю, ред. (14 января 1999 г.), «Пространства имен в XML» , W3.org , Консорциум World Wide Web , получено 12 июня 2018 г.
  3. ^ Пространства имен в XML 1.0 (второе издание)
  4. ^ Пространства имен в XML 1.0 (второе издание)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3b1e2c961005a7a9cd36db9d97e75972__1690291380
URL1:https://arc.ask3.ru/arc/aa/3b/72/3b1e2c961005a7a9cd36db9d97e75972.html
Заголовок, (Title) документа по адресу, URL1:
QName - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)