Kind of in right vein, but a bit off.
An attribute of syntax X can only be a subtype of an attribute of syntax
Y if Y is a more generic syntax. In particular, all abstract values
representable in X must be representable in Y.
While both printable string and directory string syntaxes are more generic
than country string, directory string is not more generic than printable
string. This is because printable string can represent zero length
character strings and directory string cannot.
So, what needed, for each syntax, is a list of more generic syntaxes.