FDO .NET API Reference Feature Data Objects

mgXslTransformer.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 "Runtime\Disposable.h"
00022 #include "..\Io\mgIoTextWriter.h"
00023 
00024 class FdoXslTransformer;
00025 
00026 BEGIN_NAMESPACE_OSGEO_COMMON_XML
00027 public __gc class XmlReader;
00028 public __gc class XmlWriter;
00029 END_NAMESPACE_OSGEO_COMMON_XML
00030 
00031 BEGIN_NAMESPACE_OSGEO_COMMON
00032 public __gc class DictionaryElementCollection;
00033 END_NAMESPACE_OSGEO_COMMON
00034 
00035 BEGIN_NAMESPACE_OSGEO_COMMON_XSL
00036 
00037 /// \ingroup (OSGeoFDOCommonXsl)
00038 /// \brief
00039 /// XslTransformer provides a way to execute an XSL stylesheet
00040 /// on an XML document.
00041 public __sealed __gc class XslTransformer : public NAMESPACE_OSGEO_RUNTIME::Disposable
00042 {
00043 public:
00044     /// \brief
00045     /// Constructs an XSL Transformer object.
00046     /// 
00047     XslTransformer();
00048 
00049     /// \brief
00050     /// Constructs an XSL Transformer object.
00051     /// 
00052     /// \param inDoc 
00053     /// Input the XML document to transform.
00054     /// 
00055     XslTransformer(NAMESPACE_OSGEO_COMMON_XML::XmlReader* inDoc);
00056 
00057     /// \brief
00058     /// Constructs an XSL Transformer object.
00059     /// 
00060     /// \param inDoc 
00061     /// Input the XML document to transform.
00062     /// \param stylesheet 
00063     /// Input the XSL stylesheet with transformation instructions.
00064     /// 
00065     XslTransformer(NAMESPACE_OSGEO_COMMON_XML::XmlReader* inDoc, NAMESPACE_OSGEO_COMMON_XML::XmlReader* stylesheet);
00066 
00067     /// \brief
00068     /// Constructs an XSL Transformer object.
00069     /// 
00070     /// \param inDoc 
00071     /// Input the XML document to transform.
00072     /// \param stylesheet 
00073     /// Input the XSL stylesheet with transformation instructions.
00074     /// \param outDoc 
00075     /// Output the transformed XML document.
00076     /// <p><b>Note:</b> The transformed document is not completely written until 'outDoc'
00077     /// and this transformer are destroyed by releasing all references to them.
00078     /// Therefore, these objects must be destroyed before reading back the 
00079     /// transformed document.
00080     /// 
00081     XslTransformer(NAMESPACE_OSGEO_COMMON_XML::XmlReader* inDoc, NAMESPACE_OSGEO_COMMON_XML::XmlReader* stylesheet, NAMESPACE_OSGEO_COMMON_XML::XmlWriter* outDoc);
00082 
00083     /// \brief
00084     /// Constructs an XSL Transformer object.
00085     /// 
00086     /// \param inDoc 
00087     /// Input the XML document to transform.
00088     /// \param stylesheet 
00089     /// Input the XSL stylesheet with transformation instructions.
00090     /// \param outDoc 
00091     /// Output the transformed XML document.
00092     /// <p><b>Note:</b> The transformed document is not completely written until 'outDoc'
00093     /// and this transformer are destroyed by releasing all references to them.
00094     /// Therefore, these objects must be destroyed before reading back the 
00095     /// transformed document.
00096     /// \param log 
00097     /// Input the logging object.
00098     /// 
00099     XslTransformer(NAMESPACE_OSGEO_COMMON_XML::XmlReader* inDoc, NAMESPACE_OSGEO_COMMON_XML::XmlReader* stylesheet, NAMESPACE_OSGEO_COMMON_XML::XmlWriter* outDoc, NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* log);
00100 
00101     /// \brief
00102     /// Gets the document being transformed
00103     /// 
00104     /// \return
00105     /// Returns the input document.
00106     /// 
00107     __property NAMESPACE_OSGEO_COMMON_XML::XmlReader* get_InDoc();
00108 
00109     /// \brief
00110     /// Sets the document to transform.
00111     /// 
00112     /// \param inDoc 
00113     /// Input the XML document to transform.
00114     /// 
00115     __property System::Void set_InDoc(NAMESPACE_OSGEO_COMMON_XML::XmlReader* inDoc );
00116 
00117     /// \brief
00118     /// Gets the XSL Stylesheet
00119     /// 
00120     /// \return
00121     /// Returns the stylesheet.
00122     /// 
00123     __property NAMESPACE_OSGEO_COMMON_XML::XmlReader* get_Stylesheet();
00124 
00125     /// \brief
00126     /// Sets the XSL stylesheet
00127     /// 
00128     /// \param stylesheet 
00129     /// Input the stylesheet
00130     /// 
00131     __property System::Void set_Stylesheet(NAMESPACE_OSGEO_COMMON_XML::XmlReader* stylesheet);
00132 
00133     /// \brief
00134     /// Gets the output document.
00135     /// 
00136     /// \return
00137     /// Returns the out document
00138     /// 
00139     __property NAMESPACE_OSGEO_COMMON_XML::XmlWriter* get_OutDoc();
00140 
00141     /// \brief
00142     /// Sets the output document
00143     /// 
00144     /// \param outDoc 
00145     /// Input the output document
00146     /// <p><b>Note:</b> The output document is not completely written until outDoc
00147     /// and this transformer are destroyed by releasing all references to them.
00148     /// 
00149     __property System::Void set_OutDoc(NAMESPACE_OSGEO_COMMON_XML::XmlWriter* outDoc);
00150 
00151     /// \brief
00152     /// Gets the input logging object.
00153     /// 
00154     /// \return
00155     /// Returns the input logging object
00156     /// 
00157     __property NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* get_Log();
00158 
00159     /// \brief
00160     /// Sets the input logging object
00161     /// 
00162     /// \param outDoc 
00163     /// Input the logging object
00164     /// 
00165     __property System::Void set_Log(NAMESPACE_OSGEO_COMMON_IO::IoTextWriter* outDoc);
00166 
00167     /// \brief
00168     /// Gets the list of parameters that will be passed to the 
00169     /// stylesheet by Transform(). The caller can add parameters to this list
00170     /// or modify/delete existing parameters. The parameter list is empty
00171     /// when this class is constructed.
00172     /// Parameter values must be in XPath syntax. Therefore, literal values
00173     /// must be enclosed in single quotes.
00174     /// 
00175     /// \return
00176     /// Returns the parameter list.
00177     /// 
00178     __property NAMESPACE_OSGEO_COMMON::DictionaryElementCollection* get_Parameters();
00179 
00180     /// \brief
00181     /// Performs the transformation.
00182     /// 
00183     System::Void Transform();
00184 
00185     /// \brief
00186     /// Constructs an XslTransformer based on an unmanaged instance of the object
00187     /// 
00188     /// \param unmanaged 
00189     /// Input A Pointer to the unmanaged object.
00190     /// 
00191     /// \param autoDelete 
00192     /// Input Indicates if the constructed object should be automatically deleted 
00193     /// once it no longer referenced.
00194     /// 
00195     XslTransformer(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_RUNTIME::Disposable(unmanaged, autoDelete)
00196     {
00197 
00198     }
00199 
00200 /// \cond DOXYGEN-IGNORE
00201 public private:
00202     inline FdoXslTransformer* GetImpObj();
00203 
00204 protected:
00205     System::Void ReleaseUnmanagedObject();
00206 /// \endcond
00207 };
00208 
00209 END_NAMESPACE_OSGEO_COMMON_XSL
00210 
00211 

Comments or suggestions? Send us feedback.