[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] i need a progressive id...
Subject: RE: [xsl] i need a progressive id... From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 17 Dec 2005 18:44:51 -0000 |
Use the position() function; or for more elaborate numbering, use <xsl:number>. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Gianni G [mailto:giagug80@xxxxxxxxxxx] > Sent: 17 December 2005 17:51 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] i need a progressive id... > > Hi, > i am an italian student. > > I need to do an xsl transformation to trasform an xml file in > an xmi file. > > The xml file has a sintax like this: > > <?xml version="1.0" encoding="ASCII" ?> > - <useCaseUMLDiagramModel:UseCaseDiagram xmi:version="2.0" > xmlns:xmi="http://www.omg.org/XMI" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:useCaseUMLDiagramModel="http://useCaseUMLDiagramModel"> > - <modelElements type="useCaseUMLDiagramModel:Actor" description="" > name="Utente" location="Point(114, 134)" stereotype="Actor"> > <sourceRelationships > xsi:type="useCaseUMLDiagramModel:CommunicateConnection" > target="//@..." stereotype="communicate" /> > </modelElements> > <modelElements type="useCaseUMLDiagramModel:UseCase" description="" > name="Autenticazione" > targetRelationships="//@.../@..." > location="Point(339, 149)" size="Dimension(100, 70)" > stereotype="Use Case" > /> > </useCaseUMLDiagramModel:UseCaseDiagram> > > I need to have an unique id for my xmi file. > > This is a little part of my xsl file... > > [...] > - <xsl:template match="//modelElements"> > - <xsl:choose> > - <xsl:when test="@type='useCaseUMLDiagramModel:Actor'"> > - <Behavioral_Elements.Use_Cases.Actor xmi.id="????"> > <----------- HERE IS > THE PROBLEM > - <Foundation.Core.ModelElement.name> > <xsl:value-of select="@name" /> > </Foundation.Core.ModelElement.name> > <Foundation.Core.ModelElement.isSpecification xmi.value="false" /> > <Foundation.Core.GeneralizableElement.isRoot xmi.value="false" /> > <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false" /> > <Foundation.Core.GeneralizableElement.isAbstract > xmi.value="false" /> > - <Foundation.Core.ModelElement.namespace> > <Foundation.Core.Namespace xmi.idref="D.1" /> > - <!-- Use Case View > --> > </Foundation.Core.ModelElement.namespace> > </Behavioral_Elements.Use_Cases.Actor> > </xsl:when> > - <xsl:when test="@type='useCaseUMLDiagramModel:UseCase'"> > - <Behavioral_Elements.Use_Cases.UseCase xmi.id="???"> > <----------- > HERE IS THE PROBLEM > - <Foundation.Core.ModelElement.name> > <xsl:value-of select="@name" /> > </Foundation.Core.ModelElement.name> > <Foundation.Core.ModelElement.visibility xmi.value="private" /> > <Foundation.Core.GeneralizableElement.isRoot xmi.value="false" /> > <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false" /> > <Foundation.Core.GeneralizableElement.isAbstract > xmi.value="false" /> > - <Foundation.Core.ModelElement.namespace> > <Model_Management.Model xmi.idref="D.1" /> > - <!-- Use Case View > --> > </Foundation.Core.ModelElement.namespace> > </Behavioral_Elements.Use_Cases.UseCase> > </xsl:when> > - <xsl:otherwise> > <errore>errore</errore> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > [...] > > The question is: how can i count the model elements and put > the correct id? > I tryed to use the count function but it gives me the total number of > elements. > I need something like a counter but i have also readed thah i > cant update an > xsl variable. > > Someone can give me an help? It's so important! > > Thanks, and sorry for my bad english. > > Best regards, Gianni.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] i need a progressive id..., Gianni G | Thread | Re: [xsl] How do I not ignore white, Mark Wilson |
[xsl] i need a progressive id..., Gianni G | Date | [xsl] Unescaped CDATA?, Jan Eden |
Month |