/[volute]/trunk/projects/theory/snapdm/res/intermediate2xsd.xsl
ViewVC logotype

Diff of /trunk/projects/theory/snapdm/res/intermediate2xsd.xsl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 176 by gerard.lemson, Thu Apr 3 16:43:18 2008 UTC revision 177 by gerard.lemson, Fri Apr 4 06:30:24 2008 UTC
# Line 17  Line 17 
17    <!-- xml index on xmlid -->    <!-- xml index on xmlid -->
18    <xsl:key name="element" match="*//*" use="@xmiid"/>    <xsl:key name="element" match="*//*" use="@xmiid"/>
19    <xsl:key name="package" match="*//package" use="@xmiid"/>    <xsl:key name="package" match="*//package" use="@xmiid"/>
20    
21   <!-- Input parameters -->   <!-- Input parameters -->
22    <xsl:param name="targetnamespace_root"/>    <xsl:param name="targetnamespace_root"/>
23    <xsl:param name="schemalocation_root" />    <xsl:param name="schemalocation_root" />
# Line 116  Line 116 
116        
117    <xsl:template name="package-prefix">    <xsl:template name="package-prefix">
118      <xsl:param name="packageid"/>      <xsl:param name="packageid"/>
119            <xsl:variable name="rank">
120      <xsl:value-of select="'p:'"/>        <xsl:value-of select="count(*//package[@xmiid &lt; $packageid])+1"/>
121        </xsl:variable>
122        <xsl:value-of select="concat('p',$rank)"/>
123    </xsl:template>    </xsl:template>
124        
125        
# Line 146  Line 148 
148          <xsl:attribute name="targetNamespace">          <xsl:attribute name="targetNamespace">
149            <xsl:value-of select="$targetschema"/>            <xsl:value-of select="$targetschema"/>
150          </xsl:attribute>          </xsl:attribute>
151         <xsl:attribute name="xml:xsd">          <xsl:apply-templates select="depends" mode="xmlns"/>
            <xsl:value-of select="$xsd-ns"/>  
         </xsl:attribute>  
152          <xsd:annotation>          <xsd:annotation>
153            <xsd:documentation>            <xsd:documentation>
154              <xsl:text>Generated from UML->XMI->intermediate->XSD.</xsl:text>              <xsl:text>Generated from UML->XMI->intermediate->XSD.</xsl:text>
155            </xsd:documentation>            </xsd:documentation>
156          </xsd:annotation>          </xsd:annotation>
157            
158            <xsl:apply-templates select="depends" mode="ns-import"/>
159          <xsl:apply-templates select="objectType" mode="declare"/>          <xsl:apply-templates select="objectType" mode="declare"/>
160            
161        </xsd:schema>        </xsd:schema>
# Line 165  Line 166 
166    </xsl:template>    </xsl:template>
167        
168        
169      <xsl:template match="depends" mode="xmlns">
170        <xsl:variable name="p">
171          <xsl:call-template name="package-prefix">
172            <xsl:with-param name="packageid" select="@xmiidref"/>
173          </xsl:call-template>
174        </xsl:variable>
175        <xsl:variable name="ns">
176          <xsl:call-template name="namespace-for-package">
177            <xsl:with-param name="packageid" select="@xmiidref"/>
178          </xsl:call-template>
179        </xsl:variable>
180        <xsl:namespace name="{$p}">
181          <xsl:value-of select="$ns"/>
182        </xsl:namespace>
183      </xsl:template>
184    
185    
186        
187        
188    <xsl:template match="objectType" mode="declare">    <xsl:template match="objectType" mode="declare">

Legend:
Removed from v.176  
changed lines
  Added in v.177

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26