Этот документ является не официальным переводом исходнойанглийской версии. Обратите внимание на то, что оригинальная версия документа существуеттолько на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил ©Зайцев Дмитрий, 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? (SPseudoAtt)*S? |
[2] | PseudoAtt | ::= | NameS? "="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" ( (SPseudoAtts)? - (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
сделан дополнительным, по согласованию ссуществующими исправлениями.