Я новичок в XSLT и у меня проблема. Мой код выглядит так:
<xsl:element name="relatedArticle1">
<xsl:value-of select="translate(ancestor-or-self::node()/CrossSelling/CSArtikel/@ArtikelNr,'-','')"/>
</xsl:element>
<xsl:element name="relatedArticle2">
<xsl:value-of select="translate(ancestor-or-self::node()/CrossSelling/CSArtikel/@ArtikelNr[@Index = '2'],'-','')"/>
</xsl:element>
<xsl:element name="relatedArticle3">
<xsl:value-of select="translate(ancestor-or-self::node()/CrossSelling/CSArtikel/@ArtikelNr[@Index = '3'],'-','')"/>
</xsl:element>
<xsl:element name="relatedArticle4">
<xsl:value-of select="translate(ancestor-or-self::node()/CrossSelling/CSArtikel/@ArtikelNr[@Index = '4'],'-','')"/>
</xsl:element>
<xsl:element name="relatedArticle5">
<xsl:value-of select="translate(ancestor-or-self::node()/CrossSelling/CSArtikel/@ArtikelNr[@Index = '5'],'-','')"/>
</xsl:element>
Что он должен делать:
это должно дать мне
<relatedArticle1>2810000001</relatedArticle1>
<relatedArticle1>2810000002</relatedArticle1>
, потому что файл XML выглядит так:
<CrossSelling>
<CSArtikel Index="1" BildNr="009710" ArtikelNr="281-00-00001" FabrikartikelNr="Shoe Clean 905768" />
<CSArtikel Index="2" BildNr="009709" ArtikelNr="281-00-00002" FabrikartikelNr="Combi Pflege Schaum 905859" />
<CSArtikel Index="3" BildNr="009713" ArtikelNr="062-00-00010" FabrikartikelNr="Nano Plus 906992" />
<CSArtikel Index="4" BildNr="009720" ArtikelNr="062-00-00011" FabrikartikelNr="906802" />
<CSArtikel Index="5" BildNr="008667" ArtikelNr="069-00-00008" FabrikartikelNr="Poliertuch 905856" />
</CrossSelling>
но это не так.
, поэтому [@Index = '3']
для выбора строки 3 fe не работает.
Как я могу изменить код, чтобы он получал изразные линии?