International
Tables for Crystallography Volume G Definition and exchange of crystallographic data Edited by S. R. Hall and B. McMahon © International Union of Crystallography 2006 |
International Tables for Crystallography (2006). Vol. G. ch. 5.2, pp. 491-492
Section 5.2.3.2. The Star_Base data request
a
School of Computer Science and Software Engineering, University of Western Australia, 35 Stirling Highway, Crawley, Perth, WA 6009, Australia,bSchool of Biomedical and Chemical Sciences, University of Western Australia, Crawley, Perth, WA 6009, Australia, and cInternational Union of Crystallography, 5 Abbey Square, Chester CH1 2HU, England |
A data request is the simplest type of query used to extract single items from a file. It may be formed from any of the following string types:
(i) a name string, e.g. _atom_identity_symbol;
(ii) a block string, e.g. data_Gaussian;
(iii) a frame string, e.g. save_methyl.
In accordance with the principles set out earlier in this chapter, data requests satisfy the following rules:
(i) Requested data items are returned with their associated context (i.e. including the headers of any containing data blocks, save frames and loop structures).
(ii) A request for a data block returns all preceding global blocks (since the data block will contain by inheritance all values in the global blocks).
(iii) A request for a save frame also returns the header of the data block encompassing the save frame. All frame-pointer codes are resolved so that if a requested save frame contains pointer codes to other save frames, these are also returned.
(iv) A request for global_ returns all global blocks, together with all data-block headers in their scope.
(v) The request need not be specified explicitly. Two wild-card characters are permitted. An asterisk (*) represents any sequence of characters and a question mark (?) represents any single character.
(vi) A request for looped data returns the items in the order requested, making any necessary adjustments to the structuring of nested loops to preserve the original context.
(vii) A request for data within a save frame returns those items plus the associated context.
(viii) If a requested data item includes a save-frame pointer as a value, the referenced save frame is returned intact. All other pointers contained within the returned data are resolved.
(ix) A request for a data item in a global data block will also return the data-block headers within the scope of the global block.
(x) The scope of a data request is the entire input file. Control of the search scope is only possible within branching requests.