xslt - Show items by category xml -
मेरे पास इस तरह के एक XML आउटपुट है:
& lt; डेटा & gt; & LT; मद-प्रकार & gt; & Lt; एंट्री आईडी = "1" आइटम = "5" & gt; & LT; श्रेणी & gt; जमे हुए & lt; / श्रेणी & gt; & Lt; / प्रविष्टि & gt; & Lt; एंट्री आईडी = "2" आइटम = "4" & gt; & LT; श्रेणी & gt; नाश्ता & lt; / श्रेणी & gt; & Lt; / प्रविष्टि & gt; & Lt; / मद-प्रकार & gt; & LT; आइटम & gt; & Lt; एंट्री आईडी = "28" & gt; & LT; आइटम नंबर & gt; 1115 & lt; / आइटम नंबर & gt; & Lt; नाम & gt; मैरियन बेरीज, IQF & lt; / name & gt; & LT; क्षेत्र & gt; & Lt; आइटम आईडी = "1" & gt; किराने का सामान - फ्रोजन & lt; / item & gt; & Lt; / क्षेत्र & gt; & Lt; / प्रविष्टि & gt; & Lt; एंट्री आईडी = "2 9" & gt; & LT; आइटम नंबर & gt; 1117 & lt; / आइटम नंबर & gt; & Lt; नाम & gt; पीच कप & lt; / name & gt; & LT; क्षेत्र & gt; & Lt; आइटम आईडी = "1" & gt; किराने का सामान - फ्रोजन & lt; / item & gt; & Lt; / क्षेत्र & gt; & Lt; / प्रविष्टि & gt; & Lt; एंट्री आईडी = "35" & gt; & LT; आइटम नंबर & gt; 1570 & lt; / आइटम नंबर & gt; & Lt; name & gt; सॉसेज पैटी & lt; / name & gt; & LT; क्षेत्र & gt; & Lt; आइटम आईडी = "2" & gt; किराने का सामान - नाश्ता & lt; / आइटम & gt; & Lt; / क्षेत्र & gt; & Lt; / प्रविष्टि & gt; & Lt; एंट्री आईडी = "32" & gt; & LT; आइटम नंबर & gt; 1575 & lt; / आइटम नंबर & gt; & Lt; नाम & gt; फ्रेंच टोस्ट Stix, WG & lt; / name & gt; & LT; क्षेत्र & gt; & Lt; आइटम आईडी = "2" & gt; किराने का सामान - नाश्ता & lt; / आइटम & gt; & Lt; / क्षेत्र & gt; & Lt; / प्रविष्टि & gt; & Lt; / आइटम & gt; & Lt; / डेटा & gt;
आइटम-प्रकार
नीचे दिए गए आइटम की श्रेणियां हैं आइटम-प्रकार / एंट्री / आई आईडी सीधे
आइटम / प्रविष्टि / क्षेत्र / आइटम / आई आईडी
से संबंधित है और मैं आइटमों को मेरी श्रेणियों में व्यवस्थित करने की कोशिश कर रहा हूं आउटपुट।
अब तक मैं निम्नलिखित XSL परिवर्तन का उपयोग कर रहा हूं।
& lt; xsl: टेम्पलेट मैच = "आइटम-प्रकार / प्रविष्टि" & gt; & Lt; h3 & gt; & lt; xsl: मान का चयन करें = "कॉन्सैट (@ आईडी, '।', श्रेणी)" / & gt; & lt; / h3 & gt; & LT; ul & gt; & Lt; xsl: लागू-टेम्पलेट चुनें = "/ डेटा / आइटम / प्रविष्ट [क्षेत्र / आइटम / @ आईडी = @आईडी]" / & gt; & Lt; / ul & gt; & Lt; / XSL: टेम्पलेट & gt; & Lt; xsl: टेम्पलेट मैच = "आइटम / प्रविष्टि" & gt; & Lt; li & gt; & Lt; xsl: मान का चयन करें = "कॉन्सैट (आइटम-संख्या, '।', नाम, '(', क्षेत्र / वस्तु / आई आईडी, ')')" / & gt; & Lt; / li & gt; & Lt; / XSL: टेम्पलेट & gt;
समस्या यह है कि यह काम नहीं कर रहा है मेरा मानना है कि समस्या परिवर्तन की रेखा 4 पर गड़बड़ी है: [area / item / @ id = @id]
जब मैं इसे निकालता हूं, यह सभी श्रेणियों में सभी आइटम दिखाता है।
"फ्रोजन" श्रेणी में "फ्रोजन" आइटम और "नाश्ता" श्रेणी में "नाश्ता" आइटम दिखाने का कोई तरीका क्या है?
धन्यवाद!
& lt; xsl: key name = "kEntryByAreaId" मैच =
अब सवाल का जवाब देने के लिए कि आपका प्रयास क्यों नहीं चला।
यह अभिव्यक्ति:
/ data / items / entry [ क्षेत्र / आइटम / @ आईडी = @id]
कहते हैं: "सभी / डेटा / आइटम / प्रविष्टि उनके क्षेत्र / आइटम / @ तत्वों के साथ आईडी
मान उनके @id
मान के बराबर है। समस्या है - उनके पास कोई @id
मान नहीं है।
आप मतलब यह है:
/ डेटा /
यह काम करेगा, लेकिन कुंजी तेजी से हो जाएगी। एचटीएमएल>
Comments
Post a Comment