3.8.4 機能の使用方法

<この項の構成>
(1) 制限値の変更
(2) 互換用システムプロパティ

(1) 制限値の変更

セキュアプロセッシング機能の制限値を変更するには次の方法があります。
  • Cosminexus XML Processorが独自に規定するシステムプロパティを指定する。
  • Cosminexus XML Processorが独自に規定するプロパティを指定する。

システムプロパティと各APIのプロパティ指定が同時に指定された場合,各APIのプロパティの指定を優先します。

提供するシステムプロパティの一覧を次の表に示します。

表3-20 提供するシステムプロパティ一覧

項番システムプロパティ名内容指定可能値デフォルト値
1com.cosminexus.jaxp.secure_processing.entityExpansionLimitエンティティ参照の展開回数0~2147483647​100000
2com.cosminexus.jaxp.secure_processing.maxGeneralEntitySizeLimit一般エンティティの文字列長0~2147483647​0
3com.cosminexus.jaxp.secure_processing.maxParameterEntitySizeLimitパラメータエンティティの文字列長0~2147483647​1000000​
4com.cosminexus.jaxp.secure_processing.totalEntitySizeLimitエンティティの展開後の実体文字列長の合計0~2147483647​50000000​
5com.cosminexus.jaxp.secure_processing.maxOccurLimit内容モデルのノード数0~2147483647​3000
注※
値に0が指定された場合,制限値によるエラーチェックはされません。
指定できる値以外の値が指定された場合デフォルト値が設定されます。

提供するプロパティの一覧を次の表に示します。プロパティ値で指定できる値は次の表を参照してください。

不正な値を指定した場合,値を設定しません。したがって設定前の値のままとなります。

表3-21 提供するプロパティ一覧

項番プロパティ名内容
1http://cosminexus.com/xml/properties/entityExpansionLimitエンティティ参照の展開回数
2http://cosminexus.com/xml/properties/maxGeneralEntitySizeLimit一般エンティティの文字列長
3http://cosminexus.com/xml/properties/maxParameterEntitySizeLimitパラメータエンティティの文字列長
4http://cosminexus.com/xml/properties/totalEntitySizeLimitエンティティの展開後の実体文字列長の合計
5http://cosminexus.com/xml/properties/maxOccurLimit内容モデルのノード数

制限値を設定する場合に表3-21のプロパティを設定するメソッドの一覧を次の表に示します。

プロパティを設定する場合,セキュアプロセッシング機能を有効にしてから設定してください。

表3-22 制限値を設定するプロパティの設定メソッド

項番クラス名・インタフェース名メソッド
1javax.xml.parsers.DocumentBuilderFactorysetAttribute
2javax.xml.parsers.SAXParsersetProperty
3org.xml.sax.XMLReadersetProperty
4javax.xml.transform.TransformerFactorysetAttribute
5javax.xml.validation.SchemaFactorysetProperty

com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactoryではプロパティでの設定はできません。したがってシステムプロパティで設定する必要があります。

(2) 互換用システムプロパティ

この機能をサポートする以前と同様の動作にする必要性を考慮し,互換用システムプロパティを提供します。提供するプロパティの仕様を次の表に示します。このシステムプロパティと各APIのフィーチャー指定が同時にされた場合,各APIのフィーチャーの指定を優先します。

表3-23 互換システムプロパティ

システムプロパティ名内容
com.cosminexus.jaxp.secure_processing.compatible09-50-04以降のデフォルト値を使用する。(表3-14参照)false(デフォルト)
09-50-03以前のデフォルト値を使用する。true
注※
小文字の"true"以外の値は,すべて"false"を指定したものとして扱います。