एक्सएमएल ट्यूटोरियल

एक्सएमएल होम एक्सएमएल परिचय एक्सएमएल कैसे इस्तेमाल करें एक्सएमएल ट्री एक्सएमएल सिंटैक्स एक्सएमएल तत्व एक्सएमएल गुण एक्सएमएल नेमस्पेस एक्सएमएल डिस्प्ले एक्सएमएल एचटीपीअनुरोध एक्सएमएल पार्सर एक्सएमएल डोम एक्सएमएल XPath एक्सएमएल एक्सएसएलटी एक्सएमएल XQuery एक्सएमएल एक्सलिंक एक्सएमएल सत्यापनकर्ता एक्सएमएल डीटीडी एक्सएमएल स्कीमा एक्सएमएल सर्वर एक्सएमएल उदाहरण एक्सएमएल प्रश्नोत्तरी एक्सएमएल प्रमाणपत्र

एक्सएमएल अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

एक्सएमएल डोम

डोम परिचय डोम नोड्स डोम एक्सेसिंग डोम नोड जानकारी डोम नोड सूची डोम ट्रैवर्सिंग डोम नेविगेटिंग डोम मूल्य प्राप्त करें डोम चेंज नोड्स डोम नोड्स निकालें डोम नोड्स बदलें डोम नोड्स बनाएं डोम नोड्स जोड़ें डोम क्लोन नोड्स डोम उदाहरण

XPath ट्यूटोरियल

XPath परिचय XPath नोड्स XPath सिंटैक्स XPath अक्ष XPath ऑपरेटर्स XPath उदाहरण

एक्सएसएलटी ट्यूटोरियल

एक्सएसएलटी परिचय एक्सएसएल भाषाएं एक्सएसएलटी ट्रांसफॉर्म एक्सएसएलटी <टेम्पलेट> एक्सएसएलटी <मूल्य का> एक्सएसएलटी <प्रत्येक के लिए> एक्सएसएलटी <सॉर्ट> एक्सएसएलटी <अगर> एक्सएसएलटी <चुनें> एक्सएसएलटी लागू करें क्लाइंट पर एक्सएसएलटी सर्वर पर एक्सएसएलटी एक्सएसएलटी एक्सएमएल संपादित करें एक्सएसएलटी उदाहरण

XQuery ट्यूटोरियल

XQuery परिचय XQuery उदाहरण XQuery FLWOR XQuery एचटीएमएल XQuery शर्तें XQuery सिंटैक्स XQuery जोड़ें XQuery चुनें XQuery कार्य

एक्सएमएल डीटीडी

डीटीडी परिचय डीटीडी बिल्डिंग ब्लॉक्स डीटीडी तत्व डीटीडी गुण DTD एलिमेंट्स बनाम Attr डीटीडी इकाइयां डीटीडी उदाहरण

एक्सएसडी स्कीमा

एक्सएसडी परिचय एक्सएसडी कैसे करें एक्सएसडी <स्कीमा> एक्सएसडी तत्व एक्सएसडी गुण एक्सएसडी प्रतिबंध

एक्सएसडी कॉम्प्लेक्स

एक्सएसडी तत्व एक्सएसडी खाली केवल एक्सएसडी तत्व केवल एक्सएसडी पाठ एक्सएसडी मिश्रित एक्सएसडी संकेतक एक्सएसडी <कोई भी> एक्सएसडी <anyAttribute> एक्सएसडी प्रतिस्थापन एक्सएसडी उदाहरण

एक्सएसडी डेटा

एक्सएसडी स्ट्रिंग एक्सएसडी तिथि एक्सएसडी न्यूमेरिक एक्सएसडी विविध एक्सएसडी संदर्भ

वेब सेवाएं

एक्सएमएल सेवाएं एक्सएमएल डब्लूएसडीएल एक्सएमएल साबुन एक्सएमएल आरडीएफ एक्सएमएल आरएसएस

संदर्भ

डोम नोड प्रकार डोम नोड डोम नोडसूची डोम नेम नोडमैप डोम दस्तावेज़ डोम तत्व डोम विशेषता डोम टेक्स्ट डोम सीडीएटीए डोम टिप्पणी डोम एक्सएमएलएचटीपीअनुरोध डोम पार्सर एक्सएसएलटी तत्व एक्सएसएलटी/XPath फ़ंक्शंस

एक्सएमएल तत्व बनाम गुण


एक्सएमएल में, विशेषताओं का उपयोग कब करना है, और बाल तत्वों का उपयोग कब करना है, इसके बारे में कोई नियम नहीं हैं।


तत्वों बनाम गुणों का उपयोग

डेटा को चाइल्ड एलिमेंट्स या एट्रीब्यूट्स में स्टोर किया जा सकता है।

इन उदाहरणों पर एक नज़र डालें:

<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

पहले उदाहरण में सेक्स एक विशेषता है। अंत में, काम एक बाल तत्व है। दोनों उदाहरण समान जानकारी प्रदान करते हैं।

विशेषताओं का उपयोग कब करना है, और बाल तत्वों का उपयोग कब करना है, इसके बारे में कोई नियम नहीं हैं। मेरा अनुभव यह है कि विशेषताएँ HTML में काम आती हैं, लेकिन XML में आपको उनसे बचने की कोशिश करनी चाहिए। यदि जानकारी डेटा की तरह लगती है तो चाइल्ड एलिमेंट का उपयोग करें।


मेरा पसंदीदा तरीका

मुझे बाल तत्वों में डेटा स्टोर करना पसंद है।

निम्नलिखित तीन XML दस्तावेज़ों में बिल्कुल समान जानकारी है:

पहले उदाहरण में दिनांक विशेषता का उपयोग किया जाता है:

<note date="12/11/2002">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

दूसरे उदाहरण में दिनांक तत्व का उपयोग किया जाता है:

<note>
  <date>12/11/2002</date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

तीसरे में विस्तारित दिनांक तत्व का उपयोग किया जाता है: (यह मेरा पसंदीदा है):

<note>
  <date>
    <day>12</day>
    <month>11</month>
    <year>2002</year>
  </date>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>


विशेषताओं का उपयोग करने से बचें?

क्या आपको विशेषताओं का उपयोग करने से बचना चाहिए?

विशेषताओं के साथ कुछ समस्याएं हैं:

  • विशेषताओं में एकाधिक मान नहीं हो सकते (बाल तत्व कर सकते हैं)
  • विशेषताएँ आसानी से विस्तार योग्य नहीं हैं (भविष्य में होने वाले परिवर्तनों के लिए)
  • विशेषताएँ संरचनाओं का वर्णन नहीं कर सकतीं (बाल तत्व कर सकते हैं)
  • प्रोग्राम कोड द्वारा विशेषताओं में हेरफेर करना अधिक कठिन होता है
  • डीटीडी के खिलाफ विशेषता मूल्यों का परीक्षण करना आसान नहीं है

यदि आप डेटा के लिए कंटेनर के रूप में विशेषताओं का उपयोग करते हैं, तो आप ऐसे दस्तावेज़ों के साथ समाप्त होते हैं जिन्हें पढ़ना और बनाए रखना मुश्किल होता है। डेटा का वर्णन करने के लिए तत्वों का उपयोग करने का प्रयास करें । विशेषताओं का उपयोग केवल ऐसी जानकारी प्रदान करने के लिए करें जो डेटा के लिए प्रासंगिक नहीं है।

इस तरह समाप्त न करें (इस तरह एक्सएमएल का उपयोग नहीं किया जाना चाहिए):

<note day="12" month="11" year="2002"
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>

मेरे गुण नियम का अपवाद

नियमों में हमेशा अपवाद होते हैं।

विशेषताओं के बारे में मेरे नियम में एक अपवाद है:

कभी-कभी मैं तत्वों को आईडी संदर्भ प्रदान करता हूं। इन आईडी संदर्भों का उपयोग एक्सएमएल तत्वों को उसी तरह से एक्सेस करने के लिए किया जा सकता है जैसे एचटीएमएल में NAME या आईडी विशेषताएँ। यह उदाहरण यह प्रदर्शित करता है:

<messages>
<note id="p501">
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

<note id="p502">
  <to>Jani</to>
  <from>Tove</from>
  <heading>Re: Reminder</heading>
  <body>I will not!</body>
</note>
</messages>

इन उदाहरणों में आईडी एक्सएमएल फ़ाइल में अलग-अलग नोटों की पहचान करने के लिए सिर्फ एक काउंटर, या एक अद्वितीय पहचानकर्ता है, न कि नोट डेटा का हिस्सा।

मैं यहां जो कहना चाह रहा हूं वह यह है कि मेटाडेटा (डेटा के बारे में डेटा) को विशेषताओं के रूप में संग्रहीत किया जाना चाहिए, और वह डेटा स्वयं तत्वों के रूप में संग्रहीत किया जाना चाहिए।