2011-01-12 10 views
7

एक्सएमएल के बहुत सारे लाभ हैं। यह मशीन और मानव दोनों पठनीय है, इसमें एक मानक प्रारूप है और यह उल्लेखनीय बहुमुखी है।क्या मनमाना बाइनरी प्रारूपों के लिए स्कीमा भाषा बनाने के लिए कोई प्रयास किया गया है?

इसमें कुछ नुकसान भी हैं। यह वर्बोज़ है और बड़ी मात्रा में डेटा स्थानांतरित करने का एक बहुत ही प्रभावी माध्यम नहीं है।

एक्सएमएल के सबसे उपयोगी पहलुओं में से एक स्कीमा भाषा है। एक स्कीमा का उपयोग करके आप किसी भी आधुनिक प्रोग्रामिंग भाषा में स्रोत कोड उत्पन्न कर सकते हैं ताकि हाथ कोडिंग की कठिन प्रक्रिया के बिना एक एक्सएमएल प्रारूप को पढ़ा जा सके जो आम तौर पर अधिकांश अन्य फाइल प्रारूपों के साथ होता है।

इससे मुझे इस बारे में सोचना पड़ा कि क्या मनमाने ढंग से बाइनरी फ़ाइल स्वरूपों के लिए स्कीमा भाषा मौजूद है और यदि नहीं, तो प्रयास के दौरान यह एक लायक होगा?

बस अगर मैं अस्पष्ट हूं। मैं एक ऐसी भाषा के बारे में पूछ रहा हूं जिसका उद्देश्य बाइट ऑफ़सेट, फ़ील्ड और रिकॉर्ड लम्बाई, डिलीमीटर आदि को परिभाषित करना है जिसे कोड उत्पन्न करने के लिए पार्स किया जा सकता है जो कि उस विनिर्देश के अनुरूप फ़ाइल प्रारूप को पढ़ेगा।

मुझे संदेह है कि मैं इस तरह के विचार का सुझाव देने वाला पहला व्यक्ति हूं, इसलिए यदि आप किसी भी परियोजना या कार्यकारी समूह के बारे में जानते हैं जो वर्तमान में इस क्षेत्र का पीछा कर रहे हैं या मैं आभारी हूं।

उत्तर

1

"स्कीमा" और "मनमानी" विरोधाभासी हैं। बाइट ऑफसेट, फ़ील्ड और रिकॉर्ड लम्बाई, डिलीमीटर, इत्यादि निर्दिष्ट करना "मनमाना" नहीं है।

बाइट ऑफसेट्स कोबोल के बाद से आसपास रहे हैं। ईडीआई एक प्रसिद्ध, कोशिश की और सही प्रोटोकॉल है जो वास्तव में यह करता है।

वेबमाइड्स, एक ईडीआई उपकरण, में एक बहुत अच्छा ईडीआई पार्सर बनाया गया है।

+0

मनमाना "बाइट ऑफसेट, क्षेत्र और रिकॉर्ड लंबाई, सीमांकक, आदि निर्दिष्ट नहीं है" "।" नहीं, लेकिन इस तरह के विनिर्देशन द्वारा परिभाषित फ़ाइल प्रारूप है। शायद "सामान्य उद्देश्य" शब्दों का बेहतर विकल्प होता। यदि आप एक्स 12 मानकों द्वारा निर्दिष्ट ईडीआई का जिक्र कर रहे हैं तो मैं कुछ कम नौकरशाही की तलाश में था। किसी भी व्यक्ति को अनुमोदन के लिए मानक निकाय को जमा करने की आवश्यकता के बिना एक XML स्कीमा बना और उपयोग कर सकते हैं। –

+0

लेकिन आपको इसे उपभोक्ताओं को संवाद करना होगा। यहां तक ​​कि मेटा-डेटा का निर्माण करने का मतलब यह नहीं है कि यह हमेशा स्पष्ट और समझ में आता है। रिकॉर्ड-आधारित प्रोटोकॉल का उपयोग करने वाली प्रत्येक कंपनी मानक मानकों को सबमिट किए बिना इसे बनाने के लिए स्वतंत्र होती है; उन्हें उपभोक्ताओं में सुराग करना पड़ता है इसलिए उन्हें अनुमान लगाने की ज़रूरत नहीं है। – duffymo

1

हां, कई लोगों ने ऐसा करने की कोशिश की है।

ऐसा एक प्रयास Binary Format Description है। एक और Data Format Description Language है। मुझे यकीन नहीं है कि वास्तव में कोई वास्तव में कितना व्यावहारिक है।

+1

बिनएक्स, बाइनरी एक्सएमएल विवरण भाषा भी है: http://www.edikt.org।uk/binx/ –

0

संक्षेप में, नहीं। जब तक आप प्रोग्रामिंग भाषाओं को "स्कीमा भाषा" के रूप में नहीं मानते। स्कीमा के बावजूद एक्सएमएल बहुत संरचित है। बाइनरी प्रारूप बिल्कुल कुछ भी हो सकता है। पुराने एमएस ऑफिस प्रारूपों पर विचार करें जहां यह अनिवार्य रूप से रनटाइम पर उपयोग की जाने वाली कच्ची डेटा संरचनाओं का मेमोरी डंप था। यदि आप प्रोग्रामिंग भाषाओं की अनुमति देते हैं, तो आप कर सकते हैं - और कर सकते हैं - उसमें एक पार्सर बनाएं :-) संपीड़ित बाइनरी फ़ाइलों के बारे में क्या: ज़िप, जेपीईजी, वेबएम? स्कीमा भाषा कैसे और क्यों उन प्रकार की चीजों को शामिल करना चाहती है?

+0

अनुमोदित, कुछ बाइनरी प्रारूप औपचारिक रूप से घोषणात्मक भाषा का उपयोग करके परिभाषित करने के लिए जटिल हो सकते हैं। कुछ एक्सएमएल प्रारूपों के लिए भी यही सच है। –

+2

मेरे लिए यह स्पष्ट क्यों है, इसलिए आप फ़ाइल खोल सकते हैं और महत्वपूर्ण बिट्स देख सकते हैं जिन्हें आप इसे तोड़ने के बिना खराब कर सकते हैं। उदाहरण के लिए मेटाडेटा। इसके अलावा, ज़िप एक अच्छी तरह से परिभाषित प्रारूप है। संपादक "010 संपादक" ओपी के बारे में एक कार्यान्वयन प्रदान करता है जो यहां देख रहा है और कुछ उदाहरण स्क्रिप्ट्स के साथ आता है जिसमें ज़िप फ़ाइलों को पार्स किया गया है। – Jimbo

संबंधित मुद्दे

 संबंधित मुद्दे