Hitachi

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


6.8.6 その他の注意事項

表6‒18 XSLTCに関する注意事項(その他)

項番

注意事項

1

XSLTCを使った場合,デフォルトのエラーリスナーはエラー時に例外をスローします。

2

ErrorListenerのwarningメソッドやerrorメソッドの実装が例外をスローしない場合,スタイルシート解析時に警告やエラーが発生するとトランスレットの作成ができないため,変換ができません。

3

エラーメッセージ中のエラーIDの前に,エラー原因となったファイルのファイル名と行番号が出力される場合があります。

4

SAXTransformerFactoryクラスのnewTemplatesHandlerメソッドで作成したTemplatesHandlerオブジェクトをXMLReaderクラスのsetContentHandlerメソッドでパーサに登録して変換処理を行う場合,エラーのあるスタイルシートを処理してもエラーが出力されません。

5

SAXTransformerFactoryを使って変換を行う場合,エラーリスナーの設定にかかわらず,スタイルシートのエラーがエラーリスナーに通知されません。

6

XSLTCを使って変換する場合,1つのxsl:namespace-alias要素のstylesheet-prefix属性とresult-prefix属性の両方に"#default"を指定すると,NullPointerExceptionが発生します。

7

XSLTCを使って変換を行う場合,インポート優先順位が異なる2つのテンプレートがname属性とmatch属性を持ち,name属性の値が同じであるとき,インポート優先順位が低い方のテンプレートが無視されます。

8

XSLTCを使って変換する場合,スタイルシートとJAXPインタフェースの両方で出力プロパティのcdata-section-elements属性を設定すると,スタイルシート内で定義された値がJAXPインタフェースで設定された値によって上書きされます。

9

XSLTCを使って変換する場合,DocumentFragmentから作ったDOMSourceを返すように実装したURIResolverを使用すると,正しい変換処理が実行されません。

10

出力メソッドにHTML出力を指定した場合,xsl:element要素のname属性に"{name()}"または"{name( . )}"を指定すると,NullPointerExceptionが発生します。

11

XSLTCを使って変換する場合,XML Processorの実装内部のデータの個数が65,536以上になると,TransformerExceptionが発生します。

実装内部のデータとは,次に示すタイミングで作成されるデータです。

  • 入力XML文書の読み込み時

    入力XML文書のノード数(DOMノード同等)が32,768ごとに1つ追加作成します。

  • 次の指定があるスタイルシートで処理する時

    <xsl:variable>や<xsl:param>で変数やパラメタにノードセットや結果ツリーフラグメント(select属性ではなく,要素内容として書かれたテンプレートによって定義される値)を設定している場合に処理件数分作成します。