Re: [rfc-i] getting SVG of RFC diagrams

Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 29 November 2023 16:08 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: rfc-interest@ietfa.amsl.com
Delivered-To: rfc-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7FD2CC14F749 for <rfc-interest@ietfa.amsl.com>; Wed, 29 Nov 2023 08:08:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=alum.mit.edu
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 57Csy5RnYY3g for <rfc-interest@ietfa.amsl.com>; Wed, 29 Nov 2023 08:08:21 -0800 (PST)
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on20628.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e8c::628]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 206D7C14CF1A for <rfc-interest@rfc-editor.org>; Wed, 29 Nov 2023 08:08:01 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n6tOImS5DT55ZH4uiQEB3zcdsSse5X1IK8crYsiMMm8Wn13HWYlS7c51F7449L7Kh7bDJ72U5tdraDg+jdcHrelXG9dZqyFYsge+YoX7RuCf1jw59Z4kYbSKJN2ZLazNxoT/o2VebgMOTsA5SJXx29nRM54D8KUtGlmgus2jNtPOcu2jY5uWFHyFyYg69bO/68hjvidQ+BcBIWwikDyLOYajThq0feqEcwYy4nAzyIBjgxLoOwRl+yGwOUxzDvKRzW3nH1MC0F8Vqk+cLNXYigkHIFBhOPje0tRK9hTiYtVgLTLteEOjL1a+MqvfnxVkc1OuT88A3inxIKHSsbU/XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+z0HmOXE2aCubiAtTFxoy0my7VrJbEsfQ2m3WFo5rHQ=; b=If++58JPn5L5XDIUYIw2eudvoTuOlZxP30sjbJqfun9W8jEjWr934e0z01V4n014+Gwfvb0dr5yvFqJntSme18kLjFVToPFsm8LWzDS00ttsNjcFYMhrfjRQx0GSpMKB6WhvixJVqbivpBiX1ZtwISZ0+Ry6dw103ibK6NJGhaBwtDx+zjxuHTzxBU0gVrgSY4exqIqAuGZLqSGdTiDzzCQyI1xxJziA1a+wCvHout65EUAfjVkrba6vvcEsEE4vkpL8LS98rSajTyaPWd/8NdzA+PbvFR9gP6vlvuJnn8EpS02OllM8fLPGRmbOL3YyppVBdeXV/0e3SY1tl9ZJPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=rfc-editor.org smtp.mailfrom=alum.mit.edu; dmarc=pass (p=none sp=none pct=100) action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+z0HmOXE2aCubiAtTFxoy0my7VrJbEsfQ2m3WFo5rHQ=; b=ikhyBZM6bK/7Pu7YS+bgzePUCyGPdGqzYN/SU2dIJMfXCHH1gA0Vamu4FHj+/DHrI82ZVzwIOeeEDrf1sm+Jh2Ylt6bdBoKG6gWBKOiBGnwJZnztPYm0OdVnYPyVvkRl0Z4qRSgXasMAYKe33BXTKdLUTn7fw/e+hSR2Pxm2BiI=
Received: from DS7PR03CA0098.namprd03.prod.outlook.com (2603:10b6:5:3b7::13) by BL0PR12MB4900.namprd12.prod.outlook.com (2603:10b6:208:1c1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Wed, 29 Nov 2023 16:07:59 +0000
Received: from DS2PEPF00003442.namprd04.prod.outlook.com (2603:10b6:5:3b7:cafe::e5) by DS7PR03CA0098.outlook.office365.com (2603:10b6:5:3b7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend Transport; Wed, 29 Nov 2023 16:07:58 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu; pr=C
Received: from outgoing-alum.mit.edu (18.7.68.33) by DS2PEPF00003442.mail.protection.outlook.com (10.167.17.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 16:07:58 +0000
Received: from [192.168.1.52] (c-73-143-251-114.hsd1.ma.comcast.net [73.143.251.114]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 3ATG7seI001389 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 29 Nov 2023 11:07:55 -0500
Message-ID: <8ba84677-a113-4737-b4c1-83e761cde3e5@alum.mit.edu>
Date: Wed, 29 Nov 2023 11:07:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Carsten Bormann <cabo@tzi.org>
Cc: Paul Hoffman <paul.hoffman@vpnc.org>, rfc-interest@rfc-editor.org
References: <310371.1700735021@dyas> <7C81D316-7D04-4941-BEE5-6AE8C96F0DE1@tzi.org> <D1F8F86E-80D7-4FC7-B7B5-32648ACB5D65@tzi.org> <MN2PR11MB3757AF8CCDF388BA5CECFE1AB9B8A@MN2PR11MB3757.namprd11.prod.outlook.com> <153bde12-5773-42ce-bfdf-392e4492c06b@gmx.de> <9D66A3A2-5516-4924-8B1E-420871D862C5@tzi.org> <8373b6b5-4a0a-4abb-8880-d618154b2f81@alum.mit.edu> <1F2DBD33-1553-4BBE-8ADB-115632C8373D@tzi.org> <d9b2052b-8f23-4cbf-99b8-9d2b85892fb4@alum.mit.edu> <75157E6C-99B3-4E17-8FFD-57A1D55E0CD4@tzi.org> <b9ba0201-13c6-420c-804a-180572083f02@alum.mit.edu> <8B573C04-4BDB-47B3-80B9-A2BE87A43AAF@vpnc.org> <2f28226d-8531-4352-908b-30ca6ac18ab8@alum.mit.edu> <33824D55-144E-4ACA-BC9B-CD049CF86719@tzi.org>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
In-Reply-To: <33824D55-144E-4ACA-BC9B-CD049CF86719@tzi.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003442:EE_|BL0PR12MB4900:EE_
X-MS-Office365-Filtering-Correlation-Id: 5bf84dd3-5af5-458a-18d6-08dbf0f55b1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: W4G7WLvKF7lhAYcx53c2sMfCMg7X8rVRPYCL3PGxFo4pfMzWdzCqZbXstbtdAlDr3OYcnbf/DHgoxVr+e0NOp/zyccYxu9Zu2It7GfxwdPk/Nlm0GZtxLHCJErvLsoe4vFYIKVUFfs2YTYWKUhlBgRscA2xxzAQ536HCOIRTpqx+dJCrTtrBZ8xVVx0KCZ9UDqI63NH+8wpKw1O0jcz4dswByQ6XQ/EGwlZDLqyk79rihL24m+hgv4t4qQf3rmlgcaf23UIPSHwYKwIWA9q2tQHuOr4DgLWNVBUsw3bfyZovUQEtUmo8OI1si1PEAS2RPQFAJ1eRrd+tN8Ne5Nn4J6/duLEY4A/Eeqf1l4MHeJHF3ZgAugQH/e8N8AtBXsqHFnIKRw0BRxF/qyVdBUj7Z9hzCRe8kOHzxtF/yQjHBwYuzY65oYgfXhTI01fiaGkkv45apPcZQo0oFmiMB5+iy39wA0XIx9F8xf0Agm2d5shbH7U+4q6MSyqgP/wgZ4FxYVibo792V8Cd/9Lmq5uhqKULUcKcMaL7YyAaziYeWmbA4ocU3nWnOy9Yrmgs09fOmiI25UMg4sV2mkVouXIPN1CliGqaVk+fC7IhQy8RkFqbHmruXyfn8xBBqmFKJusXlyoj+wY0z1Htriisg032bsHTkIh0rV75MeDJIrygCQHDJq6Giz60iElvU3eRoSZyOVlE0Drnuz5uo3VYtlJ+da6gOfiqjF4xBNSYX5B3YU49RP5b2K6y13QE2AgibtNu
X-Forefront-Antispam-Report: CIP:18.7.68.33; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:outgoing-alum.mit.edu; PTR:outgoing-alum.mit.edu; CAT:NONE; SFS:(13230031)(346002)(396003)(136003)(39860400002)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(36840700001)(46966006)(82740400003)(336012)(36860700001)(40480700001)(31686004)(75432002)(83380400001)(47076005)(7596003)(356005)(41320700001)(2906002)(4001150100001)(86362001)(31696002)(5660300002)(8936002)(8676002)(4326008)(6916009)(786003)(316002)(70586007)(70206006)(478600001)(41300700001)(53546011)(26005)(956004)(2616005)(43740500002); DIR:OUT; SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 16:07:58.4903 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bf84dd3-5af5-458a-18d6-08dbf0f55b1c
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[18.7.68.33]; Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-AuthSource: DS2PEPF00003442.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4900
Archived-At: <https://mailarchive.ietf.org/arch/msg/rfc-interest/aa4W1PIpBtxw9Af3aZ_xq3obYsA>
Subject: Re: [rfc-i] getting SVG of RFC diagrams
X-BeenThere: rfc-interest@rfc-editor.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "A list for discussion of the RFC series and RFC Editor functions." <rfc-interest.rfc-editor.org>
List-Unsubscribe: <https://mailman.rfc-editor.org/mailman/options/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rfc-interest/>
List-Post: <mailto:rfc-interest@rfc-editor.org>
List-Help: <mailto:rfc-interest-request@rfc-editor.org?subject=help>
List-Subscribe: <https://mailman.rfc-editor.org/mailman/listinfo/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Nov 2023 16:08:25 -0000

Carsten,

On 11/27/23 1:04 PM, Carsten Bormann wrote:
> On 2023-11-27, at 18:21, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>
>> My interest came from working on a bunch of sip documents that define syntax using ABNF. The core defining document for sip is RFC3261. Its ABNF is large self contained except it uses the ABNF core rules. It references SDP (RFC237) but their syntax is independent. There are quite a lot of follow on documents that extend and revise RFC3261 and/or RFC2327. Many of those contain new ABNF describing their extension as an addition/revision of the ABNF in prior documents.
> 
> I have a slightly different approach here.
> 
> Generally, FDT that we find in older RFCs is not fully usable out of the box.

FDT?

> Some assembly may be required, as you mention.
> There also may be some need for fixing, completing, or bundling.
> (A typical example for the need of intervention is the use of prose <…> in ABNF.)

Yes. Some of the issues wrt ABNF in older RFCs:

- the oldest have no xml at all. The txt was generated using assorted 
tools. So the ABNF needs to be extracted from the txt.

- some were generated from v1 xml, but that doesn't exist for the final 
RFC, so again ABNF must be extracted from the txt version

- the ABNF was often interspersed with free form text commentary. While 
automation can do a "decent" job of extracting abnf it generally 
requires some manual tweaking to get it exactly right.

- there is no formal notation for indicating the dependency on abnf from 
another document. This is typically indicated via verbiage in the doc 
text or in abnf comments. Eventually I took to using a form like:

	token = <defined in RFC3261>

My thinking is that going forward we can provide for automatic 
extraction from newer authoritative xml sources, using a consistent URL 
convention for referencing them. Then for important older documents the 
pieces can be manually extracted, stored by the datatracker, and 
accessed using the same URL conventions.

This doesn't solve the problem of how to formally reference stuff from 
other documents. (Must this be handled separately for each source 
format, or can it be handled consistently as a preprocessor across 
source formats?)

> So, for CDDL, I started writing a draft motivated by my own use, draft-bormann-cbor-rfc-cddl-models.
> This picks up a few pieces of CDDL from RFCs and makes it available in a more palatable form.
> Obviously, this needs more work, but it already helps as it is.

I'm not sure what your goal is here? If I was implementing RFC8366 
should I somehow know that I can get a definition of voucher-artifact 
from draft-bormann-cbor-rfc-cddl-models?

And would a revision of this document be published every time a new RFC 
is published containing CDDL?

This doesn't seem to me to work at scale.

	Thanks,
	Paul

> Clearly a community effort, but one that could be made more useful without a lot of process needed.
> 
> YANG has a much stronger culture of checking the FDT models before publication.  (The recently pointed out XPath problems notwithstanding.)
> 
> BTW, some interesting data:
> 13 post-8650 RFCs have SVG, 108 active I-Ds.
> SVG is clearly on an upwards trend.
> 69 post-8650 RFCs have ABNF, 43 active I-Ds that we have the XML for.
> ABNF appears to be well-established and in active development.
> 29 post-8650 RFCs have CDDL, 55 active I-Ds that we have the XML for.
> CDDL also is seeing an upwards trend.
> 58 post-8650 RFCs have YANG, 37 active I-Ds that we have the XML for.
> YANG also is well-established.
> 
> (Of course, this quick check only was counting properly identified ABNF or CDDL.  The post-8650 RFCs span four years of activity now, the active I-Ds 0.5 years, but of course many of these have earlier revisions and do replace even older drafts.)
> 
> Grüße, Carsten
>