- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Tue, 11 Jan 2022 08:13:47 -0700
- To: Steven Pemberton <steven.pemberton@cwi.nl>
- Cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, ixml <public-ixml@w3.org>
Are you suggesting that the string {my:blue} be ambiguous because parseable both as a comment and as a pragma? Or that the definition of comment be changed so that the grammar is unambiguous? Michael > On 11,Jan2022, at 7:40 AM, Steven Pemberton <steven.pemberton@cwi.nl> wrote: > > My very strongly held position is that pragmas should be a form of comment, thus using the { } notation, and not use the character set notation [ ]. > That would already help fulfil the pragma-oblivious requirement. > > Steven > > > On Tuesday 04 January 2022 18:45:31 (+01:00), C. M. Sperberg-McQueen wrote: > > > A somewhat shorter version of the pragmas proposal Tom Hillman and I > > have developed is now in the ixml repo on the proposal-pragmas branch: > > > > https://github.com/invisibleXML/ixml/blob/proposal-pragmas/misc/pragmas-proposal.md >> > > Basic summary: syntactically a pragma is a pair of square brackets > > enclosing an optional mark, a QName or URI-qualified name, and optional > > pragma data (which may contain paired square brackets). Examples: > > > > [my:blue] > > [Q{http://example.com/ns/props}color blue] > > [their:rewrite > > comment: -"{", (cchars; comment)*, -"}". > > [ls:token] -cchars: cchar+. > > ] > > > > The use of square brackets allows all processors to recognize them and > > process or ignore them. The use of QNames allow processors to understand > > whether the pragma is one they support or not using the same logic > > familiar from the use of namespaces in other XML-related contexts. > > > > Pragmas also have an XML form, which follows naturally from the > > grammatical definition of pragmas. > > > > To allow pragmas to use prefixed names in the usual way, we propose to > > add a pragma for namespace declarations. A pragma whose QName uses the > > prefix 'ixmlns' is a namespace declaration. Examples: > > > > [ixmlns:xsd http://www.w3.org/2001/XMLSchema] > > [ixmlns:rng http://relaxng.org/ns/structure/1.0] > > > > As things stand, colons are not allowed in ixml nonterminal names, so > > namespace declarations are used only in expanding QNames in pragmas. A > > pragma-oblivious processor can thus ignore all pragmas. If we decide to > > allow colons in nonterminal names and specify that namespace bindings > > should apply to the XML output, then all processors willl need to > > understand namespace declarations. > > > > MIchael > > > > > ******************************************** C. M. Sperberg-McQueen Black Mesa Technologies LLC cmsmcq@blackmesatech.com http://www.blackmesatech.com ********************************************
Received on Tuesday, 11 January 2022 15:14:07 UTC