From: Chris M. <zm...@us...> - 2001-12-11 22:39:27
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv9177 Added Files: gen_package_ccs.xsl gen_package_hs.xsl gen_factory_ccs.xsl gen_factory_hs.xsl Log Message: First go at Package bits. --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <xsl:template name="IMPORTED_INCL"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "../</xsl:text> <xsl:value-of select="@name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>.h" </xsl:text> </xsl:template> <xsl:template name="CLASS_INCL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl.h" </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_INCL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_impl.h" </xsl:text> </xsl:template> <xsl:template name="IMPORTED_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ }; </xsl:text> </xsl:template> <xsl:template name="CLASS_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ if (CORBA::is_nil(fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>)) </xsl:text> <xsl:text> { </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl* impl = new </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl; </xsl:text> <xsl:text> fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text> = impl->_this(); </xsl:text> <xsl:text> } </xsl:text> <xsl:text> return </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class::_duplicate(fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>); </xsl:text> <xsl:text>}; </xsl:text> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ }; </xsl:text> </xsl:template> <xsl:template name="PACKAGE_HDR"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl.h" </xsl:text> <xsl:text> </xsl:text> </xsl:template> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*" mode="includes"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="includes"> <xsl:apply-templates mode="includes"/> </xsl:template> <xsl:template match="Model:Import" mode="includes"> <xsl:call-template name="IMPORTED_INCL"/> </xsl:template> <xsl:template match="Model:Class" mode="includes"> <xsl:call-template name="CLASS_INCL"/> </xsl:template> <xsl:template match="Model:Association" mode="includes"> <xsl:call-template name="ASSOCIATION_INCL"/> </xsl:template> <!-- Replace the default rule. --> <xsl:template match="*" mode="implementations"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="implementations"> <xsl:apply-templates mode="implementations"/> </xsl:template> <xsl:template match="Model:Import" mode="implementations"> <xsl:call-template name="IMPORTED_IMPL"/> </xsl:template> <xsl:template match="Model:Class" mode="implementations"> <xsl:call-template name="CLASS_IMPL"/> </xsl:template> <xsl:template match="Model:Association" mode="implementations"> <xsl:call-template name="ASSOCIATION_IMPL"/> </xsl:template> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="package_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>Package_impl.cc</xsl:text> </xsl:variable> <xsl:value-of select="$package_filename"/> <xsl:text> </xsl:text> <xalan:write select="$package_filename"> <xsl:apply-templates mode="includes"/> <xsl:call-template name="PACKAGE_HDR"/> <xsl:text> </xsl:text> <xsl:apply-templates mode="implementations"/> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <xsl:template name="IMPORTED_DECL"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="CLASS_DECL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_DECL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="IMPORTED_PRV"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="CLASS_PRV"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_PRV"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="PACKAGE_HDR"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#ifndef __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>_PACKAGE_H__ </xsl:text> <xsl:text>#define __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>_PACKAGE_H__ </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "Reflective_impl.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>class </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl : </xsl:text> <xsl:text> virtual public RefPackage_impl, </xsl:text> <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package </xsl:text> <xsl:text>{ </xsl:text> </xsl:template> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*" mode="declarations"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="declarations"> <xsl:apply-templates mode="declarations"/> </xsl:template> <xsl:template match="Model:Import" mode="declarations"> <xsl:call-template name="IMPORTED_DECL"/> </xsl:template> <xsl:template match="Model:Class" mode="declarations"> <xsl:call-template name="CLASS_DECL"/> </xsl:template> <xsl:template match="Model:Association" mode="declarations"> <xsl:call-template name="ASSOCIATION_DECL"/> </xsl:template> <!-- Replace the default rule. --> <xsl:template match="*" mode="privates"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="privates"> <xsl:apply-templates mode="privates"/> </xsl:template> <xsl:template match="Model:Import" mode="privates"> <xsl:call-template name="IMPORTED_PRV"/> </xsl:template> <xsl:template match="Model:Class" mode="privates"> <xsl:call-template name="CLASS_PRV"/> </xsl:template> <xsl:template match="Model:Association" mode="privates"> <xsl:call-template name="ASSOCIATION_PRV"/> </xsl:template> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="package_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>Package_impl.h</xsl:text> </xsl:variable> <xsl:value-of select="$package_filename"/> <xsl:text> </xsl:text> <xalan:write select="$package_filename"> <xsl:call-template name="PACKAGE_HDR"/> <xsl:apply-templates mode="declarations"/> <xsl:text> </xsl:text> <xsl:text> private: </xsl:text> <xsl:text> </xsl:text> <xsl:apply-templates mode="privates"/> <xsl:text> </xsl:text> <xsl:text>}; </xsl:text> <xsl:text> </xsl:text> <xsl:text>#endif </xsl:text> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template name="PACKAGE_FACTORY"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="package_name"> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl.h" </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>// Implementation for interface </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl::~</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl() { </xsl:text> <xsl:text>} </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl::create_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>_package() </xsl:text> <xsl:text> throw( </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text>{ </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl* impl = new </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl; </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr retval = impl->_this(); </xsl:text> <xsl:text> return retval; </xsl:text> <xsl:text>} </xsl:text> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="factory_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>PackageFactory_impl.cc</xsl:text> </xsl:variable> <xsl:value-of select="$factory_filename"/> <xsl:text> </xsl:text> <xalan:write select="$factory_filename"> <xsl:call-template name="PACKAGE_FACTORY"/> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template name="PACKAGE_FACTORY"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="package_name"> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#ifndef __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>PACKAGEFACTORY_H__ </xsl:text> <xsl:text>#define __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>PACKAGEFACTORY_H__ </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>// Implementation for interface </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:text>class </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl : </xsl:text> <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:text>{ </xsl:text> <xsl:text> public: </xsl:text> <xsl:text> ~</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl(); </xsl:text> <xsl:text> </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr create_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>_package() </xsl:text> <xsl:text> throw( </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text> ; </xsl:text> <xsl:text>}; </xsl:text> <xsl:text>#endif </xsl:text> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="factory_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>PackageFactory_impl.h</xsl:text> </xsl:variable> <xsl:value-of select="$factory_filename"/> <xsl:text> </xsl:text> <xalan:write select="$factory_filename"> <xsl:call-template name="PACKAGE_FACTORY"/> </xalan:write> </xsl:template> </xsl:transform> |