Re: pragmas proposal - please read and comment

Some other questions also arise …

- what would the XML form of a pragma be, on the proposal that they use {} and not []?

- where would pragmas be allowed to appear?

> On 11,Jan2022, at 8:13 AM, C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> wrote:
> 
> 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
> ********************************************
> 

********************************************
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
cmsmcq@blackmesatech.com
http://www.blackmesatech.com
********************************************

Received on Tuesday, 11 January 2022 15:31:15 UTC