FDO .NET API Reference Feature Data Objects

mgXmlSchemaMapping.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma  once
00020 
00021 
00022 #include "FDO\Commands\Schema\mgPhysicalSchemaMapping.h"
00023 
00024 class FdoXmlSchemaMapping;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO_XML
00027 public __gc class XmlElementMappingCollection;
00028 public __gc class XmlClassMappingCollection;
00029 
00030 /// \ingroup (OSGeoFDOXml)
00031 /// \brief
00032 /// XmlSchemaMapping specifies overrides for translating a feature schema between 
00033 /// FDO and GML.
00034 public __gc class XmlSchemaMapping : public NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping
00035 {
00036 public:
00037     /// \brief
00038     /// Gets the provider name.
00039     /// 
00040     /// \return
00041     /// Returns "OSGeo.GML.1.0". Note: this is the name given to this
00042     /// particular type of Schema Override set and is not the name of an actual FDO provider.
00043     /// 
00044     ///  
00045     System::String* GetProvider();
00046 
00047     /// \brief
00048     /// Sets the target namespace URI for the GML version of this schema.
00049     /// When the Feature Schema for these overrides is written to GML, its targetNamespace
00050     /// is set to this value.
00051     /// 
00052     /// \param package 
00053     /// Input the target namespace.
00054     /// 
00055     __property System::Void set_TargetNamespace(System::String* package);
00056 
00057     /// \brief
00058     /// Gets the target namespace URI for the GML version of this schema.
00059     /// 
00060     /// \return
00061     /// Returns the target namespace.
00062     /// 
00063     __property System::String* get_TargetNamespace();
00064 
00065     /// \brief
00066     /// Gets the mappings between GML global elements and their types as Fdo Classes. These
00067     /// mappings are used in two circumstances:
00068     /// <ul>
00069     /// <li> when features are read from a GML Document, these mappings determine the Feature
00070     /// class of each feature, based on its element name. If the element name is not 
00071     /// in these mappings then the class name defaults to the element name.
00072     /// <li> when the Feature Schema for these overrides is written to GML, a global element
00073     /// is created from each item in element mappings collection. 
00074     /// </ul>
00075     /// 
00076     /// \return
00077     /// Returns XmlElementMappingCollection
00078     /// 
00079     NAMESPACE_OSGEO_FDO_XML::XmlElementMappingCollection* GetElementMappings();
00080 
00081     /// \brief
00082     /// Gets the mappings for FDO Classes.
00083     /// 
00084     /// \return
00085     /// Returns XmlClassMappingCollection
00086     /// 
00087     NAMESPACE_OSGEO_FDO_XML::XmlClassMappingCollection* GetClassMappings();
00088 
00089 public private:
00090     XmlSchemaMapping(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMapping(unmanaged, autoDelete)
00091     {
00092         
00093     }
00094 
00095     inline FdoXmlSchemaMapping* GetImpObj();
00096 };
00097 
00098 END_NAMESPACE_OSGEO_FDO_XML
00099 
00100 

Comments or suggestions? Send us feedback.