/* |
|
* reserved comment block |
|
* DO NOT REMOVE OR ALTER! |
|
*/ |
|
/** |
|
* Licensed to the Apache Software Foundation (ASF) under one |
|
* or more contributor license agreements. See the NOTICE file |
|
* distributed with this work for additional information |
|
* regarding copyright ownership. The ASF licenses this file |
|
* to you under the Apache License, Version 2.0 (the |
|
* "License"); you may not use this file except in compliance |
|
* with the License. You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, |
|
* software distributed under the License is distributed on an |
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|
* KIND, either express or implied. See the License for the |
|
* specific language governing permissions and limitations |
|
* under the License. |
|
*/ |
|
package com.sun.org.apache.xml.internal.security.utils; |
|
import javax.xml.transform.TransformerException; |
|
import org.w3c.dom.Node; |
|
import org.w3c.dom.NodeList; |
|
/** |
|
* An interface to abstract XPath evaluation |
|
*/ |
|
public interface XPathAPI { |
|
/** |
|
* Use an XPath string to select a nodelist. |
|
* XPath namespace prefixes are resolved from the namespaceNode. |
|
* |
|
* @param contextNode The node to start searching from. |
|
* @param xpathnode |
|
* @param str |
|
* @param namespaceNode The node from which prefixes in the XPath will be resolved to namespaces. |
|
* @return A NodeIterator, should never be null. |
|
* |
|
* @throws TransformerException |
|
*/ |
|
NodeList selectNodeList( |
|
Node contextNode, Node xpathnode, String str, Node namespaceNode |
|
) throws TransformerException; |
|
/** |
|
* Evaluate an XPath string and return true if the output is to be included or not. |
|
* @param contextNode The node to start searching from. |
|
* @param xpathnode The XPath node |
|
* @param str The XPath expression |
|
* @param namespaceNode The node from which prefixes in the XPath will be resolved to namespaces. |
|
*/ |
|
boolean evaluate(Node contextNode, Node xpathnode, String str, Node namespaceNode) |
|
throws TransformerException; |
|
/** |
|
* Clear any context information from this object |
|
*/ |
|
void clear(); |
|
} |