W3C home > Mailing lists > Public > w3c-sgml-wg@w3.org > June 1997

Re: Parameter entities vs. GI name groups

From: B. Tommie Usdin <btusdin@mulberrytech.com>
Date: Thu, 19 Jun 1997 20:18:36 -0400
Message-Id: <v03007800afcf75f37f7d@DialupEudora>
To: Dave Hollander <dmh@hpsgml.fc.hp.com>
Cc: w3c-sgml-wg@w3.org
Dave --

You ask:
>However, I do not use parameter entities often. Could you list other
>significant features that would be lost?

The most common uses of parameter entities in the DTDs I develop are inside
content models as mechanisms to create consistency in heavy maintenance
environments and to over-ride defaults in a modular environment.  I make
PEs for groups of elements that I often want to use together and for
fragments of content models that I want to use identically.

For example, it is quite common for there to be three or four types of
lists in a document universe, and for all of them to be allowed in several
contexts.  So, I make a LISTS parameter entity and use it in sections,
examples, table cells, or wherever.  If the document type suddenly sprouts
another type of list (citation list, or procedure list, or
process/empowerment list, or ... ) in addition to numbered, bibliographic,
and definition lists, I can declare the new list and add it to the PE.  And
poof - it's in all contexts, without error and without a dozen DTD changes
to track.

I also like PEs because they make DTD modularization and module re-use
practical.  I don't just use them to call modules (your proposed mechanism
to get around that seems reasonable), I also use PEs to over-ride defaults
in modules I am calling.

To go back to the previous example, if my "common structures" module only
defines two types of lists and one of the DTDs in the suite that shares
this module needs three or four I can add the extra lists in another
module, re-declare the LISTS PE, and then call my re-used module.  This
saves keeping redundant declarations in environments that have many DTDs
and makes any over-rides to the organizational default explicit.

I hope I've shown why I consider PEs essential tools. So, to circle back to
my previous note, the question isn't whether I will use parameter entities
in big DTDs, the question is whether I will work in XML.  And whether I
SHOULD work in XML.  Perhaps not.

-- Tommie

B. Tommie Usdin                     Phone: 301/231-6934
Mulberry Technologies, Inc.           Fax: 301/231-6935
6010 Executive Blvd., Suite 608    E-mail: btusdin@mulberrytech.com
Rockville, MD  20852                  WWW: http://www.mulberrytech.com
Received on Thursday, 19 June 1997 20:20:11 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:25:10 UTC