After all the META tag discussions at Warwick, I thought I'd do a bit of background reading. Here's what I have so far, in case it's useful to anyone else. Comments welcome! Martin 1. Starting points There was much interest in defining a minimal set of metadata which could be embedded into HTML documents, and establishing a convention for doing this using the "META" tag in the document's "HEAD". I think it was also seen as desirable to have a way of pointing at a richer collection of metadata, in whatever format (Somebody Else's Problem?) e.g. via UR[LN]s. 2. What we actually have to play with The following attributes of META are defined by the HTML DTD in RFC 1866: <!-- <META HTTP-EQUIV=...> HTTP response header name --> <!-- <META NAME=...> Meta-information name --> <!-- <META CONTENT="..."> Associated information --> Note that if a META element has a HTTP-EQUIV attribute, this may be turned into HTTP headers at the discretion of the WWW server (but this isn't implemented by anyone? :-) We also have the following for the LINK tag, which wasn't discussed (that I recall) at Warwick, but seems to be very relevant: <!-- <LINK HREF="..."> Address of link destination --> <!-- <LINK URN="..."> Lasting name of destination --> <!-- <LINK REL=...> Relationship to destination --> <!-- <LINK REV=...> Relationship of destination to this --> <!-- <LINK TITLE="..."> Title of destination (advisory) --> <!-- <LINK METHODS="..."> Operations allowed (advisory) --> And finally, the "TITLE" element! 3. Related work These two documents, currently out as Internet Drafts, propose formalisations for the values of the META and LINK attributes, respectively. The META Tag of HTML draft-musella-html-metatag-02.txt Davide Musella, National Research Council (Italy) January 1996 This suggests ... 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 Hypertext links in HTML draft-ietf-html-relrev-00.txt Murray Maloney & Liam Quin, SoftQuad Inc. December 1995 This suggests (amongst other things!) ... REV=MADE identify the author or "maker" of an HTML document REL=AUTHOR hypertext link to an author. REL=COPYRIGHT hypertext link to a copyright notice. REL=DISCLAIMER hypertext link to a legal disclaimer. REL=EDITOR hypertext link to an editor. REL=META hypertext link to a node which contains meta-information related to the current document. REL=PUBLISHER hypertext link to a publisher. REL=TRADEMARK hypertext link to a trademark notice. REL=TRANSLATION the target is a translation to another language. REL=LANG indicates language of the target document. REL=OBSOLETES the target document is a later version of the current document REV=OBSOLETES the target document is obsoleted by the current document. REL=UPDATES the target document contains revisions to the current document. REL=DERIVED-FROM the target document was derived from the current document REV=DERIVED-FROM the current document was derived from the target document, perhaps by automatic processing or by manual editing. Think I got the RELs and REVs the right way round :-) 4. Current usage (of META) Altavista - <URL:http://www.altavista.digital.com/cgi-bin/query?pg=ah&wh at=web> "It is however possible for you to control how your page is indexed by using the META tag to specify additional keywords to index, and a short abstract." Understands "keywords" and "description" values for the META NAME attribute. Says it will index both fields as words, and return the description along with the URL in any search results. MOMspider - <URL:http://www.ics.uci.edu/WebSoft/MOMspider/docs/metainfo. html> "As shipped, MOMspider only stores the META elements tagged as "Expires", "Owner", and "Reply-To". However, it is very easy to extend MOMspider so that it will look for and store other named metainfo. Possibilities include IAFA index items for building site description files, graphical coordinates for building spacial maps of webspace, etc." ALIWEB cf. <URL:http://www.ai.mit.edu/tools/site-index.html> Robert S. Thau's WWW site indexing tool generates IAFA templates automatically for ingestion into ALIWEB. It uses the following values for the META NAME attribute: "description The value of this attribute should be a description of the document which makes sense out of context (as it will be seen by people who retrieve it from a global index). keywords The value of this attribute should be a few keywords describing the content areas addressed by the document. resource-type Indicates what sort of object this is. Currently recognized values are document and service, the latter being appropriate for search engine cover sheets and the like. If the document contains no resource-type meta-tag, document is the default. distribution Indicates to what groups of users this document is of interest. If the script is properly configured (see below), then this meta-variable will determine how the document is indexed. If you are preparing a single index for global distribution, you don't have to worry about this." "In addition, the <TITLE>s of your documents are used to fill in the Title: fields of the IAFA templates; you must give your documents HTML titles if they are to appear in your index." <<any more web crawler type usage examples for META and LINK?? info.webcrawler.com was down when I wrote this, so I couldn't check up on the robots list archive>> 5. Problems META and LINK tags being empty apparently confuses some software which has to parse the HTML. Buffers may be too small for the values being stuffed into them, e.g. abstracts and descriptions. Generating extra HTTP headers via HTTP-EQUIV isn't a widely implemented feature. <<are these serious problems ? any others ??>> 6. Conclusions Use LINK and REL=META (or was it REV=META? :-) to point at external meta info. Take a grab bag from the above to form the minimal set of embedded meta info! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%