public void generate( Model model, Properties parameters ) throws ModelloException { initialize( model, parameters ); try { generateXsd( parameters ); } catch ( IOException ex ) { throw new ModelloException( "Exception while generating xsd.", ex ); } }
List<ModelField> fields = getFieldsForXml( modelClass, getGeneratedVersion() ); ModelField contentField = getContentField( fields ); List<ModelField> attributeFields = getXmlAttributeFields( fields ); w.addAttribute( "base", getXsdType( contentField.getType() ) ); writeClassDocumentation( w, modelClass ); String fieldTagName = resolveTagName( field, xmlFieldMetadata ); String xsdType = getXsdType( field.getType() ); xsdType = getXsdType( "long" ); writeFieldDocumentation( w, field ); writeCharElement( w ); if ( isInnerAssociation( field ) ) ModelClass fieldModelClass = objectModel.getClass( association.getTo(), getGeneratedVersion() ); writeFieldDocumentation( w, field ); writeListElement( w, xmlFieldMetadata, xmlAssociationMetadata, field, fieldModelClass.getName() );
Model objectModel = getModel(); File directory = getOutputDirectory(); if ( isPackageWithVersion() ) directory = new File( directory, getGeneratedVersion().toString() ); File f = new File( directory, objectModel.getId() + "-" + getGeneratedVersion() + ".xsd" ); initHeader( w ); ModelClass root = objectModel.getClass( objectModel.getRoot( getGeneratedVersion() ), getGeneratedVersion() ); String namespace = XsdModelHelper.getNamespace( root.getModel(), getGeneratedVersion() ); String targetNamespace = XsdModelHelper.getTargetNamespace( root.getModel(), getGeneratedVersion(), namespace ); String tagName = resolveTagName( root ); w.addAttribute( "name", tagName ); w.addAttribute( "type", root.getName() ); writeClassDocumentation( w, root ); int initialCapacity = objectModel.getClasses( getGeneratedVersion() ).size(); writeComplexTypeDescriptor( w, objectModel, root, new HashSet<ModelClass>( initialCapacity ) );