Appendix C. Typechain

A Media Encoding Chain, or Metadata Pipeline

C.1. Introduction

The Internet is used increasingly for a wide variety of media types, from formatted text, images, to video and audio to geometrical three-dimensional graphics, and new combinations of media. In addition, there are many layers of encoding applied to data when it is stored and transferred on a network: compression, encoding for transfer or storage within various byte-size constraints. References to resources in the form of URIs [RFC 2396] are also now ubiquitous, though they include no reliable form of metadata.

This document proposes a simple syntax and usage for representing what operations must be performed on an associated data object in order to reach a target format. The components of an identifier in this format are names themselves defined through standard means, such as an RFC [BCP 9]. This syntax is named named Typechain . Typechains usually appear as short text strings, called "type strings" or "type identifiers" in this document.

The ways in which Typechain strings are associated with data objects, what a data object's media type means in terms of target data representation, the character code in which Typechain strings are stored or transferred, or how any particular coding or encoding process is implemented, are all outside the scope of this document. The Typechain syntax is intended to be included in specific applications by referencing this document.

The keywords MUST, MUST NOT and MAY are defined in BCP 14/RFC 2219 [BCP 14].

References

[RFC 2396] T. Berners-Lee, R. Fielding, and L. Masinter, "Universal Resource Identifiers (URI): General Syntax", RFC 2396, August 1998.

[BCP 9] S. Bradner, "The Internet Standards Process -- Revision 3", BCP 9, RFC 1602, October 1996.

[RFC 2234] D. Crocker and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.

[BCP 14] S. Bradner, "Key words for use in RFCs to indicate requirenment levels", BCP 14, RFC 2119, March 1997.

[IANA MEDIA] IANA, IANA media types and encodings directories, http://www.iana.org/assignments/media-types/index.html.

[RFC 2046] N. Freed and N. Borenstein, "MIME Part Two: Media Types", RFC 2046, November 1996.

[KDE] The K Desktop Environment (a popular GUI system for GNU/Linux), http://www.kde.org.

[GNOME] GNOME (a popular GUI system for GNU/Linux), http://www.gnome.org.

[RFC 2616] R. Fielding, J. Gettys, and J. C. Mogulet al, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June, 1999.

[RFC 1950] P. Deutsch and J. Gailly, "ZLIB Compressed Data Format Specification version 3.3", RFC 1950, May 1996.

[RFC 1951] P. Deutsch, "DEFLATE Compressed Data Format Specification, version 1.3", RFC 1951, May 1996.