exip  Alpha 0.5.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
genUtils.h
Go to the documentation of this file.
1 /*==================================================================*\
2 | EXIP - Embeddable EXI Processor in C |
3 |--------------------------------------------------------------------|
4 | This work is licensed under BSD 3-Clause License |
5 | The full license terms and conditions are located in LICENSE.txt |
6 \===================================================================*/
7 
17 #ifndef GENUTILS_H_
18 #define GENUTILS_H_
19 
20 #include "errorHandle.h"
21 #include "procTypes.h"
22 #include "dynamicArray.h"
23 #include "sTables.h"
24 #include "protoGrammars.h"
25 #include "treeTableSchema.h"
26 
42 
50 errorCode createSimpleTypeGrammar(Index typeId, ProtoGrammar* simpleGrammar);
51 
67 errorCode createComplexTypeGrammar(ProtoGrammarArray* attrUseArray, ProtoGrammar* contentTypeGrammar,
68  boolean isMixedContent, ProtoGrammar* complexGrammar);
69 
77 
87 errorCode createAttributeUseGrammar(boolean required, Index typeId,
88  ProtoGrammar* attrGrammar, QNameID qnameID);
89 
99 errorCode createParticleGrammar(int minOccurs, int maxOccurs, ProtoGrammar* termGrammar, ProtoGrammar* particleGrammar);
100 
110 errorCode createElementTermGrammar(ProtoGrammar* elemGrammar, QNameIDGrIndx* qnameGrArr, Index count);
111 
122 errorCode createWildcardTermGrammar(String* wildcardArray, Index wildcardArraySize, UriTable* uriT, ProtoGrammar* wildcardGrammar);
123 
132 errorCode createSequenceModelGroupsGrammar(ProtoGrammar** grArray, unsigned int arrSize, ProtoGrammar* sequenceGrammar);
133 
142 
151 errorCode createAllModelGroupsGrammar(ProtoGrammar* pTermArray, unsigned int pTermArraySize, ProtoGrammar* modGrpGrammar);
152 
162 int compareQNameID(const void* qnameID1, const void* qnameID2, UriTable* uriTbl);
163 
171 
172 #endif /* GENUTILS_H_ */