From 05e40e23df8a14c21f402bb4b6ffd07968fa1e6f Mon Sep 17 00:00:00 2001 From: domna Date: Wed, 18 Oct 2023 15:59:44 +0200 Subject: [PATCH 01/18] Create nxdls # Conflicts: # base_classes/NXroot.nxdl.xml # base_classes/NXsource.nxdl.xml # contributed_definitions/NXmpes.nxdl.xml --- base_classes/NXroot.nxdl.xml | 123 +++++++++++++++++++++-------------- 1 file changed, 73 insertions(+), 50 deletions(-) diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index de58feba51..75a3753796 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -1,10 +1,10 @@ - + - - Definition of the root NeXus group. + + + Definition of the root NeXus group. + - The root of any NeXus data file is an ``NXroot`` class - (no other choice is allowed for a valid NeXus data file). - This attribute cements that definition. + The root of any NeXus data file is an ``NXroot`` class + (no other choice is allowed for a valid NeXus data file). + This attribute cements that definition. - + - Date and time file was originally created + + Date and time file was originally created + - File name of original NeXus file + + File name of original NeXus file + - Date and time of last file change at close + + Date and time of last file change at close + - Version of NeXus API used in writing the file. - - Only used when the NAPI has written the file. - Note that this is different from the version of the - base class or application definition version number. + Version of NeXus API used in writing the file. + + Only used when the NAPI has written the file. + Note that this is different from the version of the + base class or application definition version number. + + + + + A list of concepts in an application definition this file describes. + This is for partially filling an application definition. + If this attribute is not present the application definition is assumed + to be valid, if not the specified concepts/paths are assumed to be valid. - Version of HDF (version 4) library used in writing the file + + Version of HDF (version 4) library used in writing the file + - Version of HDF5 library used in writing the file. - - Note this attribute is spelled with uppercase "V", - different than other version attributes. + Version of HDF5 library used in writing the file. + + Note this attribute is spelled with uppercase "V", + different than other version attributes. - Version of XML support library used in writing the XML file + + Version of XML support library used in writing the XML file + - Version of h5py Python package used in writing the file + + Version of h5py Python package used in writing the file + - facility or program where file originated + + facility or program where file originated + - Version of facility or program used in writing the file + + Version of facility or program used in writing the file + - - entries + + + entries + - .. index:: find the default plottable data - .. index:: plotting - .. index:: default attribute value - - Declares which :ref:`NXentry` group contains - the data to be shown by default. - It is used to resolve ambiguity when - more than one :ref:`NXentry` group exists. - The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The - value must be the name of a child of the current group. The child must be a - NeXus group or a link to a NeXus group. - - It is recommended (as of NIAC2014) to use this attribute - to help define the path to the default dataset to be plotted. - See https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. + .. index:: find the default plottable data + .. index:: plotting + .. index:: default attribute value + + Declares which :ref:`NXentry` group contains + the data to be shown by default. + It is used to resolve ambiguity when + more than one :ref:`NXentry` group exists. + The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The + value must be the name of a child of the current group. The child must be a + NeXus group or a link to a NeXus group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. - From 9507e965b83ec8656d574c397a2faac27d268ec8 Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Fri, 3 Nov 2023 14:33:26 +0100 Subject: [PATCH 02/18] split NXphotoemission and NXmpes # Conflicts: # base_classes/NXsource.nxdl.xml # base_classes/nyaml/NXroot.yaml # base_classes/nyaml/NXsource.yaml # contributed_definitions/NXcalibration.nxdl.xml # contributed_definitions/NXenergydispersion.nxdl.xml # contributed_definitions/NXmpes.nxdl.xml # contributed_definitions/NXresolution.nxdl.xml # contributed_definitions/nyaml/NXcalibration.yaml # contributed_definitions/nyaml/NXenergydispersion.yaml # contributed_definitions/nyaml/NXmpes.yaml # contributed_definitions/nyaml/NXphotoemission.yaml # contributed_definitions/nyaml/NXresolution.yaml --- contributed_definitions/NXidentifier.nxdl.xml | 59 ++++++++++++++ contributed_definitions/NXserialized.nxdl.xml | 76 +++++++++++++++++++ .../nyaml/NXidentifier.yaml | 21 +++++ .../nyaml/NXserialized.yaml | 37 +++++++++ 4 files changed, 193 insertions(+) create mode 100644 contributed_definitions/NXidentifier.nxdl.xml create mode 100644 contributed_definitions/NXserialized.nxdl.xml create mode 100644 contributed_definitions/nyaml/NXidentifier.yaml create mode 100644 contributed_definitions/nyaml/NXserialized.yaml diff --git a/contributed_definitions/NXidentifier.nxdl.xml b/contributed_definitions/NXidentifier.nxdl.xml new file mode 100644 index 0000000000..00c5eeafed --- /dev/null +++ b/contributed_definitions/NXidentifier.nxdl.xml @@ -0,0 +1,59 @@ + + + + + + An identifier for a (persistent) resource, e.g., a DOI or orcid. + + + + The service by which the resouce can be resolved. + If the service is not in the list a simple `url` may be used. + The `url` can either be a resolving service for the `identifier` + or a fully qualified identification in itself. + + + + + + + + + + + + + + The unique code, IRI or hash to resolve this reference. + Typically, this is stated by the service which is considered a complete + identifier, e.g., for a DOI it's something of the form `10.1107/S1600576714027575` + or `https://doi.org/10.1107/S1600576714027575`, which are both resolvable. + + + + + True if the identifier is persistent (i.e., unique and available indefinetely), + False otherwise. + + + diff --git a/contributed_definitions/NXserialized.nxdl.xml b/contributed_definitions/NXserialized.nxdl.xml new file mode 100644 index 0000000000..fd587c6655 --- /dev/null +++ b/contributed_definitions/NXserialized.nxdl.xml @@ -0,0 +1,76 @@ + + + + + + Metadata to a set of pieces of information of a resource that has been serialized. + + A typical use case is the documentation of the source (file) or database (entry) + from which pieces of information have been extracted for consumption in e.g. a + research data management system (RDMS). This may be for reasons of enabling + services such as providing access to normalized information for which reading + again from the resource may not be desired, possibe, or feasible. + + Possible reasons could be the extraction of specific information for caching, + performance reasons, or re-evaluate given pieces of information based on other + views and interaction patterns with the data where information has been formatted + differently by tools than how these pieces of information were originally + serialized. + + + + Answers into what resource the information was serialized. + + + + + + + + + Path to the resource. + + E.g. the name of a file or its absolute or relative path, or the + identifier to a resource in another database. + + + + + Value of the checksum obtain when running algorithm on the resource. + + + + + Name of the algorithm whereby the checksum was computed. + + + + + + + + + Extracted file containing the serialized information. + + + diff --git a/contributed_definitions/nyaml/NXidentifier.yaml b/contributed_definitions/nyaml/NXidentifier.yaml new file mode 100644 index 0000000000..4fc57a0589 --- /dev/null +++ b/contributed_definitions/nyaml/NXidentifier.yaml @@ -0,0 +1,21 @@ +category: base +doc: | + An identifier for a (persistent) resource, e.g., a DOI or orcid. +type: group +NXidentifier(NXobject): + service(NX_CHAR): + doc: | + The service by which the resouce can be resolved. + If the service is not in the list a simple `url` may be used. + The `url` can either be a resolving service for the `identifier` + or a fully qualified identification in itself. + enumeration: [doi, urn, hdl, purl, orcid, iso, url] + identifier(NX_CHAR): + doc: | + The unique code, IRI or hash to resolve this reference. + Typically, this is stated by the service which is considered a complete + identifier, e.g., for a DOI it's something of the form `10.1107/S1600576714027575` + or `https://doi.org/10.1107/S1600576714027575`, which are both resolvable. + is_persistent(NX_BOOLEAN): + doc: | + True if the identifier is persistent (i.e., unique and available indefinetely), False otherwise. \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXserialized.yaml b/contributed_definitions/nyaml/NXserialized.yaml new file mode 100644 index 0000000000..6aa90f4b45 --- /dev/null +++ b/contributed_definitions/nyaml/NXserialized.yaml @@ -0,0 +1,37 @@ +category: base +doc: | + Metadata to a set of pieces of information of a resource that has been serialized. + + A typical use case is the documentation of the source (file) or database (entry) + from which pieces of information have been extracted for consumption in e.g. a + research data management system (RDMS). This may be for reasons of enabling + services such as providing access to normalized information for which reading + again from the resource may not be desired, possibe, or feasible. + + Possible reasons could be the extraction of specific information for caching, + performance reasons, or re-evaluate given pieces of information based on other + views and interaction patterns with the data where information has been formatted + differently by tools than how these pieces of information were originally + serialized. +type: group +NXserialized(NXobject): + type(NX_CHAR): + doc: | + Answers into what resource the information was serialized. + enumeration: [file, database] + path(NX_CHAR): + doc: | + Path to the resource. + + E.g. the name of a file or its absolute or relative path, or the + identifier to a resource in another database. + checksum(NX_CHAR): + doc: | + Value of the checksum obtain when running algorithm on the resource. + algorithm(NX_CHAR): + doc: | + Name of the algorithm whereby the checksum was computed. + enumeration: [md5, sha256] + file(NXnote): + doc: | + Extracted file containing the serialized information. \ No newline at end of file From f34aa2dec17ec72100f8ff73a1ae91c93d871f01 Mon Sep 17 00:00:00 2001 From: Florian Dobener Date: Tue, 7 Nov 2023 19:42:25 +0100 Subject: [PATCH 03/18] Updates NXroot with partial and NeXus_repository (#101) # Conflicts: # base_classes/NXroot.nxdl.xml # base_classes/nyaml/NXroot.yaml --- base_classes/NXroot.nxdl.xml | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index 75a3753796..cc488469d5 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -50,11 +50,27 @@ Date and time of last file change at close + + + A repository containing the application definitions + used for creating this file. + If the NeXus_version attribute contains a commit distance and hash + this should refer to this repository. + + - Version of NeXus API used in writing the file. + Version of NeXus definitions used in writing the file. + This may either be a date based version tag of the form `vYYYY.MM` + or a version tag with a commit distance and source control (e.g., git) hash of + the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. + It may contain an additional `.dYYYYMMDD` timestamp appendix + for dirty repositories. + If the version contains a commit distance and hash the + NeXus_repository attribute should be written with the + repository url containing this version. - Only used when the NAPI has written the file. + Only used when the NAPI or pynxtools has written the file. Note that this is different from the version of the base class or application definition version number. @@ -64,7 +80,7 @@ A list of concepts in an application definition this file describes. This is for partially filling an application definition. If this attribute is not present the application definition is assumed - to be valid, if not the specified concepts/paths are assumed to be valid. + to be valid, if not only the specified concepts/paths are assumed to be valid. From a2e3cf313fd703451468ff454c5311c6233dc076 Mon Sep 17 00:00:00 2001 From: Florian Dobener Date: Wed, 8 Nov 2023 09:06:52 +0100 Subject: [PATCH 04/18] Fix NXroot nxdl (#112) --- base_classes/NXroot.nxdl.xml | 238 +++++++++++++++++------------------ 1 file changed, 119 insertions(+), 119 deletions(-) diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index cc488469d5..a480f82d41 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -1,9 +1,9 @@ - + + + Definition of the root NeXus group. + + - Definition of the root NeXus group. + The root of any NeXus data file is an ``NXroot`` class + (no other choice is allowed for a valid NeXus data file). + This attribute cements that definition. - - - The root of any NeXus data file is an ``NXroot`` class - (no other choice is allowed for a valid NeXus data file). - This attribute cements that definition. - - - - - - - - Date and time file was originally created - - - - - File name of original NeXus file - - - - - Date and time of last file change at close - - - - - A repository containing the application definitions - used for creating this file. - If the NeXus_version attribute contains a commit distance and hash - this should refer to this repository. - - - - - Version of NeXus definitions used in writing the file. - This may either be a date based version tag of the form `vYYYY.MM` - or a version tag with a commit distance and source control (e.g., git) hash of - the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. - It may contain an additional `.dYYYYMMDD` timestamp appendix - for dirty repositories. - If the version contains a commit distance and hash the - NeXus_repository attribute should be written with the - repository url containing this version. - - Only used when the NAPI or pynxtools has written the file. - Note that this is different from the version of the - base class or application definition version number. - - - - - A list of concepts in an application definition this file describes. - This is for partially filling an application definition. - If this attribute is not present the application definition is assumed - to be valid, if not only the specified concepts/paths are assumed to be valid. - - - - - Version of HDF (version 4) library used in writing the file - - - - - Version of HDF5 library used in writing the file. - - Note this attribute is spelled with uppercase "V", - different than other version attributes. - - - - - Version of XML support library used in writing the XML file - - - - - Version of h5py Python package used in writing the file - - - - - facility or program where file originated - - - - - Version of facility or program used in writing the file - - - - - entries - - - - - .. index:: find the default plottable data - .. index:: plotting - .. index:: default attribute value - - Declares which :ref:`NXentry` group contains - the data to be shown by default. - It is used to resolve ambiguity when - more than one :ref:`NXentry` group exists. - The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The - value must be the name of a child of the current group. The child must be a - NeXus group or a link to a NeXus group. - - It is recommended (as of NIAC2014) to use this attribute - to help define the path to the default dataset to be plotted. - See https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. - - + + + + + + + Date and time file was originally created + + + + + File name of original NeXus file + + + + + Date and time of last file change at close + + + + + A repository containing the application definitions + used for creating this file. + If the NeXus_version attribute contains a commit distance and hash + this should refer to this repository. + + + + + Version of NeXus definitions used in writing the file. + This may either be a date based version tag of the form `vYYYY.MM` + or a version tag with a commit distance and source control (e.g., git) hash of + the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. + It may contain an additional `.dYYYYMMDD` timestamp appendix + for dirty repositories. + If the version contains a commit distance and hash the + NeXus_repository attribute should be written with the + repository url containing this version. + + Only used when the NAPI or pynxtools has written the file. + Note that this is different from the version of the + base class or application definition version number. + + + + + A list of concepts in an application definition this file describes. + This is for partially filling an application definition. + If this attribute is not present the application definition is assumed + to be valid, if not only the specified concepts/paths are assumed to be valid. + + + + + Version of HDF (version 4) library used in writing the file + + + + + Version of HDF5 library used in writing the file. + + Note this attribute is spelled with uppercase "V", + different than other version attributes. + + + + + Version of XML support library used in writing the XML file + + + + + Version of h5py Python package used in writing the file + + + + + facility or program where file originated + + + + + Version of facility or program used in writing the file + + + + + entries + + + + + .. index:: find the default plottable data + .. index:: plotting + .. index:: default attribute value + + Declares which :ref:`NXentry` group contains + the data to be shown by default. + It is used to resolve ambiguity when + more than one :ref:`NXentry` group exists. + The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The + value must be the name of a child of the current group. The child must be a + NeXus group or a link to a NeXus group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. + + From 759a73d845b1adde0257c5a58249bdd5e40b47b2 Mon Sep 17 00:00:00 2001 From: Florian Dobener Date: Wed, 29 Nov 2023 09:58:16 +0100 Subject: [PATCH 05/18] Readd collapsible feature and super-concept links for documentation + removes nyaml2nxdl (#117) * Readd collapsible features * Restore super-concept links * Remove nyaml2nxdl * Use nyaml package * Readd pyyaml # Conflicts: # Makefile # contributed_definitions/NXcalibration.nxdl.xml # dev_tools/utils/nxdl_utils.py # requirements.txt --- base_classes/NXroot.nxdl.xml | 234 +++++++++++++++++------------------ 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index a480f82d41..96125cf793 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -22,123 +22,123 @@ # For further information, see http://www.nexusformat.org --> - - Definition of the root NeXus group. - - - The root of any NeXus data file is an ``NXroot`` class - (no other choice is allowed for a valid NeXus data file). - This attribute cements that definition. + Definition of the root NeXus group. - - - - - - - Date and time file was originally created - - - - - File name of original NeXus file - - - - - Date and time of last file change at close - - - - - A repository containing the application definitions - used for creating this file. - If the NeXus_version attribute contains a commit distance and hash - this should refer to this repository. - - - - - Version of NeXus definitions used in writing the file. - This may either be a date based version tag of the form `vYYYY.MM` - or a version tag with a commit distance and source control (e.g., git) hash of - the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. - It may contain an additional `.dYYYYMMDD` timestamp appendix - for dirty repositories. - If the version contains a commit distance and hash the - NeXus_repository attribute should be written with the - repository url containing this version. - - Only used when the NAPI or pynxtools has written the file. - Note that this is different from the version of the - base class or application definition version number. - - - - - A list of concepts in an application definition this file describes. - This is for partially filling an application definition. - If this attribute is not present the application definition is assumed - to be valid, if not only the specified concepts/paths are assumed to be valid. - - - - - Version of HDF (version 4) library used in writing the file - - - - - Version of HDF5 library used in writing the file. - - Note this attribute is spelled with uppercase "V", - different than other version attributes. - - - - - Version of XML support library used in writing the XML file - - - - - Version of h5py Python package used in writing the file - - - - - facility or program where file originated - - - - - Version of facility or program used in writing the file - - - - - entries - - - - - .. index:: find the default plottable data - .. index:: plotting - .. index:: default attribute value - - Declares which :ref:`NXentry` group contains - the data to be shown by default. - It is used to resolve ambiguity when - more than one :ref:`NXentry` group exists. - The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The - value must be the name of a child of the current group. The child must be a - NeXus group or a link to a NeXus group. - - It is recommended (as of NIAC2014) to use this attribute - to help define the path to the default dataset to be plotted. - See https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. - - + + + The root of any NeXus data file is an ``NXroot`` class + (no other choice is allowed for a valid NeXus data file). + This attribute cements that definition. + + + + + + + + Date and time file was originally created + + + + + File name of original NeXus file + + + + + Date and time of last file change at close + + + + + A repository containing the application definitions + used for creating this file. + If the NeXus_version attribute contains a commit distance and hash + this should refer to this repository. + + + + + Version of NeXus definitions used in writing the file. + This may either be a date based version tag of the form `vYYYY.MM` + or a version tag with a commit distance and source control (e.g., git) hash of + the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. + It may contain an additional `.dYYYYMMDD` timestamp appendix + for dirty repositories. + If the version contains a commit distance and hash the + NeXus_repository attribute should be written with the + repository url containing this version. + + Only used when the NAPI or pynxtools has written the file. + Note that this is different from the version of the + base class or application definition version number. + + + + + A list of concepts in an application definition this file describes. + This is for partially filling an application definition. + If this attribute is not present the application definition is assumed + to be valid, if not only the specified concepts/paths are assumed to be valid. + + + + + Version of HDF (version 4) library used in writing the file + + + + + Version of HDF5 library used in writing the file. + + Note this attribute is spelled with uppercase "V", + different than other version attributes. + + + + + Version of XML support library used in writing the XML file + + + + + Version of h5py Python package used in writing the file + + + + + facility or program where file originated + + + + + Version of facility or program used in writing the file + + + + + entries + + + + + .. index:: find the default plottable data + .. index:: plotting + .. index:: default attribute value + + Declares which :ref:`NXentry` group contains + the data to be shown by default. + It is used to resolve ambiguity when + more than one :ref:`NXentry` group exists. + The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The + value must be the name of a child of the current group. The child must be a + NeXus group or a link to a NeXus group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. + + From 52407c84c55778bdd2ef39769579d577d4c7b19c Mon Sep 17 00:00:00 2001 From: domna Date: Wed, 3 Jan 2024 16:08:19 +0100 Subject: [PATCH 06/18] Make nxdl # Conflicts: # contributed_definitions/NXcg_primitive_set.nxdl.xml # contributed_definitions/NXcollectioncolumn.nxdl.xml # contributed_definitions/NXcomponent_em.nxdl.xml # contributed_definitions/NXcoordinate_system.nxdl.xml # contributed_definitions/NXcrystal_structure.nxdl.xml # contributed_definitions/NXcs_cpu_obj.nxdl.xml # contributed_definitions/NXcs_cpu_sys.nxdl.xml # contributed_definitions/NXcs_gpu_obj.nxdl.xml # contributed_definitions/NXcs_gpu_sys.nxdl.xml # contributed_definitions/NXcs_mm_obj.nxdl.xml # contributed_definitions/NXelectronanalyser.nxdl.xml # contributed_definitions/NXem_adf.nxdl.xml # contributed_definitions/NXem_base.nxdl.xml # contributed_definitions/NXem_conventions_ebsd.nxdl.xml # contributed_definitions/NXem_correlation.nxdl.xml # contributed_definitions/NXem_eds.nxdl.xml # contributed_definitions/NXem_eels.nxdl.xml # contributed_definitions/NXem_img.nxdl.xml # contributed_definitions/NXem_method.nxdl.xml # contributed_definitions/NXem_msr.nxdl.xml # contributed_definitions/NXem_sim.nxdl.xml # contributed_definitions/NXenergydispersion.nxdl.xml # contributed_definitions/NXidentifier.nxdl.xml # contributed_definitions/NXimage_c_set.nxdl.xml # contributed_definitions/NXimage_r_set.nxdl.xml # contributed_definitions/NXimage_r_set_diff.nxdl.xml # contributed_definitions/NXinteraction_vol_em.nxdl.xml # contributed_definitions/NXmpes.nxdl.xml # contributed_definitions/NXms_ipf.nxdl.xml # contributed_definitions/NXms_ipf_set.nxdl.xml # contributed_definitions/NXms_mtex_config.nxdl.xml # contributed_definitions/NXms_odf.nxdl.xml # contributed_definitions/NXms_odf_set.nxdl.xml # contributed_definitions/NXms_pf.nxdl.xml # contributed_definitions/NXms_pf_set.nxdl.xml # contributed_definitions/NXms_recon.nxdl.xml # contributed_definitions/NXroi.nxdl.xml # contributed_definitions/NXrotation_set.nxdl.xml # contributed_definitions/NXserialized.nxdl.xml # contributed_definitions/NXxrd.nxdl.xml # contributed_definitions/NXxrd_pan.nxdl.xml --- base_classes/NXroot.nxdl.xml | 2 +- contributed_definitions/NXidentifier.nxdl.xml | 59 -------------- contributed_definitions/NXserialized.nxdl.xml | 76 ------------------- 3 files changed, 1 insertion(+), 136 deletions(-) delete mode 100644 contributed_definitions/NXidentifier.nxdl.xml delete mode 100644 contributed_definitions/NXserialized.nxdl.xml diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index 96125cf793..f6a9658537 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -3,7 +3,7 @@ - - - An identifier for a (persistent) resource, e.g., a DOI or orcid. - - - - The service by which the resouce can be resolved. - If the service is not in the list a simple `url` may be used. - The `url` can either be a resolving service for the `identifier` - or a fully qualified identification in itself. - - - - - - - - - - - - - - The unique code, IRI or hash to resolve this reference. - Typically, this is stated by the service which is considered a complete - identifier, e.g., for a DOI it's something of the form `10.1107/S1600576714027575` - or `https://doi.org/10.1107/S1600576714027575`, which are both resolvable. - - - - - True if the identifier is persistent (i.e., unique and available indefinetely), - False otherwise. - - - diff --git a/contributed_definitions/NXserialized.nxdl.xml b/contributed_definitions/NXserialized.nxdl.xml deleted file mode 100644 index fd587c6655..0000000000 --- a/contributed_definitions/NXserialized.nxdl.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - Metadata to a set of pieces of information of a resource that has been serialized. - - A typical use case is the documentation of the source (file) or database (entry) - from which pieces of information have been extracted for consumption in e.g. a - research data management system (RDMS). This may be for reasons of enabling - services such as providing access to normalized information for which reading - again from the resource may not be desired, possibe, or feasible. - - Possible reasons could be the extraction of specific information for caching, - performance reasons, or re-evaluate given pieces of information based on other - views and interaction patterns with the data where information has been formatted - differently by tools than how these pieces of information were originally - serialized. - - - - Answers into what resource the information was serialized. - - - - - - - - - Path to the resource. - - E.g. the name of a file or its absolute or relative path, or the - identifier to a resource in another database. - - - - - Value of the checksum obtain when running algorithm on the resource. - - - - - Name of the algorithm whereby the checksum was computed. - - - - - - - - - Extracted file containing the serialized information. - - - From d5289a015c01bbb9f776687063d446eacce94161 Mon Sep 17 00:00:00 2001 From: domna Date: Wed, 3 Jan 2024 16:32:56 +0100 Subject: [PATCH 07/18] Whitespace above and below copyright removed (new nyaml version) # Conflicts: # contributed_definitions/NXcg_primitive_set.nxdl.xml # contributed_definitions/NXcomponent_em.nxdl.xml # contributed_definitions/NXcoordinate_system.nxdl.xml # contributed_definitions/NXcrystal_structure.nxdl.xml # contributed_definitions/NXcs_cpu_obj.nxdl.xml # contributed_definitions/NXcs_cpu_sys.nxdl.xml # contributed_definitions/NXcs_gpu_obj.nxdl.xml # contributed_definitions/NXcs_gpu_sys.nxdl.xml # contributed_definitions/NXcs_mm_obj.nxdl.xml # contributed_definitions/NXem_adf.nxdl.xml # contributed_definitions/NXem_base.nxdl.xml # contributed_definitions/NXem_conventions_ebsd.nxdl.xml # contributed_definitions/NXem_correlation.nxdl.xml # contributed_definitions/NXem_eds.nxdl.xml # contributed_definitions/NXem_eels.nxdl.xml # contributed_definitions/NXem_img.nxdl.xml # contributed_definitions/NXem_method.nxdl.xml # contributed_definitions/NXem_msr.nxdl.xml # contributed_definitions/NXem_sim.nxdl.xml # contributed_definitions/NXidentifier.nxdl.xml # contributed_definitions/NXimage_c_set.nxdl.xml # contributed_definitions/NXimage_r_set.nxdl.xml # contributed_definitions/NXimage_r_set_diff.nxdl.xml # contributed_definitions/NXinteraction_vol_em.nxdl.xml # contributed_definitions/NXms_ipf.nxdl.xml # contributed_definitions/NXms_ipf_set.nxdl.xml # contributed_definitions/NXms_mtex_config.nxdl.xml # contributed_definitions/NXms_odf.nxdl.xml # contributed_definitions/NXms_odf_set.nxdl.xml # contributed_definitions/NXms_pf.nxdl.xml # contributed_definitions/NXms_pf_set.nxdl.xml # contributed_definitions/NXms_recon.nxdl.xml # contributed_definitions/NXroi.nxdl.xml # contributed_definitions/NXrotation_set.nxdl.xml # contributed_definitions/NXserialized.nxdl.xml # contributed_definitions/NXxrd.nxdl.xml # contributed_definitions/NXxrd_pan.nxdl.xml --- base_classes/NXroot.nxdl.xml | 4 ++-- contributed_definitions/NXaberration.nxdl.xml | 4 ++-- contributed_definitions/NXaberration_model.nxdl.xml | 4 ++-- contributed_definitions/NXaberration_model_ceos.nxdl.xml | 4 ++-- contributed_definitions/NXaberration_model_nion.nxdl.xml | 4 ++-- contributed_definitions/NXaperture_em.nxdl.xml | 4 ++-- contributed_definitions/NXapm.nxdl.xml | 4 ++-- .../NXapm_paraprobe_results_nanochem.nxdl.xml | 4 ++-- contributed_definitions/NXcalibration.nxdl.xml | 4 ++-- contributed_definitions/NXcg_alpha_complex.nxdl.xml | 4 ++-- contributed_definitions/NXcg_cylinder_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_ellipsoid_set.nxdl.xml | 4 ++-- .../NXcg_face_list_data_structure.nxdl.xml | 4 ++-- contributed_definitions/NXcg_geodesic_mesh.nxdl.xml | 4 ++-- contributed_definitions/NXcg_grid.nxdl.xml | 4 ++-- .../NXcg_half_edge_data_structure.nxdl.xml | 4 ++-- contributed_definitions/NXcg_hexahedron_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_marching_cubes.nxdl.xml | 4 ++-- contributed_definitions/NXcg_parallelogram_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_point_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_polygon_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_polyhedron_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_polyline_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_roi_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_sphere_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_tetrahedron_set.nxdl.xml | 4 ++-- contributed_definitions/NXcg_triangle_set.nxdl.xml | 4 ++-- .../NXcg_triangulated_surface_mesh.nxdl.xml | 4 ++-- contributed_definitions/NXcg_unit_normal_set.nxdl.xml | 4 ++-- contributed_definitions/NXchamber.nxdl.xml | 4 ++-- contributed_definitions/NXcoordinate_system_set.nxdl.xml | 4 ++-- contributed_definitions/NXcorrector_cs.nxdl.xml | 4 ++-- contributed_definitions/NXcs_computer.nxdl.xml | 4 ++-- contributed_definitions/NXcs_filter_boolean_mask.nxdl.xml | 4 ++-- contributed_definitions/NXcs_io_obj.nxdl.xml | 4 ++-- contributed_definitions/NXcs_io_sys.nxdl.xml | 4 ++-- contributed_definitions/NXcs_mm_sys.nxdl.xml | 4 ++-- contributed_definitions/NXcs_prng.nxdl.xml | 4 ++-- contributed_definitions/NXcs_profiling.nxdl.xml | 4 ++-- contributed_definitions/NXcs_profiling_event.nxdl.xml | 4 ++-- contributed_definitions/NXdeflector.nxdl.xml | 4 ++-- contributed_definitions/NXebeam_column.nxdl.xml | 4 ++-- contributed_definitions/NXelectronanalyser.nxdl.xml | 4 ++-- contributed_definitions/NXem.nxdl.xml | 4 ++-- contributed_definitions/NXem_ebsd.nxdl.xml | 4 ++-- contributed_definitions/NXem_ebsd_conventions.nxdl.xml | 4 ++-- contributed_definitions/NXenergydispersion.nxdl.xml | 4 ++-- contributed_definitions/NXevent_data_em.nxdl.xml | 4 ++-- contributed_definitions/NXevent_data_em_set.nxdl.xml | 4 ++-- contributed_definitions/NXfabrication.nxdl.xml | 4 ++-- contributed_definitions/NXgraph_edge_set.nxdl.xml | 4 ++-- contributed_definitions/NXgraph_node_set.nxdl.xml | 4 ++-- contributed_definitions/NXgraph_root.nxdl.xml | 4 ++-- contributed_definitions/NXibeam_column.nxdl.xml | 4 ++-- contributed_definitions/NXimage_set.nxdl.xml | 4 ++-- contributed_definitions/NXion.nxdl.xml | 4 ++-- contributed_definitions/NXisocontour.nxdl.xml | 4 ++-- contributed_definitions/NXlens_em.nxdl.xml | 4 ++-- contributed_definitions/NXmpes.nxdl.xml | 4 ++-- contributed_definitions/NXms.nxdl.xml | 4 ++-- contributed_definitions/NXms_feature_set.nxdl.xml | 4 ++-- contributed_definitions/NXms_score_results.nxdl.xml | 4 ++-- contributed_definitions/NXoptical_system_em.nxdl.xml | 4 ++-- contributed_definitions/NXpump.nxdl.xml | 4 ++-- contributed_definitions/NXscanbox_em.nxdl.xml | 4 ++-- contributed_definitions/NXspectrum_set.nxdl.xml | 4 ++-- contributed_definitions/NXstage_lab.nxdl.xml | 4 ++-- 67 files changed, 134 insertions(+), 134 deletions(-) diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index f6a9658537..68c179c8c4 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -2,9 +2,9 @@ - - - Definition of the root NeXus group. - + + Definition of the root NeXus group. - The root of any NeXus data file is an ``NXroot`` class - (no other choice is allowed for a valid NeXus data file). - This attribute cements that definition. + The root of any NeXus data file is an ``NXroot`` class + (no other choice is allowed for a valid NeXus data file). + This attribute cements that definition. - + - - Date and time file was originally created - + Date and time file was originally created - - File name of original NeXus file - + File name of original NeXus file - - Date and time of last file change at close - + Date and time of last file change at close - A repository containing the application definitions - used for creating this file. - If the NeXus_version attribute contains a commit distance and hash - this should refer to this repository. + A repository containing the application definitions + used for creating this file. + If the NeXus_version attribute contains a commit distance and hash + this should refer to this repository. - Version of NeXus definitions used in writing the file. - This may either be a date based version tag of the form `vYYYY.MM` - or a version tag with a commit distance and source control (e.g., git) hash of - the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. - It may contain an additional `.dYYYYMMDD` timestamp appendix - for dirty repositories. - If the version contains a commit distance and hash the - NeXus_repository attribute should be written with the - repository url containing this version. - - Only used when the NAPI or pynxtools has written the file. - Note that this is different from the version of the - base class or application definition version number. + Version of NeXus definitions used in writing the file. + This may either be a date based version tag of the form `vYYYY.MM` + or a version tag with a commit distance and source control (e.g., git) hash of + the form `vYYYY.MM.post1.dev<commit-distance>.g<git-hash>`. + It may contain an additional `.dYYYYMMDD` timestamp appendix + for dirty repositories. + If the version contains a commit distance and hash the + NeXus_repository attribute should be written with the + repository url containing this version. + + Only used when the NAPI or pynxtools has written the file. + Note that this is different from the version of the + base class or application definition version number. @@ -84,61 +80,49 @@ - - Version of HDF (version 4) library used in writing the file - + Version of HDF (version 4) library used in writing the file - Version of HDF5 library used in writing the file. - - Note this attribute is spelled with uppercase "V", - different than other version attributes. + Version of HDF5 library used in writing the file. + + Note this attribute is spelled with uppercase "V", + different than other version attributes. - - Version of XML support library used in writing the XML file - + Version of XML support library used in writing the XML file - - Version of h5py Python package used in writing the file - + Version of h5py Python package used in writing the file - - facility or program where file originated - + facility or program where file originated - - Version of facility or program used in writing the file - + Version of facility or program used in writing the file - - - entries - + + entries - .. index:: find the default plottable data - .. index:: plotting - .. index:: default attribute value - - Declares which :ref:`NXentry` group contains - the data to be shown by default. - It is used to resolve ambiguity when - more than one :ref:`NXentry` group exists. - The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The - value must be the name of a child of the current group. The child must be a - NeXus group or a link to a NeXus group. - - It is recommended (as of NIAC2014) to use this attribute - to help define the path to the default dataset to be plotted. - See https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. + .. index:: find the default plottable data + .. index:: plotting + .. index:: default attribute value + + Declares which :ref:`NXentry` group contains + the data to be shown by default. + It is used to resolve ambiguity when + more than one :ref:`NXentry` group exists. + The value :ref:`names <validItemName>` the default :ref:`NXentry` group. The + value must be the name of a child of the current group. The child must be a + NeXus group or a link to a NeXus group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. - + \ No newline at end of file From 28fe7951c911159a1b9bc5cf51ecde188af9d42c Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Mon, 23 Sep 2024 18:28:23 +0200 Subject: [PATCH 09/18] revert unintentional changes from cherry-pick update copyright --- Makefile | 21 ++++++++++- base_classes/NXroot.nxdl.xml | 2 +- contributed_definitions/NXaberration.nxdl.xml | 4 +- .../NXaberration_model.nxdl.xml | 4 +- .../NXaberration_model_ceos.nxdl.xml | 4 +- .../NXaberration_model_nion.nxdl.xml | 4 +- .../NXaperture_em.nxdl.xml | 4 +- contributed_definitions/NXapm.nxdl.xml | 4 +- .../NXapm_paraprobe_results_nanochem.nxdl.xml | 4 +- .../NXcalibration.nxdl.xml | 4 +- .../NXcg_alpha_complex.nxdl.xml | 4 +- .../NXcg_cylinder_set.nxdl.xml | 4 +- .../NXcg_ellipsoid_set.nxdl.xml | 4 +- .../NXcg_face_list_data_structure.nxdl.xml | 4 +- .../NXcg_geodesic_mesh.nxdl.xml | 4 +- contributed_definitions/NXcg_grid.nxdl.xml | 4 +- .../NXcg_half_edge_data_structure.nxdl.xml | 4 +- .../NXcg_hexahedron_set.nxdl.xml | 4 +- .../NXcg_marching_cubes.nxdl.xml | 4 +- .../NXcg_parallelogram_set.nxdl.xml | 4 +- .../NXcg_point_set.nxdl.xml | 4 +- .../NXcg_polygon_set.nxdl.xml | 4 +- .../NXcg_polyhedron_set.nxdl.xml | 4 +- .../NXcg_polyline_set.nxdl.xml | 4 +- contributed_definitions/NXcg_roi_set.nxdl.xml | 4 +- .../NXcg_sphere_set.nxdl.xml | 4 +- .../NXcg_tetrahedron_set.nxdl.xml | 4 +- .../NXcg_triangle_set.nxdl.xml | 4 +- .../NXcg_triangulated_surface_mesh.nxdl.xml | 4 +- .../NXcg_unit_normal_set.nxdl.xml | 4 +- contributed_definitions/NXchamber.nxdl.xml | 4 +- .../NXcoordinate_system_set.nxdl.xml | 4 +- .../NXcorrector_cs.nxdl.xml | 4 +- .../NXcs_computer.nxdl.xml | 4 +- .../NXcs_filter_boolean_mask.nxdl.xml | 4 +- contributed_definitions/NXcs_io_obj.nxdl.xml | 4 +- contributed_definitions/NXcs_io_sys.nxdl.xml | 4 +- contributed_definitions/NXcs_mm_sys.nxdl.xml | 4 +- contributed_definitions/NXcs_prng.nxdl.xml | 4 +- .../NXcs_profiling.nxdl.xml | 4 +- .../NXcs_profiling_event.nxdl.xml | 4 +- contributed_definitions/NXdeflector.nxdl.xml | 4 +- .../NXebeam_column.nxdl.xml | 4 +- .../NXelectronanalyser.nxdl.xml | 4 +- contributed_definitions/NXem.nxdl.xml | 4 +- contributed_definitions/NXem_ebsd.nxdl.xml | 4 +- .../NXem_ebsd_conventions.nxdl.xml | 4 +- .../NXenergydispersion.nxdl.xml | 4 +- .../NXevent_data_em.nxdl.xml | 4 +- .../NXevent_data_em_set.nxdl.xml | 4 +- .../NXfabrication.nxdl.xml | 4 +- .../NXgraph_edge_set.nxdl.xml | 4 +- .../NXgraph_node_set.nxdl.xml | 4 +- contributed_definitions/NXgraph_root.nxdl.xml | 4 +- .../NXibeam_column.nxdl.xml | 4 +- contributed_definitions/NXimage_set.nxdl.xml | 4 +- contributed_definitions/NXion.nxdl.xml | 4 +- contributed_definitions/NXisocontour.nxdl.xml | 4 +- contributed_definitions/NXlens_em.nxdl.xml | 4 +- contributed_definitions/NXmpes.nxdl.xml | 4 +- contributed_definitions/NXms.nxdl.xml | 4 +- .../NXms_feature_set.nxdl.xml | 4 +- .../NXms_score_results.nxdl.xml | 4 +- .../NXoptical_system_em.nxdl.xml | 4 +- contributed_definitions/NXpump.nxdl.xml | 4 +- contributed_definitions/NXscanbox_em.nxdl.xml | 4 +- .../NXspectrum_set.nxdl.xml | 4 +- contributed_definitions/NXstage_lab.nxdl.xml | 4 +- .../nyaml/NXidentifier.yaml | 21 ----------- .../nyaml/NXserialized.yaml | 37 ------------------- 70 files changed, 152 insertions(+), 193 deletions(-) delete mode 100644 contributed_definitions/nyaml/NXidentifier.yaml delete mode 100644 contributed_definitions/nyaml/NXserialized.yaml diff --git a/Makefile b/Makefile index e1d0696fa5..3a882c2568 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,9 @@ test :: clean :: $(RM) -rf $(BUILD_DIR) + $(RM) -rf $(BASE_CLASS_DIR)/$(NYAML_SUBDIR) + $(RM) -rf $(APPDEF_DIR)/$(NYAML_SUBDIR) + $(RM) -rf $(CONTRIB_DIR)/$(NYAML_SUBDIR) prepare :: $(PYTHON) -m dev_tools manual --prepare --build-root $(BUILD_DIR) @@ -94,10 +97,24 @@ all :: @echo "HTML built: `ls -lAFgh $(BUILD_DIR)/manual/build/html/index.html`" @echo "PDF built: `ls -lAFgh $(BUILD_DIR)/manual/build/latex/nexus.pdf`" +$(BASE_CLASS_DIR)/%.nxdl.xml : $(BASE_CLASS_DIR)/$(NYAML_SUBDIR)/%.yaml + nyaml2nxdl $< --output-file $@ + +$(CONTRIB_DIR)/%.nxdl.xml : $(CONTRIB_DIR)/$(NYAML_SUBDIR)/%.yaml + nyaml2nxdl $< --output-file $@ + +$(APPDEF_DIR)/%.nxdl.xml : $(APPDEF_DIR)/$(NYAML_SUBDIR)/%.yaml + nyaml2nxdl $< --output-file $@ + +nxdl: $(YBC_NXDL_TARGETS) $(YCONTRIB_NXDL_TARGETS) $(YAPPDEF_NXDL_TARGETS) + +nyaml: + $(MAKE) -f nyaml.mk + # NeXus - Neutron and X-ray Common Data Format # -# Copyright (C) 2008-2022 NeXus International Advisory Committee (NIAC) +# Copyright (C) 2008-2024 NeXus International Advisory Committee (NIAC) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -113,4 +130,4 @@ all :: # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# For further information, see http://www.nexusformat.org \ No newline at end of file +# For further information, see http://www.nexusformat.org diff --git a/base_classes/NXroot.nxdl.xml b/base_classes/NXroot.nxdl.xml index f9b1e3972d..18bca6113c 100644 --- a/base_classes/NXroot.nxdl.xml +++ b/base_classes/NXroot.nxdl.xml @@ -3,7 +3,7 @@