0

現在、サイコパス Xpath プロセッサは XercesLoader クラスを使用してバイトストリームをロードし、org.w3c.dom.Document を作成します。これを渡して Xpath を評価できます。

 InputStream is = new FileInputStream("resources/test.xml");
 DOMLoader loader = new XercesLoader(); 
 Document doc = loader.load(is);

axiom を使用して org.w3c.dom.Document を作成し、それを Psychopath に渡しました。

    InputStream is = new FileInputStream("resources/test.xml");

    OMMetaFactory omMetaFactory = OMAbstractFactory.getMetaFactory(OMAbstractFactory.FEATURE_DOM);
    OMFactory omFac = omMetaFactory.getOMFactory();
    OMXMLParserWrapper wrapper = OMXMLBuilderFactory.createOMBuilder(omFac, is) ;
    Document doc = (Document) wrapper.getDocument(); 

しかし、doc2を渡すとエラーが発生します

スレッド "main" org.w3c.dom.DOMException での例外: NOT_SUPPORTED_ERR: 実装は、要求されたオブジェクトまたは操作の型をサポートしていません。org.apache.axiom.om.impl.dom.DOMUtil.newDOMException(DOMUtil.java:82) で org.apache.axiom.om.impl.dom.NodeImpl.compareDocumentPosition(NodeImpl.java:212) で org.eclipse .wst.xml.xpath2.processor.internal.types.NodeType.compare_node(NodeType.java:219) at org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.access$0(NodeType.java:207) ) org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType$1.compare(NodeType.java:64) で java.util.TreeMap.put(TreeMap.java:545) で java.util.TreeSet で.add(TreeSet.java:255) at java.util.AbstractCollection.addAll(AbstractCollection.java:342) at java.util.TreeSet.addAll(TreeSet.java:

説明が必要です。axiom を使用して作成した DOM Document インスタンスを Psychopath に渡して XPath を評価するにはどうすればよいですか?

4

1 に答える 1

0

説明は簡単です。Axiom の DOM 実装はcompareDocumentPositionメソッド (DOM 3 で定義) を実装していません。

于 2013-09-29T12:01:08.657 に答える