Ongelma asentoon () ja XSL ... vai onko?
Minulla oli tämä strage ongelma luotaessa XSL tänään. Etsinyt vastauksia koko verkon, mutta couldnt löytää mitään .... Oikeastaan kai! Olen kuhmu tiedä mitä minun ongelmani oli, niin mitä etsin?
Anyway! Vain jos sinulla on tämä aivan sama ongelma myös ja jotenkin voimalla FORCE olet onnistunut laskeutumaan tällä sivulla ... te kiittää minua tonnia ... Ja jos olet vahingossa päätynyt tälle sivulle jostain kumman kohtalosta ja satut olemaan XSL kehittäjä, eivät tee merkille NYT, tulevaisuuden syy, jos jonain päivänä kohtaat tämän ongelman, niin FORCE ei ehkä ole teidän kanssanne.
Ongelma lausunto:
Minulla on XML, jossa on kaksi solmua useita kohteita, ja erät näiden kahden solmut on yksi yhteen vastaavuus. Alla olevassa esimerkissä, kunkin kohteen solmussa <array name="PLAYURL" /> liittyy (vastaava asema) ja kohteen solmussa <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>
Nyt minulla on silmukka, jossa i takaisinkytkentä <array name="SITENAME">, ja haluan saada veroihin (at vastaava asema) ja <array name="PLAYURL">,
Mitä te normaly yrittää tehdä, 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! TÄMÄ tapana työskennellä ... Ah!! Surpised ...
Nyt varmaan kokeilla, jotain tällaista ...
<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 taas tämä tapa toimia ... Nyt olet naarmuuntumisen pään, yrittää ottaa yhteyttä kaikki kuka luulet tuntee joitakin XSL ja voisi olla mitään apua ... yrität joka toinen vaihtoehto ... ja silti se tapana työskennellä ... No! Että mitä tapahtui minulle sentään ...
DONT epätoivo! Kokeile tätä
<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 KYSY miksi se toimii. Syy i dont on oikeus syy ... jos teet! Älä pudota kommentti. Se voi olla melko hyödyllinen. Myös! Jos sinulla on paremmat otsikko tähän virkaan, tee pudota minua linja










































