summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaverick2016-06-08 15:53:08 +0530
committerMaverick2016-06-08 15:53:08 +0530
commit6e5a67fab9d1ffef731b0dfda0d29b4baf9c704f (patch)
tree04344f621d54e8aa2103a84326743b9023b35845
parentdd9f7b0c31a79802e0b13212406a17ac4d33da35 (diff)
downloadxcos-on-web-6e5a67fab9d1ffef731b0dfda0d29b4baf9c704f.tar.gz
xcos-on-web-6e5a67fab9d1ffef731b0dfda0d29b4baf9c704f.tar.bz2
xcos-on-web-6e5a67fab9d1ffef731b0dfda0d29b4baf9c704f.zip
Integrated the XSL transformation with the HTML file
-rw-r--r--finalmodsheet.xsl2042
-rw-r--r--index.html78
2 files changed, 2118 insertions, 2 deletions
diff --git a/finalmodsheet.xsl b/finalmodsheet.xsl
new file mode 100644
index 0000000..80eebac
--- /dev/null
+++ b/finalmodsheet.xsl
@@ -0,0 +1,2042 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+eXtensible Stylesheet for converting GUI-obtained XML to Scilab-compatible XML.
+Authors: Maverick & Karma
+-->
+<!-- Maverick -->
+<!--
+NOTES:
+Look for TAG:Break1!!!
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="xml" indent="no"/>
+ <xsl:template match="/">
+ <xsl:element name="XcosDiagram">
+ <xsl:attribute name="background">-1</xsl:attribute>
+ <xsl:attribute name="title">Maverick XSL</xsl:attribute>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template match="root">
+ <xsl:element name="root">
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template match="mxCell">
+ <xsl:choose>
+ <xsl:when test="@style">
+ <!-- Style present -->
+ <xsl:choose>
+ <xsl:when test="@style='BIGSOM_f'">
+ <xsl:call-template name="BigSom" />
+ </xsl:when>
+ <xsl:when test="@style='ExplicitInputPort'">
+ <xsl:call-template name="ExplicitInputPort" />
+ </xsl:when>
+ <xsl:when test="@style='ExplicitOutputPort'">
+ <xsl:call-template name="ExplicitOutputPort" />
+ </xsl:when>
+ <xsl:when test="@style='ControlPort'">
+ <xsl:call-template name="ControlPort" />
+ </xsl:when>
+ <xsl:when test="@style='ImplicitInputPort'">
+ <xsl:call-template name="ImplicitInputPort" />
+ </xsl:when>
+ <xsl:when test="@style='ImplicitOutputPort'">
+ <xsl:call-template name="ImplicitOutputPort" />
+ </xsl:when>
+ <xsl:when test="@style='CommandPort'">
+ <xsl:call-template name="CommandPort" />
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Maverick -->
+ <!-- TAG:Break1
+ This line has been commented because Javascript was having
+ some problem with the function call.
+
+ Commenting doesn't bring any change to the result now, but
+ may cause some problems in the future.
+ -->
+ <!-- <xsl:apply-templates select="name(*[1])"/> -->
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <!-- Style not present -->
+ <xsl:copy-of select="." />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+ <xsl:template name="Object" match="Object">
+ <xsl:element name="Array">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@scilabClass">
+ <xsl:attribute name="scilabClass">
+ <xsl:value-of select="@scilabClass" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@varName">
+ <xsl:attribute name="varName">
+ <xsl:value-of select="@varName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="Array" match="Array">
+ <xsl:element name="Array">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@scilabClass">
+ <xsl:attribute name="scilabClass">
+ <xsl:value-of select="@scilabClass" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ScilabBoolean" match="ScilabBoolean">
+ <xsl:element name="ScilabBoolean">
+ <xsl:choose>
+ <xsl:when test="@height">
+ <xsl:attribute name="height">
+ <xsl:value-of select="@height" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="height">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="@width">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="width">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ScilabInteger" match="ScilabInteger">
+ <xsl:element name="ScilabInteger">
+ <xsl:if test="@height">
+ <xsl:attribute name="height">
+ <xsl:value-of select="@height" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@intPrecision">
+ <xsl:attribute name="intPrecision">
+ <xsl:value-of select="@intPrecision" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@width">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="add" match="add">
+ <xsl:element name="add">
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="mxGraphModel" match="mxGraphModel">
+ <xsl:element name="mxGraphModel">
+ <xsl:attribute name="as">model</xsl:attribute>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="root" match="root">
+ <xsl:element name="root">
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="AfficheBlock" match="AfficheBlock">
+ <xsl:element name="AfficheBlock">
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@hashCode">
+ <xsl:attribute name="hashCode">
+ <xsl:value-of select="@hashCode" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="BigSom" match="BigSom">
+ <xsl:element name="BigSom">
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="CommandControlLink" match="CommandControlLink">
+ <xsl:element name="CommandControlLink">
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ConstBlock" match="ConstBlock">
+ <xsl:element name="ConstBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="EventInBlock" match="EventInBlock">
+ <xsl:element name="EventInBlock">
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="EventOutBlock" match="EventOutBlock">
+ <xsl:element name="EventOutBlock">
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ExplicitInBlock" match="ExplicitInBlock">
+ <xsl:element name="ExplicitInBlock">
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ExplicitLink" match="ExplicitLink">
+ <xsl:element name="ExplicitLink">
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ExplicitOutBlock" match="ExplicitOutBlock">
+ <xsl:element name="ExplicitOutBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="GainBlock" match="GainBlock">
+ <xsl:element name="GainBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="GroudBlock" match="GroudBlock">
+ <xsl:element name="GroundBlock">
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ImplicitInBlock" match="ImplicitInBlock">
+ <xsl:element name="ImplicitInBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ImplicitLink" match="ImplicitLink">
+ <xsl:element name="ImplicitLink">
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ImplicitOutBlock" match="ImplicitOutBlock">
+ <xsl:element name="ImplicitOutBlock">
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="PrintBlock" match="PrintBlock">
+ <xsl:element name="PrintBlock">
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="Product" match="Product">
+ <xsl:element name="Product">
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="RoundBlock" match="RoundBlock">
+ <xsl:element name="RoundBlock">
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="SplitBlock" match="SplitBlock">
+ <xsl:element name="SplitBlock">
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="Summation" match="Summation">
+ <xsl:element name="Summation">
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="SuperBlock" match="SuperBlock">
+ <xsl:element name="SuperBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="SuperBlockDiagram" match="SuperBlockDiagram">
+ <xsl:element name="SuperBlockDiagram">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@background">
+ <xsl:attribute name="background">
+ <xsl:value-of select="@background" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@finalIntegrationTime">
+ <xsl:attribute name="finalIntegrationTime">
+ <xsl:value-of select="@finalIntegrationTime" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@gridEnabled">
+ <xsl:attribute name="gridEnabled">
+ <xsl:value-of select="@gridEnabled" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@integratorAbsoluteTolerance">
+ <xsl:attribute name="integratorAbsoluteTolerance">
+ <xsl:value-of select="@integratorAbsoluteTolerance" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@integratorRelativeTolerance">
+ <xsl:attribute name="integratorRelativeTolerance">
+ <xsl:value-of select="@integratorRelativeTolerance" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@maxIntegrationTimeInterval">
+ <xsl:attribute name="maxIntegrationTimeInterval">
+ <xsl:value-of select="@maxIntegrationTimeInterval" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@solver">
+ <xsl:attribute name="solver">
+ <xsl:value-of select="@solver" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@title">
+ <xsl:attribute name="title">
+ <xsl:value-of select="@title" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@toleranceOnTime">
+ <xsl:attribute name="toleranceOnTime">
+ <xsl:value-of select="@toleranceOnTime" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="TextBlock" match="TextBlock">
+ <xsl:element name="TextBlock">
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="VoltageSensorBlock" match="VoltageSensorBlock">
+ <xsl:element name="VoltageSensorBlock">
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <!-- <xsl:template name="mxCell" match="mxCell">
+ <xsl:element name="mxCell">
+
+
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@edge">
+ <xsl:attribute name="edge">
+ <xsl:value-of select="@edge"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@source">
+ <xsl:attribute name="source">
+ <xsl:value-of select="@source"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </xsl:element>
+ </xsl:template> -->
+ <xsl:template name="mxPoint" match="mxPoint">
+ <xsl:element name="mxPoint">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@x">
+ <xsl:attribute name="x">
+ <xsl:value-of select="@x" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@y">
+ <xsl:attribute name="y">
+ <xsl:value-of select="@y" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="data" match="data">
+ <xsl:element name="data">
+ <xsl:if test="@bUnsigned">
+ <xsl:attribute name="bUnsigned">
+ <xsl:value-of select="@bUnsigned" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@column">
+ <xsl:attribute name="column">
+ <xsl:value-of select="@column" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@line">
+ <xsl:attribute name="line">
+ <xsl:value-of select="@line" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@realPart">
+ <xsl:attribute name="realPart">
+ <xsl:value-of select="@realPart" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@imaginaryPart">
+ <xsl:attribute name="imaginaryPart">
+ <xsl:value-of select="@imaginaryPart" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ScilabDouble" match="ScilabDouble">
+ <xsl:element name="ScilabDouble">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="@height">
+ <xsl:attribute name="height">
+ <xsl:value-of select="@height" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="height">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="@width">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="width">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ScilabString" match="ScilabString">
+ <xsl:element name="ScilabString">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="@height">
+ <xsl:attribute name="height">
+ <xsl:value-of select="@height" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="height">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:choose>
+ <xsl:when test="@width">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width" />
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="width">0</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ControlPort" match="ControlPort">
+ <xsl:element name="ControlPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visbile">
+ <xsl:attribute name="visbile">
+ <xsl:value-of select="@visbile" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="mxGeometry" match="mxGeometry">
+ <xsl:element name="mxGeometry">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@height">
+ <xsl:attribute name="height">
+ <xsl:value-of select="@height" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@relative">
+ <xsl:attribute name="relative">
+ <xsl:value-of select="@relative" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@width">
+ <xsl:attribute name="width">
+ <xsl:value-of select="@width" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@x">
+ <xsl:attribute name="x">
+ <xsl:value-of select="@x" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@y">
+ <xsl:attribute name="y">
+ <xsl:value-of select="@y" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ExplicitOutputPort" match="ExplicitOutputPort">
+ <xsl:element name="ExplicitOutputPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataColumns">
+ <xsl:attribute name="dataColumns">
+ <xsl:value-of select="@dataColumns" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataLines">
+ <xsl:attribute name="dataLines">
+ <xsl:value-of select="@dataLines" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ExplicitInputPort" match="ExplicitInputPort">
+ <xsl:element name="ExplicitInputPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataColumns">
+ <xsl:attribute name="dataColumns">
+ <xsl:value-of select="@dataColumns" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataLines">
+ <xsl:attribute name="dataLines">
+ <xsl:value-of select="@dataLines" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ImplicitInputPort" match="ImplicitInputPort">
+ <xsl:element name="ImplicitInputPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataColumns">
+ <xsl:attribute name="dataColumns">
+ <xsl:value-of select="@dataColumns" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataLines">
+ <xsl:attribute name="dataLines">
+ <xsl:value-of select="@dataLines" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="ImplicitOutputPort" match="ImplicitOutputPort">
+ <xsl:element name="ImplicitOutputPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataColumns">
+ <xsl:attribute name="dataColumns">
+ <xsl:value-of select="@dataColumns" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataLines">
+ <xsl:attribute name="dataLines">
+ <xsl:value-of select="@dataLines" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="BasicBlock" match="BasicBlock">
+ <xsl:element name="BasicBlock">
+ <xsl:if test="@angle">
+ <xsl:attribute name="angle">
+ <xsl:value-of select="@angle" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@blockType">
+ <xsl:attribute name="blockType">
+ <xsl:value-of select="@blockType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnT">
+ <xsl:attribute name="dependsOnT">
+ <xsl:value-of select="@dependsOnT" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dependsOnU">
+ <xsl:attribute name="dependsOnU">
+ <xsl:value-of select="@dependsOnU" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@interfaceFunctionName">
+ <xsl:attribute name="interfaceFunctionName">
+ <xsl:value-of select="@interfaceFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionName">
+ <xsl:attribute name="simulationFunctionName">
+ <xsl:value-of select="@simulationFunctionName" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@simulationFunctionType">
+ <xsl:attribute name="simulationFunctionType">
+ <xsl:value-of select="@simulationFunctionType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@vertex">
+ <xsl:attribute name="vertex">
+ <xsl:value-of select="@vertex" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="CommandPort" match="CommandPort">
+ <xsl:element name="CommandPort">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@connectable">
+ <xsl:attribute name="connectable">
+ <xsl:value-of select="@connectable" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@connectedLinkId">
+ <xsl:attribute name="connectedLinkId">
+ <xsl:value-of select="@connectedLinkId" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@dataType">
+ <xsl:attribute name="dataType">
+ <xsl:value-of select="@dataType" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@id">
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@initialState">
+ <xsl:attribute name="initialState">
+ <xsl:value-of select="@initialState" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@ordering">
+ <xsl:attribute name="ordering">
+ <xsl:value-of select="@ordering" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@parent">
+ <xsl:attribute name="parent">
+ <xsl:value-of select="@parent" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@style">
+ <xsl:attribute name="style">
+ <xsl:value-of select="@style" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:if test="@visible">
+ <xsl:attribute name="visible">
+ <xsl:value-of select="@visible" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+ <xsl:template name="Orientation" match="Orientation">
+ <xsl:element name="Orientation">
+ <xsl:if test="name(..)='BasicBlock'">
+ <xsl:if test="@as">
+ <xsl:attribute name="as">
+ <xsl:value-of select="@as" />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:if>
+ <xsl:if test="@value">
+ <xsl:attribute name="value">
+ <xsl:value-of select="@value" />
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates />
+ </xsl:element>
+ </xsl:template>
+</xsl:stylesheet> \ No newline at end of file
diff --git a/index.html b/index.html
index e488aa9..94c7a12 100644
--- a/index.html
+++ b/index.html
@@ -32,6 +32,27 @@
<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript">
+ /*
+ Maverick
+ This method is used for loading the stylesheet from the file.
+ Reference: http://www.w3schools.com/xsl/xsl_client.asp
+ */
+
+ function loadXMLDoc(filename) {
+ if (window.ActiveXObject) {
+ xhttp = new ActiveXObject("Msxml2.XMLHTTP");
+ } else {
+ xhttp = new XMLHttpRequest();
+ }
+ xhttp.open("GET", filename, false);
+ try {
+ xhttp.responseType = "msxml-document"
+ } catch (err) {}
+ xhttp.send("");
+ return xhttp.responseXML;
+ }
+
+
function main(container, outline, toolbar, sidebar, status) {
// Checks if the browser is supported
if (!mxClient.isBrowserSupported()) {
@@ -461,18 +482,71 @@
toolbar.appendChild(spacer.cloneNode(true));
+ /*
+ Maverick
+ Defining a variable to used by both the export buttons.
+ This variable contains the value of the created XML and
+ is subsequently used by the ExportXCOS button.
+ */
+
+ var xmlFromExportXML=null;
+ var flagXcosClickedFirst=false;
// Defines a new export action
- editor.addAction('export', function(editor, cell) {
+ editor.addAction('exportXML', function(editor, cell) {
var textarea = document.createElement('textarea');
textarea.style.width = '400px';
textarea.style.height = '400px';
+
var enc = new mxCodec(mxUtils.createXmlDocument());
var node = enc.encode(editor.graph.getModel());
+
+
+ //console.log(mxUtils.getPrettyXml(node));
textarea.value = mxUtils.getPrettyXml(node);
+ xmlFromExportXML=mxUtils.getXml(node);
+ if(!flagXcosClickedFirst)
showModalWindow(graph, 'XML', textarea, 410, 440);
});
- addToolbarButton(editor, toolbar, 'export', 'Export', 'images/export1.png');
+ /* Maverick
+ Reference: http://www.w3schools.com/xsl/xsl_client.asp*/
+
+ editor.addAction('exportXcos', function() {
+ flagXcosClickedFirst=true;
+ editor.execute('exportXML');
+ flagXcosClickedFirst=false;
+ if(xmlFromExportXML==null) alert('First create the XML file.');
+ else
+ {
+ /*
+ Maverick
+ Adding <mxGraphModel> tag to make up for the missing tag.
+ */
+
+ var xml=mxUtils.parseXml("<mxGraphModel>"+xmlFromExportXML+"</mxGraphModel>");
+
+ var xsl=loadXMLDoc("finalmodsheet.xsl");
+
+ xsltProcessor = new XSLTProcessor();
+ xsltProcessor.importStylesheet(xsl);
+ resultDocument = xsltProcessor.transformToDocument(xml);
+
+
+ var textarea = document.createElement('textarea');
+ textarea.style.width = '400px';
+ textarea.style.height = '400px';
+ /*
+ Maverick
+ Using resultDocument.documentElement to remove an additional tag "<#document>" created by the XSLTProcessor.
+ */
+ textarea.value=mxUtils.getPrettyXml(resultDocument.documentElement);
+ showModalWindow(graph, 'Xcos', textarea, 410, 440);
+ }
+ });
+
+ addToolbarButton(editor, toolbar, 'exportXML', 'Export XML', 'images/export1.png');
+
+ addToolbarButton(editor, toolbar, 'exportXcos', 'Export Xcos', 'images/export1.png');
// Adds toolbar buttons into the status bar at the bottom
// of the window.