Skip to content

draft-core-yang-library: Use empty type for revisionless modules - #174

Open
vvilimek wants to merge 1 commit into
core-wg:patch-1from
vvilimek:library-no-revision-type
Open

draft-core-yang-library: Use empty type for revisionless modules#174
vvilimek wants to merge 1 commit into
core-wg:patch-1from
vvilimek:library-no-revision-type

Conversation

@vvilimek

@vvilimek vvilimek commented May 7, 2026

Copy link
Copy Markdown
Collaborator

It is common for the YANG modules of NETMOD and NETCONF WGs to have a lot of string-based types leafs. This may be cause by the fact that XML and JSON does not have very rich data model, and/or by the fact that YANG 1 does not support empty type as a list key.

From the YANG 1.1, it is possible to use empty type for list key leafs. Therefore we utilize this for modules without revision statement to identify such modules in the module sets. We found this type better suited than the prevision string { length 0; } type.

The empty type is encoded as CBOR null which uses 1 byte, same length as empty text string ("").

It is common for the YANG modules of NETMOD and NETCONF WGs to have
a lot of string-based types leafs. This may be cause by the fact that
XML and JSON does not have very rich data model, and/or by the fact
that YANG 1 does not support empty type as a list key.

From the YANG 1.1, it is possible to use empty type for list key leafs.
Therefore we utilize this for modules without revision statement to
identify such modules in the module sets. We found this type better
suited than the prevision string { length 0; } type.
@vvilimek

vvilimek commented May 7, 2026

Copy link
Copy Markdown
Collaborator Author

This type is only significant for import-only modules. The import-only modules are always referenced by the revision, if the referenced module has one.

@vvilimek vvilimek changed the title Use empty type for revisionless modules draft-core-yang-library: Use empty type for revisionless modules Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant