3.1 Shift_JIS切り替え機能

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

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

XML文書の
encoding指定
Shift_JIS切り替え機能の
指定
適用される
文字エンコーディング
Shift_JIS指定なしSJIS(デフォルト)
SJISSJIS
MS932MS932
Windows-31JMS932
(凡例)
-:指定できません。

Shift_JIS切り替え機能の指定は,XMLパーサやXSLTトランスフォーマのインスタンスに特定のプロパティを設定することで行います。プロパティの設定方法については「4.4 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切り替え機能が有効になります。