Class PrologBuilder

java.lang.Object
org.rumbledb.compiler.translation.PrologBuilder

public final class PrologBuilder extends Object
Handles shared prolog translation state and validation for both Jsoniq and XQuery frontends.
  • Constructor Details

  • Method Details

    • bindNamespace

      public void bindNamespace(String prefix, String uri, ExceptionMetadata metadata)
    • applyDefaultNamespace

      public void applyDefaultNamespace(boolean function, String uri, ExceptionMetadata metadata)
    • applyConstruction

      public void applyConstruction(boolean preserve, ExceptionMetadata metadata)
    • applyBoundarySpace

      public void applyBoundarySpace(boolean preserve, ExceptionMetadata metadata)
    • applyEmptyOrder

      public void applyEmptyOrder(boolean least, ExceptionMetadata metadata)
    • applyOrderingMode

      public void applyOrderingMode(ExceptionMetadata metadata)
      Applies the ordering mode declaration (W3C XQuery 3.1 §4.7). RumbleDB always preserves the order of sequences, we do not need to store the ordering mode in the module context. We only record that it was declared in the prolog to detect duplicates ([err:XQST0065]).
      Parameters:
      metadata - the location metadata
    • applyDecimalFormat

      public void applyDecimalFormat(boolean isDefaultDecimalFormat, Name name, List<String> propertyNames, List<String> propertyValues, ExceptionMetadata metadata)
    • applyCopyNamespaces

      public void applyCopyNamespaces(boolean preserve, boolean inherit, ExceptionMetadata metadata)
    • applyBaseUri

      public void applyBaseUri(String literal, ExceptionMetadata metadata)
    • applyDefaultCollation

      public void applyDefaultCollation(String literal, ExceptionMetadata literalMetadata, ExceptionMetadata metadata)
    • importModule

      public void importModule(LibraryModule module, ExceptionMetadata metadata)
    • importSchema

      public void importSchema(SchemaImport schema, ExceptionMetadata metadata)
    • applyUnsupportedHeader

      public void applyUnsupportedHeader(ExceptionMetadata metadata)
    • finishHeader

      public void finishHeader(ExceptionMetadata metadata)
      Complete header processing by loading schemas before any declaration is translated.
    • addVariable

      public void addVariable(VariableDeclaration declaration)
    • addContextItem

      public void addContextItem(VariableDeclaration declaration)
    • addFunction

      public void addFunction(FunctionDeclaration declaration)
    • addType

      public void addType(TypeDeclaration declaration)
    • addOption

      public void addOption(OptionDeclaration declaration)
    • build

      public Prolog build(ExceptionMetadata metadata)