में "अच्छी तरह से गठित नहीं" त्रुटि का कारण बनता है I w3cschools XSLT ट्यूटोरियल के माध्यम से जा रहा हूं, और मैं इस पृष्ठ पर हूं: xsl-if।
उस पृष्ठ पर (लाल रंग में) पाठ <xsl:if test="price > 10">
है। यह काम। मैंने "<"
का उपयोग करने के लिए कोड को संशोधित किया और यह भी ठीक काम करता है।
मैंने <xsl:if test="price > 10">
का परीक्षण किया (>
के बजाय >
का उपयोग नोट करें)। यह भी काम करता है।
लेकिन यह विफल रहता है:<xsl:if test="price < 10">
। त्रुटि XML Parsing Error: not well-formed
है और यह अभिव्यक्ति में <
प्रतीक को इंगित करती है।
यदि >
प्रतीक ठीक काम करता है, तो <
का उपयोग क्यों विफल हुआ? (मैं फ़ायर्फ़ॉक्स उपयोग कर रहा हूँ)कम से कम ऑपरेटर xsl-if
उत्तर
हैं> प्रतीक ठीक काम किया, क्यों < असफल का उपयोग कर किया? (मैं फ़ायर्फ़ॉक्स उपयोग कर रहा हूँ)
क्योंकि "<" चरित्र कुछ है कि एक विशेषता मान के भीतर अवैध हैं में से एक है (यह शुरू की टैग चरित्र है)।
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
रूप से स्पष्ट रूप से देखा जा सकता है, "<" और "&" वर्ण किसी भी विशेषता मान में अनुमति नहीं है।
अद्यतन: @Tomalak द्वारा देखा के रूप में, इसके बाद के संस्करण पढ़ना चाहिए:
के रूप में स्पष्ट रूप से देखा जा सकता है, "<" और "&" वर्ण (जब तक कि बाद एक इकाई संदर्भ या चरित्र का हिस्सा है संदर्भ) किसी भी विशेषता मूल्य में अनुमति नहीं है।
अनएन्कोडेड "ओपनिंग" ब्रैकेट <
आम तौर पर XML विशेषता मान as per the XML spec में अमान्य है।
जबकि "समापन" ब्रैकेट >
की अनुमति है, इसका उपयोग वास्तव में खराब शैली (आईएमएचओ) है। एक्सएमएल विशेषता मान एक्सएमएल-एन्कोडेड, अवधि होना चाहिए।
@ टोमालक: क्यों' > 'के बजाय'> 'का उपयोग करके कोड को और अधिक पठनीय बनाता है। मैं आमतौर पर' x < y' को' (x> y -1) ' –
@ डिमिटर: यही कारण है कि मैंने" आईएमएचओ "लिखा था। जब मैं मूल्य एन्कोडिंग की बात करता हूं तो मैं काफी सख्त हूं, और अगर मैं दस्तावेज किया जाता हूं तो भी मैं शॉर्टकट्स और कमियों से बचता हूं। 'x < y' disturbs मेरे पढ़ने का प्रवाह बिलकुल नहीं। हालांकि, 'नहीं (x> y -1)' मुझे देखकर मुझे रोक देगा और सोचेंगे - भले ही सिर्फ एक सेकंड के लिए। मुझे यह क्यों चाहिए? मेरे लिए, बढ़ी हुई पठनीयता से अधिक नहीं है मुझे अभिव्यक्ति के बारे में सोचने की ज़रूरत है। मेरे लिए, यह आर्थिक नहीं है। – Tomalak
मुझे लगता है कि वें 'x < y' के विपरीत पर यह' y> x' होना चाहिए। और अधिक पठनीय और अधिक आर्थिक है। इसके अलावा, मैं कभी नहीं समझता कि क्यों '<' पार्सर तोड़ सकता है और '>' नहीं! जा! –
तुम भी w3schools पर इसका जवाब देख सकते हैं:
http://www.w3schools.com/xmL/xml_syntax.asp
एंटिटी संदर्भ
कुछ वर्ण XML में एक विशेष अर्थ है।
आप एक XML तत्व के अंदर की तरह "<" एक चरित्र देते हैं, तो यह एक त्रुटि क्योंकि पार्सर एक नया तत्व की शुरुआत के रूप में यह व्याख्या उत्पन्न होगा।
- 1. Lucene.Net TermRangeQuery से कम/कम से कम?
- 2. कम से कम यूआरएल
- 3. कम से कम
- 4. कम से कम
- 5. कम से कम एक चेक
- 6. पीएचपी कम से कम/सरणी
- 7. एसक्यूएल क्वेरी कम से कम
- 8. mongoDB मानचित्र/कम से कम
- 9. कम से कम एक मिलीसेकंड
- 10. कम करें और कम से
- 11. कम से कम 5 जी
- 12. Double.Epsilon, से अधिक है, कम से कम, कम से कम या इसके बराबर
- 13. कम से Oracle SQL
- 14. उपकरण को कम से कम जावास्क्रिप्ट फ़ाइलें
- 15. नेस्टिंग: इसके बाद: कम से कम
- 16. Printf (कम से कम मामले) विचाराधीन
- 17. कम से कम एक सप्ताह पहले
- 18. कम से कम प्रोग्रामों को संभालना
- 19. अजगर regex पहले/कम से कम मैच
- 20. सबसे अच्छा कम से कम पथ एल्गोरिथ्म
- 21. स्पैस कम से कम वर्ग रिग्रेशन
- 22. सी # पैराम्स कम से कम एक मान
- 23. मार्ग समस्या: कम से कम कुल लागत
- 24. Micropython या कम से कम अजगर स्थापना
- 25. ड्रीमवेवर: कम से कम सीएसएस ... एक्सेस
- 26. छिपी हुई या कम से कम
- 27. कम से कम एक वस्तु IComparable
- 28. कम से कम एक स्पैर मैट्रिक्स?
- 29. खोजने सब कम से कम फैले पेड़
- 30. एल्गोरिदम समस्या - कम से कम सामान्य सबसेट
+1 - हालांकि अंतिम टिप्पणी थोड़ा भ्रामक है: '&' की अनुमति नहीं है * जब तक कि यह एक एक्सएमएल इकाई का हिस्सा न हो। – Tomalak
@ टोमालक: धन्यवाद, मैंने जवाब अपडेट किया। –
@Tomalak: विशेषता मूल्य में '&' चरित्र की अनुमति नहीं है। किसी इकाई संदर्भ में कोई '&' वर्ण नहीं है, क्योंकि एक इकाई संदर्भ स्वयं एक इकाई है। और इसलिए विशेषता सामान्यीकरण चेहरे (एक्सएमएल पार्सर या कुछ एपीआई द्वारा) में इलाज किया जाता है –