Index > xslt

xslt

Thu, January 14, 2010

XSLT変換処理あれこれ

諸事情によりいろいろな方法でXSLTによるXML変換をするので、 そのやり方メモ。

続きを読む

Mon, January 11, 2010

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

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

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

続きを読む

Wed, January 6, 2010

Adobe FrameMakerでXMLを開くときにありがちなXML変換のためのXSLT

FrameMakerでXML文書を開く前にXML変換して、 変換後のXMLをFrameMakerでフォーマット、というのが定番ですが、 このとき必ずといって良いほど使用するXSLTコードをメモ。

続きを読む

Sun, December 27, 2009

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

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

続きを読む

Sun, December 27, 2009

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

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

続きを読む

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()"

続きを読む

Fri, August 7, 2009

Ant で XMLを処理 ... XMLの整形(インデントと改行位置の調整)

Docbook v4.4のXMLを使ってドキュメントをつくり、FrameMakerでフォーマット、 そのXML文書を多言語展開して、FrameMakerでフォーマット、という仕事をしていると、 diff とか diff3 を使ってXML文書を比較する機会が結構ある。

などの場合。

そのときに diff, diff3 を使って差を調べるのだが、XMLとして内容が同じでも 改行位置やインデント量が異なると diff, diff3 は内容が異なっていると判断してしまう。 これは意図したことではないため、対策として diff,diff3処理する前に、XML文書を整形して、改行位置とインデント量を整える(normalize 正規化) 作業を行う必要がある。

これをAntで処理する方法。

続きを読む

Fri, August 7, 2009

Ant で XMLを処理 ... DOCTYPE 宣言の削除

jdom などでXMLを変換するときに、DOCTYPE宣言がついていると(ネットワークに情報を取得していくのか) 処理がとても遅くなることがある。 そこで、DOCTYPE宣言を削除してからXMLを変換するのだが、その削除作業をAntで行う方法。

このエントリでは、処理するXML文書はDocBook v4.4で記述されていることとする。

続きを読む

Sat, July 11, 2009

ANTの中でJavaScriptを使う

DocbookからFrameMakerでフォーマットするXMLに変換するビルドプロセスで 現在はMakeを使っているのだが、ANTを調べてみると、ANTでXSLTタスクがあり、 ANTからJavaScriptもつかえることが判明。

CygwinやLinuxでビルドするので、MakeからANTに移行すれば、 JavaVMさえあればOKになるので、これは魅力的です。

今回は、ANT内でJavaScriptを使う方法のメモ。

続きを読む

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をこれで処理するのは難しい。

続きを読む

 Twitter
follow me on Twitter
 Categories
 Archives