Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NXsas: review use of minOccurs on various components #522

Closed
prjemian opened this issue Dec 30, 2016 · 7 comments · Fixed by #1194
Closed

NXsas: review use of minOccurs on various components #522

prjemian opened this issue Dec 30, 2016 · 7 comments · Fixed by #1194
Assignees
Milestone

Comments

@prjemian
Copy link
Contributor

prjemian commented Dec 30, 2016

For base classes, minOccurs=0 is the default and means the dataset is optional. For application definitions, the default is minOccurs=1 which means it is required. (HDF5 imposes maxOccurs=1 since item names must be unique within a group).

add: NXsas documentation

@prjemian prjemian added the bug label Dec 30, 2016
@prjemian prjemian modified the milestone: NXDL 3.4 Jun 30, 2017
@prjemian
Copy link
Contributor Author

important to make next milestone

@prjemian
Copy link
Contributor Author

Do this with a branch+PR

@prjemian prjemian self-assigned this Jan 30, 2018
@zjttoefs zjttoefs modified the milestones: NXDL 2018.4, NXDL 2018.10 May 2, 2018
@prjemian prjemian modified the milestones: NXDL 2018.8, NXDL 2019.1 Sep 5, 2018
@zjttoefs zjttoefs removed the bug label Sep 7, 2018
@zjttoefs
Copy link
Contributor

zjttoefs commented Sep 7, 2018

NXsas has no instances of max* or minOccurs. What is there to review? Is this a proposal to change the application definition?

@zjttoefs zjttoefs removed this from the NXDL 2019.1 milestone Sep 7, 2018
@prjemian
Copy link
Contributor Author

prjemian commented Sep 7, 2018

The application definition should be examined to determine which components must be given or that some components need a declaration of minOccurs=0. For example, must NXsample always be provided? Must the NXdata group only be named data?

@benajamin
Copy link
Contributor

@prjemian is this (and NIAC#58) still relevant?

@prjemian
Copy link
Contributor Author

@benajamin : Yes, and Yes.

@zjttoefs You asked above:

NXsas has no instances of max* or minOccurs. What is there to review? Is this a proposal to change the application definition?

We should review the definition with this question:

  • Is the NXsas definition missing these attributes (max* or minOccurs)?

If they are missing (it is likely the existing application did not consider these attributes) and the need for them sufficient, we should propose changes to NXsas in a branch.

@prjemian
Copy link
Contributor Author

prjemian commented Mar 4, 2022

This is the structure of the NXsas definition at this time. None of the items are marked optional or minOccurs=0:

NXsas (application definition)
  (overlays NXentry)
  NXentry
    @entry
    definition:NX_CHAR
    end_time:NX_DATE_TIME
    start_time:NX_DATE_TIME
    title:NX_CHAR
    data:NXdata
      data --> /NXentry/NXinstrument/NXdetector/data
    instrument:NXinstrument
      name:NX_CHAR
      collimator:NXcollimator
        geometry:NXgeometry
          shape:NXshape
            shape:NX_CHAR
            size:NX_FLOAT
      detector:NXdetector
        aequatorial_angle:NX_FLOAT
        azimuthal_angle:NX_FLOAT
        beam_center_x:NX_FLOAT
        beam_center_y:NX_FLOAT
        data:NX_NUMBER[nXPixel,nYPixel]
        distance:NX_FLOAT
        polar_angle:NX_FLOAT
        rotation_angle:NX_FLOAT
        x_pixel_size:NX_FLOAT
        y_pixel_size:NX_FLOAT
      monochromator:NXmonochromator
        wavelength:NX_FLOAT
        wavelength_spread:NX_FLOAT
      source:NXsource
        name:NX_CHAR
        probe:NX_CHAR
        type:NX_CHAR
    control:NXmonitor
      integral:NX_FLOAT
      mode:NX_CHAR
      preset:NX_FLOAT
    sample:NXsample
      aequatorial_angle:NX_FLOAT
      name:NX_CHAR

@prjemian prjemian modified the milestones: NXDL 2022.06, NXDL 2023.06 Jun 23, 2022
prjemian added a commit that referenced this issue Sep 15, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
prjemian added a commit that referenced this issue Sep 16, 2022
@PeterC-DLS PeterC-DLS modified the milestones: NXDL 2023.06, NXDL 2023.10 Jan 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants