I have a product XML where the various product variants are individually, but I want to combine them:
<xml> <produkt> <kod_polozky>B16004V</kod_polozky> <nazov_produktu>Bicykel Dema SCUD 9.0 white-blue 550 mm</nazov_produktu> <strucny_popis_produktu /> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </produkt> <produkt> <kod_polozky>B16003V</kod_polozky> <nazov_produktu>Bicykel Dema SCUD 9.0 white-blue 520 mm</nazov_produktu> <strucny_popis_produktu /> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </produkt> <produkt> <kod_polozky>B16002V</kod_polozky> <nazov_produktu>Bicykel Dema SCUD 9.0 red 550 mm</nazov_produktu> <strucny_popis_produktu /> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </produkt> <produkt> <kod_polozky>B160051V</kod_polozky> <nazov_produktu>Bicykel Dema SCUD 9.0 red 520 mm</nazov_produktu> <strucny_popis_produktu /> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </produkt> </xml> Desidered output:
<xml> <produkt> <kod_polozky>B16004V</kod_polozky> <nazov_produktu>Bicykel Dema SCUD 9.0</nazov_produktu> <strucny_popis_produktu/> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> <variant id="1"> <kod_polozky>B16004V</kod_polozky> <nazov_produktu>white-blue 550 mm</nazov_produktu> <strucny_popis_produktu/> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </variant> <variant id="2"> <kod_polozky>B16003V</kod_polozky> <nazov_produktu>white-blue 520 mm</nazov_produktu> <strucny_popis_produktu/> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </variant> <variant id="3"> <kod_polozky>B16002V</kod_polozky> <nazov_produktu>red 550 mm</nazov_produktu> <strucny_popis_produktu/> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </variant> <variant id="4"> <kod_polozky>B16001V</kod_polozky> <nazov_produktu>red 520 mm</nazov_produktu> <strucny_popis_produktu/> <popis_produktu>Some description</popis_produktu> <znacka>DEMA</znacka> <skladom>Yes</skladom> <mj>ks</mj> <cena>1899,99</cena> </variant> </produkt> </xml> In short:
If we find multiple instance of <nazov_produktu>, in the example it is "Bicykel Dema SCUD 9.0":
-
cut the
<nazov_produktu>at the position where it is matching with another similar product. The hard thing: how we determine which products are similar? There are example other models like:- "Bicykel Dema Anothermodel"
- "Bicykel Dema XY red"
-> and It should not be cut at "Bicykel Dema"
- -create
<variant id="x">, where<nazov_produktu>name is inverted, we need the end of the name "red 520 mm".
I have basic XSLT knowledge, but this one is totally out of my knowledge. I don't know whether it's possible at all?
No comments:
Post a Comment