INTERNET DRAFT                                     Davide Musella
draft-musella-html-metatag-01.txt             National Research Council
                                                  20 December 1995

                       The META Tag of HTML



Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as ``work in progress.''

   To learn the current status of any Internet-Draft, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Cost) or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited. Please send comments to
   Davide Musella, davidmsl@anti.tesi.dsi.unimi.it or to
   musella@dsi.unimi.it , (voice) +39.(0)2.70643271


Abstract

   This document defines a strict synopsis for the META Tag of HTML.
   The grammar is extended to the contents of the HTTP-EQUIV field,
   defining a set of words to use to allow document cataloging.

1. Introduction

   Now the synopsis of the META HTTP-EQUIV Tag is not severe, allowing so
   the use of different key words to define the same things.
   The functions like this:
        <META HTTP-EQUIV = "Keywords" CONTENT = "Italy, Tourism">
   or
        <META HTTP-EQUIV = "Keys" CONTENT = "Italy, Tourism">
   could reppresent the same concepts with two different syntax.
   The aim of this Draft is to define which are the words to use to
   define the contents of an HTML document.
   There are, also, some easy rules to implement a binary logic (AND or
   OR) for the CONTENT field.

 2. The META Tag (HTML 3.0 definition)

   The META element is used within the HEAD element to embed documents
   meta-information not defined by other HTML elements. Such information
   can be extracted by servers/clients for use in identifying, indexing
   and cataloging specialized document meta-information.

   Although it is generally preferable to used named elements that have
   well defined semantics for each type of meta-information, such as
   title, this element is provided for situations where strict SGML
   parsing is necessary and the local DTD is not extensible.





   In addition, HTTP servers can read the contents of the document head
   to generate response headers corresponding to any elements defining
   a value for the attribute HTTP-EQUIV.  This provides document authors
   with a mechanism (not necessarily the preferred one) for identifying
   information that should be included in the response headers of an
   HTTP request.

   The META element has three attributes:

   HTTP-EQUIV
   NAME
   CONTENT

 3. HTTP-EQUIV.

   This attribute binds the element to an HTTP response header. If the
   semantics of the HTTP response header named by this attribute is
   known, then the contents can be processed based on a well defined
   syntactic mapping, whether or not the DTD includes anything about it.
   HTTP header names are not case sensitive. If absent, the NAME
   attribute should be used to identify this meta-information and it
   should not be used within an HTTP response header.
   It is possible to use any text string, but if you want to define
   these properties you have to use the following words:

        keywords: to indicate the keywords of the document
        author:   to indicate the author of the document
        timestamp: to indicate when the document is authored
        expire:   to indicate the expire date of the document
        language: to indicate the language of the document
        abstract: to indicate the abstract of the document
        organization: to indicate the organization of the author
        revision: to indicate the revision number of the document
        public (Boolean): to indicate if the document is available to
                         everybody or not


   An HTTP server must process these tags for an HEAD HTTP request,
   Do not name an HTTP-EQUIV attribute the same as a response header
   that should typically only be generated by the HTTP server. Some
   inappropriate names are "Server", "Date", and "Last-Modified".
   Whether a name is inappropriate depends on the particular server
   implementation. It is recommended that servers ignore any META
   elements that specify HTTP equivalents (case insensitively) to their
   own reserved response headers.

 4. NAME.

   This attributes can be used to define some properties such as
   author, publication date etc. If absent the name can be assumed to be
   the same as the value of HTTP-EQUIV.
   An example:

            <META NAME= "Editor" CONTENT = "McDraw Bill">

   Do not use the META element to define information that should be
   associated with an existing HTML element.


 5. CONTENT

   Used to supply a value for a named property.
   If it's used with the HTTP-EQUIV it can contain more than one single
   information; it is possible to use the Boolean operator (AND, OR) to
   insert a Boolean definition of the field.
   The AND operator will be represented by the SPACE (ASCII[32]) and the
   OR operator by the COMMA (ASCII[44]).
   The AND operator is processed before the OR operator. So a string
   like this: "Red ball, White ball" means :"ball AND (red OR white)".
   Examples:

   <META HTTP-EQUIV= "Keywords" CONTENT= "Italy Product, Italy Tourism">

   The spaces between a comma and a word or vice versa are ignored.

 6. Cataloging an HTML document

   These 'keywords' were specifically conceived for exaustively and
   completely catalogue the HTML document.
   This allows the software agents to index at best your own document.
   To do a preliminary indexing, it's important to use at least the
   http-equiv meta-tag "keywords".