我想在for-each循环中选择XMI标记的父项。 这里是我输入:使用XSLT选择标记的父项
<XMI xmi.version='1.2' xmlns:UML="org.omg.xmi.namespace.UML">
<XMI.content>
<UML:Model xmi.id='eee_1045467100313_135436_1' name='Data'>
<UML:Namespace.ownedElement>
<UML:Package xmi.id='_9_0_bc102e5_1427365805826_580042_23'
name='migration2'>
<UML:Package xmi.id='_9_0_bc102e5_1427365805826_580042_22'
name='migration'>
<UML:Class xmi.id='_9_0_bc102e5_1427367042666_255023_151'
name='Employee'>
<UML:Classifier.feature>
<UML:Attribute xmi.id='_9_0_bc102e5_1427367052819_893122_168'
name='cin'>
</UML:Attribute>
</UML:Classifier.feature>
</UML:Class>
<UML:Class xmi.id='_9_0_bc102e5_1427367042666_255023_152'
name='Employee2'>
<UML:Classifier.feature>
<UML:Attribute xmi.id='_9_0_bc102e5_1427367052819_893122_169'
name='cin2'>
</UML:Attribute>
</UML:Classifier.feature>
</UML:Class>
<UML:Class xmi.id='_9_0_bc102e5_1427367042666_255023_153'
name='Employee3'>
<UML:Classifier.feature>
<UML:Attribute xmi.id='_9_0_bc102e5_1427367052819_893122_170'
name='cin3'>
</UML:Attribute>
</UML:Classifier.feature>
</UML:Class>
</UML:Package>
</UML:Package>
</UML:Namespace.ownedElement>
</UML:Model>
</XMI.content>
</XMI>
所以选择UML:包用XSLT我使用的选择选项for-each循环:
<xsl:for-each
select="XMI/XMI.content/UML:Model/UML:Namespace.ownedElement/UML:Package">
<packagedElement>
<xsl:attribute name="xmi:type">uml:package</xsl:attribute>
<xsl:attribute name="xmi.id">
<xsl:value-of select='@xmi.id' />
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select='@name' />
</xsl:attribute>
</xsl:for-each>
是否有可能更换
select="XMI/XMI.content/UML:Model/UML:Namespace.ownedElement/UML:Package"
PS:我心中已经e试过*/UML:Package和../UML:Package,但没有成功。 有帮助吗?
UML哪':Package'do要选择?有两个,你可能应该按名称选择它们。顺便说一句,它很烦人,代码伸出窗口,由于你的标签。 –
我想在我的输入中选择每个UML:Package,以便对其进行更改并保持输入文件的层次结构相同 – Iheb