diff --git a/schemas/2020-12/ieee/posix/2017/path.json b/schemas/2020-12/ieee/posix/2017/path.json index 48ec4da1..6315a046 100644 --- a/schemas/2020-12/ieee/posix/2017/path.json +++ b/schemas/2020-12/ieee/posix/2017/path.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "IEEE Std 1003.1-2017 POSIX File Path)", + "title": "IEEE Std 1003.1-2017 POSIX File Path", "description": "IEEE Std 1003.1-2017 POSIX pathname", "examples": [ "/", @@ -12,17 +12,9 @@ ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://pubs.opengroup.org/onlinepubs/9699919799/" ], - "anyOf": [ - { - "$ref": "./path-absolute.json" - }, - { - "$ref": "./path-relative.json" - }, - { - "$comment": "A pathname beginning with exactly two slashes is a valid pathname with implementation-defined interpretation, though not an Absolute Pathname", - "type": "string", - "pattern": "^//([^/].*)?$" - } - ] + "type": "string", + "not": { + "$comment": "Cannot contain null bytes", + "pattern": "\u0000" + } } diff --git a/schemas/2020-12/ietf/encoding/base16.json b/schemas/2020-12/ietf/encoding/base16.json index a2b60d49..de082b06 100644 --- a/schemas/2020-12/ietf/encoding/base16.json +++ b/schemas/2020-12/ietf/encoding/base16.json @@ -13,9 +13,6 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.rfc-editor.org/rfc/rfc4648.html#section-8" ], "type": "string", - "not": { - "pattern": "[\\x00-\\x1F]" - }, "pattern": "^([0-9A-Fa-f]{2})*$", "contentEncoding": "base16" } diff --git a/schemas/2020-12/ietf/http/method.json b/schemas/2020-12/ietf/http/method.json index ddedf46c..0277b287 100644 --- a/schemas/2020-12/ietf/http/method.json +++ b/schemas/2020-12/ietf/http/method.json @@ -6,8 +6,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.rfc-editor.org/rfc/rfc9110#section-9" ], "type": "string", - "not": { - "pattern": "[\\x00-\\x1F\\x7F]" - }, "pattern": "^[!#$%&'*+\\-.0-9A-Z^_`a-z|~]+$" } diff --git a/schemas/2020-12/ietf/language/3066/tag-syntax.json b/schemas/2020-12/ietf/language/3066/tag-syntax.json index a8d4e0a9..52ddb434 100644 --- a/schemas/2020-12/ietf/language/3066/tag-syntax.json +++ b/schemas/2020-12/ietf/language/3066/tag-syntax.json @@ -19,9 +19,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.rfc-editor.org/rfc/rfc3066.html" ], "type": "string", - "not": { - "$comment": "Cannot contain whitespace or control characters", - "pattern": "[\\s]" - }, "pattern": "^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$" } diff --git a/schemas/2020-12/ietf/uri/url.json b/schemas/2020-12/ietf/uri/url.json index 389b639b..c35e2510 100644 --- a/schemas/2020-12/ietf/uri/url.json +++ b/schemas/2020-12/ietf/uri/url.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "RFC 3986 Uniform Resource Locator (URL)", "description": "A locatable absolute Uniform Resource Identifier (URI)", + "$comment": "Given the referenced URI schema, a locator is exactly a URI whose character after the scheme colon is a slash, question mark, hash, or the end of the string", "examples": [ "https://example.com/path/to/resource?query=value#section", "http://user:pass@192.168.1.1:8080/api/v1", @@ -12,17 +13,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.rfc-editor.org/rfc/rfc3986#section-3" ], "$ref": "./uri.json", - "anyOf": [ - { - "$comment": "With authority", - "pattern": "^[A-Za-z][A-Za-z0-9+\\-.]*://" - }, - { - "$comment": "Rootless-path URIs such as mailto and urn are not syntactically distinguishable as locators, so only path-absolute and empty paths qualify", - "not": { - "pattern": "^[^:]+://" - }, - "pattern": "^[A-Za-z][A-Za-z0-9+\\-.]*:(?:/[^?#]*)?(?:\\?[^#]*)?(?:#.*)?$" - } - ] + "pattern": "^[A-Za-z][A-Za-z0-9+\\-.]*:(?:[/?#]|$)" } diff --git a/schemas/2020-12/ietf/uri/urn.json b/schemas/2020-12/ietf/uri/urn.json index 14df729e..2f127de2 100644 --- a/schemas/2020-12/ietf/uri/urn.json +++ b/schemas/2020-12/ietf/uri/urn.json @@ -17,7 +17,10 @@ "urn:example:foo/bar/" ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", - "x-links": [ "https://www.rfc-editor.org/rfc/rfc8141#section-2" ], + "x-links": [ + "https://www.rfc-editor.org/rfc/rfc8141#section-2", + "https://www.rfc-editor.org/rfc/rfc2141#section-2.1" + ], "$ref": "./uri.json", "not": { "$comment": "Disallow reserved NID value 'urn'", diff --git a/schemas/2020-12/iso/currency/2015/historical/alpha-code.json b/schemas/2020-12/iso/currency/2015/historical/alpha-code.json index 100f63cf..efeee361 100644 --- a/schemas/2020-12/iso/currency/2015/historical/alpha-code.json +++ b/schemas/2020-12/iso/currency/2015/historical/alpha-code.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ISO 4217:2015 Alphabetic Currency and Precious Metal Code (Historical)", - "description": "A three-letter alphabetic code including withdrawn currencies and precious metals (2025-03-31)", + "title": "ISO 4217:2015 Alphabetic Currency Code (Historical)", + "description": "A three-letter alphabetic code including withdrawn currencies (2025-03-31)", "examples": [ "ADP", "AFA", "ALK", "ANG" ], "deprecated": true, "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", diff --git a/schemas/2020-12/iso/currency/2015/historical/numeric-code.json b/schemas/2020-12/iso/currency/2015/historical/numeric-code.json index e38085f4..c2ac7df3 100644 --- a/schemas/2020-12/iso/currency/2015/historical/numeric-code.json +++ b/schemas/2020-12/iso/currency/2015/historical/numeric-code.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ISO 4217:2015 Numeric Currency and Precious Metal Code (Historical)", - "description": "A three-digit numeric code including withdrawn currencies and precious metals (2025-03-31)", + "title": "ISO 4217:2015 Numeric Currency Code (Historical)", + "description": "A three-digit numeric code including withdrawn currencies (2025-03-31)", "examples": [ 4, 8, 20, 24 ], "deprecated": true, "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", diff --git a/schemas/2020-12/iso/datetime/2019/date/calendar-extended.json b/schemas/2020-12/iso/datetime/2019/date/calendar-extended.json index 1c727ba8..488be932 100644 --- a/schemas/2020-12/iso/datetime/2019/date/calendar-extended.json +++ b/schemas/2020-12/iso/datetime/2019/date/calendar-extended.json @@ -1,8 +1,7 @@ { - "$schema": "https://json-schema.org/draft/2020-12/schema", + "$schema": "urn:sourcemeta:std:ietf:jsonschema:2020-12:dialect:format-assertion", "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 validates day/month combinations (i.e rejects April 31) but does not validate leap years. February 29 is accepted for any year, and leap year validation must be performed by the consumer", "examples": [ "1985-04-12", "2000-01-01", @@ -14,5 +13,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))$" + "format": "date" } diff --git a/schemas/2020-12/iso/datetime/2019/duration/ordinal-basic.json b/schemas/2020-12/iso/datetime/2019/duration/ordinal-basic.json index a2e8a9f1..a26b56a8 100644 --- a/schemas/2020-12/iso/datetime/2019/duration/ordinal-basic.json +++ b/schemas/2020-12/iso/datetime/2019/duration/ordinal-basic.json @@ -2,9 +2,10 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Duration (Alternative Ordinal Basic Format)", "description": "A duration in alternative basic format with ordinal date P[YYYYDDD]T[HHMMSS] (§5.5.2.4)", + "$comment": "Alternative-format durations are quantities, not dates: the day field is capped at its carry-over point and years are unsigned", "examples": [ "P0002178T223355", "P0001001T000000", "P0001365T235959" ], "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})(?:0[0-9][1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T(?:[01][0-9]|2[0-3])(?:[0-5][0-9])(?:[0-5][0-9])$" + "pattern": "^P[0-9]{4}(?:[0-2][0-9]{2}|3[0-5][0-9]|36[0-5])T(?:[01][0-9]|2[0-3])(?:[0-5][0-9])(?:[0-5][0-9])$" } diff --git a/schemas/2020-12/iso/datetime/2019/duration/ordinal-extended.json b/schemas/2020-12/iso/datetime/2019/duration/ordinal-extended.json index 4250ff09..b9ba2e14 100644 --- a/schemas/2020-12/iso/datetime/2019/duration/ordinal-extended.json +++ b/schemas/2020-12/iso/datetime/2019/duration/ordinal-extended.json @@ -2,6 +2,7 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ISO 8601-1:2019 Duration (Alternative Ordinal Extended Format)", "description": "A duration in alternative extended format with ordinal date P[YYYY-DDD]T[HH:MM:SS] (§5.5.2.4)", + "$comment": "Alternative-format durations are quantities, not dates: the day field is capped at its carry-over point and years are unsigned", "examples": [ "P0002-178T22:33:55", "P0001-001T00:00:00", @@ -10,5 +11,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^P(?:[0-9]{4}|[+-][0-9]{5,})-(?:0[0-9][1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T(?:[01][0-9]|2[0-3]):(?:[0-5][0-9]):(?:[0-5][0-9])$" + "pattern": "^P[0-9]{4}-(?:[0-2][0-9]{2}|3[0-5][0-9]|36[0-5])T(?:[01][0-9]|2[0-3]):(?:[0-5][0-9]):(?:[0-5][0-9])$" } diff --git a/schemas/2020-12/iso/datetime/2019/duration/weeks.json b/schemas/2020-12/iso/datetime/2019/duration/weeks.json index 86323790..b82f6a79 100644 --- a/schemas/2020-12/iso/datetime/2019/duration/weeks.json +++ b/schemas/2020-12/iso/datetime/2019/duration/weeks.json @@ -6,5 +6,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^P[0-9]+(?:\\.[0-9]+)?W$" + "pattern": "^P[0-9]+(?:[.,][0-9]+)?W$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-basic.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-basic.json index 385f2311..04cfdca4 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-extended.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-extended.json index 3cc77f89..e710d538 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-calendar-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-basic.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-basic.json index 8e5f828a..1ff9cdd1 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-extended.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-extended.json index fd5c5bee..f683b12a 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-ordinal-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-basic.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-basic.json index 0656f327..2a83b377 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-extended.json b/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-extended.json index ffca00fa..83dc35e7 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/duration-end-week-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-basic.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-basic.json index 61efd420..1c48e655 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-extended.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-extended.json index 446f9d93..fef05b79 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-calendar-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-basic.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-basic.json index d12d6fdd..d2c89728 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-extended.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-extended.json index ca4d8d3b..4127609c 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-ordinal-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-basic.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-basic.json index 7b711086..cb4b27fe 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-basic.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-extended.json b/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-extended.json index 204e5cdf..2c10ee04 100644 --- a/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-extended.json +++ b/schemas/2020-12/iso/datetime/2019/interval/start-duration-week-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-basic.json index b97c53ff..f26772db 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-extended.json index d15270b3..2167e234 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-calendar-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-basic.json index ab846e20..2edb47e3 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-extended.json index 6e6e51c5..dbebb531 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-ordinal-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-basic.json index e866e62a..2b81af51 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-extended.json index eb0908a0..d2288f69 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/duration-end-week-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" + "pattern": "^R([0-9]+)?/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-basic.json index e65d6e4e..4b3b0f6b 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/([0-9]{4}(0[13578]|1[02])(0[1-9]|[12][0-9]|3[01])|[0-9]{4}(0[469]|11)(0[1-9]|[12][0-9]|30)|[0-9]{4}02(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-extended.json index 66ae6e25..f547dc24 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-calendar-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/([0-9]{4}-(0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|[0-9]{4}-(0[469]|11)-(0[1-9]|[12][0-9]|30)|[0-9]{4}-02-(0[1-9]|1[0-9]|2[0-9]))T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-basic.json index 5fc919ee..a0f7fce0 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/[0-9]{4}(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-extended.json index 6b0beadb..95914c9e 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-ordinal-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/[0-9]{4}-(00[1-9]|0[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-basic.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-basic.json index ecaac99a..ccc0c6fa 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-basic.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-basic.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/[0-9]{4}W(0[1-9]|[1-4][0-9]|5[0-3])[1-7]T([01][0-9]|2[0-3])[0-5][0-9]([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-extended.json b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-extended.json index f680df69..8646be7f 100644 --- a/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-extended.json +++ b/schemas/2020-12/iso/datetime/2019/recurring/start-duration-week-extended.json @@ -12,5 +12,5 @@ "x-license": "https://github.com/sourcemeta/std/blob/main/LICENSE", "x-links": [ "https://www.iso.org/standard/70907.html" ], "type": "string", - "pattern": "^R([0-9]+)?/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:\\.[0-9]+)?W|P[0-9]+(?:\\.[0-9]+)?Y|P[0-9]+Y[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+(?:\\.[0-9]+)?D|P[0-9]+(?:\\.[0-9]+)?D|PT[0-9]+(?:\\.[0-9]+)?H|PT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?M|PT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|PT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+YT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+YT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+YT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+Y[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+MT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+MT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+MT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+M[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+M[0-9]+DT[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?H|P[0-9]+DT[0-9]+H[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+H[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?M|P[0-9]+DT[0-9]+M[0-9]+(?:\\.[0-9]+)?S|P[0-9]+DT[0-9]+(?:\\.[0-9]+)?S)$" + "pattern": "^R([0-9]+)?/[0-9]{4}-W(0[1-9]|[1-4][0-9]|5[0-3])-[1-7]T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)/(?:P[0-9]+(?:[.,][0-9]+)?W|P[0-9]+(?:[.,][0-9]+)?Y|P(?:[0-9]+Y)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?D|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T[0-9]+(?:[.,][0-9]+)?H|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?[0-9]+(?:[.,][0-9]+)?M|P(?:[0-9]+Y)?(?:[0-9]+M)?(?:[0-9]+D)?T(?:[0-9]+H)?(?:[0-9]+M)?[0-9]+(?:[.,][0-9]+)?S)$" } diff --git a/schemas/2020-12/w3c/xmlschema/2001/any-uri.json b/schemas/2020-12/w3c/xmlschema/2001/any-uri.json index cccea5bf..fb0cc918 100644 --- a/schemas/2020-12/w3c/xmlschema/2001/any-uri.json +++ b/schemas/2020-12/w3c/xmlschema/2001/any-uri.json @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "W3C XML Schema anyURI", - "description": "The anyURI datatype represents an Internationalized Resource Identifier (IRI) reference as defined in RFC 3987, either absolute or relative (§3.2.17)", + "description": "The anyURI datatype represents a Uniform Resource Identifier reference (§3.2.17)", "$comment": "The anyURI lexical space is laxer than RFC 3986, as any XML character sequence can be escaped into a URI", "examples": [ "http://www.example.com", diff --git a/schemas/2020-12/w3c/xmlschema/2001/ncname.json b/schemas/2020-12/w3c/xmlschema/2001/ncname.json index 5b2360c1..f0200ac2 100644 --- a/schemas/2020-12/w3c/xmlschema/2001/ncname.json +++ b/schemas/2020-12/w3c/xmlschema/2001/ncname.json @@ -20,6 +20,5 @@ "https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName" ], "type": "string", - "pattern": "^(?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$", - "minLength": 1 + "pattern": "^(?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" } diff --git a/schemas/2020-12/w3c/xmlschema/2001/qname.json b/schemas/2020-12/w3c/xmlschema/2001/qname.json index 973419d4..99f53306 100644 --- a/schemas/2020-12/w3c/xmlschema/2001/qname.json +++ b/schemas/2020-12/w3c/xmlschema/2001/qname.json @@ -22,6 +22,5 @@ "https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName" ], "type": "string", - "pattern": "^((?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:)?(?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$", - "minLength": 1 + "pattern": "^((?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*:)?(?![:\\p{Nd}\\u00B7\\u02D0-\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D-\\u309E\\u30FC-\\u30FE])[A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}][A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u{10000}-\\u{EFFFF}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" } diff --git a/templates/schemas/2020-12/iso/currency/2015/historical/alpha-code.jq b/templates/schemas/2020-12/iso/currency/2015/historical/alpha-code.jq index 70db3922..2156fa5c 100644 --- a/templates/schemas/2020-12/iso/currency/2015/historical/alpha-code.jq +++ b/templates/schemas/2020-12/iso/currency/2015/historical/alpha-code.jq @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ISO 4217:2015 Alphabetic Currency and Precious Metal Code (Historical)", - "description": ("A three-letter alphabetic code including withdrawn currencies and precious metals (" + .ISO_4217."@attributes".Pblshd + ")"), + "title": "ISO 4217:2015 Alphabetic Currency Code (Historical)", + "description": ("A three-letter alphabetic code including withdrawn currencies (" + .ISO_4217."@attributes".Pblshd + ")"), "examples": ( .ISO_4217.HstrcCcyTbl.HstrcCcyNtry | map(select(.Ccy != null)) diff --git a/templates/schemas/2020-12/iso/currency/2015/historical/numeric-code.jq b/templates/schemas/2020-12/iso/currency/2015/historical/numeric-code.jq index dd7eb525..1ec2b13d 100644 --- a/templates/schemas/2020-12/iso/currency/2015/historical/numeric-code.jq +++ b/templates/schemas/2020-12/iso/currency/2015/historical/numeric-code.jq @@ -1,7 +1,7 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "ISO 4217:2015 Numeric Currency and Precious Metal Code (Historical)", - "description": ("A three-digit numeric code including withdrawn currencies and precious metals (" + .ISO_4217."@attributes".Pblshd + ")"), + "title": "ISO 4217:2015 Numeric Currency Code (Historical)", + "description": ("A three-digit numeric code including withdrawn currencies (" + .ISO_4217."@attributes".Pblshd + ")"), "examples": ( .ISO_4217.HstrcCcyTbl.HstrcCcyNtry | map(select(.Ccy != null and .CcyNbr != null)) diff --git a/test/bipm/si/2019/derived/prefixed/kilodegree-celsius.test.json b/test/bipm/si/2019/derived/prefixed/kilodegree-celsius.test.json index 8161b7ab..9374a473 100644 --- a/test/bipm/si/2019/derived/prefixed/kilodegree-celsius.test.json +++ b/test/bipm/si/2019/derived/prefixed/kilodegree-celsius.test.json @@ -50,6 +50,11 @@ "description": "Invalid type - object", "data": {}, "valid": false + }, + { + "description": "Invalid - below the scaled absolute zero floor", + "valid": false, + "data": -0.27316 } ] } diff --git a/test/bipm/si/2019/derived/prefixed/millidegree-celsius.test.json b/test/bipm/si/2019/derived/prefixed/millidegree-celsius.test.json index 3b993493..c459e3f3 100644 --- a/test/bipm/si/2019/derived/prefixed/millidegree-celsius.test.json +++ b/test/bipm/si/2019/derived/prefixed/millidegree-celsius.test.json @@ -50,6 +50,11 @@ "description": "Invalid type - object", "data": {}, "valid": false + }, + { + "description": "Invalid - below the scaled absolute zero floor", + "valid": false, + "data": -273151 } ] } diff --git a/test/ietf/geojson/geometry-collection.test.json b/test/ietf/geojson/geometry-collection.test.json index a781ffe3..1736619b 100644 --- a/test/ietf/geojson/geometry-collection.test.json +++ b/test/ietf/geojson/geometry-collection.test.json @@ -234,6 +234,24 @@ "features": [] }, "valid": false + }, + { + "description": "Valid - nested geometry collection", + "valid": true, + "data": { + "type": "GeometryCollection", + "geometries": [ + { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Point", + "coordinates": [ 0, 0 ] + } + ] + } + ] + } } ] } diff --git a/test/ietf/http/http-url.test.json b/test/ietf/http/http-url.test.json index b99121aa..45daa5b2 100644 --- a/test/ietf/http/http-url.test.json +++ b/test/ietf/http/http-url.test.json @@ -150,6 +150,16 @@ "description": "Invalid - HTTP URL with space", "data": "http://example.com/path with space", "valid": false + }, + { + "description": "Invalid - empty host", + "valid": false, + "data": "http:///path" + }, + { + "description": "Invalid - userinfo with empty host", + "valid": false, + "data": "http://user@/path" } ] } diff --git a/test/ietf/http/https-url.test.json b/test/ietf/http/https-url.test.json index e007fe43..8e12320e 100644 --- a/test/ietf/http/https-url.test.json +++ b/test/ietf/http/https-url.test.json @@ -150,6 +150,11 @@ "description": "Invalid - HTTPS URL with space", "data": "https://example.com/path with space", "valid": false + }, + { + "description": "Invalid - empty host", + "valid": false, + "data": "https:///path" } ] } diff --git a/test/ietf/language/5646/tag-syntax.test.json b/test/ietf/language/5646/tag-syntax.test.json index 6353db56..4441dcab 100644 --- a/test/ietf/language/5646/tag-syntax.test.json +++ b/test/ietf/language/5646/tag-syntax.test.json @@ -415,6 +415,16 @@ "description": "Valid - extension with 8-char subtag", "data": "en-u-abcdefgh", "valid": true + }, + { + "description": "Valid - grandfathered tag in uppercase", + "valid": true, + "data": "I-KLINGON" + }, + { + "description": "Valid - grandfathered tag in mixed case", + "valid": true, + "data": "En-GB-Oed" } ] } diff --git a/test/ietf/uri/urn.test.json b/test/ietf/uri/urn.test.json index 0891d050..d1306da7 100644 --- a/test/ietf/uri/urn.test.json +++ b/test/ietf/uri/urn.test.json @@ -180,6 +180,36 @@ "description": "URN with empty fragment", "data": "urn:example:foo#", "valid": true + }, + { + "description": "Invalid - NSS cannot start with a slash", + "valid": false, + "data": "urn:example:/foo" + }, + { + "description": "Valid - question mark inside an r-component", + "valid": true, + "data": "urn:example:foo?+a?b" + }, + { + "description": "Invalid - empty r-component", + "valid": false, + "data": "urn:example:foo?+" + }, + { + "description": "Invalid - empty q-component", + "valid": false, + "data": "urn:example:foo?=" + }, + { + "description": "Valid - two character NID", + "valid": true, + "data": "urn:ab:x" + }, + { + "description": "Invalid - thirty-three character NID", + "valid": false, + "data": "urn:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:x" } ] } diff --git a/test/iso/datetime/2019/date/calendar-extended.test.json b/test/iso/datetime/2019/date/calendar-extended.test.json index c55881ce..4013ef90 100644 --- a/test/iso/datetime/2019/date/calendar-extended.test.json +++ b/test/iso/datetime/2019/date/calendar-extended.test.json @@ -240,6 +240,26 @@ "description": "Valid - 31 December 2023", "data": "2023-12-31", "valid": true + }, + { + "description": "Valid - leap day in a leap year", + "valid": true, + "data": "2020-02-29" + }, + { + "description": "Valid - leap day in a century leap year", + "valid": true, + "data": "2000-02-29" + }, + { + "description": "Invalid - leap day in a common year", + "valid": false, + "data": "2021-02-29" + }, + { + "description": "Invalid - leap day in a century common year", + "valid": false, + "data": "2100-02-29" } ] } diff --git a/test/iso/datetime/2019/duration/designator-extension.test.json b/test/iso/datetime/2019/duration/designator-extension.test.json index 793a9636..b298c22d 100644 --- a/test/iso/datetime/2019/duration/designator-extension.test.json +++ b/test/iso/datetime/2019/duration/designator-extension.test.json @@ -335,6 +335,16 @@ "description": "Invalid type - object", "data": {}, "valid": false + }, + { + "description": "Valid - negative week duration", + "valid": true, + "data": "-P1W" + }, + { + "description": "Valid - negative duration with months omitted", + "valid": true, + "data": "-P1Y1D" } ] } diff --git a/test/iso/datetime/2019/duration/designator.test.json b/test/iso/datetime/2019/duration/designator.test.json index 899b67dd..02046ea1 100644 --- a/test/iso/datetime/2019/duration/designator.test.json +++ b/test/iso/datetime/2019/duration/designator.test.json @@ -195,6 +195,31 @@ "description": "Valid - zero seconds", "data": "PT0S", "valid": true + }, + { + "description": "Valid - years and days with months omitted", + "valid": true, + "data": "P1Y1D" + }, + { + "description": "Valid - hours and seconds with minutes omitted", + "valid": true, + "data": "PT1H1S" + }, + { + "description": "Valid - comma as the decimal sign", + "valid": true, + "data": "P0,5Y" + }, + { + "description": "Invalid - components out of order", + "valid": false, + "data": "P1D1Y" + }, + { + "description": "Invalid - fraction on a component that is not the lowest order", + "valid": false, + "data": "P0.5Y1D" } ] } diff --git a/test/iso/datetime/2019/duration/ordinal-basic.test.json b/test/iso/datetime/2019/duration/ordinal-basic.test.json index be05e239..04b10c3e 100644 --- a/test/iso/datetime/2019/duration/ordinal-basic.test.json +++ b/test/iso/datetime/2019/duration/ordinal-basic.test.json @@ -47,9 +47,9 @@ "valid": true }, { - "description": "Valid - 5 years day 366 (leap year), 6 hours 15 minutes 30 seconds", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0005366T061530", - "valid": true + "valid": false }, { "description": "Invalid - missing P prefix", @@ -112,9 +112,9 @@ "valid": false }, { - "description": "Invalid - ordinal day 000 (ordinal days should be 001-366)", + "description": "Valid - zero days is a legal duration quantity", "data": "P0001000T000000", - "valid": false + "valid": true }, { "description": "Invalid - ordinal day 367 (ordinal days should be 001-366)", @@ -162,9 +162,9 @@ "valid": true }, { - "description": "Valid - ordinal day 366 (maximum valid ordinal day)", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0000366T000000", - "valid": true + "valid": false }, { "description": "Valid - ordinal day 365", @@ -202,24 +202,24 @@ "valid": true }, { - "description": "Valid - expanded year with plus sign (5 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P+10000001T000000", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with minus sign (5 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P-10000001T000000", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with plus sign (6 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P+100000001T000000", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with minus sign (10 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P-1000000000001T000000", - "valid": true + "valid": false }, { "description": "Invalid - expanded year without sign (5 digits)", @@ -261,11 +261,6 @@ "data": "P0000001T00001", "valid": false }, - { - "description": "Invalid - day 000", - "data": "P0001000T000000", - "valid": false - }, { "description": "Invalid - day 367", "data": "P0001367T000000", @@ -287,9 +282,9 @@ "valid": false }, { - "description": "Valid - day 366 (leap year validation is consumer responsibility)", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0001366T000000", - "valid": true + "valid": false }, { "description": "Valid - day 001", diff --git a/test/iso/datetime/2019/duration/ordinal-extended.test.json b/test/iso/datetime/2019/duration/ordinal-extended.test.json index e1fb4d8e..38cc91e4 100644 --- a/test/iso/datetime/2019/duration/ordinal-extended.test.json +++ b/test/iso/datetime/2019/duration/ordinal-extended.test.json @@ -47,9 +47,9 @@ "valid": true }, { - "description": "Valid - 5 years day 366 (leap year), 6 hours 15 minutes 30 seconds", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0005-366T06:15:30", - "valid": true + "valid": false }, { "description": "Invalid - missing P prefix", @@ -112,9 +112,9 @@ "valid": false }, { - "description": "Invalid - ordinal day 000 (ordinal days should be 001-366)", + "description": "Valid - zero days is a legal duration quantity", "data": "P0001-000T00:00:00", - "valid": false + "valid": true }, { "description": "Invalid - ordinal day 367 (ordinal days should be 001-366)", @@ -162,9 +162,9 @@ "valid": true }, { - "description": "Valid - ordinal day 366 (maximum valid ordinal day)", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0000-366T00:00:00", - "valid": true + "valid": false }, { "description": "Valid - ordinal day 365", @@ -202,24 +202,24 @@ "valid": true }, { - "description": "Valid - expanded year with plus sign (5 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P+10000-001T00:00:00", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with minus sign (5 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P-10000-001T00:00:00", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with plus sign (6 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P+100000-001T00:00:00", - "valid": true + "valid": false }, { - "description": "Valid - expanded year with minus sign (10 digits)", + "description": "Invalid - durations take no sign and no expanded year form", "data": "P-1000000000-001T00:00:00", - "valid": true + "valid": false }, { "description": "Invalid - expanded year without sign (5 digits)", @@ -261,11 +261,6 @@ "data": "P0000-001T00:00:1", "valid": false }, - { - "description": "Invalid - day 000", - "data": "P0001-000T00:00:00", - "valid": false - }, { "description": "Invalid - day 367", "data": "P0001-367T00:00:00", @@ -287,9 +282,9 @@ "valid": false }, { - "description": "Valid - day 366 (leap year validation is consumer responsibility)", + "description": "Invalid - 366 days exceeds the carry-over point", "data": "P0001-366T00:00:00", - "valid": true + "valid": false }, { "description": "Valid - day 001", diff --git a/test/iso/datetime/2019/duration/weeks.test.json b/test/iso/datetime/2019/duration/weeks.test.json index 3e4c4c70..c1dc40d4 100644 --- a/test/iso/datetime/2019/duration/weeks.test.json +++ b/test/iso/datetime/2019/duration/weeks.test.json @@ -110,6 +110,11 @@ "description": "Invalid - weeks mixed with time", "data": "P1WT1H", "valid": false + }, + { + "description": "Valid - comma as the decimal sign", + "valid": true, + "data": "P1,5W" } ] } diff --git a/test/iso/datetime/2019/interval/start-duration-calendar-extended.test.json b/test/iso/datetime/2019/interval/start-duration-calendar-extended.test.json index e79fe713..00f50d16 100644 --- a/test/iso/datetime/2019/interval/start-duration-calendar-extended.test.json +++ b/test/iso/datetime/2019/interval/start-duration-calendar-extended.test.json @@ -300,6 +300,16 @@ "description": "Valid - 13 months", "data": "2023-01-01T00:00:00/P13M", "valid": true + }, + { + "description": "Valid - duration with months omitted", + "valid": true, + "data": "1985-04-12T23:20:50/P1Y1D" + }, + { + "description": "Valid - duration with a comma decimal sign", + "valid": true, + "data": "1985-04-12T23:20:50/PT0,5S" } ] } diff --git a/test/w3c/xmlschema/2001/date-time.test.json b/test/w3c/xmlschema/2001/date-time.test.json index e70efed3..d9ee03e4 100644 --- a/test/w3c/xmlschema/2001/date-time.test.json +++ b/test/w3c/xmlschema/2001/date-time.test.json @@ -120,6 +120,11 @@ "description": "Invalid - number type", "data": 1684162200, "valid": false + }, + { + "description": "Valid - years may have more than four digits", + "valid": true, + "data": "12000-10-10T12:00:00Z" } ] } diff --git a/test/w3c/xmlschema/2001/date.test.json b/test/w3c/xmlschema/2001/date.test.json index bb8e0897..60ae549f 100644 --- a/test/w3c/xmlschema/2001/date.test.json +++ b/test/w3c/xmlschema/2001/date.test.json @@ -115,6 +115,11 @@ "description": "Invalid - number type", "data": 20230515, "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "2002-10-10+15:00" } ] } diff --git a/test/w3c/xmlschema/2001/g-day.test.json b/test/w3c/xmlschema/2001/g-day.test.json index fe197ce5..44ead5ed 100644 --- a/test/w3c/xmlschema/2001/g-day.test.json +++ b/test/w3c/xmlschema/2001/g-day.test.json @@ -70,6 +70,11 @@ "description": "Invalid - empty string", "data": "", "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "---15+23:59" } ] } diff --git a/test/w3c/xmlschema/2001/g-month-day.test.json b/test/w3c/xmlschema/2001/g-month-day.test.json index 8cece166..2f115fb2 100644 --- a/test/w3c/xmlschema/2001/g-month-day.test.json +++ b/test/w3c/xmlschema/2001/g-month-day.test.json @@ -90,6 +90,11 @@ "description": "Invalid - number type", "data": 515, "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "--09-14+23:00" } ] } diff --git a/test/w3c/xmlschema/2001/g-month.test.json b/test/w3c/xmlschema/2001/g-month.test.json index 5ff6d354..5ec4b615 100644 --- a/test/w3c/xmlschema/2001/g-month.test.json +++ b/test/w3c/xmlschema/2001/g-month.test.json @@ -75,6 +75,11 @@ "description": "Invalid - empty string", "data": "", "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "--11+15:00" } ] } diff --git a/test/w3c/xmlschema/2001/g-year-month.test.json b/test/w3c/xmlschema/2001/g-year-month.test.json index f31304fb..8acf3e01 100644 --- a/test/w3c/xmlschema/2001/g-year-month.test.json +++ b/test/w3c/xmlschema/2001/g-year-month.test.json @@ -90,6 +90,11 @@ "description": "Invalid - number type", "data": 202305, "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "1999-05+22:00" } ] } diff --git a/test/w3c/xmlschema/2001/g-year.test.json b/test/w3c/xmlschema/2001/g-year.test.json index 18b19438..9539bde0 100644 --- a/test/w3c/xmlschema/2001/g-year.test.json +++ b/test/w3c/xmlschema/2001/g-year.test.json @@ -80,6 +80,11 @@ "description": "Invalid - empty string", "data": "", "valid": false + }, + { + "description": "Invalid - timezone offset beyond the fourteen hour cap", + "valid": false, + "data": "1999+23:59" } ] } diff --git a/test/w3c/xmlschema/2001/name.test.json b/test/w3c/xmlschema/2001/name.test.json index a8727996..dabf88da 100644 --- a/test/w3c/xmlschema/2001/name.test.json +++ b/test/w3c/xmlschema/2001/name.test.json @@ -637,6 +637,11 @@ "description": "Valid - 4-byte with underscore", "data": "𐐀_id", "valid": true + }, + { + "description": "Invalid - extender character cannot start a name", + "valid": false, + "data": "ːname" } ] } diff --git a/test/w3c/xmlschema/2001/string.test.json b/test/w3c/xmlschema/2001/string.test.json index da669480..bd4761e1 100644 --- a/test/w3c/xmlschema/2001/string.test.json +++ b/test/w3c/xmlschema/2001/string.test.json @@ -50,6 +50,21 @@ "description": "Invalid - array type", "data": [], "valid": false + }, + { + "description": "Invalid - control character outside the XML Char production", + "valid": false, + "data": "a\u0007b" + }, + { + "description": "Invalid - the noncharacter U+FFFE", + "valid": false, + "data": "a￾b" + }, + { + "description": "Valid - tab, newline, and carriage return are XML Chars", + "valid": true, + "data": "a\t\n\rb" } ] }