void generate_inline (Context& ctx, SemanticGraph::Schema& schema, bool i) { Traversal::Schema traverser; Traversal::Sources sources; Traversal::Names schema_names; Namespace ns (ctx); traverser.edge_traverser (sources); traverser.edge_traverser (schema_names); sources.node_traverser (traverser); schema_names.node_traverser (ns); Traversal::Names names; AnonymousType anonymous_type (ctx, i); Complex complex (ctx, anonymous_type, i); Enumeration enumeration (ctx, i); ns.edge_traverser (names); names.node_traverser (complex); names.node_traverser (enumeration); names.node_traverser (anonymous_type); traverser.traverse (schema); }
void generate_writer_header (Context& ctx, SemanticGraph::Schema& schema) { ctx.os << "#include \"XMLSchema/Writer.hpp\"" << endl << endl; { Traversal::Schema traverser; Traversal::Sources sources; Traversal::Names schema_names; WriterNamespace ns (ctx); traverser.edge_traverser (sources); traverser.edge_traverser (schema_names); sources.node_traverser (traverser); schema_names.node_traverser (ns); Traversal::Names names; AnonymousType anonymous_type (ctx); Complex complex (ctx, anonymous_type); Enumeration enumeration (ctx); ns.edge_traverser (names); names.node_traverser (complex); names.node_traverser (enumeration); names.node_traverser (anonymous_type); traverser.traverse (schema); } { Traversal::Schema traverser; Traversal::Sources sources; Traversal::Names schema_names; Namespace ns (ctx); traverser.edge_traverser (sources); traverser.edge_traverser (schema_names); sources.node_traverser (traverser); schema_names.node_traverser (ns); Traversal::Names names; Element element (ctx); ns.edge_traverser (names); names.node_traverser (element); traverser.traverse (schema); } }