我想在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