Hi Gavin, On 12.11.25 11:22, Gavin Brown wrote:
Hi Maarten,On 11 Nov 2025, at 07:29, Maarten Wullink <[email protected]> wrote: Hi Gavin,Nonetheless, I still feel that the array model has the edge over the object model, in that it's aligned with the way RDAP works elsewhere (e.g. entities), and the chat during the meeting seemed to agree with that.Interesting that you mention Entities as an example, this is an area of RDAP where the possible use of JsContact may also introduce a more object oriented model vs arrays.I wasn't referred to jCard, but more that the "entities" property of RDAP objects is an array of entity objects, whose relationship to the enclosing object is defined by a property of that object. Thus, an RDAP client that (for example) wishes to obtain the sponsoring registrar of a domain must iterate over the "entities" array and inspect the "roles" property of each entity in that array.
"entity" object class is likely not a good example at all, as actually none of it's properties could have been a map instead of being an array. The named "roles" property can be assigned multiple times (more entities can be in the role "administrative" for example. Putting role in front as a dictionary key would have an embedded array of entity objects anyway, causing quite a huge duplicated payload.
On the flip side the "nameserver" object class includes ipAddresses property which is a map of "v4" and "v6" keys, so I can argue that rfc9083 actually uses maps if it is possible.
In the case we discuss in draft-ietf-regext-rdap-ttl-extension there is no expectation for "types" property values of different entries to repeat. Just the opposite - you expect the same key of RR type to be there only once, similar to the v4 and v6 case. A map can guarantee that, the current structure with array does not guarantee uniqueness of RR type entry. This has to be imposed by specification, which is weaker imho.
BTW: I just realised, that the current draft describes it wrongly. It reads "Each DNS record type MUST only appear once in each TTL object.", where "TTL objects" is one entry instance in ttl0_data. This would mean that an RRType might appear more than once, which I think should not be the intention. It should be "Each DNS record type MUST only appear once in any TTL object within ttl0_data property".
Kind Regards, Pawel
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ regext mailing list -- [email protected] To unsubscribe send an email to [email protected]
