26 #ifndef __TERRALIB_XSD_INTERNAL_SCHEMA_H
27 #define __TERRALIB_XSD_INTERNAL_SCHEMA_H
46 #include <boost/bimap.hpp>
47 #include <boost/noncopyable.hpp>
48 #include <boost/ptr_container/ptr_vector.hpp>
91 const std::string&
getVersion()
const {
return m_version; }
95 const boost::bimap<std::string, std::string>&
getNamespaces()
const {
return m_xmlns; }
97 boost::bimap<std::string, std::string>&
getNamespaces() {
return m_xmlns; }
99 const boost::ptr_vector<Include>& getIncludes()
const;
101 const boost::ptr_vector<Import>& getImports()
const;
103 const boost::ptr_vector<Redefine>& getRedefines()
const;
105 const boost::ptr_vector<Annotation>& getAnnotations()
const;
107 const boost::ptr_vector<SimpleType>& getSimpleTypes()
const;
109 const boost::ptr_vector<ComplexType>& getComplexTypes()
const;
111 const boost::ptr_vector<Group>& getGroups()
const;
113 const boost::ptr_vector<AttributeGroup>& getAttributeGroups()
const;
115 const boost::ptr_vector<AbstractAttribute>& getAttributes()
const;
117 const boost::ptr_vector<Element>& getElements()
const;
119 const boost::ptr_vector<Notation>& getNotations()
const;
121 void addNamespace(
const std::string& ns,
const std::string& nsprefix);
125 void addImport(
Import* i);
135 void addGroup(
Group* g);
156 boost::bimap<std::string, std::string>
m_xmlns;
174 #endif // __TERRALIB_XSD_INTERNAL_SCHEMA_H
It models a XML Schema attribute group.
void setAttributeFormDefault(Form f)
Form m_elementFormDefault
Tells if elements declared in this schema must use the namespace prefix or not. Default: Unqualified...
boost::ptr_vector< SimpleType > m_simpleTypeVec
The list of simple type declarations at schema root.
This class models a group element in a XML Schema.
A class that models a XML schema (XSD).
void setFinalDefault(int fdf)
It models a XML Schema import.
A class that models an XML Schema (XSD).
This class models the element of a XML Schema.
It models a XML Schema include.
void setBlockDefault(int bdf)
boost::ptr_vector< AttributeGroup > m_attributeGroupVec
The list of attributes at schema root.
It models a XML Schema SimpleType element.
This class models a notation element from a XML Schema.
boost::ptr_vector< Element > m_elementVec
The list of elements declarations at schema root.
std::string m_targetNamespace
The URI namespace of the schema. (Mandatory)
boost::bimap< std::string, std::string > m_xmlns
A list of one or more namespaces for use in this schema. Mandatory only if attributeFormDefault or el...
It models a XML Schema redefine.
A class that models a XSD annotation element.
It models a XML Schema import.
int getBlockDefault() const
boost::ptr_vector< Include > m_includeVec
The list of include declarations at schema root.
This is the base class for XML Schema Attribute classes.
It models a XML Schema Complex Type definition.
It models a XML Schema redefine.
It models a XML Schema Complex Type definition.
A base class for XSD classes that must provide a unique ID property.
Form
It specifies the form for the attribute.
boost::ptr_vector< Redefine > m_redefineVec
The list of redefine declarations at schema root.
boost::ptr_vector< ComplexType > m_complexTypeVec
The list of complex type declarations at schema root.
const std::string & getTargetNamespace() const
boost::ptr_vector< Import > m_importVec
The list of import declarations at schema root.
const boost::bimap< std::string, std::string > & getNamespaces() const
void setElementFormDefault(Form f)
Form getElementFormDefault() const
Form getAttributeFormDefault() const
void setTargetNamespace(const std::string &tns)
boost::ptr_vector< Group > m_groupVec
The list of group declarations at schema root.
A base class for XSD classes that must provide a unique ID property.
const std::string & getVersion() const
std::string m_version
The schema version. (Optional)
#define TEXSDEXPORT
You can use this macro in order to export/import classes and functions from this module.
It models a XML Schema include.
boost::ptr_vector< Notation > m_notationVec
The list of notation declarations at schema root.
void setVersion(const std::string &v)
boost::ptr_vector< Annotation > m_annotationVec
The list of annotation declarations at schema root.
boost::ptr_vector< AbstractAttribute > m_attributeVec
The list of attributes at schema root.
int getFinalDefault() const
It models a XML Schema attribute.
A class that models a XSD annotation element.
This class models a notation element from a XML Schema.
It models a XML Schema SimpleType element.
Form m_attributeFormDefault
Tells if attributes declared in this schema must use the namespace prefix or not. Default: Unqualifie...
This class models a group element in a XML Schema.
boost::bimap< std::string, std::string > & getNamespaces()