blob: 815cf78a3919acabf498b64958b3046e2c2d4bf2 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.vxquery.context;
import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.vxquery.collations.Collation;
import org.apache.vxquery.functions.Function;
import org.apache.vxquery.types.AttributeType;
import org.apache.vxquery.types.ElementType;
import org.apache.vxquery.types.SchemaType;
import org.apache.vxquery.types.SequenceType;
public interface StaticContext {
public StaticContext getParent();
public String lookupNamespaceUri(String prefix);
public void registerNamespaceUri(String prefix, String uri);
public Collation lookupCollation(String collationName);
public void registerCollation(String collationName, Collation collation);
public Function lookupFunction(QName functionName, int arity);
public Function[] lookupFunctions(QName functionName);
public void registerFunction(Function function);
public Iterator<Function> listFunctions();
public SequenceType lookupDocumentType(String docUri);
public void registerDocumentType(String docUri, SequenceType type);
public XQueryVariable lookupVariable(QName name);
public void registerVariable(XQueryVariable var);
public Iterator<XQueryVariable> listVariables();
public SequenceType lookupCollectionType(String collectionUri);
public void registerCollectionType(String collectionUri, SequenceType type);
public Iterator<Pair<String, List<String>>> listModules();
public void registerModuleImport(String uri, List<String> locations);
public Iterator<Pair<String, List<String>>> listSchemas();
public void registerSchemaImport(String uri, List<String> locations);
public SchemaType lookupSchemaType(QName name);
public void registerSchemaType(QName name, SchemaType type);
public SequenceType lookupSequenceType(int code);
public int lookupSequenceType(SequenceType type);
public int encodeSequenceType(SequenceType type);
public int getMaxSequenceTypeCode();
public AttributeType lookupAttributeDeclaration(QName name);
public void registerAttributeDeclaration(QName name, AttributeType attrDecl);
public ElementType lookupElementDeclaration(QName name);
public void registerElementDeclaration(QName name, ElementType elemDecl);
public BoundarySpaceProperty getBoundarySpaceProperty();
public void setBoundarySpaceProperty(BoundarySpaceProperty boundarySpaceProperty);
public String getDefaultFunctionNamespaceUri();
public void setDefaultFunctionNamespaceUri(String uri);
public String getDefaultElementNamespaceUri();
public void setDefaultElementNamespaceUri(String uri);
public OrderingModeProperty getOrderingModeProperty();
public void setOrderingModeProperty(OrderingModeProperty orderingMode);
public EmptyOrderProperty getEmptyOrderProperty();
public void setEmptyOrderProperty(EmptyOrderProperty emptyOrder);
public String getDefaultCollation();
public void setDefaultCollation(String defaultCollation);
public String getBaseUri();
public void setBaseUri(String baseUri);
public ConstructionModeProperty getConstructionModeProperty();
public void setConstructionModeProperty(ConstructionModeProperty constructionMode);
public CopyNamespacesModeProperty getCopyNamespacesModeProperty();
public void setCopyNamespacesModeProperty(CopyNamespacesModeProperty copyNamespacesMode);
public SequenceType getDefaultCollectionType();
public void setDefaultCollectionType(SequenceType type);
public void setOption(QName name, String value);
public String getOption(QName name);
public enum BoundarySpaceProperty {
PRESERVE,
STRIP
}
public enum OrderingModeProperty {
ORDERED,
UNORDERED
}
public enum ConstructionModeProperty {
PRESERVE,
STRIP
}
public enum EmptyOrderProperty {
GREATEST,
LEAST
}
public enum CopyNamespacesModeProperty {
PRESERVE_INHERIT,
PRESERVE_NOINHERIT,
NOPRESERVE_INHERIT,
NOPRESERVE_NOINHERIT
}
public IStaticContextFactory createFactory();
}