XL XP-J 参照情報
XL XP-J 1.1 は、高性能の非検証パーサーであり、StAX 1.0 (JSR 173) をサポートします。 StAX は、XML 1.0 文書および XML 1.1 文書のプル解析とストリーミング・シリアライゼーションのための双方向 API です。
サポートされない機能
- XMLStreamReader または XMLEventReader を使用する場合の DTD 検証。 XL XP-J パーサーは非検証パーサーです。
- 文字ストリーム (java.io.Reader) からの読み取りに XMLStreamReader を使用すると、Location.getCharaterOffset() メソッドは常に -1 を返します。 バイト・ストリーム (java.io.InputStream) からの読み取りに XMLStreamReader を使用すると、Location.getCharaterOffset() は Location のバイト・オフセットを返します。
XMLInputFactory リファレンス
javax.xml.stream.XMLInputFactory 実装は、 XMLInputFactory Javadoc 情報: https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLInputFactory.htmlで説明されているように、以下のプロパティーをサポートします。
| プロパティー名 | サポートされましたか? |
|---|---|
| javax.xml.stream.isValidating | いいえ。 XL XP-Jスキャナーは検証をサポートしません。 |
| javax.xml.stream.isNamespaceAware | あり。true および false がサポートされています。 DOMSource から作成された XMLStreamReader では、名前空間の処理は、DOM ツリーを作成するときに使用されたメソッドによって異なります。この値の効果はありません。 |
| javax.xml.stream.isCoalescing | はい |
| javax.xml.stream.isReplacingEntityReferences | はい。 DOMSource から作成された XMLStreamReader では、DOM ツリーでエンティティーが既に置換されている場合はこのパラメーターの効果はありません。 |
| javax.xml.stream.isSupportingExternalEntities | はい |
| javax.xml.stream.supportDTD | 常に true がサポートされます。 値は偽に設定すると、com.ibm.xml.xlxp.support.dtd.compat.modeシステム・プロパティーも偽に設定された場合にのみ機能します。 両方のプロパティーが false に設定されている場合は、ファクトリーで作成されたパーサーが、拡張を必要とするエンティティー参照を検出したときに XMLStreamException をスローします。 この設定は、DTD で宣言されたエンティティーに関するサービス妨害 (DoS) 攻撃からの保護に役立ちます。 |
| javax.xml.stream.reporter | はい |
| javax.xml.stream.resolver | はい |
XL XP-J では、オプションのメソッド createXMLStreamReader(javax.xml.transform.Source) もサポートされています。このメソッドは、DOM ソースおよび SAX ソースからの StAX リーダーを作成できるようにします。
XL XP-Jもjavax.xml.stream.isSupportingLocationCoordinatesプロパティーをサポートします。 このプロパティーを true に設定すると、ファクトリーで作成された XMLStreamReader が Location オブジェクトを使用して、正確な行、列、および文字の情報を返します。 このプロパティーを false に設定した場合、行、列、および文字の情報は使用できません。 デフォルトでは、このプロパティーはパフォーマンス上の理由により false に設定されています。
XMLStreamReader リファレンス
javax.xml.stream.XMLStreamReader 実装は、 XMLStreamReader Javadoc https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLStreamReader.htmlで説明されているように、以下のプロパティーをサポートします。
| プロパティー名 | サポートされましたか? |
|---|---|
| javax.xml.stream.entities | はい |
| javax.xml.stream.notations | はい |
XL XP-Jもjavax.xml.stream.isInterningプロパティーをサポートします。 このプロパティーはブール値を返します。このブール値は、API 呼び出しで返された XML 名と名前空間 URI がパーサーによって拘束されていたかどうかを示します。 このプロパティーは読み取り専用です。
XMLOutputFactory リファレンス
javax.xml.stream.XMLOutputFactory 実装は、 XMLOutputFactory Javadoc https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLOutputFactory.htmlで説明されているように、以下のプロパティーをサポートします。
| プロパティー名 | サポートされましたか? |
|---|---|
| javax.xml.stream.isRepairingNamespaces | はい |
XL XP-Jもjavax.xml.stream.XMLOutputFactory.recycleWritersOnEndDocumentプロパティーをサポートします。 このプロパティーを true に設定すると、このファクトリーで作成された XMLStreamWriter が、writeEndDocument() の呼び出し時に再利用されます。 再利用後に、getNamespaceContext() などの一部の XMLStreamWriter メソッドを呼び出さないでください。 デフォルトでは、close() の呼び出し時に XMLStreamWriter が再利用されます。 このプロパティーが true に設定されている場合でも、XMLStreamWriter を終了した場合は、XMLStreamWriter.close() メソッドを呼び出す必要があります。
XMLStreamWriter リファレンス
javax.xml.stream.XMLStreamWriter 実装は、 XMLStreamWriter Javadoc https://docs.oracle.com/javase/8/docs/api/javax/xml/stream/XMLStreamWriter.htmlで説明されているように、以下のプロパティーをサポートします。
| プロパティー名 | サポートされましたか? |
|---|---|
| javax.xml.stream.isRepairingNamespaces | はい |
XMLStreamWriter オブジェクトのプロパティーは読み取り専用です。
XL XP-Jもjavax.xml.stream.XMLStreamWriter.isSetPrefixBeforeStartElementプロパティーをサポートします。 このプロパティーは、 writeStartElement() または writeEmptyElement() を呼び出してそのエレメントのスコープに名前空間接頭部を入れる前に、 setPrefix() および setDefaultNamespace() の呼び出しを行う必要があるかどうかを示す Boolean を返します。 XL XP-J は常に false を返します。したがって、setPrefix() と setDefaultNamespace() は、writeStartElement() または writeEmptyElement() の後に呼び出す必要があります。