# SGML

Welcome to the Wikiversity Center for the Study of SGML or Standard Generalized Markup Language. This is a content development project where participants create, organize and develop learning resources about SGML.
Remember this is a WIKI. To put it in other words, criticism is good but contributions are better.

### Purpose

Untangle the SGML syntax by describing each production. The participant should be able to understand a SGML declaration, and the basics of SGML.

### Motivation

I think you can name it "computer archaeology" ;-) as the world is evolving there is no practical interest behind this topic.
This is an overwhelming task, but IMHO it's worthwhile (and amusing?). As of 2008 there is no complete lay-oriented description of of SGML (at least I haven't found any). Most of SGML-related web resources which were available some years ago (by 2001) now are gone, and I think the English Wikipedia is not the right place for recreating this material (at least, until we can assure its quality).

### Schedule

Honestly, I don't think this will be done from one day to another... maybe in one year or two.

## Introduction

The Standard Generalized Markup Language (SGML) is a metalanguage in which one can define markup languages for documents. SGML is a descendant of IBM's Generalized Markup Language (GML), developed in the 1960s by Charles Goldfarb, Edward Mosher and Raymond Lorie.
SGML provides an abstract syntax that can be realized in many different concrete syntaxes. It was originally designed to enable the sharing of machine-readable documents in large projects in government, law and industry, which have to remain readable for several decades. It has also been used extensively in the printing and publishing industries, but its complexity has prevented its widespread application for small-scale general-purpose use.

## Participants

I have no Earthly idea why anyone in their right mind would sign up for this, but here's a place to do so:
* You ~~~~
* Mr Rho 07:38, 16 Nov 2017 (UTC) (I have no earthly idea why I signed up for this, but I am not in my right mind at most times)
* w:Rjgodoy 13:46, 2 May 2008 (UTC)

## Content

(under construction)

### An Overview of the SGML declaration

The SGML declaration is composed of
* CHARSET: a description of the character set.
* CAPACITY: restricts the maximum length of a document.
* SCOPE: whether the syntax applies to the document instance only, or both document prolog and instance.
* SYNTAX: the concrete syntax to be used within the document, which contains:
** a list of illegal characters (SHUNCHAR),
** a description of the character set used in the syntax (BASESET and DESCSET),
** The definition of special characters (FUNCTION),
** NAMING rules,
** a list of general and short-reference delimiters (DELIM),
** a list of reserved keywords for use in the DTD (NAMES),
* QUANTITY: restricts the maximum length of individual productions.
* FEATURES: optional features which modify the markup.
* APPINFO: application-specific information.

### Reference Concrete Syntax
## External Links

* SGML in the English Wikipedia
* The SGML Declaration, in SGML and HTML Explained, Martin Bryan (1997)
* SGML Declarations - Wayne Wohler, IBM Corporation, 1994.
* The SGML Handbook Charles F. Goldfarb, Oxford University Press, 1990. ISBN 0198537379, ISBN 9780198537373.