next up previous
Next: Creating New NDFs by Propagation
Up: COMPONENT PROPAGATION
Previous: Propagation Rules for Standard NDF Components

Propagation Rules for Extensions  

The propagation of extensions is necessarily different from the propagation of standard NDF components, because only certain pieces of software may recognise any particular extension. There is therefore no way in which other applications can judge whether the processing they are performing will render the information in the extension invalid. This is an unavoidable consequence of extensibility.

Rather than taking a pessimistic view and automatically deleting all unrecognised extensions, propagation of extensions proceeds along more optimistic lines, as follows:

1.
Process it. If an application recognises an extension, and can process it, then it should ensure that its validity is maintained.
For instance, an application in a software package which recognised an `IRAS' extension should always check for the existence of such an extension and ensure that its contents were not invalidated by the processing it performs, making changes to the extension to achieve this if necessary.

2.
Suppress it. If an application recognises an extension but cannot process it, then propagation should be suppressed.

For instance, an application may recognise an extension but be unable to ensure its continued validity after processing, either due to a limited implementation or more fundamental causes. In either event, the application should suppress propagation of that extension so that it is lost from the output data structure.

3.
Propagate it. Any extension which is not recognised will be propagated by default.

There may be any number of extensions present in an NDF which a particular application does not recognise. These should be ignored, and the default action of the NDF_ system will then be to propagate (i.e. copy) them to the output NDF.

The purpose of these rules is to ensure that extension information is always retained unless it is certain that it will no longer be valid. This contrasts with the rules for processing standard NDF components (§[*]) which are retained only if it is certain that they will still be valid.

Of course, the rules for propagating extensions carry the risk that an application which does not recognise an extension will inadvertently render it invalid. However, if all applications within a software package recognise the same extension(s), then this can only happen if software from several packages is intermixed. It then becomes the user's responsibility to check the validity of information held in extensions.



next up previous
Next: Creating New NDFs by Propagation
Up: COMPONENT PROPAGATION
Previous: Propagation Rules for Standard NDF Components


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils