- From: Norm Tovey-Walsh <norm@saxonica.com>
- Date: Fri, 08 Mar 2024 09:56:44 +0000
- To: public-ixml@w3.org
- Message-ID: <m2bk7p3uv8.fsf@saxonica.com>
> 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 . You know, that’s not bad, if I do say so myself. After ten minutes of noodling about, I have these changes to the ixml grammar: -RWS: whitespace+ . prolog: version, RWS, (metadata+ | RS). version: -"ixml", RWS, -"version", RWS, string, s, -'.' . -msep: whitespace*, -"," . metadata: name, (field++msep | RWS, chardata), whitespace*, -".", RS . field: RWS, name, whitespace*, -":", whitespace*, chardata . -chardata: -'"', -dchar+, -'"'; -"'", -schar+, -"'". which parse this input: ixml version "1.1-nineml" . author given-name: "Norman", surname: "Tovey-Walsh" . date "2023-03-08" . this = "A" . into: <ixml> <prolog> <version string='1.1-nineml'/> <metadata name='author'> <field name='given-name'>Norman</field> <field name='surname'>Tovey-Walsh</field> </metadata> <metadata name='date'>2023-03-08</metadata> </prolog> <rule name='this'> <alt> <literal string='A'/> </alt> </rule> </ixml> I don’t think that’s awful. We’ve talked about a feature to allow content to influence the names of serialized elements so we might get to <author>, <given-name>, etc. Or we could assert by fiat that prolog metadata shall be serialized that way. Be seeing you, norm P.S. The `chardata` production is unnecessary; with a few more grammar changes, I think the standard `string` production can be used. But it was simpler to add another production to keep the scope of the changes small. -- Norm Tovey-Walsh Saxonica
Received on Friday, 8 March 2024 10:01:38 UTC