XML DOM ব্রাউজার পার্থক্য

বিভিন্ন ব্রাউজারগুলি XML DOM-এর মধ্যে খালি টেক্সট নোডকে পরিচালনা করার পদ্ধতিতে ভিন্ন হয়。

উদাহরণ

নিচের উদাহরণটি XML ফাইলটি ব্যবহার করে books.xml

ফাংশন loadXMLDoc()উপরোক্ত উদাহরণটি XML ফাইলটি লোড করার জন্য ব্যবহৃত হয়, এবং বাইরের JavaScript-এ অবস্থান করে。

নোড তালিকার দৈর্ঘ্য দেখানো
নোড তালিকার দৈর্ঘ্য দেখানো
Ignore nodes between empty text
এই উদাহরণটি নোডের nodeType-কে পরীক্ষা করে, এবং শুধুমাত্র এলিমেন্ট নোডকেই পরিচালনা করে。

DOM পার্শ্বপ্রতিবন্ধকতা

সমস্ত আধুনিক ব্রাউজারগুলি W3C DOM নিয়মনীতিকে সমর্থন করে।

কিন্তু, ব্রাউজারগুলির মধ্যে পার্থক্য রয়েছে। গুরুত্বপূর্ণ পার্থক্য দুটি রয়েছে:

  • XML-কে লোড করার পদ্ধতি
  • খালি ও নিবন্ধন বিন্যাসকৃত প্রক্রিয়াকরণ

XML DOM পার্সিং”এই বিভাগ, XML-কে বিভিন্ন পদ্ধতিতে লোড করার ব্যাখ্যা করেছে।

এই বিভাগে, আমরা খালি ও নিবন্ধন বিন্যাসকৃত প্রক্রিয়াকরণের বিভিন্ন পদ্ধতিকে ব্যাখ্যা করব।

DOM - খালি ও নিবন্ধন বিন্যাসকৃত

XML-এর মধ্যেকার নোডগুলিতে প্রায়শই বহুবচনা বা খালি অক্ষর থাকে। এটা সাধারণত সরল সম্পাদক (যেমন মুক্তি বই) ব্যবহার করার সময় হয়তো ঘটে।

নিচের উদাহরণ (মুক্তি বই এডিটরের দ্বারা) প্রতিটি পাঠলিপিতে CR/LF অন্তর্ভুক্ত থাকে, এবং প্রত্যেক সাব-নোড প্রতি দুইটি খালি জায়গা থাকে:

<book>
  <title>Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

Firefox এবং অন্যান্য কিছু ব্রাউজার খালি খালি জায়গা বা নিবন্ধন বিন্যাসকৃত বাক্যলিপিকে টেক্সট নোড হিসাবে পরিচালনা করে, কিন্তু Internet Explorer এর মতো নয়।

The following code snippet shows how many child nodes the root element (of books.xml) has:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
document.write("Number of child nodes: " + x.length);

উদাহরণ ব্যাখ্যা:

  • ব্যবহার করে loadXMLDoc() প্রত্যক্ষকৃত "books.xml" xmlDoc তে লোড করুন
  • শুরুতম এলিমেন্ট নোডকে পাওয়া
  • Output the number of child nodes

The result depends on the browser used. Firefox outputs 9, while IE outputs 4.

TIY

Ignore nodes between empty text

To ignore the empty text nodes between element nodes, you need to check the node type. The element node type is 1:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{ 
if (x[i].nodeType==1)
  {// only process element nodes 
  document.write(x[i].nodeName);
  document.write("<br />");
  } 
}

উদাহরণ ব্যাখ্যা:

  • ব্যবহার করে loadXMLDoc() প্রত্যক্ষকৃত "books.xml" xmlDoc তে লোড করুন
  • শুরুতম এলিমেন্ট নোডকে পাওয়া
  • প্রত্যেক সাবড়েক্সট নোডের নোড ধরন পরীক্ষা করুন।যদি নোড ধরন "1" হয়, তবে তা এলিমেন্ট নোড

TIY (সরল) বা TIY (পূর্ণ)