私は次のxmlを持っています:
<PCstore>
<StoreList>
<Store id="001">
<ItemList>
<Items laptop="DELL" price="300"/>
<Items laptop="gateway" price="450"/>
<Items screen="LG" price="200"/>
</ItemList>
</Store>
</StoreList>
</PCstore>
私はとマージする必要があります:
<PCstore>
<StoreList>
<Store id="002">
<ItemList>
<Items laptop="gateway" price="650"/>
<Items screen="LG" price="200/>
<Items speakers="sony" price="50"/>
</ItemList>
</Store>
</StoreList>
</PCstore>
そして、属性 (laptop="gateway") を ifiltering する欲求の出力:
<PCstore>
<StoreList>
<Store id="001">
<ItemList>
<Items laptop="gateway" price="450"/>
</ItemList>
</Store>
<Store id="002">
<ItemList>
<Items laptop="gateway" price="650"/>
</ItemList>
</Store>
</StoreList>
</PCstore>
さらにxml3.xml、xml4.xmlなど...
私が試したコードがありません。私は XSLT の初心者です。誰かが私を助けてくれることを願っています。
更新:
このコードを試しましたが、うまくいきません...
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="Items">
<xsl:copy>
<xsl:apply-templates select="@* | node()" />
<xsl:apply-templates
select="document('xml2.xml')
/PCstore/StoreList/Store/ItemList[@id = current()/../@id]
/Items[@laptop = current()/@value]/*" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>