Problem s položaja () v XSL ... ali je to?
Sem imel to težavo strage med ustvarjanjem XSL danes. Iskali odgovore v celotni mreži, vendar strjena najdete vse .... Pravzaprav mislim! Trud sem vedel, kaj je moj problem, tako da kaj iščem?
Kakorkoli že! Samo v primeru, da so to zelo isti problem preveč in nekako z močjo delovne vam je uspelo pristati na tej strani, ..., ki bi se zahvalil mi ton ... In, če ste po nesreči pristal na tej strani nekaj čudno usodo in se zgodi, da razvijalec XSL, DO si zapišite to zdaj, v prihodnje vzrok, če nekega dne, si obraz s tem vprašanjem, potem FORCE morda ne bo z vami.
Problem izjava:
Imam XML, kjer sta dva vozlišča z več postavk v njem in predmeti med tema dvema vozlišč imajo eno na eno korespondenco. V spodnjem primeru je vsak element v vozlišču <array name="PLAYURL" /> nanaša (ustrezni položaj) na postavko, na vozlišču <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>
Zdaj imam zanko, kjer sem zanka skozi <array name="SITENAME">, in želim, da bi dobili ustrezen element (na ustreznem položaju) v <array name="PLAYURL">,
Kaj bi normalno poskusil storiti, je ...
<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>
Žal!! TA Navada DELO ... Ah!! Surpised ...
Zdaj bi si verjetno želeli, da preizkusite, kaj takega ...
<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>
In spet ta navada delati ... Zdaj si praskal glavo, poskuša stopiti v stik vsem, ki mislite, da ve nekaj XSL in bi lahko katero koli pomoč ... poskusite vse druge možnosti ... in še vedno navada, da deluje ... No! To kar se mi je zgodilo atleast ...
Dont Obup! 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 Vprašaj me zakaj to deluje. Vzrok i dont imajo pravico razlog ... če vam! Prosim, spustite komentar. Morda bi bilo zelo koristno. Tudi! Če imate boljši naslov za to delovno mesto, ne spusti me linije ![]()










































