热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化后的标题:hCalendar微格式:深入解析事件与时间、地点相关的活动标记方法

本文深入探讨了hCalendar微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了rel属性用于定义链接关系、XFN微格式增强链接的人际关系描述以及hCard微格式对个人和组织信息的描述。本次将重点解析hCalendar如何通过结构化数据标记,提高事件信息的可读性和互操作性。
我们又来了,兴奋的冲进微格式的世界~~根据我的计划,这篇文章应该到达此系列的半程了。到这里,我已经讨论了三种微格式的实现:

在第一部分中,使用rel来定义基于链接的关系
在第二部分中,使用XFN微格式为链接增加人际关系的描述
在第三部分中,使用hCard微格式来描述人、公司和地点
还不错。但是距离全面介绍微格式还有一定差距呢。

所以,今天让我们一起来探讨一下hCalendar微格式,通过该微格式我可以为那些关于事件和基于时间或地点的活动提供语义和结构化信息。

来源:iCalendar

iCalendar(或者iCal)是分享日历数据的标准。通常的,他被广泛用在Email交换中,虽然并不仅仅局限于此。同hCard类似,网站开发人员可以通过hCalendar将iCalendar数据嵌入到网页数据中。hCalendar同iCalendar之间同样是1:11:11:1的对应关系,从而允许解析器从网页中提取信息提供给日历应用使用。1:11:11:1的对应关系,从而允许解析器从网页中提取信息提供给日历应用使用。

历史回顾:iCalendar建立在vCalendar(虚拟日历Virtual Calendar)基础之上,vCalendar是一个开源的日历应用,用来在线发布和维护事件和时刻表。vCalendar同vCard电子商务名片格式一起开发的。

基于日期/时间的活动

hCalendar微格式描述在日历中使用的事件(或者任何基于日期/时间的活动)信息,包括(但不限于):

  • 概述
  • 日期和时间
  • 地点
  • 详细描述
  • 重复发生

基础知识

跟hCard一样,hCalendar遵循一些基本规则:

  • 属性和子属性通过class来描述。
  • 因为跟iCalendar之间1:1的对应关系,特定的hCalendar属性是建立在iCalendar属性名称基础上的(例如,vevent
  • 属性和子属性名字大小写敏感
  • “根”属性不能同其他属性组合。因此

    是无效的。

还有一条虽然不是规则,但是需要铭记在心:使用什么样的标记元素并不重要class的值(属性/子属性)才决定hCalendar微格式。但之前也说过,我非常鼓励使用具有语义特性的标记元素。

Profile

同所有微格式一样,非常鼓励您在网页的部分中包含微格式的声明,使用hCalendar的Profile

profile=”http://purl.org/uF/hCalendar/1.0/”>

W3C允许定义多个Profile值,使用空格隔开,所以可以自己选择使用多个Profile:

http://gmpg.org/xfn/11 http://purl.org/uF/hCard/1.0/ http://purl.org/uF/hCalendar/1.0/“>

另外,如果您引用非提案微格式(hCalendar是非提案微格式),您可以替换使用组合Profile URL,该URL涵盖了所有非提案微格式:

http://purl.org/uF/2008/03/“>

如果您同时引用非提案和提案微格式,您同样可以使用上面这条组合Profile声明。

示例

本博客相对比较新,因此,我还没有更多的机会列举一些事件信息。实际上,我只有一个在线的例子,感谢最近一篇BarCamp Albuquerque 3的文章,在那里我使用了hCalendar微格式:

  1. class=”vevent”>
  2. Yes, it's short notice, but mark your calendars: class=”url summary”>class=”category”>BarCamp Albuquerque 3 is this weekend.

  3. When:
  4. class=”dtstart” title=”2008-09-13T09:00:00″>September 13class=”dtend” title=”2008-09-14T18:00:00″>14, from 9am–6pm both days
  5. Where:
  6. class=”location vcard”>CJW Cafe on 4801 Alameda Blvd NE, Albuquerque, NM 87113
  7. What:
  8. class=”description”>A class=”duration” title=”P2D”>two-day event all about the web — design (visual, experience, information architecture), technology (infrastructure, programming), social and new media, and other stuff that is just plain cool.

说说各部分

我们将上面的例子分开讨论一下。

“根”:vevent

您可能注意到在我例子中的根属性是vevent,而不是vcalendar。这是因为hCalendar有一个可选的根元素,只有在您需要在页面中描述超过一个日历事件时才需要出现。对于尽有一个日历事件的网页,vcalendar属性被假设已经出现在页面中。既然我的例子只是一个事件,我把所有的事件信息都包含在

中,意味着所有的内容描述的都是同一个事件。

包含他的元素可以是任何元素(

推荐阅读
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 在HDU 1166敌军布阵问题中,通过运用线段树数据结构,可以高效地计算指定区间的敌军数量。该算法不仅能够在限定的时间和内存条件下快速求解,还能够灵活应对动态变化的战场局势,为实时决策提供支持。 ... [详细]
  • 公司计划部署邮件服务器,考虑到已有域名,决定自行搭建内部邮件服务器。经过综合考量,最终选择在Linux环境中进行搭建,并记录了相关配置和实践过程。本文将详细介绍Postfix的基本设置步骤和实践经验,帮助读者快速掌握邮件服务器的搭建方法。 ... [详细]
  • 本文介绍了如何通过掌握 IScroll 技巧来实现流畅的上拉加载和下拉刷新功能。首先,需要按正确的顺序引入相关文件:1. Zepto;2. iScroll.js;3. scroll-probe.js。此外,还提供了完整的代码示例,可在 GitHub 仓库中查看。通过这些步骤,开发者可以轻松实现高效、流畅的滚动效果,提升用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 在处理分享功能时,以往通常会首先考虑使用第三方SDK,如友盟等。然而,通过实际项目经验发现,利用iOS原生的UIActivityViewController不仅可以实现高效、稳定的分享功能,还能更好地控制用户体验。本文将详细介绍如何利用iOS原生技术缓存HTML内容,并结合URL分享的最佳实践,帮助开发者在实际开发中提升应用性能和用户满意度。 ... [详细]
  • 可转债数据智能抓取与分析平台优化
    本项目旨在优化可转债数据的智能抓取与分析平台。通过爬取集思录上的可转债信息(排除已发布赎回的债券),并结合安道全教授提出的三条安全线投资策略,新增了建仓线、加仓线和重仓线,以提供更精准的投资建议。 ... [详细]
  • 【Python爬虫实操】 不创作小说,专精网站内容迁移,超高效!(含源代码)
    本文详细介绍了如何利用Python爬虫技术实现高效网站内容迁移,涵盖前端、后端及Android相关知识点。通过具体实例和源代码,展示了如何精准抓取并迁移网站内容,适合对Python爬虫实战感兴趣的开发者参考。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • MD5,即消息摘要算法5,是一种广泛应用于确保数据传输完整性的哈希算法。作为计算机领域常用的杂凑算法之一,MD5在多种主流编程语言中均有实现。此外,本文还详细解析了SHA、DES、3DES、AES、RSA和ECC等加密算法的基本原理和应用场景,为读者提供全面的加密技术概览。 ... [详细]
  • 在Linux系统中Nginx环境下SSL证书的安装步骤与WordPress CDN的高级配置指南
    在Linux系统中,Nginx环境下安装SSL证书的具体步骤及WordPress CDN的高级配置指南。首先,安装SSL证书需要准备两个关键配置文件,并建议在操作前备份相关服务器配置文件,以确保数据安全。随后,本文将详细介绍如何在Nginx中正确配置SSL证书,以及如何优化WordPress的CDN设置,提升网站性能和安全性。 ... [详细]
  • 定义Function类型:1functionsum(num1,num2){return num1+num2;}2varsumfunction(num1,num2){returnn ... [详细]
author-avatar
赛亚兔备_393
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有