⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stereotype.xsl

📁 Copyright&copy 2004 Sergiu Dumitriu, Marta G&icirc rdea, C&#259 t&#259 lin Hri&#355 cu Permission is
💻 XSL
字号:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Template: Stereotype.xsl

Displays stereotypes as a list of comma separated names between guillmets ( << ...,... >> )
-->
<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="Styling.xsl"/>
	<xsl:import href="StringTSpan.xsl"/>
	<xsl:output media-type="image/svg+xml" method="xml" indent="yes"/>

	<!-- Stereotype -->
	<xsl:template name="Stereotype">
		<xsl:param name="DiagramID" select="@xmi.id"/>
		<xsl:param name="SemanticID" select="../../../../UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/*/@xmi.idref"/>

		<xsl:for-each select="UML:GraphElement.contained/UML:GraphNode">
			<xsl:choose>
				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'StereotypeStart'">
					<!-- Stereotype start, a '<<' symbol -->
					<tspan x="{UML:GraphElement.position/XMI.field[1]}" y="{UML:GraphElement.position/XMI.field[2]}"><xsl:text>&#171;</xsl:text></tspan>
				</xsl:when>

				<xsl:when test="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/*">
					<!-- Stereotypes -->
					<xsl:variable name="StereotypeID" select="UML:GraphElement.semanticModel/UML:Uml1SemanticModelBridge/UML:Uml1SemanticModelBridge.element/*/@xmi.idref"/>
					<xsl:call-template name="StringTSpan">
						<xsl:with-param name="SemanticID" select="$StereotypeID" />
						<xsl:with-param name="String">
							<xsl:value-of select="key('xmi.id', $StereotypeID)/@name"/>
						</xsl:with-param>
						<xsl:with-param name="x" select="UML:GraphElement.position/XMI.field[1]" />
						<xsl:with-param name="y" select="UML:GraphElement.position/XMI.field[2]" />
					</xsl:call-template>
				</xsl:when>

				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'KeywordMetaclass'">
					<!-- Metaclass -> Extend / Include -->
					<xsl:call-template name="StringTSpan">
						<xsl:with-param name="String">
							<xsl:choose>
								<xsl:when test="key('xmi.id', $SemanticID)/self::UML:Interface">
									<xsl:value-of select="'interface'"/>
								</xsl:when>
								<xsl:when test="key('xmi.id', $SemanticID)/self::UML:Actor">
									<xsl:value-of select="'actor'"/>
								</xsl:when>
								<xsl:when test="key('xmi.id', $SemanticID)/self::UML:Extend">
									<xsl:value-of select="'extend'"/>
								</xsl:when>
								<xsl:when test="key('xmi.id', $SemanticID)/self::UML:Include">
									<xsl:value-of select="'include'"/>
								</xsl:when>
								<xsl:when test="key('xmi.id', $SemanticID)/self::UML:Component or key('xmi.id', $SemanticID)/self::UML:ComponentInstance">
									<xsl:value-of select="'component'"/>
								</xsl:when>
							</xsl:choose>
						</xsl:with-param>
						<xsl:with-param name="x" select="UML:GraphElement.position/XMI.field[1]" />
						<xsl:with-param name="y" select="UML:GraphElement.position/XMI.field[2]" />
					</xsl:call-template>
				</xsl:when>

				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'StereotypeSeparator'">
					<!-- Stereotypes separators, ',' -->
					<tspan x="{UML:GraphElement.position/XMI.field[1]}" y="{UML:GraphElement.position/XMI.field[2]}"><xsl:text>,</xsl:text></tspan>
				</xsl:when>

				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'StereotypeEnd'">
					<!-- Stereotype end, a '>>' symbol -->
					<tspan x="{UML:GraphElement.position/XMI.field[1]}" y="{UML:GraphElement.position/XMI.field[2]}"><xsl:text>&#187;</xsl:text></tspan>
				</xsl:when>
			</xsl:choose>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -