コード例 #1
0
  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;
  }
コード例 #2
0
 protected void addFunctionLibrary(FunctionLibrary fl) {
   if (useNewApi) {
     staticContextBuilder.withFunctionLibrary(fl.getNamespace(), fl);
   } else {
     dynamicContext.add_function_library(fl);
   }
 }