Xml संबंधित अपवादों को डीबग करने का आपका तरीका क्या है?


11

मैं gvim में Magento 2 के साथ कोडिंग कर रहा हूं और मैं Magento 2 के लिए नया हूं।

कई बार मैं xml- संबंधित त्रुटियों को डीबग करने के लिए संघर्ष करता था, ठीक है, हर बार केवल भाग्य के साथ। लेकिन इस तरह की स्थितियां मुझे वास्तव में परेशान करती हैं: आपको नहीं पता कि वह फ़ाइल कहां है जो इस त्रुटि का कारण बन रही है, और डीबगर न तो नहीं बताता है।

निम्न प्राप्त करें मुझे यह मिलता है: एक xml फ़ाइल अमान्य है। वास्तव में मैंने एक मॉड्यूल बनाया है जिसमें मॉड्यूल है। xml, path.xml, config.xml, {layout} .xml, di.xml इसके अंतर्गत आदि या व्यू / लेआउट डायर। कौन सी फ़ाइल की लाइन 12/89 / .. अमान्य है? उत्पन्न / विलीन हो गया? मैं खो गया हूं क्योंकि मुझे var / generate में कुछ भी नहीं मिला है, और कमांडलाइन काम करना बंद कर देता है। क्या है डिबगिंग तरीका क्या इस त्रुटि है खोजने के लिए।?

किसी भी मदद की सराहना की है।

घातक त्रुटि: अनजाने Magento \ Framework \ Exception \ LocalizedException: अमान्य दस्तावेज़ तत्व 'आइटम': प्रकार परिभाषा सार है। पंक्ति: 12 तत्व 'आइटम', विशेषता 'नाम': मुख्य पहचान-बाधा 'आइटमनाम' के क्षेत्र का XPath '@name' एक से अधिक सदस्य के साथ नोड-सेट का मूल्यांकन करता है। पंक्ति: 89 तत्व 'आइटम': प्रमुख पहचान के सभी क्षेत्र-बाधा 'आइटम नाम' एक नोड का मूल्यांकन नहीं करते हैं। पंक्ति: 89 तत्व 'आइटम', विशेषता 'नाम': मुख्य पहचान-बाधा 'आइटमनेम' के क्षेत्र का XPath '@name' एक से अधिक सदस्य के साथ नोड-सेट का मूल्यांकन करता है। पंक्ति: 90 तत्व 'आइटम': प्रमुख पहचान के सभी क्षेत्र-बाधा 'आइटमनाम' किसी नोड का मूल्यांकन नहीं करते हैं। लाइन: 90/var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php में:


2
दीवार के खिलाफ मेरे सिर को
पीटना

उन लोगों को "डीबग" करने का तरीका वास्तव में प्रदान की गई xsd का उपयोग करना है (यह भी इसका मतलब है कि यह phpstorm का उपयोग करें) या बस परीक्षण और त्रुटि। आप शायद खुद की xsd चेकिंग स्क्रिप्ट लिख सकते हैं
David Verholen

जवाबों:


4

फेंका गया अपवाद आपको बताता है कि आप एक ऐसे तत्व का उपयोग कर रहे हैं, <item />जहां आपके द्वारा किसी एक का उपयोग करने की अनुमति नहीं है। तो हाँ, आपकी समस्या शायद XML से संबंधित है।

पहली बात मैं यह सुनिश्चित करने के लिए करता हूं कि मैं वैध XML लिखता हूं, मेरा आईडीई सेटअप है ताकि यह एक्सएसडी-योजनाओं को ठीक से मैप कर सके। xsiPhPStorm में आप -namespace पर छोड़े गए सहायक- चीज़ का उपयोग करके ऐसा कर सकते हैं :

PhpStorm में नामस्थान सेट करें

जब सब ठीक से सेट हो जाता है, तो आपका आईडीई आपके लिए पूरा होने वाला कोड सेटअप कर देगा और आपको चेतावनी देगा कि आप ऐसा कुछ कर रहे हैं जिसकी अनुमति नहीं है:

टूलटिप १

टूलटिप २

मुझे उम्मीद है कि यह आपकी कुछ मदद करेगा।


धन्यवाद। मैंने devdocs पर xsd समर्थन के बारे में परिचय पढ़ा जो अभी कहता है कि केवल phpstorm समर्थित हैं (क्योंकि इसके विशिष्ट नामस्थान stlye?)। मेरे फेडोरा डेस्कटॉप पर बहुत अधिक मेमोरी खपत होने के कारण, मैं gvim को हल करता हूं जिसका मैं उपयोग करता हूं। हालांकि मैं vim 8 में अपग्रेड करता हूं, xml xsd अभी भी mage2 के रास्ते का समर्थन नहीं करता है।
रॉबर्टबशार

2
bin/magento dev:urn:generate .idea/misc.xmlPHPStorm के लिए xsd मैपिंग उत्पन्न करने के लिए उपयोग करें। यह xmls से सभी कलश पथों को हल करने में सक्षम होगा।
सेर्गी इवाशेंको
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.