PCL uses an XML config file to specify a filesystem data store.
To date, we've used the OGR virtual file format. For example:
<OGRVRTDataSource>
<OGRVRTLayer name="point">
<SrcDataSource relativeToVRT="0">/home/sean/projects/ms_48/mapserver/tests/point.shp</SrcDataSource>
<SrcLayer>point</SrcLayer>
<LayerSRS>+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs</LayerSRS>
</OGRVRTLayer>
<OGRVRTLayer name="line">
<SrcDataSource relativeToVRT="0">/home/sean/projects/ms_48/mapserver/tests/line.shp</SrcDataSource>
<SrcLayer>line</SrcLayer>
<LayerSRS>EPSG:4326</LayerSRS>
</OGRVRTLayer>
<OGRVRTLayer name="polygon">
<SrcDataSource relativeToVRT="0">/home/sean/projects/ms_48/mapserver/tests/polygon.shp</SrcDataSource>
<SrcLayer>polygon</SrcLayer>
<LayerSRS>EPSG:4326</LayerSRS>
</OGRVRTLayer>
<OGRVRTLayer name="world_borders">
<SrcDataSource relativeToVRT="0">/var/wms_data/world/world_borders.shp</SrcDataSource>
<SrcLayer>world_borders</SrcLayer>
<LayerSRS>EPSG:4269</LayerSRS>
</OGRVRTLayer>
</OGRVRTDataSource>
Better would be
<featurestore
xmlns="http://namespaces.gispython.org/config">
<metadata
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>
Example Feature Store
</dc:title>
<dc:description>
This store exposes shapefiles in /data/world.
</dc:description>
</metadata>
<featuretype
name="world_borders"
srs="EPSG:4326">
<file path="/data/world/world_borders.shp"/>
<metadata
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>
World Borders
</dc:title>
<dc:description>
World borders dataset derived from VMAP0.
</dc:description>
</metadata>
</featuretype>
</featurestore>
advantages of this over OVF:
- namespaces.
- simpler element names.
- fewer elements, more attributes.
- follows data model emerging from GeoTools?.
