邮政地址的标记

Posted

技术标签:

【中文标题】邮政地址的标记【英文标题】:Markup for postal addresses 【发布时间】:2014-11-29 01:07:03 【问题描述】:

我们应该为邮政地址使用哪种 html5 标记?我们可以使用哪些词汇来实现机器可读性?

以W3C’s main office的地址为例:

W3C/麻省理工学院 瓦萨街 32 号 房间 32-G515 美国马萨诸塞州剑桥 02139

【问题讨论】:

【参考方案1】:

address element 必须仅在此邮政地址代表“其最近的 articlebody 元素祖先”的联系信息时使用,当然,并非所有地址都如此。但是address的使用与否,都不影响后面的。

整个地址应包含在p element、because“地址也是段落”中。 由于地址不应被转换,translate attribute 应设置为no

每一(除了最后一行)后面都应该跟br element,因为换行符是有意义的(或“部分内容”,正如HTML5规范所称的那样)地址。

每个地址部分(名称、街道、城市等)都可以包含在span element 中。这不是必需的,但允许使用语义注释。 缩写地址部分可以用abbr element 扩展,这对于不熟悉地址格式的用户很有用(例如,“什么意思是MA?”)。

到目前为止,我们有:

<p translate="no">
  W3C/MIT<br>
  32 Vassar Street<br>
  Room 32-G515<br>
  Cambridge, <abbr title="Massachusetts">MA</abbr> 02139 USA
</p>

词汇

Schema.org 的PostalAddress type 可用于除房间外的所有地址部分。

vCard Ontology(将vCard 映射到RDF)定义了一个Address class。似乎没有办法指定房间。

另一个Address class 在ISA Programme Location Core Vocabulary 中定义。房间可以用locatorName property指定。

微格式有h-card(及其p-adr)和h-adr。房间可以用p-extended-address指定。

以带有 RDFa (Lite) 的 schema.org 词汇表为例:

<p translate="no" typeof="schema:PostalAddress">
  <span property="schema:name">W3C/MIT</span><br>
  <span property="schema:streetAddress">32 Vassar Street</span><br>
  Room 32-G515<br>
  <span property="schema:addressLocality">Cambridge</span>, <abbr title="Massachusetts" property="schema:addressRegion">MA</abbr> <span property="schema:postalCode">02139</span> <abbr property="schema:addressCountry">USA</abbr>
</p>

【讨论】:

这个microdatagenerator帮助我轻松归档了以上内容。

以上是关于邮政地址的标记的主要内容,如果未能解决你的问题,请参考以下文章

如何从地图上获取街道地址、邮政编码、国家、州?

基于皇家邮政 PAF 原始数据构建邮政编码地址查找

邮政编码/地址查找器

从地址中提取邮政编码

正则表达式验证地址字符串不包含邮政信箱模式

geocodePostalAddress - 从邮政编码获取地址