Source code for pynxxas.nxdl
import pydantic
from .repo import get_nxdl_definition_names # noqa F401
from .repo import get_nxdl_definition as _get_nxdl_definition
from .models import Definition as _Definition
[docs]
def load_definition(name: str, **repo_options) -> _Definition:
"""Every NeXus definition is defined in an XML file using the
NXDL schema with a 'definition' root element."""
xml_content = _get_nxdl_definition(name, **repo_options)
try:
return _Definition(**xml_content)
except pydantic.ValidationError as e:
raise ValueError(f"NeXus definition '{name}' is invalid") from e