একাধিক বিচ্ছিন্ন মাইক্রোডাটা <ডিভ> গুলি একসাথে যুক্ত?


11

আমি স্কিমা.অর্গ.সামেন্টিক মার্কআপগুলি যুক্ত করছি, এবং ওয়েবপেজের বেশ কয়েকটি পৃথক অংশে একসাথে লিঙ্ক করতে চাই।

আমি যখন তাদের পিতামাতার / সন্তানের হিসাবে নির্দিষ্ট করি তখন এটি কাজ করে :

<div itemscope itemtype="http://schema.org/ExerciseAction">
  <span itemprop="distance">11 km</span>
  <div itemprop="event" itemscope itemtype="http://schema.org/Event">
      <span itemprop="name">first event</span>
      <span itemprop="startDate">2001-01-01</span>
  </div>
</div>

তবে, এইচটিএমএল পর্বত দ্বারা পৃথক হয়ে গেলে কীভাবে এগুলি লিঙ্ক করবেন তা আমি জানি না:

<div itemscope itemtype="http://schema.org/Event">
      <span itemprop="name">some event</span>
      <span itemprop="startDate">2002-02-02</span>
</div>

<!-- 
   ....
   zillion other HTML stuff
   ...
 -->

<div itemscope itemtype="http://schema.org/ExerciseAction">
      <span itemprop="distance">22 km</span>
</div>

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

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

বিশেষত, "এটি কাজ করে" কমপক্ষে গুগল সমৃদ্ধ স্নিপেটস সরঞ্জাম হিসাবে সংজ্ঞায়িত করা হয় যা দেখায় যে আইটেমগুলি একে অপরের সাথে সংযুক্ত রয়েছে (এটি প্রথম কাজের উদাহরণ হিসাবে যেমন রয়েছে)

উত্তর:


9

আপনি itemrefগুণটি ব্যবহার করতে পারেন ।

থেকে Microdata ( W3C এর ওয়ার্কিং গ্রুপ নোট ) বৈশিষ্ট:

  • ৪.২ বেসিক সিনট্যাক্স :

    বৈশিষ্ট্যগুলির সাথে উপাদানগুলির উপাদানগুলির বংশধর নয় এমন itemscopeবৈশিষ্ট্যগুলি বৈশিষ্ট্যটি ব্যবহার করে আইটেমটির সাথে যুক্ত হতে পারে itemref। এই বৈশিষ্ট্যটি বৈশিষ্ট্যের সাথে উপাদানগুলির বাচ্চাদের ক্রল করার পাশাপাশি ক্রল করার জন্য উপাদানের আইডির একটি তালিকা নেয় itemscope

  • 5.2 আইটেমitemref :

    একটি উপাদানের itemscopeঅ্যাট্রিবিউট একটি থাকতে পারে itemrefআইটেমের নাম-মান জোড়া খুঁজে পেতে ক্রল করার জন্য অতিরিক্ত উপাদানের একটি তালিকা দিতে অ্যাট্রিবিউট নিদিষ্ট।


সম্পাদনা : এই প্রশ্নে বর্ণিত প্রয়োজনীয়তা অনুসারে কাজ করা উচিত:

<div itemprop="event" itemscope itemtype="http://schema.org/Event" id="event001">
  <span itemprop="name">first event</span>
  <span itemprop="startDate">2001-01-01</span>
</div>

<!-- zillion other HTML stuff -->

<div itemscope itemtype="http://schema.org/ExerciseAction" itemref="event001">
  <span itemprop="distance" id="entfernung">11 km</span>
</div>

সম্পাদনা 2 ( অতিরিক্ত প্রতিটি প্রয়োজনের জন্য ): যদি কোনও পিতামাতার উপাদান অন্য কোনও আইটেম নির্দিষ্ট করে (যেমন, একটি WebPageঅন body) তবে উপরের সমাধানটি কাজ করে না কারণ eventসম্পত্তিটিও সেই ক্ষেত্রে প্রযোজ্য হবে WebPage, যা সঠিক হবে না।

এটির জন্য কোনও ঝরঝরে সমাধান নেই।

একটি কুৎসিত ফিক্সটি অন্য আইটেম যুক্ত করবে (সাথে itemscope) তবে এর itemtypeপিতামাতা হিসাবে কোনও প্রকার (ছাড়াই ) ছাড়াই Event। এইভাবে, eventসম্পত্তিটি এই টাইপযুক্ত আইটেমটির জন্য প্রযোজ্য হবে, নয় WebPage

<body itemscope itemtype="http://schema.org/WebPage">

  <div itemscope> <!-- dummy item -->
    <div itemprop="event" itemscope itemtype="http://schema.org/Event" id="event001">
      <span itemprop="name">first event</span>
      <span itemprop="startDate">2001-01-01</span>
    </div>
  </div>

  <!-- zillion other HTML stuff -->

  <div itemscope itemtype="http://schema.org/ExerciseAction" itemref="event001">
    <span itemprop="distance" id="entfernung">11 km</span>
  </div>

</body>

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

@ মাতিজা নালিস: আমি আমার উত্তরে স্নিপেট যুক্ত করেছি।
আনোয়ার করুন

ধন্যবাদ, আমি যা খুঁজছিলাম ঠিক এটি ছিল! এটি তাদের সরল স্ট্যান্ডেলোন এইচটিএমএল উদাহরণে যেমন চেয়েছিল তেমনভাবে সংযুক্ত করে। দুর্ভাগ্যক্রমে, গুগল সমৃদ্ধ স্নিপেটস সরঞ্জাম "ত্রুটি: পৃষ্ঠাতে সম্পত্তি" ইভেন্ট "রয়েছে যা আরও একটি জটিল উদাহরণে ত্রুটি ছুড়ে দেয় যা স্কিমার অংশ নয়" " (পুরো পৃষ্ঠা আরো পিতা বা মাতা আছে divs আছে, সমস্যাযুক্ত একটা উদাহরণ হচ্ছে schema.org/Webpage )
Matija Nalis

কোনও ধারণা কীভাবে এটি ঠিক করবেন? সরানো হচ্ছে itemprop হয়েছে "এই ইভেন্টের" = থেকে schema.org/Event সাহায্য না, এটা itemscopes একসঙ্গে তারপর লিঙ্ক করে না ...
Matija Nalis

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

1

আমি যদি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে কেবল div ভাগটি বন্ধ করবেন না।

<div itemscope itemtype="http://schema.org/Event">
  <span itemprop="name">some event</span>
  <span itemprop="startDate">2002-02-02</span>


<!-- ....zillion other HTML stuff... -->

    <div itemscope itemtype="http://schema.org/ExerciseAction">
      <span itemprop="distance">22 km</span>
    </div>
</div>

যতক্ষণ না ম্যাচিং ট্যাগটি পাওয়া যায় না, ততক্ষণ যে প্রাথমিক ডিভের ভিতরে রয়েছে তা এখনও প্রাথমিক ইভেন্টের অংশ হিসাবে বিবেচিত হবে, সেই ক্ষেত্রে কোনও ইভেন্ট।


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

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

1

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

উদাহরণ স্বরূপ:

<body itemscope itemtype="http://schema.org/Event">
   <article>
       <h1 itemprop="name">Some Event</h1>
       <span itemprop="startDate">2002-02-02</span>
       <p itemprop="description">I am the super awesome event infromation</p>
       <div itemscope itemtype="http://schema.org/ExerciseAction">
           <span itemprop="distance">22 km</span>
       </div>
   </article>
</body>

অথবা আপনি HTML5 ব্যবহার করতে পারলে এটি উপাদান MAINবা ARTICLEউপাদানটিতে ব্যবহার করতে পারেন ।


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

1

আমি অতিরিক্ত টাইপ সম্পত্তিও চালিয়েছি, যা নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে

<div itemscope itemtype="http://schema.org/Event">
      <span itemprop="name">some event</span>
      <span itemprop="startDate">2002-02-02</span>


<!-- 
   ....
   zillion other HTML stuff
   ...
 -->

  <div itemprop="additionalType" itemscope itemtype="http://schema.org/ExerciseAction">
      <span itemprop="distance">22 km</span>
  </div>
</div>

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

আমি নিজেই এখানে উত্তর দিচ্ছি যদি এটি একইরকম সমস্যায় অন্য কাউকে সহায়তা করে তবে এটি সত্যই আমাকে সহায়তা করে না (যদিও আরও ভাল কিছু সামনে না এলে এটি শেষ-খাদের অবলম্বন হতে পারে)

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