diff --git a/nxdlTypes.xsd b/nxdlTypes.xsd
index 5fd8a7d9f9..e3e194b267 100644
--- a/nxdlTypes.xsd
+++ b/nxdlTypes.xsd
@@ -451,16 +451,20 @@
any valid NeXus field or attribute type
@@ -518,6 +522,59 @@
nxdl:NX_FLOAT
" />
+
+
+
+
+
+
+
+
+ Compound type cartesian representation of complex numbers (real and
+ imaginary parts) in NeXus.
+
+
+
+
+
+
+
+
+
+
+ Compound type polar representation of complex numbers
+ (amplitude and phase *in radians*) in NeXus.
+
+
+
+
+
+
+
+
+
+
+ Compound type representation of complex numbers (either
+ cartesian or polar form) in NeXus.
+
+
+
+
+
+
+
+
+ Compound type representation of quaternion numbers
+ (real,i,j,k) in NeXus.
+
+
+
+
+
+
diff --git a/utils/dev_units2rst.py b/utils/dev_units2rst.py
index 601619f878..7d645cee78 100755
--- a/utils/dev_units2rst.py
+++ b/utils/dev_units2rst.py
@@ -8,5 +8,6 @@
from units2rst import worker
-sys.argv.append("../nxdlTypes.xsd")
+# sys.argv.append("../nxdlTypes.xsd")
+sys.argv.append("nxdlTypes.xsd")
worker('anyUnitsAttr')
diff --git a/utils/units2rst.py b/utils/units2rst.py
index bce2cfe644..9707651288 100755
--- a/utils/units2rst.py
+++ b/utils/units2rst.py
@@ -47,6 +47,8 @@ def worker(nodeMatchString, section = 'units'):
# get the definition of each type of units
for node in node_list:
node_name = node.get('name')
+ if node_name is None:
+ continue
if 'nxdl:' + node_name in members:
words = node.xpath('xs:annotation/xs:documentation', namespaces=ns)[0]
examples = []