XML Processorの08-50以降では,javax.xml.transform.stax.StAXSourceクラスおよびjavax.xml.transform.stax.StAXResultクラスを使用できます。
JAXP1.4およびJAXBに定義されているメソッドの一部は,javax.xml.transform.stax.StAXSourceクラスおよびjavax.xml.transform.stax.StAXResultクラス,またはこれらのクラスが持つFEATUREフィールドを引数として利用します。ただし,一部サポートしていないメソッドもあるため,サポートの有無を次の表に示します。
表6-4 StAXSourceクラスまたはStAXResultクラスを引数に使用するメソッドのサポート状況
項番 | パッケージ名 | クラス名 | メソッド名 | サポート有無 |
---|---|---|---|---|
1 | javax.xml.transform | TransformerFactory | getAssociatedStylesheet (Source, String, String, String) | × |
2 | getFeature(String) | × | ||
3 | newTemplates(Source) | ○ | ||
4 | newTransformer(Source) | ○ | ||
5 | Transformer | transform(Source, Result) | ○ | |
6 | javax.xml.transform.sax | SAXTransformerFactory | newTransformerHandler(Source) | × |
7 | newXMLFilter(Source) | ○ | ||
8 | SAXSource | sourceToInputSource(Source) | × | |
9 | TransformerHandler | setResult(Result) | ○ | |
10 | javax.xml.validation | SchemaFactory | newSchema(Source) | × |
11 | newSchema(Source[]) | × | ||
12 | Validator | validate(Source) | ○ | |
13 | validate(Source, Result) | ○ | ||
14 | javax.xml.bind | JAXB | marshal(Object, Result) | × |
15 | unmarshal(Source, Class<T>) | × | ||
16 | Marshaller | marshal(Object, Result) | × | |
17 | Unmarshaller | unmarshal(Source) | × | |
18 | unmarshal(Source, Class<T>) | × | ||
19 | javax.xml.stream | XMLOutputFactory | createXMLEventWriter(Result) | ○ |
20 | createXMLStreamWriter(Result) | ○ | ||
21 | XMLInputFactory | createXMLEventReader(Source) | ○ | |
22 | createXMLStreamReader(Source) | ○ |