public string DoBibFrameQuery(string saxonXqyPath, string marcxmlPath, string baseUri, string serialisation) { const string command = "bibframequery"; var args = new[] { saxonXqyPath, "marcxmluri=" + marcxmlPath, "baseuri=" + baseUri, "serialization=" + serialisation }; var options = new CommandLineOptions(); setPermittedOptions(options); options.setActualOptions(args); config = Configuration.newConfiguration(); config.setHostLanguage(Configuration.XQUERY); var dynamicEnv = new DynamicQueryContext(config); parseOptions(options, command, dynamicEnv); var staticEnv = config.newStaticQueryContext(); staticEnv.setSchemaAware(false); Source sourceInput = null; if (sourceFileName != null) { sourceInput = processSourceFile(sourceFileName, useURLs); } var exp = compileQuery(staticEnv, queryFileName, useURLs); exp.setAllowDocumentProjection(projection); processSource(sourceInput, exp, dynamicEnv); var ms = new MemoryStream(); OutputStream destination = new DotNetOutputStream(ms); runQuery(exp, dynamicEnv, destination, outputProperties); ms.Position = 0; return(new StreamReader(ms).ReadToEnd()); }
// internal constructor internal XQueryEvaluator(XQueryExpression exp) { this.exp = exp; this.context = new DynamicQueryContext(exp.getStaticContext().getConfiguration()); }