(XSL में स्थिति) के साथ एक समस्या है ... या यह है?
मैं इस strage समस्या थी जबकि आज एक XSL बनाने. शुद्ध भर में जवाब के लिए देखा, लेकिन किसी भी मिल सके .... वास्तव में मुझे लगता है! मैं सहारे पता है कि मेरी समस्या क्या था, तो मैं क्या के लिए लग रहे हो?
वैसे भी! सिर्फ मामले में आप भी और किसी भी तरह बल आप इस पृष्ठ पर भूमि की शक्ति से यह बहुत ही समस्या है ... आप मुझे टन का शुक्रिया अदा करना होगा ... और अगर आप accidently कुछ अजीब भाग्य के लिए इस पृष्ठ पर उतरा और आप होना होगा एक XSL डेवलपर, इस का एक नोट अभी करना मत करो, भविष्य कारण के लिए, यदि कुछ दिन, तुम इस मुद्दे का सामना करना पड़ता है, तब बल तुम्हारे साथ नहीं हो सकता है.
समस्या का बयान:
मैं इस XML है, जहां इसे में एकाधिक आइटम्स के साथ दो नोड्स रहे हैं और इन दो नोड्स के बीच आइटम एक से एक पत्राचार है. नीचे दिए गए उदाहरण में, नोड <array में प्रत्येक आइटम name="PLAYURL" एक आइटम के लिए (इसी स्थिति) नोड <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>
अब, मैं एक पाश है, जहां मैं <array name="SITENAME"> के माध्यम से पाश है, और मैं करने के लिए <array name="PLAYURL"> में संबंधित आइटम (इसी स्थान पर) प्राप्त करना चाहते हैं,
क्या आप normaly करने की कोशिश करेंगे ...
<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>
क्षमा करें!! इस ... काम आह! अभ्यस्त! Surpised ...
अब आप शायद करने की कोशिश करना चाहते हैं, कुछ इस तरह ...
<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>
और फिर यह ... काम अब आप अपने सिर scratching, सब जो आपको लगता है कुछ XSL जानता संपर्क करने की कोशिश कर और किसी भी मदद की हो सकता है ... अभ्यस्त तुम हर दूसरे विकल्प की कोशिश ... और यह अभी भी अभ्यस्त काम ... खैर! Thats क्या मुझे कम से कम करने के लिए क्या हुआ ...
निराशा! न! इस कोशिश
<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>
मुझसे पूछो क्यों यह काम करता है न. क्योंकि मैं एक सही कारण है ... यदि आप करते हैं न! नहीं है एक टिप्पणी छोड़ कृपया. यह बहुत उपयोगी हो सकता है. इसके अलावा! अगर आप इस पोस्ट के लिए बेहतर शीर्षक है, मुझे एक पंक्ति ड्रॉप ![]()










































