- From: C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
- Date: Tue, 11 Jan 2022 08:30:54 -0700
- To: Steven Pemberton <steven.pemberton@cwi.nl>
- Cc: "C. M. Sperberg-McQueen" <cmsmcq@blackmesatech.com>, ixml <public-ixml@w3.org>
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