📄 xtxpathprocessor.java
字号:
// Copyright 1997-1999 by softwarebuero m&b (SMB). All rights reserved.//// You can redistribute this software and/or modify it under the terms of// the Ozone Library License version 1 published by softwarebuero m&b (SMB).//// $Id: XtXPathProcessor.java,v 1.6 2000/11/09 14:56:53 daniela Exp $package org.ozoneDB.xml.xpath;import java.io.IOException;import java.io.ObjectInput;import java.io.ObjectOutput;import java.util.Enumeration;import org.ozoneDB.xml.dom.NodeProxy;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.traversal.NodeFilter;import org.xml.sax.SAXException;import com.fujitsu.xml.omquery.DomQueryMgr;/** * This class implements the XPathProcessor interface on top of XT. This package * is provided by James Clark. Additionally the package 'omquery' is used for the * XPath API. * * * @version $Revision: 1.6 $ $Date: 2000/11/09 14:56:53 $ * @author <a href="http://www.softwarebuero.de">SMB</a> */public final class XtXPathProcessor extends java.lang.Object implements XPathProcessor { // Constants final static long serialVersionUID = 1; public XtXPathProcessor() { } public XObject execute( XPathQuery _query, Node _rootNode ) throws SAXException { Node namespace = _query.namespace != null ? _query.namespace : _rootNode; return execute( _query.qstring, _rootNode, namespace, _query.filter ); } protected XObject execute( String qString, Node rootNode, Node nameSpace, NodeFilter filter ) throws org.xml.sax.SAXException { // System.out.println( "execute(): qstring=" + qString + ", root=" + rootNode ); try { if (rootNode.getNodeType() == Node.DOCUMENT_NODE) { rootNode = ((Document)rootNode).getDocumentElement(); } DomQueryMgr queryMgr = new DomQueryMgr( rootNode.getOwnerDocument() ); return new XtXObject( queryMgr.getNodesByXPath( rootNode, qString ) ); } catch (Exception e) { // e.printStackTrace(); throw new org.xml.sax.SAXException( e.toString() ); } } public void writeExternal( ObjectOutput out ) throws IOException { // nothing to do } public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException { // nothing to do } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -