Skip to content

Feature: reusing documentation of inherited concepts (groups/fields/symbols) and validate+fix symbols - #1650

Draft
woutdenolf wants to merge 2 commits into
mainfrom
1588-feature-request-add-a-way-to-tag-fieldsgroups-from-base-classes-to-be-shown-in-the-docs-of-derived-classes
Draft

Feature: reusing documentation of inherited concepts (groups/fields/symbols) and validate+fix symbols#1650
woutdenolf wants to merge 2 commits into
mainfrom
1588-feature-request-add-a-way-to-tag-fieldsgroups-from-base-classes-to-be-shown-in-the-docs-of-derived-classes

Conversation

@woutdenolf

@woutdenolf woutdenolf commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Following #1039 (comment).

PR description

Features

  1. Avoid duplicating .nxdl.xml content to "reuse" documentation of inherited concepts (extends or child group).
  2. Allow reusing symbols from inherited classes (extends or children).
  3. Ensure all symbols are defined (fixed all broken symbol tables).
  4. Symbols are now links. Also added to "Hypertext Anchors" on each page.
  5. Add make docdiff to make a diff
    • in generated files (classes/*/*.rst, nxdl_desc.rst, units.table, types.table, _static/nxdl_vocabulary.txt)
    • between two git references
    • HEAD~1 vs. HEAD by default.
    • I used it for this PR and decided to add it to the dev_tools.

Changes

  • NXstress and NXapm_paraprobe_clusterer_config use the new <reused_concepts>...</reused_concepts> to demonstrate its usage.
  • All other .nxdl.xml files that changed have fixes regarding their symbols table. Since this PR now validates it.

Many other classes could use this new reused_concepts feature but I won't do it in this PR.

Examples

Reused symbols (⤆ (reused)) from other class definitions

image

Reused (⤆ (reused)) vs. overwritten (): doc note is added when both appear in the class definition

image

Reused (⤆ (reused)) vs. overwritten (): examples

image

@woutdenolf

woutdenolf commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

Current diff for NXstress:

  • change related to symbols
  • some order changes due to "reused" doc injection as opposed to explicit re-definition (copy&paste) of a parent group/field.
make docdiff NXCLASS="-c NXstress"
python3 -m dev_tools docdiff -c NXstress 
--- HEAD~1:_static/nxdl_vocabulary.txt
+++ HEAD:_static/nxdl_vocabulary.txt
@@ -156,3 +156,14 @@
 /NXstress/ENTRY/processing_type-field
 /NXstress/ENTRY/start_time-field
 /NXstress/ENTRY/title-field
+/NXstress/c_Unit-symbol
+/NXstress/i-symbol
+/NXstress/j-symbol
+/NXstress/nP-symbol
+/NXstress/n_D-symbol
+/NXstress/n_Peaks-symbol
+/NXstress/n_Temp-symbol
+/NXstress/n_X-symbol
+/NXstress/n_sField-symbol
+/NXstress/x_Unit-symbol
+/NXstress/y_Unit-symbol
--- HEAD~1:classes/applications/NXstress.rst
+++ HEAD:classes/applications/NXstress.rst
@@ -57,25 +57,47 @@
 **Symbols**:
 
 
+  .. _/NXstress/n_X-symbol:
+
   **n_X**: Number of diffractogram channels.
 
+  .. _/NXstress/n_D-symbol:
+
   **n_D**: Number of diffractograms. For example the number of energy-dispersive detectors or the number of azimuthal sections in an area detector.
 
+  .. _/NXstress/n_Peaks-symbol:
+
   **n_Peaks**: Number of reflections.
 
+  .. _/NXstress/x_Unit-symbol:
+
   **x_Unit**: Diffractogram X units.
 
+  .. _/NXstress/y_Unit-symbol:
+
   **y_Unit**: Diffractogram Y units.
 
+  .. _/NXstress/c_Unit-symbol:
+
   **c_Unit**: Converted diffractogram X units (could be the same as *x_Unit*).
 
-  **n_Temp**: number of temperatures
-
-  **n_sField**: number of values in applied stress field
+  .. _/NXstress/n_Temp-symbol:
+
+  **n_Temp**: number of temperatures :ref:`⤆ </NXsample/n_Temp-symbol>` *(reused)*
+
+  .. _/NXstress/n_sField-symbol:
+
+  **n_sField**: number of values in applied stress field :ref:`⤆ </NXsample/n_sField-symbol>` *(reused)*
+
+  .. _/NXstress/nP-symbol:
 
   **nP**: number of scan points (only present in scanning measurements)
 
+  .. _/NXstress/i-symbol:
+
   **i**: number of detector pixels in the first (slowest) direction
+
+  .. _/NXstress/j-symbol:
 
   **j**: number of detector pixels in the second (faster) direction
 
@@ -86,6 +108,8 @@
 
 **Structure**:
 
+.. note:: The ⤆ link points at the class a concept comes from. Items marked *(reused)* are not defined by this class at all: they are used exactly as that class defines them. Items with a ⤆ link but no marker are defined by this class, which may change what they mean.
+
   .. _/NXstress/ENTRY-group:
 
   :bolditalic:`ENTRY`: (required) :ref:`NXentry` 
@@ -103,14 +127,6 @@
           Official NeXus NXDL schema to which this file conforms
 
           Obligatory value: ``NXstress``
-
-    .. _/NXstress/ENTRY/title-field:
-
-    .. index:: title (field)
-
-    **title**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXentry/title-field>`
-
-      Extended title for the entry.
 
     .. _/NXstress/ENTRY/experiment_identifier-field:
 
@@ -216,26 +232,35 @@
             * ``multiple``
 
 
+    .. _/NXstress/ENTRY/title-field:
+
+    .. index:: title (field)
+
+    **title**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXentry/title-field>` *(reused)*
+
+      Extended title for entry
+
     .. _/NXstress/ENTRY/experiment_responsible-group:
 
     **experiment_responsible**: (optional) :ref:`NXuser` :ref:`⤆ </NXentry/USER-group>`
 
       Information about the person who performed the experiment.
 
+      .. _/NXstress/ENTRY/experiment_responsible/role-field:
+
+      .. index:: role (field)
+
+      **role**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/role-field>`
+
+        Role of user responsible for this entry. Suggested roes are, for example, ``local contact``, ``beamline_scientist``, ``post_doc``,…
+
       .. _/NXstress/ENTRY/experiment_responsible/name-field:
 
       .. index:: name (field)
 
-      **name**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/name-field>`
-
-
-      .. _/NXstress/ENTRY/experiment_responsible/role-field:
-
-      .. index:: role (field)
-
-      **role**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/role-field>`
-
-        Role of user responsible for this entry. Suggested roes are, for example, ``local contact``, ``beamline_scientist``, ``post_doc``,…
+      **name**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/name-field>` *(reused)*
+
+        Name of user responsible for this entry
 
     .. _/NXstress/ENTRY/instrument-group:
 
@@ -362,14 +387,6 @@
 
         Zero or more of these groups describe the detectors used in the experiment.
 
-        .. _/NXstress/ENTRY/instrument/DETECTOR/description-field:
-
-        .. index:: description (field)
-
-        **description**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXdetector/description-field>`
-
-          name/manufacturer/model/etc. information
-
         .. _/NXstress/ENTRY/instrument/DETECTOR/type-field:
 
         .. index:: type (field)
@@ -382,7 +399,7 @@
 
         .. index:: distance (field)
 
-        **distance**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
+        **distance**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 3, Dimensions: [:ref:`nP </NXstress/nP-symbol>`, :ref:`i </NXstress/i-symbol>`, :ref:`j </NXstress/j-symbol>`]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
 
           .. collapse:: This is the distance to the previous component in the ...
 
@@ -398,7 +415,7 @@
 
         .. index:: efficiency (field)
 
-        **efficiency**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **efficiency**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [:ref:`i </NXstress/i-symbol>`, :ref:`j </NXstress/j-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           efficiency of the detector
 
@@ -406,7 +423,7 @@
 
         .. index:: wavelength (field)
 
-        **wavelength**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`} 
+        **wavelength**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 2, Dimensions: [:ref:`i </NXstress/i-symbol>`, :ref:`j </NXstress/j-symbol>`]) {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`} 
 
           .. collapse:: This field can be two things: ...
 
@@ -422,22 +439,6 @@
               In this use case, the efficiency and wavelength arrays must
               have the same dimensionality.
 
-        .. _/NXstress/ENTRY/instrument/DETECTOR/dead_time-field:
-
-        .. index:: dead_time (field)
-
-        **dead_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_TIME <NX_TIME>`} :ref:`⤆ </NXdetector/dead_time-field>`
-
-          Detector dead time
-
-        .. _/NXstress/ENTRY/instrument/DETECTOR/count_time-field:
-
-        .. index:: count_time (field)
-
-        **count_time**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [nP]) {units=\ :ref:`NX_TIME <NX_TIME>`} :ref:`⤆ </NXdetector/count_time-field>`
-
-          Elapsed actual counting time
-
         .. _/NXstress/ENTRY/instrument/DETECTOR/depends_on-field:
 
         .. index:: depends_on (field)
@@ -450,6 +451,30 @@
               anywhere, but is normally stored in the *NXtransformations
               group* within the *NXdetector group*.
 
+        .. _/NXstress/ENTRY/instrument/DETECTOR/description-field:
+
+        .. index:: description (field)
+
+        **description**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXdetector/description-field>` *(reused)*
+
+          name/manufacturer/model/etc. information
+
+        .. _/NXstress/ENTRY/instrument/DETECTOR/dead_time-field:
+
+        .. index:: dead_time (field)
+
+        **dead_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 3, Dimensions: [:ref:`nP </NXstress/nP-symbol>`, :ref:`i </NXstress/i-symbol>`, :ref:`j </NXstress/j-symbol>`]) {units=\ :ref:`NX_TIME <NX_TIME>`} :ref:`⤆ </NXdetector/dead_time-field>` *(reused)*
+
+          Detector dead time
+
+        .. _/NXstress/ENTRY/instrument/DETECTOR/count_time-field:
+
+        .. index:: count_time (field)
+
+        **count_time**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`nP </NXstress/nP-symbol>`]) {units=\ :ref:`NX_TIME <NX_TIME>`} :ref:`⤆ </NXdetector/count_time-field>` *(reused)*
+
+          Elapsed actual counting time
+
         .. _/NXstress/ENTRY/instrument/DETECTOR/TRANSFORMATIONS-group:
 
         :bolditalic:`TRANSFORMATIONS`: (optional) :ref:`NXtransformations` :ref:`⤆ </NXcomponent/TRANSFORMATIONS-group>`
@@ -633,11 +658,28 @@
 
         Descriptive name of sample
 
+      .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/stress_field-field:
+
+      .. index:: stress_field (field)
+
+      **stress_field**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [:ref:`n_sField </NXstress/n_sField-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXsample/stress_field-field>`
+
+        Applied external stress field
+
+        .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/stress_field@direction-attribute:
+
+        .. index:: direction (field attribute)
+
+        **@direction**: (required) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXsample/stress_field@direction-attribute>`
+
+
+          Any of these values: ``x`` | ``y`` | ``z``
+
       .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/chemical_formula-field:
 
       .. index:: chemical_formula (field)
 
-      **chemical_formula**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXsample/chemical_formula-field>`
+      **chemical_formula**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXsample/chemical_formula-field>` *(reused)*
 
         .. collapse:: The chemical formula specified using CIF conventions. ...
 
@@ -664,26 +706,9 @@
 
       .. index:: temperature (field)
 
-      **temperature**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: anyRank, Dimensions: [n_Temp]) {units=\ :ref:`NX_TEMPERATURE <NX_TEMPERATURE>`} :ref:`⤆ </NXsample/temperature-field>`
+      **temperature**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: anyRank, Dimensions: [:ref:`n_Temp </NXstress/n_Temp-symbol>`]) {units=\ :ref:`NX_TEMPERATURE <NX_TEMPERATURE>`} :ref:`⤆ </NXsample/temperature-field>` *(reused)*
 
         Sample temperature. This could be a scanned variable
-
-      .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/stress_field-field:
-
-      .. index:: stress_field (field)
-
-      **stress_field**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` (Rank: 1, Dimensions: [n_sField]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXsample/stress_field-field>`
-
-        Applied external stress field
-
-        .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/stress_field@direction-attribute:
-
-        .. index:: direction (field attribute)
-
-        **@direction**: (required) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXsample/stress_field@direction-attribute>`
-
-
-          Any of these values: ``x`` | ``y`` | ``z``
 
       .. _/NXstress/ENTRY/SAMPLE_DESCRIPTION/gauge_volume-group:
 
@@ -851,20 +876,21 @@
 
         Information about the person who performed the data reduction.
 
+        .. _/NXstress/ENTRY/FIT/data_reduction_responsible/role-field:
+
+        .. index:: role (field)
+
+        **role**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/role-field>`
+
+          Role of user responsible for this entry. Suggested roles are, for example, ``local contact``, ``beamline_scientist``, ``post_doc``,…
+
         .. _/NXstress/ENTRY/FIT/data_reduction_responsible/name-field:
 
         .. index:: name (field)
 
-        **name**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/name-field>`
-
-
-        .. _/NXstress/ENTRY/FIT/data_reduction_responsible/role-field:
-
-        .. index:: role (field)
-
-        **role**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/role-field>`
-
-          Role of user responsible for this entry. Suggested roles are, for example, ``local contact``, ``beamline_scientist``, ``post_doc``,…
+        **name**: (optional) :ref:`NX_CHAR <NX_CHAR>` :ref:`⤆ </NXuser/name-field>` *(reused)*
+
+          Name of user responsible for this entry
 
       .. _/NXstress/ENTRY/FIT/DESCRIPTION-group:
 
@@ -917,7 +943,7 @@
 
         .. index:: area (field)
 
-        **area**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **area**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Diffraction peak area (not including the background) in *y_Unit* units.
 
@@ -933,7 +959,7 @@
 
         .. index:: area_errors (field)
 
-        **area_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **area_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`area </NXstress/ENTRY/fit/peak_parameters/area-field>`
 
@@ -941,7 +967,7 @@
 
         .. index:: center (field)
 
-        **center**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **center**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Diffraction peak position in *x_Unit* units.
 
@@ -957,7 +983,7 @@
 
         .. index:: center_errors (field)
 
-        **center_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **center_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`center </NXstress/ENTRY/fit/peak_parameters/center-field>`
 
@@ -965,7 +991,7 @@
 
         .. index:: height (field)
 
-        **height**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **height**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Diffraction peak height (not including the background) in *y_Unit* units.
 
@@ -981,7 +1007,7 @@
 
         .. index:: height_errors (field)
 
-        **height_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **height_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`height </NXstress/ENTRY/fit/peak_parameters/height-field>`
 
@@ -989,7 +1015,7 @@
 
         .. index:: fwhm (field)
 
-        **fwhm**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **fwhm**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Diffraction peak full width at half maximum in *x_Unit* units.
 
@@ -1005,7 +1031,7 @@
 
         .. index:: fwhm_errors (field)
 
-        **fwhm_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **fwhm_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`fwhm </NXstress/ENTRY/fit/peak_parameters/fwhm-field>`
 
@@ -1013,7 +1039,7 @@
 
         .. index:: fwhm_left (field)
 
-        **fwhm_left**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **fwhm_left**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Left-side FWHM for split profiles in *x_Unit* units.
 
@@ -1029,7 +1055,7 @@
 
         .. index:: fwhm_left_errors (field)
 
-        **fwhm_left_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **fwhm_left_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`fwhm_left </NXstress/ENTRY/fit/peak_parameters/fwhm_left-field>`
 
@@ -1037,7 +1063,7 @@
 
         .. index:: fwhm_right (field)
 
-        **fwhm_right**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **fwhm_right**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Right-side FWHM for split profiles in *x_Unit* units.
 
@@ -1053,7 +1079,7 @@
 
         .. index:: fwhm_right_errors (field)
 
-        **fwhm_right_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **fwhm_right_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`fwhm_right </NXstress/ENTRY/fit/peak_parameters/fwhm_right-field>`
 
@@ -1061,7 +1087,7 @@
 
         .. index:: form_factor (field)
 
-        **form_factor**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **form_factor**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           .. collapse:: - Voigt or Pseudo-Voigt: Lorentzian fraction ...
 
@@ -1073,7 +1099,7 @@
 
         .. index:: form_factor_errors (field)
 
-        **form_factor_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **form_factor_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error value(s) asscociated with :ref:`form_factor </NXstress/ENTRY/fit/peak_parameters/form_factor-field>`
 
@@ -1081,7 +1107,7 @@
 
         .. index:: azimuth (field)
 
-        **azimuth**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANGLE <NX_ANGLE>`} 
+        **azimuth**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANGLE <NX_ANGLE>`} 
 
           .. collapse:: Angle that defines the position of the integrated sector in the diffract ...
 
@@ -1118,7 +1144,7 @@
 
         .. index:: A (field)
 
-        **A**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **A**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Background parameter(s). For example a second-degree polynomial will have fields ``A0``, ``A1`` and ``A2``.
 
@@ -1126,7 +1152,7 @@
 
         .. index:: as (field)
 
-        **as**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **as**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Background parameter *constant* for SHAPE function.
 
@@ -1134,7 +1160,7 @@
 
         .. index:: as_errors (field)
 
-        **as_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **as_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error associated with background parameter *constant* for SHAPE function.
 
@@ -1142,7 +1168,7 @@
 
         .. index:: b (field)
 
-        **b**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **b**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Background parameter *amplitude* for SHAPE function.
 
@@ -1150,7 +1176,7 @@
 
         .. index:: b_errors (field)
 
-        **b_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **b_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error associated with background parameter *amplitude* for SHAPE function.
 
@@ -1158,7 +1184,7 @@
 
         .. index:: o (field)
 
-        **o**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **o**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Background parameter *offset* for SHAPE function.
 
@@ -1166,7 +1192,7 @@
 
         .. index:: o_errors (field)
 
-        **o_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+        **o_errors**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
           Error associated with background parameter *offset* for SHAPE function.
 
@@ -1174,7 +1200,7 @@
 
         .. index:: background_area (field)
 
-        **background_area**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **background_area**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           The background area in *y_Unit* units, integrated over a confidence interval around the center (*0.95* by default).
 
@@ -1240,7 +1266,7 @@
 
         .. index:: DAXIS (field)
 
-        :bolditalic:`DAXIS`: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [n_D]) 
+        :bolditalic:`DAXIS`: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`]) 
 
           .. collapse:: One or more fields that contain the values for the **n_D** dimension. ...
 
@@ -1252,7 +1278,7 @@
 
         .. index:: XAXIS (field)
 
-        :bolditalic:`XAXIS`: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_X]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXdata/DATA-field>`
+        :bolditalic:`XAXIS`: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_X </NXstress/n_X-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXdata/DATA-field>`
 
           .. collapse:: One or more fields that contain the values for the **n_X** dimension in  ...
 
@@ -1272,7 +1298,7 @@
 
         .. index:: diffractogram (field)
 
-        **diffractogram**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+        **diffractogram**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
           Diffractogram counts in *y_Unit* units (default signal)
 
@@ -1297,7 +1323,7 @@
 
         .. index:: diffractogram_errors (field)
 
-        **diffractogram_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXdata/FIELDNAME_errors-field>`
+        **diffractogram_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXdata/FIELDNAME_errors-field>`
 
           Diffractogram counts error in *y_Unit* units (default signal)
 
@@ -1322,7 +1348,7 @@
 
         .. index:: fit (field)
 
-        **fit**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) :ref:`⤆ </NXdata/DATA-field>`
+        **fit**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) :ref:`⤆ </NXdata/DATA-field>`
 
           Diffractogram fit counts (auxiliary signal).
 
@@ -1339,7 +1365,7 @@
 
         .. index:: fit_errors (field)
 
-        **fit_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) :ref:`⤆ </NXdata/FIELDNAME_errors-field>`
+        **fit_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) :ref:`⤆ </NXdata/FIELDNAME_errors-field>`
 
           Diffractogram fit counts error (auxiliary signal).
 
@@ -1347,7 +1373,7 @@
 
         .. index:: background (field)
 
-        **background**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) :ref:`⤆ </NXdata/DATA-field>`
+        **background**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) :ref:`⤆ </NXdata/DATA-field>`
 
           In case the diffraction background was manually determined. Diffractogram background counts (auxiliary signal).
 
@@ -1364,7 +1390,7 @@
 
         .. index:: residuals (field)
 
-        **residuals**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [n_D, n_X]) 
+        **residuals**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 2, Dimensions: [:ref:`n_D </NXstress/n_D-symbol>`, :ref:`n_X </NXstress/n_X-symbol>`]) 
 
           Difference between diffractogram and fit (auxiliary signal).
 
@@ -1400,7 +1426,7 @@
 
       .. index:: h (field)
 
-      **h**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
+      **h**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
 
         First Miller index.
 
@@ -1408,7 +1434,7 @@
 
       .. index:: k (field)
 
-      **k**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
+      **k**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
 
         Second Miller index.
 
@@ -1416,7 +1442,7 @@
 
       .. index:: l (field)
 
-      **l**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
+      **l**: (required) :ref:`NX_INT <NX_INT>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`} 
 
         Third Miller index.
 
@@ -1424,7 +1450,7 @@
 
       .. index:: lattice (field)
 
-      **lattice**: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [n_Peaks]) 
+      **lattice**: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) 
 
         Crystal lattice systems (*cubic*, *hexagonal*, ...)
 
@@ -1432,7 +1458,7 @@
 
       .. index:: space_group (field)
 
-      **space_group**: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [n_Peaks]) 
+      **space_group**: (optional) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) 
 
         Crystallographic space group :math:`(Fm\bar{3}m, Im\bar{3}m, ...)`
 
@@ -1440,7 +1466,7 @@
 
       .. index:: phase_name (field)
 
-      **phase_name**: (required) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [n_Peaks]) 
+      **phase_name**: (required) :ref:`NX_CHAR <NX_CHAR>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) 
 
         Name of the crystallographic phase (hematite, goethite, \ :math:`\alpha`-Al\ :sub:`2`\ O\ :sub:`3`\ , ...).
 
@@ -1448,7 +1474,7 @@
 
       .. index:: qx (field)
 
-      **qx**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+      **qx**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
         .. collapse:: First component of the *normalized* scattering vector *Q* in the sample re ...
 
@@ -1459,7 +1485,7 @@
 
       .. index:: qy (field)
 
-      **qy**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+      **qy**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
         .. collapse:: Second component of the *normalized* scattering vector *Q* in the sample r ...
 
@@ -1470,7 +1496,7 @@
 
       .. index:: qz (field)
 
-      **qz**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
+      **qz**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_DIMENSIONLESS <NX_DIMENSIONLESS>`} 
 
         .. collapse:: Third component of the *normalized* scattering vector *Q* in the sample re ...
 
@@ -1481,7 +1507,7 @@
 
       .. index:: center (field)
 
-      **center**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
+      **center**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} 
 
         Diffraction peak position in *c_Unit* units.
 
@@ -1514,7 +1540,7 @@
 
       .. index:: center_errors (field)
 
-      **center_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXobject/FIELDNAME_errors-field>`
+      **center_errors**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_ANY <NX_ANY>`} :ref:`⤆ </NXobject/FIELDNAME_errors-field>`
 
         Uncentrainties on :ref:`center </NXstress/ENTRY/peaks/center-field>` in *c_Unit* units.
 
@@ -1580,7 +1606,7 @@
 
       .. index:: sx (field)
 
-      **sx**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
+      **sx**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
 
         .. collapse:: First component of the sample position in the sample reference frame. ...
 
@@ -1591,7 +1617,7 @@
 
       .. index:: sy (field)
 
-      **sy**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
+      **sy**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
 
         .. collapse:: First component of the sample position in the sample reference frame. ...
 
@@ -1602,7 +1628,7 @@
 
       .. index:: sz (field)
 
-      **sz**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [n_Peaks]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
+      **sz**: (required) :ref:`NX_NUMBER <NX_NUMBER>` (Rank: 1, Dimensions: [:ref:`n_Peaks </NXstress/n_Peaks-symbol>`]) {units=\ :ref:`NX_LENGTH <NX_LENGTH>`} 
 
         .. collapse:: First component of the sample position in the sample reference frame. ...
 
@@ -1614,9 +1640,10 @@
 -----------------
 
 List of hypertext anchors for all groups, fields,
-attributes, and links defined in this class.
-
-
+attributes, links, and symbols defined in this class.
+
+
+* :ref:`/NXstress/c_Unit-symbol </NXstress/c_Unit-symbol>`
 * :ref:`/NXstress/ENTRY-group </NXstress/ENTRY-group>`
 * :ref:`/NXstress/ENTRY/collection_description-field </NXstress/ENTRY/collection_description-field>`
 * :ref:`/NXstress/ENTRY/collection_identifier-field </NXstress/ENTRY/collection_identifier-field>`
@@ -1775,6 +1802,16 @@
 * :ref:`/NXstress/ENTRY/SAMPLE_DESCRIPTION/TRANSFORMATIONS-group </NXstress/ENTRY/SAMPLE_DESCRIPTION/TRANSFORMATIONS-group>`
 * :ref:`/NXstress/ENTRY/start_time-field </NXstress/ENTRY/start_time-field>`
 * :ref:`/NXstress/ENTRY/title-field </NXstress/ENTRY/title-field>`
+* :ref:`/NXstress/i-symbol </NXstress/i-symbol>`
+* :ref:`/NXstress/j-symbol </NXstress/j-symbol>`
+* :ref:`/NXstress/n_D-symbol </NXstress/n_D-symbol>`
+* :ref:`/NXstress/n_Peaks-symbol </NXstress/n_Peaks-symbol>`
+* :ref:`/NXstress/n_sField-symbol </NXstress/n_sField-symbol>`
+* :ref:`/NXstress/n_Temp-symbol </NXstress/n_Temp-symbol>`
+* :ref:`/NXstress/n_X-symbol </NXstress/n_X-symbol>`
+* :ref:`/NXstress/nP-symbol </NXstress/nP-symbol>`
+* :ref:`/NXstress/x_Unit-symbol </NXstress/x_Unit-symbol>`
+* :ref:`/NXstress/y_Unit-symbol </NXstress/y_Unit-symbol>`
 
 **NXDL Source**:
   https://github.com/nexusformat/definitions/blob/main/applications/NXstress.nxdl.xml

@woutdenolf
woutdenolf marked this pull request as ready for review August 29, 2026 18:54
@woutdenolf
woutdenolf marked this pull request as draft August 29, 2026 18:55
@woutdenolf woutdenolf self-assigned this Aug 29, 2026
@woutdenolf woutdenolf changed the title 1588 feature request add a way to tag fieldsgroups from base classes to be shown in the docs of derived classes Feature: reusing inherited documentation and fix symbols Aug 29, 2026
@woutdenolf woutdenolf changed the title Feature: reusing inherited documentation and fix symbols Feature: reusing documentation of inherited concepts (groups/fields/symbols) and validate+fix symbols Aug 29, 2026
@woutdenolf
woutdenolf force-pushed the 1588-feature-request-add-a-way-to-tag-fieldsgroups-from-base-classes-to-be-shown-in-the-docs-of-derived-classes branch from d57bfdf to 4fbbed1 Compare August 29, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: add a way to "tag" fields/groups from base classes to be shown in the docs of derived classes

1 participant