| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.urischeme" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appinfo> |
| <meta.schema plugin="org.eclipse.urischeme" id="uriSchemeHandlers" name="URI Scheme Handlers"/> |
| </appinfo> |
| <documentation> |
| <p> |
| This extension point is used to add implementations of URI scheme handlers. The term URI scheme refers to the definition in <a href="https://tools.ietf.org/html/rfc3986" target="_external">RFC 3986</a>. |
| An URI schema (the part before the colon) defines the context and thus defines the type of URI, which determines the interpretation of the following part. Examples of popular schemes include <code>https</code>, <code>mailto</code>, <code>file</code>, <code>data</code>, and <code>irc</code>. |
| Custom URI schemes can be used to trigger processing inside an application - so this extension point allow plug-in developers to add handlers for their custom URI scheme. |
| </p> |
| <p> |
| The identifing key of such a handler is the URI scheme name. If multiple handlers are registered for the same URI scheme the first found handler is called. The order of the handlers in undefined. |
| </p> |
| <!-- Add details about the preference page once it is available--> |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appinfo> |
| <meta.element internal="true" /> |
| </appinfo> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="uriSchemeHandler" minOccurs="1" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="point" type="string" use="required"> |
| <annotation> |
| <documentation> |
| a fully qualified identifier of the target extension point |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="id" type="string"> |
| <annotation> |
| <documentation> |
| an optional identifier of the extension instance |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="name" type="string"> |
| <annotation> |
| <documentation> |
| an optional name of the extension instance |
| </documentation> |
| <appinfo> |
| <meta.attribute translatable="true"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="uriSchemeHandler"> |
| <annotation> |
| <documentation> |
| <p>Associates an URI scheme with a hander implementation.</p> |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="uriScheme" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The URI scheme name. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="uriSchemeDescription" type="string" use="required"> |
| <annotation> |
| <documentation> |
| A human readable description of the URI scheme. |
| </documentation> |
| <appinfo> |
| <meta.attribute translatable="true"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| The fully qualified name of the handler class implementing <code>org.eclipse.urischeme.IUriSchemeHandler</code>. |
| </documentation> |
| <appinfo> |
| <meta.attribute kind="java" basedOn=":org.eclipse.urischeme.IUriSchemeHandler"/> |
| </appinfo> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="since"/> |
| </appinfo> |
| <documentation> |
| 4.9 |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="examples"/> |
| </appinfo> |
| <documentation> |
| <p> |
| The following defines a handler for the <code>hello</code> protocol. |
| </p> |
| <pre> |
| <extension |
| point="org.eclipse.ui.uriSchemeHandlers"> |
| <uriSchemeHandler |
| class="org.eclipse.ui.examples.urischemehandler.listeners.HelloListener" |
| uriSchemeDescription="The Hello World demo protocol" |
| uriScheme="hello"> |
| </uriSchemeHandler> |
| </extension> |
| </pre> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="apiinfo"/> |
| </appinfo> |
| <documentation> |
| <p> |
| The value of the <code>class</code> attribute must be the fully qualified name of a class that implements the<code>org.eclipse.swt.widgets.Listener</code> interface. |
| </p> |
| <p> |
| Handlers are called in the user interface thread when it free for the next time. Handler implementations should not perform long running tasks in the user interface thread. |
| </p> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="implementation"/> |
| </appinfo> |
| <documentation> |
| <p> |
| There is no productive implementation provided. An example can be found in the org.eclipse.ui.examples.uriSchemeHandler plug-in. |
| </p> |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appinfo> |
| <meta.section type="copyright"/> |
| </appinfo> |
| <documentation> |
| Copyright (c) 2002, 2007 IBM Corporation and others.<br> |
| |
| This program and the accompanying materials are made |
| available under the terms of the Eclipse Public License 2.0 which accompanies |
| this distribution, and is available at <a |
| href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-v20.html</a>/ |
| |
| SPDX-License-Identifier: EPL-2.0 |
| </documentation> |
| </annotation> |
| |
| </schema> |