Artefact:Template/org/ooem/templates/ooem-1.0-xmi-2.1
From OOModels
< Artefact:Template | org | ooem | templates
Jump to navigationJump to search
Revision as of 21:25, 9 July 2008 by AndreasLeue (talk | contribs)
Classification | |
---|---|
Type | Type:org/w3/XSL |
Domain | Domain:it/development/formatting |
Category | Type:org/oomodels/wiki/Template |
Maturity | work in progress |
Namespace (more) | |
OOEM main package | |
create new pages |
Code[edit]
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmlns:ooem="http://www.ooem.org/1.0" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match="ooem:Package"> <xsl:variable name="name" select="ooem:Name"/> <uml:Package xmi:version="2.1" xmi:id="p_{$name}" name="{$name}"> <xsl:apply-templates select="ooem:Class"> <xsl:with-param name="prefix"><xsl:value-of select="concat('p_',$name)"/></xsl:with-param> </xsl:apply-templates> </uml:Package> </xsl:template> <xsl:template match="ooem:Class"> <xsl:param name="prefix"></xsl:param> <xsl:variable name="name" select="ooem:Name"/> <packagedElement xmi:type="uml:Class" xmi:id="{$prefix}_c_{$name}" name="{$name}"> <xsl:apply-templates select="*"> <xsl:with-param name="prefix"><xsl:value-of select="concat($prefix,'_c_',$name)"/></xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="ooem:Operation"> <xsl:with-param name="prefix"><xsl:value-of select="concat($prefix,'_c_',$name)"/></xsl:with-param> </xsl:apply-templates> </packagedElement> </xsl:template> <xsl:template match="ooem:Attribute"> <xsl:param name="prefix"></xsl:param> <xsl:variable name="name" select="@ooem:Name"/> <ownedAttribute xmi:id="{$prefix}_a_{$name}" name="{$name}" aggregation="composite"/> </xsl:template> <xsl:template match="ooem:Operation"> <xsl:param name="prefix"></xsl:param> <xsl:variable name="name" select="@ooem:Name"/> <ownedAttribute xmi:id="{$prefix}_o_{$name}" name="{$name}" aggregation="composite"/> </xsl:template> <xsl:template match="*"> </xsl:template> </xsl:stylesheet>