From 3320acd2b3f11a29de0e1c5320a28592d47824f1 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Wed, 22 Oct 2025 11:50:20 -0400 Subject: [PATCH] Add a note about datetime semantic validation limitations Signed-off-by: Juan Cruz Viotti --- schemas/iso/datetime/2019/date/calendar-basic.json | 1 + schemas/iso/datetime/2019/date/calendar-expanded-basic.json | 1 + schemas/iso/datetime/2019/date/calendar-expanded-extended.json | 1 + schemas/iso/datetime/2019/date/calendar-extended.json | 1 + schemas/iso/datetime/2019/date/week-basic.json | 1 + schemas/iso/datetime/2019/date/week-expanded-basic.json | 1 + schemas/iso/datetime/2019/date/week-expanded-extended.json | 1 + schemas/iso/datetime/2019/date/week-extended.json | 1 + schemas/iso/datetime/2019/duration/calendar-basic.json | 1 + schemas/iso/datetime/2019/duration/calendar-extended.json | 1 + 10 files changed, 10 insertions(+) diff --git a/schemas/iso/datetime/2019/date/calendar-basic.json b/schemas/iso/datetime/2019/date/calendar-basic.json index 4fb8c7a7..a61be55f 100644 --- a/schemas/iso/datetime/2019/date/calendar-basic.json +++ b/schemas/iso/datetime/2019/date/calendar-basic.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Calendar Date (Basic Format)", "description": "A complete representation of a calendar date in basic format [YYYY][MM][DD] (§5.2.2.1 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "19850412", "20000101", "20231231", "00000101", "99991231" ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], diff --git a/schemas/iso/datetime/2019/date/calendar-expanded-basic.json b/schemas/iso/datetime/2019/date/calendar-expanded-basic.json index caa4b5de..b8494cd3 100644 --- a/schemas/iso/datetime/2019/date/calendar-expanded-basic.json +++ b/schemas/iso/datetime/2019/date/calendar-expanded-basic.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Calendar Date Expanded (Basic Format)", "description": "An expanded representation of a calendar date in basic format [±][YYYYYY][MM][DD] with six digits for the year (§5.2.2.3 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "+0019850412", "-0000010101", diff --git a/schemas/iso/datetime/2019/date/calendar-expanded-extended.json b/schemas/iso/datetime/2019/date/calendar-expanded-extended.json index ab9a00fa..639e3a20 100644 --- a/schemas/iso/datetime/2019/date/calendar-expanded-extended.json +++ b/schemas/iso/datetime/2019/date/calendar-expanded-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Calendar Date Expanded (Extended Format)", "description": "An expanded representation of a calendar date in extended format [±][YYYYYY][\"-\"][MM][\"-\"][DD] with six digits for the year (§5.2.2.3 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "+001985-04-12", "-000001-01-01", diff --git a/schemas/iso/datetime/2019/date/calendar-extended.json b/schemas/iso/datetime/2019/date/calendar-extended.json index eb5757c7..b070c0bd 100644 --- a/schemas/iso/datetime/2019/date/calendar-extended.json +++ b/schemas/iso/datetime/2019/date/calendar-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Calendar Date (Extended Format)", "description": "A complete representation of a calendar date in extended format [YYYY][\"-\"][MM][\"-\"][DD] (§5.2.2.1 b)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "1985-04-12", "2000-01-01", diff --git a/schemas/iso/datetime/2019/date/week-basic.json b/schemas/iso/datetime/2019/date/week-basic.json index 3c23c8ab..7be7217b 100644 --- a/schemas/iso/datetime/2019/date/week-basic.json +++ b/schemas/iso/datetime/2019/date/week-basic.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Week Date (Basic Format)", "description": "A complete representation of a week date in basic format [YYYY][\"W\"][WW][D] where WW is the calendar week of year (01-53) and D is the calendar day of week (1-7) (§5.2.4.1 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., whether a year has 53 weeks) must be performed by the consumer", "examples": [ "1985W155", "2000W011", "2023W527", "0000W011", "9999W537" ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], diff --git a/schemas/iso/datetime/2019/date/week-expanded-basic.json b/schemas/iso/datetime/2019/date/week-expanded-basic.json index bc3638b8..56396f0d 100644 --- a/schemas/iso/datetime/2019/date/week-expanded-basic.json +++ b/schemas/iso/datetime/2019/date/week-expanded-basic.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Week Date Expanded (Basic Format)", "description": "An expanded representation of a week date in basic format [±][YYYYYY][\"W\"][WW][D] with six digits for the year, WW as calendar week of year (01-53), and D as calendar day of week (1-7) (§5.2.4.3 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., whether a year has 53 weeks) must be performed by the consumer", "examples": [ "+001985W155", "-000001W011", diff --git a/schemas/iso/datetime/2019/date/week-expanded-extended.json b/schemas/iso/datetime/2019/date/week-expanded-extended.json index 129e126b..e68f5cb5 100644 --- a/schemas/iso/datetime/2019/date/week-expanded-extended.json +++ b/schemas/iso/datetime/2019/date/week-expanded-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Week Date Expanded (Extended Format)", "description": "An expanded representation of a week date in extended format [±][YYYYYY][\"-\"][\"W\"][WW][\"-\"][D] with six digits for the year, WW as calendar week of year (01-53), and D as calendar day of week (1-7) (§5.2.4.3 a)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., whether a year has 53 weeks) must be performed by the consumer", "examples": [ "+001985-W15-5", "-000001-W01-1", diff --git a/schemas/iso/datetime/2019/date/week-extended.json b/schemas/iso/datetime/2019/date/week-extended.json index 85cb25bb..56bcafb8 100644 --- a/schemas/iso/datetime/2019/date/week-extended.json +++ b/schemas/iso/datetime/2019/date/week-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Week Date (Extended Format)", "description": "A complete representation of a week date in extended format [YYYY][\"-\"][\"W\"][WW][\"-\"][D] where WW is the calendar week of year (01-53) and D is the calendar day of week (1-7) (§5.2.4.1 b)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., whether a year has 53 weeks) must be performed by the consumer", "examples": [ "1985-W15-5", "2000-W01-1", diff --git a/schemas/iso/datetime/2019/duration/calendar-basic.json b/schemas/iso/datetime/2019/duration/calendar-basic.json index 9aa488f2..1ba4fc22 100644 --- a/schemas/iso/datetime/2019/duration/calendar-basic.json +++ b/schemas/iso/datetime/2019/duration/calendar-basic.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Duration (Alternative Calendar Basic Format)", "description": "A duration in alternative basic format P[YYYYMMDD]T[HHMMSS] (§5.5.2.4)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "P00020110T223355", "P00010101T000000", "P00001231T235959" ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], diff --git a/schemas/iso/datetime/2019/duration/calendar-extended.json b/schemas/iso/datetime/2019/duration/calendar-extended.json index 2dbc8c1f..2eae676f 100644 --- a/schemas/iso/datetime/2019/duration/calendar-extended.json +++ b/schemas/iso/datetime/2019/duration/calendar-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Duration (Alternative Calendar Extended Format)", "description": "A duration in alternative extended format P[YYYY-MM-DD]T[HH:MM:SS] (§5.5.2.4)", + "$comment": "This schema provides syntactic validation only. Semantic validation (e.g., leap years for February 29) must be performed by the consumer", "examples": [ "P0002-01-10T22:33:55", "P0001-01-01T00:00:00",