एक्सएमएल
अगली पीढ़ी के लिए नियमित भाषा (रिलैक्स एनजी) एक्स्टेंसिबल मार्कअप
लैंग्वेज (एक्सएमएल) के लिए एक स्कीमा भाषा है। RELAX NG का उपयोग XML
उदाहरण दस्तावेजों को मान्य करने के लिए किया जाता है। यह Makoto Murata और
James Clark द्वारा लिखा गया था, जिसका डिज़ाइन क्लार्क के ट्री रेगुलर
एक्सप्रेशन फ़ॉर XML (TREX) और मुराटा के रेगुलर लैंग्वेज डिस्क्रिप्शन
फ़ॉर XML (RELAX) पर आधारित था।
RELAX NG की एक विशेषता यह है कि एक
एकल RELAX NG स्कीमा दस्तावेज़ कई XML उदाहरण दस्तावेज़ों को मान्य कर
सकता है। (या एक एकल XML उदाहरण दस्तावेज़ को एकाधिक RELAX NG स्कीमा
दस्तावेज़ों द्वारा सत्यापित किया जा सकता है।)
रिलैक्स एनजी की अन्य विशेषताओं में शामिल हैं:
- यह एक मजबूत गणितीय आधार पर आधारित पैटर्न आधारित व्याकरण है,
- इसमें XML सिंटैक्स और कॉम्पैक्ट सिंटैक्स है,
- यह XML स्कीमा डेटाटाइप्स का समर्थन करता है,
- यह उपयोगकर्ता-परिभाषित स्कीमा डेटाटाइप्स का समर्थन करता है,
- यह एक्सएमएल नेमस्पेस का समर्थन करता है,
- यह अत्यधिक रचना योग्य है,
- यह उसी तरह तत्वों और विशेषताओं से संबंधित है।
RELEAX
NG के दो अलग-अलग सिंटैक्स हैं, XML सिंटैक्स और कॉम्पैक्ट सिंटैक्स।
नियमित सिंटैक्स और कॉम्पैक्ट सिंटैक्स के लिए क्रमशः RELAX NG के फ़ाइल
नाम एक्सटेंशन ".rng" और ".rnc" हैं।
संक्षिप्त नाम समझ में आता है जब आप इसे इस प्रकार लिखा हुआ देखते हैं: XML अगली पीढ़ी के लिए नियमित भाषा।
लेखक,
क्लार्क और मुराता ने डॉक्यूमेंट टाइप डेफिनिशन (DTD) और XML स्कीमा
भाषाओं के बाद RELAX NG बनाया है और DTDs और XML स्कीमा भाषाओं के साथ
अनुभव की गई कई समस्याओं का समाधान किया है।
सत्यापन के लिए RELAX
NG का दृष्टिकोण पैटर्न पर आधारित है - यह स्कीमा दस्तावेज़ों में पुन:
प्रयोज्य अनुभाग बनाने के लिए पैटर्न संरचना और नामित पैटर्न का उपयोग करता
है।
RELAX NG में XML स्कीमा का प्रकार पदानुक्रम नहीं है और यह
प्रकार वंशानुक्रम का समर्थन नहीं करता है, लेकिन यह W3C XML स्कीमा द्वारा
प्रदान किए गए डेटाटाइप के साथ-साथ उपयोगकर्ता-परिभाषित प्रकारों के साथ
डेटाटाइपिंग का समर्थन करता है।
हालांकि RELEAX NG सबसे सरल सत्यापन तकनीक है, W3C XML स्कीमा की तुलना में समर्थन व्यापक रूप से उपलब्ध नहीं है।
0 Comments