मान लें कि मैं एक बहुविकल्पीय क्विज़ को एक मनमानी एक्सएमएल प्रारूप से एचटीएमएल में बदल रहा हूं। प्रत्येक विकल्प को परिणाम दस्तावेज़ में HTML <li>
टैग के रूप में दर्शाया जाएगा। प्रत्येक विकल्प के लिए, मैं correct
के <li>
पर एक HTML class
जोड़ना चाहता हूं, यदि वह विकल्प सही उत्तर था। इसके अतिरिक्त, यदि वह विकल्प उपयोगकर्ता द्वारा चुना गया था, तो मैं submitted
की कक्षा <li>
में जोड़ना चाहता हूं। नतीजतन, यदि पसंद सही है साथ ही सबमिट किए गए एक, <li>
में correct submitted
होना चाहिए।क्या एक्सएसएलटी के साथ कई HTML कक्षाएं जोड़ने का एक शानदार तरीका है?
जहां तक मुझे पता है, सफेद-स्थान से अलग विशेषता मान XML डेटा मॉडल का हिस्सा नहीं हैं और इस प्रकार सीधे एक्सएसएलटी के माध्यम से नहीं बनाए जा सकते हैं। हालांकि, मुझे लगता है कि वर्गों के हर संभव संयोजन के लिए एक सशर्त के साथ कोड को कूड़ेदान करने से बेहतर करने का एक बेहतर तरीका है (जो इस उदाहरण में स्वीकार्य होगा, लेकिन अधिक जटिल परिदृश्यों में अनावश्यक)।
मैं इसे एक सुरुचिपूर्ण तरीके से कैसे हल कर सकता हूं?
वांछित परिणाम का उदाहरण:
<p>Who trained Obi-Wan Kenobi?</p>
<ul>
<li>Mace Windu</li>
<li class="correct submitted">Qui-Gon Jinn</li>
<li>Ki-Adi-Mundi</li>
<li>Yaddle</li>
</ul>
असल में, व्हाइटस्पेस से अलग विशेषता मानों के बारे में मेरा बिंदु यह है कि एक्सएमएल उन्हें अलग-अलग मानों के रूप में नहीं पहचानता है - यह एक लंबी स्ट्रिंग है (जब तक कि मैंने एक्सएमएल के कुछ हिस्से को अनदेखा नहीं किया हो)। क्लास गुणों का उपयोग करते समय मुझे हमेशा थोड़ा गंदे महसूस होता है। उस ने कहा, मुझे एहसास है कि कोडर को हर जगह बाल तत्वों को '' गुच्छा में क्रैम की बजाय रिक्त स्थान के साथ कक्षाओं को अलग करने के लिए बहुत आसान है। –
Jakob
@ जैकोब: मैंने अपने उत्तर के अंत में एकल विशेषता मान बनाने वाले मानों की स्पेस-पृथक सूचियों के बारे में कुछ और विवरण जोड़े हैं। – NickFitz