Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus XML Processor ユーザーズガイド


3.1 Shift_JIS切り替え機能

Shift_JIS切り替え機能は,XML文書のencoding属性にShift_JISが指定されている場合に,XML Processorが適用する文字エンコーディングをSJIS(x-sjis-jdk1.1.7)またはMS932(x-sjis-cp932)に切り替える機能です。XML文書のencoding指定と適用される文字エンコーディングとの対応を次の表に示します。

表3‒1 XML文書のencoding指定と適用される文字エンコーディングとの対応

XML文書のencoding指定

Shift_JIS切り替え機能の指定

適用される文字エンコーディング

Shift_JIS

指定なし

SJIS(デフォルト)

SJIS

SJIS

MS932

MS932

Windows-31J

MS932

(凡例)

−:指定できません。

Shift_JIS切り替え機能の指定は,XMLパーサやXSLTトランスフォーマのインスタンスに特定のプロパティを設定することで行います。プロパティの設定方法については「4.5 Shift_JIS切り替え機能のプロパティの使用方法」を参照してください。

Shift_JIS切り替え機能によるエンコーディング指定は,次のものに対して適用されます。それ以外には適用されません。

ただし,次の場合は注意が必要です。

  1. DOMパーサ,SAXパーサの入力ソースにInputSourceオブジェクトを指定する場合

    InputSourceオブジェクトにShift_JIS以外のエンコーディングを設定したときには,Shift_JIS切り替え機能は無効になります。また,InputSourceオブジェクトにReaderが設定されているときにも,Shift_JIS切り替え機能は無効になり,Readerのエンコーディングが適用されます。

  2. XSLTまたはXSLTCトランスフォーマの入力ソースにStreamSourceオブジェクトを指定する場合

    StreamSourceオブジェクトにReaderが設定されているときには,Shift_JIS切り替え機能は無効になり,Readerのエンコーディングが適用されます。

  3. XSLTまたはXSLTCトランスフォーマの入力ソースにDOMSourceオブジェクトを指定する場合

    DOMSourceが生成された時点でXML文書は文字コード変換済みなので,Shift_JIS切り替え機能は無効になります。

    Shift_JIS切り替え機能を有効にするためには,DOMSourceに設定するDOMノードの生成時に利用するパーサに対して,あらかじめShift_JIS切り替え機能を指定しておく必要があります。

  4. XSLTまたはXSLTCトランスフォーマの入力ソースにSAXSourceオブジェクトを指定する場合

    SAXSourceオブジェクトにInputSourceオブジェクトを設定したときには,1.と同じように注意が必要です。また,SAXSourceオブジェクトにXMLReaderオブジェクトを設定したときには,XMLReaderに指定されたShift_JIS切り替え機能が有効になります。

  5. Shift_JIS切り替え機能を指定したDOMパーサ,またはSAXパーサによって作成されたNode,Source,ResultなどをJAXBのAPIの引数として渡した場合

    JAXBは,Shift_JIS切り替え機能をサポートしていません。

  6. StAXはShift_JIS切り替え機能をサポートしていません。そのため,XSLTまたはXSLTCトランスフォーマの入出力に,次のどちらかを使用した場合の動作は保証しません。

    • StAXSource

    • StAXResult