FDO .NET API Reference Feature Data Objects

mgFeatureSchemaCollection.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 #include "FDO\Xml\mgIXmlDeserializable.h"
00022 #include "FDO\Xml\mgIXmlSerializable.h"
00023 
00024 class FdoFeatureSchemaCollection;
00025 
00026 BEGIN_NAMESPACE_OSGEO_FDO
00027 public __gc class IDisposableCollection;
00028 END_NAMESPACE_OSGEO_FDO
00029 
00030 BEGIN_NAMESPACE_OSGEO_FDO_XML
00031 public __gc class XmlFlags;
00032 END_NAMESPACE_OSGEO_FDO_XML
00033 
00034 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00035 public __gc class PhysicalSchemaMappingCollection;
00036 END_NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA
00037 
00038 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00039 public __gc class FeatureSchema;
00040 public __gc class SchemaElement;
00041 
00042 /// \ingroup (OSGeoFDOSchema)
00043 /// \brief
00044 /// The FeatureSchemaCollection class represents a collection of FeatureSchema objects.
00045 [System::Reflection::DefaultMemberAttribute("RealTypeItem")]
00046 public __sealed __gc class FeatureSchemaCollection : public NAMESPACE_OSGEO_RUNTIME::Disposable, public System::Collections::IList, public NAMESPACE_OSGEO_FDO_XML::IXmlDeserializable, public NAMESPACE_OSGEO_FDO_XML::IXmlSerializable
00047 {
00048 /// \cond DOXYGEN-IGNORE
00049 private:
00050     /// \brief
00051     /// A Nested class defined to provide enumeration of Dictionary elements
00052     ///
00053     /// Enumerators can be used to read the data in the collection, 
00054     /// but they cannot be used to modify the underlying collection.
00055     ///
00056     /// An enumerator remains valid as long as the collection remains unchanged. 
00057     /// If changes are made to the collection, such as adding, modifying, or deleting 
00058     /// elements, the enumerator is irrecoverably invalidated and the next call to 
00059     /// MoveNext or Reset throws an InvalidOperationException. If the collection is 
00060     /// modified between MoveNext and Current, Current returns the element that it is 
00061     /// set to, even if the enumerator is already invalidated.
00062     ///
00063     /// The enumerator does not have exclusive access to the collection; therefore, 
00064     /// enumerating through a collection is intrinsically not a thread-safe procedure. 
00065     /// Even when a collection is synchronized, other threads can still modify the 
00066     /// collection, which causes the enumerator to throw an exception. To guarantee 
00067     /// thread safety during enumeration, you can either lock the collection during 
00068     /// the entire enumeration or catch the exceptions resulting from changes made 
00069     /// by other threads.
00070     /// 
00071     __gc class Enumerator : public System::Collections::IEnumerator
00072     {
00073     private:
00074         FeatureSchemaCollection* m_pCol;
00075         System::Int32 m_nIdx;
00076 
00077     public:
00078         /// \brief
00079         /// Constructs a new Collection Enumerator
00080         /// 
00081         /// \param col 
00082         /// Input The collection to enumerate.
00083         /// 
00084         Enumerator(FeatureSchemaCollection* elements) : m_pCol(elements), m_nIdx(-1) 
00085         {
00086 
00087         }
00088 
00089         /// \brief
00090         /// Retrieves the current object at the enumerator location
00091         /// 
00092         /// \return
00093         /// Retuns the current object referenced by the enumerator
00094         /// 
00095         __property System::Object *get_Current();
00096 
00097         /// \brief
00098         /// Initially, the enumerator is positioned before the first object in the collection. 
00099         /// At this position, calling the Current property throws an exception. 
00100         /// Therefore, you must call the MoveNext method to advance the enumerator 
00101         /// to the first element of the collection before reading the value of Current.
00102         /// If MoveNext passes the end of the collection, the enumerator is positioned 
00103         /// after the last element in the collection and MoveNext returns false. 
00104         /// When the enumerator is at this position, subsequent calls to MoveNext also return false. 
00105         /// If the last call to MoveNext returned false, calling Current throws an exception. 
00106         /// To set Current to the first element of the collection again, you can call Reset 
00107         /// followed by MoveNext.
00108         /// 
00109         /// \return
00110         /// Retuns true if the Enumerator is able to move to a valid element
00111         /// otherwise false.
00112         /// 
00113         System::Boolean MoveNext();
00114 
00115         /// \brief
00116         /// Initially, the enumerator is positioned before the first element in the collection. 
00117         /// The Reset method brings the enumerator back to this position. 
00118         /// 
00119         System::Void Reset();
00120     };
00121 
00122 public private:
00123     inline FdoFeatureSchemaCollection* GetImpObj();
00124 
00125 private:
00126     // System::Collections::ICollection interface properties
00127     __property System::Object* System::Collections::ICollection::get_SyncRoot();
00128     __property System::Boolean System::Collections::ICollection::get_IsSynchronized();
00129 
00130     // System::Collections::ICollection interface methods
00131     System::Void System::Collections::ICollection::CopyTo(System::Array* array,System::Int32 index);
00132 
00133     // System::Collections::IList interface properties
00134     __property System::Boolean System::Collections::IList::get_IsFixedSize();
00135     __property System::Boolean System::Collections::IList::get_IsReadOnly();
00136     __property Object* System::Collections::IList::get_Item(System::Int32 index);
00137     __property System::Void  System::Collections::IList::set_Item(System::Int32 index, Object* value);
00138 
00139     // System::Collections::IList interface methods
00140     System::Int32 System::Collections::IList::Add(Object* value);
00141     System::Boolean System::Collections::IList::Contains(Object* value);
00142     System::Int32 System::Collections::IList::IndexOf(Object* value);
00143     System::Void System::Collections::IList::Insert(System::Int32 index, Object* value);
00144     System::Void System::Collections::IList::Remove(Object* value);
00145 
00146 protected:
00147     System::Void ReleaseUnmanagedObject();
00148 /// \endcond
00149 
00150 public:
00151     /// \brief
00152     /// Constructs a FeatureSchemaCollection object
00153     /// 
00154     /// \param parent 
00155     /// Input A Pointer to the parent schema object of the collection
00156     /// 
00157     FeatureSchemaCollection(NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElement* parent);
00158 
00159     /// \brief
00160     /// Constructs a FeatureSchemaCollection object based on an unmanaged instance of the object
00161     /// 
00162     /// \param unmanaged 
00163     /// Input A Pointer to the unmanaged object.
00164     /// 
00165     /// \param autoDelete 
00166     /// Input Indicates if the constructed object should be automatically deleted 
00167     /// once it no longer referenced.
00168     /// 
00169     FeatureSchemaCollection(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete)
00170     {
00171     }
00172 
00173     /// \brief
00174     /// Gets the count of items in collection.
00175     /// 
00176     /// \return
00177     /// Returns the number of items in the collection.
00178     /// 
00179     __property System::Int32 get_Count(System::Void);
00180 
00181     /// \brief
00182     /// Gets an enumerator that can iterate through a collection.
00183     /// 
00184     /// \return
00185     /// Returns an enumerator on the dictionary.
00186     /// 
00187     __sealed System::Collections::IEnumerator* GetEnumerator(System::Void);
00188 
00189     /// \brief
00190     /// Removes the index-th FeatureSchema from this collection.
00191     /// 
00192     /// \param index 
00193     /// Input index of the element to remove.
00194     /// 
00195     System::Void RemoveAt(System::Int32 index);
00196 
00197     /// \brief
00198     /// Removes all elements from the collection.
00199     /// 
00200     System::Void  Clear();
00201 
00202     /// \brief
00203     /// Adds a FeatureSchema object into the collection.
00204     /// 
00205     /// \param value 
00206     /// Input the FeatureSchema object to add.
00207     /// 
00208     /// \return
00209     /// Returns the position into which the new element was inserted.
00210     /// 
00211     System::Int32 Add(FeatureSchema* value);
00212 
00213     /// \brief
00214     /// Determines the index of a specific FeatureSchema object.
00215     /// 
00216     /// \param value 
00217     /// Input the FeatureSchema object to locate in the collection.
00218     /// 
00219     /// \return
00220     /// The index of value if found in the collection; otherwise, -1.
00221     /// 
00222     System::Int32 IndexOf(FeatureSchema* value);
00223 
00224     /// \brief
00225     /// Determines the index of a specific FeatureSchema object.
00226     /// 
00227     /// \param name 
00228     /// Input the name of the FeatureSchema object to locate in the collection.
00229     /// 
00230     /// \return
00231     /// The index of value if found in the collection; otherwise, -1.
00232     /// 
00233     System::Int32 IndexOf(String* name);
00234 
00235     /// \brief
00236     /// Inserts a FeatureSchema object into the collection at the specified position.
00237     /// 
00238     /// \param index 
00239     /// Input the zero-based index at which value should be inserted.
00240     /// \param value 
00241     /// Input the FeatureSchema object to insert.
00242     /// 
00243     System::Void Insert(System::Int32 index, FeatureSchema* value);
00244 
00245     /// \brief
00246     /// Removes the first occurrence of a specific FeatureSchema object.
00247     /// 
00248     /// \param value 
00249     /// Input the FeatureSchema object to remove from the collection.
00250     /// 
00251     System::Void Remove(FeatureSchema* value);
00252 
00253     /// \brief
00254     /// Determines whether the collection contains a specific FeatureSchema object.
00255     /// 
00256     /// \param value 
00257     /// Input The FeatureSchema object to search in the collection.
00258     /// 
00259     /// \return
00260     /// Returns true if the value is found in the collection; otherwise, false.
00261     /// 
00262     System::Boolean Contains(FeatureSchema* value);
00263 
00264     /// \brief
00265     /// Determines whether the collection contains a specific FeatureSchema object.
00266     /// 
00267     /// \param name 
00268     /// Input The name of the FeatureSchema object to search in the collection.
00269     /// 
00270     /// \return
00271     /// Returns true if the value is found in the collection; otherwise, false.
00272     /// 
00273     System::Boolean Contains(String* name);
00274 
00275     /// \brief
00276     /// Copies the elements of the collection to an array.
00277     /// 
00278     /// \param array 
00279     /// Output the one-dimensional Array that is the destination of the elements copied from this collection.
00280     /// \param startAt 
00281     /// Input an integer that represents the index in array at which copying begins.
00282     /// 
00283     System::Void CopyTo(FeatureSchema* array[],System::Int32 startAt);
00284 
00285     /// \brief
00286     /// Gets the item in the collection at the specified index. 
00287     /// 
00288     /// \param index 
00289     /// The index of the item in the collection. The index is 0 based.
00290     /// 
00291     /// \return
00292     /// Returns an instance of a the collected item.
00293     /// Throws an instance of Exception if the index is out of range or an error occurs.
00294     /// 
00295     __property FeatureSchema* get_RealTypeItem(System::Int32 index);
00296 
00297     /// \brief
00298     /// Gets the item in the collection by name. 
00299     /// 
00300     /// \param index 
00301     /// The name of the item in the collection.
00302     /// 
00303     /// \return
00304     /// Returns an instance of a the collected item.
00305     /// 
00306     __property FeatureSchema* get_RealTypeItem(System::String* index);
00307 
00308     /// \brief
00309     /// Sets the value of the item at the specified index
00310     /// 
00311     /// \param index 
00312     /// Input index of the item to set.
00313     /// 
00314     /// \param value 
00315     /// Input the value of the item
00316     /// 
00317     __property System::Void  set_RealTypeItem(System::Int32 index, FeatureSchema* value);
00318 
00319     /// \brief
00320     /// Gets an item in the collection.
00321     /// 
00322     /// \param index 
00323     /// Input index of the item to retrieve.
00324     /// 
00325     /// \return
00326     /// Returns the item at the specified index
00327     /// 
00328     __property FeatureSchema* get_Item(System::Int32 index);
00329 
00330     /// \brief
00331     /// Sets the value of the item at the specified index
00332     /// 
00333     /// \param index 
00334     /// Input index of the item to set.
00335     /// 
00336     /// \param value 
00337     /// Input the value of the item
00338     /// 
00339     __property System::Void  set_Item(System::Int32 index, FeatureSchema* value);
00340 
00341     /*
00342         Additional interfaces
00343     */
00344 
00345     /// \brief
00346     /// Gets the stylesheet for converting a Feature Schema collection from 
00347     /// internal to external XML format. The internal format is very similar to 
00348     /// the Feature Schema class hierarchy. The external format is OGC GML.
00349     /// 
00350     /// \return
00351     /// Returns the stylesheet
00352     /// 
00353     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromInternalStylesheet();
00354 
00355     /// \brief
00356     /// Gets the stylesheet for converting a Feature Schema collection from 
00357     /// external to internal XML format. The internal format is very similar to 
00358     /// the Feature Schema class hierarchy. The external format is OGC GML.
00359     /// 
00360     /// \return
00361     /// Returns the stylesheet
00362     /// 
00363     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromExternalStylesheet();
00364 
00365     /// \brief
00366     /// Takes a qualified or unqualified class name and return a collection of class definitions
00367     /// that match the class name. For qualified name, the collection contains at most one class definition.
00368     /// 
00369     /// \param className 
00370     /// The class name
00371     /// 
00372     /// \return
00373     /// Returns a collection of classes
00374     /// 
00375     NAMESPACE_OSGEO_FDO::IDisposableCollection* FindClass(System::String* className);
00376 
00377     /// \brief
00378     /// Gets a Schema Mapping Collection
00379     /// that describes the mappings between the elements in the GML Schema that were read
00380     /// and the FDO Feature Schema Elements that were created. This function returns the 
00381     /// Schema Mapping Collection generated by the last call to ReadXml(). The collection
00382     /// contains one XmlSchemaMapping per schema that was read.
00383     /// 
00384     /// \return
00385     /// Returns PhysicalSchemaMappingCollection*. Returns NULL if ReadXml() has not been
00386     /// called on this object.
00387     /// 
00388     __property NAMESPACE_OSGEO_FDO_COMMANDS_SCHEMA::PhysicalSchemaMappingCollection* get_XmlSchemaMappings();
00389 
00390     /*
00391         IXmlSaxHandler Implemenations
00392     */
00393 
00394     /// \brief
00395     /// Default Sax callback that is called when the XmlReader 
00396     /// starts reading an XML document. Does nothing.
00397     /// 
00398     /// \param context 
00399     /// Input caller specified contextual information
00400     /// 
00401     /// \return
00402     /// Returns the SAX Handler for the document's root element. If NULL then 
00403     /// this SAX handler will handle the root element
00404     /// 
00405     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* XmlStartDocument(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context);
00406 
00407     /// \brief
00408     /// Default Sax callback that is called when the XmlReader 
00409     /// finishes reading an XML document. Does nothing
00410     /// 
00411     /// \param context 
00412     /// Input caller specified contextual information
00413     /// 
00414     System::Void XmlEndDocument(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context);
00415 
00416     /// \brief
00417     /// Default Sax callback that is called when the XmlReader 
00418     /// reads the start tag for an XML element in the document. Does nothing.
00419     /// 
00420     /// \param context 
00421     /// Input caller specified contextual information
00422     /// \param resourceLocation 
00423     /// Input the element's Universal Resource Indicator
00424     /// \param name 
00425     /// Input the unqualified element name (doesn't include namespace)
00426     /// \param qualifiedName 
00427     /// Input the qualified element name (includes namespace)
00428     /// \param attributes 
00429     /// Input the attributes for the element.
00430     /// 
00431     /// \return
00432     /// Returns the SAX Handler for the element's sub-elements. If NULL then 
00433     /// this SAX handler will handle the sub-elements
00434     /// 
00435     NAMESPACE_OSGEO_COMMON_XML::IXmlSaxHandler* XmlStartElement(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, String* resourceLocation, String* name, String* qualifiedName, NAMESPACE_OSGEO_COMMON_XML::XmlAttributeCollection* attributes);
00436 
00437     /// \brief
00438     /// Default Sax callback that is called when the XmlReader 
00439     /// reads the end tag for an XML element in the document. Does nothing.
00440     /// 
00441     /// \param context 
00442     /// Input caller specified contextual information
00443     /// \param resourceLocation 
00444     /// Input the element's Universal Resource Indicator
00445     /// \param name 
00446     /// Input the unqualified element name (doesn't include namespace)
00447     /// \param qualifiedName 
00448     /// Input the qualified element name (includes namespace)
00449     /// 
00450     /// \return
00451     /// Returning true causes the current parse to stop. Returning false
00452     /// cause the parse to continue. Return value is ignored if the current parse
00453     /// is not an incremental parse ( see XmlReader::Parse())
00454     /// 
00455     System::Boolean XmlEndElement(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* resourceLocation, System::String* name, System::String* qualifiedName);
00456 
00457     /// \brief
00458     /// Default Sax callback that is called when the XmlReader 
00459     /// reads a chunk of simple content for the current element. Does nothing by default.
00460     /// This function may be called multiple times for the same element, if the 
00461     /// the content is long. Applications must not make any assumptions about the
00462     /// chunk size or number of chunks for each element
00463     /// 
00464     /// \param context 
00465     /// Input caller specified contextual information
00466     /// \param characters 
00467     /// Input the next chunk of simple content
00468     /// 
00469     System::Void XmlCharacters(NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* context, System::String* characters);
00470 
00471     /*
00472         IXmlDeserializable Implemenations
00473     */
00474 
00475     /// \brief
00476     /// Reads from an XML document in a file.
00477     /// 
00478     /// \param fileName 
00479     /// Input the file name. Must consist of an XML document.
00480     /// 
00481     System::Void ReadXml(System::String* fileName);
00482 
00483     /// \brief
00484     /// Reads from an XML document in a file.
00485     /// 
00486     /// \param fileName 
00487     /// Input the file name. Must consist of an XML document.
00488     /// \param flags 
00489     /// Input controls the reading of the elements from the document.
00490     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00491     /// 
00492     System::Void ReadXml(System::String* fileName, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00493 
00494     /// \brief
00495     /// Reads an XML document from an XML reader.
00496     /// 
00497     /// \param xmlReader 
00498     /// Input the XML reader.
00499     /// 
00500     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_XML::XmlReader* xmlReader);
00501 
00502     /// \brief
00503     /// Reads an XML document from an XML reader.
00504     /// 
00505     /// \param xmlReader 
00506     /// Input the XML reader.
00507     /// \param flags 
00508     /// Input controls the reading of the elements from the document. 
00509     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00510     /// 
00511     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_XML::XmlReader* xmlReader, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00512 
00513     /// \brief
00514     /// Reads an XML document from a text reader.
00515     /// 
00516     /// \param textReader 
00517     /// Input the text reader. Must be positioned at the
00518     /// start of an XML document.
00519     /// 
00520     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoTextReader* textReader);
00521 
00522     /// \brief
00523     /// Reads an XML document from a text reader.
00524     /// 
00525     /// \param textReader 
00526     /// Input the text reader. Must be positioned at the
00527     /// start of an XML document.
00528     /// \param flags 
00529     /// Input controls the reading of the elements from the document. 
00530     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00531     /// 
00532     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoTextReader* textReader, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00533 
00534     /// \brief
00535     /// Reads an XML document from a stream.
00536     /// 
00537     /// \param stream 
00538     /// Input the stream. Must be positioned at the
00539     /// start of an XML document.
00540     /// 
00541     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream);
00542 
00543     /// \brief
00544     /// Reads an XML document from a stream.
00545     /// 
00546     /// \param stream 
00547     /// Input the stream. Must be positioned at the
00548     /// start of an XML document.
00549     /// \param flags 
00550     /// Input controls the reading of the elements from the document. 
00551     /// If NULL then the default flags are used (see NAMESPACE_OSGEO_FDO_XML::XmlFlags::Create())
00552     /// 
00553     System::Void ReadXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00554 
00555     /// \brief
00556     /// Gets the XML Flags that were passed to the ReadXml() 
00557     /// function that is currently being executed. This function would 
00558     /// typically be called by the XmlSaxHandler callbacks.
00559     /// 
00560     /// \return
00561     /// Returns the XML Flags
00562     /// 
00563     NAMESPACE_OSGEO_FDO_XML::XmlFlags* GetDeserializationFlags();
00564 
00565     /// \brief
00566     /// Gets the current XML Reader. This function would 
00567     /// typically be called by the XmlSaxHandler callbacks when 
00568     /// ReadXml() is being invoked. When ReadXml() reads from a file, stream,
00569     /// or text reader, a wrapping XML reader is automatically created.
00570     /// 
00571     /// \return
00572     /// Returns the XML reader
00573     /// 
00574     NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetXmlReader();
00575 
00576     /// \brief
00577     /// Gets the stylesheet for converting the XML document from 
00578     /// external to internal format. When classes derived from XmlDeserializable
00579     /// define an internal format, they must override this function to return a
00580     /// stylesheet that does the conversion.
00581     /// 
00582     /// \return
00583     /// Returns NULL by default (no internal format defined)
00584     /// 
00585     /// It has beed implemented in Additional Interfaces.
00586     // NAMESPACE_OSGEO_COMMON_XML::XmlReader* GetFromExternalStylesheet();
00587 
00588     /// \brief
00589     /// Gets the SAX context to pass to the XmlSaxHandler callbacks.
00590     /// Classes derived from XmlDeserializable can override this function to 
00591     /// specify a SAX context with class-specific information.
00592     /// 
00593     /// \return
00594     /// Returns NULL by default, the default NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext is used.
00595     /// The default provides basic error handling functionality.
00596     /// 
00597     NAMESPACE_OSGEO_COMMON_XML::XmlSaxContext* GetSaxContext();
00598 
00599     /*
00600         IXmlSerializable Implemenations
00601     */
00602 
00603     /// \brief
00604     /// Writes this object to a file. A complete XML document,
00605     /// containing this object, is written.
00606     /// 
00607     /// \param fileName 
00608     /// Input the file name.
00609     /// 
00610     System::Void WriteXml(String* fileName);
00611 
00612     /// \brief
00613     /// Writes this object to a file. A complete XML document,
00614     /// containing this object, is written.
00615     /// 
00616     /// \param fileName 
00617     /// Input the file name.
00618     /// \param flags 
00619     /// Input controls the writing of the elements to the document.
00620     /// If NULL then the default flags are used (see XmlFlags::Create())
00621     /// 
00622     System::Void WriteXml(String* fileName, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00623 
00624     /// \brief
00625     /// Writes to an XML writer. This object is appended to the XML document
00626     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00627     /// the only object in its document.
00628     /// 
00629     /// \param xmlWriter 
00630     /// Input the XML writer. When this function completes, the
00631     /// XML writer's current position will be just after this object.
00632     /// 
00633     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter);
00634 
00635     /// \brief
00636     /// Writes to an XML writer. This object is appended to the XML document
00637     /// being written. Unlike the other WriteXml() functions it is not necessarily 
00638     /// the only object in its document.
00639     /// 
00640     /// \param xmlWriter 
00641     /// Input the XML writer. When this function completes, the
00642     /// XML writer's current position will be just after this object.
00643     /// \param flags 
00644     /// Input controls the writing of the elements to the writer.
00645     /// If NULL then the default flags are used (see XmlFlags::Create())
00646     /// 
00647     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* xmlWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00648 
00649     /// \brief
00650     /// Writes to a text writer. A complete XML document,
00651     /// containing this object, is written.
00652     /// 
00653     /// \param textWriter 
00654     /// Input the text writer.When this function completes, the
00655     /// text writer's current position will be just after this object.
00656     /// 
00657     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter);
00658 
00659     /// \brief
00660     /// Writes to a text writer. A complete XML document,
00661     /// containing this object, is written.
00662     /// 
00663     /// \param textWriter 
00664     /// Input the text writer.When this function completes, the
00665     /// text writer's current position will be just after this object.
00666     /// \param flags 
00667     /// Input controls the writing of the elements to the writer.
00668     /// If NULL then the default flags are used (see XmlFlags::Create())
00669     /// 
00670     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* textWriter, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00671 
00672     /// \brief
00673     /// Writes to a stream. A complete XML document,
00674     /// containing this object, is written.
00675     /// 
00676     /// \param stream 
00677     /// Input the stream. When this function completes, the
00678     /// stream's current position will be just after this object.
00679     /// 
00680     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream);
00681 
00682     /// \brief
00683     /// Writes to a stream. A complete XML document,
00684     /// containing this object, is written.
00685     /// 
00686     /// \param stream 
00687     /// Input the stream. When this function completes, the
00688     /// stream's current position will be just after this object.
00689     /// \param flags 
00690     /// Input controls the writing of the elements to the stream.
00691     /// If NULL then the default flags are used (see XmlFlags::Create())
00692     /// 
00693     System::Void WriteXml(NAMESPACE_OSGEO_COMMON_IO::IoStream* stream, NAMESPACE_OSGEO_FDO_XML::XmlFlags* flags);
00694 };
00695 
00696 END_NAMESPACE_OSGEO_FDO_SCHEMA
00697 
00698 

Comments or suggestions? Send us feedback.