- From: Graydon Saunders <graydonish@fastmail.com>
- Date: Thu, 27 Aug 2026 13:07:43 -0400
- To: "Bethan Tovey-Walsh" <bytheway@linguacelta.com>
- Cc: ixml <public-ixml@w3.org>, "Steven Pemberton" <steven.pemberton@cwi.nl>
- Message-Id: <a2a73209-5f30-41d3-9ea3-a1940dae3704@app.fastmail.com>
On Wed, Aug 26, 2026, at 10:55, Bethan Tovey-Walsh wrote: > Thanks for the explanation. I still don't really get it, I confess, but I have a better idea of where you're coming from. > >> I can be sure that the author of that line didn't mean to do that. > But why should they *not* have meant to do that? What else might they have meant to do, so that using "" would make their intent unclear. In a production environment, there's the possibility of it being an outright mistake -- e.g. Ctrl-C, Ctrl-V either missed the Ctrl-V or had an empty clipboard for some reason (yes, really, this happens) -- or an unfortunate consequence of a source control merge operation (few of which are what one could call optimized for starts-with-X languages), or an unfortunate consequence of either automatic generation of or automatic adjustment of an ixml grammar. > > (I'm going to use "unclear" rather than "ambiguous", to avoid (ironically enough) any ambiguity about whether I mean formal or informal ambiguity.) > > person: -"name: ", name. > @name: ( "Alan" | "Sheila" | ""). > > This seems quite clear to me. I want to have a name attribute, although the name field in my data may be empty. If it's empty, I want <person name="" />. Otherwise, I want name="Alan" or name= "Sheila". That's clear if someone reading the ixml grammar can be certain that the empty quotation marks are intentional. I'm presuming that in a production environment that will never be initially certain; someone reading the grammar will have to ask "did they mean to do that?" > I actually find that less unclear than: > > person: -"name: ", name. > @name: ( "Alan" | "Sheila" )?. I agree that I don't like the ? notation, for similar reasons to the ones you list. > Whereas I can't really imagine what alternative meaning anyone might assign to this: > > person: -"name: ", name. > @name: "". "Did someone else on this project mean to leave those quotes empty, or should there have been something in them?" (Especially since there are work environments where the local customs are strongly against attributes without values, or that it's plausible someone stuck that in so they could do the other other without having to figure out where @name's value should come from, that was going to be the next thing.) > But I also accept that we talk about whether things are unclear, we often end up just talking about what we ourselves think is obvious. If most of us agree that a thing is "obvious", there's some chance that it will actually *be* obvious, at least to people like us (a good reason why we could do with much more linguistic and cultural diversity in this group!). When many of us disagree, that may be a sign that there's no single, clear interpretation of the thing in question. I would generally agree that there isn't a natural consensus, call it. (e.g., in XPath, () is the empty sequence. If that's the default mental reading for (), it makes a lot more sense as a symbol for "empty" than perhaps it does otherwise.) -- Graydon
Received on Thursday, 27 August 2026 17:08:19 UTC