本文整理匯總了Java中org.apache.xpath.domapi.XPathStylesheetDOM3Exception類的典型用法代碼示例。如果您正苦於以下問題:Java XPathStylesheetDOM3Exception類的具體用法?Java XPathStylesheetDOM3Exception怎麽用?Java XPathStylesheetDOM3Exception使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
XPathStylesheetDOM3Exception類屬於org.apache.xpath.domapi包,在下文中一共展示了XPathStylesheetDOM3Exception類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: errorForDOM3
import org.apache.xpath.domapi.XPathStylesheetDOM3Exception; //導入依賴的package包/類
/**
* This method is added to support DOM 3 XPath API.
* <p>
* This method is exactly like error(String, Object[]); except that
* the underlying TransformerException is
* XpathStylesheetDOM3Exception (which extends TransformerException).
* <p>
* So older XPath code in Xalan is not affected by this. To older XPath code
* the behavior of whether error() or errorForDOM3() is called because it is
* always catching TransformerException objects and is oblivious to
* the new subclass of XPathStylesheetDOM3Exception. Older XPath code
* runs as before.
* <p>
* However, newer DOM3 XPath code upon catching a TransformerException can
* can check if the exception is an instance of XPathStylesheetDOM3Exception
* and take appropriate action.
*
* @param msg An error msgkey that corresponds to one of the constants found
* in {@link org.apache.xpath.res.XPATHErrorResources}, which is
* a key for a format string.
* @param args An array of arguments represented in the format string, which
* may be null.
*
* @throws TransformerException if the current ErrorListoner determines to
* throw an exception.
*/
void errorForDOM3(String msg, Object[] args) throws TransformerException
{
String fmsg = XSLMessages.createXPATHMessage(msg, args);
ErrorListener ehandler = this.getErrorListener();
TransformerException te = new XPathStylesheetDOM3Exception(fmsg, m_sourceLocator);
if (null != ehandler)
{
// TO DO: Need to get stylesheet Locator from here.
ehandler.fatalError(te);
}
else
{
// System.err.println(fmsg);
throw te;
}
}
示例2: createExpression
import org.apache.xpath.domapi.XPathStylesheetDOM3Exception; //導入依賴的package包/類
/**
* Creates a parsed XPath expression with resolved namespaces. This is
* useful when an expression will be reused in an application since it makes
* it possible to compile the expression string into a more efficient
* internal form and preresolve all namespace prefixes which occur within
* the expression.
*
* @param expression
* The XPath expression string to be parsed.
* @param resolver
* The <code>resolver</code> permits translation of prefixes
* within the XPath expression into appropriate namespace URIs .
* If this is specified as <code>null</code>, any namespace
* prefix within the expression will result in
* <code>DOMException</code> being thrown with the code
* <code>NAMESPACE_ERR</code>.
* @return The compiled form of the XPath expression.
* @exception XPathException
* INVALID_EXPRESSION_ERR: Raised if the expression is not
* legal according to the rules of the
* <code>XPathEvaluator</code>i
* @exception DOMException
* NAMESPACE_ERR: Raised if the expression contains namespace
* prefixes which cannot be resolved by the specified
* <code>XPathNSResolver</code>.
*
* @see org.w3c.dom.xpath.XPathEvaluator#createExpression(String,
* XPathNSResolver)
*/
@Override
public XPathExpression createExpression(String expression, XPathNSResolver resolver)
throws XPathException, DOMException {
try {
// If the resolver is null, create a dummy prefix resolver
XPath xpath = new XPath(expression, null,
null == resolver ? new DummyPrefixResolver() : (PrefixResolver) resolver, XPath.SELECT);
return new XPathExpressionImpl(xpath, m_doc);
} catch (TransformerException e) {
// Need to pass back exception code DOMException.NAMESPACE_ERR also.
// Error found in DOM Level 3 XPath Test Suite.
if (e instanceof XPathStylesheetDOM3Exception) {
throw new DOMException(DOMException.NAMESPACE_ERR, e.getMessageAndLocation());
} else {
throw new XPathException(XPathException.INVALID_EXPRESSION_ERR, e.getMessageAndLocation());
}
}
}