Skip to content

nexusformat/definitions

Repository files navigation

NeXus definition developers

After making a change to the NeXus class definitions there are two important checks to be made before commiting the change:

  1. check whether the change does not violate any syntax rules
  2. verify whether the change looks as intended in the HTML documentation

First install the test and build requirements with this command (only run once)

make install

Then verify syntax and build the HTML manual with this command

make local

Open the HTML manual in a web brower for visual verification

firefox build/manual/build/html/index.html

HTML pages with contributor information

To build the html pages that contains contributor information on the sidebar set a github access token to an environment variable called GH_TOKEN.

Note: If set this will increase the build time of the documentation by approximately a factor of 4.

setenv GH_TOKEN <access token>

Working with nyaml files

There exists a simplified format of nxdl, which is called nyaml. There is a tool (nyaml2nxdl) available to convert between nxdl and nyaml. This tool is already installed when you installed the requirements for this repository and it is conveniently available from the make command.

You can build nyaml files for all nxdl files with invoking

make nyaml

which will created .yaml files in a subfolder called nyaml in the respective directory.

From this you can do your changes and create nxdl files with

make nxdl

from the yaml files.

Repository content

These are the components that define the structure of NeXus data files in the development directory.

component description
CHANGES.rst Change History
LGPL.txt one proposed license model
NXDL_VERSION the current NXDL version number
README.md this file
applications/ NXDL files for applications and instrument defs
base_classes/ NXDL files for components
contributed_definitions/ NXDL files from the community
impatient-guide/ NeXus for the Impatient
jenkins_build configuration for Jenkins continuous integration service
legacy_docs/ legacy PDF copies of the NeXus definitions documentation
manual/ Sphinx source files for the NeXus documentation
nxdl.xsd XML Schema for NXDL files
nxdlTypes.xsd called by nxdl.xsd
package/ directory for packaging this content
utils/ various tools used in the definitions tree
www/ launch (home) page of NeXus WWW site
xslt/ various XML stylesheet transformations
dev_tools/ developer tools for testing and building