Søge i andet xml dokument
HejJeg har to xml-filer og et xslt dokument.
Det jeg vil er at jeg fra kalder xslt sammen med product.xml, fra xslt indlæser den så variant.xml som jeg så løber igennem for at finde de forskellige VAR_TEXT udfra min produkt 121212.
Hvis product.xml og xsl virker fint sammen.
Hvis jeg prøver med et test.xsl og variant.xml, så kommer data også ud. Men hvordan kobler jeg variant.xml ind i xsl, så
product.xml
<ELEMENTS>
<PRODUCT>
<GENERAL>
<PROD_NUM>121212</PROD_NUM>
<LANGUAGE_ID>26</LANGUAGE_ID>
<PROD_NAME>Test varer</PROD_NAME>
</GENERAL>
<ADVANCED>
<VENDOR_NUM/
</ADVANCED>
<STOCK>
<STOCK_COUNT>2</STOCK_COUNT>
</STOCK>
</PRODUCT>
</ELEMENTS>
variant.xml
<ELEMENTS>
<VARIANT_GROUP>
<GRP_LANGUAGE_ID>26</GRP_LANGUAGE_ID>
<GRP_NAME>Tov længder</GRP_NAME>
<GRP_FREE_TEXT_VARIANT>False</GRP_FREE_TEXT_VARIANT>
<GRP_SORT>0</GRP_SORT>
<GRP_SELECTED_TEXT>Vælg Længde</GRP_SELECTED_TEXT>
<VARIANTS>
<VARIANT>
<VAR_TEXT>50 cm</VAR_TEXT>
</VARIANT>
<VARIANT>
<VAR_TEXT>75 cm</VAR_TEXT>
</VARIANT>
<VARIANT>
<VAR_TEXT>100 cm</VAR_TEXT
</VARIANT>
</VARIANTS>
<PRODUCTS>
<PRODUCT>
<PROD_NUM>121212</PROD_NUM>
</PRODUCT>
<PRODUCT>
<PROD_NUM>131313</PROD_NUM>
</PRODUCT>
</PRODUCTS>
</VARIANT_GROUP>
</ELEMENTS>
mit xslt dokument:
<xsl:param name="language" select="document('VARIANTS.XML')" />
<xsl:template match="PRODUCT_EXPORT/ELEMENTS">
<products>
<xsl:for-each select="PRODUCT">
<product>
Her vil jeg godt have data fra variant.xml ind, baseret på et PROD_NUM fra product.xml
<xsl:apply-templates select="VARIANT_EXPORT/ELEMENTS" />
</product>
</xsl:for-each>
</products>
</xsl:template>
<xsl:key name="preg" match="PRODUCT" use="PROD_NUM"/>
<xsl:template match="VARIANT_EXPORT/ELEMENTS">
<xsl:for-each select="key('preg','121212')">
<xsl:for-each select="../../VARIANTS/VARIANT">
<variant>
<size><xsl:value-of select="VAR_TEXT"/></size>
</variant>
</xsl:for-each>
</xsl:for-each>
</xsl:template>