Re: Alternative syntaxes for the prolog

> It would be nice for the "file" command (Macos/Linux/Unix) to be able
> to identify ixml, as well as Web servers (is there a recommended
> filename suffix and an IETF media type registration? having an
> identifying string near the start of a file helps there too).

That’s part of my argument in favor of starting ixml grammars with

  ixml version "some version" .

It gives the “file” command a “magic number” to use and gives the unfamiliar reader a hint about what to search for.

We’ve allowed “s” in between “ixml” and “version” which I think is unnecessary. Stephen might want to stick Ulysses in a comment between them, but I don’t feel like we need to allow that. I’d be happy to see the version reduced to:

  version: -"ixml", whitespce+,
           -"version", whitespace+,
           string, whitespace+, -'.', RS .

That removes comments in the version and adds a required space after the full stop that ends the version. (See https://github.com/invisibleXML/ixml/issues/199)

> It’s also useful to be able to include a pointer to licence, and a
> source URL for people to learn more / contact the author.
>
> Of course, one can always use not-reached grammar productions to embed
> such things, and there can be a convention for it. But it would be
> better to acknowledge that it's useful and support it.

Yes. I like the idea of extending the prolog so that it provides a place for standard metadata: author, date, license, URI, etc.

What I haven’t worked out is exactly what I’d propose for that. I’m reluctant to limit the metadata to just name/value pairs of atomic types. And I haven’t really thought of a nice proposal for more structured values.

And before someone says “yes, but you can just stick that stuff in a comment”, let me say: of course you can. But machine readable metadata is a good thing. 

This is largely useless to anything except human wetware:

  { 1.0; Norm Tovey-Walsh @ Saxonica, first of March, 2024 }

This might be easily parsed by a processor or a version control system or a dependency management tool, etc:

  ixml version "1.0" .
  author given-name: "Norm", surname: "Tovey-Walsh",
         affiliation: "Saxonica" .
  date 2024-03-01 .

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Friday, 8 March 2024 09:20:29 UTC