Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
utility::tag::XMLSchemaModelGroup Class Reference

The ModelGroup covers four XML Schema model groups: xs:sequence, xs:choice, xs:all, and xs:group. A ModelGroup may contain any number of XMLSchemaParticles, interchanging between XMLElements and XMLModelGroups, BUT there are some fairly heavy restrictions on the xs:all model group, marginally enforced by this class and by XMLSchemaComplexType. This class is not exactly a top-level element, in that only xs:group is allowed to appear at the top level, but it is definitely worthwhile for this class to implement the write_definition funciton. More...

#include <XMLSchemaGeneration.hh>

Inheritance diagram for utility::tag::XMLSchemaModelGroup:
Inheritance graph
[legend]

Public Member Functions

 XMLSchemaModelGroup ()
 
 ~XMLSchemaModelGroup () override
 
 XMLSchemaModelGroup (XMLSchemaModelGroupType type)
 
 XMLSchemaModelGroup (XMLSchemaModelGroupType type, std::list< XMLSchemaParticleCOP > const &particles)
 
 XMLSchemaModelGroup (std::string const &group_name)
 
XMLSchemaModelGrouptype (XMLSchemaModelGroupType type)
 
XMLSchemaModelGroupappend_particle (XMLSchemaParticleCOP particle)
 
XMLSchemaModelGroupappend_particles (std::list< XMLSchemaParticleCOP > const &particles)
 
XMLSchemaModelGroupgroup_name (std::string const &name)
 
std::string const & element_name () const override
 
void write_definition (int indentation, std::ostream &os) const override
 
void prepare_for_output (XMLSchemaDefinition &xsd) const override
 
- Public Member Functions inherited from utility::tag::XMLSchemaParticle
 XMLSchemaParticle ()
 
 ~XMLSchemaParticle () override
 
XMLSchemaParticlemin_occurs (int setting)
 
XMLSchemaParticlemax_occurs (int setting)
 
int min_occurs () const
 
int max_occurs () const
 
- Public Member Functions inherited from utility::VirtualBase
 VirtualBase ()=default
 Default constructor. More...
 
virtual ~VirtualBase ()=default
 The virtual destructor is one of the main reasons for the VirtualBase class. More...
 
 VirtualBase (VirtualBase const &)=default
 
 VirtualBase (VirtualBase &&)=default
 
VirtualBaseoperator= (VirtualBase const &)=default
 
VirtualBaseoperator= (VirtualBase &&)=default
 

Private Member Functions

void validate_content () const
 
bool is_group_holding_all () const
 

Private Attributes

XMLSchemaModelGroupType type_
 
std::list< XMLSchemaParticleCOPparticles_
 
std::string group_name_
 

Detailed Description

The ModelGroup covers four XML Schema model groups: xs:sequence, xs:choice, xs:all, and xs:group. A ModelGroup may contain any number of XMLSchemaParticles, interchanging between XMLElements and XMLModelGroups, BUT there are some fairly heavy restrictions on the xs:all model group, marginally enforced by this class and by XMLSchemaComplexType. This class is not exactly a top-level element, in that only xs:group is allowed to appear at the top level, but it is definitely worthwhile for this class to implement the write_definition funciton.

Constructor & Destructor Documentation

utility::tag::XMLSchemaModelGroup::XMLSchemaModelGroup ( )
utility::tag::XMLSchemaModelGroup::~XMLSchemaModelGroup ( )
overridedefault
utility::tag::XMLSchemaModelGroup::XMLSchemaModelGroup ( XMLSchemaModelGroupType  type)
utility::tag::XMLSchemaModelGroup::XMLSchemaModelGroup ( XMLSchemaModelGroupType  type,
std::list< XMLSchemaParticleCOP > const &  particles 
)

References validate_content().

utility::tag::XMLSchemaModelGroup::XMLSchemaModelGroup ( std::string const &  group_name)

Member Function Documentation

XMLSchemaModelGroup & utility::tag::XMLSchemaModelGroup::append_particle ( XMLSchemaParticleCOP  particle)
XMLSchemaModelGroup & utility::tag::XMLSchemaModelGroup::append_particles ( std::list< XMLSchemaParticleCOP > const &  particles)

References particles_, and validate_content().

std::string const & utility::tag::XMLSchemaModelGroup::element_name ( ) const
overridevirtual
XMLSchemaModelGroup & utility::tag::XMLSchemaModelGroup::group_name ( std::string const &  name)
bool utility::tag::XMLSchemaModelGroup::is_group_holding_all ( ) const
private
void utility::tag::XMLSchemaModelGroup::prepare_for_output ( XMLSchemaDefinition xsd) const
overridevirtual
XMLSchemaModelGroup & utility::tag::XMLSchemaModelGroup::type ( XMLSchemaModelGroupType  type)

References type_, and validate_content().

void utility::tag::XMLSchemaModelGroup::validate_content ( ) const
private
void utility::tag::XMLSchemaModelGroup::write_definition ( int  indentation,
std::ostream &  os 
) const
overridevirtual

Member Data Documentation

std::string utility::tag::XMLSchemaModelGroup::group_name_
private
std::list< XMLSchemaParticleCOP > utility::tag::XMLSchemaModelGroup::particles_
private
XMLSchemaModelGroupType utility::tag::XMLSchemaModelGroup::type_
private

The documentation for this class was generated from the following files: