Padėtį (), XSL problema ... ar tai?

Aš turėjau šią problemą strage sukurti XSL šiandien. Ieškojo atsakymų visame internete, bet couldnt rasti bet .... Tiesą sakant, aš atspėti! Aš įdauža žinoti, ką mano problema buvo, kad ką aš ieškoti?

Bet kokiu atveju! Tiesiog tuo atveju, jei turi tokią pačią problemą, taip pat ir kažkaip pagal GALIOJANČIOS jūs sugebėjo nusileisti šiame puslapyje galia ... norite padėkoti man t ... O jei netyčia nusileido ant šio puslapio kažkokio keisto likimo ir būtumėte XSL kūrėjas, DO MAKE šios pastabos DABAR, DĖL ATEITIES priežastis, Jei vieną dieną, jūs susiduria šią problemą, tada JĖGA gali būti su jumis.

Problema pareiškimas:
Turiu šį XML, kur yra du mazgai, turintys keletą elementų, ir tarp šių dviejų mazgų elementai turi vieną su viena korespondencija. Toliau pateiktame pavyzdyje, kiekvienas mazgas <array vienetas name="PLAYURL" /> susijęs (atitinkamas pozicija) į elemento mazgo <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>

Dabar, aš turiu kilpą, kur i kilpa per <array name="SITENAME">, ir aš noriu gauti susijusį elementą name="PLAYURL"> <array atitinkamą poziciją),

Ką jūs normaliai būtų pabandyti padaryti tai ...

<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>

Atsiprašau!! TAI įpratęs dirbti ... Ak!! Surpised ...

Dabar jūs tikriausiai norėsite pabandyti kažką panašaus į tai ...

<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>

Vėlgi tai įpratęs dirbti ... Dabar jūs braižymo ant galvos, bando susisiekti visiems, kurie, jūsų manymu, žino šiek tiek XSL ir gali būti bet kokios pagalbos bandant kiekvieną kitą variantą ... ir dar jis įpratęs dirbti ... Na! Thats, ką nutiko man atleast ...

Dont Neviltis!! Try This

<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>

Dont Klausti kodėl ji veikia. Priežastis i dont turėti tinkamą priežastį ... jei jūs darote! Prašome lašas komentarą. Jis gali būti labai naudinga. Taip pat! jei turite geresnį pavadinimą šiam įrašui padaryti, lašas man linija :)


Palikite komentarą

NDK namo | Išreikšdami IT | Išreikšti paletė | Išreikšti Penmenship | Išreikšti Awe | Išreikšti Pats