Index > xml

xml

Tue, February 2, 2010

Trados howto ,XML(Docbook等)の和文・英文から翻訳メモリを作成する方法

WinAlignを使って、直接XMLを整合させることもできるが、できあがったメモリを見ると余計な情報が含まれている気がする。
そこで、以下の手順で、ttx ファイルを整合させるとうまくいった。

続きを読む

Mon, January 11, 2010

Groovy を使った設定ファイルの作成 (スタイル設定用 ミニDSL の自作)

Groovyのビルダを使うと、見かけ上設定ファイルのような記述ができるのですが、 それがそのまま実はGroovyのコードとして動かせるということができます。 これが便利なのは、単なる設定ファイルのように見えるものの、 実際はGroovyのコードなので、 変数やロジック等をそこに混ぜることができるという点です。

Groovy In Action の Chapter 8 "ビルダーの利用" では、 Lispの野望、実行可能な仕様に近づく というように表現されています。

続きを読む

Wed, January 6, 2010

Groovy流にXMLを扱う、XMLの読み書き変更

Groovyでは、JDOM等の既存ライブラリを使って XML を処理できますが、 Groovyに組み込まれた XmlSlurper クラスを等を使うと 非常に Groovy に処理できるようになります。

続きを読む

Sun, December 27, 2009

XSLTで内容をコピーした上で XPATHで指定した位置に要素を追加する記述

このXSLのイディオムはあまりによく使うのでメモ。

続きを読む

Sun, December 27, 2009

XSLTで子要素(テキスト)を属性にする記述、およびその逆変換

このXSLのイディオムはあまりによく使うのでメモ。

続きを読む

Fri, October 23, 2009

jEditのWindowsへインストールとCygwinから使えるようにする

jEdit http://www.jedit.org/

文字エンコーディングとしてUTF-8が使えて、XMLのシンタックスハイライトに対応したエディタ をいろいろ探していたが、jEditを使ってみることにした。

個人的には、Ubuntu + vim or emacs で何の問題もないのだが、プロジェクトチーム内で 使ってもらうには、Ubuntuという時点でアウト・・・なので。

以前テストしたときには、オンザスポットで日本語入力できなかったり、 Cygwin から起動する方法がわからなかったのだが、今回 Java-based installer を使用したところ 問題なくCygwinから使うことができた。 さらに日本語も普通にオンザスポット入力ができるようになっていた。

GPLだし、プラグインをJavaで開発できるし、これは今後メインのエディタとして 使っていくポテンシャルを秘めているからも...と期待。

続きを読む

Sun, October 4, 2009

XML文書のプリティプリント、および正規化ツール

XML文書を扱っていると人間が読みやすいようにインデント量を調整したり(プリティプリント)
XML文書の差分をとる/パッチをあてるなどの処理のために正規化(ノーマライズ)する必要が生じます。

このツール(xml-normalizer.jar)はそれらの処理を行うためのユーティリティです。

このツールを使えば、常に同じルールでインデント量/改行位置が決定されるので、 結果として、XML文書をdiff,patchすることが可能になります。

続きを読む

Wed, September 16, 2009

数値文字参照(Numeric Character Reference)をJDOMで使いたい

数値文字参照 を含んだXMLをJDOMで生成するにはどうすればいいのか?と思って調べてみたのだが、 そのまま数値文字参照をテキストとしてセットする方法がわからなかった。

以下のような代替案で対処したので、メモしておきます。

続きを読む

Sun, August 30, 2009

DocbookをHTMLに変換するには

Docbookで書かれたXMLをHTMLに変換するのは簡単です。
なぜなら、 DocBook-XSL というDocbookをいろいろな形式に変換するためのスタイルシート集があるからです。

DocBook XML documents into other DocBookOutputFormats, such as HTML, PDF, Microsoft HTML Help, and man pages.

ただし、デフォルトで生成される出力はかなり素朴なものなので、 多くの場合、 商用で使うには、スタイルシートをカスタマイズする必要があるのではないでしょうか。

DocBook-XSLのスタイルシート集は結構巨大なので、どこからどうカスタマイズに手をつけたらいいか、わからないのですが、 DocBook XSL:The Complete Guide というすばらしいドキュメントがあるので、これを読んでいけば、DocBook-XSL が想定しているカスタマイズ範囲ならば かなり短期間でカスタマイズ対応ができそうです。

今回は、 デフォルトで生成される List of Tables を消す、というカスタマイズをやってみたのでメモとして残します。

続きを読む

Thu, August 27, 2009

日本語XML文書を英語に翻訳する(GoogleのTranslate API を使用)

Google Translate API を使うといろいろな言語に品質はともかく簡単に翻訳することができます。

今回は、 前回のエントリXML文書から テキストノード text() を抜き出す方法 とGoogle TranslateAPIを使って、日本語XML文書を英語に翻訳してみます。

XMLを使った多言語展開のドキュメント制作においては、 元になる言語のマニュアルが完成すれば、あとは基本的にXML文書さえ翻訳すれば 多言語のマニュアルはほぼ完成します...と言いたいところですが、 実際は多言語に展開するにあたって、その展開先言語に固有の問題があり、 それに対処しなければなりません。

たとえば、日本語から英語に翻訳する場合、 文字量が変わる(増える)ことによるレイアウト調整や改ページ位置の調整などの ページネーション処理が必要になります。

したがって、実際の翻訳前に機械的に翻訳した英語データを使ってレイアウト調整を 行うことは意味があります。

続きを読む

Wed, August 26, 2009

XML文書から テキストノード text() を抜き出す方法

googleのTranslate APIを使って、XML文書を日本語から英語に翻訳する ためには、まず、翻訳対象のXML文書中でテキストノードを取り出す必要がある。

単にテキストノードを取り出すだけならば、 XPath で指定した特定部分だけをXML文書から抜き出すスタイルシート のようにXSLTを使えば済む話だが、 その取り出したテキストを

  1. 日本語から英語に翻訳した上で
  2. 翻訳した英語テキストを元の場所に書き戻す必要がある

のでXSLTだけでは厳しい。

そこで、例によってJDOMとJythonを使って、問題を解決する。

続きを読む

Mon, August 17, 2009

XPath で指定した特定部分だけをXML文書から抜き出すスタイルシート

XML文書から XPath で指定した部分だけを抜き出したい。 XSLTではデフォルトの変換規則があるため、これが意外に難しかったのでメモ。
(デフォルト規則が分かっていれば難しいことはない。)

XPathで指定した部分を取り出したいだけならば、xpathコマンドを使えばOK.
Ubuntu などでは、apt-get install libxml-xpath-perl でインストールできます。
以下のように使えます。

$ cat sample.xml | xpath -q -e "/book/chapter/title/text()"

続きを読む

Mon, March 9, 2009

Javaでzipを展開して、再度zipアーカイブを作成 ... OfficeOpenXMLデータの操作のために

MSOffice2007 では、docx,xlsx,pptx のように 拡張子に x が追加されているが、 この実体は、zip ファイルで中身はXML等で構成されている。 したがって、 データファイルだけを展開して中身を書きかえて、再度 zip アーカイブに戻してやれば、 MSOffice なしで、内容を操作することができる。

今回はそのためのJavaコード。
このサンプルでは中身の操作は一切しないで、単に既存の sample.pptx ファイルを作業ディレクトリに展開して、 その後、result.pptx ファイルにzipアーカイブとして保存しているだけ。

続きを読む

Fri, January 30, 2009

DocBook4.4 のDTDを rng へ変換

DocBook4.4 で記述されたXML文書を
jing.jar で妥当性検証したかったのだが、

上記サイトでは、 DocBook4.4 の rng ファイルは提供されていなかった。

調べてみると、trang.jar を使えば、DTD を rng に変換できることがわかったので、試してみた。 問題なさそう。

続きを読む

Wed, January 28, 2009

DocbookのXMLから目次情報を抽出する toc.xsl の作成(改良版→番号の追加)

前回 Docbook で記述されたXML文書から目次情報の抽出をしましたが、 章番号やセクション番号がない状態だったので、今回はそれを追加します。

続きを読む

Mon, January 26, 2009

DocbookのXMLから目次情報を抽出する toc.xsl の作成

今回は、Docbookで記述されたXML文書から目次情報だけを抽出してみます。

テストで処理対象としたXML文書は、 こちら(Apache Velocity DocBook Framework ) から入手できる DBFUserGuide.xml を使用します。これは、Docbook4.5を使って記述されています。

続きを読む

Sun, January 25, 2009

XMLのマークアップを除去する...XML文書からテキストファイルを作成(XHTMLも可)

以前、 HTMLのマークアップを除去する...HTML文書からテキストファイルを作成(Javaを使用) というエントリーを書いたのですが、XSLTを使えばもっと簡単に処理できることが判明。

ただし、処理対象になるXML文書は well-formed でないといけない・・・ という意味では、ネット上のHTMLをこれで処理するのは難しい。

続きを読む

Sat, January 3, 2009

Relaxng ... div と para 要素が任意の回数出現してよいという制約を記述する方法 →choice を使え

構造化FrameMaker での XML-Round-Trip のために DTD を自分で書かないといけない。 DTDを書くのは辛すぎるので、RelaxNGを書いてこれを変換してDTDとして使おうと。

今回は、div,para要素が 0回以上任意の回数出現していい、という制約を指定する方法。

続きを読む

Wed, October 1, 2008

InDesign(CS3) + XMLで多言語展開マニュアルを作成する場合などに便利なツール(XML整形とu2029の変換)

InDesignには標準でXMLがサポートされていて上手に活用すれば便利なのですが、 いろいろと不便なことも多いです。 今回、InDesign+XMLを使った多言語マニュアルの制作を行うことになったのですが、 その際に、多言語展開を行うベースとなるマニュアルデータを作成する際に使ったツールを 紹介します。

(このエントリーは書きかけです。)

続きを読む

Wed, October 1, 2008

該当する文字コードがファイルのどの行に含まれているかを調べるコード(Java)

XMLを使って、FrameMakerとかInDesignで作業していると、文字コード関係の問題にぶちあたります。 文字コードに問題があって、コード番号がエラーメッセージとして提示されても、 普通にエディタ上で眺めていても問題がどの文字で起きているかわかりません。

たぶん、文字コードが即座に表示できるテキストエディタが世の中にはあると思うのですが、 とりあえず、Javaで指定のコードが出現する行を調べるコードを書きました。

続きを読む

Thu, July 17, 2008

Trangを使って、DTDを簡単に作成する(FrameMaker,InDesign)

XMLデータからDTDを作成するには trangを 使用すると簡単に作成できます。 完全に自分が意図したDTDにするには、Trangで得た出力からさらに修正する必要がありますが、 InDesign+XMLで使用するような簡単なXMLを扱う場合は、ほとんどこれで十分です。

※Trang は、構造化FrameMakerのEDD作成のための前処理でDTDを作成するときにとても便利です。
構造化FrameMaker の基本的な開発・制作ワークフロー

続きを読む

Thu, July 17, 2008

InDesignで書き出したXML文書の整形

InDesignで書き出したXMLは改行やスペースが入っていないため、 そのままテキストエディタで編集するには厳しいものがあります。

その場合に便利なJavaのコード。 (jdom.jarを使用します。)

続きを読む

Mon, July 14, 2008

InDesign(CS3)でXML書き出ししたときの改行(u2029 = PARAGRAPH SEPARATOR)の取り扱い方法

InDesignでXML書き出しするときに、改行情報はどうなるのか?の調査。

続きを読む

Thu, June 28, 2007

HTMLのマークアップを除去する...HTML文書からテキストファイルを作成(Javaを使用)

HTMLのマークアップをJavaで除去する簡単な方法はないか、と調べてみると、 javax.swing.text.html.HTMLEditorKit.ParserCallback という 標準のJavaのクラスライブラリに含まれているクラスでできることが判明。

関連エントリー

XSLTを使えばもっと簡単に処理できることが判明。ただし、対象となるファイルは well-formed な XML,XHTML。

続きを読む

Thu, January 20, 2005

ActionScriptでXMLを扱う方法(xml,actionscript)

XMLオブジェクトを使ってXMLドキュメントを作成する...
たとえば、結果として、あんぱんまんというXMLドキュメントを作成したい場合...

続きを読む

 Twitter
follow me on Twitter
 Categories
 Archives