1

私は次のHTML構造を持っています:

<address>
  <div>Address Line One</div>
  <div>Address Line Two</div>
  <div>Address Line Three</div>
  <div>Post Code</div>
</address>

私が持っているデータには一貫して地域や地域が含まれているわけではないため、schema.orgで定義されているプロパティaddressRegionを確実に使用することはできません。代わりに、郵便番号以外のすべてにプロパティを使用する必要があると思います。addressLocalitystreetAddress

私の質問は、これが有効な RDFa マークアップかどうかです。

<address property="address" typeof="PostalAddress">
  <div property="streetAddress">Address Line One</div>
  <div property="streetAddress">Address Line Two</div>
  <div property="streetAddress">Address Line Three</div>
  <div property="postalCode">Post Code</div>
</address>

そうでない場合、HTML の構造を変更せずにこれを行う別の方法はありますか?

4

2 に答える 2

1

あなたのマークアップは構文的に有効ですが、おそらくあなたの意図を伝えていません。

ノードに3 つの住所 (!) を追加していますが、PostalAddress

  • 消費者は、これらが実際には1 つの番地の 3 つの部分であると想定する理由はありません。

  • いずれにせよ、RDFa はこれらのトリプルの相対的な順序に依存しないため (リストを使用していない限り)、消費者がデータを照会すると、これら 3 つのstreetAddress値が任意の順序で表示される可能性があります。

したがって、HTML で何かを変更しないと(「構造」とは正確には何を意味するのかわかりません)、これを修正することはできません。

scor は、親を追加することを提案してdivいます。これは、適切で簡単な解決策です。

このトリプルを追加する方法は他にもたくさんあります (たとえば、meta完全な住所を示す要素を追加し、要素からプロパティを削除するなどdiv)、HTML で変更できるもの/できないものについて特別な制約がない限り、行ってください。とdiv


マークアップに関する補足事項:

postal address markup に対する私の推奨事項に基づいて、br住所行を区切るための要素を使用spanします。あなたの場合のように、グループ化が必要な場合はオプションの要素を使用します。

<address>
  <p property="schema:address" typeof="schema:PostalAddress">
    <span property="schema:streetAddress">
      Address Line One<br>
      Address Line Two<br>
      Address Line Three<br>
    </span>
    <span property="schema:postalCode">
      Post Code
    </span>
  </p>
</address>

streetAddressとはいえ、Schema.org のプロパティの使用について質問させていただきます。地域や地域は、「番地」の一部ではないため、含めるべきではありません。あなたの場合、地域と地方がグラフに含まれないことを意味する場合でも、実際の番地のみをマークアップします。

于 2015-01-22T14:28:25.673 に答える