| 1 | |
| 2 | == FDO Enhanced Schema Name Support == |
| 3 | |
| 4 | === Overview === |
| 5 | |
| 6 | This document discusses various options for improving the translation of Feature Schema names between FDO and GML. |
| 7 | |
| 8 | The FDO API provides functions for translating FDO Feature Schemas to and from the !OpenGeospatial GML format. These functions are provided to satisfy 4 main use cases: |
| 9 | |
| 10 | ''Export/Import'': to provide a text based export format for FDO Feature Schemas. This export format actually covers other types of objects such as Spatial Contexts, Schema Overrides and Features. However, only Feature Schemas are pertinent to this document. |
| 11 | |
| 12 | ''Schema Exchange'': Allow exchange of schemas between FDO and external GML-based applications. |
| 13 | |
| 14 | ''WFS Provider'': used by the FDO WFS Provider to translated GML schemas, provided by the connected WFS, to FDO Schemas. |
| 15 | |
| 16 | ''Publish as WFS'': Allow FDO accessible data to be published via a WFS. This is the opposite of the previous use case. |
| 17 | |
| 18 | One of the big challenges, in translating schemas between FDO and GML, is the converting of schema names. In order to support the above use cases, these conversions must satisfy the following general requirements: |
| 19 | |
| 20 | • round trip fidelity. If the schema is translated from GML to FDO to GML, the schema name in the resulting GML schema document must be the same as in the original. Similarly, the name must not change when translated from FDO to GML to FDO.[[br]] |
| 21 | • name uniqueness must be preserved. Different GML schemas must get different FDO schema names when read into FDO. Conversely different FDO schemas must get different GML schema names when written to GML. If name uniqueness is not preserved, schemas will be unexpectedly merged on read or write. |
| 22 | |
| 23 | The structure of schema names differs greatly in either format: |
| 24 | |
| 25 | • in FDO, a schema name is a free-form name, containing any character except '.' and ':'. Names tend to be short; more detailed information is typically kept in the schema description.[[br]] |
| 26 | • in GML, the schema name must be a valid URI. Most current FDO schema names are valid URI's. However, most GML schema names tend to conform to the http scheme (see glossary), as seen in the following example. FDO Schema names would tend to not fit the http scheme. |
| 27 | |
| 28 | A typical example might be a Roads schema defined by the municipality "MyCity". The FDO schema might simply be "Roads". However, the GML schema name might look something like this: |
| 29 | |
| 30 | http://www.mycity.on.ca/departments/transportation/Roads |
| 31 | |
| 32 | where the schema name is qualified by the owning organization. This makes it difficult to perform the schema name conversion in a way that satisfies the abovementioned requirements. |
| 33 | |
| 34 | The FDO API provides a number of methods to ensure round trip fidelity and preservation of schema name uniqueness. However, these methods are cumbersome for some of the abovementioned use cases. This document looks at alternatives for making schema name translation easier when performed through the FDO API. |