Технология XSLT (Валиков) - страница 19

соответственно.

Для документов, в которых использовались только нижние 127 символов ASCII, то есть, символы с кодами, не превышающими >#x7F, псевдоатрибут >encoding указывать необязательно. В этой области символов кодировка UTF-8 совпадает с ASCII.

Псевдоатрибут >standalone говорит о том, использует ли этот документ какие-либо внешние объявления или нет. Как мы узнаем чуть позже, XML-документы могут использовать информацию, которая находится во внешних документах. Опция >standalone, имеющая значение >"yes", означает, что документ не содержит таких объявлений, и, значит, может быть обработан без обращения к внешним источникам.

Декларации XML соответствует продукция >XMLDecl, которая, в свою очередь, использует несколько дочерних правил:

>[23] XMLDecl ::= '

>                  SDDecl? S? '?>'

Продукция >VersionInfo определяет синтаксис псевдоатрибута >version:

>[24] VersionInfo ::= S? 'version' Eq

>                     ("'" VersionNum "'"

>                     | "" VersionNum "")

Значение версии документа может состоять из латинских букв и цифр, а также символов ">_", ">.", ">:" и ">-":

>[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+

Кодировка объявляется продукцией >EncodingDecl, которая синтаксически похожа на >VersionInfo:

>[80] EncodingDecl ::= S? 'encoding' Eq

>                      ("'" EncName "'"

>                      | '"' EncName '"')

Имя кодировки, >EncName, может состоять только из латинских букв, цифр и символов ">.", ">_" и ">-", причем первым символом названия кодировки всегда должна быть буква:

>[81] EncName [A-Za-z] ([A-Za-z0-9.-] | '-')*

Используемое в документе название кодировки должно быть известно программному обеспечению, которое этот документ обрабатывает. В противном случае могут возникнуть ошибки и несоответствия. В спецификации рекомендуется использовать названия кодировок, одобренные IANA (Internet Assigned Numbers Authority — Комитет присвоенных кодов Интернет). Кириллице, которая используется в русском языке, в списках IANA присваивается около десятка кодировок. Самыми распространенными из них являются следующие:

□ Windows-1251;

□ KOI8-R;

□ Cp866;

□ ISO-8859-5.

Техническая рекомендация XML оговаривает, что. в тех случаях, когда имя использованной кодировки не является стандартным, оно должно указываться с префиксом ">x-", например:

>

Псевдоатрибуту >standalone соответствует EBNF-правило >SDDecl:

>[32] SDDecl ::= S 'standalone' Eq

>                (("'" ('yes' | 'no') "'")

>                | ( '"' ('yes' | 'no') '"' ) )

Расшифровывается это правило очень просто: псевдоатрибут