Yes, the intent was to prohibit namespaces starting with a dot. <empty> | (<name>((<dot><name>)*)) was the intended grammar.
Doug On Thu, May 28, 2020 at 1:50 AM Ryan Skraba <[email protected]> wrote: > Hello! Hmmm... reading through the spec (again), there is a small > ambiguous point! Good catch! > > Specifically, it specifically says that ".a" is not a valid namespace > attribute: > > "A namespace is a dot-separated sequence of such [non-empty] names. > The empty string may also be used as a namespace ..." > > But it could be a valid full name: made from a valid namespace (the > empty string) and a valid name. > > I suspect that the original intention was that it should not be a > valid fullname, with the consequence that all valid fullnames are > valid Java class names. > > If it *were* a valid fullname, however, it would be useful to > distinguish between specifying the default namespace versus inheriting > a namespace from a parent record! As far as I can tell, this > behaviour isn't implemented anywhere or specified in the spec either. > > What do you think? The spec could be clarified either way. > > Ryan > > > On Wed, May 27, 2020 at 7:20 PM Micah Kornfield <[email protected]> > wrote: > > > > Hi Avro Dev, > > I think there is a little bit of ambiguity in the requirements for the > > namespace component of a full name in the specification [1]. In > particular > > it isn't clear whether namespaces like: > > ".namespace" should be considered valid (i.e. a "null" namespace > followed a > > valid name). > > > > It appears the the C++ implementation does not think this is valid [2] > but > > I couldn't find a corresponding check in the Java code base (I'm still > > familiarizing myself with both). > > > > Should ".namespace" be considered valid? > > > > Thanks, > > Micah > > > > [1] https://avro.apache.org/docs/current/spec.html > > [2] > https://github.com/apache/avro/blob/master/lang/c%2B%2B/impl/Node.cc#L72 >
