Zorba
The XQuery Processor
Documentation
Live Demo
Modules
Download
Tools
Blog
Code
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
include
zorba
identtypes.h
Go to the documentation of this file.
1
/*
2
* Copyright 2006-2008 The FLWOR Foundation.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef ZORBA_TYPEIDENT_TYPES_API_H
17
#define ZORBA_TYPEIDENT_TYPES_API_H
18
19
#include <zorba/config.h>
20
#include <iostream>
21
22
namespace
zorba
23
{
24
25
class
ZORBA_DLL_PUBLIC
IdentTypes
26
{
27
public
:
28
typedef
enum
29
{
30
NAMED_TYPE
,
// AtomicOrUnionType
31
ELEMENT_TYPE
,
32
ATTRIBUTE_TYPE
,
33
DOCUMENT_TYPE
,
34
PI_TYPE
,
35
TEXT_TYPE
,
36
COMMENT_TYPE
,
37
NAMESPACE_TYPE
,
38
ANY_NODE_TYPE
,
// node()
39
STRUCTURED_ITEM_TYPE
,
// structured-item
40
#ifdef ZORBA_WITH_JSON
41
JSON_ITEM_TYPE,
42
JSON_OBJECT_TYPE,
43
JSON_ARRAY_TYPE,
44
#endif
45
ITEM_TYPE
,
// item()
46
EMPTY_TYPE
,
// empty-sequence()
47
SCHEMA_ELEMENT_TYPE
,
48
SCHEMA_ATTRIBUTE_TYPE
,
49
INVALID_TYPE
50
} kind_t;
51
52
static
char
const
*
const
kind_string_of[];
53
54
typedef
enum
55
{
56
QUANT_ONE
,
57
QUANT_QUESTION
,
58
QUANT_PLUS
,
59
QUANT_STAR
60
} quantifier_t;
61
62
static
char
const
*
const
quantifier_string_of[];
63
};
64
}
65
66
namespace
std {
67
68
ZORBA_DLL_PUBLIC ostream&
operator<<
(ostream& o,
const
zorba::IdentTypes::kind_t
ik
);
69
ZORBA_DLL_PUBLIC ostream&
operator<<
(ostream& o,
const
zorba::IdentTypes::quantifier_t
iq);
70
71
}
72
73
#endif
74
/* vim:set et sw=2 ts=2: */