Një problem me pozicionin () në XSL ... apo është?
Kam pasur këtë problem strage duke krijuar një XSL sot. Shikuar për përgjigjet të gjithë neto, por couldnt gjeni ndonjë .... Në fakt I guess! Unë yxhym e di se çfarë problemi im ishte, kështu që ajo mund të shikoni për?
Anyway! Vetëm në rast se ju e keni këtë problem shumë të njëjtën shumë dhe disi nga ana e pushtetit të detyrojë që arriti të tokës në këtë faqe ... do të falenderoj më ton ... Dhe në qoftë se ju keni zbarkoi në këtë faqe accidently për disa fatin e çuditshme dhe ju ndodhë të jetë një zhvillues XSL, DO bëjë një shënim të këtë tani, për hir të ardhmen, nëse një ditë, ju të përballet me këtë çështje, atëherë forca nuk mund të jetë me ju.
Deklarata Problem:
Unë kam këtë XML, ku ka dy nyje me objekte të shumta në të dhe pikat mes këtyre dy nyje të ketë një korrespondencë një me një. Në shembullin e mëposhtëm, çdo send në <array nyjen name="PLAYURL" /> lidhet (pozicioni përkatës) në një artikull në <array nyjen 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>
Tani, unë kam një lak, ku i loop nëpërmjet <array name="SITENAME">, dhe unë dua të të marrë pika të lidhura (në pozicionin përkatës) në <array name="PLAYURL">,
Çfarë ju do të normaly provoni të bëni është ...
<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! KJO PUNA zakon ... Ah! Surpised ...
Tani ju ndoshta do të dëshironi të provoni, diçka si kjo ...
<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>
Dhe Përsëri ky zakon të punojë ... Tani ju kruarje kokën tuaj, duke u përpjekur për të kontaktuar të gjithë ata që ju mendoni se e di se disa XSL dhe mund të jetë çdo ndihmë ... provoni çdo mundësi tjetër ... dhe ende është zakon të punojë ... E pra! Thats çfarë ka ndodhur me mua atleast ...
Dont Dëshpërimi! 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 pyesni mua pse ajo punon. Shkak i dont kanë një arsye të drejtë ... nëse e bëni këtë! Ju lutem mos bjerë një koment. Kjo mund të jetë shumë e dobishme. Gjithashtu! nëse ju keni titull më të mirë për këtë post, të bëjë më bjerë një linjë ![]()










































