Mozilla 翻訳 フォーラム一覧 Mozilla 翻訳
Mozilla Japan 翻訳部門では mozilla.org 全体の日本語化を目指して活動していました。
このサイトは 2022 年 1 月に終了しました。
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)