use of org.eclipse.wst.xml.xpath2.api.DynamicContext in project webtools.sourceediting by eclipse.
the class TestWTPDOMXPath2 method test_Axes076_2.
// elem//child::node() gets 1 child element.
public void test_Axes076_2() throws Exception {
String inputFile = "/TestSources/Tree1Child.xml";
String xqFile = "/Queries/XQuery/Expressions/PathExpr/Steps/Axes/Axes076.xq";
String resultFile = "/ExpectedTestResults/Expressions/PathExpr/Steps/Axes/Axes076-2.txt";
String expectedResult = getExpectedResult(resultFile);
URL fileURL = bundle.getEntry(inputFile);
domDoc = load(fileURL);
// Get XML Schema Information for the Document
XSModel schema = null;
DynamicContext dc = setupDynamicContext(schema);
String xpath = extractXPathExpression(xqFile, inputFile);
String actual = null;
try {
XPath path = compileXPath(dc, xpath);
Evaluator eval = new DefaultEvaluator(dc, domDoc);
ResultSequence rs = eval.evaluate(path);
actual = buildResultString(rs);
} catch (XPathParserException ex) {
actual = ex.code();
} catch (StaticError ex) {
actual = ex.code();
} catch (DynamicError ex) {
actual = ex.code();
}
assertEquals("XPath Result Error " + xqFile + ":", expectedResult, actual);
}
use of org.eclipse.wst.xml.xpath2.api.DynamicContext in project webtools.sourceediting by eclipse.
the class AbstractPsychoPathTest method compileXPath.
protected XPath compileXPath(String xpath, boolean isRootlessAccess) throws XPathParserException, StaticError {
XPathParser xpp = new JFlexCupParser();
XPath path = null;
if (isRootlessAccess) {
path = xpp.parse(xpath, isRootlessAccess);
} else {
path = xpp.parse(xpath);
}
StaticChecker name_check = new StaticNameResolver(dynamicContext);
name_check.check(path);
return path;
}
use of org.eclipse.wst.xml.xpath2.api.DynamicContext in project webtools.sourceediting by eclipse.
the class AbstractPsychoPathTest method setupDynamicContext.
protected DefaultDynamicContext setupDynamicContext(XSModel schema) {
XercesTypeModel typeModel = schema != null ? new XercesTypeModel(schema) : null;
if (useNewApi) {
staticContextBuilder.withTypeModel(typeModel);
staticContextBuilder.withNamespace("xs", "http://www.w3.org/2001/XMLSchema");
staticContextBuilder.withNamespace("xsd", "http://www.w3.org/2001/XMLSchema");
staticContextBuilder.withNamespace("fn", "http://www.w3.org/2005/xpath-functions");
staticContextBuilder.withNamespace("xml", "http://www.w3.org/XML/1998/namespace");
dynamicContextBuilder = new DynamicContextBuilder(staticContextBuilder);
setupVariables(dynamicContext);
try {
dynamicContextBuilder.withTimezoneOffset(DatatypeFactory.newInstance().newDuration(false, /*i.e. negative*/
0, 0, 0, 5, 0, 0));
} catch (DatatypeConfigurationException e) {
throw new RuntimeException("Shouldn't fail here", e);
}
return null;
}
DefaultDynamicContext dc = new DefaultDynamicContext(typeModel);
dynamicContext = dc;
dc.add_namespace("xs", "http://www.w3.org/2001/XMLSchema");
dc.add_namespace("xsd", "http://www.w3.org/2001/XMLSchema");
dc.add_namespace("fn", "http://www.w3.org/2005/xpath-functions");
dc.add_namespace("xml", "http://www.w3.org/XML/1998/namespace");
dc.add_function_library(new FnFunctionLibrary());
dc.add_function_library(new XSCtrLibrary());
setupVariables(dc);
return dc;
}
use of org.eclipse.wst.xml.xpath2.api.DynamicContext in project webtools.sourceediting by eclipse.
the class AbstractPsychoPathTest method compileXPath.
protected XPath compileXPath(String xpath) throws XPathParserException, StaticError {
if (useNewApi) {
newXPath = new Engine().parseExpression(xpath, staticContextBuilder);
return null;
} else {
XPathParser xpp = new JFlexCupParser();
XPath path = oldXPath = xpp.parse(xpath);
StaticChecker name_check = new StaticNameResolver(dynamicContext);
name_check.check(path);
return path;
}
}
use of org.eclipse.wst.xml.xpath2.api.DynamicContext in project webtools.sourceediting by eclipse.
the class TestXPath20 method testSetupNullContenxt.
public void testSetupNullContenxt() throws Exception {
DynamicContext dc = new DefaultDynamicContext(null, null);
dc.add_namespace("xsd", "http://www.w3.org/2001/XMLSchema");
}
Aggregations