[NeXus-definitions-tickets] [NeXusDefinitions] #65: Points to consider for NXDL
NeXus Base Classes and Instrument Definitions
noreply at nexusformat.org
Tue May 12 18:32:03 BST 2009
#65: Points to consider for NXDL
------------------------+---------------------------------------------------
Reporter: Pete Jemian | Owner:
Type: defect | Status: new
Priority: major | Keywords:
------------------------+---------------------------------------------------
== Points to consider for NXDL ==
1. '''Application definitions''' will override the standard definition of
(the base class) '''NXentry''' and provide fields and groups that
'''must''' be present in a NeXus data file. Other fields or groups from
NXentry (or other base classes) are optional, as usual.
2. Some mechanism needs to exist within the '''NXroot''' base class to
identify the use of an application definition to use instead of the
standard '''NXentry'''.
* One suggestion is to add an optional ''NXDL'' attribute to the
NXentry group entry where the value of the attribute is the name of the
application definition. This preserves Mark Koennecke's suggestion:
''[The reference to the defining NXDL] needs to be at a standard place
across all files and it needs to live below NXentry as a NeXus file may
contain different entries adhering to different definitions.'' For
example:
{{{
<NXentry name="SCAN_0001" NXDL="NXmonopd">
<!-- the NXmonopd data comes here -->
</NXentry>
}}}
3. An application definition shall '''contain the minimum set of
information necessary to do common processing like data analysis.'''
* This also means that there is no space in the application definition
for optional fields.
* But of course, in a real NeXus data file the user is always
permitted to add additional fields from the base classes.
4. The original NeXus view was that a base class was just a dictionary
of allowable terms (hence everything optional) and a definition said which
base class terms were mandatory (with those not specified being treated as
optional). Thus a definition did not need to add optional items as this
was covered by the base class.
5. Perhaps this was never written down, but may have been an implication
that a definition could not mark a field as mandatory if it was not
already listed in some base class as optional.
6. A base class has a wide range of terms, some of which would make more
sense in a particular instrument/application definition than others.
Thus, there is some merit from the documentation point of view in having
some optional items in a definition as ''things you might want to consider
adding.''
--
Ticket URL: <http://trac.nexusformat.org/definitions/ticket/65>
NeXus Base Classes and Instrument Definitions <http://www.nexusformat.org/>
NeXus Base Classes and Instrument Definitions
More information about the NeXus-definitions-tickets
mailing list