FDO .NET API Reference | Feature Data Objects |
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. |