// Run an XQuery
// The following directories and jars must be in your classpath:
// //SERVERPB/Users/erik/My Documents/Stylus Studio/sources
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/DataDirect XQuery/lib/ddxq.jar
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/XML Converters for Java/lib/XMLConverters.jar
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/XML Converters for Java/lib/codehaus/wstx-asl.jar
//
DDXQDataSource dataSource = new DDXQDataSource();
dataSource.setOptions("serialize=indent=yes");
xqconnection = dataSource.getConnection();
// default input data type - this declares that the default context node is a document.
XQItemType type = xqconnection.createElementType(null, XQItemType.XQBASETYPE_UNTYPED);
XQItemType documentType = xqconnection.createDocumentElementType(type);
XQStaticContext context = xqconnection.getStaticContext();
context.setContextItemStaticType(documentType);
context.setBindingMode(XQConstants.BINDING_MODE_DEFERRED);
xqconnection.setStaticContext(context);
// Run an XQuery
// The following directories and jars must be in your classpath:
// //SERVERPB/Users/erik/My Documents/Stylus Studio/sources
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/DataDirect XQuery/lib/ddxq.jar
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/XML Converters for Java/lib/XMLConverters.jar
// C:/Program Files/Stylus Studio 2008 XML Enterprise Suite/Components/XML Converters for Java/lib/codehaus/wstx-asl.jar
//
DDXQDataSource dataSource = new DDXQDataSource();
dataSource.setOptions("serialize=indent=yes");
xqconnection = dataSource.getConnection();
// default input data type - this declares that the default context
// node is a document.
XQItemType type = xqconnection.createElementType(null,
XQItemType.XQBASETYPE_UNTYPED);
XQItemType documentType = xqconnection
.createDocumentElementType(type);
XQStaticContext context = xqconnection.getStaticContext();
context.setContextItemStaticType(documentType);
context.setBindingMode(XQConstants.BINDING_MODE_DEFERRED);
xqconnection.setStaticContext(context);
outWriter = new OutputStreamWriter(System.out);
xqExpr = xqconnection.prepareExpression(xquery);
xqExpr.executeQuery().writeSequenceToResult(
new StreamResult(outWriter));
outWriter.flush();
System.out.println();
System.out.println("XQuery finished.");
} finally {
if (outWriter != null)
outWriter.flush();
if (xqExpr != null)
xqExpr.close();
if (xqconnection != null)
xqconnection.close();
}
}
}