Re: [rfc-i] What the text version is used for (was Re: The <tt> train wreck)

tom petch <daedulus@btconnect.com> Tue, 24 August 2021 08:49 UTC

Return-Path: <rfc-interest-bounces@rfc-editor.org>
X-Original-To: ietfarch-rfc-interest-archive@ietfa.amsl.com
Delivered-To: ietfarch-rfc-interest-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 386B03A16E5; Tue, 24 Aug 2021 01:49:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, MAILING_LIST_MULTI=-1, MSGID_FROM_MTA_HEADER=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=btconnect.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4vZ0Ylyhvct5; Tue, 24 Aug 2021 01:49:02 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 343943A167D; Tue, 24 Aug 2021 01:48:59 -0700 (PDT)
Received: from rfcpa.amsl.com (localhost [IPv6:::1]) by rfc-editor.org (Postfix) with ESMTP id 88D7AF40787; Tue, 24 Aug 2021 01:48:47 -0700 (PDT)
X-Original-To: rfc-interest@rfc-editor.org
Delivered-To: rfc-interest@rfc-editor.org
Received: from localhost (localhost [127.0.0.1]) by rfc-editor.org (Postfix) with ESMTP id 339FDF40787 for <rfc-interest@rfc-editor.org>; Tue, 24 Aug 2021 01:48:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at rfc-editor.org
Authentication-Results: rfcpa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
Received: from rfc-editor.org ([127.0.0.1]) by localhost (rfcpa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9mvohmWcD1St for <rfc-interest@rfc-editor.org>; Tue, 24 Aug 2021 01:48:41 -0700 (PDT)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30135.outbound.protection.outlook.com [40.107.3.135]) by rfc-editor.org (Postfix) with ESMTPS id F2BE8F40782 for <rfc-interest@rfc-editor.org>; Tue, 24 Aug 2021 01:48:40 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eJ6xHU6/+k9UssrEWH6eBMO5l6rCg6TMxd9VolMHwnBR6O9zACJTqqooprLxyty66IX7ZKc8v9OZijhp+HVSxtUE4xxZhnRAR6NdReMi59wF6EFuLBYLPbKok56S3FT6uSShgEQtWD3129X6QMHkMe/v2S/pNgqauoRMdsPq5wYgzr+3I0BZ/SFWRAPyll2x6BI1StgmLzlXFUEv2R3ZZxguqKHmbgEeqtuAjd7DkMPvWleuvOFCPxr6Tst8rclZ16D2QUwJWU6UOMYJ/RKzs8kgucCtPHgV81llbl2omXrnkoKNOIcwntHdbnv3v08Cy+/oScmS6GaR425lSRamew==
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-SenderADCheck; bh=9eCGzxIetXKsVgXIzYiypBDrXz3tLlD70excv4VTlNA=; b=CQ+nZBGmTaOTFSmfh5YJJ7xwDtwHPsmhaQVqb+rZFn76Dieyxunn7KRygvdQSNYJoctLiMDveHNQehUQZ36Jh4Rgoc3Y4HywJXtdzzuMqAaoyp4+4HbaOBo3FDtr/klVqdG4wV2/Z/bzkRB53NsLf1T6UDYctgfmsb59l17ToCvt/3qMqxLBsjRrGoQRoo/ZQIZQ9uHTBekmTDDjJ1/njUFon/bS4/jkBZVPrf2tMp50oj9F5JkWSl/XZEKakRfIUdh+bznWP/wnkyFAyFsLmj64LGe85EPJ+L5iQ8jGJu/I49rmuLjhM3pRKhSVhqBWADxmLI4oV+l/TiY3sfAelA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9eCGzxIetXKsVgXIzYiypBDrXz3tLlD70excv4VTlNA=; b=tkyfv65VIR97xloGNQQW6REKvaixgQ0EQQ4GlINzQEBq32hLPM9s37iGehXL3reSq6cg5/nAyHYa+hULGiWRqDES6u+BG2+tP9yKAXdgGK40LYAyiUioqCSFe7M4nWq2oN/dPlhhPxLWdTB97RNVz4P/iip7LNt+ZEQHKBOGYC4=
Authentication-Results: rfc-editor.org; dkim=none (message not signed) header.d=none;rfc-editor.org; dmarc=none action=none header.from=btconnect.com;
Received: from VI1PR07MB6704.eurprd07.prod.outlook.com (2603:10a6:800:18b::8) by VI1PR07MB6447.eurprd07.prod.outlook.com (2603:10a6:800:134::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.14; Tue, 24 Aug 2021 08:48:41 +0000
Received: from VI1PR07MB6704.eurprd07.prod.outlook.com ([fe80::6daa:8edb:5aa8:1d7f]) by VI1PR07MB6704.eurprd07.prod.outlook.com ([fe80::6daa:8edb:5aa8:1d7f%3]) with mapi id 15.20.4457.017; Tue, 24 Aug 2021 08:48:41 +0000
To: Carsten Bormann <cabo@tzi.org>
References: <04BFB6A7-7601-409D-8101-237242F6F38A@tzi.org> <a001c6eb-330c-4029-a7ce-2809a9b5352a@www.fastmail.com> <3ef0e4f8-7cfe-0e76-92d4-bf9ae008b51d@gmx.de> <9BD702EA-7440-4FDD-B650-051B4C7E208E@tzi.org> <d434f021-c37f-ddf7-db5e-e670accd04ec@gmx.de> <89757a1a-edf1-4ddd-10b7-524f62335bfd@nostrum.com> <e27ca448-4e63-96e3-551d-03857f4f9865@gmail.com> <6122A7F5.2010307@btconnect.com> <a08944d8-b535-ead0-48ec-8250283e94c9@gmail.com> <61238BDA.20406@btconnect.com> <ee6cf3ef-efcf-0b8d-54f9-b443717d5d2a@gmx.de> <6123C61C.5040507@btconnect.com> <2B7BDFF4-795A-48A8-B5BA-D477622B1F27@tzi.org> <6123CDF5.3010205@btconnect.com> <AD4ACB63-19C8-4150-854D-B902EDD51878@tzi.org>
From: tom petch <daedulus@btconnect.com>
Message-ID: <6124B266.2050809@btconnect.com>
Date: Tue, 24 Aug 2021 09:48:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
In-Reply-To: <AD4ACB63-19C8-4150-854D-B902EDD51878@tzi.org>
X-ClientProxiedBy: LO2P265CA0361.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::13) To VI1PR07MB6704.eurprd07.prod.outlook.com (2603:10a6:800:18b::8)
MIME-Version: 1.0
Received: from [192.168.1.65] (86.146.5.32) by LO2P265CA0361.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4457.17 via Frontend Transport; Tue, 24 Aug 2021 08:48:41 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 7768a899-ade2-4179-3b41-08d966dbf91c
X-MS-TrafficTypeDiagnostic: VI1PR07MB6447:
X-Microsoft-Antispam-PRVS: <VI1PR07MB6447FA2CBFABA12DA4C6D642C6C59@VI1PR07MB6447.eurprd07.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: DVSnXxzMaQ0AB/MjPTztkaG3Bpl/YKyj2wSGhRec/hhnz2RdvE3+VzjQxEHrp4gqN5wc018OB4DLeZJOWRF1iHpfT//xIf2j1og5oRSWLRpLX4hIlgxnJsQhbyanqt2qm4wb1NDc+lG45cTN+hRYg4G1oaecFKT5BL4tKKI+VFRL4NirhDNTUFrbJ40XTNSpaIXg6R5FMwDwQcgcnYoy6zrV/ZxvzwnyepOjlWY9hrye/RPpYeNE+whdMjgR7xcB4GwaZMcyUv1JaslYjpXRKe3Arjo3fAg2m5mOsSNFbLJYr40uQBNskvQPu+Y3v84PJmGtYepB048mk7RxfpK/6vKm0Gt2tNGbBNdlWe1J0gQLjD3mRreyY8qwU30K10Rn0KDxmni6M/sh/qK5yaFYzWTn9AB/tUV6eh9q7h/s3vtCYV/MMcCEnP5dtPrnNyE5TcrygsriTY7xpiuwxl0y5rMTtFOTWiZSU/KtuOIPD7JbAz5AJChA0qkXL1wFEYsGr5Tl97+JMYW159WwCFsgiKNbNdOWooZsRmzMlvotVE/7Tfb/2niOkkV6EGby54ZlVJ7ddRnz0nBywtWQuQ1dA2UA23gtnxu9C2y6v6uogslS6nlr52X+Hy+CsCQ0NJBXOrmZqf6E6vapKoSBotsoUrvXHj5tjDRAKADT5IQwaF42L+zPefQGazvN5VcTz9RYvVjULjs2WckIYf+elb+piw==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR07MB6704.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(396003)(376002)(366004)(346002)(136003)(83380400001)(52116002)(53546011)(87266011)(33656002)(66476007)(8676002)(16576012)(6486002)(4326008)(2616005)(6666004)(8936002)(66556008)(2906002)(186003)(66946007)(36756003)(478600001)(6916009)(38350700002)(38100700002)(316002)(5660300002)(86362001)(956004)(26005); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 4VBpMkwebb0DyzmYO6U2ZONIITo4NzJLGZ1iZm/vgjsCkyeZYdv10Z/3R/kDel1AMvLETsRf0DsSc/+gbAj+d+rOaZuplwAefukPk8yrJ4qtHVWVsGecCF6nOSMgeRMwIiiXHs0RHAZ3eqSANEGajav4XGHEoCTw+rzgSIDzsxPrvtd8Gj63Q+kp3NXXDXcvrDYZx0vuxAlTCD09VB96CZx+PT2bj78xwaAq00UR3mkjLbgGS/XjIGyPVouO22f1DFQeK+vUgdsAENvYgBCvdxNczLK/leKb9Gca7VKW5aoCcUEsXyhITOr9ZSTgxlY610mcSiu/PKJ0loFEDGVSQ3aNhP7Wu0LTSzVfGKZTCPVjpyyFApBP1hhA7AZFV03H9Y19yXEQLeJm8I1toTnswHownlxU16nqi1dRzDReLXbm3+KelukWAKRRFzwKH1+BD7IVZRbpIEc3XL98MWWdArjuXNRDSTd08NjURX0ec9Bld93vP4oWEGIfd7H6UQpYpGK0nJPM3i1z1TKG+azK0syxEMrciHTd6Smj9mxnIUIuKcPUxp5auaes+7fV/HvuRRVymAcLGRwl5q/C9uBVZvgGb6DUtFfYC9YqQW5iIJ3uYe+rCfdHXZ3Hp6ccADmNrilmb7DIXoKHim7jUea6MHl+dYc6mGKDAl7e+KX8SgrMBXYV3qslJvSdjiJdji3c53W1ZWRBxEoS5Nb+ITSXNnrjw3iPoczjUsGta+KfOYty4gPaPu2k0j4LSYVYstTT1LM3p5n/qGlMXBDwhrT5K4iFtdJX5PV7lJbqyRyBadGFYlTMpyaT3i3ygJbnepgTJsP5hyqGpRLwz6j87U8m+dut+c+5TKTxdifzp4uttyXwjQiCqdAWL5VOYgMG2BXFPX865xPuF4XYdj8FocEl6bioNq2Tos7lp1zfjB77fZ6Vz0wEAdN+SI0cmRslR7e/LsdeuPbBM6lQfxMuBJ+c9UdLAV3UVScR/hPZNY/O0AxiUEU80jGCMSegvpD7RB1ish14OsQUuDQe9uInQp+zeZo0UVrqpoyyms8LHK/czk2/e7jn+UMhdm9NLuDEQ49oGeP/SxtwsIRxHf7jxXOEhS+Q+ayV5CpQ/41vm/Eont0uLY1DsCa2q3lheHbJknJD646ShWFocPvkdfffOEIT0fhIu29DghCBvbG+dkmAPQrzJZxk5bozBkJ4gpcig3Ml0G2Tve8P1YDV6KwMTvWUI1IZlDZjpByEqSJt6WGp/+ZvtPwtKkHmdhbISaMWEVWexNKQoLzLpLmbgtESUNbl2FpILvkeWbsC/dtKsvQ6XEqodMJO7YWMfSEQ4DKIIQ/W
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7768a899-ade2-4179-3b41-08d966dbf91c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR07MB6704.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2021 08:48:41.4178 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zH5FiUBZsFbAP2C0a0ElqD9McRt9NNd+P5T8eOWSmhr+bhNLUK4D46tK3jUdLGfWSHiMAs+bN/Xq+tcC8JYfCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6447
Subject: Re: [rfc-i] What the text version is used for (was Re: The <tt> train wreck)
X-BeenThere: rfc-interest@rfc-editor.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the RFC series and RFC Editor functions." <rfc-interest.rfc-editor.org>
List-Unsubscribe: <https://www.rfc-editor.org/mailman/options/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=unsubscribe>
List-Archive: <http://www.rfc-editor.org/pipermail/rfc-interest/>
List-Post: <mailto:rfc-interest@rfc-editor.org>
List-Help: <mailto:rfc-interest-request@rfc-editor.org?subject=help>
List-Subscribe: <https://www.rfc-editor.org/mailman/listinfo/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=subscribe>
Cc: Julian Reschke <julian.reschke@gmx.de>, rfc-interest@rfc-editor.org
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: rfc-interest-bounces@rfc-editor.org
Sender: rfc-interest <rfc-interest-bounces@rfc-editor.org>

On 23/08/2021 20:38, Carsten Bormann wrote:
> On 23. Aug 2021, at 18:33, tom petch <daedulus@btconnect.com> wrote:
>>
>> On 23/08/2021 17:09, Carsten Bormann wrote:
>>> How about inserting schema tree identifiers?
>>> Much more stable.
>>
>> I do not understand.  The YANG is the schema, those 41 pages are the structure of the tree, the identifiers, their syntax and semantics.
>
> Yes, this was a bit terse.
>
> What we essentially are discussing here is a way to point into a YANG specification.
> Line numbers have been mentioned as one such way.
> We do have a fragment identifier syntax for lines in (at least a plain) text file (RFC 5147).
> But these are brittle.  Adding a line number every, say, 70 lines would also be disruptive.
>
> However, a YANG spec is a structured document.  So why not employ the structure of that document as a fragment identifier syntax?

Mmm, later last night I thought that that was what you meant.  It would 
be fine with SMI, a single root, world-wide tree with compact 
identifiers for every node (1.3.6.1. ....)

YANG is different.  It can have multiple top level nodes in every module 
while also, in a sense, having none as when the module augments 50 or 
more nodes in another module.  Thus in CCAMP and TEAS modules such as
  draft-ietf-ccamp-flexigrid-media-channel-yang-03
(an author who makes good use of comment statements)
you get
      augment "/te:te/te:tunnels/te:tunnel/"
            + "te:p2p-primary-paths/te:p2p-primary-path/"
            + "te:p2p-primary-reverse-path/"
            + "te:optimizations/te:algorithm/te:metric/"
            + "te:optimization-metric/te:explicit-route-exclude-objects/"
            + "te:route-object-exclude-object/te:type/te:label/"
            + "te:label-hop/te:te-label/te:technology" {
or
      augment "/te:te/te:tunnels/te:tunnel/"
            + "te:p2p-primary-paths/te:p2p-primary-path/"
            + "te:p2p-primary-reverse-path/"
            + "te:optimizations/te:algorithm/te:metric/"
            + "te:optimization-metric/te:explicit-route-include-objects/"
            + "te:route-object-include-object/te:type/te:label/"
            + "te:label-hop/te:te-label/te:technology" {
(spot the difference between the two) and the same augment can appear 
more than once so for uniqueness you need to know what comes next which 
may be an import from another module (as it is here); and you need to 
know the mapping of prefix (te:) to module name since it is module name 
that uniquely identifies the namespace.   Some authors think that they 
know better and invent their own prefix to refer to the module of 
another author so identifying a node in the tree can take 10 or more 
lines of text, the path, the mapping of prefix to module and so on.

And it gets worse.  You may have mastered the multi-root tree with 10 or 
more depths and inconsistent identifiers to arrive at a single node in 
the schema tree but then you need to find its definition in the 
documents. YANG allows 'subroutines', groupings which can be used 
anywhere and just as some programmers grossly overuse subroutines there 
is a growing fashion to make everything a grouping and place them at the 
start of a module, or in a separate common module, so you have to scroll 
back and forth multiple documents in order to locate the definition of 
this one leaf in the tree.

(In the module I cite there is a comment line for each augment and, like 
a page number, that provides a clear and quick locator but other authors 
have no comment lines.)

Like any language, YANG offers much scope for misuse.

Tom Petch

> Adding a full schema tree identifier in certain places (left as exercise for the reader) would provide a nice way to point into the YANG spec.
> (Of course, that identifier is also known when it is not added to the YANG spec, but with it added simple text searching would work.)
> So what I’m proposing is defining a fragment identifier syntax for YANG specs plus a convention to include these (typically as part of a pretty-printing step) to enable text-based searching.
>
> (And, as a side effect, having the full schema tree identifier handy would also help with reading through 40-page YANG specs.)
>
> Grüße, Carsten
>
> .
>
_______________________________________________
rfc-interest mailing list
rfc-interest@rfc-editor.org
https://www.rfc-editor.org/mailman/listinfo/rfc-interest