首先声明:这篇文章主要内容来自互联网,个人认为可以做为以后使用方便,转到本页上。部分转载。
来源blog:http://www.cnblogs.com/dandandan/archive/2006/04/16/376691.html
OPML 1.0 规范
关于本文档
本文档用于描述OPML(Outline Processor Markup Language)格式: 是一种用XML 1.0存储大纲内容的"大纲处理标记语言". "大纲"指满足这样条件的一棵树:其每个节点都有一组string类型的命名属性.
例子
"大纲"可用于规范, 法律条款, 产品计划, 演讲稿, 电影剧本, 通信录, 日记, 讨论组, 聊天系统和小说等."大纲处理器"是指使用户能读,写,识别"大纲"结构的程序.一些示例OPML文档: 播放列表, 规范, 演讲稿.
目标
OPML格式旨在为不同"大纲处理器"提供一种交换数据的方式.设计目标是简单,自描述,可扩展,人可阅读,能存储和表达很大范围内的数据,且能方便地浏览和编辑. 在版本的进化中将保持这种设计目标.一个技术人员在阅读一个网页后应该能完全理解这种格式.
这是一种开放的格式, 也就是说其他"大纲处理器"开发者和服务提供者可以为兼容Radio UserLand 或其他目的自由地使用此格式.
xml 代码
- OPML 1.0 规范
- 关于本文档
- 本文档用于描述OPML(Outline Processor Markup Language)格式: 是一种用XML 1.0存储大纲内容的"大纲处理标记语言". "大纲"指满足这样条件的一棵树:其每个节点都有一组string类型的命名属性.
- 例子
- "大纲"可用于规范, 法律条款, 产品计划, 演讲稿, 电影剧本, 通信录, 日记, 讨论组, 聊天系统和小说等."大纲处理器"是指使用户能读,写,识别"大纲"结构的程序.一些示例OPML文档: 播放列表, 规范, 演讲稿.
- 目标
- OPML格式旨在为不同"大纲处理器"提供一种交换数据的方式.设计目标是简单,自描述,可扩展,人可阅读,能存储和表达很大范围内的数据,且能方便地浏览和编辑. 在版本的进化中将保持这种设计目标.一个技术人员在阅读一个网页后应该能完全理解这种格式.
- 这是一种开放的格式, 也就是说其他"大纲处理器"开发者和服务提供者可以为兼容Radio UserLand 或其他目的自由地使用此格式.
- <opml>是什么?
- <opml>是一个XML元素, 仅有一个必需的属性:version; 须具有一个<head>和一个<body>元素.version属性是一个版本信息字符串, 形如x.y, 其中x,y都是数字.
- <head>是什么?
- <head>包含如下所述的0个或多个属性:
- <title> 文档标题.
- <dateCreated> 文档创建时间.
- <dateModified> 文档最后修改时间.
- <ownerName> 文档拥有者.
- <ownerEmail> 文档拥有者Email地址
- <expansionState> 一个逗号分隔的展开行行号列表. 列表中的行号告知哪些标题(headline)是展开的. 顺序是很重要的. 如列表中的元素X, 则从头开始数X下, 那一行应该是展开的.
- <vertScrollState> 是一个数字,它指示了大纲的哪一行应该在窗口的最上面.该数字是在考虑了"展开状态"后计算出来的.
- <windowTop> 是一个数字,指示了窗口的上沿的位置.
- <windowLeft> 是一个数字,指示了窗口的左侧的位置.
- <windowBottom> 是一个数字,指示了窗口的下沿的位置.
- <windowRight> 是一个数字,指示了窗口的右侧的位置.
- <head>注意事项
- <head>的子元素有可能被程序忽略. 如果一个大纲在另一个大纲中打开, 程序不能使用windowXxx元素, 因为这些元素只定义了该大纲自身在窗口中打开时大小和位置.
- 所有日期时间相关的元素,格式服从RFC 822.
- 你在程序中加载opml时, 可以自由决定是否使用expansionState. 定义它是因为有时可能需要用到.
- <body>是什么?
- body> 包含一个或更多的<outline> 元素
- <outline>是什么?
- 一个<outline> 是一个可能包含一个或多个属性及任意数目<outline>子元素的XML元素.
- 常用属性:
- text: 在浏览或编辑大纲时显示的文字. 无长度限制.
- type: 借以说明其他属性的意义.
- isComment: 取值为"true" 或 "false"的字符串, 指示该outline是否是评论. 按惯例如果一个outline是评论,其子元素outline也都是评论. 如果无此属性,则表示非评论.
- isBreakpoint: 取值为"true" or "false"的字符串, 指示该outline是否设置了断点. 该属性主要是用于编辑和运行脚本的outline. 如果无此属性,则表示未设置断点.
- 兼容性
- 1.0版本之前有个根元素outlineDocument. Radio UserLand会继续读取该元素outlineDocument. .
- 限制
- <outline>元素的属性和子元素数目无限制.
- 注意
- OPML是一种文件格式, 不是协议.
- 一般说来,通过HTTP 获取OPML文档时MIME类型为text/xml.
- Copyright and disclaimer
- © Copyright 2000 UserLand Software, Inc. All Rights Reserved.