[om] [CfD] Small Standard Change (make CD, Symbol and Variable names QNames)

Michael Kohlhase kohlhase+ at cs.cmu.edu
Tue Sep 24 18:57:07 CEST 2002


Dear all, 

I have another standard change to propose. It is a rather small one, so
hope that this is still possible so realtively late before the OM workshop
in Pisa. 

Motivation
==========

With the introduction of Namespaces into XML, XML introduced the notion of
a QNAME as the basic XML names. The relevant part of the "Namespaces in
XML" Recommendations [http://www.w3.org/TR/REC-xml]

[4]  NCName  ::= (Letter | '_') (NCNameChar)*  /* An XML Name, minus the ":" */
[5]  NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender
[6]  QName  ::= (Prefix ':')? LocalPart
[7]  Prefix ::= NCName
[8]  LocalPart ::= NCName

where Letter, Digit, CombiningChar, Extender are defined in the XML
Recommendation. 

Even though this naming scheme strictly would just be appliccable to the
XML encoding, it would be nice to canonicalize the zoo of namings for
OpenMath objects. Currently the grammar on page 17 of the (pdf version of)
the OpenMath standard says that 

cdname   ---> [a-z][a-z0-9_]*
symbname ---> [A-Za-z][A-Za-z0-9_]*
varname  ---> ([A-Za-z0-9+=(),-./:?!#$%*;@[]^_`{|}])+

The definition of symbols and variables restricts names to the last two
regular expressions, but does not say anything wrt. cd names.


Since the XML encoding is probably the most important encoding of OpenMath
objects at the moment, I would propose to 

Proposal 1:
==================================================================
| standardize cdname, symbname, and varname to XML QNames.
==================================================================
| WORDING: change all the occurrences of
| the regular expressions (in chapter 3-5) to references to the XML 
| recommendation, adding a non-normative regular-expression  for convenience. 
==================================================================

A possible counter-argument to this change is that not all
OpenMath-compliant applications can handle all of the characters that are
allowed given this change. For this case I minimally propose to allow colon
':' to appear once in OM names, so that our names are restrictions of
XML QNames.

Proposal 2:
==================================================================
| Change the OpenMath Grammar to 
| cdname   ---> ([a-z][a-z0-9_]*:)?[a-z][a-z0-9_]*
| symbname ---> ([A-Za-z][A-Za-z0-9_]*:)?[A-Za-z][A-Za-z0-9_]*
| varname  ---> (([A-Za-z0-9+=(),-./?!#$%*;@[]^_`{|}])+:)?([A-Za-z0-9+=(),-./?!#$%*;@[]^_`{|}])+
==================================================================
| WORDING: change all the occurrences of
| the regular expressions (in chapter 3-5) to the ones above.
==================================================================

     Michael

--
om at openmath.org  -  general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems



More information about the Om mailing list