We are generating some Avro schemas where some type names had a leading dot, to indicate the null namespace. For example:

```
{
    "type": "record",
    "name": ".envelope",
    "fields": [ ... ]
}
```

This seems fine according to my reading of the 1.9.2 spec, but explicitly disallowed by this language in the 1.10.1 spec: "The null namespace may not be used in a dot-separated sequence of names."

So, my interpretation of 1.10.1 is that we have to write something like:

```
{
    "type": "record",
    "name": "envelope",
    "namespace": "",
    "fields": [ ... ]
}
```

However, this is explicitly _disallowed_ by the definition of Parsing Canonical Form, which requires `namespace` attributes to be stripped: "[FULLNAMES] Replace short names with fullnames, using applicable namespaces to do so. Then eliminate namespace attributes, which are now redundant."

Thus it seems now impossible to convert schemas into Parsing Canonical Form.

How can we get around this apparent inconsistency?

Reply via email to