Copyright © 1992, 1997 International Organization for Standardization. All rights reserved.

This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country.

Next ClausePrevious Clause  

homeParent clauseNext major clausePrevious major clauseNext clause at this levelPrevious clause at this level


A.6 Formal System Identifier Definition Requirements (FSIDR)

A.6.2 Auxiliary processes

Several auxiliary processes may be required to convert a newly-created entity into the form in which it will be stored. Conversely, auxiliary processes may be needed to convert the octets of a storage object to the internal representation of characters seen by an SGML parser.

The SGML language is designed so that SGML documents can be stored in the same way that a system's ordinary text files are stored, thereby allowing access and processing with normal text processing tools in case SGML-aware tools are unavailable or are deficient in some respect.

As a result, after an entity is created or modified a number of processes can take place as it is stored. First, if the entity is not to be stored in a single storage object, it is divided into as many portions as there are to be storage objects. The storage objects can be in different storage systems (that is, under different storage managers). For each portion, the following steps may be performed:

  1. Record boundaries are converted to the storage system form of line endings for text files (for example, carriage returns, line feeds, or both).

  2. The representation of characters used in storage objects may be different from that used internally by the SGML parser.

    NOTE 498 With large character sets it is often the case that characters are represented internally by a fixed-length sequence of octets, but externally by a variable-length sequence of octets.

    In this case the internal representation of characters must be converted to the external representation as a sequence of storage octets.

  3. The location that the entity body is to occupy in the storage object is determined (if it is not the entire object). The entity body can occupy one or more extents in the storage object.

  4. The storage object may be encrypted.

  5. The storage object may be compressed.

  6. The storage object may be "sealed" by calculating a check number that will no longer be valid if the storage object is modified.

When an entity is accessed, the entity manager invokes the storage manager for each storage object specification. For each storage object, the following steps may be performed:

  1. The integrity of the storage object (if sealed) is verified.

  2. The storage object is decompressed (if it was compressed).

  3. The storage object is decrypted (if it was encrypted).

  4. The extents of the storage object that are occupied by the entity are located and concatenated into a single portion of stored data.

  5. The octet sequences are converted to the internal representation of characters used by the parser. This conversion depends on the encoding of the storage of the storage object and the internal representation of characters used by the system; it may be a null operation.

  6. Record boundaries are recognized and converted to SGML RE and RS characters.

NOTE 499 Although the auxiliary processing is described sequentially for clarity, an implementation can perform the processes in parallel and in any order as long as identical results are achieved.

Next ClausePrevious Clause  

Copyright © 1992, 1997 International Organization for Standardization. All rights reserved.

This electronic document is for use during development and review of International Standards. Official printed copies of International Standards can be purchased from the ISO and the national standards organization of your country.


HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.