Man bija šī strage problēmu, vienlaicīgi radot XSL šodien. Meklēja atbildes visā tīklā, bet couldnt atrast jebkādu .... Patiesībā es domāju! Es iedobt zinu, ko mana problēma bija, lai to, ko man meklēt?
Anyway! Tikai gadījumā, ja esat šo ļoti pašu problēmu pārāk un kaut ko no jaudas SPĒKĀ jums izdevās nolaisties uz šajā lapā ... jūs gribētu pateikties man t ... Un, ja esat nejauši nokļuvuši šajā lapā kādu dīvainu likteni un jums gadās būt XSL attīstītājs, DO pierakstiet šo tagad, turpmāk cēloni, ja kādu dienu, jūs risinātu šo jautājumu, tad FORCE nevarētu būt kopā ar jums.
Problēmas formulējums:
Man ir XML, kur ir divi mezgli ar vairākiem posteņiem tā, un starp šiem diviem punktiem posteņiem ir viens pret vienu korespondenci. Piemērā zemāk, katrs postenis mezglu <array name="PLAYURL" /> attiecas (atbilst pozīcija) attiecas uz posteni, kas mezgla <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>
Tagad, man ir cilpa, kur i cilpa ar <array name="SITENAME">, un es vēlos, lai saņemtu attiecīgo objektu panta attiecīgajā pozīcijā), kas <array name="PLAYURL">,
Ko jūs varētu kāds parasti mēģināt darīt, ir ...
<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>
Atvainojiet! Šis paradums strādāt ... Ak! Surpised ...
Tagad jūs, iespējams, vēlaties izmēģināt, kaut kas līdzīgs šim ...
<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>
Un atkal tas paradis strādāt ... Tagad jūs nesaskrāpē galvu, mēģinot sazināties ar ikvienu, kurš, jūsuprāt zina kādu XSL un varētu būt par jebkuru palīdzību ... jūs mēģināt jebkuru citu opciju ... un vēl tas paradis strādāt ... Nu! Thats kas notika ar mani atleast ...
Dont Izmisums! 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 uzdot man, kāpēc IT WORKS. Izraisīt i dont ir tiesības iemesls ... ja jūs darīt! Lūdzu, piliens komentāru. Tas varētu būt diezgan noderīgs. Arī! Ja jums ir labāka virsrakstu šim amatam, do piliens mani līniju 