Thread View: comp.text.sgml
2 messages
2 total messages
Started by Alasdair Grant
Fri, 28 Aug 1992 17:55
Record boundaries
Author: Alasdair Grant
Date: Fri, 28 Aug 1992 17:55
Date: Fri, 28 Aug 1992 17:55
8 lines
836 bytes
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
Author: Erik Naggum
Date: Fri, 28 Aug 1992 22:09
Date: Fri, 28 Aug 1992 22:09
47 lines
2632 bytes
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