Mozilla 翻訳 Mozilla Japan 翻訳部門では mozilla.org 全体の日本語化を目指して活動していました。 このサイトは 2022 年 1 月に終了しました。Mozilla Japan コミュニティポータル から関連サイトをご利用ください。
前のトピックを表示 :: 次のトピックを表示
著者
メッセージ
Orca 登録日: 2004年4月 20日 記事: 511 所在地: 関西
件名: 最終更新日の管理 投稿時間: 2005年1月26日(水) 20:50
和訳ドキュメントに, オリジナルドキュメントの更新日を link要素使って記述することになってる訳だけど, そのことについて, ソレを自動で行ってはどーか … てゆー意見を投稿したことがあるです。 http://moz.skillup.jp/jtp/viewtopic.php?t=2018
で, 現在どんなアレで管理してるのか分からないので, σ(^^) が使ってるブツの一部を公開します。 (Rhino +(E4X) のプログラム)
http://hp.vector.co.jp/authors/VA014690/docs/MozTree.js
参考: http://www.mozilla-japan.org/rhino/rhino16R1.html
初回起動時に, mozilla.orgの全ディレクトリを取得するので, 2時間くらい, あるいは(回線によっては)それ以上かかるかも。
# 1MBくらいのディスク容量があれば σ(^^) から送ることも可
んで, 次回からは更新情報だけ取得します。
保持している XML表現のソレは "MozTree.ser" れす。
Rhino.cmd:
Code: java -cp %CLASSPATH% org.mozilla.javascript.tools.shell.Main %1 %2 %3 %4 %5 %6 %7 %8 %9
使い方 Quote:
通常の起動:
Rhino MozTree.js
範囲を指定し更新情報を get (指定期日以降, 指定ディレクトリ以下のもののみ)
Rhino MozTree.js 2004-01-01 /ports/os2/
予約/草稿につき, 最終更新日をロック
Rhino MozTree.js -L /ports/os2/index.html
ロック(?)されているファイルの一覧を表示
Rhino MozTree.js -L
ロック(?)期間中にオリジナルが更新されたもの
Rhino MozTree.js -U
ロック(?)を解除
Rhino MozTree.js -U /ports/os2/index.html
指定ディレクトリ以下のファイルを表示
Rhino MozTree.js /ports/os2/
ロックに関する部分はまだ適当なので, エラーによる停止とかあるかも。
Orca 登録日: 2004年4月 20日 記事: 511 所在地: 関西
件名: Re: 最終更新日の管理 投稿時間: 2005年2月28日(月) 09:37
結果は, ファイル "MozTree.ser"で見ることができる訳だけど, ソレだけではアレなので, ついでに ・・・
Code: <?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="page-list" title="Mozilla Web Pages"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<tree flex="1" id="treeset"
datasources="MozTree.rdf" ref="http://www.mozilla.org/mozilla"
flags="dont-build-content">
<treecols>
<treecol id="name" label="Name" primary="true" flex="3"/>
<treecol id="update" label="Update" flex="2"/>
<treecol id="rev" label="Rev" flex="1"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.mozilla.org/rdf#name"/>
<treecell label="rdf:http://www.mozilla.org/rdf#update"/>
<treecell label="rdf:http://www.mozilla.org/rdf#rev"/>
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
</window>
こんなファイルを用意しておくと (拡張子は *.xul), ブラウザーで見ることができるです。
ただし, ここでゆーところの MozTree.rdfを作らないとダメ。
そしてソレは 先の MozTree.serから XSLTで変換してもよいし (可能かどーか分からないけど), 他に, 以下の Rhino (E4X) の変換プログラムを走らせてもよいれす。
# 標準出力から MozTree.rdf を作成するってことで
Code: importPackage(java.lang, java.net)
var moz = new XML(deserialize('MozTree.ser'))
var nsrdf = new Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#')
var nsmoz = new Namespace('http://www.mozilla.org/rdf#')
var rdf = <rdf:RDF
xmlns:rdf={nsrdf}
xmlns:moz={nsmoz}
/>
function treePath(root) {
return function (tree) {
var res = ''
for (var t = tree.parent(); t != undefined && t != root; t = t.parent())
res = '/'+t.name() +res
return res +'/' +(tree.@name != undefined? tree.@name: tree.name())
}
}
var mozilla_org = new URL('http://www.mozilla.org/')
var getPath = treePath(moz)
var cnt = rdf.nsrdf::Description.length()
function recursConv(cur, tree) {
var url = new URL(mozilla_org, getPath(tree))
var out = rdf.nsrdf::Description
out[cnt] = '', out = out[cnt++]
out.@nsrdf::about = url
out.nsmoz::name = tree.name()
cur.nsrdf::Seq = ''
cur = cur.nsrdf::Seq
cur.@nsrdf::about = url
cur.nsrdf::li = ''
for (var i = 0; i < tree.*.length(); i++) {
cur.nsrdf::li[i] = ''
var nm = tree.*[i]
if (nm.@name != undefined) {
var url = new URL(mozilla_org, getPath(nm))
var out = rdf.nsrdf::Description
out[cnt] = '', out = out[cnt++]
out.@nsrdf::about = url
out.nsmoz::name = nm.@name
out.nsmoz::rev = nm.@rev
out.nsmoz::update = nm.@update
if (nm.@lock != undefined)
out.nsmoz::lock = nm.@lock
cur.nsrdf::li[i].@nsrdf::resource = url
}
else {
recursConv(cur.nsrdf::li[i], nm)
}
}
}
var tmp = <temp/>
recursConv(tmp, moz)
rdf.nsrdf::Seq = tmp.*
print(rdf)
新規トピックを投稿できます 既存トピックに返信できます 自分の記事を編集できません 自分の記事を削除できません 投票に参加できません
Powered by phpBB © 2001, 2006 phpBB Group (customized by dynamis)