ナビゲーションをスキップ

WebLogic Server FAQ 集

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

FAQ : XML


Q. WebLogic Server 8.1 にはどの XML パーサが付属していますか。

A. WebLogic Server 8.1 には下記の 2 つのパーサが付属しています。


Q. WebLogic Server 8.1 で XSLT プロセッサは用意されているのですか。

A. はい。JDK 1.4.1_02 には、Apache Xalan 2.2D11 が含まれています。これは WebLogic Server 8.1 用の組み込み XSLT プロセッサです。


Q. 組み込み XML パーサは Apache の Xerces 2.1.0 ベースです。組み込み XML パーサを Xerces の上位バージョンにアップグレードできますか。

A. はい。Apache の Xerces バージョン 2.2.0、2.3.0、または 2.4.0 にアップグレードするには、次の手順に従います。

  1. WebLogic Server の CLASSPATH 変数の最後に、該当する Apache の xercesImpl.jar ファイルを追加します。通常、CLASSPATH 変数は、WebLogic Server を起動するのに使われるスクリプト内に設定されています。xercesImpl.jar ファイルには、アップグレードする目的のバージョンの Apache Xerces の実装が格納されています。
  2. アプリケーションの WAR ファイルの WEB-INF/lib ディレクトリに xercesImpl.jar ファイルを置くこともできます。Web アプリケーションの PreferWebInfClasses フラグを有効にする必要はありません。

    警告 : Apache の xml-apis.jar または xmlParserAPIs.jar という名前のアーカイブは使用しないでください。

  3. DocumentBuilderFactory または SAXParserFactory ファクトリに対して org.apache.xerces.jaxp を使用するために、XML レジストリをコンフィグレーションします。詳細については、「WebLogic Server XML の管理」を参照してください。

Q. 組み込み XSLT プロセッサは Apache の Xalan 2.2D11 ベースです。組み込み XSLT プロセッサを Xalan の上位バージョンにアップグレードできますか。

A. はい。手順については、「Endorsed Standards Override Mechanism」を参照してください。

アップグレードしたバージョンの Xalan は、JAXP を介してトランスフォーマを取得するすべてのユーザ アプリケーションから使用されます。WebLogic Server 自体は、Web Service 添付ファイルを処理するとき、および JSP XSLT タグ ライブラリ用にこのトランスフォーマを使用します。


Q. WebLogic Server 8.1 に実装されている JAXP API 仕様のバージョンは何ですか。

A. バージョン 1.1 です。このバージョンには、プラグイン可能な XML 変換とプラグイン可能な XML 解析が組み込まれています。


Q. XML ドキュメントの解析に、バージョン 2.3 の Java Servlet API の getAttribute() メソッドと setAttribute() メソッドを使用できますか。

A. はい。SAX モード解析には setAttribute() メソッドを使用し、DOM モード解析には getAttribute() メソッドを使用します。ただし、サーブレットでこれらのメソッドを使用するのは、WebLogic 固有の機能です。つまり、そのサーブレットは他のサーブレット エンジンには移植できません。したがって、この機能は慎重に使用してください。


Q. XML ドキュメントの文書型を識別するにはどのようにすればよいですか。

A. XML ドキュメントにパブリック ID が割り当てられている場合、これがその文書型です。たとえば、XML ドキュメントに次の DOCTYPE 宣言が記述されているとします。

<!DOCTYPE mydoc PUBLIC "My public ID String" 
"http://foo.com/url/to/my/dtd">

この場合、その文書型は My public ID String です。

DOCTYPE 宣言にパブリック ID が設定されていないが、システム ID が指定されている場合、文書型はそのシステム ID です。たとえば、次の DOCTYPE 宣言があるとします。

<!DOCTYPE mydoc SYSTEM "http://foo.com/url/to/my/dtd">

この場合、文書型は http://foo.com/url/to/my/dtd です。

注意 : システム ID は DTD のものであり、XML ドキュメント自体のものではありません。しかし、これは XML ドキュメントの識別手段として使用されます。

XML ドキュメントが DOCTYPE 宣言を指定しない場合、文書型はルート要素名またはネームスペース URL (XML ドキュメントにそれが設定されている場合) のいずれかです。


Q. WebLogic JAXP の実装を使用するクライアント アプリケーションを実行するために Ant を使用したとき、java.lang.LinkageError 例外が発生しました。何が問題なのでしょうか。

A. Ant のクラスロードが原因と考えられます。この問題を回避するには、java Ant タスクの fork="true" 属性を設定して、アプリケーション実行中に VM を作成します。

エラーの全文は次のとおりです。

[java] java.lang.LinkageError: loader constraints violated when linking org /xml/sax/InputSource class 
[java] at weblogic.xml.jaxp.RegistryDocumentBuilderFactory.newDocumentBuilder(RegistryDocumentBuilderFactory.java:128)

 

フッタのナビゲーションのスキップ  ページの先頭 前 次