Mozilla 翻訳 フォーラム一覧 Mozilla 翻訳
Mozilla Japan 翻訳部門 ではmozilla.org 全体の日本語化を目指して活動しています。
Mozilla Japan のサイトは翻訳部門が和訳したドキュメントをベースに構築されています。
 
 よくある質問よくある質問   検索検索   登録ユーザ一覧登録ユーザ一覧   グループグループ   登録登録 
 ユーザ設定ユーザ設定   ログインして PM を確認ログインして PM を確認   ログインログイン 

最終更新日の管理

 
トピックの新規投稿   返信    Mozilla 翻訳 フォーラム一覧 -> 翻訳部門の活動
前のトピックを表示 :: 次のトピックを表示  
著者 メッセージ
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時間くらい, あるいは(回線によっては)それ以上かかるかも。 Laughing
# 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/


ロックに関する部分はまだ適当なので, エラーによる停止とかあるかも。 Twisted Evil
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 を作成するってことで Smile
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)
指定期間中に書かれた記事を表示:   
トピックの新規投稿   返信    Mozilla 翻訳 フォーラム一覧 -> 翻訳部門の活動 All times are GMT +9:00
Page 1 of 1

 
別のフォーラムに移る:  
新規トピックを投稿できます
既存トピックに返信できます
自分の記事を編集できません
自分の記事を削除できません
投票に参加できません


Powered by phpBB © 2001, 2006 phpBB Group (customized by dynamis)