[Lutingenerator-commits] r386 - lutingenerator/trunk/src/main/xsl
Author: schorlet Date: 2008-12-08 11:37:55 +0000 (Mon, 08 Dec 2008) New Revision: 386 Modified: lutingenerator/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl Log: Correction bug 1737 Prise en compte du MetaModel UML dans les fichiers XMI. Modified: lutingenerator/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl =================================================================== --- lutingenerator/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2008-12-08 10:22:41 UTC (rev 385) +++ lutingenerator/trunk/src/main/xsl/xmi1.2ToObjectModel.xsl 2008-12-08 11:37:55 UTC (rev 386) @@ -581,7 +581,7 @@ </xsl:attribute> </xsl:for-each> </xsl:when> - <xsl:otherwise> + <xsl:when test="UML:StructuralFeature.type/UML:*/@href != ''"> <xsl:variable name="external-url" select="substring-before(UML:StructuralFeature.type/UML:*/@href, '#')"/> <xsl:variable name="external-id" select="substring-after(UML:StructuralFeature.type/UML:*/@href, '#')"/> <xsl:for-each select="document($external-url)//descendant::*[@xmi.id=$external-id]"> @@ -590,7 +590,7 @@ <xsl:value-of select="@name"/> </xsl:attribute> </xsl:for-each> - </xsl:otherwise> + </xsl:when> </xsl:choose> <xsl:if test="UML:StructuralFeature.multiplicity"> @@ -809,11 +809,17 @@ <xsl:variable name="tagName"> <!-- see bug http://lists.labs.libre-entreprise.org/pipermail/lutingenerator-devel/2007-J... les UML:TagDefinition n'apparaisent pas au meme endroit (a voir pk) - <xsl:value-of select="/XMI/XMI.content/UML:Model/UML:Namespace.ownedElement/UML:TagDefinition[@xmi.id = $tagId]/@name"/> <xsl:value-of select="//UML:TagDefinition[@xmi.id = $tagId]/@name"/>--> - <xsl:variable name="external-url" select="substring-before(UML:TaggedValue.type/UML:TagDefinition/@href, '#')"/> - <xsl:variable name="external-id" select="substring-after(UML:TaggedValue.type/UML:TagDefinition/@href, '#')"/> - <xsl:value-of select="document($external-url)//descendant::*[@xmi.id=$external-id]/@name"/> + <xsl:choose> + <xsl:when test="$tagId != '' and /XMI/XMI.content/UML:Model/UML:Namespace.ownedElement/UML:TagDefinition[@xmi.id = $tagId]"> + <xsl:value-of select="/XMI/XMI.content/UML:Model/UML:Namespace.ownedElement/UML:TagDefinition[@xmi.id = $tagId]/@name"/> + </xsl:when> + <xsl:when test="UML:TaggedValue.type/UML:TagDefinition/@href != ''"> + <xsl:variable name="external-url" select="substring-before(UML:TaggedValue.type/UML:TagDefinition/@href, '#')"/> + <xsl:variable name="external-id" select="substring-after(UML:TaggedValue.type/UML:TagDefinition/@href, '#')"/> + <xsl:value-of select="document($external-url)//descendant::*[@xmi.id=$external-id]/@name"/> + </xsl:when> + </xsl:choose> </xsl:variable> <xsl:element name="tagValue"> <xsl:attribute name="name">
participants (1)
-
schorletï¼ users.labs.libre-entreprise.org