এক্সএমএল যদি খুব খারাপ হয় ... এত লোক কেন এটি ব্যবহার করে? [বন্ধ]


37

আমি এক্সএমএলটির উদ্দেশ্য বুঝতে পেরেছি, তবে আমি সবসময় লোকদের এটি কীভাবে খারাপ বলে অভিযোগ করতে শুনি? আমি আসলে বুঝতে পারছি না এটার কী খারাপ? আমি প্রায়শই "ফোলা" এবং "ধীর" শব্দটি প্রায় ছড়িয়ে পড়ে শুনি।

তবে আমি প্রোগ্রামার হিসাবে অনুমান করি, আপনি মূলত এর জন্য কী ব্যবহার করেন? এবং আপনি কি সত্যিই এটি "খারাপ" হিসাবে বিবেচনা করছেন .... কারণ যদি এটি হয় তবে প্রচুর লোকেরা ডেটা পরিবহনের জন্য এটি ব্যবহার করে ...


1
আপনার উত্তর প্রশ্নে আছে। লোকেরা এখনও এটি ব্যবহার করে কারণ লোকেরা এটি ব্যবহার করত এবং বিকল্পগুলি হ'ল (1) JSON এবং YAML এর আগে এটি ব্যবহার করা সমস্ত কোড পুনরায় লিখুন, বা (2) এটিকে চুষতে এবং বোকা কাজটি করে। এখনও অনেক লোক সহিংসতার চক্রকে স্থায়ী করে তোলে। এটি অনুশীলনের সহজাত মূল্য প্রমাণ করে না prove
পার্থিয়ান শট 1

5
একটি আসল দস্তাবেজের জন্য JSON ব্যবহার করে দেখুন (ম্যান পেজ, নুথ, হ্যামলেট ইত্যাদি)। এরপরে আপনি বুঝতে পারবেন কেন XML প্রয়োজনীয়। এটি এমন একটি স্থান যেখানে জেএসওন চুষছে (এগিয়ে যান, চেষ্টা করুন)। অন্যের নকশার জায়গার মধ্যে একটির ব্যবহার প্রশ্নবিদ্ধ able জেএসএনের স্পেসে এক্সএমএল ব্যবহার করা সমস্যাগুলি মূলত ভার্বোসিটি এবং গতি, যখন এক্সএমএলের স্পেসে জেএসওএন ব্যবহার করা সমস্যাগুলি বহনযোগ্যতার সাথে জড়িত থাকে (জেএসএনে একটি বই করেছেন এমন কোনও বন্ধুর সাথে ইন্টারঅ্যাক্ট করার চেষ্টা করুন, তবে তাদের নিজস্ব উপায়), সততা এবং ব্যাখ্যার সমস্যাগুলির সমাধানের জন্য মানব প্রচুর প্রচেষ্টা প্রয়োজন। আপনার কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করুন।
টেক্সটগীক

এক্সএমএলটি কেবল খারাপ কারণ অনেক লোক এটিকে অপব্যবহারের জন্য ডিজাইন করেনি। যদি আপনার ডেটা সহজেই এক্সটেনসিবল হওয়ার প্রয়োজন না হয় (যেমন স্কিমটি একাধিক পক্ষের দ্বারা ব্যবহৃত হয় যাদের একাধিক পক্ষের দ্বারা কেন্দ্রীয়ভাবে কর্তৃত্বকারী পক্ষ দ্বারা নির্ধারিত করার পরিবর্তে আন্তঃসংযোগ স্থাপন করা প্রয়োজন), এবং যদি আপনার ডেটা কোনও নথি না হয় (যেমন যদি ডিওএম 'আপনার ডেটাগুলির একটি দুর্বল বিমূর্ততা ছিল), তবে এক্সএমএল এই অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত নয়। আপনার সমস্যার ডোমেনটি যদিও এক্সএমএল এর জন্য ডিজাইন করা হয়েছে তার অধীনে, অন্য কোনও কিছুই এক্সএমএলের সাথে মেলে না। এক্সএমএল প্রকৃতপক্ষে যে জায়গাগুলির জন্য ডিজাইন করা হয়েছে তার জন্য জেএসন, ওয়াইএএমএল ইত্যাদি খুব কমই উপযুক্ত।
মিথ্যা রায়ান

উত্তর:


90

এক্সএমএল এটির জন্য যা ডিজাইন করা হয়েছিল তার জন্য দুর্দান্ত - একটি প্ল্যাটফর্ম নিরপেক্ষ, নিম্ন স্তরে ডেটা বৈধকরণ প্রয়োগ করার জন্য কিছু ক্ষমতা সহ মানব পাঠযোগ্য ডেটা ট্রান্সফার প্রোটোকল। আমি সন্দেহ করি যে এই পদ্ধতিতে এক্সএমএল ব্যবহার করেন এমন ব্যক্তির আসল অভিযোগ রয়েছে। এটি কি সর্বাধিক সুসিন্ট ওয়্যার ফর্ম্যাট? না। তবে আরও খারাপ বিকল্প রয়েছে। এটি আপনার কাস্টম বাইনারি ফর্ম্যাটটি পড়ার মতো দ্রুত? না। তবে আপনার ব্যবসায়িক অংশীদাররা তারা যে স্ট্যাক ব্যবহার করছে তা এতে পড়তে পারে।

তবে সমস্যাটি হ'ল মানুষ - বিশেষত এন্টারপ্রাইজ আর্কিটেক্ট হিসাবে পরিচিত জাতটি - মন্দ এবং ভাল জিনিস নিয়ে যায় এবং তাদের খারাপ করে তোলে। এক্সএমএলের ক্ষেত্রে, এই শতাব্দীর প্রথম দিকের অংশটি প্রতিটি আইটি সমস্যার জন্য এক্সএমএলকে সর্বজনীন হাতুড়ি হিসাবে দেখেছিল। কমিটি দ্বারা সামান্য ডিজাইনে ছিটিয়ে দিন এবং আপনি এসওএপি এবং ওএক্সএমএল এর মতো কিছু ভয়াবহ মনস্ট্রোসিটি দিয়ে শেষ করেন । যার কোনটিই শত্রুদের, শুভেচ্ছার বন্ধু বা সহকর্মীদের জন্য কামনা করা উচিত নয়।


15
+1 - যে কাউকে কখনও ইডিআইয়ের সাথে ডিল করতে হয়েছিল, তিনি চান যে এক্সএমএল এর উদ্বেগ হওয়ার আগেই এটি আবিষ্কার করা হয়েছিল।
স্কট হুইটলক

12
+1 আমার চিন্তাধারার প্রায় সঠিকভাবে মেলে। আমি কেবল এটিকে যুক্ত করব সরল ও সাধারণ ডেটা সংরক্ষণ করার জন্য, যদিও এটি একটি শ্রেণিবিন্যাসিক (তবে খুব গভীরভাবে নয়, এটি কোনও কিছুর সাথে ভালভাবে মিশ্রিত হয় না ), এমন কয়েকটি ফর্ম্যাট রয়েছে যা ঠিক পাশাপাশি কাজ করে - সর্বাধিক উল্লেখযোগ্য জেএসএন এবং ওয়াইএএমএল। পরেরটি মানব পাঠযোগ্যতার সাথে শ্রদ্ধার সাথে দুর্দান্ত ho

11
Jwz প্যারাফ্রেজ করতে: "এখানে একটি নির্দিষ্ট ধরণের প্রোগ্রামার রয়েছে যিনি যে কোনও সমস্যা দেখবেন এবং বলবেন, 'আমি জানি, আমি এক্সএমএল ব্যবহার করব।' এখন তার দুটি সমস্যা আছে। "
অ্যাডাম ক্রসল্যান্ড

13
দয়া করে আমাকে বলুন oXML ব্রেনফাক বা হোয়াইটস্পেস বা ললকোডের মতো একটি রসিকতা হিসাবে তৈরি হয়েছিল।
dsimcha

9
@ শামীম হাফিজ, এসওএপি অবশ্যই মানবজাতির দ্বারা সৃষ্ট সবচেয়ে নিকৃষ্টতম মূর্তিগুলির মধ্যে একটি।
এসকে-লজিক

24

এক্সএমএল কেবল একটি সরঞ্জাম যা অনেক স্বাদে এবং ব্যবহারে আসে। এক্সএমএল কিছু জিনিসগুলিতে দক্ষতা অর্জন করে এবং অন্যকে স্তন্যপান করে। আমি মনে করি যে সমস্যাগুলির মধ্যে একটি হ'ল লোকেরা "এন্টারপ্রাইজ" এক্সএমএল দেখেছিল যা নামহীনতা এবং আশেপাশে ছড়িয়ে পড়া (এসওএপি, কেউ?) দিয়ে অকারণে জটিল। মানুষের জন্য এক্সএমএল ফর্ম্যাটগুলি নকশা করার কৌশলটি পড়ার জন্য অত্যধিক না করে ডেটাতে আসল অর্থ যুক্ত করছে।

লোকেরা যে বিষয়গুলির সাথে ইস্যু করে তার মধ্যে একটি হ'ল এক্সএমএল কখনও কখনও কোনও চরিত্র বা কিছু অনুপস্থিত বন্ধনী বন্ধ করে দেয়। তবে, এটি একটি উত্সাহ এবং একটি খারাপ দিক উভয়ই আছে। বিপরীতটি হ'ল এইচটিএমএলের সাথে আপনার মতো অস্পষ্টতা নেই যেখানে আধা-অবৈধ সিনট্যাক্সের বিভিন্ন ক্ষেত্রে আলাদাভাবে ব্যাখ্যা করা যায়।

খারাপ দিকটি এটি হ'ল লেখকের পক্ষে কিছুটা শক্ত এবং শেখা আরও শক্ত। আমি একমত যে এই যুক্তিটি তৈরি করতে হবে যে ওয়েবটি এত দ্রুত এত দ্রুত হয়ে উঠতে পারত না যে এইচটিএমএল এক্সএমএলের মতো কঠোর ছিল, তবে আমি আরও যুক্তি দিয়ে বলতে পারি যে এটি যদি আজ হয় তবে আমরা খুশি হব। :)

এছাড়াও, এটিকে যথাযথভাবে প্রয়োগ করার জন্য, বুদ্ধি এবং বিচার থাকতে পারে বলেই এটি সমস্ত কিছুর জন্য ব্যবহার করবেন না। আপনার সমস্ত কিছু যদি এক্সএমএল হয় তবে আপনি যা চান তা থেকে সর্বদা একটি এক্সএসএলটি রূপান্তর হতে চান। :)

আমি যুক্তি দেব যে ফর্ম্যাটটি কেবল তখনই গুরুত্বপূর্ণ যখন মানুষের সাথে এটির সাথে যোগাযোগ করার প্রয়োজন হয়। আপনি যদি এমন কোনও প্রোগ্রাম লিখছেন যা কোনও কিছুকে সিরিয়ালাইজ করে এবং কোথাও এটি পাঠিয়ে দেয় যেখানে এটি আপনার প্রোগ্রামের অন্য কোনওটির দ্বারা গ্রাস করা উচিত, কে এটি যতটা সম্ভব দক্ষ হিসাবে এতক্ষণ দেখতে দেখতে যত্নশীল? আমার যত্ন নেওয়ার জন্য বাইনারি ফর্ম্যাট বা বনি এবং ইউনিকর্ন ব্যবহার করুন।

এক্সএমএল এর পেশাদার

  • YAML এবং JSON না এমন অনেকগুলি প্রচ্ছদ কেস কভার করে
  • বিভিন্ন প্ল্যাটফর্ম এবং ভাষার অ্যারেতে এক্সএমএলকে বিশদকরণ এবং যাচাই করার জন্য দুর্দান্ত সরঞ্জাম রয়েছে
  • এক্সএমএল সহজে এবং শক্তিশালীভাবে অন্য ফর্ম্যাটে রূপান্তরিত হতে পারে (এক্সএসএলটির মতো জিনিসগুলির মাধ্যমে)
  • যুক্তিযুক্ত XML ডকুমেন্টগুলি মানুষের পড়া এবং সম্পাদনা করা সহজ; আমাকে বলবেন না জেএসওন সহজ, এটি নয় :)
  • এক্সএমএল কিছুটা ডিগ্রি থেকে স্ব-বর্ণনা করছে, অর্থাত্ এটির মধ্যে সরাসরি তার গঠন এবং অর্থ সম্পর্কে তথ্য থাকে (বেশিরভাগ বাইনারি ফর্ম্যাটগুলির বিপরীতে)
  • এনকোডিং পরিচালনা করে
  • হোয়াইটস্পেস অজোনস্টিক, যা ক্রস প্ল্যাটফর্মের সহজ ব্যবহারের জন্য করে তোলে
  • যদি এটি সু-গঠিত না হয় তবে বিরতি দেয় (ডেটা কাঠামোগতভাবে সঠিক থাকে তা নিশ্চিত করে)
  • এটি এসজিএমএল নয়

কনস

  • বাগাড়ম্বরপূর্ণ
  • বাইনারি হিসাবে পার্স করা তত দ্রুত নয়
  • যদি এটি সু-গঠিত না হয় তবে বিরতি ঘটে (আপনার অ্যাপ্লিকেশনটিকে ক্র্যাশ করে)

ভাল ব্যবহার

  • কনফিগারেশন ফাইল
  • ডেটা ইন্টারচেঞ্জ ফর্ম্যাটগুলি
  • সংস্করণ স্থিতিস্থাপক ফাইল ফর্ম্যাট
  • ডাটাবেসগুলিতে নথি সংরক্ষণ করা

এত ভাল ব্যবহার হয় না

  • ডেটা স্থানান্তর ফর্ম্যাটগুলি
  • সিরিজিং অবজেক্টস
  • ডাটাবেসে রিলেশনাল ডেটা সংরক্ষণ করা
  • উচ্চ কার্যকারিতা আই / ও দৃশ্যের জন্য ফাইল ফর্ম্যাট

13
আমি সন্দেহ করি যে "কনফিগারেশন ফাইলগুলি" "ভাল ব্যবহারের" নীচে থাকা উচিত। এগুলি ডেটা নয়, নির্দেশনা।
ডাকনেক

3
আমি এখানে @ ডাকনেকের সাথে আছি - লম্বা এক্সএমএল-ফাইলে অনেকগুলি লাইনে একটি কনফিগারেশন বাগ খুঁজে পেতে আমার যে পরিমাণ সময় ব্যয় করতে হয়েছিল তা আমি গণনা করতে পারছি না যা নির্ভরতা ইনজেকশন নির্দিষ্ট করে, যা একটি ছোট টাইপের উপর ভিত্তি করে ছিল একটি এক্সএমএল-গুণাবলী।
Gjallar

3
খারাপ ডেটা যদি কোনও অ্যাপ ক্র্যাশ করে তবে কি সেই ডেটাতে সমস্যা আছে?
জেমস স্নেল

4
যে কোনও ফাইল ফর্ম্যাট যা ত্রুটিযুক্ত / দূষিত তা ভাঙ্গা সফ্টওয়্যার ক্রাশ করার সম্ভাবনা রাখে। সুতরাং এক্সএমএল এখানে অপরাধী নয় ... কেবল আপনার আবেদন। অন্যথায়, ভাল পোস্ট।
টমাস এডিং

3
আপনি কি "YAML এবং JSON না এমন অনেক প্রান্তের বিষয়গুলি কভার করেন"?
ট্রেভর হিকি

14

জেফ অ্যাটউডের এক্সএমএলে একটি দুর্দান্ত ব্লগ পোস্ট রয়েছে : আপনি যদি কোনও উত্স সম্পর্কে কথা বলতে চান তবে এটি সম্পর্কে অ্যাঙ্গেল বন্ধনী কর

আমার এটির সবচেয়ে সাধারণ ব্যবহারগুলি হ'ল:

  • একে অপরের সাথে কথা বলার পরিষেবাগুলি। উদাহরণস্বরূপ, একটি কন্টেন্ট ম্যানেজমেন্ট সিস্টেম ব্যবহার করে এমন একটি ওয়েবসাইটকে গ্রাহক সম্পর্ক ব্যবস্থাপনা সিস্টেমে কিছু ডেটা প্রেরণ করতে হয় এবং এটি এক্সএমএল দিয়ে সম্পন্ন হয়।

  • কনফিগারেশন স্টোরেজ। Web.config এবং app.config সাধারণ উদাহরণ হয়ে উঠছে তবে এনআর স্ক্রিপ্টগুলি এগুলিতে কিছু এক্সএমএলও ব্যবহার করতে পারে।

আমি এটিকে অনুকূল বলে মনে করি না তবে এটি একা আমার মনে খারাপ করে না।


11

দুটি কারণ:

  1. সেখানে প্রচুর খারাপ প্রোগ্রামার রয়েছে। এক্সএমএল খারাপ হতে পারে তবে এটি খুব সহজ (কমপক্ষে পৃষ্ঠের উপরে) এবং খারাপ সফ্টওয়্যারটি লেখা খুব সহজ করে তোলে। ভিবি এর মতো বাছাই করা।
  2. এই সিদ্ধান্ত গ্রহণকারী অনেক লোক প্রোগ্রামার নয়, তবে ব্যবসায়ের ধরণ যারা কেবল শুনেছেন যে "প্রত্যেকে এক্সএমএল ব্যবহার করছে" এবং তাই তারা সিদ্ধান্ত নিয়েছে যে তারা তাদের পণ্যটিও এক্সএমএল ব্যবহার করতে চায়।

কি একটি অযৌক্তিক এবং সম্পূর্ণ অকেজো পয়েন্ট। 1) এক্সএমএল খারাপ থেকে দূরে এবং লোকেদের যে সফ্টওয়্যারটি তারা চয়ন করে বা নির্বাচন করে না সেটির মানের সাথে এর কোনও সম্পর্ক নেই, আমি বেশ ভাল ভিবি প্রোগ্রামারকে দেখেছি, ইঙ্গিত করে যে আপনি যদি ভিবি ব্যবহার করেন তবে আপনি সত্যই খারাপ সফ্টওয়্যার লিখেন কেবল নির্বোধ কারণ আপনি কীভাবে সফ্টওয়্যার লেখেন এবং আপনি এটি কী লিখতে ব্যবহার করেন তার মধ্যে একটি সম্পূর্ণ বিচ্ছিন্নতা রয়েছে। 2) তবুও অন্য একটি ভুল ধারণা, এক্সএমএল নির্বাচন করা দুর্দান্ত এবং বেশিরভাগ লোকেরা এটি ভাল বা খারাপের জন্য বেছে নিচ্ছে অবশ্যই প্রোগ্রামার। এক্সএমএল সিলভার বুলেট নয় তবে কিছু জিনিসের জন্য এটি ভাল।
আইয়াল সলনিক

2
@ আইয়ালসোলনিক: কিছু লোক, যখন কোনও সমস্যা নিয়ে আসে, তখন "আমি জানি, আমি এক্সএমএল ব্যবহার করব।"<Problem:Worsening> <Problem:TimeDescription>Now</Problem:TimeDescription> <Problem:Posessive>they have</Problem:Posessive> <Problem:Quantity>many, many</Problem:Quantity> <Problem:WorseningDescription>more problems</Problem:WorseningDescription> </ProblemWorsening>
ম্যাসন হুইলারের

3
লোকেরা কোনও কিছুর অপব্যবহারের অর্থ প্রযুক্তি নিজেই খারাপ তা বোঝায় না, আপনি অনেক জায়গায় একই সিন্ড্রোম দেখতে পাবেন।
ইয়াল সলানিক

8

আমি প্রায়শই "ফোলা" এবং "ধীর" শব্দটি প্রায় ছড়িয়ে পড়ে শুনি।

এটি সর্বাধিক কমপ্যাক্ট বাক্য গঠন নয়, তবে এটি স্পষ্টতই সর্বাধিক অভিব্যক্তিপূর্ণ। মানব পাঠযোগ্য? আপনি কীভাবে আপনার ভাষা ডিজাইন করেন তার উপর নির্ভর করে। বেশিরভাগ লোকেরা এক্সএমএলের জন্য কোনও ভাষা নকশা করেন না, তারা কেবলমাত্র এক্সএমএল হিসাবে বস্তুগুলিকে সিরিয়ালাইজ করেন।

… এত লোক কেন এটি ব্যবহার করে?

এটা সর্বব্যাপী। আপনি এক্সকিউরির সাথে একটি এক্সএমএল ডাটাবেস অনুসন্ধান করতে পারেন, এক্সএসএলটি দিয়ে এক্সএইচটিএমএল বা অ্যাটম হিসাবে ফলাফলগুলি রূপান্তর করতে পারেন, অন্যান্য ওয়েব পরিষেবাদি থেকে অ্যাটম বা অন্যান্য এক্সএমএল ফর্ম্যাট পেতে পারেন, এক্সফোর্ম ব্যবহারকারী ব্যবহারকারীদের কাছ থেকে এক্সএমএল পেতে পারেন, এক্সএমএসচেমার সাথে এটি বৈধ করে নিন, রিল্যাক্স এনজি বা স্কিম্যাট্রন দিয়ে এটি প্রক্রিয়া করুন এক্সপ্রোক, এক্সকিউরি আপডেটের সাথে এটি ডাটাবেসে ফিরিয়ে দিন। এই সমস্ত সরঞ্জামগুলি এক্সএমএল বোঝে, তাই বিভিন্ন উপস্থাপনার মধ্যে ম্যাপিংয়ের দরকার নেই।

এক্সএমএল কোনও সিরিয়ালাইজেশন প্রযুক্তি নয়, এটি একটি সাধারণ উদ্দেশ্য তথ্য সেট।


... এবং আমরা নিজেকে বছরের পর বছর জিজ্ঞাসা করি কেন ক্রিসসেকসের জন্য এসওএপি এক্সএমএল তৈরি করা হয়েছিল।
জেনসজি

6

এখানে, আমরা এটি বিভিন্ন অভ্যন্তরীণ উপস্থাপনা সহ বিভিন্ন বিক্রেতাদের দ্বারা তৈরি বিভিন্ন সিস্টেমের মধ্যে ডেটা এক্সচেঞ্জের জন্য ব্যবহার করি। আমরা ডেটা সামনে এবং পিছনে শাটল করার জন্য একটি এক্সএমএল রূপান্তর / ইন্টারচেঞ্জ সিস্টেম তৈরি করি build এটি তার জন্য দুর্দান্ত কাজ করে।

এক্সএমএল জন্মগতভাবে খারাপ নয়, তবে আমি স্বীকার করি যে এক্সএমএল ব্যবহার করে একটি "ভাল" সমাধান ডিজাইন করা তুচ্ছ নয়।


5

"এক্সএমএলের সারমর্মটি হ'ল: যে সমস্যাটি এটি সমাধান করে তা কঠিন নয়, এবং সমস্যাটি ভালভাবে সমাধান করে না" " - ফিল ওয়াডলার, পিওপিএল 2003

আমার ব্যক্তিগত মতামতটি হ'ল যতক্ষণ আপনি বৈধতা, স্কিমাস, এক্সএসএলটি এবং বাকী কুরুচিপূর্ণ বিষয়গুলির বিষয়ে চিন্তা করেন না এবং আপনি ফাইলগুলির আকার ছোট রাখেন (অন্যথায় পার্সিং ধীর হয়ে যায়) আপনি এক্সএমএলের কিছু ভাল ব্যবহারগুলি খুঁজে পেতে পারেন (একটি উদাহরণ আইএনআই ফাইলগুলি ব্যবহার না করে আপনার অ্যাপ্লিকেশনটি কনফিগার করার জন্য)।


4

আমার অভিজ্ঞতায় লোকেরা বেশিরভাগ ক্ষেত্রে প্রযুক্তি ব্যবহারের উপায় সম্পর্কে অভিযোগ করে।

লোকেদের যে ফোলা এবং ধীর বিটগুলি অভিযোগ করে সেগুলি সাধারণত গ্রন্থাগার / পদ্ধতি যা এগুলি থেকে তথ্য আনতে ব্যবহৃত হয়।

আমি এটি ডিস্কে (ডাটাবেস বা বাইনারি সিরিয়ালাইজেশন ছাড়াই) সঞ্চয় করতে চাই এমন সংখ্যক কাঠামোগত তথ্য সংরক্ষণ করার জন্য ব্যবহার করি, বা অন্য অ্যাপ্লিকেশনটিতে (যা মূলত এসওএপি বর্ণনা করে) to


2

এটি ভাল কারণ:

এটি একটি স্ট্যান্ডার্ড "ইন্টারফেস" যা একাধিক ভিন্ন ভিন্ন সিস্টেমের সাথে যোগাযোগের জন্য ব্যবহার করতে পারে। এবং "মানব" পাঠযোগ্য (ধরণের, 5 এমবি এক্সএমএল দেখার চেষ্টা করুন)

এটি খারাপ কারণ:

এটি ফুলে গেছে, আরও বড় আকার = আরও বেশি ব্যান্ডউইথ = আরও $$ $$

অন্যান্য কারণ রয়েছে, প্রত্যেকের আলাদা আলাদা গ্রিপ রয়েছে ...


4
@ ডার্কনাইট: এক্সএমএল সত্ত্বাকে আপনার দিকে ফেলে দিয়ে আমি মানব পঠনযোগ্যকে চ্যালেঞ্জ জানাই ... (ব্যক্তিগত পীভ)
ম্যাথিউ এম।

1
আমি মনে করি না এক্সএমএল সহজাতভাবে ফুলে গেছে - তবে এটির বাস্তবায়ন। আমি এক্সএমএল-আরপিসিটিকে অপ্রয়োজনীয় ব্লাটে বিশেষত অতিষ্ঠ বলে মনে করি।
হুরুসকোল

3
@ হারুসকোল: <advanceAcceptanceIndicator>Y</advanceAcceptanceIndicator>অনুপাতের ডেটা / মার্কআপ এত কম ... আমি এটিকে "ফুলে" আছি। JSON, উদাহরণস্বরূপ, হবে শুধুমাত্র অর্ধেক স্ফীত: advanceAcceptanceIndicator: "Y"। ট্যাগগুলির মধ্যে পাঠ্যটি বৈধ আছে এই বিষয়টিও রয়েছে , তাই এক্সএমএল পড়ার সময় আপনাকে এই ক্রাফ্টটি দিয়ে কী করা উচিত তা সিদ্ধান্ত নেওয়া দরকার \n\t\t\tএবং সমাধানটি সাধারণত এটিকে উপেক্ষা করা উচিত কারণ আপনি কখনই এটি শুরু করতে আগ্রহী ছিলেন না।
ম্যাথিউ এম।

1
@ হারুসকোল: এটি হবে তবে আমি কখনও বলিনি যে এটি একটি বুলিয়ান মান, এটি কেবলমাত্র একটি চর হিসাবে ঘটেছিল :) এখানে গুণাবলীর ব্যবহার ( value?) সম্ভবত উচ্চতর হবে, কারণ লোকেদের মধ্যে দু'জনের মধ্যে শ্বেত স্পেস toোকাতে প্ররোচিত হতে পারে? ট্যাগ.
ম্যাথিউ এম।

1
"এটি স্ফীত, বৃহত্তর আকার = আরও বেশি ব্যান্ডউইথ = আরও $$" আমি অনুমান করি যে আপনি এখনও যেখানে ছিলেন সেখানে সংক্ষেপণের আবিষ্কার হয়নি।
অ্যান্ডি

2

অন্য যে কোনও প্রযুক্তির মতো: এখানে অনেকগুলি উপলভ্য সরঞ্জাম এবং গ্রন্থাগার রয়েছে।

আমি এক্সএমএল পছন্দ করি না, বিশেষত এটি মজাদার কারণ, যখন লোকেরা বলে যে এটি মানব পাঠযোগ্য, তখন তারা রসিকতা করে বলে, বা সত্যই কোনও এক্সএমএল পড়েনি যখন যখন কোনও বৈশিষ্ট্যে এক্সএমএল এম্বেড করার চেষ্টা করা হয়েছিল ... এক্সএমএল সত্তাগুলি এটিকে সত্যই তৈরি করে অপাঠ্য। তদ্ব্যতীত, অপ্রয়োজনীয় শেষ ট্যাগের কারণে, এবং বিনামূল্যে পাঠ্য এবং ডেটা মেশানোর দক্ষতার কারণে কতটা জায়গা নষ্ট হয়ে যায় তা আশ্চর্যজনক ...

কিন্তু:

  • এক্সএমএল নির্দিষ্ট করা যেতে পারে (এক্সএসডি) এবং এমন সরঞ্জামগুলি পাওয়া যায় যা এক্সএমএল ডেটার সাথে সামঞ্জস্যতা পরীক্ষা করে
  • প্রচুর সরঞ্জাম (পাঠ্য সম্পাদক এবং এ জাতীয়) এক্সএমএল সমর্থন করে
  • প্রচুর লাইব্রেরি (প্রায় প্রতিটি প্রোগ্রামিং ভাষায়) এক্সএমএল সমর্থন করে

এটি বেশিরভাগ সময় প্রাধান্য লাভ করে। আপনি যখন এক্সএমএলে ইতিমধ্যে ওয়েব পরিষেবাদি সরবরাহ করছেন, এবং একজন নতুন পরিষেবাদির জন্য জিজ্ঞাসা করছেন ... এটি সম্ভবত এক্সএমএলে সম্পন্ন হবে কারণ আপনি যা জানেন এটি।


5
এক্সএমএল বাইনারি বা অবস্থান- বা কমা-বিস্মৃত ডেটার চেয়ে বেশি পঠনযোগ্য।
হতাশ

কেবল একজন নিষ্পাপ ব্যবহারকারীর জন্য। যদি আমাকে দৃশ্যমানভাবে কয়েকটি রেকর্ড স্ক্যান করতে হয় যা এমন কিছু তথ্য হারিয়ে যাচ্ছিল যা আমি খালি ট্যাগের সন্ধানে উপাদান এবং বৈশিষ্ট্যের মোড়কে ভেদ করে স্থির দৈর্ঘ্যের রেকর্ডগুলির একটি ব্লকে কিছু ফাঁকা কলামগুলি সন্ধান করি।
টিএমএন

1
@ ফ্রেস্ট্রেটেড উইথফর্মস ডিজাইনার: এটি সত্যিকার অর্থে হাতে থাকা তথ্যের উপর নির্ভর করে। এক্সএমএল সঠিক তথ্যের নিকটে তথ্যের প্রকৃতি এম্বেড করে। আপনি যদি ক্রিয়ামূলক প্রোগ্রামিং ভাষার দিকে নজর রাখেন তবে আপনি (হাস্কেল) এর মতো জিনিস দেখতে পাবেন:, data Person = Person { surname :: String, firstName :: String, age :: Int }যদি আমি দেখতে পাই তবে Person "Doe" "John" 42এটি খুব পঠনযোগ্য এবং প্রচুর ক্রাফ্ট এড়ানো যায়, তবুও এটি কমা থেকে বিস্মৃত হওয়ার কাছাকাছি।
ম্যাথিউ এম।

1
ঠিক আছে, আপনার উদাহরণটি মার্কআপ ব্যতীত পড়া সহজ ছিল, তবে তুচ্ছ (আমি 8 বা 9 এর চেয়ে কম ডেটা উপাদান বলতে চাই) উদাহরণগুলি সমস্ত ফর্মকে সমর্থন করতে পারে (সম্ভবত বাইনারি বাদে)। মেইনফ্রেম থেকে ডেটাফিডগুলি অবস্থান-সীমাবদ্ধ স্ট্রিং হিসাবে উদ্ভূত হয় (এবং এর বেশিরভাগটি কেবল সংখ্যাসূচক কোড) এবং এক্সএমএলে রূপান্তরিত হওয়ার পরে এগুলি পড়া এবং ডিবাগ করা এবং পরিচালনা করা অনেক সহজ। যেমনটি আপনি বলেছেন, এটি নির্ভর করতে পারে ...
হতাশাগ্রস্থ

@ ফ্রাস্ট্রেটড উইথফর্মস ডিজাইনার: হ্যাঁ, এটি ঠিক আমার বক্তব্য :) এটি নির্ভর করে তবে এক্সএমএল এর জন্য এত সমৃদ্ধ বাস্তুসংস্থান রয়েছে এবং এটি কেবলমাত্র সরঞ্জাম / গ্রন্থাগারগুলির একটি সেট বজায় রাখা সহজ, তাই মানুষ সাধারণত সমস্ত কিছুর জন্য এক্সএমএল ব্যবহার করে। ব্যক্তিগতভাবে, আমি এক্সএমএলের চেয়ে জেএসনের পক্ষে, তবে আবারও বিন্যাস ছাড়াই, এটি অগোছালো: পি
ম্যাথিউ এম।

-1

এক্সএমএল ফাইলগুলির জন্য একটি দুর্বল পছন্দ যা অবশ্যই মানুষের দ্বারা বজায় রাখা উচিত। মার্কআপ এবং সামগ্রীটির মধ্যে কোনও চাক্ষুষ বিভাজন নেই, যা এটি পড়া শক্ত করে তোলে। বিশেষ উদ্দেশ্য সম্পাদক ছাড়া সঠিকভাবে লিখতে অসুবিধে হয়। এক্সএমএল নথিতে কোনও ত্রুটি মারাত্মক; একটি এক্সএমএল ডকুমেন্ট আংশিকভাবে প্রক্রিয়া করা যায় না। যখন কোনও এক্সএমএল ফাইলটি অবৈধ হয়, ফলস্বরূপ ত্রুটি বার্তাটি প্রায়শই সহায়তা না করে।

যে কোনও ফাইল যা কোনও মানুষের দ্বারা বজায় রাখা উচিত, আমি জেএসওএন, ওয়াইএএমএল, বা সোর্স কোড যে কোনও ব্যাখ্যামূলক ভাষায় (পাইথন, রুবি, গ্রোভি ইত্যাদি) ব্যবহার করতে পছন্দ করব। আমরা খুঁজে পেয়েছি যে লিগ্যাসি কোডের জন্য এক্সএমএল কনফিগারেশন তৈরির দুর্দান্ত উপায় হ'ল গ্রোভি মার্কআপবিল্ডার ব্যবহার করা। আর একটি ভাল পছন্দ একটি ডোমেন-নির্দিষ্ট ভাষা তৈরি করা; এটি রুবি, গ্রোভি এবং অন্যান্য অনেক ভাষার সাথে করা বেশ সহজ।


8
আমার মনে হয় আপনি এক্সএমএল বিন্দু অনুপস্থিত করছি, মার্কআপ হয় সামগ্রী অন্তর্ভুক্ত রয়েছে। এক্সএমএলের উদ্দেশ্যটি হল আপনার ডেটার অর্থ বর্ণনা করা। উদাহরণস্বরূপ, যদি আপনার কাছে টেলিফোন নম্বর থাকে তবে ল্যান্ডলাইন নম্বর বা মোবাইল নম্বর হিসাবে এটি ট্যাগ করা প্রসঙ্গে যুক্ত করে যা অন্যের ব্যবহার করতে পারে। বা এই বিষয়টির জন্য পাঠ্যের চারপাশে কোনও ফোন ট্যাগ যুক্ত করা (এই নম্বরটি কোনও মোবাইল ফোনে কল করতে পারে)। আপনার অন্যান্য বিষয় হিসাবে আমিও একমত নই। এক্সএমএল ডকুমেন্টগুলি লেখার কাজটি সাধারণত বেশ সোজা is ত্রুটি বার্তাগুলি সর্বদা সুস্বাস্থ্যের সাথে সম্পর্কিত এবং আমি কোনও দিন JSON এর মাধ্যমে এক্সএমএল সম্পাদনা করব
হোমডে

@ কনরাড আপনার ফোনের উদাহরণটি এইচটিএমএলের জন্য বৈধ হবে।
ফ্লোরিয়ান এফ

"এক্সএমএল ডকুমেন্টে যে কোনও ত্রুটি মারাত্মক; এক্সএমএল নথিটি আংশিকভাবে প্রক্রিয়াধীন হতে পারে না" " হ্যাঁ, এটি এক্সএমএল পয়েন্টের একটি বড় সমান।
অ্যান্ডি

@ অ্যান্ডি এটি এক্সএমএল যদি এক্সএমএল মানুষের দ্বারা লেখা হয় এবং অ্যাপ্লিকেশনটি কেবল "ভুল!" বলে! কোনও মানব সম্পাদকের ত্রুটিটি সনাক্ত করা হয়েছে এমন রেখাটি জানতে হবে।
কেভিন ক্লিন

যে কোনও সংখ্যক সরঞ্জাম আপনাকে ত্রুটিটি ঠিক কোন লাইনে এবং প্রায়শই চিহ্নিত হয় তা বলে দেয়। উদাহরণস্বরূপ নোটপ্যাডে এক্সএমএল সরঞ্জামগুলি ++। । নেট আপনাকে বলবে যে ঠিক আপনার কনফিগ ফাইলটি কোথায় ভুল। আপনি যদি কোনও এপিআইয়ের কথা বলছেন, এক্সএমএলটির একটি সুবিধা হ'ল এপিআই বিকাশকারী একটি এক্সএসডি সরবরাহ করতে পারবেন, যা বৈধ এক্সএমএল বাক্য গঠনের বিষয়টি নিশ্চিত করার পাশাপাশি আপনাকে জানাতে পারে যে আপনার কোনও উপাদান নেই যার মধ্যে নেই, যদি সেখানে কেবল সেই উপাদানগুলির মধ্যে একটি হতে পারেন Hand ইত্যাদি হস্তাক্ষরযুক্ত জেসন স্ক্রু আপ করা খুব সহজ।
অ্যান্ডি

-2

একই সাথে মানব পাঠযোগ্য হওয়ার সময় পার্সিং তুলনামূলকভাবে সহজ।

এবং কিছু দুর্দান্ত পার্সার (উদাহরণস্বরূপ Xerces {c ++}) সহজেই উপলব্ধ।


2
ঠিক আছে, ডকুমেন্টগুলি যতক্ষণ ছোট থাকে ততই সহজ। যুক্তিসঙ্গতভাবে স্মৃতিতে ফিট করার জন্য আপনাকে যদি খুব বড় ডকুমেন্টগুলি পার্স করতে হয় তবে জিনিসগুলি মারাত্মক আকার ধারণ করে।
টিএমএন

আমি মানুষের পাঠযোগ্যতার অংশটি নিয়ে প্রশ্ন করব। এটি একটি সমতুল্য JSON পড়ার জন্য এক্সএমএল পড়তে কেবল অনেক বেশি প্রচেষ্টা নেয়।
২:17
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.