[rtems-central commit] spec: Use external references for interfaces

Sebastian Huber sebh at rtems.org
Thu Sep 16 07:38:18 UTC 2021


Module:    rtems-central
Branch:    master
Commit:    be254b4ed43650c3f0bb902394768ee773f4cb47
Changeset: http://git.rtems.org/rtems-central/commit/?id=be254b4ed43650c3f0bb902394768ee773f4cb47

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Sep 15 21:11:56 2021 +0200

spec: Use external references for interfaces

---

 rtemsspec/applconfig.py                            | 20 +++++++----------
 rtemsspec/sphinxcontent.py                         | 25 ++++++++++++----------
 .../tests/spec-applconfig/unspec-define-2.yml      |  3 ++-
 rtemsspec/tests/spec-applconfig/unspec-define.yml  |  4 +++-
 rtemsspec/tests/spec-applconfig/unspec-func.yml    |  7 ++++--
 rtemsspec/tests/spec-applconfig/unspec-group-2.yml |  4 +++-
 rtemsspec/tests/spec-applconfig/unspec-group-3.yml |  3 ++-
 rtemsspec/tests/spec-applconfig/unspec-group.yml   |  7 ++++--
 rtemsspec/tests/spec-applconfig/unspec-type-2.yml  |  3 ++-
 rtemsspec/tests/spec-applconfig/unspec-type.yml    |  4 +++-
 spec/bsp/if/boot-card.yml                          |  2 +-
 spec/bsp/if/fatal-extension.yml                    |  2 +-
 spec/bsp/if/fatal-leon3-clock-initialization.yml   |  2 +-
 ...l-leon3-invalid-cache-config-boot-processor.yml |  2 +-
 ...n3-invalid-cache-config-secondary-processor.yml |  2 +-
 spec/bsp/if/interrupt-spurious.yml                 |  2 +-
 spec/build-options/if/ada.yml                      |  2 +-
 spec/build-options/if/debug.yml                    |  2 +-
 spec/build-options/if/drvmgr.yml                   |  2 +-
 spec/build-options/if/multiprocessing.yml          |  2 +-
 spec/build-options/if/networking.yml               |  2 +-
 spec/build-options/if/paravirt.yml                 |  2 +-
 spec/build-options/if/posix.yml                    |  2 +-
 spec/build-options/if/profiling.yml                |  2 +-
 spec/build-options/if/smp.yml                      |  2 +-
 spec/c/if/atexit.yml                               |  2 +-
 spec/c/if/bool.yml                                 |  2 +-
 spec/c/if/chmod.yml                                |  2 +-
 spec/c/if/chown.yml                                |  2 +-
 spec/c/if/clock-monotonic.yml                      |  3 ++-
 spec/c/if/clock-nanosleep.yml                      |  3 ++-
 spec/c/if/clock-realtime.yml                       |  3 ++-
 spec/c/if/clock-settime.yml                        |  3 ++-
 spec/c/if/cpu_set_t.yml                            |  2 +-
 spec/c/if/eagain.yml                               |  2 +-
 spec/c/if/einval.yml                               |  2 +-
 spec/c/if/enomem.yml                               |  2 +-
 spec/c/if/enotsup.yml                              |  2 +-
 spec/c/if/errno.yml                                |  2 +-
 spec/c/if/exit.yml                                 |  2 +-
 spec/c/if/false.yml                                |  2 +-
 spec/c/if/flsl.yml                                 |  3 ++-
 spec/c/if/free.yml                                 |  2 +-
 spec/c/if/int16_t.yml                              |  3 ++-
 spec/c/if/int32_t.yml                              |  3 ++-
 spec/c/if/int64_t.yml                              |  3 ++-
 spec/c/if/int8_t.yml                               |  3 ++-
 spec/c/if/intmax_t.yml                             |  3 ++-
 spec/c/if/intptr_t.yml                             |  3 ++-
 spec/c/if/link.yml                                 |  2 +-
 spec/c/if/malloc.yml                               |  2 +-
 spec/c/if/memcpy.yml                               |  3 ++-
 spec/c/if/memset.yml                               |  3 ++-
 spec/c/if/mkfifo.yml                               |  2 +-
 spec/c/if/mknod.yml                                |  2 +-
 spec/c/if/null.yml                                 |  3 ++-
 spec/c/if/offsetof.yml                             |  2 +-
 spec/c/if/on-exit.yml                              |  2 +-
 spec/c/if/posix-memalign.yml                       |  3 ++-
 spec/c/if/printf.yml                               |  2 +-
 spec/c/if/pthread-create.yml                       |  3 ++-
 spec/c/if/pthread-setname-np.yml                   |  3 ++-
 spec/c/if/pthread_setspecific.yml                  |  2 +-
 spec/c/if/readdir.yml                              |  2 +-
 spec/c/if/readlink.yml                             |  2 +-
 spec/c/if/rename.yml                               |  2 +-
 spec/c/if/rmnod.yml                                |  2 +-
 spec/c/if/sbrk.yml                                 |  2 +-
 spec/c/if/sem_init.yml                             |  2 +-
 spec/c/if/sem_open.yml                             |  2 +-
 spec/c/if/size_max.yml                             |  3 ++-
 spec/c/if/size_t.yml                               |  3 ++-
 spec/c/if/symlink.yml                              |  2 +-
 spec/c/if/time_t.yml                               |  2 +-
 spec/c/if/timer-abstime.yml                        |  3 ++-
 spec/c/if/timespec.yml                             |  3 ++-
 spec/c/if/timeval.yml                              |  3 ++-
 spec/c/if/true.yml                                 |  2 +-
 spec/c/if/uint16_t.yml                             |  3 ++-
 spec/c/if/uint32_max.yml                           |  3 ++-
 spec/c/if/uint32_t.yml                             |  3 ++-
 spec/c/if/uint64_t.yml                             |  3 ++-
 spec/c/if/uint8_t.yml                              |  3 ++-
 spec/c/if/uintmax_t.yml                            |  3 ++-
 spec/c/if/uintptr_max.yml                          |  3 ++-
 spec/c/if/uintptr_t.yml                            |  3 ++-
 spec/c/if/utime.yml                                |  2 +-
 spec/c/if/va_list.yml                              |  3 ++-
 spec/compiler/if/asm.yml                           |  2 +-
 spec/compiler/if/builtin-choose-expr.yml           |  2 +-
 spec/compiler/if/builtin-expect.yml                |  2 +-
 spec/compiler/if/builtin-return-address.yml        |  2 +-
 spec/compiler/if/builtin-types-compatible-p.yml    |  2 +-
 spec/compiler/if/builtin-unreachable.yml           |  2 +-
 spec/compiler/if/coverity.yml                      |  2 +-
 spec/compiler/if/cplusplus.yml                     |  2 +-
 spec/compiler/if/gnuc.yml                          |  2 +-
 spec/compiler/if/stdc-version.yml                  |  3 ++-
 spec/compiler/if/typeof.yml                        |  2 +-
 spec/compiler/if/user-label-prefix.yml             |  2 +-
 spec/dev/grlib/if/load-08.yml                      |  2 +-
 spec/dev/grlib/if/load-16.yml                      |  2 +-
 spec/dev/grlib/if/load-32.yml                      |  2 +-
 spec/dev/grlib/if/load-64.yml                      |  2 +-
 spec/dev/grlib/if/store-08.yml                     |  2 +-
 spec/dev/grlib/if/store-16.yml                     |  2 +-
 spec/dev/grlib/if/store-32.yml                     |  2 +-
 spec/dev/grlib/if/store-64.yml                     |  2 +-
 spec/doc/if/config-scheduler-clustered.yml         |  7 ++++--
 spec/doc/if/config-scheduler-table.yml             |  7 ++++--
 spec/doc/if/config-unlimited-objects.yml           |  7 ++++--
 spec/doc/if/mp-proxies.yml                         |  7 ++++--
 spec/doc/if/mrsp.yml                               |  7 ++++--
 spec/doc/if/scheduler-cbs.yml                      |  7 ++++--
 spec/doc/if/scheduler-concepts.yml                 |  7 ++++--
 spec/doc/if/scheduler-edf.yml                      |  7 ++++--
 spec/doc/if/scheduler-priority-simple.yml          |  7 ++++--
 spec/doc/if/scheduler-priority.yml                 |  7 ++++--
 spec/doc/if/scheduler-smp-edf.yml                  |  7 ++++--
 spec/doc/if/scheduler-smp-priority-affinity.yml    |  7 ++++--
 spec/doc/if/scheduler-smp-priority-simple.yml      |  7 ++++--
 spec/doc/if/scheduler-smp-priority.yml             |  7 ++++--
 spec/doc/if/terminate.yml                          |  7 ++++--
 spec/rtems/io/if/mount.yml                         |  2 +-
 spec/rtems/io/if/unmount.yml                       |  2 +-
 spec/rtems/malloc/if/calloc.yml                    |  2 +-
 spec/rtems/malloc/if/malloc.yml                    |  2 +-
 spec/score/chain/if/control.yml                    |  2 +-
 spec/score/chain/if/node.yml                       |  2 +-
 spec/score/context/if/fp-size.yml                  |  2 +-
 spec/score/cpu/if/all-tasks-are-fp.yml             |  2 +-
 spec/score/cpu/if/exception-frame-print.yml        |  2 +-
 spec/score/cpu/if/exception-frame.yml              |  2 +-
 spec/score/cpu/if/fatal-halt.yml                   |  2 +-
 spec/score/cpu/if/hardware-fp.yml                  |  2 +-
 spec/score/cpu/if/heap-alignment.yml               |  2 +-
 spec/score/cpu/if/interrupt-frame.yml              |  2 +-
 spec/score/cpu/if/interrupt-stack-alignment.yml    |  2 +-
 spec/score/cpu/if/isr-passes-frame-pointer.yml     |  2 +-
 spec/score/cpu/if/maximum-processors.yml           |  2 +-
 spec/score/cpu/if/modes-interrupt-mask.yml         |  2 +-
 spec/score/cpu/if/simple-vectored-interrupts.yml   |  2 +-
 spec/score/cpu/if/sizeof-pointer.yml               |  2 +-
 spec/score/cpu/if/stack-alignment.yml              |  2 +-
 spec/score/cpu/if/stack-minimum-size.yml           |  2 +-
 spec/score/cpu/if/uint32ptr.yml                    |  2 +-
 spec/score/futex/if/wait.yml                       |  2 +-
 spec/score/futex/if/wake.yml                       |  2 +-
 spec/score/heap/if/information-block.yml           |  2 +-
 .../if/bad-thread-dispatch-disable-level.yml       |  4 +++-
 .../interr/if/bad-thread-dispatch-environment.yml  |  4 +++-
 spec/score/interr/if/code.yml                      |  2 +-
 .../score/interr/if/init-task-construct-failed.yml |  4 +++-
 spec/score/interr/if/internal-error-core.yml       |  4 +++-
 spec/score/interr/if/internal-error-rtems-api.yml  |  2 +-
 spec/score/interr/if/source-bsp.yml                |  2 +-
 spec/score/interr/if/source-exit.yml               |  2 +-
 spec/score/interr/if/source-panic.yml              |  2 +-
 spec/score/interr/if/source-smp.yml                |  2 +-
 spec/score/interr/if/source-spurious-interrupt.yml |  2 +-
 spec/score/interr/if/source.yml                    |  2 +-
 spec/score/interr/if/terminate.yml                 |  2 +-
 spec/score/interr/if/thread-exitted.yml            |  4 +++-
 spec/score/interr/if/thread-queue-deadlock.yml     |  4 +++-
 .../thread-queue-enqueue-sticky-from-bad-state.yml |  4 +++-
 spec/score/interr/if/too-large-tls-size.yml        |  4 +++-
 spec/score/isr/if/handler-entry.yml                |  2 +-
 spec/score/isr/if/handler.yml                      |  2 +-
 spec/score/isr/if/is-in-progress.yml               |  2 +-
 spec/score/isr/if/level.yml                        |  2 +-
 spec/score/isr/if/local-disable.yml                |  2 +-
 spec/score/isr/if/local-enable.yml                 |  2 +-
 spec/score/isr/if/local-flash.yml                  |  2 +-
 spec/score/isr/if/lock-context.yml                 |  2 +-
 spec/score/isr/if/lock-control.yml                 |  2 +-
 spec/score/isr/if/lock-declare.yml                 |  2 +-
 spec/score/isr/if/lock-define.yml                  |  2 +-
 spec/score/isr/if/lock-destroy.yml                 |  2 +-
 spec/score/isr/if/lock-initialize.yml              |  2 +-
 spec/score/isr/if/lock-initializer.yml             |  2 +-
 spec/score/isr/if/lock-isr-disable-acquire.yml     |  2 +-
 spec/score/isr/if/lock-isr-disable.yml             |  2 +-
 spec/score/isr/if/lock-member.yml                  |  2 +-
 spec/score/isr/if/lock-reference.yml               |  2 +-
 spec/score/isr/if/lock-release-isr-enable.yml      |  2 +-
 spec/score/isr/if/stack-size.yml                   |  2 +-
 spec/score/isr/if/vector-number.yml                |  2 +-
 spec/score/memory/if/zero-before-use.yml           |  2 +-
 spec/score/mpci/if/configuration-type.yml          |  2 +-
 spec/score/mpci/if/configuration.yml               |  2 +-
 spec/score/mpci/if/control.yml                     |  2 +-
 spec/score/mpci/if/entry.yml                       |  2 +-
 spec/score/mpci/if/get-packet-entry.yml            |  2 +-
 spec/score/mpci/if/initialization-entry.yml        |  2 +-
 spec/score/mpci/if/packet-classes.yml              |  2 +-
 .../mpci/if/packet-minimum-hetero-conversion.yml   |  2 +-
 spec/score/mpci/if/packet-minimum-size.yml         |  2 +-
 spec/score/mpci/if/packet-prefix.yml               |  2 +-
 spec/score/mpci/if/receive-entry.yml               |  2 +-
 spec/score/mpci/if/return-packet-entry.yml         |  2 +-
 spec/score/mpci/if/send-entry.yml                  |  2 +-
 spec/score/msgq/if/buffer.yml                      |  2 +-
 spec/score/object/if/apis-last.yml                 |  2 +-
 spec/score/object/if/build-id.yml                  |  2 +-
 spec/score/object/if/build-name.yml                |  2 +-
 spec/score/object/if/get-api.yml                   |  2 +-
 spec/score/object/if/get-class.yml                 |  2 +-
 spec/score/object/if/get-index.yml                 |  2 +-
 spec/score/object/if/get-node.yml                  |  2 +-
 spec/score/object/if/id-final-index.yml            |  2 +-
 spec/score/object/if/id-final.yml                  |  2 +-
 spec/score/object/if/id-initial-index.yml          |  2 +-
 spec/score/object/if/id-initial.yml                |  2 +-
 spec/score/object/if/id-none.yml                   |  2 +-
 spec/score/object/if/id-of-self.yml                |  2 +-
 spec/score/object/if/id.yml                        |  2 +-
 spec/score/object/if/internal-api.yml              |  2 +-
 spec/score/object/if/is-unlimited.yml              |  2 +-
 spec/score/object/if/local-node.yml                |  2 +-
 spec/score/object/if/maximum-per-allocation.yml    |  2 +-
 spec/score/object/if/search-all-nodes.yml          |  2 +-
 spec/score/object/if/search-local-nodes.yml        |  2 +-
 spec/score/object/if/search-other-nodes.yml        |  2 +-
 spec/score/object/if/unlimited-objects.yml         |  2 +-
 spec/score/object/if/who-am-i.yml                  |  2 +-
 ...al-boot-processor-not-assigned-to-scheduler.yml |  2 +-
 .../if/fatal-mandatory-processor-not-present.yml   |  2 +-
 ...tal-multitasking-start-on-invalid-processor.yml |  2 +-
 ...-multitasking-start-on-unassigned-processor.yml |  2 +-
 spec/score/smp/if/fatal-shutdown-response.yml      |  2 +-
 .../fatal-start-of-mandatory-processor-failed.yml  |  2 +-
 .../if/fatal-wrong-cpu-state-to-perform-jobs.yml   |  2 +-
 spec/score/smp/if/get-current-processor.yml        |  2 +-
 spec/score/smp/if/get-processor-maximum.yml        |  2 +-
 spec/score/smp/if/lock-acquire.yml                 |  2 +-
 spec/score/smp/if/lock-release.yml                 |  2 +-
 spec/score/smp/if/processor-configured-maximum.yml |  2 +-
 spec/score/stack/if/allocator-allocate-type.yml    |  2 +-
 spec/score/stack/if/allocator-allocate.yml         |  2 +-
 spec/score/stack/if/allocator-avoids-workspace.yml |  2 +-
 spec/score/stack/if/allocator-free-type.yml        |  2 +-
 spec/score/stack/if/allocator-free.yml             |  2 +-
 spec/score/stack/if/allocator-initialize-type.yml  |  2 +-
 spec/score/stack/if/allocator-initialize.yml       |  2 +-
 spec/score/stack/if/minimum-size.yml               |  2 +-
 spec/score/status/if/deadlock.yml                  |  2 +-
 spec/score/status/if/mutex-ceiling-violated.yml    |  2 +-
 spec/score/status/if/successful.yml                |  2 +-
 spec/score/status/if/timeout.yml                   |  2 +-
 spec/score/status/if/unsatisfied.yml               |  2 +-
 spec/score/thread/if/idle-body.yml                 |  2 +-
 spec/score/thread/if/idle-stack-size.yml           |  2 +-
 spec/score/userext/if/fatal.yml                    |  2 +-
 spec/score/userext/if/initial-count.yml            |  2 +-
 spec/score/userext/if/initial-extensions.yml       |  2 +-
 spec/score/userext/if/table.yml                    |  2 +-
 spec/score/userext/if/thread-begin.yml             |  2 +-
 spec/score/userext/if/thread-create.yml            |  2 +-
 spec/score/userext/if/thread-delete.yml            |  2 +-
 spec/score/userext/if/thread-exitted.yml           |  2 +-
 spec/score/userext/if/thread-restart.yml           |  2 +-
 spec/score/userext/if/thread-start.yml             |  2 +-
 spec/score/userext/if/thread-switch.yml            |  2 +-
 spec/score/userext/if/thread-terminate.yml         |  2 +-
 spec/score/watchdog/if/interval.yml                |  2 +-
 spec/score/watchdog/if/microseconds-per-tick.yml   |  2 +-
 spec/score/watchdog/if/nanoseconds-per-tick.yml    |  2 +-
 spec/score/watchdog/if/no-timeout.yml              |  2 +-
 spec/score/watchdog/if/ticks-per-second.yml        |  2 +-
 spec/score/watchdog/if/ticks-per-timeslice.yml     |  2 +-
 spec/score/watchdog/if/ticks-since-boot.yml        |  2 +-
 spec/score/wkspace/if/is-unified.yml               |  2 +-
 spec/score/wkspace/if/size.yml                     |  2 +-
 spec/spec/external-reference-generic.yml           |  4 ++++
 spec/spec/interface-references.yml                 | 25 ----------------------
 spec/spec/interface-unspecified.yml                |  2 +-
 spec/user/if/asm.yml                               |  2 +-
 spec/user/if/false.yml                             |  2 +-
 spec/user/if/true.yml                              |  2 +-
 279 files changed, 426 insertions(+), 340 deletions(-)

diff --git a/rtemsspec/applconfig.py b/rtemsspec/applconfig.py
index fde61ff..916682f 100644
--- a/rtemsspec/applconfig.py
+++ b/rtemsspec/applconfig.py
@@ -257,27 +257,23 @@ def _generate(group: Item, options: ItemMap, content: _ContentAdaptor) -> None:
     content.add_licence_and_copyrights()
 
 
-def _get_value_doxygen_url(ctx: ItemGetValueContext) -> Any:
-    url = ctx.item["references"]["url"]
-    return f"<a href=\"{url}\">{ctx.value[ctx.key]}</a>"
+def _get_value_doxygen_url(ctx: ItemGetValueContext) -> Optional[str]:
+    for ref in ctx.item["references"]:
+        if ref["type"] == "url":
+            return f"<a href=\"{ref['identifier']}\">{ctx.value[ctx.key]}</a>"
+    return None
 
 
 def _get_value_doxygen_unspecified_define(ctx: ItemGetValueContext) -> Any:
-    if "url" in ctx.item["references"]:
-        return _get_value_doxygen_url(ctx)
-    return get_value_hash(ctx)
+    return _get_value_doxygen_url(ctx) or get_value_hash(ctx)
 
 
 def _get_value_doxygen_unspecified_group(ctx: ItemGetValueContext) -> Any:
-    if "url" in ctx.item["references"]:
-        return _get_value_doxygen_url(ctx)
-    return ctx.value[ctx.key]
+    return _get_value_doxygen_url(ctx) or ctx.value[ctx.key]
 
 
 def _get_value_doxygen_unspecfied_type(ctx: ItemGetValueContext) -> Any:
-    if "url" in ctx.item["references"]:
-        return _get_value_doxygen_url(ctx)
-    return get_value_double_colon(ctx)
+    return _get_value_doxygen_url(ctx) or get_value_double_colon(ctx)
 
 
 def _add_doxygen_get_values(mapper: ItemMapper) -> None:
diff --git a/rtemsspec/sphinxcontent.py b/rtemsspec/sphinxcontent.py
index 1d72ae7..e0084af 100644
--- a/rtemsspec/sphinxcontent.py
+++ b/rtemsspec/sphinxcontent.py
@@ -229,12 +229,13 @@ def _get_value_sphinx_type(ctx: ItemGetValueContext) -> Any:
 
 def _get_value_sphinx_ref(ctx: ItemGetValueContext, get_value: ItemGetValue,
                           postfix: str) -> Any:
-    if "c-user" in ctx.item["references"]:
-        sphinx_ref = ctx.item["references"]["c-user"]
-        return f":ref:`{ctx.value[ctx.key]}{postfix} <{sphinx_ref}>`"
-    if "url" in ctx.item["references"]:
-        url = ctx.item["references"]["url"]
-        return f"`{ctx.value[ctx.key]}{postfix} <{url}>`_"
+    for ref in ctx.item["references"]:
+        ref_type = ref["type"]
+        identifier = ref["identifier"]
+        if ref_type == "document" and ref["name"] == "c-user":
+            return f":ref:`{ctx.value[ctx.key]}{postfix} <{identifier}>`"
+        if ref_type == "url":
+            return f"`{ctx.value[ctx.key]}{postfix} <{identifier}>`_"
     return get_value(ctx)
 
 
@@ -247,11 +248,13 @@ def _get_value_sphinx_unspecified_function(ctx: ItemGetValueContext) -> Any:
 
 
 def _get_value_sphinx_unspecified_group(ctx: ItemGetValueContext) -> Any:
-    if "c-user" in ctx.item["references"]:
-        return f":ref:`{ctx.item['references']['c-user']}`"
-    if "url" in ctx.item["references"]:
-        url = ctx.item["references"]["url"]
-        return f"`{ctx.value[ctx.key]} <{url}>`_"
+    for ref in ctx.item["references"]:
+        ref_type = ref["type"]
+        identifier = ref["identifier"]
+        if ref_type == "document" and ref["name"] == "c-user":
+            return f":ref:`{identifier}`"
+        if ref_type == "url":
+            return f"`{ctx.value[ctx.key]} <{identifier}>`_"
     return ctx.value[ctx.key]
 
 
diff --git a/rtemsspec/tests/spec-applconfig/unspec-define-2.yml b/rtemsspec/tests/spec-applconfig/unspec-define-2.yml
index 75acb27..a265e56 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-define-2.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-define-2.yml
@@ -6,5 +6,6 @@ interface-type: unspecified-define
 links: []
 name: UNSPEC_DEFINE_2
 references:
-  url: https://foo
+- identifier: https://foo
+  type: url
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-define.yml b/rtemsspec/tests/spec-applconfig/unspec-define.yml
index 6ca8998..5f5de98 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-define.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-define.yml
@@ -6,5 +6,7 @@ interface-type: unspecified-define
 links: []
 name: UNSPEC_DEFINE
 references:
-  c-user: SphinxRefTarget
+- identifier: SphinxRefTarget
+  name: c-user
+  type: document
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-func.yml b/rtemsspec/tests/spec-applconfig/unspec-func.yml
index 24cc714..1f5cc69 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-func.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-func.yml
@@ -6,6 +6,9 @@ interface-type: unspecified-function
 links: []
 name: unspec_func
 references:
-  c-user: SphinxRefUnspecFunc
-  url: unspec-func.html
+- identifier: SphinxRefUnspecFunc
+  name: c-user
+  type: document
+- identifier: unspec-func.html
+  type: url
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group-2.yml b/rtemsspec/tests/spec-applconfig/unspec-group-2.yml
index 106ad3e..59ce4b1 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-group-2.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-group-2.yml
@@ -5,5 +5,7 @@ enabled-by: true
 interface-type: unspecified-group
 links: []
 name: Unspec Group 2
-references: []
+references:
+- identifier: blub
+  type: function
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group-3.yml b/rtemsspec/tests/spec-applconfig/unspec-group-3.yml
index f84af54..e21aa95 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-group-3.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-group-3.yml
@@ -6,5 +6,6 @@ interface-type: unspecified-group
 links: []
 name: Unspec Group 3
 references:
-  url: unspec-group-3.html
+- identifier: unspec-group-3.html
+  type: url
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-group.yml b/rtemsspec/tests/spec-applconfig/unspec-group.yml
index b9f4859..7c3ed69 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-group.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-group.yml
@@ -6,6 +6,9 @@ interface-type: unspecified-group
 links: []
 name: Unspec Group
 references:
-  c-user: SphinxRefUnspecGroup
-  url: unspec-group.html
+- identifier: SphinxRefUnspecGroup
+  name: c-user
+  type: document
+- identifier: unspec-group.html
+  type: url
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-type-2.yml b/rtemsspec/tests/spec-applconfig/unspec-type-2.yml
index 4635d78..6801743 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-type-2.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-type-2.yml
@@ -6,5 +6,6 @@ interface-type: unspecified-type
 links: []
 name: unspec_type_2
 references:
-  url: https://bar
+- identifier: https://bar
+  type: url
 type: interface
diff --git a/rtemsspec/tests/spec-applconfig/unspec-type.yml b/rtemsspec/tests/spec-applconfig/unspec-type.yml
index 249fe30..082a350 100644
--- a/rtemsspec/tests/spec-applconfig/unspec-type.yml
+++ b/rtemsspec/tests/spec-applconfig/unspec-type.yml
@@ -5,5 +5,7 @@ enabled-by: true
 interface-type: unspecified-type
 links: []
 name: unspec_type
-references: {}
+references:
+- identifier: boom
+  type: function
 type: interface
diff --git a/spec/bsp/if/boot-card.yml b/spec/bsp/if/boot-card.yml
index 0d46e9b..d79b340 100644
--- a/spec/bsp/if/boot-card.yml
+++ b/spec/bsp/if/boot-card.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-startup
 name: boot_card
-references: {}
+references: []
 type: interface
diff --git a/spec/bsp/if/fatal-extension.yml b/spec/bsp/if/fatal-extension.yml
index c6c6f08..3dff963 100644
--- a/spec/bsp/if/fatal-extension.yml
+++ b/spec/bsp/if/fatal-extension.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-fatal
 name: bsp_fatal_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/bsp/if/fatal-leon3-clock-initialization.yml b/spec/bsp/if/fatal-leon3-clock-initialization.yml
index 8d2a39a..d437cbe 100644
--- a/spec/bsp/if/fatal-leon3-clock-initialization.yml
+++ b/spec/bsp/if/fatal-leon3-clock-initialization.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-fatal
 name: LEON3_FATAL_CLOCK_INITIALIZATION
-references: {}
+references: []
 type: interface
diff --git a/spec/bsp/if/fatal-leon3-invalid-cache-config-boot-processor.yml b/spec/bsp/if/fatal-leon3-invalid-cache-config-boot-processor.yml
index 4978645..b8ea143 100644
--- a/spec/bsp/if/fatal-leon3-invalid-cache-config-boot-processor.yml
+++ b/spec/bsp/if/fatal-leon3-invalid-cache-config-boot-processor.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-fatal
 name: LEON3_FATAL_INVALID_CACHE_CONFIG_BOOT_PROCESSOR
-references: {}
+references: []
 type: interface
diff --git a/spec/bsp/if/fatal-leon3-invalid-cache-config-secondary-processor.yml b/spec/bsp/if/fatal-leon3-invalid-cache-config-secondary-processor.yml
index adfb435..a847e98 100644
--- a/spec/bsp/if/fatal-leon3-invalid-cache-config-secondary-processor.yml
+++ b/spec/bsp/if/fatal-leon3-invalid-cache-config-secondary-processor.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-fatal
 name: LEON3_FATAL_INVALID_CACHE_CONFIG_SECONDARY_PROCESSOR
-references: {}
+references: []
 type: interface
diff --git a/spec/bsp/if/interrupt-spurious.yml b/spec/bsp/if/interrupt-spurious.yml
index 98ee692..d643e73 100644
--- a/spec/bsp/if/interrupt-spurious.yml
+++ b/spec/bsp/if/interrupt-spurious.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group-interrupt
 name: bsp_interrupt_spurious
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/ada.yml b/spec/build-options/if/ada.yml
index 524a026..5922d0a 100644
--- a/spec/build-options/if/ada.yml
+++ b/spec/build-options/if/ada.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __RTEMS_ADA__
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/debug.yml b/spec/build-options/if/debug.yml
index 53d22f0..6f1b922 100644
--- a/spec/build-options/if/debug.yml
+++ b/spec/build-options/if/debug.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_DEBUG
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/drvmgr.yml b/spec/build-options/if/drvmgr.yml
index dd61fa1..226790f 100644
--- a/spec/build-options/if/drvmgr.yml
+++ b/spec/build-options/if/drvmgr.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_DRVMGR_STARTUP
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/multiprocessing.yml b/spec/build-options/if/multiprocessing.yml
index 91b16e3..828d5f3 100644
--- a/spec/build-options/if/multiprocessing.yml
+++ b/spec/build-options/if/multiprocessing.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_MULTIPROCESSING
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/networking.yml b/spec/build-options/if/networking.yml
index a586479..4a99a19 100644
--- a/spec/build-options/if/networking.yml
+++ b/spec/build-options/if/networking.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_NETWORKING
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/paravirt.yml b/spec/build-options/if/paravirt.yml
index 29a20c7..a467e74 100644
--- a/spec/build-options/if/paravirt.yml
+++ b/spec/build-options/if/paravirt.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_PARAVIRT
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/posix.yml b/spec/build-options/if/posix.yml
index 2ad0f05..8054e02 100644
--- a/spec/build-options/if/posix.yml
+++ b/spec/build-options/if/posix.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_POSIX_API
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/profiling.yml b/spec/build-options/if/profiling.yml
index a97b8c8..809987b 100644
--- a/spec/build-options/if/profiling.yml
+++ b/spec/build-options/if/profiling.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_PROFILING
-references: {}
+references: []
 type: interface
diff --git a/spec/build-options/if/smp.yml b/spec/build-options/if/smp.yml
index 1d835b4..9ec1fb9 100644
--- a/spec/build-options/if/smp.yml
+++ b/spec/build-options/if/smp.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: RTEMS_SMP
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/atexit.yml b/spec/c/if/atexit.yml
index 5ebb05c..1b26fdc 100644
--- a/spec/c/if/atexit.yml
+++ b/spec/c/if/atexit.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdlib
 name: atexit
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/bool.yml b/spec/c/if/bool.yml
index 5f689e6..368807a 100644
--- a/spec/c/if/bool.yml
+++ b/spec/c/if/bool.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdbool
 name: bool
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/chmod.yml b/spec/c/if/chmod.yml
index 1bb52e9..53ec81f 100644
--- a/spec/c/if/chmod.yml
+++ b/spec/c/if/chmod.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: chmod
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/chown.yml b/spec/c/if/chown.yml
index 74f7dbb..d5cfc3f 100644
--- a/spec/c/if/chown.yml
+++ b/spec/c/if/chown.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: chown
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/clock-monotonic.yml b/spec/c/if/clock-monotonic.yml
index bc702af..bd3fe86 100644
--- a/spec/c/if/clock-monotonic.yml
+++ b/spec/c/if/clock-monotonic.yml
@@ -9,5 +9,6 @@ links:
   uid: time
 name: CLOCK_MONOTONIC
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+  type: url
 type: interface
diff --git a/spec/c/if/clock-nanosleep.yml b/spec/c/if/clock-nanosleep.yml
index 2e32a8a..cffbba6 100644
--- a/spec/c/if/clock-nanosleep.yml
+++ b/spec/c/if/clock-nanosleep.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: clock_nanosleep
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_nanosleep.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_nanosleep.html
+  type: url
 type: interface
diff --git a/spec/c/if/clock-realtime.yml b/spec/c/if/clock-realtime.yml
index 042ec38..cf0154e 100644
--- a/spec/c/if/clock-realtime.yml
+++ b/spec/c/if/clock-realtime.yml
@@ -9,5 +9,6 @@ links:
   uid: time
 name: CLOCK_REALTIME
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+  type: url
 type: interface
diff --git a/spec/c/if/clock-settime.yml b/spec/c/if/clock-settime.yml
index fd9d182..0dd1b73 100644
--- a/spec/c/if/clock-settime.yml
+++ b/spec/c/if/clock-settime.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: clock_settime
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_settime.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_settime.html
+  type: url
 type: interface
diff --git a/spec/c/if/cpu_set_t.yml b/spec/c/if/cpu_set_t.yml
index a887c44..70da7c6 100644
--- a/spec/c/if/cpu_set_t.yml
+++ b/spec/c/if/cpu_set_t.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-cpuset
 name: cpu_set_t
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/eagain.yml b/spec/c/if/eagain.yml
index 907cb1a..1e364dd 100644
--- a/spec/c/if/eagain.yml
+++ b/spec/c/if/eagain.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: errno-header
 name: EAGAIN
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/einval.yml b/spec/c/if/einval.yml
index 1466ff9..745ec15 100644
--- a/spec/c/if/einval.yml
+++ b/spec/c/if/einval.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: errno-header
 name: EINVAL
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/enomem.yml b/spec/c/if/enomem.yml
index 38eb725..7736c92 100644
--- a/spec/c/if/enomem.yml
+++ b/spec/c/if/enomem.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: errno-header
 name: ENOMEM
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/enotsup.yml b/spec/c/if/enotsup.yml
index cf3f790..9874f6f 100644
--- a/spec/c/if/enotsup.yml
+++ b/spec/c/if/enotsup.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: errno-header
 name: ENOTSUP
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/errno.yml b/spec/c/if/errno.yml
index 2f13850..13436b3 100644
--- a/spec/c/if/errno.yml
+++ b/spec/c/if/errno.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: errno-header
 name: errno
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/exit.yml b/spec/c/if/exit.yml
index 596fc46..f5e9ac3 100644
--- a/spec/c/if/exit.yml
+++ b/spec/c/if/exit.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdlib
 name: exit
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/false.yml b/spec/c/if/false.yml
index 1aefca7..3285aee 100644
--- a/spec/c/if/false.yml
+++ b/spec/c/if/false.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdbool
 name: 'false'
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/flsl.yml b/spec/c/if/flsl.yml
index cd04bb8..366a737 100644
--- a/spec/c/if/flsl.yml
+++ b/spec/c/if/flsl.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: flsl
 references:
-  url: https://www.freebsd.org/cgi/man.cgi?query=fls&sektion=3
+- identifier: https://www.freebsd.org/cgi/man.cgi?query=fls&sektion=3
+  type: url
 type: interface
diff --git a/spec/c/if/free.yml b/spec/c/if/free.yml
index e47e1c5..6a9ed92 100644
--- a/spec/c/if/free.yml
+++ b/spec/c/if/free.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdlib
 name: free
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/int16_t.yml b/spec/c/if/int16_t.yml
index a44cb6e..4ce1711 100644
--- a/spec/c/if/int16_t.yml
+++ b/spec/c/if/int16_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: int16_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/int32_t.yml b/spec/c/if/int32_t.yml
index 71f0d66..c102547 100644
--- a/spec/c/if/int32_t.yml
+++ b/spec/c/if/int32_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: int32_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/int64_t.yml b/spec/c/if/int64_t.yml
index f5dbe95..0d0b8b0 100644
--- a/spec/c/if/int64_t.yml
+++ b/spec/c/if/int64_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: int64_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/int8_t.yml b/spec/c/if/int8_t.yml
index ec76cc7..811f86c 100644
--- a/spec/c/if/int8_t.yml
+++ b/spec/c/if/int8_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: int8_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/intmax_t.yml b/spec/c/if/intmax_t.yml
index 4703193..1024712 100644
--- a/spec/c/if/intmax_t.yml
+++ b/spec/c/if/intmax_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: intmax_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/intptr_t.yml b/spec/c/if/intptr_t.yml
index 11388ed..a81fdf5 100644
--- a/spec/c/if/intptr_t.yml
+++ b/spec/c/if/intptr_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: intptr_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/link.yml b/spec/c/if/link.yml
index bd40031..2ac7b6e 100644
--- a/spec/c/if/link.yml
+++ b/spec/c/if/link.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: link
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/malloc.yml b/spec/c/if/malloc.yml
index 19d5bf7..41cc903 100644
--- a/spec/c/if/malloc.yml
+++ b/spec/c/if/malloc.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdlib
 name: malloc
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/memcpy.yml b/spec/c/if/memcpy.yml
index a9e8c79..51019bc 100644
--- a/spec/c/if/memcpy.yml
+++ b/spec/c/if/memcpy.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: memcpy
 references:
-  url: https://en.cppreference.com/w/c/string/byte/memcpy
+- identifier: https://en.cppreference.com/w/c/string/byte/memcpy
+  type: url
 type: interface
diff --git a/spec/c/if/memset.yml b/spec/c/if/memset.yml
index e98331e..8b2db0d 100644
--- a/spec/c/if/memset.yml
+++ b/spec/c/if/memset.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: memset
 references:
-  url: https://en.cppreference.com/w/c/string/byte/memset
+- identifier: https://en.cppreference.com/w/c/string/byte/memset
+  type: url
 type: interface
diff --git a/spec/c/if/mkfifo.yml b/spec/c/if/mkfifo.yml
index 1e13b6b..3e33049 100644
--- a/spec/c/if/mkfifo.yml
+++ b/spec/c/if/mkfifo.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: mkfifo
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/mknod.yml b/spec/c/if/mknod.yml
index 2ae383f..5ade33c 100644
--- a/spec/c/if/mknod.yml
+++ b/spec/c/if/mknod.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: mknod
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/null.yml b/spec/c/if/null.yml
index dc3c5d7..029097d 100644
--- a/spec/c/if/null.yml
+++ b/spec/c/if/null.yml
@@ -9,5 +9,6 @@ links:
   uid: stddef
 name: 'NULL'
 references:
-  url: https://en.cppreference.com/w/c/types/NULL
+- identifier: https://en.cppreference.com/w/c/types/NULL
+  type: url
 type: interface
diff --git a/spec/c/if/offsetof.yml b/spec/c/if/offsetof.yml
index fa7935a..b76aae7 100644
--- a/spec/c/if/offsetof.yml
+++ b/spec/c/if/offsetof.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stddef
 name: offsetof
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/on-exit.yml b/spec/c/if/on-exit.yml
index 2791384..43405b0 100644
--- a/spec/c/if/on-exit.yml
+++ b/spec/c/if/on-exit.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdlib
 name: on_exit
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/posix-memalign.yml b/spec/c/if/posix-memalign.yml
index 63beeab..b0cbcd4 100644
--- a/spec/c/if/posix-memalign.yml
+++ b/spec/c/if/posix-memalign.yml
@@ -11,5 +11,6 @@ links:
   uid: group
 name: posix_memalign
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html
+  type: url
 type: interface
diff --git a/spec/c/if/printf.yml b/spec/c/if/printf.yml
index 47ccc38..5552a64 100644
--- a/spec/c/if/printf.yml
+++ b/spec/c/if/printf.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdio
 name: printf
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/pthread-create.yml b/spec/c/if/pthread-create.yml
index 1841be3..7326a51 100644
--- a/spec/c/if/pthread-create.yml
+++ b/spec/c/if/pthread-create.yml
@@ -9,5 +9,6 @@ links:
   uid: pthread
 name: pthread_create
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_create.html
+  type: url
 type: interface
diff --git a/spec/c/if/pthread-setname-np.yml b/spec/c/if/pthread-setname-np.yml
index 90f3b12..f10b1e3 100644
--- a/spec/c/if/pthread-setname-np.yml
+++ b/spec/c/if/pthread-setname-np.yml
@@ -9,5 +9,6 @@ links:
   uid: pthread
 name: pthread_setname_np
 references:
-  url: http://man7.org/linux/man-pages/man3/pthread_setname_np.3.html
+- identifier: http://man7.org/linux/man-pages/man3/pthread_setname_np.3.html
+  type: url
 type: interface
diff --git a/spec/c/if/pthread_setspecific.yml b/spec/c/if/pthread_setspecific.yml
index e4e51ab..fb438e8 100644
--- a/spec/c/if/pthread_setspecific.yml
+++ b/spec/c/if/pthread_setspecific.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: pthread
 name: pthread_setspecific
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/readdir.yml b/spec/c/if/readdir.yml
index f364d0a..87f70db 100644
--- a/spec/c/if/readdir.yml
+++ b/spec/c/if/readdir.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: readdir
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/readlink.yml b/spec/c/if/readlink.yml
index 454f9a1..e10dc06 100644
--- a/spec/c/if/readlink.yml
+++ b/spec/c/if/readlink.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: readlink
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/rename.yml b/spec/c/if/rename.yml
index 129c41e..662746c 100644
--- a/spec/c/if/rename.yml
+++ b/spec/c/if/rename.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: rename
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/rmnod.yml b/spec/c/if/rmnod.yml
index 4dda42d..6deb675 100644
--- a/spec/c/if/rmnod.yml
+++ b/spec/c/if/rmnod.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: rmnod
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/sbrk.yml b/spec/c/if/sbrk.yml
index ba4924d..bda1f12 100644
--- a/spec/c/if/sbrk.yml
+++ b/spec/c/if/sbrk.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: unistd
 name: sbrk
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/sem_init.yml b/spec/c/if/sem_init.yml
index 795de10..a24d906 100644
--- a/spec/c/if/sem_init.yml
+++ b/spec/c/if/sem_init.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: semaphore
 name: sem_init
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/sem_open.yml b/spec/c/if/sem_open.yml
index 7972d1b..e088f86 100644
--- a/spec/c/if/sem_open.yml
+++ b/spec/c/if/sem_open.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: semaphore
 name: sem_open
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/size_max.yml b/spec/c/if/size_max.yml
index 4def1c5..4ea7fa5 100644
--- a/spec/c/if/size_max.yml
+++ b/spec/c/if/size_max.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: SIZE_MAX
 references:
-  url: https://en.cppreference.com/w/c/types/limits
+- identifier: https://en.cppreference.com/w/c/types/limits
+  type: url
 type: interface
diff --git a/spec/c/if/size_t.yml b/spec/c/if/size_t.yml
index ffc934b..8bf0763 100644
--- a/spec/c/if/size_t.yml
+++ b/spec/c/if/size_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stddef
 name: size_t
 references:
-  url: https://en.cppreference.com/w/c/types/size_t
+- identifier: https://en.cppreference.com/w/c/types/size_t
+  type: url
 type: interface
diff --git a/spec/c/if/symlink.yml b/spec/c/if/symlink.yml
index 00807fe..1924cf5 100644
--- a/spec/c/if/symlink.yml
+++ b/spec/c/if/symlink.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: symlink
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/time_t.yml b/spec/c/if/time_t.yml
index 2ab0176..a26d132 100644
--- a/spec/c/if/time_t.yml
+++ b/spec/c/if/time_t.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: time
 name: time_t
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/timer-abstime.yml b/spec/c/if/timer-abstime.yml
index 91b63f6..a08883a 100644
--- a/spec/c/if/timer-abstime.yml
+++ b/spec/c/if/timer-abstime.yml
@@ -9,5 +9,6 @@ links:
   uid: time
 name: TIMER_ABSTIME
 references:
-  url: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+- identifier: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html
+  type: url
 type: interface
diff --git a/spec/c/if/timespec.yml b/spec/c/if/timespec.yml
index a1149ca..e8ec75b 100644
--- a/spec/c/if/timespec.yml
+++ b/spec/c/if/timespec.yml
@@ -9,5 +9,6 @@ links:
   uid: sys-impl-timespec
 name: struct timespec
 references:
-  url: https://en.cppreference.com/w/c/chrono/timespec
+- identifier: https://en.cppreference.com/w/c/chrono/timespec
+  type: url
 type: interface
diff --git a/spec/c/if/timeval.yml b/spec/c/if/timeval.yml
index b7d89ab..957e3f2 100644
--- a/spec/c/if/timeval.yml
+++ b/spec/c/if/timeval.yml
@@ -9,5 +9,6 @@ links:
   uid: sys-impl-timeval
 name: struct timeval
 references:
-  url: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
+- identifier: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
+  type: url
 type: interface
diff --git a/spec/c/if/true.yml b/spec/c/if/true.yml
index c6eed7c..d846022 100644
--- a/spec/c/if/true.yml
+++ b/spec/c/if/true.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: stdbool
 name: 'true'
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/uint16_t.yml b/spec/c/if/uint16_t.yml
index 21a5d9c..8c44a71 100644
--- a/spec/c/if/uint16_t.yml
+++ b/spec/c/if/uint16_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uint16_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uint32_max.yml b/spec/c/if/uint32_max.yml
index 0229257..3b04642 100644
--- a/spec/c/if/uint32_max.yml
+++ b/spec/c/if/uint32_max.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: UINT32_MAX
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uint32_t.yml b/spec/c/if/uint32_t.yml
index 9a1dbaa..aef82f1 100644
--- a/spec/c/if/uint32_t.yml
+++ b/spec/c/if/uint32_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uint32_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uint64_t.yml b/spec/c/if/uint64_t.yml
index 1de3325..c408ac9 100644
--- a/spec/c/if/uint64_t.yml
+++ b/spec/c/if/uint64_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uint64_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uint8_t.yml b/spec/c/if/uint8_t.yml
index e9ad1b3..b828ddb 100644
--- a/spec/c/if/uint8_t.yml
+++ b/spec/c/if/uint8_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uint8_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uintmax_t.yml b/spec/c/if/uintmax_t.yml
index 851c67c..967c033 100644
--- a/spec/c/if/uintmax_t.yml
+++ b/spec/c/if/uintmax_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uintmax_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uintptr_max.yml b/spec/c/if/uintptr_max.yml
index 828003a..179a71d 100644
--- a/spec/c/if/uintptr_max.yml
+++ b/spec/c/if/uintptr_max.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: UINTPTR_MAX
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/uintptr_t.yml b/spec/c/if/uintptr_t.yml
index 22e26b5..c639db2 100644
--- a/spec/c/if/uintptr_t.yml
+++ b/spec/c/if/uintptr_t.yml
@@ -9,5 +9,6 @@ links:
   uid: stdint
 name: uintptr_t
 references:
-  url: https://en.cppreference.com/w/c/types/integer
+- identifier: https://en.cppreference.com/w/c/types/integer
+  type: url
 type: interface
diff --git a/spec/c/if/utime.yml b/spec/c/if/utime.yml
index 4221bbd..f47f100 100644
--- a/spec/c/if/utime.yml
+++ b/spec/c/if/utime.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: sys-stat
 name: utime
-references: {}
+references: []
 type: interface
diff --git a/spec/c/if/va_list.yml b/spec/c/if/va_list.yml
index f5dd267..fd282fb 100644
--- a/spec/c/if/va_list.yml
+++ b/spec/c/if/va_list.yml
@@ -9,5 +9,6 @@ links:
   uid: stdarg
 name: va_list
 references:
-  url: https://en.cppreference.com/w/c/variadic/va_list
+- identifier: https://en.cppreference.com/w/c/variadic/va_list
+  type: url
 type: interface
diff --git a/spec/compiler/if/asm.yml b/spec/compiler/if/asm.yml
index be296db..3ac1086 100644
--- a/spec/compiler/if/asm.yml
+++ b/spec/compiler/if/asm.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __asm__
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/builtin-choose-expr.yml b/spec/compiler/if/builtin-choose-expr.yml
index 4c804a9..5a8413c 100644
--- a/spec/compiler/if/builtin-choose-expr.yml
+++ b/spec/compiler/if/builtin-choose-expr.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __builtin_choose_expr
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/builtin-expect.yml b/spec/compiler/if/builtin-expect.yml
index a3ddfac..ae1e050 100644
--- a/spec/compiler/if/builtin-expect.yml
+++ b/spec/compiler/if/builtin-expect.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __builtin_expect
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/builtin-return-address.yml b/spec/compiler/if/builtin-return-address.yml
index 0f09739..b68d28e 100644
--- a/spec/compiler/if/builtin-return-address.yml
+++ b/spec/compiler/if/builtin-return-address.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __builtin_return_address
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/builtin-types-compatible-p.yml b/spec/compiler/if/builtin-types-compatible-p.yml
index 8fa3da4..988221f 100644
--- a/spec/compiler/if/builtin-types-compatible-p.yml
+++ b/spec/compiler/if/builtin-types-compatible-p.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __builtin_types_compatible_p
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/builtin-unreachable.yml b/spec/compiler/if/builtin-unreachable.yml
index 73bb0aa..8e37900 100644
--- a/spec/compiler/if/builtin-unreachable.yml
+++ b/spec/compiler/if/builtin-unreachable.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __builtin_unreachable
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/coverity.yml b/spec/compiler/if/coverity.yml
index 6656ea3..2fe4d0d 100644
--- a/spec/compiler/if/coverity.yml
+++ b/spec/compiler/if/coverity.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __COVERITY__
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/cplusplus.yml b/spec/compiler/if/cplusplus.yml
index 5c79dcd..390cdef 100644
--- a/spec/compiler/if/cplusplus.yml
+++ b/spec/compiler/if/cplusplus.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __cplusplus
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/gnuc.yml b/spec/compiler/if/gnuc.yml
index 3cd4606..f232b5e 100644
--- a/spec/compiler/if/gnuc.yml
+++ b/spec/compiler/if/gnuc.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __GNUC__
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/stdc-version.yml b/spec/compiler/if/stdc-version.yml
index 1416ff4..0654b74 100644
--- a/spec/compiler/if/stdc-version.yml
+++ b/spec/compiler/if/stdc-version.yml
@@ -9,5 +9,6 @@ links:
   uid: container
 name: __STDC_VERSION__
 references:
-  url: https://en.cppreference.com/w/c/preprocessor/replace
+- identifier: https://en.cppreference.com/w/c/preprocessor/replace
+  type: url
 type: interface
diff --git a/spec/compiler/if/typeof.yml b/spec/compiler/if/typeof.yml
index fea12c2..752b112 100644
--- a/spec/compiler/if/typeof.yml
+++ b/spec/compiler/if/typeof.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __typeof__
-references: {}
+references: []
 type: interface
diff --git a/spec/compiler/if/user-label-prefix.yml b/spec/compiler/if/user-label-prefix.yml
index a5525df..5420ede 100644
--- a/spec/compiler/if/user-label-prefix.yml
+++ b/spec/compiler/if/user-label-prefix.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: __USER_LABEL_PREFIX__
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/load-08.yml b/spec/dev/grlib/if/load-08.yml
index c781ba9..dcd9909 100644
--- a/spec/dev/grlib/if/load-08.yml
+++ b/spec/dev/grlib/if/load-08.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_8
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/load-16.yml b/spec/dev/grlib/if/load-16.yml
index b06bf7a..86d60a2 100644
--- a/spec/dev/grlib/if/load-16.yml
+++ b/spec/dev/grlib/if/load-16.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_16
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/load-32.yml b/spec/dev/grlib/if/load-32.yml
index 5627eb2..626b459 100644
--- a/spec/dev/grlib/if/load-32.yml
+++ b/spec/dev/grlib/if/load-32.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_32
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/load-64.yml b/spec/dev/grlib/if/load-64.yml
index a51ac6a..4ed4e8f 100644
--- a/spec/dev/grlib/if/load-64.yml
+++ b/spec/dev/grlib/if/load-64.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_64
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/store-08.yml b/spec/dev/grlib/if/store-08.yml
index c781ba9..dcd9909 100644
--- a/spec/dev/grlib/if/store-08.yml
+++ b/spec/dev/grlib/if/store-08.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_8
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/store-16.yml b/spec/dev/grlib/if/store-16.yml
index b06bf7a..86d60a2 100644
--- a/spec/dev/grlib/if/store-16.yml
+++ b/spec/dev/grlib/if/store-16.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_16
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/store-32.yml b/spec/dev/grlib/if/store-32.yml
index 5627eb2..626b459 100644
--- a/spec/dev/grlib/if/store-32.yml
+++ b/spec/dev/grlib/if/store-32.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_32
-references: {}
+references: []
 type: interface
diff --git a/spec/dev/grlib/if/store-64.yml b/spec/dev/grlib/if/store-64.yml
index a51ac6a..4ed4e8f 100644
--- a/spec/dev/grlib/if/store-64.yml
+++ b/spec/dev/grlib/if/store-64.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: io-header
 name: grlib_load_64
-references: {}
+references: []
 type: interface
diff --git a/spec/doc/if/config-scheduler-clustered.yml b/spec/doc/if/config-scheduler-clustered.yml
index 130bc06..3a3a3dc 100644
--- a/spec/doc/if/config-scheduler-clustered.yml
+++ b/spec/doc/if/config-scheduler-clustered.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Clustered Scheduler Configuration
 references:
-  c-user: ConfigurationSchedulersClustered
-  url: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html
+- identifier: ConfigurationSchedulersClustered
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html
+  type: url
 type: interface
diff --git a/spec/doc/if/config-scheduler-table.yml b/spec/doc/if/config-scheduler-table.yml
index 4b450ac..c7dcb07 100644
--- a/spec/doc/if/config-scheduler-table.yml
+++ b/spec/doc/if/config-scheduler-table.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Configuration Step 3 - Scheduler Table
 references:
-  c-user: ConfigurationSchedulerTable
-  url: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html#configuration-step-3-scheduler-table
+- identifier: ConfigurationSchedulerTable
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/config/scheduler-clustered.html#configuration-step-3-scheduler-table
+  type: url
 type: interface
diff --git a/spec/doc/if/config-unlimited-objects.yml b/spec/doc/if/config-unlimited-objects.yml
index 09c9758..0a8d2e4 100644
--- a/spec/doc/if/config-unlimited-objects.yml
+++ b/spec/doc/if/config-unlimited-objects.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Unlimited Objects
 references:
-  c-user: ConfigUnlimitedObjects
-  url: https://docs.rtems.org/branches/master/c-user/config/intro.html#unlimited-objects
+- identifier: ConfigUnlimitedObjects
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/config/intro.html#unlimited-objects
+  type: url
 type: interface
diff --git a/spec/doc/if/mp-proxies.yml b/spec/doc/if/mp-proxies.yml
index 0cdb9d9..8c74cc8 100644
--- a/spec/doc/if/mp-proxies.yml
+++ b/spec/doc/if/mp-proxies.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Proxies
 references:
-  c-user: MPCIProxies
-  url: https://docs.rtems.org/branches/master/c-user/multiprocessing.html#proxies
+- identifier: MPCIProxies
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/multiprocessing.html#proxies
+  type: url
 type: interface
diff --git a/spec/doc/if/mrsp.yml b/spec/doc/if/mrsp.yml
index 24abb9f..1616870 100644
--- a/spec/doc/if/mrsp.yml
+++ b/spec/doc/if/mrsp.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Multiprocessor Resource Sharing Protocol (MrsP)
 references:
-  c-user: MrsP
-  url: https://docs.rtems.org/branches/master/c-user/key_concepts.html#multiprocessor-resource-sharing-protocol-mrsp
+- identifier: MrsP
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/key_concepts.html#multiprocessor-resource-sharing-protocol-mrsp
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-cbs.yml b/spec/doc/if/scheduler-cbs.yml
index 4659e3b..bdf910e 100644
--- a/spec/doc/if/scheduler-cbs.yml
+++ b/spec/doc/if/scheduler-cbs.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Constant Bandwidth Server Scheduling (CBS)
 references:
-  c-user: SchedulerCBS
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#constant-bandwidth-server-scheduling-cbs
+- identifier: SchedulerCBS
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#constant-bandwidth-server-scheduling-cbs
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-concepts.yml b/spec/doc/if/scheduler-concepts.yml
index 34c0885..b2e5016 100644
--- a/spec/doc/if/scheduler-concepts.yml
+++ b/spec/doc/if/scheduler-concepts.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Scheduling Concepts
 references:
-  c-user: RTEMSAPIClassicScheduler
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/index.html
+- identifier: RTEMSAPIClassicScheduler
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/index.html
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-edf.yml b/spec/doc/if/scheduler-edf.yml
index 521c2d1..01d6e5f 100644
--- a/spec/doc/if/scheduler-edf.yml
+++ b/spec/doc/if/scheduler-edf.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Earliest Deadline First Scheduler
 references:
-  c-user: SchedulerEDF
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#earliest-deadline-first-scheduler
+- identifier: SchedulerEDF
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#earliest-deadline-first-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-priority-simple.yml b/spec/doc/if/scheduler-priority-simple.yml
index a359d27..2e46d58 100644
--- a/spec/doc/if/scheduler-priority-simple.yml
+++ b/spec/doc/if/scheduler-priority-simple.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Simple Priority Scheduler
 references:
-  c-user: SchedulerPrioritySimple
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#simple-priority-scheduler
+- identifier: SchedulerPrioritySimple
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#simple-priority-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-priority.yml b/spec/doc/if/scheduler-priority.yml
index a01b9c9..82a4416 100644
--- a/spec/doc/if/scheduler-priority.yml
+++ b/spec/doc/if/scheduler-priority.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Deterministic Priority Scheduler
 references:
-  c-user: SchedulerPriority
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#deterministic-priority-scheduler
+- identifier: SchedulerPriority
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/uniprocessor-schedulers.html#deterministic-priority-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-smp-edf.yml b/spec/doc/if/scheduler-smp-edf.yml
index 3633ee9..86ddee2 100644
--- a/spec/doc/if/scheduler-smp-edf.yml
+++ b/spec/doc/if/scheduler-smp-edf.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Earliest Deadline First SMP Scheduler
 references:
-  c-user: SchedulerSMPEDF
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#earliest-deadline-first-smp-scheduler
+- identifier: SchedulerSMPEDF
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#earliest-deadline-first-smp-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-smp-priority-affinity.yml b/spec/doc/if/scheduler-smp-priority-affinity.yml
index 37d5ccf..eeb44bc 100644
--- a/spec/doc/if/scheduler-smp-priority-affinity.yml
+++ b/spec/doc/if/scheduler-smp-priority-affinity.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Arbitrary Processor Affinity Priority SMP Scheduler
 references:
-  c-user: SchedulerSMPPriorityAffinity
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#arbitrary-processor-affinity-priority-smp-scheduler
+- identifier: SchedulerSMPPriorityAffinity
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#arbitrary-processor-affinity-priority-smp-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-smp-priority-simple.yml b/spec/doc/if/scheduler-smp-priority-simple.yml
index dfc39bf..ac23659 100644
--- a/spec/doc/if/scheduler-smp-priority-simple.yml
+++ b/spec/doc/if/scheduler-smp-priority-simple.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Simple Priority SMP Scheduler
 references:
-  c-user: SchedulerSMPPrioritySimple
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#simple-priority-smp-scheduler
+- identifier: SchedulerSMPPrioritySimple
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#simple-priority-smp-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/scheduler-smp-priority.yml b/spec/doc/if/scheduler-smp-priority.yml
index 2bae07e..9fd29ad 100644
--- a/spec/doc/if/scheduler-smp-priority.yml
+++ b/spec/doc/if/scheduler-smp-priority.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Deterministic Priority SMP Scheduler
 references:
-  c-user: SchedulerSMPPriority
-  url: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#deterministic-priority-smp-scheduler
+- identifier: SchedulerSMPPriority
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/scheduling-concepts/smp-schedulers.html#deterministic-priority-smp-scheduler
+  type: url
 type: interface
diff --git a/spec/doc/if/terminate.yml b/spec/doc/if/terminate.yml
index a8f512d..d0dbca6 100644
--- a/spec/doc/if/terminate.yml
+++ b/spec/doc/if/terminate.yml
@@ -9,6 +9,9 @@ links:
   uid: domain
 name: Announcing a Fatal Error
 references:
-  c-user: Terminate
-  url: https://docs.rtems.org/branches/master/c-user/fatal_error.html#announcing-a-fatal-error
+- identifier: Terminate
+  name: c-user
+  type: document
+- identifier: https://docs.rtems.org/branches/master/c-user/fatal_error.html#announcing-a-fatal-error
+  type: url
 type: interface
diff --git a/spec/rtems/io/if/mount.yml b/spec/rtems/io/if/mount.yml
index ef65d5f..cf05ed5 100644
--- a/spec/rtems/io/if/mount.yml
+++ b/spec/rtems/io/if/mount.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: mount
-references: {}
+references: []
 type: interface
diff --git a/spec/rtems/io/if/unmount.yml b/spec/rtems/io/if/unmount.yml
index c004503..0f67722 100644
--- a/spec/rtems/io/if/unmount.yml
+++ b/spec/rtems/io/if/unmount.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: unmount
-references: {}
+references: []
 type: interface
diff --git a/spec/rtems/malloc/if/calloc.yml b/spec/rtems/malloc/if/calloc.yml
index 9996c6a..19fa3e5 100644
--- a/spec/rtems/malloc/if/calloc.yml
+++ b/spec/rtems/malloc/if/calloc.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group
 name: rtems_calloc
-references: {}
+references: []
 type: interface
diff --git a/spec/rtems/malloc/if/malloc.yml b/spec/rtems/malloc/if/malloc.yml
index caecea4..0e37490 100644
--- a/spec/rtems/malloc/if/malloc.yml
+++ b/spec/rtems/malloc/if/malloc.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-ingroup
   uid: group
 name: rtems_malloc
-references: {}
+references: []
 type: interface
diff --git a/spec/score/chain/if/control.yml b/spec/score/chain/if/control.yml
index 5af06a0..b972f9c 100644
--- a/spec/score/chain/if/control.yml
+++ b/spec/score/chain/if/control.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Chain_Control
-references: {}
+references: []
 type: interface
diff --git a/spec/score/chain/if/node.yml b/spec/score/chain/if/node.yml
index 99c4c7f..95fd448 100644
--- a/spec/score/chain/if/node.yml
+++ b/spec/score/chain/if/node.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Chain_Node
-references: {}
+references: []
 type: interface
diff --git a/spec/score/context/if/fp-size.yml b/spec/score/context/if/fp-size.yml
index 6a032ec..d22b68c 100644
--- a/spec/score/context/if/fp-size.yml
+++ b/spec/score/context/if/fp-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CONTEXT_FP_SIZE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/all-tasks-are-fp.yml b/spec/score/cpu/if/all-tasks-are-fp.yml
index 86cb076..e548960 100644
--- a/spec/score/cpu/if/all-tasks-are-fp.yml
+++ b/spec/score/cpu/if/all-tasks-are-fp.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_ALL_TASKS_ARE_FP
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/exception-frame-print.yml b/spec/score/cpu/if/exception-frame-print.yml
index bd4c76f..2eeb199 100644
--- a/spec/score/cpu/if/exception-frame-print.yml
+++ b/spec/score/cpu/if/exception-frame-print.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _CPU_Exception_frame_print
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/exception-frame.yml b/spec/score/cpu/if/exception-frame.yml
index 3a9ef4f..cc32dc7 100644
--- a/spec/score/cpu/if/exception-frame.yml
+++ b/spec/score/cpu/if/exception-frame.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_Exception_frame
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/fatal-halt.yml b/spec/score/cpu/if/fatal-halt.yml
index 039c34e..852a21f 100644
--- a/spec/score/cpu/if/fatal-halt.yml
+++ b/spec/score/cpu/if/fatal-halt.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: _CPU_Fatal_halt
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/hardware-fp.yml b/spec/score/cpu/if/hardware-fp.yml
index 95b8378..59044d5 100644
--- a/spec/score/cpu/if/hardware-fp.yml
+++ b/spec/score/cpu/if/hardware-fp.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_HARDWARE_FP
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/heap-alignment.yml b/spec/score/cpu/if/heap-alignment.yml
index fa4130f..2ef5d3f 100644
--- a/spec/score/cpu/if/heap-alignment.yml
+++ b/spec/score/cpu/if/heap-alignment.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_HEAP_ALIGNMENT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/interrupt-frame.yml b/spec/score/cpu/if/interrupt-frame.yml
index 4b2a648..d96ceb5 100644
--- a/spec/score/cpu/if/interrupt-frame.yml
+++ b/spec/score/cpu/if/interrupt-frame.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_Interrupt_frame
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/interrupt-stack-alignment.yml b/spec/score/cpu/if/interrupt-stack-alignment.yml
index ecaff68..718f5d1 100644
--- a/spec/score/cpu/if/interrupt-stack-alignment.yml
+++ b/spec/score/cpu/if/interrupt-stack-alignment.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_INTERRUPT_STACK_ALIGNMENT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/isr-passes-frame-pointer.yml b/spec/score/cpu/if/isr-passes-frame-pointer.yml
index 2b1933f..ed08e2d 100644
--- a/spec/score/cpu/if/isr-passes-frame-pointer.yml
+++ b/spec/score/cpu/if/isr-passes-frame-pointer.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_ISR_PASSES_FRAME_POINTER
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/maximum-processors.yml b/spec/score/cpu/if/maximum-processors.yml
index 0c0a98f..8730031 100644
--- a/spec/score/cpu/if/maximum-processors.yml
+++ b/spec/score/cpu/if/maximum-processors.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_MAXIMUM_PROCESSORS
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/modes-interrupt-mask.yml b/spec/score/cpu/if/modes-interrupt-mask.yml
index 499019d..0a04652 100644
--- a/spec/score/cpu/if/modes-interrupt-mask.yml
+++ b/spec/score/cpu/if/modes-interrupt-mask.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_MODES_INTERRUPT_MASK
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/simple-vectored-interrupts.yml b/spec/score/cpu/if/simple-vectored-interrupts.yml
index 7f743e1..5b4e255 100644
--- a/spec/score/cpu/if/simple-vectored-interrupts.yml
+++ b/spec/score/cpu/if/simple-vectored-interrupts.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_SIMPLE_VECTORED_INTERRUPTS
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/sizeof-pointer.yml b/spec/score/cpu/if/sizeof-pointer.yml
index 0640583..a256d36 100644
--- a/spec/score/cpu/if/sizeof-pointer.yml
+++ b/spec/score/cpu/if/sizeof-pointer.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_SIZEOF_POINTER
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/stack-alignment.yml b/spec/score/cpu/if/stack-alignment.yml
index deffaa8..c4dbd53 100644
--- a/spec/score/cpu/if/stack-alignment.yml
+++ b/spec/score/cpu/if/stack-alignment.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_STACK_ALIGNMENT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/stack-minimum-size.yml b/spec/score/cpu/if/stack-minimum-size.yml
index dc6dd6d..42b109b 100644
--- a/spec/score/cpu/if/stack-minimum-size.yml
+++ b/spec/score/cpu/if/stack-minimum-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_STACK_MINIMUM_SIZE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/cpu/if/uint32ptr.yml b/spec/score/cpu/if/uint32ptr.yml
index ade8fa5..b82c0a2 100644
--- a/spec/score/cpu/if/uint32ptr.yml
+++ b/spec/score/cpu/if/uint32ptr.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: CPU_Uint32ptr
-references: {}
+references: []
 type: interface
diff --git a/spec/score/futex/if/wait.yml b/spec/score/futex/if/wait.yml
index 6101b36..2f433e3 100644
--- a/spec/score/futex/if/wait.yml
+++ b/spec/score/futex/if/wait.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-placement
   uid: /c/if/sys-lock
 name: _Futex_Wait
-references: {}
+references: []
 type: interface
diff --git a/spec/score/futex/if/wake.yml b/spec/score/futex/if/wake.yml
index f6f6930..f6ce9f6 100644
--- a/spec/score/futex/if/wake.yml
+++ b/spec/score/futex/if/wake.yml
@@ -10,5 +10,5 @@ links:
 - role: interface-placement
   uid: /c/if/sys-lock
 name: _Futex_Wake
-references: {}
+references: []
 type: interface
diff --git a/spec/score/heap/if/information-block.yml b/spec/score/heap/if/information-block.yml
index bbaaae1..210b2be 100644
--- a/spec/score/heap/if/information-block.yml
+++ b/spec/score/heap/if/information-block.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Heap_Information_block
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/bad-thread-dispatch-disable-level.yml b/spec/score/interr/if/bad-thread-dispatch-disable-level.yml
index 91269bf..c695c63 100644
--- a/spec/score/interr/if/bad-thread-dispatch-disable-level.yml
+++ b/spec/score/interr/if/bad-thread-dispatch-disable-level.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/bad-thread-dispatch-environment.yml b/spec/score/interr/if/bad-thread-dispatch-environment.yml
index 7b4e17b..fb395a5 100644
--- a/spec/score/interr/if/bad-thread-dispatch-environment.yml
+++ b/spec/score/interr/if/bad-thread-dispatch-environment.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/code.yml b/spec/score/interr/if/code.yml
index 5465020..7ddeef7 100644
--- a/spec/score/interr/if/code.yml
+++ b/spec/score/interr/if/code.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Internal_errors_t
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/init-task-construct-failed.yml b/spec/score/interr/if/init-task-construct-failed.yml
index 0914d1f..377a73a 100644
--- a/spec/score/interr/if/init-task-construct-failed.yml
+++ b/spec/score/interr/if/init-task-construct-failed.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_RTEMS_INIT_TASK_CONSTRUCT_FAILED
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/internal-error-core.yml b/spec/score/interr/if/internal-error-core.yml
index 1530520..49ba8b1 100644
--- a/spec/score/interr/if/internal-error-core.yml
+++ b/spec/score/interr/if/internal-error-core.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_CORE
 references:
-  c-user: FatalErrorSources
+- identifier: FatalErrorSources
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/internal-error-rtems-api.yml b/spec/score/interr/if/internal-error-rtems-api.yml
index 29502b8..f2e2440 100644
--- a/spec/score/interr/if/internal-error-rtems-api.yml
+++ b/spec/score/interr/if/internal-error-rtems-api.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: INTERNAL_ERROR_RTEMS_API
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source-bsp.yml b/spec/score/interr/if/source-bsp.yml
index 58ea7d6..34910c8 100644
--- a/spec/score/interr/if/source-bsp.yml
+++ b/spec/score/interr/if/source-bsp.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: RTEMS_FATAL_SOURCE_BSP
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source-exit.yml b/spec/score/interr/if/source-exit.yml
index 0517c34..a6f5183 100644
--- a/spec/score/interr/if/source-exit.yml
+++ b/spec/score/interr/if/source-exit.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: RTEMS_FATAL_SOURCE_EXIT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source-panic.yml b/spec/score/interr/if/source-panic.yml
index 925ff7c..bcdbc1c 100644
--- a/spec/score/interr/if/source-panic.yml
+++ b/spec/score/interr/if/source-panic.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: RTEMS_FATAL_SOURCE_PANIC
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source-smp.yml b/spec/score/interr/if/source-smp.yml
index 1ee4fdb..a534a65 100644
--- a/spec/score/interr/if/source-smp.yml
+++ b/spec/score/interr/if/source-smp.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: RTEMS_FATAL_SOURCE_SMP
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source-spurious-interrupt.yml b/spec/score/interr/if/source-spurious-interrupt.yml
index ee1c0cb..e6b7e0e 100644
--- a/spec/score/interr/if/source-spurious-interrupt.yml
+++ b/spec/score/interr/if/source-spurious-interrupt.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/source.yml b/spec/score/interr/if/source.yml
index 431eb02..23e32e3 100644
--- a/spec/score/interr/if/source.yml
+++ b/spec/score/interr/if/source.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Internal_errors_Source
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/terminate.yml b/spec/score/interr/if/terminate.yml
index f4f91fb..66fe199 100644
--- a/spec/score/interr/if/terminate.yml
+++ b/spec/score/interr/if/terminate.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Terminate
-references: {}
+references: []
 type: interface
diff --git a/spec/score/interr/if/thread-exitted.yml b/spec/score/interr/if/thread-exitted.yml
index 3384a7c..f6a14fa 100644
--- a/spec/score/interr/if/thread-exitted.yml
+++ b/spec/score/interr/if/thread-exitted.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_THREAD_EXITTED
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/thread-queue-deadlock.yml b/spec/score/interr/if/thread-queue-deadlock.yml
index 131db25..5710a3e 100644
--- a/spec/score/interr/if/thread-queue-deadlock.yml
+++ b/spec/score/interr/if/thread-queue-deadlock.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/thread-queue-enqueue-sticky-from-bad-state.yml b/spec/score/interr/if/thread-queue-enqueue-sticky-from-bad-state.yml
index 9ffe116..1c06422 100644
--- a/spec/score/interr/if/thread-queue-enqueue-sticky-from-bad-state.yml
+++ b/spec/score/interr/if/thread-queue-enqueue-sticky-from-bad-state.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/interr/if/too-large-tls-size.yml b/spec/score/interr/if/too-large-tls-size.yml
index 9d46006..8f0ef61 100644
--- a/spec/score/interr/if/too-large-tls-size.yml
+++ b/spec/score/interr/if/too-large-tls-size.yml
@@ -9,5 +9,7 @@ links:
   uid: header
 name: INTERNAL_ERROR_TOO_LARGE_TLS_SIZE
 references:
-  c-user: internal_errors
+- identifier: internal_errors
+  name: c-user
+  type: document
 type: interface
diff --git a/spec/score/isr/if/handler-entry.yml b/spec/score/isr/if/handler-entry.yml
index c0525c7..f6875a8 100644
--- a/spec/score/isr/if/handler-entry.yml
+++ b/spec/score/isr/if/handler-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: ISR_Handler_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/handler.yml b/spec/score/isr/if/handler.yml
index 28ee039..0eb3491 100644
--- a/spec/score/isr/if/handler.yml
+++ b/spec/score/isr/if/handler.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: ISR_Handler
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/is-in-progress.yml b/spec/score/isr/if/is-in-progress.yml
index 480af75..129333d 100644
--- a/spec/score/isr/if/is-in-progress.yml
+++ b/spec/score/isr/if/is-in-progress.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _ISR_Is_in_progress
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/level.yml b/spec/score/isr/if/level.yml
index 0645067..5597916 100644
--- a/spec/score/isr/if/level.yml
+++ b/spec/score/isr/if/level.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: ISR_Level
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/local-disable.yml b/spec/score/isr/if/local-disable.yml
index d0015d8..8b7f98f 100644
--- a/spec/score/isr/if/local-disable.yml
+++ b/spec/score/isr/if/local-disable.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: _ISR_Local_disable
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/local-enable.yml b/spec/score/isr/if/local-enable.yml
index 5eeb187..057d176 100644
--- a/spec/score/isr/if/local-enable.yml
+++ b/spec/score/isr/if/local-enable.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: _ISR_Local_enable
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/local-flash.yml b/spec/score/isr/if/local-flash.yml
index 8a2a008..dc1e1a7 100644
--- a/spec/score/isr/if/local-flash.yml
+++ b/spec/score/isr/if/local-flash.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: _ISR_Local_flash
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-context.yml b/spec/score/isr/if/lock-context.yml
index 654b1dd..d3d1461 100644
--- a/spec/score/isr/if/lock-context.yml
+++ b/spec/score/isr/if/lock-context.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_lock_Context
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-control.yml b/spec/score/isr/if/lock-control.yml
index 97fe7b3..2195b28 100644
--- a/spec/score/isr/if/lock-control.yml
+++ b/spec/score/isr/if/lock-control.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_lock_Control
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-declare.yml b/spec/score/isr/if/lock-declare.yml
index 6d1797a..7d699e6 100644
--- a/spec/score/isr/if/lock-declare.yml
+++ b/spec/score/isr/if/lock-declare.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_LOCK_DECLARE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-define.yml b/spec/score/isr/if/lock-define.yml
index b6405ca..967d8ad 100644
--- a/spec/score/isr/if/lock-define.yml
+++ b/spec/score/isr/if/lock-define.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_LOCK_DEFINE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-destroy.yml b/spec/score/isr/if/lock-destroy.yml
index b85ec1f..bf109f0 100644
--- a/spec/score/isr/if/lock-destroy.yml
+++ b/spec/score/isr/if/lock-destroy.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: _ISR_lock_Destroy
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-initialize.yml b/spec/score/isr/if/lock-initialize.yml
index 3842374..7521e19 100644
--- a/spec/score/isr/if/lock-initialize.yml
+++ b/spec/score/isr/if/lock-initialize.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: _ISR_lock_Initialize
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-initializer.yml b/spec/score/isr/if/lock-initializer.yml
index 57c533c..5be3225 100644
--- a/spec/score/isr/if/lock-initializer.yml
+++ b/spec/score/isr/if/lock-initializer.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_LOCK_INITIALIZER
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-isr-disable-acquire.yml b/spec/score/isr/if/lock-isr-disable-acquire.yml
index 4e2462d..1d5205f 100644
--- a/spec/score/isr/if/lock-isr-disable-acquire.yml
+++ b/spec/score/isr/if/lock-isr-disable-acquire.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: _ISR_lock_ISR_disable_and_acquire
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-isr-disable.yml b/spec/score/isr/if/lock-isr-disable.yml
index 383dc13..1bd64fc 100644
--- a/spec/score/isr/if/lock-isr-disable.yml
+++ b/spec/score/isr/if/lock-isr-disable.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: _ISR_lock_ISR_disable
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-member.yml b/spec/score/isr/if/lock-member.yml
index ea7d652..861bad8 100644
--- a/spec/score/isr/if/lock-member.yml
+++ b/spec/score/isr/if/lock-member.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_LOCK_MEMBER
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-reference.yml b/spec/score/isr/if/lock-reference.yml
index 592741e..8b8d9fe 100644
--- a/spec/score/isr/if/lock-reference.yml
+++ b/spec/score/isr/if/lock-reference.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: ISR_LOCK_REFERENCE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/lock-release-isr-enable.yml b/spec/score/isr/if/lock-release-isr-enable.yml
index 91122ce..f342dcb 100644
--- a/spec/score/isr/if/lock-release-isr-enable.yml
+++ b/spec/score/isr/if/lock-release-isr-enable.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-3
 name: _ISR_lock_Release_and_ISR_enable
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/stack-size.yml b/spec/score/isr/if/stack-size.yml
index c71cbfa..20c74be 100644
--- a/spec/score/isr/if/stack-size.yml
+++ b/spec/score/isr/if/stack-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _ISR_Stack_size
-references: {}
+references: []
 type: interface
diff --git a/spec/score/isr/if/vector-number.yml b/spec/score/isr/if/vector-number.yml
index eb4eccf..347b849 100644
--- a/spec/score/isr/if/vector-number.yml
+++ b/spec/score/isr/if/vector-number.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: ISR_Vector_number
-references: {}
+references: []
 type: interface
diff --git a/spec/score/memory/if/zero-before-use.yml b/spec/score/memory/if/zero-before-use.yml
index 9310908..03a8806 100644
--- a/spec/score/memory/if/zero-before-use.yml
+++ b/spec/score/memory/if/zero-before-use.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Memory_Zero_before_use
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/configuration-type.yml b/spec/score/mpci/if/configuration-type.yml
index 99e797a..56fa399 100644
--- a/spec/score/mpci/if/configuration-type.yml
+++ b/spec/score/mpci/if/configuration-type.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_Configuration
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/configuration.yml b/spec/score/mpci/if/configuration.yml
index 7e16846..3e1a953 100644
--- a/spec/score/mpci/if/configuration.yml
+++ b/spec/score/mpci/if/configuration.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _MPCI_Configuration
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/control.yml b/spec/score/mpci/if/control.yml
index 78fb019..cc6d87f 100644
--- a/spec/score/mpci/if/control.yml
+++ b/spec/score/mpci/if/control.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_Control
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/entry.yml b/spec/score/mpci/if/entry.yml
index d7a1e51..429e1dd 100644
--- a/spec/score/mpci/if/entry.yml
+++ b/spec/score/mpci/if/entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_Entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/get-packet-entry.yml b/spec/score/mpci/if/get-packet-entry.yml
index d9396ca..f52b3e3 100644
--- a/spec/score/mpci/if/get-packet-entry.yml
+++ b/spec/score/mpci/if/get-packet-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_get_packet_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/initialization-entry.yml b/spec/score/mpci/if/initialization-entry.yml
index f78d10e..ba1d369 100644
--- a/spec/score/mpci/if/initialization-entry.yml
+++ b/spec/score/mpci/if/initialization-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_initialization_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/packet-classes.yml b/spec/score/mpci/if/packet-classes.yml
index 74d78d0..d1de578 100644
--- a/spec/score/mpci/if/packet-classes.yml
+++ b/spec/score/mpci/if/packet-classes.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: MP_packet_Classes
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/packet-minimum-hetero-conversion.yml b/spec/score/mpci/if/packet-minimum-hetero-conversion.yml
index b52f066..fe861ba 100644
--- a/spec/score/mpci/if/packet-minimum-hetero-conversion.yml
+++ b/spec/score/mpci/if/packet-minimum-hetero-conversion.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MP_PACKET_MINIMUN_HETERO_CONVERSION
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/packet-minimum-size.yml b/spec/score/mpci/if/packet-minimum-size.yml
index 7bd4771..282a703 100644
--- a/spec/score/mpci/if/packet-minimum-size.yml
+++ b/spec/score/mpci/if/packet-minimum-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MP_PACKET_MINIMUM_PACKET_SIZE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/packet-prefix.yml b/spec/score/mpci/if/packet-prefix.yml
index a33921b..5f61b95 100644
--- a/spec/score/mpci/if/packet-prefix.yml
+++ b/spec/score/mpci/if/packet-prefix.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: MP_packet_Prefix
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/receive-entry.yml b/spec/score/mpci/if/receive-entry.yml
index 37871f7..0cb30ac 100644
--- a/spec/score/mpci/if/receive-entry.yml
+++ b/spec/score/mpci/if/receive-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_receive_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/return-packet-entry.yml b/spec/score/mpci/if/return-packet-entry.yml
index 9965e93..e3f8efa 100644
--- a/spec/score/mpci/if/return-packet-entry.yml
+++ b/spec/score/mpci/if/return-packet-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_return_packet_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/mpci/if/send-entry.yml b/spec/score/mpci/if/send-entry.yml
index afe3fe0..f13272e 100644
--- a/spec/score/mpci/if/send-entry.yml
+++ b/spec/score/mpci/if/send-entry.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: MPCI_send_entry
-references: {}
+references: []
 type: interface
diff --git a/spec/score/msgq/if/buffer.yml b/spec/score/msgq/if/buffer.yml
index 0f0fe22..beea9e6 100644
--- a/spec/score/msgq/if/buffer.yml
+++ b/spec/score/msgq/if/buffer.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: CORE_message_queue_Buffer
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/apis-last.yml b/spec/score/object/if/apis-last.yml
index 4aefc74..ea840df 100644
--- a/spec/score/object/if/apis-last.yml
+++ b/spec/score/object/if/apis-last.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_APIS_LAST
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/build-id.yml b/spec/score/object/if/build-id.yml
index 99f5604..92857ba 100644
--- a/spec/score/object/if/build-id.yml
+++ b/spec/score/object/if/build-id.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Build_id
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/build-name.yml b/spec/score/object/if/build-name.yml
index f5f3962..388fdca 100644
--- a/spec/score/object/if/build-name.yml
+++ b/spec/score/object/if/build-name.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Build_name
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/get-api.yml b/spec/score/object/if/get-api.yml
index d73cdac..b9f36c0 100644
--- a/spec/score/object/if/get-api.yml
+++ b/spec/score/object/if/get-api.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Get_API
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/get-class.yml b/spec/score/object/if/get-class.yml
index 036bb34..959c9d6 100644
--- a/spec/score/object/if/get-class.yml
+++ b/spec/score/object/if/get-class.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Get_class
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/get-index.yml b/spec/score/object/if/get-index.yml
index 93a2b58..754fd88 100644
--- a/spec/score/object/if/get-index.yml
+++ b/spec/score/object/if/get-index.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Get_index
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/get-node.yml b/spec/score/object/if/get-node.yml
index 9359748..c3bbdd3 100644
--- a/spec/score/object/if/get-node.yml
+++ b/spec/score/object/if/get-node.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Get_node
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-final-index.yml b/spec/score/object/if/id-final-index.yml
index d7a3a4e..c9b166b 100644
--- a/spec/score/object/if/id-final-index.yml
+++ b/spec/score/object/if/id-final-index.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_FINAL_INDEX
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-final.yml b/spec/score/object/if/id-final.yml
index 8192809..8710fa8 100644
--- a/spec/score/object/if/id-final.yml
+++ b/spec/score/object/if/id-final.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_FINAL
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-initial-index.yml b/spec/score/object/if/id-initial-index.yml
index 32df429..fcc631d 100644
--- a/spec/score/object/if/id-initial-index.yml
+++ b/spec/score/object/if/id-initial-index.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_INITIAL_INDEX
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-initial.yml b/spec/score/object/if/id-initial.yml
index 8c429cc..bfa0c95 100644
--- a/spec/score/object/if/id-initial.yml
+++ b/spec/score/object/if/id-initial.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_INITIAL
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-none.yml b/spec/score/object/if/id-none.yml
index dd46348..65686b2 100644
--- a/spec/score/object/if/id-none.yml
+++ b/spec/score/object/if/id-none.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_NONE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id-of-self.yml b/spec/score/object/if/id-of-self.yml
index 6376bfb..f965de7 100644
--- a/spec/score/object/if/id-of-self.yml
+++ b/spec/score/object/if/id-of-self.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_ID_OF_SELF
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/id.yml b/spec/score/object/if/id.yml
index 554e69e..c1627c0 100644
--- a/spec/score/object/if/id.yml
+++ b/spec/score/object/if/id.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Objects_Id
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/internal-api.yml b/spec/score/object/if/internal-api.yml
index aaddd3b..947a587 100644
--- a/spec/score/object/if/internal-api.yml
+++ b/spec/score/object/if/internal-api.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_INTERNAL_API
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/is-unlimited.yml b/spec/score/object/if/is-unlimited.yml
index b0a8a0d..feae097 100644
--- a/spec/score/object/if/is-unlimited.yml
+++ b/spec/score/object/if/is-unlimited.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Is_unlimited
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/local-node.yml b/spec/score/object/if/local-node.yml
index ebdb255..2a0f962 100644
--- a/spec/score/object/if/local-node.yml
+++ b/spec/score/object/if/local-node.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Local_node
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/maximum-per-allocation.yml b/spec/score/object/if/maximum-per-allocation.yml
index 6c1eda9..903508e 100644
--- a/spec/score/object/if/maximum-per-allocation.yml
+++ b/spec/score/object/if/maximum-per-allocation.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Objects_Maximum_per_allocation
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/search-all-nodes.yml b/spec/score/object/if/search-all-nodes.yml
index 6336109..2c458d4 100644
--- a/spec/score/object/if/search-all-nodes.yml
+++ b/spec/score/object/if/search-all-nodes.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_SEARCH_ALL_NODES
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/search-local-nodes.yml b/spec/score/object/if/search-local-nodes.yml
index cabecee..f4f7c27 100644
--- a/spec/score/object/if/search-local-nodes.yml
+++ b/spec/score/object/if/search-local-nodes.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_SEARCH_LOCAL_NODE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/search-other-nodes.yml b/spec/score/object/if/search-other-nodes.yml
index 150a4f7..08262a5 100644
--- a/spec/score/object/if/search-other-nodes.yml
+++ b/spec/score/object/if/search-other-nodes.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_SEARCH_OTHER_NODES
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/unlimited-objects.yml b/spec/score/object/if/unlimited-objects.yml
index 71c5b48..89e7e5a 100644
--- a/spec/score/object/if/unlimited-objects.yml
+++ b/spec/score/object/if/unlimited-objects.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_UNLIMITED_OBJECTS
-references: {}
+references: []
 type: interface
diff --git a/spec/score/object/if/who-am-i.yml b/spec/score/object/if/who-am-i.yml
index 2a24d63..ae73240 100644
--- a/spec/score/object/if/who-am-i.yml
+++ b/spec/score/object/if/who-am-i.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: OBJECTS_WHO_AM_I
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-boot-processor-not-assigned-to-scheduler.yml b/spec/score/smp/if/fatal-boot-processor-not-assigned-to-scheduler.yml
index e5b2cf5..9e29a49 100644
--- a/spec/score/smp/if/fatal-boot-processor-not-assigned-to-scheduler.yml
+++ b/spec/score/smp/if/fatal-boot-processor-not-assigned-to-scheduler.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_BOOT_PROCESSOR_NOT_ASSIGNED_TO_SCHEDULER
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-mandatory-processor-not-present.yml b/spec/score/smp/if/fatal-mandatory-processor-not-present.yml
index 7010c5a..1e7c462 100644
--- a/spec/score/smp/if/fatal-mandatory-processor-not-present.yml
+++ b/spec/score/smp/if/fatal-mandatory-processor-not-present.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_MANDATORY_PROCESSOR_NOT_PRESENT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-multitasking-start-on-invalid-processor.yml b/spec/score/smp/if/fatal-multitasking-start-on-invalid-processor.yml
index c998fa5..3af88a5 100644
--- a/spec/score/smp/if/fatal-multitasking-start-on-invalid-processor.yml
+++ b/spec/score/smp/if/fatal-multitasking-start-on-invalid-processor.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-multitasking-start-on-unassigned-processor.yml b/spec/score/smp/if/fatal-multitasking-start-on-unassigned-processor.yml
index 9c57b18..3f8e2ae 100644
--- a/spec/score/smp/if/fatal-multitasking-start-on-unassigned-processor.yml
+++ b/spec/score/smp/if/fatal-multitasking-start-on-unassigned-processor.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_MULTITASKING_START_ON_UNASSIGNED_PROCESSOR
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-shutdown-response.yml b/spec/score/smp/if/fatal-shutdown-response.yml
index 147e685..721d0d4 100644
--- a/spec/score/smp/if/fatal-shutdown-response.yml
+++ b/spec/score/smp/if/fatal-shutdown-response.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_SHUTDOWN_RESPONSE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-start-of-mandatory-processor-failed.yml b/spec/score/smp/if/fatal-start-of-mandatory-processor-failed.yml
index c5140c1..b001b1d 100644
--- a/spec/score/smp/if/fatal-start-of-mandatory-processor-failed.yml
+++ b/spec/score/smp/if/fatal-start-of-mandatory-processor-failed.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_START_OF_MANDATORY_PROCESSOR_FAILED
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/fatal-wrong-cpu-state-to-perform-jobs.yml b/spec/score/smp/if/fatal-wrong-cpu-state-to-perform-jobs.yml
index c5140c1..b001b1d 100644
--- a/spec/score/smp/if/fatal-wrong-cpu-state-to-perform-jobs.yml
+++ b/spec/score/smp/if/fatal-wrong-cpu-state-to-perform-jobs.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-impl
 name: SMP_FATAL_START_OF_MANDATORY_PROCESSOR_FAILED
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/get-current-processor.yml b/spec/score/smp/if/get-current-processor.yml
index b8af8fd..68ab8b1 100644
--- a/spec/score/smp/if/get-current-processor.yml
+++ b/spec/score/smp/if/get-current-processor.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _SMP_Get_current_processor
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/get-processor-maximum.yml b/spec/score/smp/if/get-processor-maximum.yml
index 7c76f12..a4dc5d3 100644
--- a/spec/score/smp/if/get-processor-maximum.yml
+++ b/spec/score/smp/if/get-processor-maximum.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _SMP_Get_processor_maximum
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/lock-acquire.yml b/spec/score/smp/if/lock-acquire.yml
index 846c53e..0b4d7b8 100644
--- a/spec/score/smp/if/lock-acquire.yml
+++ b/spec/score/smp/if/lock-acquire.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: _SMP_lock_Acquire
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/lock-release.yml b/spec/score/smp/if/lock-release.yml
index cae205f..400f25c 100644
--- a/spec/score/smp/if/lock-release.yml
+++ b/spec/score/smp/if/lock-release.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header-2
 name: _SMP_lock_Release
-references: {}
+references: []
 type: interface
diff --git a/spec/score/smp/if/processor-configured-maximum.yml b/spec/score/smp/if/processor-configured-maximum.yml
index 830c4db..6b3646c 100644
--- a/spec/score/smp/if/processor-configured-maximum.yml
+++ b/spec/score/smp/if/processor-configured-maximum.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _SMP_Processor_configured_maximum
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-allocate-type.yml b/spec/score/stack/if/allocator-allocate-type.yml
index ee80899..d42bd62 100644
--- a/spec/score/stack/if/allocator-allocate-type.yml
+++ b/spec/score/stack/if/allocator-allocate-type.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Stack_Allocator_allocate
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-allocate.yml b/spec/score/stack/if/allocator-allocate.yml
index 0ee28e6..a1cd8df 100644
--- a/spec/score/stack/if/allocator-allocate.yml
+++ b/spec/score/stack/if/allocator-allocate.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Stack_Allocator_allocate
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-avoids-workspace.yml b/spec/score/stack/if/allocator-avoids-workspace.yml
index 0db2ea1..8f4ca72 100644
--- a/spec/score/stack/if/allocator-avoids-workspace.yml
+++ b/spec/score/stack/if/allocator-avoids-workspace.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Stack_Allocator_avoids_workspace
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-free-type.yml b/spec/score/stack/if/allocator-free-type.yml
index f0d025c..0803cbc 100644
--- a/spec/score/stack/if/allocator-free-type.yml
+++ b/spec/score/stack/if/allocator-free-type.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Stack_Allocator_free
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-free.yml b/spec/score/stack/if/allocator-free.yml
index deb2257..7cb9a2e 100644
--- a/spec/score/stack/if/allocator-free.yml
+++ b/spec/score/stack/if/allocator-free.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Stack_Allocator_free
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-initialize-type.yml b/spec/score/stack/if/allocator-initialize-type.yml
index 1abd773..6ccfc0c 100644
--- a/spec/score/stack/if/allocator-initialize-type.yml
+++ b/spec/score/stack/if/allocator-initialize-type.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Stack_Allocator_initialize
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/allocator-initialize.yml b/spec/score/stack/if/allocator-initialize.yml
index 2381030..17d16c2 100644
--- a/spec/score/stack/if/allocator-initialize.yml
+++ b/spec/score/stack/if/allocator-initialize.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Stack_Allocator_initialize
-references: {}
+references: []
 type: interface
diff --git a/spec/score/stack/if/minimum-size.yml b/spec/score/stack/if/minimum-size.yml
index b70b0b4..97579a8 100644
--- a/spec/score/stack/if/minimum-size.yml
+++ b/spec/score/stack/if/minimum-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STACK_MINIMUM_SIZE
-references: {}
+references: []
 type: interface
diff --git a/spec/score/status/if/deadlock.yml b/spec/score/status/if/deadlock.yml
index d6612c5..4c97fc2 100644
--- a/spec/score/status/if/deadlock.yml
+++ b/spec/score/status/if/deadlock.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STATUS_DEADLOCK
-references: {}
+references: []
 type: interface
diff --git a/spec/score/status/if/mutex-ceiling-violated.yml b/spec/score/status/if/mutex-ceiling-violated.yml
index 2b4a2e8..8671fc8 100644
--- a/spec/score/status/if/mutex-ceiling-violated.yml
+++ b/spec/score/status/if/mutex-ceiling-violated.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STATUS_MUTEX_CEILING_VIOLATED
-references: {}
+references: []
 type: interface
diff --git a/spec/score/status/if/successful.yml b/spec/score/status/if/successful.yml
index 2b5142c..e1cb440 100644
--- a/spec/score/status/if/successful.yml
+++ b/spec/score/status/if/successful.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STATUS_SUCCESSFUL
-references: {}
+references: []
 type: interface
diff --git a/spec/score/status/if/timeout.yml b/spec/score/status/if/timeout.yml
index 5bc1bfa..7a8be3c 100644
--- a/spec/score/status/if/timeout.yml
+++ b/spec/score/status/if/timeout.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STATUS_TIMEOUT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/status/if/unsatisfied.yml b/spec/score/status/if/unsatisfied.yml
index bf1e4b7..79cb985 100644
--- a/spec/score/status/if/unsatisfied.yml
+++ b/spec/score/status/if/unsatisfied.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: STATUS_UNSATISFIED
-references: {}
+references: []
 type: interface
diff --git a/spec/score/thread/if/idle-body.yml b/spec/score/thread/if/idle-body.yml
index 56c636a..5ec6f6a 100644
--- a/spec/score/thread/if/idle-body.yml
+++ b/spec/score/thread/if/idle-body.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Thread_Idle_body
-references: {}
+references: []
 type: interface
diff --git a/spec/score/thread/if/idle-stack-size.yml b/spec/score/thread/if/idle-stack-size.yml
index 43790fd..89c8b79 100644
--- a/spec/score/thread/if/idle-stack-size.yml
+++ b/spec/score/thread/if/idle-stack-size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Thread_Idle_stack_size
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/fatal.yml b/spec/score/userext/if/fatal.yml
index 993e638..7e10889 100644
--- a/spec/score/userext/if/fatal.yml
+++ b/spec/score/userext/if/fatal.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_fatal_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/initial-count.yml b/spec/score/userext/if/initial-count.yml
index 7c3bc4c..c8e9e21 100644
--- a/spec/score/userext/if/initial-count.yml
+++ b/spec/score/userext/if/initial-count.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _User_extensions_Initial_count
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/initial-extensions.yml b/spec/score/userext/if/initial-extensions.yml
index 4af4fff..3ccf552 100644
--- a/spec/score/userext/if/initial-extensions.yml
+++ b/spec/score/userext/if/initial-extensions.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _User_extensions_Initial_extensions
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/table.yml b/spec/score/userext/if/table.yml
index 2f7311d..63e9d57 100644
--- a/spec/score/userext/if/table.yml
+++ b/spec/score/userext/if/table.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_Table
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-begin.yml b/spec/score/userext/if/thread-begin.yml
index 9f505cf..9fc7317 100644
--- a/spec/score/userext/if/thread-begin.yml
+++ b/spec/score/userext/if/thread-begin.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_begin_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-create.yml b/spec/score/userext/if/thread-create.yml
index 779280f..cb75531 100644
--- a/spec/score/userext/if/thread-create.yml
+++ b/spec/score/userext/if/thread-create.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_create_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-delete.yml b/spec/score/userext/if/thread-delete.yml
index dd25534..b4693cc 100644
--- a/spec/score/userext/if/thread-delete.yml
+++ b/spec/score/userext/if/thread-delete.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_delete_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-exitted.yml b/spec/score/userext/if/thread-exitted.yml
index a2f9211..9593653 100644
--- a/spec/score/userext/if/thread-exitted.yml
+++ b/spec/score/userext/if/thread-exitted.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_exitted_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-restart.yml b/spec/score/userext/if/thread-restart.yml
index 0a3fb73..28b1e68 100644
--- a/spec/score/userext/if/thread-restart.yml
+++ b/spec/score/userext/if/thread-restart.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_restart_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-start.yml b/spec/score/userext/if/thread-start.yml
index c00d213..19adb3d 100644
--- a/spec/score/userext/if/thread-start.yml
+++ b/spec/score/userext/if/thread-start.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_start_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-switch.yml b/spec/score/userext/if/thread-switch.yml
index 3fd794a..8710976 100644
--- a/spec/score/userext/if/thread-switch.yml
+++ b/spec/score/userext/if/thread-switch.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_switch_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/userext/if/thread-terminate.yml b/spec/score/userext/if/thread-terminate.yml
index 9489e86..4352b3e 100644
--- a/spec/score/userext/if/thread-terminate.yml
+++ b/spec/score/userext/if/thread-terminate.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: User_extensions_thread_terminate_extension
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/interval.yml b/spec/score/watchdog/if/interval.yml
index 9155600..d6c8317 100644
--- a/spec/score/watchdog/if/interval.yml
+++ b/spec/score/watchdog/if/interval.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: Watchdog_Interval
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/microseconds-per-tick.yml b/spec/score/watchdog/if/microseconds-per-tick.yml
index d54b08d..3559712 100644
--- a/spec/score/watchdog/if/microseconds-per-tick.yml
+++ b/spec/score/watchdog/if/microseconds-per-tick.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Watchdog_Microseconds_per_tick
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/nanoseconds-per-tick.yml b/spec/score/watchdog/if/nanoseconds-per-tick.yml
index 6c90a98..f36277e 100644
--- a/spec/score/watchdog/if/nanoseconds-per-tick.yml
+++ b/spec/score/watchdog/if/nanoseconds-per-tick.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Watchdog_Nanoseconds_per_tick
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/no-timeout.yml b/spec/score/watchdog/if/no-timeout.yml
index 6355783..d0225b8 100644
--- a/spec/score/watchdog/if/no-timeout.yml
+++ b/spec/score/watchdog/if/no-timeout.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: WATCHDOG_NO_TIMEOUT
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/ticks-per-second.yml b/spec/score/watchdog/if/ticks-per-second.yml
index 7ccbc5a..de80268 100644
--- a/spec/score/watchdog/if/ticks-per-second.yml
+++ b/spec/score/watchdog/if/ticks-per-second.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Watchdog_Ticks_per_second
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/ticks-per-timeslice.yml b/spec/score/watchdog/if/ticks-per-timeslice.yml
index ca0ecd2..d115f11 100644
--- a/spec/score/watchdog/if/ticks-per-timeslice.yml
+++ b/spec/score/watchdog/if/ticks-per-timeslice.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Watchdog_Ticks_per_timeslice
-references: {}
+references: []
 type: interface
diff --git a/spec/score/watchdog/if/ticks-since-boot.yml b/spec/score/watchdog/if/ticks-since-boot.yml
index 4917f79..a0d6436 100644
--- a/spec/score/watchdog/if/ticks-since-boot.yml
+++ b/spec/score/watchdog/if/ticks-since-boot.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Watchdog_Ticks_since_boot
-references: {}
+references: []
 type: interface
diff --git a/spec/score/wkspace/if/is-unified.yml b/spec/score/wkspace/if/is-unified.yml
index cce007f..8f960ed 100644
--- a/spec/score/wkspace/if/is-unified.yml
+++ b/spec/score/wkspace/if/is-unified.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Workspace_Is_unified
-references: {}
+references: []
 type: interface
diff --git a/spec/score/wkspace/if/size.yml b/spec/score/wkspace/if/size.yml
index 1c47b28..c3fd892 100644
--- a/spec/score/wkspace/if/size.yml
+++ b/spec/score/wkspace/if/size.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: header
 name: _Workspace_Size
-references: {}
+references: []
 type: interface
diff --git a/spec/spec/external-reference-generic.yml b/spec/spec/external-reference-generic.yml
index f8f3d33..1c544a1 100644
--- a/spec/spec/external-reference-generic.yml
+++ b/spec/spec/external-reference-generic.yml
@@ -23,6 +23,10 @@ links:
   uid: external-reference
 - role: spec-refinement
   spec-key: type
+  spec-value: url
+  uid: external-reference
+- role: spec-refinement
+  spec-key: type
   spec-value: variable
   uid: external-reference
 spec-description: |
diff --git a/spec/spec/interface-references.yml b/spec/spec/interface-references.yml
deleted file mode 100644
index c3e5a69..0000000
--- a/spec/spec/interface-references.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links:
-- role: spec-member
-  uid: root
-spec-description: null
-spec-example: null
-spec-info:
-  dict:
-    attributes: {}
-    description: |
-      This set of attributes defines references for the interface.
-    generic-attributes:
-      description: |
-        The key defines the reference kind.  The value shall be a kind-specific
-        reference target.
-      key-spec-type: name
-      value-spec-type: str
-    mandatory-attributes: none
-spec-name: Interface References Set
-spec-type: interface-references
-type: spec
-
diff --git a/spec/spec/interface-unspecified.yml b/spec/spec/interface-unspecified.yml
index 1b3c1fc..c2c9ceb 100644
--- a/spec/spec/interface-unspecified.yml
+++ b/spec/spec/interface-unspecified.yml
@@ -36,7 +36,7 @@ spec-info:
         spec-type: str
       references:
         description: null
-        spec-type: interface-references
+        spec-type: external-reference-list
     description: |
       This set of attributes specifies an unspecified interface.
     mandatory-attributes: all
diff --git a/spec/user/if/asm.yml b/spec/user/if/asm.yml
index 5696e61..d3c6032 100644
--- a/spec/user/if/asm.yml
+++ b/spec/user/if/asm.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: ASM
-references: {}
+references: []
 type: interface
diff --git a/spec/user/if/false.yml b/spec/user/if/false.yml
index 82e5736..0b9c2ee 100644
--- a/spec/user/if/false.yml
+++ b/spec/user/if/false.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: 'FALSE'
-references: {}
+references: []
 type: interface
diff --git a/spec/user/if/true.yml b/spec/user/if/true.yml
index 0d30154..7ed9362 100644
--- a/spec/user/if/true.yml
+++ b/spec/user/if/true.yml
@@ -8,5 +8,5 @@ links:
 - role: interface-placement
   uid: container
 name: 'TRUE'
-references: {}
+references: []
 type: interface



More information about the vc mailing list