Cosminexus XML Processor ユーザーズガイド
javax.xml.xpathパッケージに関する注意事項を表6-17に示します。
表6-17 javax.xml.xpathパッケージに関する注意事項
| 項番 | 注意事項 |
|---|---|
| 1 | マルチスレッドプログラミングをする場合,XPathFactoryクラスはスレッドセーフではありません。したがって,複数のスレッドが同時に同一のXPathFactoryインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため,次のどちらかの方法を使用してください。
|
| 2 | マルチスレッドプログラミングをする場合,XPathFactoryクラスのnewInstanceメソッドで生成されるXPathインスタンス,およびXPathインタフェースのcompileメソッドで生成されるXPathExpressionインスタンスはスレッドセーフではありません。したがって,複数のスレッドが同時に同一のXPathインスタンス,およびXPathExpressionインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため,次の方法を使用してください。
|
| 3 | XPathFactoryクラスのnewInstance(String uri)メソッドの引数に指定可能なURIは"http://java.sun.com/jaxp/xpath/dom"だけです。 |
| 4 | 次のメソッドを用いて,コンテキストを参照するようなXPath式を評価する場合は,引数itemにnullではないコンテキストを指定してください。
|
| 5 | 4で示したメソッドの引数itemには,Document,DocumentFragment,Element,Text,Attr,ProcessingInstruction,Commentのどれかのオブジェクトを指定してください。 |
| 6 | XPathFunctionインタフェースを実装するクラスのevaluateメソッドの戻り値の型,および, XPathVariableResolverインタフェースを実装するクラスのresolveVariableメソッドの戻り値の型は,java.lang.String,java.lang.Boolean,java.lang.Number,org.w3c.Node,org.w3c.NodeListのどれかにしてください。 |
| 7 | javax.xml.xpathパッケージのメソッドで例外が発生した場合,発生した例外オブジェクトにgetMessageメソッドを適用した戻り値がnullになり詳細メッセージを取得できないことがあります。この場合,例外オブジェクトにgetCauseメソッドを適用して「ラップされた例外オブジェクト」を取得し,これにgetMessageメソッドを適用することで,詳細なメッセージを取得できる場合があります。 |
| 8 | and,or,mod,div演算子の前後には,空白を入れてください。 (例)"1000 div 10" |
| 9 | 次のすべての条件が重なるXPath式はサポートしません。
|
| 10 | 次のすべての条件が重なるXPath式はサポートしません。
|
| 11 | 属性ノード,名前空間ノードにfollowing-sibling軸を適用したXPath式はサポートしません。 |
| 12 | | 演算子のオペランドがロケーションセット以外のXPath式はサポートしません。 |
| 13 | 名前空間接頭辞と名前空間URIの組が等しい名前空間ノードが複数存在するとき,それらの名前空間ノードに軸を適用するXPath式はサポートしません。 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.