Поделиться через


Спецификация формата OpenService для ускорителей — версия 0.8

Новые возможности Windows Internet Explorer 8

Ускорители — это контекстная служба, обеспечивающая доступ к любой веб-странице и получение с нее информации. Ускоритель описывается с помощью формата 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-формы.

Требования:

  • может иметься один экземпляр этого атрибута
  • Значением должен являться поддерживаемый тип содержимого формы Ссылка в Интернете
  • Значением по умолчанию является "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

  • Первый выпуск