输入xml:
<Produkt><Index>275938</Index><Nazwa><RĘKAWICE BRAMKARSKIE PUMA 040959 01 SIZE.11></Nazwa><Ean>887119275938</Ean></Produkt>
<Produkt><Index>275921</Index><Nazwa><RĘKAWICE BRAMKARSKIE PUMA 040959 01 SIZE.10></Nazwa><Ean>887119275921</Ean></Produkt>
<Produkt><Index>1001128</Index><Nazwa><ZESTAW DO NURKOWANIA VIZARI JUNIOR XS 32-34></Nazwa><Ean>5902431001128</Ean></Produkt>
<Produkt><Index>1001111</Index><Nazwa><ZESTAW DO NURKOWANIA VIZARI JUNIOR XXS 30-32></Nazwa><Ean>5902431001111</Ean></Produkt>
<Produkt><Index>7194A</Index><Nazwa><PUCHAR PLASTIKOWY SREBRNO - NIEBIESKI 7194A></Nazwa><Ean>2010000242261</Ean></Produkt>
<Produkt><Index>7194B</Index><Nazwa><PUCHAR PLASTIKOWY SREBRNO - NIEBIESKI 7194B></Nazwa><Ean>2010000242278</Ean></Produkt>
键:
<xsl:key name="ProductSize" match="Produkt" use="substring-before(Nazwa, 'SIZE.')" />
<xsl:key name="ProductSize2" match="Produkt" use="substring-before(translate(Nazwa, '0123456789#', '##########'), '##-##')" />
<xsl:key name="Restofproducts" match="Produkt" use="???????" />
您好,我正在根据产品名称中隐藏的尺寸对产品进行分组,并且我需要密钥来存储所有其他密钥中没有的产品。
预期分组:
<xsl:key name="ProductSize" match="Produkt" use="substring-before(Nazwa, 'SIZE.')" />
- <Produkt><Nazwa>RĘKAWICE BRAMKARSKIE PUMA 040959 01 SIZE.11</Nazwa></Produkt>
- <Produkt><Nazwa>RĘKAWICE BRAMKARSKIE PUMA 040959 01 SIZE.10</Nazwa></Produkt>
<xsl:key name="ProductSize2" match="Produkt" use="substring-before(translate(Nazwa, '0123456789#', '##########'), '##-##')" />
- <Produkt><Nazwa>ZESTAW DO NURKOWANIA VIZARI JUNIOR XS 32-34</Nazwa></Produkt>
- <Produkt><Nazwa>ZESTAW DO NURKOWANIA VIZARI JUNIOR XXS 30-32</Nazwa></Produkt>
<xsl:key name="Restofproducts" match="Produkt" use="???????" />
- <Produkt><Nazwa>PUCHAR PLASTIKOWY SREBRNO - NIEBIESKI 7194A</Nazwa></Produkt>
- <Produkt><Nazwa>PUCHAR PLASTIKOWY SREBRNO - NIEBIESKI 7194B</Nazwa></Produkt>
任何想法“ Restofproducts”的外观如何?
答案 0 :(得分:3)
我不太清楚你的意思。给定定义
<xsl:key name="ProductSize"
match="Produkt"
use="substring-before(concat(Nazwa, 'SIZE.'), 'SIZE.')" />
此密钥包括所有Produkt
个节点。因此,当您说“要存储所有没有其他密钥的产品”时,就没有此类产品。
如果您希望每个键仅索引Produkt
元素的一个子集,则需要在匹配模式中定义该子集,例如
<xsl:key name="ProductSize"
match="Produkt[contains(Nazwa, 'SIZE.')]"
use="substring-before(Nazwa, 'SIZE.')" />
然后您可以使用补充谓词(例如match="Produkt[not([contains(Nazwa, 'SIZE.')) and not(...)]"