Mul oli see strage probleemi luues XSL täna. Otsis vastuseid kogu net, kuid couldnt leia .... Tegelikult ma arvan! Ma varal teada, mis mu probleem oli, et mida ma pean otsima?
Igatahes! Igaks juhuks teil on seesama probleem liiga ja millegipärast poolt võimu sunnivad sind õnnestus maanduda sellel lehel ... siis oleks tänada mind tonni ... Ja kui sa oled kogemata maandunud see leht mingil kummalisel saatust ja teil juhtub olema XSL arendaja, ei tee teadmiseks KOHE, tuleviku põhjusega, kui ühel päeval, siis nägu selles küsimuses, siis FORCE ei pruugi olla koos sinuga.
Probleem avaldus:
Mul on XML, kus on kaks tippu, kus mitu elementi ning seda teemad nende kahe tippude 00:59 kirjavahetus. Alltoodud näites iga objekti sõlme <array name="PLAYURL" /> seotud (positsioon), et toode on sõlm <array name="SITENAME" />
<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>
Nüüd mul on loop, kus i ahela kaudu <array name="SITENAME">, ja ma tahan saada seotud objekti (at positsioon) in <array name="PLAYURL">,
Mis siis oleks normaly proovida teha, on ...
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
SORRY! SELLE harjumus tööd ... Ah!! Surpised ...
Nüüd sa ilmselt tahad proovida, midagi sellist ...
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
Ja jälle see harjumus tööd ... Nüüd kriimustada oma pead, püüdes pöörduda igaüks, kes te arvate, teab mõned XSL ja võiks mingit abi ... püüad iga teine võimalus ... ja veel see harjumus tööd ... Noh! Thats mis juhtus minuga atleast ...
Dont meeleheidet! Proovige seda
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ <xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
Ära küsi, miks see toimib. Sest ma dont on õigus põhjus ... kui sa teed! Palun ärge tilk kommentaari. See võib olla päris kasulikuks. Ka! kui teil on parem JAOTIS sellele ametikohale, ei tilk mulle joone 