- 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