🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Alasdair Grant Fri, 28 Aug 1992 17:55
Record boundaries
#160
Author: Alasdair Grant
Date: Fri, 28 Aug 1992 17:55
8 lines
836 bytes
Is it portable to use RE in short references?  Eric van H.'s book 
says "no document or part of a document is deemed to start with an RS
or end with an RE unless it really does."  Does this mean that if I 
ship the document to a record-based system like MVS, I would have to 
reserve a character, FUNCTION RE it, and insert it at the end of every
line, if I was using one of the short reference delimiters that contain
it (e.g. blank line)?
Re: Record boundaries
#164
Author: Erik Naggum
Date: Fri, 28 Aug 1992 22:09
47 lines
2632 bytes
Alasdair Grant <ag129@cl.cam.ac.uk> writes:
|
|   Is it portable to use RE in short references?

Yes.

|   Eric van H.'s book says "no document or part of a document is deemed
|   to start with an RS or end with an RE unless it really does."  Does
|   this mean that if I ship the document to a record-based system like
|   MVS, I would have to reserve a character, FUNCTION RE it, and insert
|   it at the end of every line, if I was using one of the short
|   reference delimiters that contain it (e.g. blank line)?

No.

To quote from the standard in the last note in clause 7.6.1 (324:12 to
those who have the one and only SGML Handbook):

	No entity, including the SGML document entity and external
	entities, is deemed to start with an RS or end with an RE unless
	it really does.

It's the entity manager's job to ensure that the parser sees RS's and
RE's where the file system has record boundaries, or where the file
system has line terminating control codes, or whatever.  An RE is an RE
whether it originated as the end of a record on an MVS system, or its
character number occurred in the document, or the entity manager saw
something else and interpreted it as a record end.

For instance, on MVS a record would produce an RS, the record content,
and an RE.  On DEC operating systems, a line is terminated by CRLF,
where the CR is interpreted as RE for the current record, and the LF as
RS for the next (unless there is none).  On Unix systems, a line is
terminated by LF, which is interpreted as the RE for the current record
and as RS for the next (unless there is none), so it would produce two
characters to the parser from one character in the source entity.  On
Macintoshes, the same is true for CR.  MS DOS is a cheap clone of CP/M,
which was a reasonable clone of early DEC operating systems, so the CRLF
line terminator applies there, too.

Best regards,
</Erik>
--
Erik Naggum             |  ISO  8879 SGML     |      +47 295 0313
                        |  ISO 10744 HyTime   |
<erik@naggum.no>        |  ISO 10646 UCS      |      Memento, terrigena.
<enag@ifi.uio.no>       |  ISO  9899 C        |      Memento, vita brevis.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads