NOT the comp.text.sgml FAQ


Subject:   NOT the comp.text.sgml FAQ  
Author:    Joe English <jenglish@flightlab.com>
Date:      1999/04/01
Forum:     comp.text.sgml 

Archive-Name:		sgml/not-the-faq
Posting-Date: 		1 April 1999
Posting-Frequency: 	sporadic


Not the comp.text.sgml Frequently Asked Questions List

Copyright (C) 1997, 1999 Joe English.  All rights reserved.  There are
lots of wrongs in this document, and those are all reserved too.
Author bears no responsibility for any other reservations you might
have.  Standard disclaimers apply.  For external use only.  If
irritation, rash, or swelling occurs, discontinue use immediately.
Void where prohibited.


Part 1.  Administrivia.

Q.  Is there a FAQ for this newsgroup?

A.  Yes.  This is not it.


Q.  In the real FAQ, how come all the answers just point to
    <URL: http://www.oasis-open.org/cover/ >?

A.  If you've ever tried to get more than four SGML experts to agree
    on the answer to _any_ question, you'd understand.  The only thing
    that every expert agrees on is that Robin Cover's web site
    is the best source of SGML information available anywhere;
    that in itself is pretty amazing.


Q.  I sent in an update to this FAQ last year, but my question
    didn't show up in this edition.  What's the deal?

A.  I can't find my notes :-(.  Sorry about that.



Part 2.  SGML, HTML, and XML.


Q:  In what way is XML simpler than SGML?

A:  Nearly everyone who has ever adopted an SGML-based system
    will agree that the hardest part of the project is the initial
    set-up.  This process often requires highly-paid consultants, who
    spend weeks or even months analyzing requirements in order
    to write a DTD, or sometimes simply to select an existing one and
    tailor it to the customer's needs.

    Since XML does not require DTDs, it is hoped that companies
    who adopt XML instead of full SGML can skip this expensive and
    time-consuming step.


Q:  Why did XML become popular so quickly, while SGML still doesn't
    have much visibility?

A:  I suspect that it's because XML has an "X" in its name,
    so it sounds a lot cooler.


Q.  How do I make a transparent background image?

A.  That's more of an HTML/Web question than an SGML question.
    Try comp.infosystems.www.authoring.*.


Q.  How do I make a link that loads two frames at the same time?

A.  Try asking in comp.infosystems.www.authoring.*, down
    the hall, second newsgroup on the right.


Q.  How do I make a borderless centered blinking table in a frame?

A.  Ask in the *Web* newsgroups, fercryinoutloud!


Q.  Is there a list of all the new tags in Netsca--

A.  NO! SHUT UP! GO AWAY!

    Sheesh!


Q.  Can anybody explain the relationship between SGML, HTML, and XML?

A.  Apparently not.



Part 3.  Miscellany.


Q.  Why can't you specify character numbers in hexadecimal?

A.  SGML is designed to be readable by human beings as well as
    by computers, and humans tend to find decimal numbers easier
    to interpret than hex, as the following demonstrates:

	<!-- Decimal example: -->
	<P>&#119;&#101;'&#114;&#101; &#122;&#97;&#110;&#121; &#116;&#111;
	&#116;&#104;&#101; &#109;&#97;&#120;

	<!-- Hex example: -->
	<P>&#74;&#68;&#65;&#72;&#65;'&#73; &#62;&#61;&#6C;&#6F;&#6E;&#65;&#79;
	&#69;&#6E; &#6F;&#75;&#72; &#73;&#6C;&#61;&#63;&#6B;&#73;

   The first example is clearly much more readable than the second.


Q.  What is the philosophy of SGML?

A.  "The philosophy of SGML" is a rhetorical device, most often
    invoked when one participant in a discussion disagrees with
    something another has proposed.  Typical usage: "That goes
    totally against the philosophy of SGML, which dicates that
    [... fill in the blank ...]".


Q.  OK, so then what's the spirit of SGML?

A.  This is not formaly defined at present.  A proposed amendment
    to ISO 8879 (below) seeks to correct this deficiency:

    [Text of proposed changes:]

|   4.333 spirit of SGML: An alcoholic concoction produced by fermenting
|   a conforming SGML document.
|
|   4.334 spirit of SGML: The name of a boat which will win the Whitbread
|   Round-the-World yacht race in the year of the 100th anniversary of the
|   adoption of SGML.
|
|   4.335 spirit of SGML: The ghost of the inventor of SGML who comes
|   back to haunt you every time you write "fully-tagged" without a hyphen.

    (Thanks to Steve Pepper for this one.)


Q.  What's so great about ISO standardization?

A.  It is often said that one of the advantages of SGML over some
    other, proprietary, generic markup scheme is that "nobody owns
    the standard".  While this is not strictly true, the ISO's pricing
    policy certainly has helped to keep the number of people who do own
    a copy of the Standard at an absolute minimum.

    [ Ed. note: I'm not exactly sure why this is seen as an advantage,
      it's just something people say. ]


Part 4.  Terminology.

Q.  What's a DTD?

A.  DTD is an acronym for Document Type Definition, which consists
    of a formal part (specified in SGML) and an informal part (specified
    in natural language).

    Many people forget about the informal part and use "DTD" to refer
    only to the formal part (i.e., the stuff that usually goes in a
    file named "something.dtd").  This is incorrect: the proper term
    for this object is "the entity containing the external subset of
    the formal part of the document type definition".

    (SGML has a tradition of using the longest possible phrases
    to describe the most frequently talked-about concepts; see also
    "declared-content-or-content-model".)

    The term "DTD" is also often confused with the document
    type declaration, mostly because they have the same initials.


Q.  What's an application?

A.  As with most SGML terminology, "application" has a very
    precise and specific meaning, to wit:

	"4.5 application: Text processing application.

	4.318 text processing application:  A related set of
	proceses performed on documents of related types.

	4.279 SGML application: Rules that apply SGML to a
	text processing application. An SGML application includes
	a formal specification of the markup constructs used in the
	application, expressed in SGML. [...]"

		[ ISO 8879 Section 4 "Definitions" ]


    Or, more clearly and concisely:

	"By 'application' I mean it in the SGML and database sense,
	meaning a collection of data of specific types and semantics
	to which processing is applied, rather than the processors
	themselves."

	    [Eliot Kimber, in a message to w3c-sgml-wg,
	    <3.0.32.19970123095221.00b70da0@uu10.psi.com>]


    Typical example of usage:

	"The text of an SGML document is classified in either
	of two ways: as markup characters or as data characters
	that are passed to an *application* for processing."

	    [Charles Goldfarb, The SGML Handbook, section 7.6 p. 319]



Part 5.  Esoterica.


Q.  Why does nsgmls complain that '((a|b)*,b)' is ambiguous?

A.  Because it's not clear whether 'a' stands for Anchor, Author,
    or Address.


Q.  OK, so how do I make it unambiguous?

A.  [Serious answer]  This depends of course on the content model
    in question.  Your best bet is to post to comp.text.sgml, where
    you are likely to receive several answers.  Many will be wrong,
    so don't take any advice from the newsgroup unless three or more
    respondents say the same thing.

    Exception to above rule: If Marcy Thompson answers, do whatever she says.


Q.  What's an RE?

A.  RE is an acronym for Record End, which is sort of like a
    newline, only different.

    Goldfarb's First Law of Text Processing states that:

	"... if a text processing system has bugs, at least one of
	them will have to do with the handling of input line endings."

	    [The Handbook, footnote p. 321]

    The Record End concept was introduced to make sure that SGML
    parsers don't violate Goldfarb's First Law.


Q.  So what's an RS?

A.  An RS is a fictitious character inserted by the entity manager
    and later removed by the parser.  Applications shouldn't ever have to
    worry about RSs; their primary function is to make REs disappear
    in mysterious places.


Q.  What's the difference between a QUANTITY and a CAPACITY?

A.  In the SGML declaration, a "quantity" is an arbitrary limit
    placed on the size of individual parts of a document which
    must be increased in order to use reasonable DTDs.  A "capacity"
    on the other hand is an arbitrary limit placed on the size
    of the document as a whole which must be increased in order
    to process reasonably-sized documents.

    Quantities and capacities are used to make sure that every
    document includes an SGML declaration.  Were it not for
    the ridiculously small limits in the Reference Concrete Syntax,
    most SGML users would be able to simply use the default SGML
    declaration instead of providing their own, slightly modified
    version, in violation of section 6.2.


Q.  What are inclusion exceptions and how do they work?

A.  There are two primary schools of thought regarding inclusions.
    Some feel that inclusion exceptions are a dangerous and badly
    designed feature, and should never be used (exclusion exceptions,
    however, are another matter).  Others feel that inclusion exceptions
    are a useful and necessary enhancement to SGML's formal model.


Q.  What are exclusion exceptions and how do they work?

A.  There are two primary schools of thought regarding exclusions.
    Some feel that exclusion exceptions are a dangerous and badly
    designed feature, and should never be used (inclusion exceptions,
    however, are another matter).  Others feel that exclusion exceptions
    are a useful and necessary enhancement to SGML's formal model.



Part 6.  HyTime.


Q.  What's a grove?

A.  I've heard that it's supposed to be an acronym for some thing
    or another, but I don't buy it.


Q.  What's the difference between a 'wand' and a 'baton' in the
    HyTime scheduling and rendition module?

A.  Sorry, it took me three months just to figure out 'pathloc'.
    I'm not even going to try to answer that one.


Q.  How many HyTime consultants does it take to screw in a lightbulb?

A.  Just one.  HyTime's powerful linking and location facilities make
    it trivial to create a link expressing the abstract semantic of
    "screwing" with the lightbulb and the socket as link-ends, and
    even if the lightbulb and socket are not expressed as SGML objects
    you're free to use whatever application-specific query notation
    you desire to locate them.

    The actual installation of the light bulb is, of course, left
    up to the application.



Part 7.  DSSSL, CSS, XSL, and DHTML.


Q.  What are DSSSL, CSS, XSL and DHTML?

A.  They are acronyms.

    See Robin Cover's extensive SGML/XML web site at

	<URL: http://www.oasis-open.org/cover/ >

    for more information.


</>

--Joe English
  jenglish@flightlab.com