অন্ধকারে, এক্সএমএল-এ এক্সএএমএলটি ভুল বা ভাল পদ্ধতির উপর ভিত্তি করে?


16

এক্সএএমএল মূলত এক্সএমএলের একটি উপসেট। এক্সএমএল-এ এক্সএএমএল বেস করার অন্যতম প্রধান সুবিধা বলে দেওয়া হয় যে এটি বিদ্যমান সরঞ্জামগুলি দিয়ে পার্স করা যায়। এবং এটি, বৃহত্তর মাত্রায়, যদিও (সিনট্যাক্টিকালি অ-তুচ্ছ) বৈশিষ্ট্যটির মানগুলি পাঠ্য আকারে থাকবে এবং আরও বিশদকরণ প্রয়োজন।

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

সুতরাং, অন্ধকারে এবং ভবিষ্যত প্রজন্মের কাছে পাঠ হিসাবে XML- এ XML- র ভিত্তি স্থাপন করা কি ভাল ধারণা ছিল, অথবা এটি কাস্টম-ডিজাইনযুক্ত ডোমেন-নির্দিষ্ট ভাষা হিসাবে আরও ভাল হত? আমরা যদি আরও উন্নততর ইউআই কাঠামো ডিজাইন করছিলাম তবে কি আমাদের এক্সএমএল বা একটি কাস্টম ডিএসএল বাছাই করা উচিত?

যেহেতু স্থিতিশীল অবস্থা সম্পর্কে ইতিবাচক চিন্তাভাবনা করা সহজ, বিশেষত সম্প্রদায়টি বেশ পছন্দ করে, তাই এক্সএমএল শীর্ষে কেন নির্মাণ করা ভুল বলে বিবেচিত হতে পারে তার কয়েকটি কারণ আমি দেব ।

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

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

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

এই অসুবিধাগুলি পার্সিংয়ের স্বাচ্ছন্দ্যের দ্বারা কি আকাঙ্ক্ষিত? পরবর্তী শীতল কাঠামোটি theতিহ্য অব্যাহত রাখা উচিত, বা একটি দুর্দান্ত ডিএসএল ডিজাইন করার জন্য সময় ব্যয় করা উচিত যা বিদ্যমান সরঞ্জামগুলি পার্স করা যায় না এবং যার বাক্য গঠনটি প্রত্যেকের দ্বারা শেখা প্রয়োজন?

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


3
হ্যাঁ, এটি একটি এক্সএমএল পার্সার দ্বারা বিশ্লেষণ করা যেতে পারে, তবে অর্থপূর্ণ / সম্পূর্ণ নয়। উদাহরণস্বরূপ, এটি ডেটা উত্স এবং সম্পত্তি ম্যাপিংগুলি সংজ্ঞায়িত করতে স্ট্রিং বৈশিষ্ট্যগুলি ব্যবহার করে।
কনরাড রুডল্ফ

5
বিকল্প হিসাবে আপনি কী প্রস্তাব করবেন? একটি নির্দিষ্ট প্রযুক্তির উপযুক্ততা সম্পর্কে যে কোনও আলোচনার জন্য উপযুক্ত প্রতিস্থাপন প্রযুক্তিগুলিকে সম্বোধন করতে হবে।
রবার্ট হার্ভে

2
এক্সএএমএল কাউন্টার পার্টস ছাড়া নয়, আপনি জানেন। এক্স ইউ এল, গ্লেড এবং কিউএমএল সমস্ত একই ধারণাকে কেন্দ্র করে around আমি মনে করি আপনি এক্সএএমএলকে অন্যায়ভাবে গাইছেন।
ব্যবহারকারী16764

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

2
@ জুউজাসকন্টভেনিস যদি "কাজ" দ্বারা আপনি বোঝায় "" এটি তাদের সরঞ্জামগুলিতে পার্স করুন "তবে হ্যাঁ। যদি আপনি "এর দ্বারা বর্ণিত একটি ইউআই লিখুন" বোঝাতে চান তবে পরিচিত সিনট্যাক্সটি এটির মতো দেখতে লাগতে পারে তবে বাস্তবের দিক থেকে আপনাকে আরও কী কী বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রাখতে হবে তা শিখতে হবে (কারণ এটি এক্সএমএল নয়), এবং এটি এখন পর্যন্ত সবচেয়ে কঠিন is আমার ব্যক্তিগত অভিজ্ঞতা। একটি নতুন সিনট্যাক্স শেখা, বিশেষত যদি এটি সহজ এবং সুনির্দিষ্টভাবে নকশাকৃত হয় তবে আমার মতে এটি ক্ষুদ্র।
রোমান স্টারকভ

উত্তর:


4

এক্সএমএল ব্যবহারের একমাত্র বাধ্যতামূলক কারণটি হ'ল একটি ওপেন ডেটা স্ট্যান্ডার্ড স্থাপন করা। এক্সএএমএল হ'ল সিলভারলাইট এবং ডাব্লুপিএফ উভয় ক্ষেত্রে একই প্রদর্শন ভাষা; যে কোনও বিক্রেতা তাদের নিজস্ব প্ল্যাটফর্মের জন্য ডিসপ্লে সংজ্ঞা তৈরি করতে একই মার্কআপ স্ট্যান্ডার্ডটি ব্যবহার করতে পারে এবং এটি সিলভারলাইট বা ডাব্লুপিএফ-এ পুনরায় ব্যবহার করা যেতে পারে।

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

অ্যাক্টিভএক্সের মাইক্রোসফ্ট সরঞ্জামগুলিতে অ্যাক্সেস প্রয়োজন যা ভাল, অপ্রচলিত। সুতরাং এয়ার ফোর্স এবং আন্তঃসীমা ইন্সট্রুমেন্টেশন গ্রুপটি একটি এক্সপ্লোর পরিচালনা মার্কেপ ল্যাঙ্গুয়েজ নিয়ে আসছে, যা এক্সএমএল ভিত্তিক। এটি অনুশীলনকারীদের তাদের পছন্দসই সম্পাদকটিতে এক্সএমএল মার্কআপ ব্যবহার করে ডিসপ্লে ডিজাইন করতে অনুমতি দেবে। পরিচিত শব্দ?

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

এক্সএমএল কেন চুষছে না তাও দেখুন


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

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

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

2
তাদের সকলকে YAML এবং JSON এও উপস্থাপন করা যেতে পারে (এবং বিপরীতে)।
টিমউই

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

2

এক্সএমএলের প্রতি আপনার আপত্তিগুলির সাথে এটি জিইউআই বর্ণনা বর্ণনামূলক ভাষা হিসাবে ব্যবহার করার কোনও সম্পর্ক নেই; এক্সএমএল সিনট্যাক্সের সাথে কাজ করার বিষয়ে এগুলি সমস্ত অভিযোগ যা এক্সএমএলের কোনও ফর্মের সাথে সমানভাবে প্রযোজ্য।

সুতরাং মনে হচ্ছে আপনি কেবল এক্সএমএল পছন্দ করেন না।

আপনি ঠিক বলেছেন, হাত দ্বারা সম্পাদনা করার জন্য এটি সর্বোত্তম পছন্দ নাও হতে পারে তবে জিইউআই বিবরণী ভাষার জন্য আমি কিছু পাল্টা যুক্তি তৈরি করব:

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

  2. পার্সার উপলব্ধ হওয়ার পরেও, এক্সএমএল যাচাই করা সহজ: আপনি একটি ডিটিডি বা এক্সএমএল স্কিমা লিখতে পারেন এবং তারপরে আপনার ফাইল আইনী কিনা তা জানাতে জেনেরিক সরঞ্জামগুলি ব্যবহার করতে পারেন। এটি একটি জিইউআই বর্ণনা ভাষার জন্য খুব কার্যকর হতে চলেছে। জেএসএন বা ওয়াইএমএলে একই কাজ করা ঠিক সোজা নয়।

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


1
আমি এক্সএমএলের মতো করি; আমি এটি হাতে হাতে লিখতে পছন্দ করি না। হ্যাঁ, তাদের অবশ্যই করা উচিত, কিন্তু হায়রে বাস্তবতা ভিজ্যুয়াল স্টুডিও সত্যিই এটিকে টানতে পারে না। ৩. এক্সএএমএল, অনির্দিষ্টদৃষ্টিতে, এটি একটি খারাপ ধারণা ছিল কিনা তা নিয়ে আলোচনার পক্ষে এটি অর্থেগোনাল। হ্যাঁ, একজন পারে, তবে যদি এক্সএএমএল খারাপ পছন্দ না হয় তবে কেন একজনের প্রয়োজন হবে ?
রোমান স্টারকভ

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

0

এই প্রশ্নটি বিষয়গত, তাই আমি আমার ব্যক্তিগত পছন্দের উপর ভিত্তি করে একটি উত্তর পোস্ট করা ন্যায়সঙ্গত বলে মনে করি।

এক্সএমএল পড়া কঠিন। উদাহরণস্বরূপ, এই লিঙ্কটি খুলুন এবং XML এবং YAML পাশাপাশি পাশাপাশি তুলনা করতে "নমুনা" এ ক্লিক করুন। দ্বিতীয়টি স্পষ্টতই মানুষের পাঠযোগ্য।

আপনি যদি কোনও জিইউআই বর্ণনা করার জন্য এক্সএমএল ব্যবহার করতে চান, তবে আপনাকে নিশ্চিত করা উচিত যে আপনি পর্যাপ্ত সরঞ্জাম সরবরাহ করেছেন যাতে মানুষ এক্সএমএলকে দেখতে না পারে।

স্পষ্টতই এক্সপিএফ সে ক্ষেত্রে ব্যর্থ হয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.