本文整理汇总了Java中com.sun.org.apache.xml.internal.security.utils.XPathFactory.newXPathAPI方法的典型用法代码示例。如果您正苦于以下问题:Java XPathFactory.newXPathAPI方法的具体用法?Java XPathFactory.newXPathAPI怎么用?Java XPathFactory.newXPathAPI使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.org.apache.xml.internal.security.utils.XPathFactory
的用法示例。
在下文中一共展示了XPathFactory.newXPathAPI方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: enginePerformTransform
import com.sun.org.apache.xml.internal.security.utils.XPathFactory; //导入方法依赖的package包/类
/**
* Method enginePerformTransform
* @inheritDoc
* @param input
*
* @throws TransformationException
*/
protected XMLSignatureInput enginePerformTransform(
XMLSignatureInput input, OutputStream os, Transform transformObject
) throws TransformationException {
try {
/**
* If the actual input is an octet stream, then the application MUST
* convert the octet stream to an XPath node-set suitable for use by
* Canonical XML with Comments. (A subsequent application of the
* REQUIRED Canonical XML algorithm would strip away these comments.)
*
* ...
*
* The evaluation of this expression includes all of the document's nodes
* (including comments) in the node-set representing the octet stream.
*/
Element xpathElement =
XMLUtils.selectDsNode(
transformObject.getElement().getFirstChild(), Constants._TAG_XPATH, 0);
if (xpathElement == null) {
Object exArgs[] = { "ds:XPath", "Transform" };
throw new TransformationException("xml.WrongContent", exArgs);
}
Node xpathnode = xpathElement.getChildNodes().item(0);
String str = XMLUtils.getStrFromNode(xpathnode);
input.setNeedsToBeExpanded(needsCircumvent(str));
if (xpathnode == null) {
throw new DOMException(
DOMException.HIERARCHY_REQUEST_ERR, "Text must be in ds:Xpath"
);
}
XPathFactory xpathFactory = XPathFactory.newInstance();
XPathAPI xpathAPIInstance = xpathFactory.newXPathAPI();
input.addNodeFilter(new XPathNodeFilter(xpathElement, xpathnode, str, xpathAPIInstance));
input.setNodeSet(true);
return input;
} catch (DOMException ex) {
throw new TransformationException("empty", ex);
}
}