INTERNET DRAFT                                     Davide Musella
draft-musella-html-metatag-02.txt             National Research Council
                                                  January 29, 1996
                                                Expires in six months

                       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
   davide@jargo.itim.mi.cnr.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 cataloguing.

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 = "author" CONTENT = "Pennac, Rossi">
   or:
        <META HTTP-EQUIV = "writer" CONTENT = "Pennac, Rossi">

   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

   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

   The HTTP-EQUIV and the NAME attributes are mutually exclusives.

 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 case insensitive. If absent, the NAME
   attribute should be used to identify the 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
                      (HTTP-date format)
        expire:       to indicate the expire date of the document
                      (HTTP-date format)
        language:     to indicate the language of the document
                      (using ISO3316 code or ISO639 code)
        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
                      (format: 00, 01, 02, or 000, 001, ...)

   An HTTP server must process these tags for an HEAD HTTP requestr.
   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 "number
   of pages" or "preferred browser" or any info an author want to insert
   in his document. The keywords indicates in the previous paragraph for
   the HTTP-EQUIV are still valid also in the NAME context.
   An example:

            <META NAME= "Maybe Published By" CONTENT = "McDraw Bill">
   or
            <META NAME= "keywords" CONTENT = "manual, scouting">

   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.
   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 pen" means :"(Red AND ball) OR (White AND pen)".
   Example:

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

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

 6. Cataloguing an HTML document

   These 'keywords' were specifically conceived to catalogue HTML documents.
   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".