1 /*
2  * wsdlpull - A C++ parser  for WSDL  (Web services description language)
3  * Copyright (C) 2005-2007 Vivek Krishna
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public
16  * License along with this library; if not, write to the Free
17  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  */
20 
21 #ifndef SCHEMA_H
22 
23 #define SCHEMA_H
24 // *********************************************************************
25 // Include files:
26 // *********************************************************************
27 #include <string>
28 
29 namespace Schema {
30 
31   // enums ,compositors
32   typedef enum {
33     Sequence,
34     Choice,
35     All
36   } Compositor;
37 
38   typedef enum {
39     Restriction,
40     Extension
41   } Derivation;
42 
43   //Content Model
44   typedef enum{
45       None,
46       Simple,
47       Complex,
48       Mixed
49       } ContentModelType;
50 
51   typedef enum {
52     NoConstraint,
53     Key,
54     Keyref,
55     Unique
56   } ConstraintType;
57 
58   //List of primitive types
59   typedef enum
60     {
61       XSD_INVALID,
62       XSD_SCHEMA,
63       XSD_STRING,
64       XSD_INTEGER,
65       XSD_INT,
66       XSD_BYTE,
67       XSD_POSINT,
68       XSD_UINT,
69       XSD_LONG,
70       XSD_ULONG,
71       XSD_SHORT,
72       XSD_USHORT,
73       XSD_DECIMAL,
74       XSD_FLOAT,
75       XSD_DOUBLE,
76       XSD_BOOLEAN,
77       XSD_TIME,
78       XSD_DATETIME,
79       XSD_DATE,
80       XSD_TOKEN,
81       XSD_QNAME,
82       XSD_NCNAME,
83       XSD_NMTOKEN,
84       XSD_NMTOKENS,
85       XSD_BASE64BIN,
86       XSD_HEXBIN,
87       XSD_ANY,
88       XSD_ANYTYPE,
89       XSD_ANYURI
90     }Type;
91 
92   const std::string SchemaUri = "http://www.w3.org/2001/XMLSchema";
93   const std::string SchemaInstaceUri = "http://www.w3.org/2001/XMLSchema-instance";
94 }
95 #endif // SCHEMA_H
96