Этот документ является не официальным переводом исходной английской версии. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил © Зайцев Дмитрий, 2011. При поддержке сайта latex pillow. Комментарии к переводу оставляйте здесь! | | На главную
Пожалуйста, обратитесь к странице исправлений для этого документа, где могут быть приведены нормативные изменения к текущему документу.
См. также переводы.
Этот документ, также доступен в таких ненормативных форматах: XML.
Copyright © 2010 W3C® (MIT, ERCIM, Keio), Все права защищены. W3C придерживается правил ответственности, торговой марки и использования документов.
Этот документ позволяет связать таблицы стилей с документом XML, включив одну или несколько инструкций обработки с тегом xml-stylesheet
в начале документа.
Этот раздел описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться в индексе технических докладов W3C на http://www.w3.org/TR/.
Этот документ является продуктом Рабочей группы XML Core в рамках деятельности W3C XML. Английская версия этой спецификации является единственной нормативной версией. Однако, для просмотра переводов данного документа, см. http://www.w3.org/2003/03/Translations/byTechnology?technology=xml-stylesheet.
Это второе издание включает в себя все известные исправления по состоянию на дату публикации, уточняет ряд областей, которые не были указаны в предыдущем издании, а также второе издание было реорганизовано, чтобы позволить другим спецификациям повторно использовать правила для разбора псевдо-атрибутов из строки. Более подробное описание изменений по сравнению с первым изданием, см. B Изменения по сравнению с первым изданием. Это издание заменяет предыдущее издание от 29 июня 1999 года.
Комментарии к этому документу можно направлять по адресу [email protected]; также доступны публичные архивы. Со списком исправлений для этого документа можно ознакомиться по адресу http://www.w3.org/1999/06/REC-xml-stylesheet-19990629/errata
Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными сторонами, и одобрен Директором в качестве Рекомендации W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитат в другом документе. Роль W3C в разработке Рекомендации, заключается в привлечении внимания к спецификации, и способствовать ее широкому распространению. Это повышает функциональность и совместимость в Веб (Web).
W3C поддерживает публичный список открытых патентов сделанный в связи с результатами деятельности группы; эта страница также включает в себя инструкции по раскрытию патента. Лица, обладающие актуальной информацией о патенте, который удовлетворяет основным требованиям, должны раскрыть эту информацию согласно пункту 6 патентной политики W3C.
1 Введение
2
Соответствие требованиям
3 Псевдо-атрибуты
4 Инструкция обработки xml-stylesheet
(Этот раздел является не нормативным.)
У авторов могли бы быть определенные намерения относительно того, как пользовательские приложения должны предоставить информацию, содержащуюся в документах XML. Эта спецификация обеспечивает ненавязчивый механизм, используя инструкцию обработки, чтобы обеспечить ссылки к одной или более таблицам стилей, то есть ресурсы, указывают требуемый рендеринг на установленном языке. Пользовательские приложения будут использовать эти ресурсы, чтобы управлять представлением XML.
Рассмотрите документ XHTML со связыванием таблиц стилей, используя элемент
link
:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Example with link elements</title> <link rel="stylesheet" href="common.css"/> <link rel="stylesheet" href="default.css" title="Default style"/> <link rel="alternate stylesheet" href="alt.css" title="Alternative style"/> <link rel="stylesheet" href="single-col.css" media="all and (max-width: 30em)"/> </head> <body> ... </body> </html>
Этот документ мог быть записан следующим образом, используя инструкции обработки xml-stylesheet:
<?xml-stylesheet href="common.css"?> <?xml-stylesheet href="default.css" title="Default style"?> <?xml-stylesheet alternate="yes" href="alt.css" title="Alternative style"?> <?xml-stylesheet href="single-col.css" media="all and (max-width: 30em)"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Example with xml-stylesheet processing instructions</title> </head> <body> ... </body> </html>
Все схемы, примеры, и примечания в этой спецификации ненормативные, как и все разделы, которые явно помечены ненормативными. Все остальное в этой спецификации нормативно.
Ключевые слова должен(must), не должен(must not), следует(should), не следует(should not) и вероятно(may) в этом документе должны интерпретироваться, как описано в RFC 2119. Эти слова не отображаются в верхнем регистре в данной спецификации.[RFC2119]
В данной спецификации определены следующие классы соответствия:
Документ рассматривается как соответствующий документ, если он удовлетворяет всем необходимым уровням критериев в этой спецификации, которые применяются к документам.
инструкции обработки xml-stylesheet и их псевдо-атрибуты, предназначены для использования авторами документа, чтобы предоставлять ссылки и информацию об одной или более таблице стилей, как описано в 4 Инструкция обработки xml-stylesheet, которые доступны, чтобы быть примененными к содержанию документа.
XML определяет приложение как программный модуль, который получает информационный контент XML-документа от процессора XML. [Определение: Процессор xml-stylesheet это такое приложение, которое обрабатывает инструкции обработки XML в соответствии с этой спецификацией.] [XML]
Процессор xml-stylesheet, рассматривается, как соответствующий процессор xml-stylesheet, если он удовлетворяет всем необходимым уровням критериев в этой спецификации, которые применяются к процессорам xml-stylesheet. Процессор xml-stylesheet не должны проверять или осуществлять ни одно из ограничений на документы.
Процессор xml-stylesheet может быть частью более крупного приложения XML, или может функционировать самостоятельно. В любом случае, [Определение: приложение это потребитель анализа псевдо-атрибута, определенного в этой спецификации.]
Подробная спецификация того, как приложения используют информацию, содержавшуюся в инструкциях обработки xml-stylesheet, выходит за рамки этого документа, так как это может разумно отличаться от приложения к приложению. Соответственно эта спецификация не накладывает требований соответствия к приложениям.
Вместе с тем ожидается, что спецификации, регулирующие использование языков таблиц стилей, сошлются на эту спецификацию в описании того, как приложения могут определить таблицы стилей для использования в документе. Такие спецификации, как ожидается, определяют интерпретации для значений (или отсутствие значения) этих псевдо-атрибутов которые они используют, делая это таким образом, чтобы быть как можно более последовательными с описаниями этих псевдо-атрибутов в 4 Инструкция обработки xml-stylesheet, поскольку это имеет смысл для приложения и языка(ов) таблицы стилей в данном вопросе.
Эта спецификация определена со ссылкой на словарь для XML предоставляемый Набором Информации XML . [INFOSET]
Представления в этой спецификации используют те же самые обозначения, используемые в спецификации XML. Лексемы в грамматике, которые не определены в данной спецификации, определены в спецификации XML.[XML]
[Определение: Правила для разбора псевдо-атрибутов из строки, приведенные в данном разделе.]
[Определение: Результатом разбора является либо множество псевдо-атрибутов или ошибка.]
Если данная строка не соответствует представлению PseudoAtts, тогда результатом разбора будет ошибка.
[1a] | PseudoAtts | ::= |
PseudoAtt? (S PseudoAtt)* S? |
[2] | PseudoAtt | ::= | Name S? "=" S? PseudoAttValue
|
[3] | PseudoAttValue | ::= | ('"' ([^"<&] | CharRef | PredefEntityRef)* '"' | "'"
([^'<&] | CharRef | PredefEntityRef)* "'") |
[4] | PredefEntityRef | ::= | "&" | "<" | ">" | """ |
"'" |
[Определение: Каждая строка сопровождается PseudoAtt в представлении PseudoAtts, будучи псевдо-атрибутом.] Псевдо-атрибут имеет имя и значение.
[Определение: Строка, соответствующая по Имени в представлении PseudoAtt является именем соответствующего псевдо-атрибута.]
[Определение: Строка, соответствующая по PseudoAttValue в представлении PseudoAtt — с тремя изменениями, указанными ниже — представляет собой значение соответствующего псевдо-атрибута.]
Каждый CharRef заменен символом, который он представляет в соответствии с XML [XML].
Каждый PredefEntityRef в PseudoAttValue заменяется на U+0026 (&) если это
"&
", U+003C (<) если это
"<
", U+003E (>) если это
">
", U+0022 (") если это
""
" и U+0027 (') если это
"'
".
Первый и последний символ (начало и конец цитаты) удаляются.
Результатом парсинга будет ошибка, если ограничение правильной сформированности допустимого символа XML нарушается при любом CharRef. [XML]
Результатом парсинга будет ошибка, если есть больше чем один псевдо-атрибут с тем же самым именем.
Если результат парсинга не является ошибкой, тогда им будет множество представленных псевдо-атрибутов, когда данная строка является соответствующим представлением PseudoAtts.
[Определение: Единица информации инструкции обработки считается потенциальной инструкцией обработки xml-stylesheet, если она имеет [целевое] свойство xml-stylesheet
и находится либо в [дочернем] свойстве информационной единицы документа и появляется перед единицей информации элемента данного [дочернего] свойства, или появляется в [дочернем] свойстве информационной единицы объявленного типа документа.]
Для потенциальных инструкций обработки xml-stylesheet, которые находятся в [дочернем] свойстве информационной единицы документа, процессоры xml-stylesheet должны сообщить приложению результаты парсинга вызова правил для того, чтобы проанализировать псевдо-атрибуты из строки, используя свойство [контента] информационной единицы инструкции обработки в качестве строки.
Для потенциальных инструкций обработки xml-stylesheet, которые появляются в [дочернем] свойстве информационной единицы объявленного типа документа, процессоры xml-stylesheet могут сообщать приложению результаты парсинга вызова правил для того, чтобы проанализировать псевдо-атрибуты из строки, используя свойство [контента] информационной единицы инструкции обработки в качестве строки. [Определение: Если результаты не сообщаются приложению, информационная единица инструкции обработки, считается проигнорированной.]
Примечание:
Поскольку непроверяющие процессоры XML не обязаны читать объекты параметра или внешнее подмножество, вполне возможно, что инструкции по обработке, которые появляются в объектах параметра или внешнем подмножестве не будут присутствовать в [дочернем] свойстве информационной единицы объявленного типа документа. [XML]
[Определение: Потенциальной инструкцией обработки xml-stylesheet, считается инструкцией обработки xml-stylesheet, если результаты парсинга не сообщают об ошибке, при вызове правил для того, чтобы проанализировать псевдо-атрибуты из строки, используя свойство [контента] информационной единицы инструкции обработки в качестве строки.]
Документы не должны использовать информационные единицы инструкции обработки вместе с [целевым] свойством
xml-stylesheet
, если они не являются инструкциями обработки xml-stylesheet.
Документы не должны использовать инструкции обработки xml-stylesheet, которые находятся в [дочернем] свойстве информационной единицы объявленного типа документа.
Инструкция обработки xml-stylesheet будет соответствовать следующему представлению:
[1] | StyleSheetPI | ::= | "<?xml-stylesheet" ( (S PseudoAtts)? - (Char* "?>"
Char*) ) "?>" |
Документы могут определить следующие псевдо-атрибуты в инструкциях обработки xml-stylesheet, если не оговорено противное:
href
Предоставляет адрес ссылки на таблицы стилей. Документы должны указывать этот псевдо-атрибут. Документы должны установить значение в строку, которая соответствует грамматике для <IRI-reference> приведенных в RFC 3987. [RFC3987]
Примечание:
Существует возможность сопоставить таблицу стилей, которая находится в том же самом документе, как
инструкцию обработки xml-stylesheet
при использовании только идентификатора фрагмента в псевдо-атрибуте href
.
Для получения дополнительной информации о том, как этим управляют в XSLT, см. 3.11 Встроенные модули таблиц стилей в [XSLT].
type
Предоставляет консультативный тип носителя для ссылки на таблицу стилей. Если определено, документы должны установить значение в строку, которое соответствует представлению media-type
определенное в разделе 3.7 "Типы носителей"
в RFC 2616. [RFC2616]
Примечание:
Синтаксическое соответствие к представлению в RFC 2616, это все, что требуется вышеупомянутым. Эта спецификация не налагает требований относительно состояния используемых типов. Некоторые незарегистрированные (по состоянию на момент публикации данной спецификации) типы носителей, такие как
text/xsl
, хорошо поддерживаются существующими реализациями, тогда как некоторые зарегистрированные типы носителей, такие как
application/xslt+xml
, не поддерживаются.
Значение является консультативным в том смысле, что оно предназначено для использования приложением только тогда, когда никакой другой источник информации о типе носителей не становится доступным во время извлечения таблицы стилей непосредственно.
title
Предоставляет название таблице стилей, на которую ссылаются, во множестве таблиц стилей. За пределами PseudoAttValue никакие ограничения на значение не накладываются.
media
Предоставляет носители, для которых, применяется указанная таблица стилей. Если указанные документы должны установить значение в строку, которая соответствует
media_query_list
из спецификации Запросов Носителей. [MQ]
charset
Предоставляет консультативную кодировку символов для таблицы стилей, на которую ссылаются. Если определено, документы должны установить значение на допустимое имя кодировки символов, которое должно быть именем или псевдонимом, помеченным как "предпочтенное имя MIME" в реестре кодировок IANA, если таковой имеется или имя кодировки, если ни один из псевдонимов не был помечен. [IANACHARSET]
Значение является консультативным в том смысле, что оно предназначено для использования приложением только тогда, когда никакой другой источник кодирования информации не становится доступным во время извлечения таблицы стилей непосредственно, либо явно через заголовок HTTP, или косвенно через его тип носителя, как в случае XML-документов.
alternate
Если значение - "yes
", оно указывает, что таблица стилей, на которую ссылаются, является альтернативной таблицей стилей и документы
должны также указывать title
псевдо-атрибута с не пустым значением. Если определено, документы должны установить значение либо в "yes
" или
"no
".
Документы не должны указывать другие псевдо-атрибуты в инструкциях обработки xml-stylesheet.
Любые ссылки на таблицы стилей, которые указываются внешним образом к документу
(например, заголовки Link
в некоторых версиях HTTP [RFC2068]) рассматриваются для создания объединений, которые встречаются перед объединениями, указанными в инструкциях обработки xml-stylesheet. Приложение ответственно за принятие всех ассоциаций и определение порядка последовательности, если вообще, их порядок влияет на его обработку.
Ссылки являются нормативными, если только нет пометки "ненормативное".
Это приложение является не нормативным
Первое издание этой спецификации было очень лаконичным, но в то же время оставила много деталей неустановленными. Это второе издание стремится к тому, чтобы заполнить пробелы оставленные в первом издании, во время реструктуризации презентации для обеспечения независимого цитирования и повторного использования конструкции псевдо-атрибута.
Ни синтаксис, ни семантика инструкций обработки xml-stylesheet
не были изменены, вне реструктуризации упомянутой выше. Ограничения соответствия на процессоры были ослаблены не много в том, что инструкции обработки xml-stylesheet
, происходящие во внутреннем или внешнем подмножестве, могут быть проигнорированы.
В следующем списке приведены основные изменения, которые были сделаны:
Установлены определения для многих использованных терминов, которые были использованы, но не описаны в первом издании;
Добавлен раздел соответствия, различий между процессором и документом соответствия, каждый из которых не был раскрыт в первом издании;
Выявлено много случаев погрешностей, которые были неявными в обращении первого издания одновременно с элементом запускающим обработку тега, и указанное ожидаемое поведение процессора;
С учетом развернутого поведения процессора, разрешенные инструкции обработки
xml-stylesheet
следует игнорировать, если они не входят в число [дочерних элементов] единицы информации документа;
Добавлен ряд ссылок, но удалена явная зависимость от спецификации HTML 4.0 путем добавления обновленного описания значения каждого из псевдо-атрибутов в соответствии с их использованием в HTML 4.0;
Удален (ненормативный) раздел Обоснование, поскольку в нем содержится ряд устаревших предположений;
Псевдо-атрибут type
сделан дополнительным, по согласованию с
существующими исправлениями.