exip
Alpha 0.5.4
|
Manipulation operations on the TreeTable such as rationalize, resolveTypeHierarchy etc. More...
#include "treeTableSchema.h"
#include "memManagement.h"
#include "stringManipulate.h"
#include "sTables.h"
Go to the source code of this file.
Macros | |
#define | TREE_TABLE_ENTRY_COUNT 200 |
#define | LOOKUP_TYPE 0 |
#define | LOOKUP_REF 1 |
#define | LOOKUP_SUPER_TYPE 2 |
#define | LOOKUP_SUBSTITUTION 3 |
#define | MAX_INCLUDE_COUNT 50 |
Functions | |
errorCode | resolveIncludeImportReferences (EXIPSchema *schema, TreeTable **treeT, unsigned int *count, errorCode(*loadSchemaHandler)(String *namespace, String *schemaLocation, BinaryBuffer **buffers, unsigned int *bufCount, SchemaFormat *schemaFormat, EXIOptions **opt)) |
Given a set of TreeTable instances, resolve the or <import> dependencies. More... | |
errorCode | initTreeTable (TreeTable *treeT) |
Initialize a TreeTable object. More... | |
void | destroyTreeTable (TreeTable *treeT) |
Destroy a TreeTable object (free the memory allocations) More... | |
errorCode | resolveTypeHierarchy (EXIPSchema *schema, TreeTable *treeT, unsigned int count, SubstituteTable *subsTbl) |
Links derived types to base types, elements to types and references to global elements. More... | |
errorCode | getTypeQName (EXIPSchema *schema, TreeTable *treeT, const String typeLiteral, QNameID *qNameID) |
Given a type value encoded as QName string in the form "prefix:localname" derives the "namespace" part and the "local name" part. More... | |
errorCode | getNsList (TreeTable *treeT, String nsList, NsTable *nsTable) |
Given a namespace="..." attribute containing a list of namespaces as a sting, returns an array of these namespaces. More... | |
Variables | |
const String | XML_NAMESPACE |
const String | XML_SCHEMA_INSTANCE |
const String | XML_SCHEMA_NAMESPACE |
const String | URI_1_PFX |
Definition in file treeTableManipulate.c.
#define LOOKUP_REF 1 |
Definition at line 26 of file treeTableManipulate.c.
#define LOOKUP_SUBSTITUTION 3 |
Definition at line 28 of file treeTableManipulate.c.
#define LOOKUP_SUPER_TYPE 2 |
Definition at line 27 of file treeTableManipulate.c.
#define LOOKUP_TYPE 0 |
Definition at line 25 of file treeTableManipulate.c.
#define MAX_INCLUDE_COUNT 50 |
Definition at line 36 of file treeTableManipulate.c.
#define TREE_TABLE_ENTRY_COUNT 200 |
Definition at line 23 of file treeTableManipulate.c.
void destroyTreeTable | ( | TreeTable * | treeT) |
[in,out] | treeT | a tree table object |
Definition at line 269 of file treeTableManipulate.c.
This function also resolves the special values "##targetNamespace" and "##local"
[in] | treeT | the tree table object |
[in] | nsList | a sting containing the space separated namespaces |
[out] | nsTable | an array of namespaces |
Definition at line 663 of file treeTableManipulate.c.
errorCode getTypeQName | ( | EXIPSchema * | schema, |
TreeTable * | treeT, | ||
const String | typeLiteral, | ||
QNameID * | qname | ||
) |
Used for the value of the "type" attribute of element and attribute use definitions
[in] | schema | the EXIPSchema object |
[in] | treeT | a tree table object |
[in] | typeLiteral | the type literal |
[out] | qname | qname of the type |
Definition at line 514 of file treeTableManipulate.c.
[in,out] | treeT | a tree table container |
Definition at line 228 of file treeTableManipulate.c.
errorCode resolveIncludeImportReferences | ( | EXIPSchema * | schema, |
TreeTable ** | treeT, | ||
unsigned int * | count, | ||
errorCode(*)(String *namespace, String *schemaLocation, BinaryBuffer **buffers, unsigned int *bufCount, SchemaFormat *schemaFormat, EXIOptions **opt) | loadSchemaHandler | ||
) |
[in,out] | schema | the EXIPSchema object |
[in,out] | treeT | a pointer to an array of tree table objects (can be RE-ALLOCED!) |
[in,out] | count | the number of tree table objects |
[in] | loadSchemaHandler | Call-back handler for loading -ed or <import>-ed schema files; Can be left NULL if no or <import> statements are used in the XML schema. |
Definition at line 49 of file treeTableManipulate.c.
errorCode resolveTypeHierarchy | ( | EXIPSchema * | schema, |
TreeTable * | treeT, | ||
unsigned int | count, | ||
SubstituteTable * | subsTbl | ||
) |
In case of:
[in] | schema | the EXIPSchema object |
[in,out] | treeT | an array of tree table objects |
[in] | count | the number of tree table objects |
[in] | subsTbl | In case of substitutionGroups in the schema maps the heads of the substitutionGroups to their members |
Definition at line 293 of file treeTableManipulate.c.