org.eclipse.xsd.ecore
Class EcoreXMISchemaBuilder

java.lang.Object
  extended by org.eclipse.xsd.ecore.NameMangler
      extended by org.eclipse.xsd.ecore.MapBuilder
          extended by org.eclipse.xsd.ecore.EcoreXMLSchemaBuilder
              extended by org.eclipse.xsd.ecore.EcoreXMISchemaBuilder

public class EcoreXMISchemaBuilder
extends EcoreXMLSchemaBuilder

This class produces an XSDSchema given an Ecore EPackage. The XSDSchema is an XMI schema.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.xsd.ecore.EcoreXMLSchemaBuilder
EcoreXMLSchemaBuilder.QNameMap
 
Nested classes/interfaces inherited from class org.eclipse.xsd.ecore.MapBuilder
MapBuilder.Mapper
 
Field Summary
protected static java.lang.String XMI_PREFIX
           
protected static java.lang.String XMI_SCHEMA_LOCATION
           
protected static java.lang.String XMI_URI
           
 
Fields inherited from class org.eclipse.xsd.ecore.EcoreXMLSchemaBuilder
ecoreToSchemaName, EMF_SCHEMA_NAME, EMF_SCHEMA_PREFIX, EMF_SCHEMA_URI, emfSchema, enforceLowerBound, ePackage, ePackageToNsPrefixMap, ePackageToXSDSchemaMap, minimizedXMI, OPTION_TO_ENFORCE_LOWERBOUND, OPTION_USE_ENCODED_ATTRIBUTE_STYLE, qNameMap, REFERENCE_TYPE_NAME, rootClasses, useEncodedAttributeStyle, xsdParser, xsdSchema
 
Fields inherited from class org.eclipse.xsd.ecore.MapBuilder
mapper, xsdComponentToEModelElementMap
 
Fields inherited from class org.eclipse.xsd.ecore.NameMangler
DOMAINS, LOWER_CASE, UNCHANGED_CASE, UPPER_CASE
 
Constructor Summary
EcoreXMISchemaBuilder()
           
 
Method Summary
protected  void addElementDeclaration(XSDSchema schema, XSDModelGroup modelGroup, java.lang.String name, java.lang.String type)
           
protected  void addElementDeclaration(XSDSchema schema, XSDModelGroup modelGroup, java.lang.String name, java.lang.String type, boolean schemaType)
           
protected  void addElementDeclarationReference(XSDSchema schema, XSDModelGroup modelGroup, java.lang.String reference)
           
protected  void additionalProcessing(EClass eClass, XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  void addXMIAttributes(XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  void addXMIExtension(XSDModelGroup modelGroup)
           
protected  XSDWildcard createAny(java.lang.String processContents)
           
protected  XSDModelGroup createAnyModelGroup(java.lang.String processContents)
           
protected  XSDAttributeGroupDefinition createAttributeGroupReference(XSDSchema schema, java.lang.String name)
           
protected  XSDAttributeUse createAttributeReference(XSDSchema schema, java.lang.String name)
           
protected  XSDAttributeUse createAttributeUse(XSDSchema schema, java.lang.String name, java.lang.String type, java.lang.String use, java.lang.String form, java.lang.String fixed)
           
protected  XSDElementDeclaration createElementDeclaration(XSDSchema schema, java.lang.String name, java.lang.String type, boolean schemaType)
           
protected  XSDComplexTypeDefinition createExtendedComplexTypeDefinition(XSDSchema schema, java.lang.String name, java.lang.String extension)
           
protected  XSDModelGroup createModelGroup(XSDComplexTypeDefinition xsdComplexTypeDefinition)
           
protected  XSDSchema createXMISchema()
           
 java.util.Collection<EObject> generate(EPackage ePackage, EcoreXMLSchemaBuilder.QNameMap qNameMap)
           
 java.util.Collection<EObject> generate(EPackage ePackage, EcoreXMLSchemaBuilder.QNameMap qNameMap, boolean minimized, java.util.List<EClass> rootList, java.util.Map<?,?> options)
           
protected  void importXMI()
           
protected  boolean makeClassElementDeclaration(EClass eClass)
           
protected  boolean makeReferenceElement(EReference reference)
           
protected  void setAttributeElementMultiplicity(EAttribute attribute, XSDParticle particle)
           
protected  void setDefaultValue(EAttribute attribute, XSDAttributeDeclaration attrDecl)
           
protected  void setReferenceElementMultiplicity(EReference reference, XSDParticle particle)
           
protected  void setReferenceElementType(EReference reference, XSDElementDeclaration xsdElementDeclaration)
           
 
Methods inherited from class org.eclipse.xsd.ecore.EcoreXMLSchemaBuilder
addDocumentation, addEMFSchema, addImport, createAttributeDeclaration, createAttributeElementDeclaration, createEMFSchema, createOtherSchema, createSchema, generate, getAllFeatures, getFeatures, getModelGroup, getName, getType, getUniqueNsPrefix, makeAttributeDeclaration, makeAttributeElementDeclaration, makeReferenceAttribute, makeReferenceAttribute, makeReferenceElement, processAttribute, processAttribute, processClass, processClasses, processEnum, processEnums, processReference, setAttributeType, setReferenceAttribType, setUseToRequired, skipReference, typeInOtherSchema
 
Methods inherited from class org.eclipse.xsd.ecore.MapBuilder
addInput, addOutput, map, setMapper
 
Methods inherited from class org.eclipse.xsd.ecore.NameMangler
parseName, qualifiedPackageName, uncapName, validName, validName, validName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XMI_PREFIX

protected static final java.lang.String XMI_PREFIX
See Also:
Constant Field Values

XMI_URI

protected static final java.lang.String XMI_URI
See Also:
Constant Field Values

XMI_SCHEMA_LOCATION

protected static final java.lang.String XMI_SCHEMA_LOCATION
See Also:
Constant Field Values
Constructor Detail

EcoreXMISchemaBuilder

public EcoreXMISchemaBuilder()
Method Detail

generate

public java.util.Collection<EObject> generate(EPackage ePackage,
                                              EcoreXMLSchemaBuilder.QNameMap qNameMap,
                                              boolean minimized,
                                              java.util.List<EClass> rootList,
                                              java.util.Map<?,?> options)

generate

public java.util.Collection<EObject> generate(EPackage ePackage,
                                              EcoreXMLSchemaBuilder.QNameMap qNameMap)
Overrides:
generate in class EcoreXMLSchemaBuilder

createXMISchema

protected XSDSchema createXMISchema()

createAnyModelGroup

protected XSDModelGroup createAnyModelGroup(java.lang.String processContents)

createAny

protected XSDWildcard createAny(java.lang.String processContents)

createExtendedComplexTypeDefinition

protected XSDComplexTypeDefinition createExtendedComplexTypeDefinition(XSDSchema schema,
                                                                       java.lang.String name,
                                                                       java.lang.String extension)

createAttributeGroupReference

protected XSDAttributeGroupDefinition createAttributeGroupReference(XSDSchema schema,
                                                                    java.lang.String name)

createElementDeclaration

protected XSDElementDeclaration createElementDeclaration(XSDSchema schema,
                                                         java.lang.String name,
                                                         java.lang.String type,
                                                         boolean schemaType)

addElementDeclaration

protected void addElementDeclaration(XSDSchema schema,
                                     XSDModelGroup modelGroup,
                                     java.lang.String name,
                                     java.lang.String type)

addElementDeclaration

protected void addElementDeclaration(XSDSchema schema,
                                     XSDModelGroup modelGroup,
                                     java.lang.String name,
                                     java.lang.String type,
                                     boolean schemaType)

addElementDeclarationReference

protected void addElementDeclarationReference(XSDSchema schema,
                                              XSDModelGroup modelGroup,
                                              java.lang.String reference)

createAttributeReference

protected XSDAttributeUse createAttributeReference(XSDSchema schema,
                                                   java.lang.String name)

createAttributeUse

protected XSDAttributeUse createAttributeUse(XSDSchema schema,
                                             java.lang.String name,
                                             java.lang.String type,
                                             java.lang.String use,
                                             java.lang.String form,
                                             java.lang.String fixed)

makeClassElementDeclaration

protected boolean makeClassElementDeclaration(EClass eClass)
Overrides:
makeClassElementDeclaration in class EcoreXMLSchemaBuilder

createModelGroup

protected XSDModelGroup createModelGroup(XSDComplexTypeDefinition xsdComplexTypeDefinition)
Overrides:
createModelGroup in class EcoreXMLSchemaBuilder

setAttributeElementMultiplicity

protected void setAttributeElementMultiplicity(EAttribute attribute,
                                               XSDParticle particle)
Overrides:
setAttributeElementMultiplicity in class EcoreXMLSchemaBuilder

additionalProcessing

protected void additionalProcessing(EClass eClass,
                                    XSDComplexTypeDefinition xsdComplexTypeDefinition)
Overrides:
additionalProcessing in class EcoreXMLSchemaBuilder

addXMIExtension

protected void addXMIExtension(XSDModelGroup modelGroup)

addXMIAttributes

protected void addXMIAttributes(XSDComplexTypeDefinition xsdComplexTypeDefinition)

setDefaultValue

protected void setDefaultValue(EAttribute attribute,
                               XSDAttributeDeclaration attrDecl)
Overrides:
setDefaultValue in class EcoreXMLSchemaBuilder

makeReferenceElement

protected boolean makeReferenceElement(EReference reference)
Overrides:
makeReferenceElement in class EcoreXMLSchemaBuilder

setReferenceElementType

protected void setReferenceElementType(EReference reference,
                                       XSDElementDeclaration xsdElementDeclaration)
Overrides:
setReferenceElementType in class EcoreXMLSchemaBuilder

setReferenceElementMultiplicity

protected void setReferenceElementMultiplicity(EReference reference,
                                               XSDParticle particle)
Overrides:
setReferenceElementMultiplicity in class EcoreXMLSchemaBuilder

importXMI

protected void importXMI()

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.