1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
<?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>
|