Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> XSL:IF nie wyklucza
banki
post 17.01.2022, 23:26:02
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 23.11.2007

Ostrzeżenie: (0%)
-----


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:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <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">
  3. <products language="pol">
  4. <product id="29" currency="PLN" code_on_card="D52002">
  5. <producer id="1269457731" name="PRODUCER3"/>
  6. </product>
  7. <product id="30" currency="PLN" code_on_card="D52003">
  8. <producer id="1269457731" name="PRODUCER2"/>
  9. </product>
  10. </products>
  11. </offer>


oraz sterownik XSLT
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <xsl:for-each select="offer/products/product" >
  5. <xsl:if test="producer/@name = 'PRODUCER2'"/>
  6. <id><xsl:value-of select="@id"/></id> -
  7. <code><xsl:value-of select="@code_on_card"/></code><br/>
  8. </xsl:if>
  9. </xsl:for-each>
  10. </xsl:template>
  11. </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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 18:09