Index (January 2009)
DocBook4.4 のDTDを rng へ変換
DocBook4.4 で記述されたXML文書を
jing.jar で妥当性検証したかったのだが、
- http://www.oasis-open.org/docbook/xml/ DocBookの各バージョンのスキーマ一覧
上記サイトでは、 DocBook4.4 の rng ファイルは提供されていなかった。
調べてみると、trang.jar を使えば、DTD を rng に変換できることがわかったので、試してみた。 問題なさそう。
DocBook V5.0 を書いて妥当性検証する方法
構造化FrameMaker ... 目次用 XMLのフォーマット
構造化FrameMaker(Structured)には目次作成機能が付いていますが、それを使わないで、
事前にFrameMakerにXMLインポートするの前段階の処理として目次用のXMLを生成(というか、XSLTを使って変換)
してから、FrameMakerでフォーマットするという方法があります。
その場合、目次項目のパラグラフフォーマットをEDDで指定する方法がわからなかったので調査しました。
構造化FrameMaker 相互参照(cross-reference)の作成
構造化FrameMaker上での相互参照は、かなり簡単に実現できる。
- 参照元となる要素に id 属性を入れておく
- 詳しく調べていないが、おそらく属性名は id とすべきだと思う(どこかで指定できるのかもしれないが)
- 参照先に xref といった要素を置く(おけるようにDTD,EDDを設計)
- xref 要素は、EDD上で CrossReference として定義する必要がある→通常は Container だがそうではなく CrossReference
※注意点
参照先は、すべての要素の id 属性を調べているだけなので、 id の値はドキュメント中でユニークにする必要がある。 chapter, sectionなど異なる要素の id でも重複は許されない。
構造化FrameMaker グラフィックを取り扱う方法
構造化FrameMakerでグラフィック(イメージ)を扱う方法。難しくはないがひどく手順が面倒ではある。
構造化FrameMaker の基本的な開発・制作ワークフロー
ドキュメントを多言語で展開するために、いままでは、 InDesign+XMLを使って対処してきたが、 今度はFrameMaker+XMLの組合せで制作することになった。
FrameMaker(Structured)は、SGML時代から存在しているツールであり、
XMLを使った多言語展開には、InDesignよりずっとうまく対応できる設計になっている。
とはいえ、
ページ数が少なく、レイアウト要求が厳しい場合には、
やはり、InDesign+XMLの方がやりやすいと感じる。
EDDによるスタイルコントロールは、すこし気が重い。
DocbookのXMLから目次情報を抽出する toc.xsl の作成(改良版→番号の追加)
前回 Docbook で記述されたXML文書から目次情報の抽出をしましたが、 章番号やセクション番号がない状態だったので、今回はそれを追加します。
DocbookのXMLから目次情報を抽出する toc.xsl の作成
今回は、Docbookで記述されたXML文書から目次情報だけを抽出してみます。
テストで処理対象としたXML文書は、 こちら(Apache Velocity DocBook Framework ) から入手できる DBFUserGuide.xml を使用します。これは、Docbook4.5を使って記述されています。
カンマ区切りのテキストを配列にする(Python vs Java)(python,java)
Pythonでカンマ区切りのテキスト(String)を配列にするには?
Pythonで文字列へのキャスト方法(java,python)
基本過ぎてわからなかったのでメモ。 数値などを文字列へキャストする方法 (Pythonで)
XMLのマークアップを除去する...XML文書からテキストファイルを作成(XHTMLも可)
以前、 HTMLのマークアップを除去する...HTML文書からテキストファイルを作成(Javaを使用) というエントリーを書いたのですが、XSLTを使えばもっと簡単に処理できることが判明。
ただし、処理対象になるXML文書は well-formed でないといけない・・・ という意味では、ネット上のHTMLをこれで処理するのは難しい。
Pythonによる日付操作(python,date)
Pythonによる日付操作のメモ。
Jythonでのファイル読み込みコード 関数版 (Javaスタイル)
jythonでのファイル読み込みコードの関数版です。
読み込み結果を
そのまま
標準出力しないで、java.util.ArrayListのオブジェクト として返します。
メモリステックの完全消去方法(WindowsXP+Cygwinを使用)
オークションでメモリステック(MemoryStick)を処分したのですが、 内容を完全消去する方法がわからなかったので調査しました。
ウェブサイトに残っている不要ページを削除する方法
大規模なサイトを管理しているとどうしても古いページがサーバに残ってしまうことがあります。
これらの古いページは、
トップページ経由でリンクをたどってアクセスするユーザの目に触れることはありませんが、
Googleなど検索エンジンから直接アクセスするユーザが、
サイト管理者の意図せずして、古いページにアクセスしてしまうことがあります。
今回、これらの古いページをまとめて削除する仕事の依頼を頂いたので、 基本的作業手順をメモしておきます。
作業環境
- WindowXP+cygwinで作業しています。
- LinuxやMacOSXでもほとんど同じ手順で作業できます。
- エクセル(MS-Excel)の代わりにOpenOfficeOrg Calcの使用も可です。
JavaScriptライブラリ jQuery Corners で角を丸める, IEにも対応(javascript,jquery)
いままで、 このエントリにあるCSS記述 を使って角を丸めていたのですが、 当然Safari,Firefoxにしか対応していませんでした。
wgetでウェブサイトをまるごとダウンロード
Webの仕事の打診で、○○のサイトを少しなおしたいんだけど、
サンプル出してください・・・
と言われたときに便利なのが、wget のミラー機能。
Mac OS X(Leopard) + Time Capsule + rsyncによる遠隔地ミラーバックアップ(コロケーション)環境の構築
Time Capsule は、Time Machineのバックアップ用として使われるように デザインされていますが、普通のNAS(Network Attatched Storage)としても 使うことができます。
今回、タイムカプセルとMacMiniを組み合わせて、ファイルサーバを構築した上で、 遠隔地にあるバックアップクライアントから 自動で rsync を使ってミラーバックアップを行う環境を構築しました。 (いわゆるコロケーションです。)
Cygwinでnkfを導入、テキストファイルの文字コードをUTF-8に変換するコマンド toutf8 の作成(cygwin,nkf)
JIS,SJIS,EUC,UTF-8等任意日本語文字コードのテキストファイルをUTF-8に変換するときに 使用するスクリプト。
Relaxng ... div と para 要素が任意の回数出現してよいという制約を記述する方法 →choice を使え
構造化FrameMaker での XML-Round-Trip のために DTD を自分で書かないといけない。 DTDを書くのは辛すぎるので、RelaxNGを書いてこれを変換してDTDとして使おうと。
今回は、div,para要素が 0回以上任意の回数出現していい、という制約を指定する方法。
はじめての prototype.js ... 要素の絶対位置の計算方法
要素の絶対位置を計算する。
はじめての prototype.js ... 初期化スクリプトをどこに書けばよいのか?(Google AJAX Librariesを使う場合)
初期化スクリプトをどこに書けばよいのか?
はじめての prototype.js ... GoogleのAJAX Libraries API 経由で prototype.js を使う(javascript,prototype.js)
prototype.js の配置の手間を減らす
GoogleのAJAX Libraries API を使えば、prototype.jsをダウンロードして開発中の作業ディレクトリに配置する手間が省けます。
はじめての prototype.js ... 入力内容に応じてHTMLを書き換える
inputエレメントで入力した内容に応じてHTMLを書き換える
id="target" を埋め込んだ div エレメントの内容を input で入力した内容に 応じてダイナミックに変更します。
へえーボタン...マイトリビア,Open Social なアプリ
Google-App-Engine-Japan に参加しているのだが・・・
{div:smallnote} このアプリでは、トリビアを投稿したり、他の人が投稿したトリビアに対して へえボタンを押したりする事ができます。また、どんなユーザが自分の投稿し たトリビアに対して「へえ」を何回押したか、グラフで視認する[1]事ができま す。 {div}

...という投稿があった。
おもしろいと思って、 「へーボタン」をGoogleで検索してみたら、 すでにこの手のアプリは結構いろいろあるみたいだ。