📄 componentbody.xsl
字号:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Template: Component.xsl
Processes Component Content
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2000/svg" xmlns:UML="org.omg.xmi.namespace.UML">
<xsl:import href="../ClassDiagrams/Class.xsl" />
<xsl:import href="../UseCaseDiagrams/Actor.xsl" />
<xsl:import href="../CollaborationDiagrams/Object.xsl" />
<xsl:import href="../DeploymentDiagrams/Node.xsl" />
<xsl:import href="../DeploymentDiagrams/NodeInstance.xsl" />
<xsl:import href="../DeploymentDiagrams/ComponentInstance.xsl" />
<xsl:import href="../Common/Comment.xsl" />
<xsl:import href="../Common/Lines.xsl" />
<xsl:import href="../Common/Ellipse.xsl" />
<xsl:import href="../Common/Polyline.xsl" />
<xsl:import href="../Common/FreeText.xsl" />
<xsl:output media-type="image/svg+xml" method="xml" indent="yes"/>
<!-- ComponentBody -->
<xsl:template name="ComponentBody">
<xsl:param name="DiagramID" select="@xmi.id"/>
<!-- Main ComponentBody group -->
<g transform="translate({UML:GraphElement.position/XMI.field[1]}, {UML:GraphElement.position/XMI.field[2]})" id="{$DiagramID}">
<xsl:apply-templates select="." mode="FontStyle"/>
<xsl:apply-templates select="." mode="StrokeStyle"/>
<desc>ComponentBody</desc>
<!-- Contained nodes -->
<xsl:for-each select="UML:GraphElement.contained/*">
<xsl:choose>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Class">
<xsl:call-template name="Class" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Interface">
<xsl:call-template name="Interface" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Object">
<xsl:call-template name="Object" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Node">
<xsl:call-template name="Node" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:NodeInstance">
<xsl:call-template name="NodeInstance" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Component">
<xsl:call-template name="Component" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:ComponentInstance">
<xsl:call-template name="ComponentInstance" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Comment">
<xsl:call-template name="Comment" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'FreeText'">
<xsl:call-template name="FreeText" />
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Generalization">
<xsl:call-template name="Generalization_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Dependency">
<xsl:call-template name="Dependency_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Association">
<xsl:call-template name="Association_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Abstraction">
<xsl:call-template name="Abstraction_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:Link">
<xsl:call-template name="Link_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'CommentLink'">
<xsl:call-template name="Comment_Line"/>
</xsl:when>
<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/UML:ClassifierRole">
<xsl:call-template name="ClassifierRole_Line"/>
</xsl:when>
<xsl:when test="self::UML:Ellipse">
<xsl:call-template name="Ellipse"/>
</xsl:when>
<xsl:when test="self::UML:Polyline">
<xsl:call-template name="Polyline"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</g>
</xsl:template>
</xsl:stylesheet>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -