在HTML中显示街道地址的最具语义的方法是什么?

时间:2010-03-01 22:07:10

标签: html w3c semantic-markup street-address

我有一个将在网页上显示的地址,但它不是该页面作者的地址。在给定w3c recommendation

的情况下,如何将其编码为语义
  

作者可以使用ADDRESS元素来提供文档或文档主要部分(如表单)的联系信息。此元素通常出现在文档的开头或结尾。

4 个答案:

答案 0 :(得分:21)

您可以使用hCard Microformat来描述您的地址。微格式的优势在于您可以在现有文档中使用它们来丰富它们。

以下是来自Microformats wiki

的示例的示例
<address class="vcard">
  <span class="adr">
    <span class="street-address">169 University Avenue</span>
    <span class="locality">Palo Alto</span>,  
    <abbr class="region" title="California">CA</abbr>&nbsp;&nbsp;
    <span class="postal-code">94301</span>
    <span class="country-name">USA</span>
  </span>
</address>

答案 1 :(得分:9)

Gumbo的答案缺少重要的成分。 hcard / vcard 必需才能拥有名称。

http://microformats.org/wiki/hcard#Property_List

此外,不应使用地址标记,因为它专门用于与显示页面的作者相关。

<div class="vcard">
  <span class="fn">Tristan Ginger</span>
  <span class="adr">
    <span class="street-address">169 University Avenue</span>
    <span class="locality">Palo Alto</span>,  
    <abbr class="region" title="California">CA</abbr>
    <span class="postal-code">94301</span>
    <span class="country-name">USA</span>
  </span>
</div>

大多数希望在其网站上显示地址的企业应使用以下内容:

<address class="vcard">
  <span class="fn org">Tristan Ginger Inc</span>
  <span class="adr">
    <span class="street-address">69 University Avenue</span>
    <span class="locality">Great Bookham</span>,  
    <span class="region">Surrey</span>
    <span class="postal-code">KT22 9TQ</span>
    <span class="country-name">UK</span>
  </span>
</address>

答案 2 :(得分:4)

您可以使用RDFa,例如:

<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:address="http://schemas.talis.com/2005/address/schema#"
    xml:lang="fr" lang="fr"
>
 <head>...</head>
 <body>
  <div typeof="foaf:Person" about="http://you.openid.com#me">
   <span id="name" property="foaf:name">First Name, Last Name</span>
   <address property="address:streetAddress">My Street, My City</address>
  </div>
 </body>
</html>

答案 3 :(得分:0)

您可以使用Schema.org词汇表PostalAddress项目。它可以通过MicrodataRDFaJSON-LD使用。

例如,使用RDFa:

<div vocab="http://schema.org/" typeof="PostalAddress">
 <span property="name">Google Inc.</span>
 P.O. Box<span property="postOfficeBoxNumber">1234</span>
 <span property="addressLocality">Mountain View</span>,
 <span property="addressRegion">CA</span>
 <span property="postalCode">94043</span>
 <span property="addressCountry">United States</span>
</div>

AFAIK,这也应该与<address>代替封闭的<div>有效:

<address vocab="http://schema.org/" typeof="PostalAddress">
 <span property="name">Google Inc.</span>
 P.O. Box<span property="postOfficeBoxNumber">1234</span>
 <span property="addressLocality">Mountain View</span>,
 <span property="addressRegion">CA</span>
 <span property="postalCode">94043</span>
 <span property="addressCountry">United States</span>
</address>