# XQilla XQC API Documentation

# xqc.h File Reference

`#include <stdio.h>`

Go to the source code of this file.

## Classes

struct | XQC_InputStream_s
| The XQC_InputStream struct is designed to be populated by users for the purpose of streaming data into an XQC implementation. More...
struct | XQC_ErrorHandler_s
| The XQC_ErrorHandler struct is designed to be populated by users for the purpose of collecting more detailed error messages from an XQC implementation. More...
struct | XQC_Implementation_s
| The XQC_Implementation struct provides factory functions for preparing queries. More...
struct | XQC_StaticContext_s
| The XQC_StaticContext struct provides a way to specify values for the static context of the query to be prepared. More...
struct | XQC_Expression_s
| The XQC_Expression struct represents a prepared query, and allows the user to execute that query any number of times. More...
struct | XQC_DynamicContext_s
struct | XQC_Sequence_s

## Defines

#define | XQC_VERSION_NUMBER 1
| The version of the XQC API in this header file.

## Typedefs

typedef struct XQC_Implementation_s | XQC_Implementation
typedef struct XQC_StaticContext_s | XQC_StaticContext
typedef struct XQC_Expression_s | XQC_Expression
typedef struct XQC_DynamicContext_s | XQC_DynamicContext
typedef struct XQC_Sequence_s | XQC_Sequence
typedef struct XQC_InputStream_s | XQC_InputStream
typedef struct XQC_ErrorHandler_s | XQC_ErrorHandler

## Enumerations

enum | XQC_Error { XQC_NO_ERROR = 0, XQC_END_OF_SEQUENCE, XQC_NO_CURRENT_ITEM, XQC_PARSE_ERROR, XQC_INVALID_ARGUMENT, XQC_NOT_NODE, XQC_INTERNAL_ERROR, XQC_NOT_IMPLEMENTED, XQC_UNRECOGNIZED_ENCODING, XQC_STATIC_ERROR, XQC_TYPE_ERROR, XQC_DYNAMIC_ERROR, XQC_SERIALIZATION_ERROR }
| The error enumeration used by all XQC functions to designate error condition. More...

enum

XQC_ItemType {
XQC_EMPTY_TYPE = 0, XQC_DOCUMENT_TYPE, XQC_ELEMENT_TYPE, XQC_ATTRIBUTE_TYPE,
XQC_TEXT_TYPE, XQC_PROCESSING_INSTRUCTION_TYPE, XQC_COMMENT_TYPE, XQC_NAMESPACE_TYPE,
XQC_ANY_SIMPLE_TYPE, XQC_ANY_URI_TYPE, XQC_BASE_64_BINARY_TYPE, XQC_BOOLEAN_TYPE,
XQC_DATE_TYPE, XQC_DATE_TIME_TYPE, XQC_DAY_TIME_DURATION_TYPE, XQC_DECIMAL_TYPE,
XQC_DOUBLE_TYPE, XQC_DURATION_TYPE, XQC_FLOAT_TYPE, XQC_G_DAY_TYPE,
XQC_G_MONTH_TYPE, XQC_G_MONTH_DAY_TYPE, XQC_G_YEAR_TYPE, XQC_G_YEAR_MONTH_TYPE,
XQC_HEX_BINARY_TYPE, XQC_NOTATION_TYPE, XQC_QNAME_TYPE, XQC_STRING_TYPE,
XQC_TIME_TYPE, XQC_UNTYPED_ATOMIC_TYPE, XQC_YEAR_MONTH_DURATION_TYPE
}

enum | XQC_XPath1Mode { XQC_XPATH2_0, XQC_XPATH1_0 }
| XPath 1.0 compatibility mode as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_OrderingMode { XQC_ORDERED, XQC_UNORDERED }
| Ordering mode as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_OrderEmptyMode { XQC_EMPTY_GREATEST, XQC_EMPTY_LEAST }
| Default order for empty sequences as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_InheritMode { XQC_INHERIT_NS, XQC_NO_INHERIT_NS }
| Inherit part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_PreserveMode { XQC_PRESERVE_NS, XQC_NO_PRESERVE_NS }
| Preserve part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_BoundarySpaceMode { XQC_PRESERVE_SPACE, XQC_STRIP_SPACE }
| Boundary-space policy as defined in http://www.w3.org/TR/xquery/#static_context. More...
enum | XQC_ConstructionMode { XQC_PRESERVE_CONS, XQC_STRIP_CONS }
| Construction mode as defined in http://www.w3.org/TR/xquery/#static_context. More...

## Define Documentation

#define XQC_VERSION_NUMBER 1

The version of the XQC API in this header file.

Examples:
  xqc-basic.c, and xqc-context-item.c.

## Typedef Documentation

typedef struct XQC_DynamicContext_s XQC_DynamicContext

typedef struct XQC_ErrorHandler_s XQC_ErrorHandler

typedef struct XQC_Expression_s XQC_Expression

typedef struct XQC_Implementation_s XQC_Implementation

typedef struct XQC_InputStream_s XQC_InputStream

typedef struct XQC_Sequence_s XQC_Sequence

typedef struct XQC_StaticContext_s XQC_StaticContext

## Enumeration Type Documentation

enum XQC_BoundarySpaceMode

Boundary-space policy as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_PRESERVE_SPACE |
  XQC_STRIP_SPACE |

enum XQC_ConstructionMode

Construction mode as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_PRESERVE_CONS |
  XQC_STRIP_CONS |

enum XQC_Error

The error enumeration used by all XQC functions to designate error condition.

All XQC functions return a value of type XQC_Error.

Enumerator:

  XQC_NO_ERROR | No error.
  XQC_END_OF_SEQUENCE | The end of the XQC_Sequence has been reached.
  XQC_NO_CURRENT_ITEM |
  XQC_PARSE_ERROR |
  XQC_INVALID_ARGUMENT |
  XQC_NOT_NODE |
  XQC_INTERNAL_ERROR | An implementation specific error has occurred.
  XQC_NOT_IMPLEMENTED | The implementation does not implement that function.
  XQC_UNRECOGNIZED_ENCODING | The encoding of the query has not been recognized, or is not supported by the implementation. All implementations must support queries in UTF-8.
  XQC_STATIC_ERROR | A static error has occured while preparing the query.
  XQC_TYPE_ERROR | A type error has occured while preparing or executing the query.
  XQC_DYNAMIC_ERROR | A dynamic error has occured while preparing or executing the query.
  XQC_SERIALIZATION_ERROR | A serialization error has occured while serializing the output of a query.

enum XQC_InheritMode

Inherit part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_INHERIT_NS |
  XQC_NO_INHERIT_NS |

enum XQC_ItemType

Enumerator:

  XQC_EMPTY_TYPE |
  XQC_DOCUMENT_TYPE |
  XQC_ELEMENT_TYPE |
  XQC_ATTRIBUTE_TYPE |
  XQC_TEXT_TYPE |
  XQC_PROCESSING_INSTRUCTION_TYPE |
  XQC_COMMENT_TYPE |
  XQC_NAMESPACE_TYPE |
  XQC_ANY_SIMPLE_TYPE |
  XQC_ANY_URI_TYPE |
  XQC_BASE_64_BINARY_TYPE |
  XQC_BOOLEAN_TYPE |
  XQC_DATE_TYPE |
  XQC_DATE_TIME_TYPE |
  XQC_DAY_TIME_DURATION_TYPE |
  XQC_DECIMAL_TYPE |
  XQC_DOUBLE_TYPE |
  XQC_DURATION_TYPE |
  XQC_FLOAT_TYPE |
  XQC_G_DAY_TYPE |
  XQC_G_MONTH_TYPE |
  XQC_G_MONTH_DAY_TYPE |
  XQC_G_YEAR_TYPE |
  XQC_G_YEAR_MONTH_TYPE |
  XQC_HEX_BINARY_TYPE |
  XQC_NOTATION_TYPE |
  XQC_QNAME_TYPE |
  XQC_STRING_TYPE |
  XQC_TIME_TYPE |
  XQC_UNTYPED_ATOMIC_TYPE |
  XQC_YEAR_MONTH_DURATION_TYPE |

enum XQC_OrderEmptyMode

Default order for empty sequences as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_EMPTY_GREATEST |
  XQC_EMPTY_LEAST |

enum XQC_OrderingMode

Ordering mode as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_ORDERED |
  XQC_UNORDERED |

enum XQC_PreserveMode

Preserve part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_PRESERVE_NS |
  XQC_NO_PRESERVE_NS |

enum XQC_XPath1Mode

XPath 1.0 compatibility mode as defined in http://www.w3.org/TR/xquery/#static_context.

Enumerator:

  XQC_XPATH2_0 |
  XQC_XPATH1_0 |