opml1.0規範

首先聲明:這篇文章主要內容來自互聯網,個人認爲可以做爲以後使用方便,轉到本頁上。部分轉載。

來源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 代碼
  1. OPML 1.0 規範   
  2.   
  3. 關於本文檔   
  4. 本文檔用於描述OPML(Outline Processor Markup Language)格式: 是一種用XML 1.0存儲大綱內容的"大綱處理標記語言". "大綱"指滿足這樣條件的一棵樹:其每個節點都有一組string類型的命名屬性.   
  5.   
  6. 例子   
  7. "大綱"可用於規範, 法律條款, 產品計劃, 演講稿, 電影劇本, 通信錄, 日記, 討論組, 聊天系統和小說等."大綱處理器"是指使用戶能讀,寫,識別"大綱"結構的程序.一些示例OPML文檔: 播放列表, 規範, 演講稿.   
  8.   
  9. 目標   
  10. OPML格式旨在爲不同"大綱處理器"提供一種交換數據的方式.設計目標是簡單,自描述,可擴展,人可閱讀,能存儲和表達很大範圍內的數據,且能方便地瀏覽和編輯. 在版本的進化中將保持這種設計目標.一個技術人員在閱讀一個網頁後應該能完全理解這種格式.   
  11.   
  12. 這是一種開放的格式, 也就是說其他"大綱處理器"開發者和服務提供者可以爲兼容Radio UserLand 或其他目的自由地使用此格式.   
  13.   
  14. <opml>是什麼?   
  15. <opml>是一個XML元素, 僅有一個必需的屬性:version; 須具有一個<head>和一個<body>元素.version屬性是一個版本信息字符串, 形如x.y, 其中x,y都是數字.   
  16.   
  17. <head>是什麼?    
  18. <head>包含如下所述的0個或多個屬性:   
  19. <title> 文檔標題.   
  20. <dateCreated> 文檔創建時間.   
  21. <dateModified> 文檔最後修改時間.   
  22. <ownerName> 文檔擁有者.   
  23. <ownerEmail> 文檔擁有者Email地址   
  24. <expansionState> 一個逗號分隔的展開行行號列表. 列表中的行號告知哪些標題(headline)是展開的. 順序是很重要的. 如列表中的元素X, 則從頭開始數X下, 那一行應該是展開的.   
  25. <vertScrollState> 是一個數字,它指示了大綱的哪一行應該在窗口的最上面.該數字是在考慮了"展開狀態"後計算出來的.   
  26. <windowTop> 是一個數字,指示了窗口的上沿的位置.   
  27. <windowLeft> 是一個數字,指示了窗口的左側的位置.   
  28. <windowBottom> 是一個數字,指示了窗口的下沿的位置.   
  29. <windowRight> 是一個數字,指示了窗口的右側的位置.   
  30.   
  31. <head>注意事項   
  32. <head>的子元素有可能被程序忽略. 如果一個大綱在另一個大綱中打開, 程序不能使用windowXxx元素, 因爲這些元素只定義了該大綱自身在窗口中打開時大小和位置.   
  33.   
  34. 所有日期時間相關的元素,格式服從RFC 822.   
  35.   
  36. 你在程序中加載opml時, 可以自由決定是否使用expansionState. 定義它是因爲有時可能需要用到.   
  37.   
  38. <body>是什麼?    
  39. body> 包含一個或更多的<outline> 元素   
  40.   
  41. <outline>是什麼?    
  42. 一個<outline> 是一個可能包含一個或多個屬性及任意數目<outline>子元素的XML元素.   
  43.   
  44. 常用屬性:   
  45. text: 在瀏覽或編輯大綱時顯示的文字. 無長度限制.   
  46. type: 藉以說明其他屬性的意義.    
  47. isComment: 取值爲"true" 或 "false"的字符串, 指示該outline是否是評論. 按慣例如果一個outline是評論,其子元素outline也都是評論. 如果無此屬性,則表示非評論.   
  48. isBreakpoint: 取值爲"true" or "false"的字符串, 指示該outline是否設置了斷點. 該屬性主要是用於編輯和運行腳本的outline. 如果無此屬性,則表示未設置斷點.   
  49.   
  50. 兼容性   
  51. 1.0版本之前有個根元素outlineDocument. Radio UserLand會繼續讀取該元素outlineDocument. .   
  52.   
  53. 限制    
  54. <outline>元素的屬性和子元素數目無限制.   
  55.   
  56. 注意   
  57. OPML是一種文件格式, 不是協議.   
  58.   
  59. 一般說來,通過HTTP 獲取OPML文檔時MIME類型爲text/xml.    
  60.   
  61. Copyright and disclaimer    
  62. © Copyright 2000 UserLand Software, Inc. All Rights Reserved.  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章