Miałem ten problem strage podczas tworzenia XSL dziś. Poszukiwanie odpowiedzi w całej sieci, ale nie potrafił znaleźć żadnego .... Właściwie myślę! I dint wiem, co mój problem był, więc co mam szukać?
Tak! Na wszelki wypadek masz ten sam problem zbyt bardzo i jakoś przez mocą mocy, jakiej udało się wylądować na tej stronie ... chcesz mi podziękować ton ... A jeśli przypadkowo wylądował na tej stronie jakiegoś dziwnego losu i zdarzy ci się być Deweloper XSL, DO zanotuj to teraz, w przyszłości przyczyn, jeśli niektóre dni można napotkać ten problem, wtedy siła nie może być z tobą.
Oświadczenie problem:
Mam ten XML, w którym są dwa węzły z wielu elementów w nim i elementy pomiędzy tymi dwoma węzłami mieć jeden do jednego korespondencję. W poniższym przykładzie, każda pozycja w węźle <array name="PLAYURL" /> odnosi (odpowiedni pozycja) do elementu w węźle <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>
Teraz mam pętlę, gdzie i pętli <array name="SITENAME"> i chcę, aby uzyskać powiązanych artykułów w odpowiedniej pozycji) w <array name="PLAYURL">,
Co byś normalnie spróbuj zrobić to ...
<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! TO wont pracy ... Ach! Surpised ...
Teraz będzie prawdopodobnie chcesz spróbować, coś takiego ...
<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>
I znowu to przyzwyczajenie pracować ... Teraz zarysowania głowę, próbując skontaktować się z każdego, kto zna trochę uważasz, XSL i może być żadną pomocą ... spróbować każdą inną opcję ... i nadal to przyzwyczajenie pracować ... Cóż! Thats co mi się conajmniej ...
DONT Rozpacz! TRY TO
<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>
Nie pytaj mnie dlaczego to działa. Bo nie mam z prawym rozumem ... jeśli to zrobisz! Proszę wrzucić komentarz. To może być całkiem przydatne. Również! jeśli masz lepszy tytuł dla tego postu, to napisz do mnie linii 