<?xml version="1.0" encoding="US-ASCII" ?>
<!DOCTYPE rfc SYSTEM "http://xml.resource.org/authoring/rfc2629.dtd" [
    <!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 rfc3933 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3933.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 bis4288 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-freed-media-type-regs-01.xml'>
    <!ENTITY rfc4897 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4897.xml'>
    <!ENTITY rfc5988 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5988.xml'>
]>
<?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-03" ?>
<! - no I-D -->

<?rfc toc="no" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes" ?>
<?rfc strict="yes" ?>
<?rfc colonspace="yes" ?>
<?rfc rfcedstyle="no" ?>
<?rfc rfcprocack="yes" ?>
<?rfc notedraftinprogress="yes" ?>
<?rfc text-list-symbols="*o" ?>

<rfc docName="draft-ellermann-opensearch-03" category="info"
     submissionType="independent"
     ipr="trust200902" 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 /><workgroup>.</workgroup>
    <abstract><t>
        This draft suggests to register the<vspace />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>
</front><middle>

<section title="Introduction" anchor="intro"><t>
    This draft suggests to register the<vspace />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><t>
    It can be discussed in <eref target="http://groups.google.com/group/opensearch" />
    or on the <eref target="mailto:ietf-types@iana.org" /> mailing list.  Because this draft is
    not (more) intended to be published as RFC the normative and informative references are
    actually only "further readings".
</t></section>

<section title="Security Considerations" anchor="security"><t>
    The security considerations are a part of the
    <xref target="iana">IANA</xref> media subtype registration template.
</t></section>

<section title="IANA Considerations" anchor="iana"><t>
    Below you find the <xref target="RFC4288" /> registration 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 blankLines="1" />
    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 OSD (OpenSearch Description
    document).
</t><t hangText="Security considerations:"><vspace />
    All general security and privacy considerations for sending queries to
    servers specified in an URL are applicable.
<vspace blankLines="1" />
    Where clients support the optional update feature in
    OSDs it affects the privacy of users.
<vspace blankLines="1" />
    The EcmaScript API AddSearchProvider() typically
    enforces a "same origin" policy for the OSD; the URL
    element within the OSD can designate a third party
    as search provider.
<vspace blankLines="1" />
    An OSD can claim to be a search description for X,
    but actually do something else.
</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 />
    <eref target="http://www.opensearch.org/Specifications/1.1/" />
</t><t hangText="Applications that use this media type:"><vspace />
    Various Web browsers, search engines, and software
    libraries support OSDs.  The "search" link relation
    is used on many Web pages with this media type.
<vspace blankLines="1" />
    The EcmaScript API AddSearchProvider() documented for
    WhatWG HTML uses this media type.
</t><t hangText="Additional information:"><vspace />
    OSDs have no "magic numbers" as defined in RFC 4288.
    There are no special "common file name extensions" for
    OSDs, OSDs are XML documents.  If specific extensions
    are desired the conventional ".osdx" or ".a9.xml" might
    do the trick.
</t><t hangText="Person &amp; email address to contact for further information:"><vspace />
    <eref target="http://groups.google.com/group/opensearch" />
    <eref target="http://www.opensearch.org/Community/Guidelines" />
</t><t hangText="Intended usage:">
    COMMON
</t><t hangText="Restrictions on usage:"><vspace />
    None
</t><t hangText="Author:">
    DeWitt Clinton
</t><t hangText="Change controller:"><vspace />
    <eref target="http://www.opensearch.org/" />
</t></list></t></section>

<section title="Acknowledgments"><t>
    As always John Klensin is an inspiration for all kinds of
    "process experiments" not limited to <xref target="RFC3933" />
    and <xref target="RFC4897" />.  Thanks to Mark Nottingham for
    registering the "search" link relation, to Ian Hickson for
    documenting window.external.AddSearchProvider() in
    <xref target="WhatWG" /> HTML, to Sam Ruby for validating
    OSDs at <eref target="http://feedvalidator.org/" />, and to
    DeWitt Clinton for specifying
    <xref target="OpenSearch" /> with the OpenSearch community.
</t><t>
    Paul Libbrecht suggested to add a clipboard name and MAC OS9
    file type code if applicable.  Neither <xref target="RFC4288" />
    nor <xref target="OpenSearch" /> offer any applicable info.
</t><t>
    Thanks also to Henrik Levkowetz, Julian Reschke, and the
    "happy IANA" folks.
</t></section>

</middle>
<?rfc needLines="20" ?>
<back>
    <references title="Normative References">
        &rfc3023;
        &rfc3629;
        &rfc4288;

        <reference
            anchor='OpenSearch'
            target='http://www.opensearch.org/Specifications/OpenSearch/1.1'>
            <front>
                <title>OpenSearch 1.1</title>
                <author fullname='DeWitt Clinton' surname='Clinton'
                        initials='D.'><organization>Google</organization></author>
                <date year='2011' />
            </front>
        </reference>
    </references>

    <references title="Informative References">
        &rfc3933;
        &rfc4287;
        &rfc4897;
        &rfc5988;

        <reference
            anchor='EcmaScript'
            target='http://www.ecma-international.org/publications/standards/Ecma-262.htm'>
            <front>
                <title>ECMAScript Language Specification Edition 5.1</title>
                <author /><date month='June' year='2011' />
            </front>
            <seriesInfo name='ecma international Standard'
                        value='ECMA-262' />
        </reference>
        <reference
            anchor='WhatWG'
            target='http://www.whatwg.org/specs/web-apps/current-work/multipage/'>
            <front>
                <title>HTML Living Standard &mdash; Last Updated 11 November 2011</title>
                <author fullname='Ian Hickson' surname='Hickson'
                        initials='I.'><organization>Google</organization></author>
                <date year='2011' />
            </front>
        </reference>

        <!-- 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="XML-names"
            target="http://www.w3.org/TR/2009/REC-xml-names-20091208">
            <front>
                <title>Namespaces in XML 1.0 (Third Edition)</title>
                <author fullname="Henry S. Thompson" surname="Thompson"
                        initials='H.'><organization /></author>
                <author fullname="Andrew Layman" surname="Layman"
                        initials="A."><organization /></author>
                <author fullname="Tim Bray" surname="Bray"
                        initials="T."><organization /></author>
                <author fullname="Dave Hollander" surname="Hollander"
                        initials="D."><organization /></author>
                <author fullname="Richard Tobin" surname="Tobin"
                        initials="R."><organization /></author>
                <date month="December" day="8" year="2009" />
            </front>
            <seriesInfo name="World Wide Web Consortium Recommendation"
                        value="REC-xml-names-20091208" />
        </reference>

        &bis4288;
    </references>

<?rfc needLines="20" ?>
    <section title="Document History" anchor="history"><t>
        Changes in version 03:
    </t><t>
        <list style="symbols"><t>
            Fixed the bogus "no RFC" boilerplate used in version -02:
            Only this draft is not more intended to be published as
            RFC.  Everybody is free to create derivative IETF drafts.
        </t><t>
            Updated the credits based on a discussion on the
            <eref target="mailto:ietf-types@iana.org" /> mailing list.
        </t><t>
            Updated the <xref target="WhatWG" /> reference;
            xml2rfc is notoriously hostile to any "as of today" concepts.
            Removed explanation that xml2rfc strict="yes" insists on
            the presence of <xref target="security" />.
        </t><t>
            Checked <xref target="I-D.freed-media-type-regs" /> for
            suggested new tricks wrt clipboard names, MAC OS9 file
            type codes, or grandfathered media subtype name squatting
            in the standards tree.
        </t></list>
    </t><t>
        Changes in version 02 (2011):
    </t><t>
        <list style="symbols"><t>
            Plan B: Nobody is going to write an RFC for this media type;
            especially nobody is going to create a formal XML DTD or
            similar definition above what is already documented in the
            OpenSearch 1.1 specification.
        </t><t>
            [I-D.nottingham-http-link-header] replaced by
            <xref target="RFC5988" />.  Removed the registration of link
            relation "search", because that already happened based on
            <xref target="RFC5988" />.
        </t><t>
            Removed everything related to RFC&rfc.number;, this draft
            is not more intended to be published as RFC.
        </t><t>
            Updated the credits.  Populated the "TBD" placeholders in the
            template <xref target="iana" />.
        </t></list>
    </t><t>
        Changes in version 01 (2008):
    </t><t>
        <list style="symbols"><t>
            Move registry cleanup from Section 5 to the (hopefully) next
            [I-D.nottingham-http-link-header].
        </t><t>
            Adopt registration template in [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>
        Initial version:
    </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>

