This would require a new function character, for which I've use #, to mean "interpret the following a-v-l REALLY literally". 2) (A much more significant change, probably WAY beyond what would be considered evolutionary by the committee) As a programming language, SGML lacks a crucial innovation of the 1960's, namely scoping. I would like to be able to scope most if not all SGML name spaces, certainly entities and IDs, possibly elements as well. This requires either a five-page exposition, which I don't have time for, or none at all. I'd be interested if anybody has had a similar desire, and what they've done in the way of work-arounds (yes I know about SUBDOC, but that's a sledge-hammer to crack a walnut, in my view). Well, that's my $.02 -- Erik, do your worst! ht -- Henry Thompson, Human Communication Research Centre, University of Edinburgh 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 31 650-4440 Fax: (44) 31 650-4587 ARPA: ht@cogsci.ed.ac.uk JANET: ht@uk.ac.ed.cogsci UUCP: ...!uunet!mcsun!uknet!cogsci!ht
|
| This would require a new function character, for which I've use #, to
| mean "interpret the following a-v-l REALLY literally".
There will always be a use/mention problem. The above can be done by using
entity or character references for the problem characters.
| 2) (A much more significant change, probably WAY beyond what would be
| considered evolutionary by the committee) As a programming language,
| SGML lacks a crucial innovation of the 1960's, namely scoping. I would
| like to be able to scope most if not all SGML name spaces, certainly
| entities and IDs, possibly elements as well. This requires either a
| five-page exposition, which I don't have time for, or none at all. I'd
| be interested if anybody has had a similar desire, and what they've
| done in the way of work-arounds (yes I know about SUBDOC, but that's a
| sledge-hammer to crack a walnut, in my view).
I've had some of the same thoughts and have essentially the same problem.
There are couple of ways to handle it. One is to ignore the SGML-defined
ID/IDREF mechanism and set up application-managed name spaces. While this
will work and it's not too hard to set up, it does move you away from the
standard, which one should avoid whenever possible. HyTime does define
mechanisms by which you could define application-managed name spaces while
preserving the ID/IDREF semantic (essentially using a lexical type of ID or
IDREF to constrain what are otherwise attributes with a declared value of
NAME rather than ID).
I have spent some time puzzling on this issue and the conclusion currently
holding sway in my brain is a mechanism by which each element that itself
has an ID defines a new ID name space such that the IDs of the direct
children of an element that has an ID must be unique within the scope of
that element, but the IDs of grandchildren need not be unique within that
scope. For example:
\
, and others have "thin" markup, with \. I'd like to be able to identify \
within any particular instance of \
, and others have "thin" markup, with | | \ | | I'd like to be able to identify \
within any particular instance of | \
This is the first chapter \
The \
{TeXt + #} in the bottom rule, as soon as the rule was triggered, it would suck up all the text until the end of the paragraph and then write it all back out to the output file preceded by \
. We haven't continued to use it because we found it too difficult to create and maintain templates that could really deal with our files. It was too easy to create spaghetti code. We could accomplish the same result faster using something like REXX or AWK. The real problems, however, lay in the Word files themselves. I'm sure that you've heard it here over and over again; you can't get reliable, consistent markup from a GUI word painter. Even with a well-defined set of styles I found that authors were too variable in the way they formatted the document. It was very hard (and, by the way, it still is) to account for every permutation of formatting that they came up with. (Make that "they" "we." I got a real surprise the first time I converted one of my own documents.) Turns out, in particular, that it is not easy to figure out where something **ENDS**. Text structures embedded inside of other text structures (for instance, lists inside of other lists) are particularly hard to isolate -- at least around here. I had one case yesterday where an item in a numbered list had two paragraphs, both indented, then a paragraph on the far left margin, then the numbering picked up again where it had left off. I assumed that this was a mistake, until I talked to the writer and discovered that this was exactly what he had intended to do. So the list wasn't over, but the paragraph wasn't part of the list and ....!!! After all this yack, bottom line: simple documents and people with minimal programming experience and TagWrite will probably do everything you want. But for anything more demanding I don't think it is all that practical. /chet -- Chet Ensign Information Builders, Inc. 212-736-6250 X4349 internet: doccoe@ibivm.ibmmail.com ibmmail: USUBUVMV@IBMMAIL compuserve: 73163,1414