[Json] Re: A fork in the road [was: Re: Please comment on draft-ietf-jsonschema-json-schema-01]

John Carlson <yottzumm@gmail.com> Sun, 28 June 2026 19:44 UTC

Return-Path: <yottzumm@gmail.com>
X-Original-To: json@mail2.ietf.org
Delivered-To: json@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 22AC71095A442 for <json@mail2.ietf.org>; Sun, 28 Jun 2026 12:44:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1782675898; bh=v6HjdO6uSsDe1NG0jDWa0UBLmOt7cXdFpMevKloLJr8=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=TjE8SupT0IJogb/5GUtETnGSgydtuXiZvHM0axzHkCryyTU/Nq5CAVc+ERkvLKEup +2Pk8U+2eKmPAWAqyZrimNUm13VwFTPJFR7P42G4r6p8+SfRVFtq44JHEhOWOR7CBC yMKEHezT1TCWij0r+PuTxfhh3vaT6b8mRmSY1bHo=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v-yXx2HbeLeZ for <json@mail2.ietf.org>; Sun, 28 Jun 2026 12:44:57 -0700 (PDT)
Received: from mail-dy1-x1329.google.com (mail-dy1-x1329.google.com [IPv6:2607:f8b0:4864:20::1329]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id BA1781095A43B for <json@ietf.org>; Sun, 28 Jun 2026 12:44:57 -0700 (PDT)
Received: by mail-dy1-x1329.google.com with SMTP id 5a478bee46e88-30df5854e1eso544039eec.0 for <json@ietf.org>; Sun, 28 Jun 2026 12:44:57 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1782675891; cv=none; d=google.com; s=arc-20260327; b=dqGsZ7r6jHFI49Bux4rR8twxcENWmXC6s9PSmg9xvR7cWiDxk5h4oyehV0wOW8WO8q tj6omOFvlqeM9hCROreSmBxKKUzGzD+vJoOu48/1oiX5jtb78hbXbeOBVvGJGPnB/U0O 9+tHDEetYeOqx5wOoFsncmsusSqHGJaW4ZmGqIXuO9fXqMs3O1NXqVrYo0TSWO8lEJaW TR/wFBF6ozU6T78UIB0MxVuNYBHE2OMA1wBMSSqA/ZD0Dz6QovmFev34VxZ0sn/IWN5I /V6hoYTEz/zXBLSZckbR1g5pmDL5i63Q4pkwID5I1xbNwn2+GNAJfC6rX/tb0EUcIp7b Rh0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=4UDhu4pvq3umOdDH2kJbEgqnNrTulLTGIEgN2UBqUDk=; fh=lJvLyUGBZAS2AeSqcyMSxQewoK1L/9NRKWeuY3uC+8A=; b=U5Z8mzP/Ft5lWF15YRI29lP4K7UVrru1t7L36xCYQPXvagtdLxixWH8/zfcPUn/Vrx lAJ4x7p3A2jS9qNRF0BFphc6jCmwvazhK5ct46ZPF6mxhQaJHQgBv0dWyJ9NRBe34mm8 T/XzzucpjJDqisLjVudY3dIZNzqPRX+SQIbaZW8bmFg8VNBcCJNAo0cdi/o1+C204fmx sFnslUAWQD+sVjDZBdemA5PBYiDqy8SmS97o35RrvdaIgMfepjxFBf9CrouFraottZyr sp6Fqah9Lmn/82P/UpdX7ooLeYKZRN3Ky3oggl100RpJ2cU/heT8FTP8+gshf5DxZRxM vnAA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782675891; x=1783280691; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4UDhu4pvq3umOdDH2kJbEgqnNrTulLTGIEgN2UBqUDk=; b=JXfjrefI5juD+3m+EtELGaZoFKqPgoGWIzmIqkt2QHz7zXgH6LXSgZGEjRscWEoiKD MP6sfOJiJlKdQge4SGBdgz4Ov1syRw+VL37d6B3IBOaFZMy0DlSW0AWI5rCSVbzPbmqB 91Upancy+toReR3C6UE1p8nyrUWtazImEuoIQlUfB4bNn5Rq7661D/53h9QmICpmDQ5w bHgFvxW8XkBYLSYW4R9mpbC+XpeYJfEBHTs73Ey/CcybgChfRi2WQb0t6yuQxNhitLql q2khhPn1k9vjbQKMvTGLl1oUtoWo3qPPq3acrqhbfPtCPMh0tcWZdMqqFneOsboVlgYs ysnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782675891; x=1783280691; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4UDhu4pvq3umOdDH2kJbEgqnNrTulLTGIEgN2UBqUDk=; b=GBxBygIjndDsnLAvWhbAveuueTszixgCtouRJzZdr9BrbEdHXU5huNVJXLBRlPcC/a i1/FuUcSxOx+JZpaBr1gNAb0KOD66sUJ83Zc1kLf+Iyl57KnqCI1zxKBGBGwzFFPWssU 43ppdkUVWkC7hFIl1aoP1mwpZuIrnb+AA63Vh+sCgQJyaUJDB2lowOeIntHzZTb4YdWq 4+xKJ81ehLMk1UB0Bpcc1dhJbWZyNtM91RD/MsTYXf92MujbYkUBVng9sq+zn2OWr1sq Od6O77NDVifY7Msp6wUBBMTNR/ej9unboBl66Ks5Qvz3zsrNVq+jMfylScTNk1Qd6PXC 7AaA==
X-Forwarded-Encrypted: i=1; AHgh+Rq6Ridx4QB1fb3Bl6OF1837li6xCekv6YXWx2f3LIdLSmrEsHns1skd3Z25KJQc/w0iONmC@ietf.org
X-Gm-Message-State: AOJu0YzC34EaoxbHYyMHApLu3qz/FYocuoSkEPleZV1RF35oKqHlc7o0 /ZPsTQYSusLdFT9fokuRZwkmqMmcTjOi1EyHbDajt9Rbq+FaRZY7HYpikHTITnWvHNruE0sMqUk UDrdoNkF2CZJW8pKppG1maYZFY2MIxCqIU8Eg
X-Gm-Gg: AfdE7ckEWMqJf/nZ10TZ9QI6fJ9FFm8M9AzFRFu1D5Fc90sdyjXBdvMar7wshJ6XnB7 QWfPH9thPlZHxOzb2Ap7TZnAkGFBtPyKyYusAvTvcyz6oYzjXGJk6q0NJvUTXowfvdM3dr4X+HS NV0QKgPC0Tc9/lF4jWqDy/qF9xBfmRn7XS2RbT7yZFiSGqtuNHPgrz7iRwPA5HokbRIlpcD0Nv5 G2kntZtY3RWNUxITUCrzfoeguVo60R/4uofvi7sfzhvyXICxnaBsl1f/s1GMOISs+YleAAyTbmF zk+E8ihO0uHRyCHp+Dm7vYWw3sV3MAAxUaZ9c+e8+r1pAIlybBrb1VByo/5r2WEEixSSvdbe5N9 Bh8blgbjrtg==
X-Received: by 2002:a05:693c:41cd:10b0:30c:ad10:5807 with SMTP id 5a478bee46e88-30cad1063d3mr4561149eec.9.1782675891395; Sun, 28 Jun 2026 12:44:51 -0700 (PDT)
MIME-Version: 1.0
References: <CAE5tNmrOfv73=NSvk4ss-WYf7ZNPts7qFvt3irEb0f1x2tnsNw@mail.gmail.com> <CAAQiQRc2Njux3uc+xtWHMQuA0s5eF-j2HfQMJ_XszYBDPfM0Sw@mail.gmail.com> <CAE5tNmrV_1Y=M+2iM0_LPhrmd98_w7FWe+xPACnoX6w5TQW9Ww@mail.gmail.com> <CAGC3UE=KFkBu_FR2qvERCYcr8u1wFmardw22rZVnajMrdy-Nfw@mail.gmail.com> <akFC1PPME1Dwc3bo@ubby>
In-Reply-To: <akFC1PPME1Dwc3bo@ubby>
From: John Carlson <yottzumm@gmail.com>
Date: Sun, 28 Jun 2026 14:44:40 -0500
X-Gm-Features: AVVi8CekG64MeT3RYV5KE28w3R4C7l6S3EQwTC2tuq6Lgdajv_mJ3D_GozyS68k
Message-ID: <CAGC3UEkmfMCsS5iCfNWzHifzcUMm0yWG7sfZ4Hntk0bcoMTL6Q@mail.gmail.com>
To: Nico Williams <nico@cryptonector.com>
Content-Type: multipart/alternative; boundary="000000000000419feb0655559308"
Message-ID-Hash: ZBUBV74EVOUVTJPLCV7BUNF64D7R2TSL
X-Message-ID-Hash: ZBUBV74EVOUVTJPLCV7BUNF64D7R2TSL
X-MailFrom: yottzumm@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-json.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: David Kemp <dk190a@gmail.com>, "json@ietf.org" <json@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Json] Re: A fork in the road [was: Re: Please comment on draft-ietf-jsonschema-json-schema-01]
List-Id: "JavaScript Object Notation (JSON) WG mailing list" <json.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/6ExOWBxfOl0IAlLS-APt9ynYAzk>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Owner: <mailto:json-owner@ietf.org>
List-Post: <mailto:json@ietf.org>
List-Subscribe: <mailto:json-join@ietf.org>
List-Unsubscribe: <mailto:json-leave@ietf.org>

I thought of that, and modern day parsers like JavaScript fetch() probably
move towards an integrated parse/validate structure.  But I don’t think I
can send schema to fetch().

So if you want to show me a JSON schema library that integrates parse and
validate, great, let’s see it.  I’m not talking about a layer on top of
parse and validate, I’m talking about validating while parsing.

Nothing is precluded, I’m just talking standard practice.

I am merely separating “Value” into 3 things, parsed, valid, and invalid
value.   Whereas the original definition of “Value” was valid value.  I am
also considering unparsed value (lexeme?).
Once a value goes through semantic analysis, what is it called?  Or does
semantic analysis just turn valid values invalid?  I am merely referring to
schema validation, not semantic validation, which may deal with more than
one valid value.  I realize that schema validation may have semantic
aspects.  Ultimately, semantics is externalized through RDF, OWL, etc.  I
realize there’s probably JSON versions of these.

And yes, I realize this can probably all be done in one pass.  Good luck
with that.

John

On Sun, Jun 28, 2026 at 10:50 AM Nico Williams <nico@cryptonector.com>
wrote:

> On Sat, Jun 27, 2026 at 04:15:07PM -0500, John Carlson wrote:
> > As I tried to explain, parsing to derive values is separate from
> validating
> > those values.  Validated values are valid values.  There are also invalid
> > values.  Values that are neither valid nor invalid exist after parsing,
> but
> > not after validating.
>
> If one parses into generic HashMaps and ArrayLists or whatever, then
> yes, one can have values "that are neither valid nor invalid" (as well
> as just plainly invalid) "after parsing".
>
> But the schema should not (must not! IMO) preclude validating while
> parsing to enable parsing into specific (optimized; not optimized) data
> structures where one cannot end up having such "neither valid nor
> invalid" values.
>
> Nico
> --
>