<?xml version="1.0" encoding="US-ASCII" ?>
<!DOCTYPE rfc SYSTEM "http://xml.resource.org/authoring/rfc2629.dtd" [
    <!ENTITY rfc2397 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2397.xml'>
    <!ENTITY rfc3023 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3023.xml'>
    <!ENTITY rfc3023 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3023.xml'>
    <!ENTITY rfc3629 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml'>
    <!ENTITY rfc3986 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml'>
    <!ENTITY rfc4287 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4287.xml'>
    <!ENTITY rfc4288 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4288.xml'>
    <!ENTITY rfcLINK PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.nottingham-http-link-header.xml'>
    <!ENTITY xmlname PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-names-20060816.xml'>
]><!-- bibxml4/reference.W3C.REC-xml-20060816.xml (XML 4th ed.) intentionally not used -->
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>

<!-- no I-D - >
    <?rfc private="Creative Commons License:      Attributions + ShareAlike" ?>
    <?rfc header="Interim draft" ?>
    <?rfc footer="draft-ellermann-opensearch-01" ?>
<! - no I-D -->

<?rfc toc="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes" ?>
<?rfc strict="yes" ?>
<?rfc rfcprocack="yes" ?>

<rfc docName="draft-ellermann-opensearch-01" category="info"
     ipr="full3978" xml:lang="en-GB-oed"><front>
    <title abbrev="OpenSearch Description"> The application/opensearchdescription+xml media type </title>
    <author initials="F." surname="Ellermann" fullname="Frank Ellermann">
        <organization>xyzzy</organization>
        <address>
            <postal>
                <street></street>
                <city>Hamburg</city>
                <region>Germany</region>
            </postal>
            <email>hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com</email>
            <uri>http://purl.net/xyzzy/</uri>
        </address>
    </author>
    <date />
    <abstract><t>
        This memo defines the application/opensearchdescription+xml media type
        for OpenSearch descriptions. Atom and XHTML &lt;link&nbsp;rel="search"&nbsp;.../&gt;
        elements are examples where this media type is used.
    </t></abstract>

    <note title="Editorial note"><t>
        In <xref target="iana" /> RFC&rfc.number; is a placeholder for this memo.
        This note and the <xref target="history">document history</xref>
        should be removed before publication.  The draft can be discussed
        on the <eref target="mailto:opensearch@googlegroups.com" /> mailing list.
    </t></note>
</front><middle>

<section title="Introduction" anchor="intro"><t>
        OpenSearch descriptions are a way to specify the format of search queries
        and results for a given topic or purpose. The
        <xref target="XML" /> format is supported by various user agents and search
        engines. Simple OpenSearch descriptions in essence specify the parameters
        of a Web form for a search query.
    </t><t>
        A link "search" relation as used in Atom <xref target="RFC4287" />, HTML,
        XHTML, and HTTP <xref target="I-D.nottingham-http-link-header" /> allows
        auto-discovery of OpenSearch descriptions.  User agents supporting this
        feature will offer to "install" the search description, i.e. make it
        available together with other installed search descriptions independent
        of the contexts where those descriptions were found.
    </t><t>
        Another way to install OpenSearch descriptions is to use a function such
        as "AddSearchProvider" supported by some Web browsers. What such
        "installation" procedures actually do depends on the client software,
        e.g., they could replace the URI of an icon in the description by an
        equivalent "data:" URI <xref target="RFC2397" /> for privacy and other
        reasons.

    </t><section title='link rel="search" example'><t>
        The following example of a "search" relation in the &lt;head&gt; element
        of an XHTML document allows auto-discovery of an OpenSearch description
        with title "Demo search" at the URI &lt;http://example.org/demo.xml&gt;:
    </t><figure><artwork>
    &lt;link rel=&quot;search&quot;
          href=&quot;http://example.org/demo.xml&quot;
          type=&quot;application/opensearchdescription+xml&quot;
          title=&quot;Demo search&quot; /&gt;
    </artwork></figure></section>

    <section title="AddSearchProvider example"><t>
        A script might allow the installation. The following XHTML example links
        to the OpenSearch description for manual inspection when the "onclick"
        approach is not supported:
    </t><figure><artwork>
    &lt;a href=&quot;http://example.org/demo.xml&quot;
       onclick=&quot;window.external.AddSearchProvider(
                     &#39;http://example.org/demo.xml&#39;); return false&quot;
       title=&quot;Add Search Provider&quot;&gt;Demo search&lt;/a&gt;
    </artwork></figure><t>
        The "AddSearchProvider" function is not specified in this memo.  For a
        discussion of "onclick" event handlers and the HTTP header field
        Content-Script-Language see a relevant specification,
        e.g., <xref target="XHTML" />.
    </t></section>
</section>

<section title="TBD"><t>
TBD - this is a DRAFT, see "Status of this Memo" above
</t></section>

<section title="Internationalization Considerations" anchor="i18n"><t>
TBD - this is a DRAFT, see "Status of this Memo" above
</t></section>

<section title="Security Considerations" anchor="securi"><t>
TBD - this is a DRAFT, see "Status of this Memo" above
</t></section>

<section title="IANA Considerations" anchor="iana">
    <section title='link rel="search"'><t>
    Below you find the
    <xref target="I-D.nottingham-http-link-header" />
    registration template for the link "search" relation under
    <eref target="http://www.iana.org/assignments/relation/" />:
</t><t><list style="hanging" hangIndent="16">
    <t hangText="Relation name:">
    search
</t><t hangText="Description:">
    a related search resource such as an OpenSearch description
</t><t hangText="Reference:">
    RFC&rfc.number;

</t></list></t></section><section title="application/opensearchdescription+xml"><t>
    Below you find the <xref target="RFC4288" /> registraton template
    for the subtype "opensearchdescription+xml" of the "application"
    media type under
    <eref target="http://www.iana.org/assignments/media-types/application/" />:
</t><t><list style="hanging" hangIndent="16">
    <t hangText="Type name:">
    application
</t><t hangText="Subtype name:">
    opensearchdescription+xml
</t><t hangText="Required parameters:"><vspace />
    There are no required parameters.
</t><t hangText="Optional parameters:"><vspace />
    charset (defaults to "UTF-8")
</t><t hangText="Encoding considerations:"><vspace />
    Identical to those of "application/xml" as described in
    <xref target="RFC3023" />; especially "UTF-8" <xref target="RFC3629" />
    and its proper subset "US-ASCII" are supposed to work.<vspace />
    For non-ASCII documents served as "text/xml" the "charset"
    parameter is required; this might be relevant when authors are unable
    to configure the server hosting their OpenSearch descriptions.
</t><t hangText="Security considerations:"><vspace />
    All general security and privacy considerations for sending queries to
    servers specified in an URL are applicable. <!-- same a above -->
    See RFC&rfc.number; <xref target="securi" /> for more info.
</t><t hangText="Interoperability considerations:"><vspace />
    OpenSearch descriptions use the
    <eref target="http://a9.com/-/spec/opensearch/1.1/" /> XML name space,
    optionally in conjunction with other XML name spaces for extensions or
    for application specific purposes.
</t><t hangText="Published specification:"><vspace />
    RFC&rfc.number;, <eref target="http://www.opensearch.org/Specifications" />
</t><t hangText="Applications that use this media type:"><vspace />
    Various search cients including popular Web browsers, search engines,
    and software libraries support OpenSearch descriptions.
</t><t hangText="Additional information:"><vspace />
TBD
</t><t hangText="Person &amp; email address to contact for further information:"><vspace />
TBD
</t><t hangText="Intended usage:">
    COMMON
</t><t hangText="Restrictions on usage:"><vspace />
TBD
</t><t hangText="Author:">
TBD
</t><t hangText="Change controller:"><vspace />
    IETF
</t></list></t></section></section>

<section title="Acknowledgments"><t>
        DeWitt Clinton did not yet accept the idea that he is supposed to be the
        author or co-author of this memo... ;-)
</t></section>
</middle><back>
    <references title="Normative References">
        &rfc3023;
        &rfc3629;
        &rfc4288;
        &rfcLINK;
    </references>

    <references title="Informative References">
        &rfc2397;
        &rfc3986;
        &rfc4287;

        <!-- reference.W3C.REC-xml-20060816.xml intentionally not used -->
        <!-- reference.W3C.REC-xml-20001006.xml copied and fixed below -->
        <reference
            anchor='XML'
            target='http://www.w3.org/TR/2000/REC-xml-20001006.html'>
            <front>
                <title>Extensible Markup Language (XML) 1.0 (Second Edition)</title>
                <author fullname='Jean Paoli' surname='Paoli'
                        initials='J.'><organization /></author>
                <author fullname='Tim Bray' surname='Bray'
                        initials='T.'><organization /></author>
                <author fullname='Eve Maler' surname='Maler'
                        initials='E.'><organization /></author>
                <author fullname='C. M. Sperberg-McQueen' surname='Sperberg-McQueen'
                        initials='C.'><organization /></author>
                <date month='October' day='6' year='2000' />
            </front>
            <seriesInfo name='World Wide Web Consortium Recommendation'
                        value='REC-xml-20001006' />
        </reference>
        <reference
            anchor='XHTML'
            target='http://www.w3.org/TR/2002/REC-xhtml1-20020801'>
            <front>
                <title>XHTML 1.0 The Extensible HyperText Markup Language (Second Edition)</title>
                <author fullname='Steven Pemberton'
                        initials='S.' surname='Pemberton'><organization /></author>
                <date month='August' day='1' year='2002' />
            </front>
            <seriesInfo name='World Wide Web Consortium Recommendation'
                        value='REC-xhtml1-20020801' />
        </reference>

        &xmlname;
    </references>

    <section title="Document History" anchor="history"><t>
        Changes in version 01:
    </t><t>
        <list style="symbols"><t>
            Move registry cleanup from <xref target="iana" /> to the
            (hopefully) next <xref target="I-D.nottingham-http-link-header" />.
        </t><t>
            Adopt registration template in
            <xref target="I-D.nottingham-http-link-header" />
            replacing the similar <xref target="RFC4287" /> template.
        </t><t>
            Some background info with examples parked in the introduction.
        </t></list>
    </t><t>
        Changes in version 00:
    </t><t>
        <list style="symbols"><t>
            This is a kind of template that could be extended to register
            rel="search" and application/opensearchdescription+xml if the
            OpenSearch community likes this approach.
        </t><t>
            The change controller for a media type in the standards tree
            has to be a SDO (Standards Development Organization) recognized
            by the IESG or IAB on behalf of the IETF community, not
            necessarily the IETF itself.
        </t><t>
            For atom:link relations IESG review is good enough. Informational
            IETF RFCs are approved by the IESG in a "document action", this
            would trigger the IANA considerations in <xref target="iana" />.
        </t></list>
    </t></section>
</back></rfc>
