YAML - चरित्र धाराएँ

YAML में, आप विभिन्न चरित्र धाराओं में निम्नानुसार आते हैं -

  • Directives
  • दस्तावेज़ सीमा मार्कर
  • Documents
  • पूरी स्ट्रीम

इस अध्याय में, हम उनके बारे में विस्तार से चर्चा करेंगे।

निर्देशों

निर्देश YAML प्रोसेसर में उपयोग किए जाने वाले बुनियादी निर्देश हैं। निर्देश प्रस्तुति की तरह विवरण हैं जो धारावाहिक वृक्ष में परिलक्षित नहीं होते हैं। YAML में, निजी निर्देशों को परिभाषित करने का कोई तरीका नहीं है। यह खंड प्रासंगिक उदाहरणों के साथ विभिन्न प्रकार के निर्देशों की चर्चा करता है -

आरक्षित निर्देश

आरक्षित निर्देशों को तीन हाइफ़न वर्णों (---) के साथ आरंभ किया गया है जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है। आरक्षित निर्देशों को JSON के विशिष्ट मूल्य में परिवर्तित किया जाता है।

%YAML 1.1
--- !!str
"foo"

यमला डायरेक्टिव

YAML निर्देश डिफ़ॉल्ट निर्देश हैं। यदि JSON में परिवर्तित किया जाता है, तो प्राप्त मूल्य में पूर्ववर्ती और समाप्ति वर्णों में आगे स्लैश वर्ण शामिल हैं।

%YAML 1.1
---
!!str "foo"

दस्तावेज़ सीमा मार्कर

YAML इन मार्करों का उपयोग एक से अधिक दस्तावेज़ों को एक स्ट्रीम में शामिल करने की अनुमति देता है। ये मार्कर विशेष रूप से YAML दस्तावेज़ की संरचना को बताने के लिए उपयोग किए जाते हैं। ध्यान दें कि "---" से शुरू होने वाली एक लाइन का उपयोग एक नया दस्तावेज़ शुरू करने के लिए किया जाता है।

निम्नलिखित कोड उदाहरणों के साथ इस बारे में बताते हैं -

%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"

दस्तावेज़

YAML दस्तावेज़ को एकल रूट नोड के रूप में प्रस्तुत एक एकल मूल डेटा संरचना माना जाता है। निर्देश, टिप्पणी, इंडेंटेशन और शैलियों जैसे YAML दस्तावेज़ में प्रस्तुति का विवरण उनमें शामिल सामग्री के रूप में नहीं माना जाता है।

YAML में दो प्रकार के दस्तावेजों का उपयोग किया जाता है। उन्हें इस भाग में समझाया गया है -

स्पष्ट दस्तावेज

यह रूट नोड की प्रस्तुति के बाद दस्तावेज़ प्रारंभ मार्कर के साथ शुरू होता है। YAML स्पष्ट घोषणा का उदाहरण नीचे दिया गया है -

---

some: yaml

...

इसमें एक स्पष्ट शुरुआत और अंत मार्कर शामिल हैं जो दिए गए उदाहरण में "---" और "..." हैं। JSON प्रारूप में निर्दिष्ट YAML को परिवर्तित करने पर, हमें नीचे दिखाए अनुसार आउटपुट मिलता है -

{
   "some": "yaml"
}

निहित दस्तावेज

ये दस्तावेज़ दस्तावेज़ प्रारंभ मार्कर से शुरू नहीं होते हैं। नीचे दिए गए कोड को देखें -

fruits:
   - Apple
   - Orange
   - Pineapple
   - Mango

JSON प्रारूप में इन मानों को परिवर्तित करने से हमें निम्न के रूप में एक साधारण JSON ऑब्जेक्ट के रूप में आउटपुट मिलता है -

{
   "fruits": [
      "Apple",
      "Orange",
      "Pineapple",
      "Mango"
   ]
}

पूरी स्ट्रीम

YAML में बाइट्स का एक अनुक्रम शामिल है जिसे चरित्र धारा कहा जाता है। धारा एक उपसर्ग के साथ शुरू होती है जिसमें एक बाइट ऑर्डर होता है जो एक वर्ण एन्कोडिंग को दर्शाता है। पूरी धारा एक उपसर्ग के साथ शुरू होती है जिसमें एक वर्ण एन्कोडिंग होता है, उसके बाद टिप्पणी होती है।

पूर्ण धारा (चरित्र धारा) का एक उदाहरण नीचे दिखाया गया है -

%YAML 1.1
---
!!str "Text content\n"