Difference between revisions of "Artefact:Template/org/ooem/templates/ooem-1.0-xmi-2.1"
From OOModels
< Artefact:Template | org | ooem | templates
Jump to navigationJump to search
AndreasLeue (talk | contribs) (New page: {{Metabox | Meta_Type = Type:org/w3/XSL | Meta_Domain = Domain:it/development/formatting | Meta_Category = Type:org/oomodels/wiki/Template | Meta_Maturity = work in progress }} == C...) |
AndreasLeue (talk | contribs) |
||
| Line 7: | Line 7: | ||
== Code == | == Code == | ||
<div class="code"> | <div class="code"> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 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" | |||
version="1.0"> | |||
<xsl:output method="xml" indent="yes"/> | <xsl:output method="xml" indent="yes"/> | ||
| Line 16: | Line 20: | ||
<xsl:apply-templates/> | <xsl:apply-templates/> | ||
</xsl:template> | </xsl:template> | ||
<xsl:template match="Package"> | |||
<xsl:variable name="name" select="Name"/> | |||
<uml:Package xmi:version="2.1" xmi:id="p_{$name}" name="{$name}"> | |||
<xsl:apply-templates select="Class"> | |||
<xsl:with-param name="prefix"><xsl:value-of select="p_{$name}"/></xsl:with-param> | |||
</xsl:apply-templates> | |||
</uml:Package> | |||
</xsl:template> | |||
<xsl:template match="Class"> | |||
<xsl:param name="prefix"></xsl:param> | |||
<xsl:variable name="name" select="Name"/> | |||
<packagedElement xmi:type="uml:Class" xmi:id="{$prefix}_c_{$name}" name="{$name}"> | |||
<xsl:apply-templates select="Attribute"> | |||
<xsl:with-param name="prefix"><xsl:value-of select="{$prefix}_c_{$name}"/></xsl:with-param> | |||
</xsl:apply-templates> | |||
</packagedElement> | |||
</xsl:template> | |||
<xsl:template match="Attribute"> | |||
<xsl:param name="prefix"></xsl:param> | |||
<xsl:variable name="name" select="Name"/> | |||
<ownedAttribute xmi:id="{$prefix}_a_{$name}" name="{$name}" aggregation="composite"/> | |||
</xsl:template> | |||
<xsl:template match="Operation"> | |||
<xsl:param name="prefix"></xsl:param> | |||
<xsl:variable name="name" select="Name"/> | |||
<ownedAttribute xmi:id="{$prefix}_o_{$name}" name="{$name}" aggregation="composite"/> | |||
</xsl:template> | |||
<xsl:template match="*"/> | |||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</div> | </div> | ||
Revision as of 18:52, 9 July 2008
| 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" version="1.0"> <xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Package">
<xsl:variable name="name" select="Name"/>
<uml:Package xmi:version="2.1" xmi:id="p_{$name}" name="{$name}">
<xsl:apply-templates select="Class">
<xsl:with-param name="prefix"><xsl:value-of select="p_{$name}"/></xsl:with-param>
</xsl:apply-templates>
</uml:Package>
</xsl:template>
<xsl:template match="Class">
<xsl:param name="prefix"></xsl:param>
<xsl:variable name="name" select="Name"/>
<packagedElement xmi:type="uml:Class" xmi:id="{$prefix}_c_{$name}" name="{$name}">
<xsl:apply-templates select="Attribute">
<xsl:with-param name="prefix"><xsl:value-of select="{$prefix}_c_{$name}"/></xsl:with-param>
</xsl:apply-templates>
</packagedElement>
</xsl:template>
<xsl:template match="Attribute">
<xsl:param name="prefix"></xsl:param>
<xsl:variable name="name" select="Name"/>
<ownedAttribute xmi:id="{$prefix}_a_{$name}" name="{$name}" aggregation="composite"/>
</xsl:template>
<xsl:template match="Operation">
<xsl:param name="prefix"></xsl:param>
<xsl:variable name="name" select="Name"/>
<ownedAttribute xmi:id="{$prefix}_o_{$name}" name="{$name}" aggregation="composite"/>
</xsl:template>
<xsl:template match="*"/>
</xsl:stylesheet>