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

📄 uml2svg.xsl

📁 Copyright&copy 2004 Sergiu Dumitriu, Marta G&icirc rdea, C&#259 t&#259 lin Hri&#355 cu Permission is
💻 XSL
字号:
<!--Template: UML2SVG.xslMain template--><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/ClassDiagram2SVG.xsl"/>	<xsl:import href="UseCaseDiagrams/UseCaseDiagram2SVG.xsl"/>	<xsl:import href="StateDiagrams/StateDiagram2SVG.xsl"/>	<xsl:import href="ActivityDiagrams/ActivityDiagram2SVG.xsl"/>	<xsl:import href="CollaborationDiagrams/CollaborationDiagram2SVG.xsl"/>	<xsl:import href="SequenceDiagrams/SequenceDiagram2SVG.xsl"/>	<xsl:import href="DeploymentDiagrams/DeploymentDiagram2SVG.xsl"/>	<xsl:import href="System/MakeArrowScript.xsl"/>	<xsl:import href="System/MakeTreeScript.xsl"/>	<xsl:import href="System/MakeTree.xsl"/>	<xsl:output media-type="image/svg+xml" method="xml" indent="yes"/>	<xsl:param name="SelectedDiagram"/>	<xsl:key name="xmi.id" match="UML:*" use="@xmi.id"/>	<!-- UML2SVG -->	<xsl:template match="text()"/>	<xsl:template match="/XMI">		<!-- A Diagram ID, if only one diagram is to be processed -->		<svg font-family="sans-serif" font-size="11px" stroke="black" fill-rule="nonzero">			<xsl:choose>				<xsl:when test="$SelectedDiagram">					<!-- If the user specified a certain diagram, look for that diagram and process it -->					<xsl:for-each select="key('xmi.id', $SelectedDiagram)">						<xsl:if test=".//*[@typeInfo = 'Arrow']">							<xsl:attribute name="onload">OrientArrows()</xsl:attribute>							<xsl:call-template name="MakeArrowScript"/>						</xsl:if>						<xsl:call-template name="DiagramSelector">							<xsl:with-param name="display" select="'true'"/>						</xsl:call-template>					</xsl:for-each>				</xsl:when>				<xsl:when test="count(/XMI/XMI.content/UML:Diagram) = 1">					<!-- If there is only one diagram -->					<xsl:if test="//*[@typeInfo = 'Arrow']">						<xsl:attribute name="onload">OrientArrows()</xsl:attribute>						<xsl:call-template name="MakeArrowScript"/>					</xsl:if>					<xsl:for-each select="/XMI/XMI.content/UML:Diagram">						<xsl:call-template name="DiagramSelector">							<xsl:with-param name="display" select="'true'"/>						</xsl:call-template>					</xsl:for-each>				</xsl:when>				<xsl:otherwise>					<!-- If no diagram was specified, process all the diagrams -->					<xsl:call-template name="MakeTreeScript"/>					<xsl:if test="//*[@typeInfo = 'Arrow']">						<xsl:attribute name="onload">OrientArrows()</xsl:attribute>						<xsl:call-template name="MakeArrowScript"/>					</xsl:if>					<xsl:for-each select="/XMI/XMI.content/UML:Diagram">						<xsl:call-template name="DiagramSelector"/>					</xsl:for-each>					<xsl:call-template name="MakeTree"/>				</xsl:otherwise>			</xsl:choose>			<style type="text/css"><![CDATA[text{	stroke: none;	baseline-shift: -100%;}			]]></style>		</svg>	</xsl:template>	<xsl:template name="DiagramSelector">		<xsl:param name="display" select="'false'"/>			<xsl:choose>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'ClassDiagram'">					<xsl:call-template name="ClassDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'UseCaseDiagram'">					<xsl:call-template name="UseCaseDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'StateDiagram'">					<xsl:call-template name="StateDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'ActivityDiagram'">					<xsl:call-template name="ActivityDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'CollaborationDiagram'">					<xsl:call-template name="CollaborationDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'SequenceDiagram'">					<xsl:call-template name="SequenceDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>				<xsl:when test="UML:GraphElement.semanticModel/UML:SimpleSemanticModelElement/@typeInfo = 'DeploymentDiagram'">					<xsl:call-template name="DeploymentDiagram">						<xsl:with-param name="display" select="$display"/>					</xsl:call-template>				</xsl:when>			</xsl:choose>	</xsl:template></xsl:stylesheet>

⌨️ 快捷键说明

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