diff --git a/pycsw/core/schemas/ogc/csw/2.0.2/rec-dcmes.xsd b/pycsw/core/schemas/ogc/csw/2.0.2/rec-dcmes.xsd
index c9bd35efb..62fbe38d9 100644
--- a/pycsw/core/schemas/ogc/csw/2.0.2/rec-dcmes.xsd
+++ b/pycsw/core/schemas/ogc/csw/2.0.2/rec-dcmes.xsd
@@ -23,6 +23,8 @@
+
+
diff --git a/pycsw/ogc/csw/csw2.py b/pycsw/ogc/csw/csw2.py
index 084b7d8ce..f2939b1a4 100644
--- a/pycsw/ogc/csw/csw2.py
+++ b/pycsw/ogc/csw/csw2.py
@@ -1528,7 +1528,10 @@ def _write_record(self, recobj, queryables):
self.parent.context.namespaces))
if link.get('protocol'):
ref.attrib['scheme'] = link['protocol']
-
+ if link.get('name'):
+ ref.attrib['name'] = link['name']
+ if link.get('description'):
+ ref.attrib['description'] = link['description']
ref.text = link['url']
for i in ['dc:relation', 'dct:modified', 'dct:abstract']:
diff --git a/pycsw/ogc/csw/csw3.py b/pycsw/ogc/csw/csw3.py
index c5de29455..b0e59e357 100644
--- a/pycsw/ogc/csw/csw3.py
+++ b/pycsw/ogc/csw/csw3.py
@@ -1595,6 +1595,10 @@ def _write_record(self, recobj, queryables):
self.parent.context.namespaces))
if link.get('protocol'):
ref.attrib['scheme'] = link['protocol']
+ if link.get('name'):
+ ref.attrib['name'] = link['name']
+ if link.get('description'):
+ ref.attrib['description'] = link['description']
ref.text = link['url']
for i in ['dc:relation', 'dct:modified', 'dct:abstract']: