| 131 | |
| 132 | === Change Set O3: Allow unicode values === |
| 133 | Many values defined by this API appear to be limited to ASCII characters - both arguments and returns. We would like to support internationalization. Some values in this API (e.g. those defined as URLs) implicitly support unicode. Currently, a well behaved aggregate should be able to handle unicode values in at least some arguments. Similarly, a well behaved client should be able to handle unicode returns. |
| 134 | |
| 135 | This change would clarify the support for internationalization in this API, and allow aggregates to specify unicode support. This change would specify: |
| 136 | |
| 137 | Aggregates are encouraged to support non-ASCII letters as input. Clients are encouraged to support non-ASCII returns from aggregates. However, this change set does not require that either aggregates or clients support non-ASCII strings, and aggregates should not require clients to accept non-ASCII results where the API does not explicitly require it. |
| 138 | |
| 139 | This change would allow an aggregate to explicitly specify that arguments and returns should be treated as unicode. By default, aggregates are expected to use the ASCII only regular expressions that the rest of this API specification uses, and to limit returns to ASCII characters where possible. This change would add an optional return from `GetVersion` that allows an aggregate to specify that all returns must be handled as unicode. Specifically, this change adds `geni_unicode_compliant` to the return from `GetVersion`. |
| 140 | - This field is optional. |
| 141 | - Default is `false`. All strings specified in this API are to be treated as ASCII unless otherwise specified, (e.g. the format explicitly references a standard that supports unicode). This includes both arguments and returns. |
| 142 | - When `true`, all strings specified in this API are to be treated as unicode. In particular, regular expressions that limit to ASCII characters shall be interpreted to include the unicode equivalents. |