invisibleXML / ixml

Invisible XML
GNU General Public License v3.0
51 stars 7 forks source link

Er, where are the authoritative versions of ixml.ixml and ixml.xml? #252

Open cmsmcq opened 3 months ago

cmsmcq commented 3 months ago

Several questions arise out of an unexpected failure, just now, during an attempt to create a VXML version of an ixml grammar I have been working on. (Some of them I have been able to answer while preparing this issue description, but I retain them since I don't think the answers are terribly well known.)

I'm aware, at least some of the time, that one way to get the version of the spec grammar corresponding to the 1.0 spec or the current working spec is to copy and paste it from the text of the spec. And some of the time it occurs to me to check the splash page at invisiblexml.org, where -- yes! -- there are pointers to HTML pages depicting the grammar, which in turn have buttons to download the grammar. I would prefer something that does not require me to interact quite so much with my web browser.

I'm also aware that when the files ixml.ixml and ixml.xml disappeared from the root directory of the github repo, we put copies of them into tests/reference/ with the intention of always having copies of the current normative spec (whatever we meant by that) in that location, though I'm not completely sure I remember the details of the argument that persuaded some of us that this was needed. But the ixml.ixml file in tests/reference is ... well I have no idea what version of the spec grammar it is. It's dated 2022-05-17, but without checking the date on the 1.0 spec I don't know off hand whether that means it's the 1.0 spec grammar, something later, or something earlier. (Answer: some days earlier.)

I believe it would be helpful to have something like a written policy answering the questions above -- maybe it just belongs in the FAQ. The dated/undated policy governing URIs for W3C technical reports (adapted by at least one WG in my experience for ancillary documents like our grammars) has, I think, a lot to recommend it.

ndw commented 3 months ago

Is there a URI from which the current 1.0 specification grammar of ixml can be retrieved?

Yes, https://invisiblexml.org/1.0/ixml.ixml (or .xml)

Is there a URI from which the ixml specification grammar of the current working draft can be retrieved?

Yes, https://invisiblexml.org/current/ixml.ixml (or .xml)

Are there canonical locations in the github repository where one can reliably find the current normative grammars for ixml (I mean both 1.0 and the grammar of the current spec, both in ixml and in XML notation)?

I don't necessarily expect folks to look in the repository. But, "yes".

If yes, what is our story about how people find those URIs?

We link to the normative versions from InvisibleXML.org. I don't think we've ever documented the repository locations, but you can find the grammars in the gh-pages branch of the repository in the 1.0 and current directories.

If there are not such canonical URIs and Github locations, should there be?

There are. And there should be.

Is there a reliable way to point at a version of the ixml spec grammar which is guaranteed not to change?

My understanding is that the files under /1.0/ on invisiblexml.org are immutable. (Immutable by convention and policy, not by technical limitation.)

Is there a way to find all older versions of the ixml spec grammar (for some meaning of the word "all")?

You can checkout any commit in the repo and find the then-current versions in the current folder of the gh-pages branch. We haven't established a practice of publishing dated versions, but we could.

I'm aware, at least some of the time, that one way to get the version of the spec grammar corresponding to the 1.0 spec or the current working spec is to copy and paste it from the text of the spec. And some of the time it occurs to me to check the splash page at invisiblexml.org, where -- yes! -- there are pointers to HTML pages depicting the grammar, which in turn have buttons to download the grammar. I would prefer something that does not require me to interact quite so much with my web browser.

The buttons are just links. I copied the link from that button to get the URI above.

I'm also aware that when the files ixml.ixml and ixml.xml disappeared from the root directory of the github repo, we put copies of them into tests/reference/ with the intention of always having copies of the current normative spec (whatever we meant by that) in that location, though I'm not completely sure I remember the details of the argument that persuaded some of us that this was needed. But the ixml.ixml file in tests/reference is ... well I have no idea what version of the spec grammar it is. It's dated 2022-05-17, but without checking the date on the 1.0 spec I don't know off hand whether that means it's the 1.0 spec grammar, something later, or something earlier. (Answer: some days earlier.)

Ah, Right. https://github.com/invisibleXML/ixml/issues/253

I believe it would be helpful to have something like a written policy answering the questions above -- maybe it just belongs in the FAQ. The dated/undated policy governing URIs for W3C technical reports (adapted by at least one WG in my experience for ancillary documents like our grammars) has, I think, a lot to recommend it.

Absolutely.