<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.equinox.http.registry">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.equinox.http.registry" id="servlets" name="Http Service Filters"/>
      </appInfo>
      <documentation>
         This extension mimics and borrows the semantics of the Equinox Extended HttpService registerFilter method.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="serviceSelector" minOccurs="0" maxOccurs="1"/>
            <element ref="filter" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="filter">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="alias"/>
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="init-param" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The equivalent of the Equinox Extended Http Service's &quot;filter&quot; in registerFilter. The Filter is instantiated by the Extension Point provider and must be an instance of javax.servlet.Filter
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="javax.servlet.Filter"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="alias" type="string" use="required">
            <annotation>
               <documentation>
                  The equivalent of the Equinox Extended Http Services &quot;alias&quot; in registerFilter.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="httpcontextId" type="string">
            <annotation>
               <documentation>
                  The equivalent of the Equinox Extended Http Services httpcontext in registerFilter. The httpcontextId is matched against the &quot;httpcontexts&quot; extension for a matching id. If this attribute is not provided the OSGi Http Service&apos;s DefaultHttpContext semantics are used.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="load-on-startup" type="boolean">
            <annotation>
               <documentation>
                  Determines if the Filter should be initialized immediately.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="init-param">
      <annotation>
         <appInfo>
            <meta.element labelAttribute="name"/>
         </appInfo>
         <documentation>
            Similar to the Servlet Specification and its deployment descriptor&apos;s init-param elements.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The initial parameter&apos;s name
               </documentation>
            </annotation>
         </attribute>
         <attribute name="value" type="string" use="required">
            <annotation>
               <documentation>
                  The initial parameter&apos;s value
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="serviceSelector">
      <complexType>
         <attribute name="filter" type="string">
            <annotation>
               <documentation>
                  The serviceSelector allow filtering of the HttpService instances with which to register filters.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string">
            <annotation>
               <documentation>
                  If used the class must be an instance of org.osgi.framework.Filter
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.osgi.framework.Filter"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         1.1
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The following is an example of the &lt;code&gt;filters&lt;/code&gt; extension:
&lt;pre&gt;
     &lt;extension
           id=&quot;testFilter&quot;
           point=&quot;org.eclipse.equinox.http.registry.filters&quot;&gt;
        &lt;filter
              alias=&quot;/sp_test&quot;
              class=&quot;org.eclipse.equinox.http.registry.internal.TestFilter&quot;&gt;
           &lt;init-param
                 name=&quot;testParam&quot;
                 value=&quot;test param value&quot;&gt;
           &lt;/init-param&gt;
        &lt;/filter&gt;
     &lt;/extension&gt;
&lt;/pre&gt;

This equivalent to the Equinox Extended Http Service&apos;s registerFilter method.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Filters must be an instance of javax.servlet.Filter
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2010 IBM Corporation and others
&lt;br&gt;

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 
&lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/

SPDX-License-Identifier: EPL-2.0.
&lt;br&gt;
Contributors:&lt;br&gt;
Cognos Incorporated - initial API and implementation&lt;br&gt;
IBM Corporation - bug fixes and enhancements&lt;br&gt;
      </documentation>
   </annotation>

</schema>
