首先聲明:這篇文章主要內容來自互聯網,個人認爲可以做爲以後使用方便,轉到本頁上。部分轉載。
來源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 或其他目的自由地使用此格式.
- 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.