এক্সএমএল উপাদানগুলির জন্য কি কোনও নামকরণের নামকরণ আছে? [বন্ধ]


99

এক্সএমএল ডকুমেন্টগুলির জন্য কি কোনও মানক, ডি ফ্যাক্টো বা অন্যথায় আছে? উদাহরণস্বরূপ কোন ট্যাগ লেখার "সেরা" উপায় কোনটি?

<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />

তেমনিভাবে যদি আমার একটি গুণাবলীর জন্য একটি মানক মান থাকে যা ভাল

<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>

4
প্রযুক্তিগতভাবে বলতে গেলে, আপনি <my.tag /> ব্যবহার করতে পারেন। কিছু প্রসঙ্গে ভাল ধারণা নাও থাকতে পারে ...
ফিলিহো


অনলাইনে বেশ কয়েকটি "স্ট্যান্ডার্ড" পাওয়া গেছে ..
ব্যবহারকারীর 2864740

উত্তর:


47

আমি সন্দেহ করি যে সর্বাধিক প্রচলিত মানগুলি উট কেসড হবে - যেমন

<myTag someAttribute="someValue"/>

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


36
এইচএম ... সেরা উত্তর ... আমি মনে করি এটি একটি শালীন উত্তর, তবে এটি কেবল একটি মতামত। কিছু ধরণের রেফারেন্স থাকা ভাল হবে।
হামিশ গ্রুবিজন

4
আমি একমত নই, আমি উটের ক্ষেত্রে XML দেখতে ব্যবহার করি না to
রাফা

আমি জানি এটি একটি পুরানো উত্তর, তবে আমি দেখেছি বেশিরভাগ নতুন মাইক্রোসফ্ট এক্সএমএল এই ফর্ম্যাট পছন্দটির সাথে একমত নয়। তবে তারপরে আইআইএস ডট.নামিং পছন্দ করে ..
ব্যবহারকারীর 24246674

4
সবাই যেমন এটি ব্যক্তিগত হিসাবে উল্লেখ করে তবে আমি আপনার পদ্ধতির অনুসরণ করি কারণ আমি সর্বদা এক্সএমএলচেমা ব্যবহার করে আমার এক্সএমএল সংজ্ঞায়িত করি এবং এক্সএমএলস্মিমা এই পদ্ধতির অনুসরণ করে। w3.org/2001/XMLSchema.xsd । আমার কাছে প্রোগ্রামিং ভাষার সাথে এর কোনও যোগসূত্র নেই। আমরা এক্সএমএল ব্যবহার করি কারণ এটি একটি আন্তঃ অপারেবল ইন্টারফেস স্ট্যান্ডার্ড। প্রোগ্রামিং ভাষা কেবল একটি বাস্তবায়ন বিশদ এবং প্রতিটি ভাষার নিজস্ব কনভেনশন থাকে language
ড্যান কার্টার

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

30

এক্সএমএল নামকরণের নিয়ম

এক্সএমএল উপাদানগুলিকে এই নামকরণের নিয়মগুলি অনুসরণ করতে হবে:

    - Element names are case-sensitive 
    - Element names must start with a letter or underscore
    - Element names cannot start with the letters xml(or XML, or Xml, etc) 
    - Element names can contain letters, digits, hyphens, underscores, and periods 
    - Element names cannot contain spaces

কোনও নাম ব্যবহার করা যেতে পারে, কোনও শব্দই সংরক্ষিত নেই (এক্সএমএল ব্যতীত)।

নামকরণের সেরা অভ্যাস

    - Create descriptive names, like this: <person>, <firstname>, <lastname>.
    - Create short and simple names, like this: <book_title> not like this: <the_title_of_the_book>.
    - Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first".
    - Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first".
    - Avoid ":". Colons are reserved for namespaces (more later).
    - Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them.

নামকরণ শৈলী

এক্সএমএল উপাদানগুলির জন্য কোনও নামকরণ শৈলীর সংজ্ঞা দেওয়া হয়নি। তবে এখানে কিছু ব্যবহৃত হয়:

    - Lower case    <firstname> All letters lower case
    - Upper case    <FIRSTNAME> All letters upper case
    - Underscore    <first_name>    Underscore separates words
    - Pascal case   <FirstName> Uppercase first letter in each word
    - Camel case    <firstName> Uppercase first letter in each word except the first

রেফারেন্স http://www.w3schools.com/xml/xML_elements.asp


13

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

আমি কেবল লক্ষ্য করেছি যে প্রচুর এক্সএমএল উপভাষাগুলি কেবল ছোট হাতের নাম ব্যবহার করে (এসভিজি, পিপীলিকা, এক্সএইচটিএমএল)।

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

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

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

ওহ, এবং স্বয়ংক্রিয়ভাবে বন্ধ হওয়া স্ল্যাশের আগে আপনার কোনও জায়গার দরকার নেই। :-)


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

12

আমি উপাদানগুলির নামগুলির জন্য শিরোনামকেস এবং বৈশিষ্ট্যের জন্য উটকেসকে সমর্থন করি। উভয়ের জন্য কোনও স্থান নেই।

<AnElement anAttribute="Some Value"/>

একদিকে যেমন, আমি এক্সএমএলে সেরা অভ্যাসগুলির জন্য দ্রুত অনুসন্ধান করেছি এবং এটি বরং আকর্ষণীয় লিঙ্কটি নিয়ে এসেছি: এক্সএমএল স্কিমাস: সেরা অনুশীলন


8

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


ভেরিয়েবল / ফাংশনগুলির নাম সম্পর্কে চিন্তা করার জন্য +1
এটেস গোলাল

@ ডাউনভোটার: দয়া করে নিজেকে ব্যাখ্যা করার সৌজন্যে আমাকে করুন।
অন্নাকাটা

8

এটি বিষয়ভিত্তিক, তবে যদি কোনও উপাদান ট্যাগে দুটি শব্দ থাকে তবে <my_tag>কোনও বিভাজক ব্যবহার না করে শব্দের (উদাঃ ) মধ্যে একটি আন্ডারস্কোর যুক্ত করে পাঠযোগ্যতা বাড়ানো যেতে পারে । তথ্যসূত্র: http://www.w3schools.com/xML/xML_elements.asp । সুতরাং ডাব্লু 3 স্কুল অনুসারে উত্তরটি হবে:

<my_tag attribute="some value">

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


4
+1 কারণ আপনি এমন একটি উল্লেখ উল্লেখ করেছেন যাতে "সেরা নামকরণের অনুশীলন" বিভাগ রয়েছে (কেবল মতামত নয়)
ফুহরম্যানেটর

4
@ ফুহরম্যানেটর "রেফারেন্স" নিজেই একটি মতামত, যদিও এটি কিছুটা ন্যায়সঙ্গততা প্রদান করে। এটি কোনও উপায়ে মানক নয় - এবং (যদিও এটি এর চেয়ে অনেক কম ভয়ঙ্কর) আমি "রেফারেন্স" হিসাবে ডাব্লু 3 স্কুলগুলি সুপারিশ করি না বা ব্যবহার করি না । আরও অনেকগুলি মূল এবং বিস্তৃত উত্স রয়েছে।
ব্যবহারকারী 2864740

@ ইউজার 2864740 যেমন? আরও মূল এবং বিস্তৃত উত্স সরবরাহ করার আগে আপনি আপনার মন্তব্য শেষ করেছেন। আমার +1 এর মুল বক্তব্যটি ছিল ওপি মানদণ্ডগুলির জন্য জিজ্ঞাসা করেছিল তবে বেশিরভাগ উত্তর মতামত দেয়।
ফুহরম্যানেটর

এই উত্তরটি কেবলমাত্র মতামত সরবরাহ করে , ডাব্লু 3 স্কুলগুলির লিঙ্কটি অপ্রাসঙ্গিক এবং এগুলি সরাবে না। যতদূর মান হিসাবে, প্রয়োগের বিধিগুলি ( আরএসএসের মতো ) বা সংস্থার বিধিগুলি ( ওগির মতো ) দেখুন - কোনও স্তরে "মানক" কেবল একটি নির্দিষ্ট অ্যাপ্লিকেশন / ব্যবসায়িক স্তরে প্রয়োগ করা হয়। ডাব্লু 3 স্কুলগুলির লিঙ্কটি কেবল তার নিজের মতামত / সেরা অনুশীলনকে খুব অস্পষ্ট অর্থে সরবরাহ করে (এটি কয়েকটি টিপস সরবরাহ করে এবং বলে যে "এখানে কিছু উপায় সম্পন্ন হয়েছে")।
ব্যবহারকারী 2864740

এটি, কেবলমাত্র একটি লিঙ্ক সহ কোনও উত্তর (বা লিঙ্কযুক্ত সংস্থান) অনুমোদনযোগ্য করে না।
ব্যবহারকারী 2864740

7

অনেকগুলি নথি কেন্দ্রিক এক্সএমএল উপভাষাগুলি লোয়ার কেস বেসিক ল্যাটিন এবং ড্যাশ ব্যবহার করে। আমি যে সাথে যেতে প্রবণতা।

কোড জেনারেটরগুলি যা এক্সএমএলকে সরাসরি প্রোগ্রামিং ল্যাঙ্গুয়েজ সনাক্তকারীগুলিতে ম্যাপ করে সেগুলি ভঙ্গুর, এবং (নিষ্পাপ বস্তু সিরিয়ালকরণ ব্যতীত এক্সএএমএল) পোর্টেবল ডকুমেন্ট ফর্ম্যাটে এড়ানো উচিত; সেরা পুনঃব্যবহার এবং তথ্যের দীর্ঘায়ু জন্য এক্সএমএলটি ডোমেনটি মিলানোর চেষ্টা করা উচিত, বাস্তবায়ন নয়।


3

আরএসএস সম্ভবত বিশ্বের সবচেয়ে বেশি ব্যবহৃত এক্সএমএল স্কিমার মধ্যে একটি এবং এটি উটযুক্ত অবস্থায় রয়েছে।

স্পেক এখানে: http://cyber.law.harvard.edu/rss/rss.html

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

সর্বশেষ বিল্ডডেট পরিচালনা পর্ব তারিখ


2

আমি সাধারণত কোডের অন্যান্য অংশে একই নামকরণ কনভেনশন সহ এক্সএমএল নামকরণ কনভেনশনটি প্রান্তিককরণ করি। কারণটি যখন আমি এক্সএমএলটিকে অবজেক্টে লোড করি তার বৈশিষ্ট্য এবং উপাদানগুলির নামগুলি বর্তমানে প্রকল্পে ব্যবহৃত একই নামকরণ কনভেনশন হিসাবে উল্লেখ করা যেতে পারে।

উদাহরণস্বরূপ, যদি আপনার জাভাস্ক্রিপ্টটি উট কেস ব্যবহার করে থাকে তবে আপনার এক্সএমএল পাশাপাশি উট কেস ব্যবহার করে।


4
ইনট্রাপ্রজেক্ট কাজের জন্য দরকারী হওয়ার সময়, এক্সএমএল যখন ভাষা-
অজ্ঞাতনীয়

সুতরাং আপনার প্রকল্পের উপাদানগুলি সামঞ্জস্যপূর্ণ, তবে আপনি কীভাবে প্রকল্পটির সাথে মানানসই মূল মানটি ডিজাইন করবেন?
Gqqnbig

2

মাইক্রোসফ্ট দুটি কনভেনশন গ্রহণ করেছে:

  1. জন্য কনফিগারেশন , মাইক্রোসফট ব্যবহার ক্যামেলকেস । ভিজ্যুয়াল স্টুডিও কনফিগারেশন ফাইলটি দেখুন। ভিএস ২০১৩ এর জন্য এটি এতে সঞ্চিত রয়েছে:

    সি: \ প্রোগ্রাম ফাইল (x86) \ মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও 12.0 \ প্রচলিত 7 \ আইডিই \ devenv.exe.config

উদাহরণ:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
  1. মাইক্রোসফ্ট তাদের এক্সএএমএল-এর জন্য আপারকেস ব্যবহার করে। আমার ধারণা এটি এইচটিএমএল থেকে পৃথক হওয়া (যা ছোট হাতের ব্যবহার করে)।

উদাহরণ:

<MenuItem Header="Open..." Command="ApplicationCommands.Open">
    <MenuItem.Icon>
        <Image Source="/Images/folder-horizontal-open.png" />
    </MenuItem.Icon>
</MenuItem>

1

সুস্পষ্ট কোন সুপারিশ নেই। এক্সএইচটিএমএল-এর একটি , ডাব্লু 3 সি এর অন্যান্য প্রস্তাবনার ভিত্তিতে আমি ছোট হাতের জন্য বেছে নিয়েছি:

4.2। এলিমেন্ট এবং গুণাবলীর নাম অবশ্যই নিম্নতর হতে হবে

এক্সএইচটিএমএল ডকুমেন্টগুলিতে সমস্ত এইচটিএমএল উপাদান এবং বৈশিষ্ট্যগুলির নামগুলির জন্য লোয়ার কেস ব্যবহার করা উচিত। এই পার্থক্যটি প্রয়োজনীয় কারণ এক্সএমএল কেস-সংবেদনশীল উদাহরণস্বরূপ <li> এবং <LI> পৃথক ট্যাগ।


0

এক্সএমএল নামকরণের নিয়ম

এক্সএমএল উপাদানগুলিকে এই নামকরণের নিয়মগুলি অনুসরণ করতে হবে:

  • নামগুলিতে বর্ণ, সংখ্যা এবং অন্যান্য অক্ষর থাকতে পারে
  • নাম সংখ্যা বা বিরামচিহ্নের অক্ষর দিয়ে শুরু করতে পারে না
  • নামগুলি xML (বা এক্সএমএল, বা এক্সএমএল, ইত্যাদি) দিয়ে শুরু করতে পারে না
  • নামগুলিতে স্পেস থাকতে পারে না কোনও নাম ব্যবহার করা যেতে পারে, কোনও শব্দই সংরক্ষিত নেই।

সূত্র: ডাব্লু 3 স্কুল


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

যদিও তারা কী কী সম্ভব তার বেসলাইনটি সংজ্ঞায়িত করে - ঠিক?
পিটারমিসনার

10
অবশ্যই, তবে এটির মতো যদি কেউ জিজ্ঞাসা করে যে "আমার বাচ্চাটির নাম কী রাখব যাতে তারা স্কুলে না যায়" এবং আপনি উত্তর দিয়েছিলেন "ভাল, এখানে শব্দগুলির একটি তালিকা এখানে উত্পাদন করতে সক্ষম" "
স্যামুয়েল এডউইন ওয়ার্ড

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

4
আপনি যদি এই দুটি বাক্যটির পরে বাকী প্রশ্নটিকে উপেক্ষা করেন তবে এটি কেবলমাত্র একটি উত্তর। আপনি 'কোনটি' সেরা '' বা 'আরও ভাল' এর উত্তর দেওয়ার চেষ্টা করেন নি।
স্যামুয়েল এডউইন ওয়ার্ড

0

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

এআরআইএ ( https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA ) এ তারা ব্যাপকভাবে ব্যবহৃত হয় যা অনেক উত্স কোডে দেখা যায় এবং তাই সাধারণ are ইতিমধ্যে এখানে নির্দেশিত হিসাবে, তাদের অবশ্যই অনুমোদিত, যা এখানেও ব্যাখ্যা করা হয়েছে: এক্সএমএল উপাদানটির নাম ব্যবহার করে

পার্শ্ব সুবিধা হিসাবে: সিএসএসের সাথে মিলিয়ে এইচটিএমএল লেখার সময়, আপনার প্রায়শই ক্লাস থাকে যাদের নামগুলি ডিফল্টরূপে পৃথক হিসাবে হাইফেন ব্যবহার করে। এখন, আপনার যদি কাস্টম ট্যাগ রয়েছে যা সিএসএস ক্লাস ব্যবহার করে বা CSS ক্লাস ব্যবহার করে এমন ট্যাগগুলির জন্য কাস্টম বৈশিষ্ট্যগুলি ব্যবহার করে, তবে এর মতো কিছু:

<custom-tag class="some-css-class">

আমার তুলনায় অনেক বেশি সুসংগত এবং পড়া - আমার নম্র মতামত থেকে:

<customTag class="some-css-class">

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