- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Sat, 23 Apr 2022 15:32:38 +0100
- To: ixml <public-ixml@w3.org>
- Message-ID: <m2h76jame7.fsf@modgifu.fritz.box>
Hi folks,
I was hoping we’d get closure on the consensus proposals before the
weekend, but that didn’t happen. I think there is support for
* Changing ~ to !
* Using = and | exclusively
* A version declaration
* Using + for insertions
No objections have been made, and each proposal has received at least a
few nods of support.
I wondered what that might look like, so I wrote up a grammar for it. It
looks a bit different on the surface, because the delimiters have
changed, but is otherwise very similar.
I was pleased that it was easy to make the prolog entirely optional. If
you don’t specify a version declaration, the XML serialization of an
ixml grammar is unchanged.
For fun, I also extended it to include the namespaces proposal. Again,
the prolog is entirely optional. If you don’t declare a version or any
namespaces, the XML serialization of a grammar is unchanged from before.
If you don’t want or care about namespaces, you can just completely
ignore them.
Namespace support only adds a few new nonterminals. I made some
aesthetic choices that we could quibble over. A grammar with a version
and namespaces under my example grammar looks like this:
ixml version "1.0" .
default namespace = "http://docbook.org/ns/docbook" .
namespace mml = "http://www.w3.org/1998/Math/MathML" .
mml:foo = 'foo' .
and serializes like this:
<ixml>
<prolog>
<version>1.0</version>
<namespace uri="http://docbook.org/ns/docbook"/>
<namespace prefix="mml" uri="http://www.w3.org/1998/Math/MathML"/>
</prolog>
<rule name="mml:foo">
<alt>
<literal string="foo"/>
</alt>
</rule>
</ixml>
I didn’t try to make it syntactically impossible to specify more than
one default namespace. I think that’s easier handled as a semantic
constraint, like the actual prefixes used in nonterminals.
(If you want to play with the grammars with NineML, you’ll have to “back
out” the change from “~” to “!” since the NineML parser expects “~”.)
Be seeing you,
norm
--
Norm Tovey-Walsh
Saxonica
Attachments
- application/octet-stream attachment: consensus.ixml
- application/octet-stream attachment: consensus-ns.ixml
Received on Saturday, 23 April 2022 14:46:10 UTC