![]() | ![]() | 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 Clause | Previous Clause | |||
A.6 Formal System Identifier Definition
Requirements (FSIDR)
When the entity usage storage manager is declared, an FSI can begin with an entuse start-tag in which attributes can be specified. Attributes appropriate for the entuse tag are those that apply to an entire entity, but are related to its use or storage, rather than its data representation, and are therefore inappropriate to define as data attributes of the entity's notation.
The attribute modification level (modlevel) allows a record of modification levels to be kept. When a container is used, the modification level for contained objects can be compared to that of the container to ascertain the integrity of the entity. The modification level is a pair of integers. The first integer has an initial value of zero ("0") and is incremented when the entity is modified. The second integer is set to the value of the first integer when the modified entity is validated by the application.
NOTE 515 For example:
The entuse tag for the ctr1 sbento container entity indicates that
modification level 1 of the container has been validated as correct
(the second number matches the first). The notation parameter of the doc entity indicates it is in Rich Text
Format (RTF). The sbento tag states that the entity is stored in the
first 5000 octets of ctr1.dat. The entuse tag shows that the entity is
at modification level 3, and the second "3" indicates that the entity
has been validated since its last modification. Similarly, the entuse tags for the fig and pic entities identify them
as the validated first and second versions, respectively.<!ENTITY ctr1
SYSTEM "<entuse modlevel='1 1'>
<osfile>ctr1.dat"
NDATA sbento
>
<!ENTITY doc
SYSTEM "<entuse modlevel='3 3'>
<sbento in=ctr1>5000"
NDATA RTF
>
<!ENTITY fig
SYSTEM "<entuse modlevel='1 1'>
<sbento in=ctr1 after=doc>2500"
NDATA CGM
>
<!ENTITY pic
system "<entuse modlevel='2 2'>
<sbento in=ctr1 after=fig>2000"
NDATA JPG
>
The attribute machine-dependent word information (machword) specifies machine-specific properties of an entity's encoding. Those properties consist of the number of bits in a "byte", the "word" size used in the encoding, and the permutation of "bytes" in the "word". The word size could be 2, 4, 8, or more "bytes" (commonly referred to as half-words, words, and doublewords, respectively).
The attribute is used for entities whose notation, though logically portable, is encoded as a sequence of words, with the words being stored in a machine-specific way. It allows the entity manager to transform each word into the form required by the machine that is processing the entity.
NOTE 516 In some cases, these or other properties of an entity, including compression techniques, some aspects of encoding, and some forms of interleaving, may be bound to its notation intrinsically, or to its storage manager. It might not be useful, or even possible, to specify such properties as attributes.
<!-- Entity Usage Attributes -->
<!-- THIS IS A NON-MANDATORY STARTER SET. -->
<!NOTATION
entuse -- Entity usage start-tag --
-- Clause: A.6.6 --
PUBLIC "ISO/IEC 10744:1997//NOTATION FSIDR SYNTAX
Entity Usage Start-tag//EN"
>
<!ATTLIST #NOTATION
entuse -- Entity usage start-tag --
-- Clause: A.6.6 --
included -- Entities included from notation data --
CDATA -- Lextype: ENTITY* --
#IMPLIED -- Default: no inclusions --
modlevel -- Modification level --
-- 1st: 0 when created; incremented when modified.
2nd: Set to 1st when validated by application.--
NUMBERS -- Lextype: (NUMBER,NUMBER) --
#IMPLIED -- Default: not tracked --
machword -- Machine-dependent word information --
-- AKA "big-endian" or "little-endian" --
-- Constraint: byte size and word size, expressed as
permutation of normalized word of 2, 4, or 8
bytes. MSB is leftmost and numbered "1" --
-- Normalized="8 12", "8 1234", "8 12345678"
Example: Intel="8 21", "8 2143", "8 21436587" --
NUMBERS -- Lextype: (NUMBER,NUMBER) --
"8 12"
>| Next Clause | Previous Clause |
HTML generated from the original SGML source using a DSSSL style specification and the SGML output back-end of the JADE DSSSL engine.