No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 42 | 43 | 44 |...| 59 | 60 | 61 || Next»

Beamer Class

プレゼン用のスライド用クラスである beamer を実際に動かしてみた.TOC の表示が面白いので prosper より使えそうに見える.PDF生成も pdflatex でいきなり出来るので手間が少なくて良い感じ.ただ,いくつか必要なパッケージを取ってこないとならんので,The TeX Catalogue OnLine のお世話になる.少なくとも colortbl は必要らしい.とりあえず英語だけの examples はとおったので次は漢字入りをためそう.その前に使ってる pTeX が1年前のだから新しくよう.

もう少し分かりやすくバグれ

Axis にサービスをデプロイしてるのにサービス一覧に登録されないなぁと思っていたらサービスを提供する jar を lib に入れてなかったのが原因だった.こういう場合はリストの生成時とかにクラスファイルが見つからないとエラーを吐いてくれ,と思う.

問題半分解決

eXist で POST したデータを request:get-data() で取得しようとしても空文字列しか帰ってこなかった問題の原因が分かった.どうやら POST するときに Content-type: application/x-www-form-urlencoded が付いていたのが原因らしい.こいつのせいでどのような変換が起きたかは知らないが,とにかくデータが変になってたらしい.Content-type: text/text とかにしたらちゃんとデータが取れた.

しかし,XML を送っても get-data() が string しか返してくれない… XML を送った場合はちゃんとパースしてノードを返すはずなのだが.とりあえず半分問題が解決したからよしとしよう.

new XML mode and XQuery mode

複雑な XQuery を書くのにフォーマットが面倒なので導入してみた.

XQuery mode が nxml-mode を必要とするので両方とも以下から落として site-lisp に突っ込む.

http://www.thaiopensource.com/download/nxml-mode-20041004.tar.gz

http://www.emacswiki.org/cgi-bin/wiki/download/xquery-mode.el

あとはモードを自動で切り替えるために

 (autoload 'xquery-mode "xquery-mode" 
   "Major mode for editing XQuery code." t)
 (setq auto-mode-alist (cons '( "\\.xq\\'" . xquery-mode ) auto-mode-alist ))

とでも書いておけばよいかな.

ちょっと括弧の対応が取れてなかったりするが,とりあえず色が付きまくってありがたい.

eXist の XQuery で POST と GET を区別するには?

POST でアップされたデータが request:get-data() で取れるらしいのでこいつでデータが取れなかったら GET,取れたら POST と判断してみる.ただ,POST でない場合 Exception が飛んでたのでutil:catch で捕らえてやる.こんな具合に:

     let $postData := util:catch("java.lang.IllegalArgumentException", request:get-data(), "")

こんなんでいいのだろうか?

eXist で XQuery の結果を XML にする…

eXist で,XQuery から XML を生成するとデフォルトでは html のDOCTYPE

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

が付いてしまうので,COCOON の $EXIST_HOME/xquery/sitemap.xmap を編集してXML でシリアライズするようにしなければならない.そのためには,sitemap.xmap のなかの,

	<map:pipelines>
		<map:pipeline>

の中に

            <map:match pattern="book-query.xq*">
                <map:generate src="book-query.xq" type="xquery">
                	<map:parameter name="create-session" value="true"/>
                </map:generate>
                <map:serialize encoding="UTF-8" type="xml"/>
            </map:match>

を追加する.意味は generate で生成して serialize で UTF-8 の xml にシリアライズすると.

余談として,*.xq だと COCOON (XqueryGenerator) に渡されるらしい. COCOON に渡った後の処理は,各所の sitemap.xmap で記述する. *.xql とかだと XQueryServlet に渡されてHTMLが吐かれる(XMLにできるのかなぁ?)   この設定は $EXIST_HOME/WEB-INF/web.xml に書かれている.

さて,一つの問題は解決した.次に移ろう.

«Prev || 1 | 2 | 3 |...| 42 | 43 | 44 |...| 59 | 60 | 61 || Next»
Search
Feeds

Page Top