Cześć wszystkim,
nie mam absolutnie wiedzy z zakresu XML, XSLT. Potrzebuję na szybko coś przefiltrować z pliku XML poprzez sterownik XSLT i za chiny mi nie wychodzi.
Mam plik XML:
<?xml version="1.0" encoding="utf-8"?>
<offer xmlns:iof="http://www.iai-shop.com/developers/iof.phtml" xmlns:iaiext="http://www.iai-shop.com/developers/iof/extensions.phtml" file_format="IOF" generated="2022-01-06 07:26:58" expires="2022-01-07 07:26:58" version="3.0" extensions="yes">
<products language="pol">
<product id="29" currency="PLN" code_on_card="D52002">
<producer id="1269457731" name="PRODUCER3"/>
</product>
<product id="30" currency="PLN" code_on_card="D52003">
<producer id="1269457731" name="PRODUCER2"/>
</product>
</products>
</offer>
oraz sterownik XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="offer/products/product" >
<xsl:if test="producer/@name = 'PRODUCER2'"/>
<id><xsl:value-of select="@id"/></id> -
<code><xsl:value-of select="@code_on_card"/></code><br/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Jednak wynik pokazuje wszystkie pozycje, a nie tylko te gdzie producer to PRODUCER2. Ktoś mnie naprowadzi dlaczego tak się dzieje? Z góry dzięki.