NETSCAPE-Bookmark-file-1

Netscape Bookmark File Format

[1] NNbookmark (栞) のデータ形式としては、 大昔から HTML に似たマーク付け言語が使われています。 巷の WWWブラウザで表示させるとそれなりに整形して表示され、 栞を挟んだ先へのリンクも機能するようになっています。

Netscape 0.9 で既にこの形式が使われていますが、 もしかすると Mosaic でも使われてたんでしょうか?

[6] >>1 でも一般的な mosaic は mosaic.ini とかに書いてたと思われ。

文書構造

[4] W3C HTML にないもの、非互換な物は「*」をつけてます。

[8] W3C HTML から推測して「フォルダ」の内容を表す DL 要素は直前の「フォルダ」の名前を表す DT 要素の内容の一部としましたが、出力されている字下げを考慮すると、 DLDT の弟要素と考えた方が正しいのかもしれません。

要素型・属性名は、出力されるものでは一般に全て大文字で、 p 要素だけなぜか小文字になっています。

[5] 文書の charset は、 Classic Mozilla ではその環境の標準の文字コード, Mozilla では UTF-8 を使うようです。

[9] iCab は意味のない p タグを全然吐きません。それに比較的綺麗なソースです。 (それでも & を escape してないのは同じ。もっとも、 SGML 的に必ずしも間違いではないが。。。)

文書型宣言

メモ

[10]

[NN0.9]
MosaicCommunications 社の MosaicNetscape 0.9
[NN1]
NN 1 系
[NN2]
NN 2 系
[NN3]
NN 3 系
[NN4]
NN (単体または NC の一部) 4 系
[Moz]
mozilla.orgMozilla や Netscape 6 以降
[MacIE4]
MacIE 4.0
[iCab]
iCab
[N
:B] :Netscape::Bookmark
[Fx1]
Firefox 1.5

[12] [NN4], [MacIE4], [iCab] についての情報は [N::B] 付属の例文を元にしました。

Classic/Gecko Mozilla についてはちゃんと調べてないので完全な情報ではありません。

[7] <IW:CPAN:"Netscape::Bookmark"> という Perl モジュールがあります。 Netscape bookmark 形式の栞文書を取扱うことができます。

[13] 影鷹も栞に Netscape Bookmarks 形式を使っています。

[11] Netscape Bookmark File Format (Internet Explorer) ( 版) <https://msdn.microsoft.com/en-us/library/aa753582(v=vs.85).aspx>

[14] PocketやYahoo!ブックマークにも対応! 他ブックマークサービスからの移行方法 - はてなブックマーク開発ブログ ( 版) <http://bookmark.hatenastaff.com/entry/import_from_pocket>

上記サービス以外にも、以下のデータ形式に対応しています。対応するデータ形式のファイルをインポートしても、正常にデータが引き継がれない場合もありますので、ご了承くださいませ。

Netscape Bookmark File Format

[15] Firefox bookmarks - Just Solve the File Format Problem ( 版) <http://fileformats.archiveteam.org/wiki/Firefox_bookmarks>

Firefox bookmarks originally used the HTML-based Netscape bookmarks format, as did the Mozilla/Seamonkey Suite. However, as of Firefox 3.0, a new format was used based on SQLite with write-ahead logging. The bookmarks are also regularly automatically backed up in the JSON format.

[16] HTML ファイルからブックマークをインポートする | Firefox ヘルプ ( 版) <https://support.mozilla.org/ja/kb/import-bookmarks-html>

この記事では、Netscape のブックマーク形式 である HTML ブックマークファイルをインポートする 方法について説明します。

[17] JCBookmark 使い方 ( 版) <http://ztmsdf.appspot.com/jcbookmark/usage.html>

ブックマーク形式(NETSCAPE-Bookmark-file-1)のHTMLファイルからインポートします。

画面上のブックマークデータを、HTMLブックマーク形式(NETSCAPE-Bookmark-file-1)でダウンロードできます。(未保存のデータも含みます)

[18] WebHub Manual - Misc ( 版) <http://halfwholescale.net/webhub/manual/misc.html>

Netscape Bookmark File Formatに準拠したファイルからブックマークをインポートできます。(ほとんどのブラウザでエクスポートを選択するとこのフォーマットのファイルが出力されます。)

WebHubはファイル先頭が <!DOCTYPE NETSCAPE-Bookmark-file-1> で始るファイルをNetscape Bookmark File Formatと認識します。

[19] Perl Module: Netscape::Bookmarks ( 版) <http://nsbookmarks.sourceforge.net/>

[20] ( 版) <http://tatsu.life.coocan.jp/Devroom/NS_BM.txt>

Netscape 4/6のブックマークファイルの形式

ブックマークファイルの文字コード体系とエンコーディングはNetscape 4ではプラットフォームで使われている文字コード体系とエンコーディングになっている。

ブックマークファイルはHTMLファイルで次の形式になっている。

---

<!DOCTYPE NETSCAPE-Bookmark-file-1>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">

charsetの情報はNetscape 6のみ。

<TITLE>任意の文字列</TITLE>

<H1>任意の文字列</H1>

<DL><p>

サイト情報もしくはフォルダ情報が入る。

区切りとして<hr>エレメントが使える。

</DL><p>

---

サイト情報

<DT>エレメントにリンク先の情報。テキストはリンク先のタイトル名、<A>エレメントにリンク先URL等の情報

<DD>アトリビュートは説明

フォルダ情報

<H3 ADD_DATE="1004884392">エレメントはフォルダ、各属性はフォルダの情報

<DL><p>

フォルダの内容

</DL><p>

フォルダの内容にはサイトもしくはフォルダの情報が入る。

<H3><A>エレメントの情報

HREF:リンク先

ADD_DATE:追加したとき

LAST_VISIT:最後に来たとき

LAST_MODIFIED:最終変更日時(Netscape 4ではブックマークのページの変更を確認した日時(ただし、404 Not Foundに変更になった場合は除く) Netscape 6/Mozillaではブックマークの内容を変更した日時)

ID:(Mozilla 1.4以降) 内部でのブックマーク識別用ID。これが別なブックマークと同一の場合、FEEDURLの情報が別のブックマークと同じになる。

SHORTCUTURL:(NS6)キーワード こいつをアドレス表示部に打ち込むとキーワードが示す

サイトに飛べる。Opera 6のショートカットと同じ。

SCHEDULE="0123456|0-1|60|icon,sound,alert,open" (NS6)チェックする日|チェックする時間帯|チェックする間隔(分)|更新時のアクション

LAST_PING:最後に更新確認を行った日(NS6)

Netscape 4,6のブックマークの日時の表現

※時間の単位はtime_t

不明のときは0

Netscape 6の「IEのお気に入り」はbookmarks.html上に存在しない場合、起動時にブックマークのルートに自動生成される。(Netscape 6のみ?6.1以降は起動時に1回生成するだけ?)

[21] DTD of NETSCAPE-Bookmark-file-1 ( 版) <http://web.archive.org/web/20101021092327/http://www.nslabs.jp/bookmark.dtd.htm>

<!--

DTD of NETSCAPE-Bookmark-file-1

Netscape Navigator 4.04 / Bookmark Converter 7.60 / IE Favorites Collector 2.03で確認。

1998.04.18作成

1998.05.05 alias関係を追加。

-->

<!ENTITY quot CDATA """ -- quotation mark -->

<!ENTITY amp CDATA "&" -- ampersand, U+0026 ISOnum -->

<!ENTITY lt CDATA "<" -- less-than sign, U+003C ISOnum -->

<!ENTITY gt CDATA ">" -- greater-than sign, U+003E ISOnum -->

<!entity % inline "#PCDATA" >

<!--=============================================================-->

<!element netscape-bookmark-file-1 o o (title, h1, dd?, dl, p) >

<!element title - - (%inline;)* >

<!element h1 - - (%inline;)* >

<!element dd - o (%inline;)* >

<!element dl - - (p, dt*) >

<!element dt - o ( (h3, dd?, dl, p) | (a, dd?) ) >

<!element a - - (%inline;)* >

<!attlist a

href CDATA #REQUIRED

add-date NUMBER #IMPLIED

last-visit NUMBER #IMPLIED

last-modified NUMBER #IMPLIED

ALIASOF NUMBER #IMPLIED

ALIASID NUMBER #IMPLIED

>

<!element p - o EMPTY >

<!element h3 - - (%inline;)* >

<!attlist h3

attr (folded) #IMPLIED

add-date NUMBER #IMPLIED

>