xml - Changing navigation between nodes (XSLT) -


मेरे पास तीन उद्योगों और एक "सक्रिय" विकल्प वाला एक मेनू है:

  & lt; ul & gt; & Lt; li id ​​= "p_active" & gt; & lt; a href = "active.xml" & gt; सक्रिय & lt; / a & gt; & lt; / li & gt; & Lt; li id ​​= "p_education" & gt; & lt; a href = "education.xml" & gt; शिक्षा & lt; / a & gt; & lt; / li & gt; & Lt; li id ​​= "p_energy" & gt; & lt; a href = "energy.xml" & gt; ऊर्जा & lt; / a & gt; & lt; / li & gt; & Lt; li id ​​= "p_services" & gt; & lt; a href = "services.xml" & gt; सेवा & lt; / a & gt; & Lt; / li & gt; & Lt; / ul & gt;  

प्रत्येक उद्योग में कई कंपनियां हैं, इसके अतिरिक्त, इनमें से प्रत्येक भी "सक्रिय" या "निष्क्रिय" है।

किसी कंपनी के पृष्ठ पर जाने पर, पीछे और अगली बटन हैं, जो कि कंपनियों की मुख्य सूची के माध्यम से उस उद्योग के संबंधित संबंधित कंपनी को नेविगेट करेगा।

(अर्थात कंपनी एबीसी शिक्षा उद्योग में है, इसलिए उनके पृष्ठ पर, पीछे और अगला शिक्षा उद्योग के भीतर अन्य कंपनियों के पास जाएगा)। मैंने इसे XSLT में पूरा किया है:

  & lt; xsl: select & gt; & Lt; xsl: जब परीक्षण = "(कंपनी [@ इंड = 'शिक्षा'])" & gt; & Lt; xsl: मान का चयन करें = "दस्तावेज़ ('निवेश- port.xml') / पोर्टफोलियो / कंपनी [नाम = $ नाम] / निम्नलिखित- sibling :: कंपनी [@ इंड = 'शिक्षा'] [1] / लिंक "/ & gt; & Lt; / XSL: जब & gt; & Lt; xsl: जब परीक्षण = "(कंपनी [@ इंड = 'ऊर्जा'])" & gt; & Lt; xsl: मान का चयन करें = "दस्तावेज़ ('invest-port.xml') / पोर्टफोलियो / कंपनी [नाम = $ नाम] / निम्न-सिब्लिंग :: कंपनी [@ इंड = 'ऊर्जा'] [1] / लिंक "/ & gt; & Lt; / XSL: जब & gt; & Lt; / XSL: चुनें & gt;  

उदाहरण कंपनी XML फ़ाइल:

  & lt; fragment & gt; & Lt; कंपनी इंडस्ट्री = "शिक्षा" स्टेट = "सक्रिय" & gt; कंपनी एबीसी & lt; / company & gt; & Lt; मुख्यालय; बोस्टन, एमए & lt; / hq & gt; & Lt; desc & gt; यह कंपनी स्कूलों के लिए उत्पाद बनाती है & lt; / desc & gt; & Lt; / टुकड़ा & gt;  

यह काम, जो मैंने लिखे गए कोड के आधार पर, उद्योग को डिफ़ॉल्ट सॉर्ट कुंजी के रूप में किया था। मेरी समस्या यह है: मैं इसे ऐसा करना चाहता हूं जब उपयोगकर्ता मेनू में "सक्रिय" पर क्लिक करता है, तो पिछला और अगला बटन @ स्थिति = "सक्रिय" विशेषताओं, उद्योग द्वारा INSTEAD के माध्यम से नेविगेट करेंगे।

इस तक पहुंचने का सबसे अच्छा तरीका क्या है? मैंने बहुत सारे अलग-अलग समाधानों को देखा है, लेकिन मुझे ऐसा करने का सबसे अच्छा तरीका पता लगाना ... धन्यवाद!

सबसे पहले, मैं चुनें से छुटकारा पाने का प्रयास करता हूं और चयनित उद्योग का प्रतिनिधित्व करने के लिए एक चर का उपयोग करने का प्रयास करता हूं:

  कंपनी [@ इंड = $ इंडस्ट्रीज]  

फिर, यह तय करने के लिए कि आप किस तरह से अगले / पिछली कंपनी को ढूंढने जा रहे हैं, चुनें डाल दें।

  & lt; xsl: चुनें & gt; & Lt; xsl: जब परीक्षण = "$ चयन विधि = 'सक्रिय'" & gt; & Lt; xsl: मान का चयन करें = "दस्तावेज़ ('निवेश- port.xml') / पोर्टफोलियो / कंपनी [नाम = $ नाम] / निम्नलिखित- sibling :: कंपनी [@ stat = 'सक्रिय'] [1] / लिंक "/ & gt; & Lt; / XSL: जब & gt; & LT; XSL: अन्यथा & gt; मौजूदा कोड & lt; / xsl: अन्यथा & gt; & Lt; / XSL: चुनें & gt;  

Comments