Home > Archives > 2006年08月13日

2006年08月13日

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 に書かれている.

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

Home > Archives > 2006年08月13日

Search
Feeds

Page Top