टैब को YAML में अनुमति दी गई है, लेकिन केवल जहां इंडेंटेशन लागू नहीं होता है।
YAML 1.2 Section 5.5 के अनुसार: अंतरिक्ष और टैब:
YAML दो सफेद स्थान पात्रों को पहचानता है।
निम्न उदाहरण ·
का उपयोग रिक्त स्थान को निरूपित करने के होगा और →
टैब निरूपित करने के लिए। सभी उदाहरण आधिकारिक YAML Reference Parser का उपयोग करके सत्यापित किए जा सकते हैं।
वाईएएमएल में ब्लॉक शैली और प्रवाह शैली है। ब्लॉक शैली में, इंडेंटेशन एक दस्तावेज़ की संरचना निर्धारित करता है। निम्न दस्तावेज़ ब्लॉक शैली का उपयोग करता है।
root:
··key: value
Validate
प्रवाह शैली में, विशेष वर्ण दस्तावेज़ की संरचना संकेत मिलता है। निम्नलिखित समकक्ष दस्तावेज़ प्रवाह शैली का उपयोग करता है।
{
→ root: {
→ → key: value
→ }
}
Validate
तुम भी प्रवाह शैली में खरोज मिश्रण कर सकते हैं।
{
→ root: {
··→ key: value
····}
}
Validate
आप ब्लॉक मिश्रण और शैली प्रवाह कर रहे हैं, हर कदम की शैली हिस्सा ब्लॉक शैली खरोज आदर करना चाहिए।
root:
··{
····key: value
··}
Validate
लेकिन आप अभी भी प्रवाह शैली भाग के भीतर अपने खरोज मिश्रण कर सकते हैं।
root:
··{
··→ key: value
··}
Validate
आप एक ही मूल्य दस्तावेज़ है, तो आप सफेद स्थान के सभी तरह के साथ मूल्य घेर कर सकते हैं।
→ ··value··→
Validate
बिंदु है, हर JSON दस्तावेज है कि YAML के रूप में पार्स किया गया है दस्तावेज़ प्रवाह शैली में (प्रारंभिक {
या [
चरित्र की वजह से), रखा जाएगा जो टैब का समर्थन करता है, जब तक यह एक भी है मूल्य JSON दस्तावेज़, जिस स्थिति में YAML अभी भी व्हाइटस्पेस के साथ पैडिंग की अनुमति देता है।
एक YAML पार्सर क्योंकि एक JSON दस्तावेज़ में टैब के फेंकता है, तो यह एक मान्य पार्सर है।
कहा जा रहा है, अपने उदाहरण क्योंकि एक ब्लॉक शैली मानचित्रण मूल्य हमेशा अगर यह मानचित्रण नाम के रूप में एक ही लाइन पर नहीं है इंडेंट किया जाना चाहिए विफल हो रहा है।
root: {
··key: value
}
not valid,
root:
··{
····key: value
··}
valid है तथापि, और
root: { key: value }
भी valid है।
मेरा मानना है कि आप टैब पात्रों के बारे में सही नहीं हैं, और मैंने देखा है कुछ ऑनलाइन पारसर्स एक ही गलती करते हैं। [कल्पना] (http://yaml-online-parser.appspot.com/) _does_ टैब वर्णों की अनुमति: "बाहर खरोज और अदिश सामग्री, YAML एक लाइन के भीतर टोकन के बीच अलगाव के लिए सफेद स्थान वर्णों का उपयोग करता नोट इस तरह के सफेद स्थान है। सुरक्षित रूप से टैब वर्ण शामिल हो सकता है। " –
इसके अलावा, [कल्पना] (http://www.yaml.org/spec/1.2/spec.html#id2778481) की अनुमति देता है प्रवाह लाइनों के लिए लाइन उपसर्ग पदों में टैब: "प्रवाह अदिश शैलियों के लिए यह अतिरिक्त सभी प्रमुख सफेद स्थान शामिल हैं , जिसमें टैब वर्ण हो सकते हैं। " यह किसी भी जेएसओएन को सही वाईएएमएल पार्सर के साथ संगत करेगा, सिवाय इसके कि JSON spec इसे कार्यान्वयनकर्ता तक छोड़ देता है (जैसा कि आरएफसी 4627 के बारे में टिप्पणी द्वारा इंगित किया गया है)। –
@ ब्रैंडनबॉन्ड जो दिलचस्प है। सबसे अच्छा, तो, ऐसा लगता है कि वाईएएमएल विनिर्देश स्वयं के साथ असंगत है। मुझे यकीन है कि शब्दाडंबर के साथ बयान में सामंजस्य करने के लिए कैसे की तरह "सामान्य तौर पर, खरोज एक लाइन के शुरू में एक शून्य या अधिक रिक्ति के रूप में परिभाषित किया गया है" और "पोर्टेबिलिटी को बनाए रखने के लिए, टैब वर्ण खरोज में नहीं किया जाना चाहिए", नहीं कर रहा हूँ आप एक ही विनिर्देश से संबंधित उनके बावजूद संदर्भित हैं। – jmar777