78 SchemaParser(
const std::string& Uri, std::string tns =
"",
79 std::ostream & log = std::cout,
const std::string & confPath=
"");
91 std::ostream & log = std::cout,
const std::string & confPath=
"");
103 bool parseSchemaTag();
116 const XSDType *getType(
const Qname & type,
bool checkImports =
true) ;
122 const XSDType *getType(
int id)
const;
129 const XSDType *getType(
int id, std::string &nameSpace);
143 const Element *getElement(
const Qname & element,
bool checkImports=
true)
const;
156 int getNumElements()
const;
176 int getNumAttributes()
const;
182 std::string getNamespace(
void)
const;
187 int getNumTypes()
const;
196 int getTypeId(
const Qname &,
bool create =
false);
203 bool isBasicType(
int sType)
const;
227 int getBasicContentType(
int typeId)
const;
251 bool isImported(
const std::string & ns)
const;
252 const SchemaParser* getImportedSchemaParser(
const std::string & ns)
const;
260 bool addImport(std::string ns, std::string location=
"");
272 bool addImports(
const std::vector<SchemaParser *>& schemaParsers);
292 void setWarningLevel(
int l);
297 void setSchemaPath(
const std::string& s);
304 void setUri(
const std::string& u );
311 const SchemaParser *getImportedSchema(std::string &nameSpace);
312 std::vector<ImportedSchema> &getImportedSchemas();
317 std::string getVersion()
const;
319 bool getElementQualified()
const;
320 std::string getTnsPrefix(
void)
const;
326 void print(std::ostream &) ;
332 Element parseElement(
bool & fwdRef);
338 void parseAnnotation();
354 bool parseImport(
void);
356 bool parseSchema(std::string tag=
"schema");
357 bool parseRedefine();
358 int checkImport(std::string nsp)
const;
360 void resolveForwardElementRefs();
361 void resolveForwardAttributeRefs();
362 bool& shouldResolve();
367 std::string tnsPrefix_;
368 std::string version_;
370 bool elementQualified_;
371 bool attributeQualified_;
372 bool deleteXmlParser_;
373 bool resolveFwdRefs_;
375 std::ifstream xmlStream_;
384 std::vector<ImportedSchema> importedSchemas_;
385 void error(std::string,
int level = 0);
387 std::ostream & logFile_;
388 std::string confPath_;