- PR -

Ygg + XSL(Xalan)日本語表示について

1
投稿者投稿内容
もこ
会議室デビュー日: 2003/01/27
投稿数: 1
投稿日時: 2003-01-27 13:46
はじめまして、
JAVA初心者ですが宜しくお願いします。

Yggdrasill XML DBエンジンを用いてWEBアプリケーションを作成
しています。XML、XSL、JSPともに文字コードはUTF-8を使用しています。
DBに日本語を用いて変換(transform)をした場合に、エラーになります。
DBへのクエリ結果をXSLにかけない場合は表示できます。

何が原因で、どう対処したものかわかりませんで困っています。
どなたかおわかりになりましたらご教授下さい。

環境は
Win2000 Pro
Tomcat4.0.6
j2sdk1.4.1
xalan-j 2.3.1
xerces 1.4.4
Ygg 2.0
です。

****以下にエラー内容を記述致します。****
javax.servlet.ServletException: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x8d) was found in the element content of the document.

****JSPの記述は以下の様にしています。(抜粋)****
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ page import="javax.xml.transform.*,javax.xml.transform.stream.*" %>
<%@ page import="java.io.*" %>
<%@ page import="jp.co.mediafusion.YgClient.*"%>//DB接続用

...

//xslスタイルシートのパス名
String xsl=application.getRealPath("test.xsl");

//xslスタイルシートのオブジェクト作成
StreamSource xslSS=new StreamSource(xsl);

//XSLT変換オブジェクト、トランスフォーマーオブジェクト作成
TransformerFactory fac = null;
fac=TransformerFactory.newInstance();

Transformer tran=null;
tran=fac.newTransformer(xslSS);

//出力用のオブジェクト作成
StreamResult outSR=new StreamResult(out);

//出力するエンコーディングを設定
tran.setOutputProperty("encoding","UTF-8");

//xmlドキュメントの取得
String xml=client.GetDocumentFragments(1,qry);//DBへのクエリ要求関数
ByteArrayInputStream bytein = new ByteArrayInputStream(xml.getBytes());
StreamSource xmlSS = null;
xmlSS=new StreamSource(bytein);

//変換
tran.transform(xmlSS,outSR);
1

スキルアップ/キャリアアップ(JOB@IT)