Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
.gif)
Ускорители — это контекстная служба, обеспечивающая доступ к любой веб-странице и получение с нее информации. Ускоритель описывается с помощью формата OpenService. Подобно тому, как с помощью описания OpenSearch описывается служба поиска, формат OpenService может быть использован для описания типа поставщика услуг.
- Описание — интерфейс службы, определяющей функциональность поставщика услуг.
- Файл — конкретное описание поставщика услуг, основанное на шаблоне представляемого им типа услуг.
В этом документе описывается минимальное количество свойств, необходимых для включения публикации и использования ускорителя.
- Формат OpenService
- Описание ускорителя
- Шаблон URL-адреса ускорителя
- Расширяемость
- Сведения о лицензировании
- Редакция
Формат OpenService
С помощью формата OpenService описывается основной набор свойств для службы.
Пример.
В этом примере показывается, как можно описать ускоритель MAP с помощью формата OpenService.
<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription
xmlns="https://www.microsoft.com/schemas/openservicedescription/1.0">
<homepageUrl>http://maps.live.com</homepageUrl>
<display>
<name>Map with Windows Live</name>
<icon>http://www.live.com/favicon.ico</icon>
</display>
<activity category="Map">
<activityAction context="selection" >
<preview action=" http://maps.live.com/geotager.aspx">
<parameter name="b" value="{selection}" />
<parameter name="clean" value="true" />
<parameter name="w" value="320" />
<parameter name="h" value="240" />
</preview>
<execute action=" http://maps.live.com/default.aspx">
<parameter name="where1" value="{selection}" type="text" />
</execute>
</activityAction>
</activity>
</openServiceDescription>
Элемент "OpenServiceDescription"
Корневой узел документа OpenService.
Родительский элемент: отсутствует
Требования: Данный элемент должен отображаться точно один раз в корневом узле документа.
Пространство имен — это пространство имен определяет все элементы в данной спецификации. https://www.microsoft.com/schemas/openservicedescription/1.0
Элемент "homepageURL"
Содержит URL-адрес домашней страницы поставщика услуг.
Родительский элемент: openServiceDescription
Требования: должен иметься только один экземпляр этого элемента
Элемент "display"
Содержит свойства отображения, представляемые пользователю.
Родительский элемент: openServiceDescription
Требования: должен иметься только один экземпляр этого элемента
Элемент "name"
Содержит имя службы. Должно автономно и лаконично описывать службу.
Рекомендуется сначала записывать команду, после которой указывается имя службы.
Родительский элемент: display
Требования:
- должен иметься только один экземпляр этого элемента
- Значение должно содержать не более 50 знаков обычного текста
Примеры:
<name>Map with Windows Live</name><name>Define with Encarta</name>
Элемент "icon"
Содержит URL-адрес, указывающий местоположение значка, который может использоваться в связи с этой службой.
Родительский элемент: display
Требования: может не иметься ни одного экземпляра или иметься один экземпляр этого элемента
Пример.
<icon>http://www.live.com/favicon.ico</icon>
Элемент "description"
Содержит краткое описание службы.
Родительский элемент: display
Требования:
- может не иметься ни одного экземпляра или иметься один экземпляр этого элемента
- Значение должно содержать не более 250 знаков обычного текста
Описание ускорителя
Этот раздел посвящен описанию ускорителя.
Элемент "activity"
Содержит сведения, относящиеся к службе ускорителя.
Родительский элемент: openServiceDescription
Требования: должен иметься только один экземпляр этого элемента
Атрибут "category"
Содержит тип ускорителя. Используется вместе с доменом элемента homepageUrl в качестве идентификатора ускорителя.
Требования: Значение должно являться обычным текстом.
Рекомендуется повторно использовать категорию, которая используется другими аналогичными поставщиками. Например, все поставщики сопоставлений должны использовать категорию "map".
Пример.
<activity category="map">
Элемент "activityAction"
Содержит сведения, относящиеся к конкретному контексту.
Родительский элемент: activity
Требования: должен иметься по крайней мере один экземпляр этого элемента
Атрибут "context"
Указывает, к чему должен применяться ускоритель: выделению пользователя, текущему документу или выбранному URL-адресу.
Требования:
- может иметься один экземпляр этого атрибута
- Должен иметь значение "selection", "document" или "link"
- Значением по умолчанию является "selection"
Пример.
<activityAction context="selection">
Элемент "preview"
Содержит сведения для предварительного просмотра веб-страницы. Возвращаемое содержимое должно иметь формат HTML-документа, который может отображаться в окне с размерами 320 (ш) x 240 (в).
Родительский элемент: activityAction
Требования: может иметься один экземпляр этого элемента
Атрибут "action"
Содержит шаблон URL-адреса для получения веб-страницы для предварительного просмотра ускорителя. Более подробные сведения см. в разделе Шаблон URL-адреса ускорителя.
Требования: должен иметься один экземпляр этого атрибута
Атрибут "method"
Содержит тип HTTP-передачи данных для предварительного просмотра веб-страницы.
Требования:
- может иметься один экземпляр этого атрибута
- Должен иметь либо значение "get", либо "post"
- Значением по умолчанию является "get"
Атрибут "enctype"
Содержит тип содержимого для отправки данных на сервер в соответствии с определением передачи HTML-формы.
Требования:
- может иметься один экземпляр этого атрибута
- Значением должен являться поддерживаемый тип содержимого формы
.gif)
- Значением по умолчанию является "application/x-www-form-urlencoded"
Атрибут "accept-charset"
Содержит кодировку, используемую для отправки данных на сервер в соответствии с определением передачи HTML-формы.
Требования:
- может иметься один экземпляр этого атрибута
- Значением должна являться поддерживаемая кодировка
- Значением по умолчанию является "utf-8"
Элемент "execute"
Содержит сведения для выполнения ускорителя.
Родительский элемент: activityAction
Требования: должен иметься один экземпляр этого элемента
Элементом execute используется тот же самый набор атрибутов, что и элементом preview.
Элемент "parameter"
Содержит имя параметра и значения для URL-адреса действия. Значение параметра может ссылаться на переменную ускорителя. Более подробные сведения см. в разделе Шаблон URL-адреса ускорителя.
Родительский элемент: preview, execute
Требования: может не иметься ни одного экземпляра или иметься один экземпляр этого элемента
Атрибут "name"
Содержит имя используемого параметра.
Требования: должен иметься один экземпляр этого атрибута
Атрибут "value"
Содержит значение используемого параметра. Значение может ссылаться на переменную ускорителя.
Требования: должен иметься один экземпляр этого атрибута
Атрибут "type"
Содержит сведения о способе преобразования переменной ускорителя {selection}.
Требования:
- может не иметься ни одного экземпляра или иметься один экземпляр этого атрибута
- Должен иметь либо значение "text", либо "html"
- Значением по умолчанию является "text"
Пример.
<parameter name="body" value="{selection}" type="html" />
Предупреждение о безопасности. При создании ускорителя, в котором используется параметр {selection} с типом "html", служба должна быть явным образом настроена для правильной очистки и обработки произвольных входных данных формата HTML. Веб-службы, допускающие произвольный ввод без фильтрации и кодирования, уязвимы для атак путем внедрения HTML-кода или скрипта. Для получения дополнительных сведений см. раздел "Типы выбора" руководства разработчика ускорителей OpenService (возможно, на английском языке).
Шаблон URL-адреса ускорителя
Шаблон URL-адреса ускорителя представляет содержимое, передаваемое поставщику услуг. Имеется два способа определения параметров в шаблон URL-адреса: встроенный параметр и параметр на основе формы.
Примеры
Это пример шаблона URL-адреса ускорителя, в котором используется встроенный параметр.
<execute action="https://encarta.msn.com/encnet/refpages/search.aspx?q={selection}" />
Это пример шаблона URL-адреса ускорителя, в котором используется параметр на основе формы.
<execute action="https://encarta.msn.com/encnet/refpages/search.aspx">
<parameter name="q" value="{selection}" type="html" />
</execute>
Переменные
Переменными являются свойства внутри веб-страницы. Переменные указываются с помощью фигурных скобок {}.
| Переменная {selection} | Представляет выбор пользователя внутри веб-страницы. |
| Переменная {documentUrl} | Представляет URL-адрес веб-страницы, на которой вызывается ускоритель. |
| Переменная {documentTitle} | Представляет заголовок веб-страницы, на которой вызывается ускоритель. |
| Переменная {documentDomain} | Представляет домен верхнего уровня переменной documentUrl. |
| Переменная {documentHost} | Представляет полный домен переменной documentUrl. |
| Переменная {link} | Представляет URL-адрес, выбранный пользователем. |
| Переменная {linkText} | Представляет текст URL-адреса, выбранного пользователем. |
| Переменная {linkRel} | Представляет связь URL-адреса, выбранного пользователем. |
| Переменная {linkType} | Представляет тип MIME для URL-адреса, выбранного пользователем. |
| Переменная {linkDomain} | Представляет домен верхнего уровня URL-адреса, выбранного пользователем. |
| Переменная {linkHost} | Представляет полный домен URL-адреса, выбранного пользователем. |
Необязательные переменные
Все переменные рассматриваются как обязательные, если они не содержат модификатора "?". Необязательная переменная, которая не может быть разрешена, рассматривается как пустая строка для встроенного параметризованного URL-адреса. Во встроенном параметризованном URL-адресе на основе формы игнорируется весь элемент parameter.
Пример необязательной переменной во встроенном параметризованном URL-адресе:
<execute action="https://encarta.msn.com/encnet/refpages/search.aspx?q={selection?}" />
Escape-символ
Чтобы указать непосредственно знаки { и }, следует воспользоваться знаком обратной косой черты \. Обратная косая черта используется для "экранирования" любого знака.
\{{selection}\}
Расширяемость
Формат OpenService и описание ускорителя могут расширяться благодаря использованию соглашения о спецификации пространство имен XML консорциума W3C
. Пространство имен XML должно отличаться от пространства имен OpenService.
Сведения о лицензировании
Авторские права корпорации Майкрософт в этой лицензируются в соответствии с лицензией Creative Commons Attribution-Share Alike License (версия 3.0). Чтобы просмотреть копию этой лицензии, посетите веб-страницу по адресу http://creativecommons.org/licenses/by-sa/3.0
. Имеется отдельное патентное обязательство, называемое Microsoft Open Specification Promise, доступное для сторон, заинтересованных во внедрении программного обеспечения, соответствующего этой спецификации. Это патентное обязательство доступно по следующему адресу: https://www.microsoft.com/interop/osp/default.mspx.
Редакция
Версия 0.8 (бета-версия 2)
- Действия OpenService переименованы в ускорители OpenService
- Добавлен раздел "Escape-символ"
- Исправлены незначительные ошибки
Версия 0.8
- Первый выпуск