Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Schema::SchemaParser Class Reference

#include <SchemaParser.h>

Collaboration diagram for Schema::SchemaParser:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::list< ElementElementList
typedef std::list< AttributeAttributeList
typedef std::list< GroupGroupList
typedef std::list< AttributeGroup * > AttributeGroupList
typedef std::list< Constraint * > ConstraintList
typedef std::list< QnameQNameList
typedef std::list< const XSDType * > ConstTypeList

Public Member Functions

Constructors and Destructors
 SchemaParser (const std::string &Uri, std::string tns="", std::ostream &log=std::cout)
 SchemaParser (XmlPullParser *parser, std::string tns="", std::ostream &log=std::cout)
 ~SchemaParser ()
methods used for parsing
bool parseSchemaTag ()
Various Getter methods
const XSDTypegetType (const Qname &type)
const XSDTypegetType (int id) const
ConstTypeListgetAllTypes () const
const ElementgetElement (const Qname &element) const
const ElementListgetElements () const
int getNumElements () const
AttributegetAttribute (const Qname &attribute)
const AttributeListgetAttributes () const
int getNumAttributes () const
std::string getNamespace (void) const
int getNumTypes () const
int getTypeId (const Qname &, bool create=false)
bool isBasicType (int sType) const
int getBasicContentType (int typeId) const
GroupgetGroup (const Qname &name)
AttributeGroupgetAttributeGroup (const Qname &name)
Methods for handling Imports
bool addImports (const std::vector< SchemaParser * > &schemaParsers)
bool addImport (std::string ns, std::string location="")
bool addImport (SchemaParser *sp)
Miscellaneous Methods
bool finalize (void)
void setWarningLevel (unsigned char l)
std::string getTypeName (Schema::Type t) const

Member Typedef Documentation

typedef std::list<Element> Schema::SchemaParser::ElementList
 

typedefs

typedef std::list<Attribute> Schema::SchemaParser::AttributeList
 

typedef std::list<Group> Schema::SchemaParser::GroupList
 

typedef std::list<AttributeGroup*> Schema::SchemaParser::AttributeGroupList
 

typedef std::list<Constraint*> Schema::SchemaParser::ConstraintList
 

typedef std::list<Qname> Schema::SchemaParser::QNameList
 

typedef std::list< const XSDType *> Schema::SchemaParser::ConstTypeList
 


Constructor & Destructor Documentation

Schema::SchemaParser::SchemaParser const std::string &  Uri,
std::string  tns = "",
std::ostream &  log = std::cout
 

The constructor for SchemaParser

Parameters:
the URI schema definition file.
target namespace
output stream for any error outputs

Schema::SchemaParser::SchemaParser XmlPullParser parser,
std::string  tns = "",
std::ostream &  log = std::cout
 

The constructor for SchemaParser

Parameters:
XmlPullParser instance for the schema definition file.
target namespace
output stream for any error outputs

Schema::SchemaParser::~SchemaParser  ) 
 


Member Function Documentation

bool Schema::SchemaParser::parseSchemaTag  ) 
 

parseSchemaTag

Returns:
true if parsing was successful ,false otherwise

const XSDType * Schema::SchemaParser::getType const Qname type  ) 
 

getType

Parameters:
Qname refering to the type
Returns:
pointer to the type

const XSDType * Schema::SchemaParser::getType int  id  )  const
 

Parameters:
the types unique id
Returns:
pointer to the type

list< const XSDType * > * Schema::SchemaParser::getAllTypes  )  const
 

Returns:
a std::list of all types defined in the schema including anonymous types caller *MUST* free the std::list but not the std::list members

const Element * Schema::SchemaParser::getElement const Qname element  )  const
 

Parameters:
Qname of the element
Returns:
pointer to a globally defined element in the schema

const SchemaParser::ElementList & Schema::SchemaParser::getElements  )  const [inline]
 

returns the std::list of all the global elements in the schema

Parameters:
void 
Returns:
std::list<Element>

int Schema::SchemaParser::getNumElements  )  const
 

Returns:
number of globally defined elements in the schema

Attribute * Schema::SchemaParser::getAttribute const Qname attribute  ) 
 

getAttribute

Parameters:
Qname of the attribute
Returns:
pointer to a globally defined attribute in the schema

const SchemaParser::AttributeList & Schema::SchemaParser::getAttributes  )  const [inline]
 

returns a std::list of global attributes in the schema

Parameters:
void 
Returns:
std::list<Attribute>

int Schema::SchemaParser::getNumAttributes  )  const
 

Returns:
number of globally defined attributes in the schema

std::string Schema::SchemaParser::getNamespace void   )  const
 

Returns:
target namespace of the schema document

int Schema::SchemaParser::getNumTypes  )  const
 

Returns:
number of types defined in the schema (includes anonymous types)

int Schema::SchemaParser::getTypeId const Qname ,
bool  create = false
 

getTypeId :Search for a type ,if not present create one

Parameters:
Qname of the type
bool:create 
Returns:
type id

bool Schema::SchemaParser::isBasicType int  sType  )  const
 

isBasicType

Parameters:
unique type identifier
Returns:
true if its a basic schema type false otherwise

int Schema::SchemaParser::getBasicContentType int  typeId  )  const
 

getBasicContentType

If the type has a simple content model then this method returns the basic schema type which defines its contents For example calling on a type like below would return Schema::STRING

<xsd:complexType> <xsd:simpleContent> <xsd:extension base = "xsd:std::string"> <xsd:attribute name = "lang" type = "xsd:std::string"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>

Parameters:
unique type identifier
Returns:
type id of the basic type from which this type is derived or if the typeId is one of the atomic types,the same value is returned If the typeId is a complex type Schema::XSD_INVALID is returned

Group * Schema::SchemaParser::getGroup const Qname name  ) 
 

getGroup

Parameters:
unique type identifier
Returns:
Group*

AttributeGroup * Schema::SchemaParser::getAttributeGroup const Qname name  ) 
 

getAttributeGroup

Parameters:
unique type identifier
Returns:
AttributeGroup*

bool Schema::SchemaParser::addImports const std::vector< SchemaParser * > &  schemaParsers  ) 
 

addImports .To add an array of schema parsers for imported schemas

Parameters:
array of schema parsers
number of schema parsers added

bool Schema::SchemaParser::addImport std::string  ns,
std::string  location = ""
 

addImport .Instructs the schema parser to import a namespace

Parameters:
namespace of the schema
(optional)schemaLocation .If this is not passed ,schema file is not processed but any refernces to the namespace are not flagged as errors
Returns:
true if the schema was succesfully imported.If location is not passed always returns true

bool Schema::SchemaParser::addImport SchemaParser sp  ) 
 

addImport . imports the namespace of the schemaparser

Parameters:
SchemaParser instance which has parsed the namespace
Returns:
true if the schema was succesfully imported .

bool Schema::SchemaParser::finalize void   ) 
 

finalize : tries to match unresolved types and references with imported schemas you *must* call this to ensure successful type resolution

Returns:
true if all type references are resolved ,false otherwise

void Schema::SchemaParser::setWarningLevel unsigned char  l  )  [inline]
 

setWarningLevel default is 0 . 1 is wanrning level 2 is information level //quite verbose

std::string Schema::SchemaParser::getTypeName Schema::Type  t  )  const
 

getTypeName() return the type name given the id


The documentation for this class was generated from the following files:
Generated on Mon Feb 6 23:03:00 2006 for wsdlpull by  doxygen 1.3.9.1