Skip to content

RS 3001: string value escapes, empty-string presence, null literal - #11

Merged
ronaldtse merged 1 commit into
mainfrom
docs/value-escapes-null
Oct 10, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
docs/value-escapes-null

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Summary

RS 3001 amendment for the two string-value gaps surfaced by lutaml-lml's quoting-contract specs (lutaml-lml#68):

  • String values section under Core syntax: both quote kinds accept exactly two escape sequences, backslash-quote and backslash-backslash, strictly -- no other escape exists, and a backslash followed by anything else does not form a string value. The empty string is defined as a present, zero-length value, distinct from absence.
  • Null joins the primitive values (e.g., null), and the Instance section records assignment semantics: an unassigned optional attribute is absent; an explicit null assignment denotes the null value; "" denotes a present empty string.

Implementation in lutaml-lml follows once this lands: grammar escaped-string scans, the null literal, emitter escaping, and corpus fixtures pinning each example.

Test plan

  • The docs build (generate workflow) renders the new section

Core syntax gains a String values section: both quote kinds accept the
escape sequences backslash-quote and backslash-backslash, strictly --
no other escape is defined. The empty string is defined as a present,
zero-length value, distinct from absence. Null joins the primitive
values, and the Instance section records the assignment semantics:
an unassigned optional attribute is absent, an explicit null
assignment denotes the null value.
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