Hitachi

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


3.7.1 パーサ切り替え機能の概要

パーサ切り替え機能は,XML ProcessorのXML実装と,フレームワークまたはユーザが指定したXML実装との優先順を切り替えられる機能です。この機能を使うことで,フレームワークに同梱されたXML実装へ切り替えられます。

パーサ切り替え機能を使用することで,他社製のXML実装を前提とするフレームワークを使用したアプリケーションでも,XML実装を切り替えられます。ただし,パーサ切り替え機能では,アプリケーションサーバのコンポーネントが使用するXML実装をXML Processorから切り替えることはできません。

〈この項の構成〉

(1) パーサ切り替え機能の有効範囲

パーサ切り替え機能の有効範囲はJ2EEサーバ単位です。パーサ切り替えの設定がほかのJ2EEサーバに影響を与えることはありません。

また,パーサ切り替え機能を有効にした場合でも,J2EEサーバ起動やデプロイの実行に関しては,ユーザが指定したXML実装ではなくXML Processorが使用されます。パーサ切り替え機能の有効範囲を次の図に示します。

図3‒20 パーサ切り替え機能の有効範囲

[図データ]

(2) 対象となるXML実装の種類

JAXP,StAX,JAXBの各APIで,XML実装を切り替えられるメソッドを次の表に示します。

表3‒9 XML実装を切り替えられるメソッド名

項番

APIの種類

クラス名

メソッド名

1

JAXP API

javax.xml.datatype.DatatypeFactory

newInstance()

2

javax.xml.parsers.DocumentBuilderFactory

newInstance()

3

javax.xml.parsers.SAXParserFactory

newInstance()

4

javax.xml.transform.TransformerFactory

newInstance()

5

javax.xml.transform.sax.SAXTransformerFactory

newInstance()

6

javax.xml.validation.SchemaFactory

newInstance(String schemaLanguage)

7

javax.xml.xpath.XPathFactory

newInstance()

8

newInstance(String URI)

9

org.w3c.dom.bootstrap.DOMImplementationRegistry

newInstance()

10

org.xml.sax.helpers.XMLReaderFactory

createXMLReader()

11

StAX API

javax.xml.stream.XMLInputFactory

newInstance()

12

newFactory()

13

javax.xml.stream.XMLOutputFactory

newInstance()

14

newFactory()

15

javax.xml.stream.XMLEventFactory

newInstance()

16

newFactory()

17

JAXB API

javax.xml.bind.JAXBContext

newInstance(Class... classesToBeBound)

18

newInstance(Class[] classesToBeBound, Map<String,?> properties)

19

newInstance(String contextPath)

20

newInstance(String contextPath, ClassLoader classLoader)

21

newInstance(String contextPath, ClassLoader classLoader, Map<String,?> properties)