Package org.jibx.schema.elements

Examples of org.jibx.schema.elements.SchemaBase


        // first clear all the cross reference information
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            int count = schema.getChildCount();
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object obj = child.getExtension();
                if (obj instanceof GlobalExtension) {
                    ((GlobalExtension)obj).resetDependencies();
                }
            }
        }
       
        // process each loaded schema for deletions and cross referencing
        int index = 0;
        m_validationContext.clearTraversed();
        boolean modified = false;
        // Level level = TreeWalker.setLogging(s_logger.getLevel());
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            m_validationContext.enterSchema(schema);
            s_logger.debug("Applying extensions to schema " + ++index + ": " + schema.getResolver().getName());
            int count = schema.getChildCount();
            boolean instmod = false;
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object obj = child.getExtension();
                if (obj instanceof GlobalExtension) {
                   
                    // apply extension to global definition element
                    ComponentExtension exten = (ComponentExtension)obj;
                    if (exten.isRemoved()) {
View Full Code Here


            for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
                SchemaElement schema = (SchemaElement)iter.next();
                int count = schema.getChildCount();
                boolean instmod = false;
                for (int i = 0; i < count; i++) {
                    SchemaBase child = schema.getChild(i);
                    Object obj = child.getExtension();
                    if (obj instanceof GlobalExtension) {
                        GlobalExtension global = (GlobalExtension)obj;
                        global.normalize();
                        if (global.isRemoved()) {
                           
                            // just eliminate this definition from the schema
                            schema.detachChild(i);
                            instmod = true;
                           
                        }
                    }
                }
                if (instmod) {
                    schema.compactChildren();
                    modified = true;
                }
            }
           
        }
       
        // finish by flagging global definitions requiring separate classes
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            SchemaCustom custom = findSchemaset(schema, m_global).getCustomization(schema.getResolver().getId());
            if (custom.isGenerateAll()) {
                int count = schema.getChildCount();
                for (int i = 0; i < count; i++) {
                    SchemaBase comp = schema.getChild(i);
                    if (comp.type() == SchemaBase.ELEMENT_TYPE || comp.type() == SchemaBase.COMPLEXTYPE_TYPE) {
                        Object obj = comp.getExtension();
                        if (obj instanceof GlobalExtension) {
                            ((GlobalExtension)obj).setIncluded(true);
                            if (s_logger.isDebugEnabled()) {
                                s_logger.debug("Set include for definition " + SchemaUtils.describeComponent(comp));
                            }
View Full Code Here

            SchemaElement schema = (SchemaElement)iter.next();
            s_logger.debug("Checking for unused definitions in schema " + ++index + ": "
                + schema.getResolver().getName());
            int count = schema.getChildCount();
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object exten = child.getExtension();
                if (exten instanceof GlobalExtension) {
                   
                    // check if global definition is unused and not specifically required
                    ((GlobalExtension)exten).checkRemovable();
                   
                }
            }
        }
       
        // next remove all the definitions flagged in the first step
        index = 0;
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            s_logger.debug("Deleting unused definitions in schema " + ++index + ": " + schema.getResolver().getName());
            int count = schema.getChildCount();
            boolean modified = false;
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object exten = child.getExtension();
                if (exten instanceof GlobalExtension && ((ComponentExtension)exten).isRemoved()) {
                   
                    // remove the definition from schema
                    schema.detachChild(i);
                    modified = true;
View Full Code Here

     * Remove a child element. This checks to make sure the removal is valid, and also handles logging of the change.
     *
     * @param index
     */
    private void removeChild(int index) {
        SchemaBase child = getComponent().getChild(index);
        switch (child.type())
        {
            case SchemaBase.ALL_TYPE:
            case SchemaBase.ANY_TYPE:
            case SchemaBase.ANYATTRIBUTE_TYPE:
            case SchemaBase.ATTRIBUTE_TYPE:
            case SchemaBase.ATTRIBUTEGROUP_TYPE:
            case SchemaBase.CHOICE_TYPE:
            case SchemaBase.COMPLEXTYPE_TYPE:
            case SchemaBase.ELEMENT_TYPE:
            case SchemaBase.ENUMERATION_TYPE:
            case SchemaBase.FRACTIONDIGITS_TYPE:
            case SchemaBase.GROUP_TYPE:
            case SchemaBase.LENGTH_TYPE:
            case SchemaBase.MAXEXCLUSIVE_TYPE:
            case SchemaBase.MAXINCLUSIVE_TYPE:
            case SchemaBase.MAXLENGTH_TYPE:
            case SchemaBase.MINEXCLUSIVE_TYPE:
            case SchemaBase.MININCLUSIVE_TYPE:
            case SchemaBase.MINLENGTH_TYPE:
            case SchemaBase.PATTERN_TYPE:
            case SchemaBase.SEQUENCE_TYPE:
            case SchemaBase.SIMPLETYPE_TYPE:
            case SchemaBase.TOTALDIGITS_TYPE:
            case SchemaBase.WHITESPACE_TYPE:
            {
                // definition component - just delete from the parent structure
                getComponent().detachChild(index);
                if (s_logger.isDebugEnabled()) {
                    s_logger.debug("Removed component " + SchemaUtils.describeComponent(child) +
                        " as per extension");
                }
                break;
            }
           
            default:
                throw new IllegalStateException("Internal error: element type '" + child.name() +
                    "' cannot be deleted");
        }
    }
View Full Code Here

               
        }
        if (delete) {
           
            // raise deletion to containing removable component
            SchemaBase parent = component;
            SchemaBase remove = null;
            loop: while (parent != null) {
                switch (parent.type())
                {
                   
                    case SchemaBase.ATTRIBUTE_TYPE:
                    case SchemaBase.ATTRIBUTEGROUP_TYPE:
                    case SchemaBase.ELEMENT_TYPE:
                    case SchemaBase.GROUP_TYPE:
                        remove = parent;
                        break loop;
                   
                    case SchemaBase.COMPLEXTYPE_TYPE:
                    case SchemaBase.SIMPLETYPE_TYPE:
                        remove = parent;
                        parent = parent.getParent();
                        break;
                   
                    default:
                        if (remove == null) {
                            parent = parent.getParent();
                            break;
                        } else {
                            break loop;
                        }
                       
                }
            }
            if (remove == null) {
                throw new IllegalStateException("Internal error: no removable ancestor found for component "
                    + SchemaUtils.describeComponent(component));
            } else {
                ((ComponentExtension)remove.getExtension()).setRemoved(true);
            }
           
        } else {
           
            // process all child component extensions
            boolean modified = false;
            for (int i = 0; i < component.getChildCount(); i++) {
                SchemaBase child = component.getChild(i);
                ComponentExtension exten = (ComponentExtension)child.getExtension();
                if (!exten.isRemoved()) {
                    exten.applyAndCountUsage(vctx);
                }
                if (exten.isRemoved()) {
                    removeChild(i);
View Full Code Here

     * @param derive type derivation supplying substitute type
     * @return <code>true</code> if type modified, <code>false</code> if not
     */
    private boolean substituteTypeDerivation(String lead, OpenAttrBase topcomp, OpenAttrBase childcomp,
        CommonTypeDerivation derive) {
        SchemaBase parent = topcomp;
        while (parent != null) {
            switch (parent.type())
            {
               
                case SchemaBase.ATTRIBUTE_TYPE:
                {
                    // set the attribute type to the specified type
                    AttributeElement attr = (AttributeElement)parent;
                    attr.setType(derive.getBase());
                    return true;
                }
               
                case SchemaBase.COMPLEXTYPE_TYPE:
                {
                    if (parent.isGlobal()) {
                        GlobalExtension global = (GlobalExtension)parent.getExtension();
                        if (!global.isIncluded() && global.isPreferInline()) {
                            ComplexTypeElement type = (ComplexTypeElement)parent;
                            ComponentExtension typeext = (ComponentExtension)type.getExtension();
                            typeext.setOverrideType(derive.getBase());
                            if (s_logger.isDebugEnabled()) {
                                s_logger.debug(lead + "set substitution for global complex type " +
                                    SchemaUtils.componentPath(type) + " to base type from derivation " +
                                    SchemaUtils.componentPath(childcomp));
                            }
                            return true;
                        }
                    }
                    break;
                }
               
                case SchemaBase.ELEMENT_TYPE:
                {
                    // set the element type to the restriction base
                    ElementElement elem = (ElementElement)parent;
                    elem.setTypeDefinition(derive.getBaseType());
                    if (s_logger.isDebugEnabled()) {
                        s_logger.debug(lead + "replaced element " + SchemaUtils.componentPath(elem) +
                            " type with base type from derivation " + SchemaUtils.componentPath(childcomp));
                    }
                    return true;
                }
               
                case SchemaBase.SIMPLETYPE_TYPE:
                {
                    // replace type only if global type definition
                    if (parent.isGlobal()) {
                        GlobalExtension global = (GlobalExtension)parent.getExtension();
                        if (!global.isIncluded()) {
                            SimpleTypeElement type = (SimpleTypeElement)parent;
                            ComponentExtension parentext = (ComponentExtension)type.getExtension();
                            parentext.setOverrideType(derive.getBase());
                            return true;
                        }
                    }
                    break;
                }
               
                case SchemaBase.UNION_TYPE:
                {
                    // this will be handled by union normalization, so just leave in place
                    return false;
                }
            }
            parent = parent.getParent();
        }
        return false;
    }
View Full Code Here

        // normalize each child component in turn
        int count = topcomp.getChildCount();
        boolean modified = false;
        boolean compact = false;
        for (int i = 0; i < count; i++) {
            SchemaBase child = topcomp.getChild(i);
            if (child instanceof OpenAttrBase) {
               
                // start by normalizing the child component content
                OpenAttrBase childcomp = (OpenAttrBase)child;
                ComponentExtension childext = (ComponentExtension)childcomp.getExtension();
                if (childext.normalize(depth+1)) {
                    modified = true;
                }
               
                // check for child components with special normalization handling
                switch (childcomp.type()) {
                   
                    case SchemaBase.ALL_TYPE:
                    case SchemaBase.CHOICE_TYPE:
                    case SchemaBase.SEQUENCE_TYPE:
                    {
                        // child component is a compositor, so see if it can be deleted or replaced
                        CommonCompositorDefinition compositor = (CommonCompositorDefinition)childcomp;
                        int size = compositor.getParticleList().size();
                        if (size == 0) {
                           
                            // empty compositor, just remove (always safe to do this)
                            childext.setRemoved(true);
                            modified = true;
                            if (s_logger.isDebugEnabled()) {
                                s_logger.debug(lead + "eliminated empty compositor " + path);
                            }
                           
                        } else if (size == 1) {
                           
                            // single component in compositor, first try to convert compositor to singleton
                            OpenAttrBase grandchild = (OpenAttrBase)compositor.getParticleList().get(0);
                            IArity particle = (IArity)grandchild;
                            if (SchemaUtils.isRepeated(compositor)) {
                                if (!SchemaUtils.isRepeated(particle)) {
                                   
                                    // repeated compositor with non-repeated particle, so pass repeat to particle
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "passing repeat from compositor " +
                                            SchemaUtils.componentPath(childcomp) + " to only child " +
                                            SchemaUtils.describeComponent(grandchild));
                                    }
                                    particle.setMaxOccurs(compositor.getMaxOccurs());
                                    ((ComponentExtension)grandchild.getExtension()).setRepeated(true);
                                    compositor.setMaxOccurs(null);
                                    ((ComponentExtension)compositor.getExtension()).setRepeated(false);
                                   
                                } else if ((compositor.getMaxOccurs().isUnbounded() &&
                                    particle.getMaxOccurs().isUnbounded())) {
                                   
                                    // unbounded compositor with unbounded particle, just wipe repeat from compositor
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "clearing unbounded from compositor " +
                                            SchemaUtils.componentPath(childcomp) + " with unbounded only child " +
                                            SchemaUtils.describeComponent(grandchild));
                                    }
                                    compositor.setMaxOccurs(null);
                                    ((ComponentExtension)compositor.getExtension()).setRepeated(false);
                                   
                                }
                            }
                            if (SchemaUtils.isOptional(compositor)) {
                                if (SchemaUtils.isOptional(particle)) {
                                   
                                    // optional compositor with optional particle, just wipe optional from compositor
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "clearing optional from compositor " +
                                            SchemaUtils.componentPath(childcomp) + " with optional only child " +
                                            SchemaUtils.describeComponent(grandchild));
                                    }
                                    compositor.setMinOccurs(null);
                                    ((ComponentExtension)compositor.getExtension()).setOptional(false);
                                   
                                } else if (Count.isCountEqual(1, particle.getMinOccurs())) {
                                   
                                    // optional compositor with required particle, so pass optional to particle
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "passing optional from compositor " +
                                            SchemaUtils.componentPath(childcomp) + " to required only child " +
                                            SchemaUtils.describeComponent(grandchild));
                                    }
                                    particle.setMinOccurs(Count.COUNT_ZERO);
                                    ((ComponentExtension)grandchild.getExtension()).setOptional(true);
                                    compositor.setMinOccurs(null);
                                    ((ComponentExtension)compositor.getExtension()).setOptional(false);
                                   
                                }
                            }
                           
                            // check if top component is also a compositor
                            if (topcomp instanceof CommonCompositorDefinition) {
                               
                                // nested compositor, check if can be simplified
                                if (SchemaUtils.isSingleton(compositor)) {
                                   
                                    // nested singleton compositor with only child, just replace with the child
                                    topcomp.replaceChild(i, grandchild);
                                    modified = true;
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "replacing singleton compositor " +
                                            SchemaUtils.componentPath(childcomp) + " with only child " +
                                            SchemaUtils.describeComponent(grandchild));
                                    }
                                   
                                } else if (compositor instanceof ChoiceElement) {
                                   
                                    // replace choice with sequence to simplify handling, since just one particle
                                    if (s_logger.isDebugEnabled()) {
                                        s_logger.debug(lead + "substituting sequence for choice " +
                                            SchemaUtils.componentPath(childcomp) + " with only one child");
                                    }
                                    SequenceElement sequence = new SequenceElement();
                                    sequence.setAnnotation(compositor.getAnnotation());
                                    sequence.setExtension(compositor.getExtension());
                                    sequence.setMaxOccurs(compositor.getMaxOccurs());
                                    sequence.setMinOccurs(compositor.getMinOccurs());
                                    sequence.getParticleList().add(grandchild);
                                    topcomp.replaceChild(i, sequence);
                                    modified = true;
                                   
                                }
                            }
                        }
                        break;
                    }
                   
                    case SchemaBase.EXTENSION_TYPE:
                    {
                        if (childcomp instanceof SimpleExtensionElement) {
                           
                            // replace empty simple type extension with base type
                            SimpleExtensionElement extend = (SimpleExtensionElement)childcomp;
                            if (extend.getAttributeList().size() == 0 && extend.getAnyAttribute() == null) {
                                modified = substituteTypeDerivation(lead, topcomp, childcomp, extend);
                            }
                           
                        } else {
                           
                            // replace empty complex type extension with base type
                            ComplexExtensionElement extend = (ComplexExtensionElement)child;
                            if (extend.getContentDefinition() == null && extend.getAttributeList().size() == 0 &&
                                extend.getAnyAttribute() == null) {
                                modified = substituteTypeDerivation(lead, topcomp, childcomp, extend);
                            }
                           
                        }
                        break;
                    }
                   
                    case SchemaBase.RESTRICTION_TYPE:
                    {
                        if (childcomp instanceof SimpleRestrictionElement) {
                           
                            // replace simple type restriction with base type unless it has facets
                            SimpleRestrictionElement restrict = (SimpleRestrictionElement)childcomp;
                            if (restrict.getFacetsList().size() == 0 && restrict.getBase() != null) {
                                QName base = restrict.getBase();
                                if (base == null) {
                                   
                                    // derivation using inline base type, just eliminate the restriction
                                   
                                } else {
                                    modified = substituteTypeDerivation(lead, topcomp, childcomp, restrict);
                                }
                            }
                           
                        } else {
                           
                            // always replace complex type restriction with base type
                            ComplexRestrictionElement restrict = (ComplexRestrictionElement)child;
                            modified = substituteTypeDerivation(lead, topcomp, childcomp, restrict);
                           
                        }
                        break;
                    }
                }
               
                // delete child component if flagged for removal
                if (childext.isRemoved()) {
                    removeChild(i);
                    compact = true;
                }
            }
        }
        if (compact) {
            topcomp.compactChildren();
            modified = true;
        }
       
        // handle union normalization after all children have been normalized
        if (topcomp.type() == SchemaBase.UNION_TYPE) {
           
            // start by checking duplicates in the member types
            compact = false;
            UnionElement union = (UnionElement)topcomp;
            Set typeset = new HashSet();
            ArrayList keeptypes = new ArrayList();
            QName[] membertypes = union.getMemberTypes();
            if (membertypes != null) {
                for (int i = 0; i < membertypes.length; i++) {
                    QName type = membertypes[i];
                    if (typeset.contains(type)) {
                        if (s_logger.isDebugEnabled()) {
                            s_logger.debug(lead + "removed redundant member type " + type + " from " + path);
                        }
                    } else {
                        typeset.add(type);
                        keeptypes.add(type);
                    }
                }
            }
           
            // then check inline types for duplicates, simplifying where possible
            count = union.getChildCount();
            for (int i = 0; i < count; i++) {
                SchemaBase child = topcomp.getChild(i);
                if (child instanceof OpenAttrBase) {
                   
                    // child schema component must be an inline simple type definition
                    SimpleTypeElement simple = (SimpleTypeElement)child;
                    boolean keeper = false;
                    SchemaBase derivation = simple.getDerivation();
                    QName repltype = null;
                    if (derivation != null) {
                       
                        // keep the inline definition by default, but check for replacement cases
                        keeper = true;
                        if (derivation.type() == SchemaBase.RESTRICTION_TYPE) {
                            SimpleRestrictionElement innerrestrict = (SimpleRestrictionElement)derivation;
                            if (innerrestrict.getChildCount() == 0) {
                               
                                // treat empty restriction the same as a member type from list
                                repltype = innerrestrict.getBase();
                                if (typeset.contains(repltype)) {
                                    keeper = false;
                                }
                               
                            }
                        } else if (derivation.type() == SchemaBase.UNION_TYPE) {
                            UnionElement innerunion = (UnionElement)derivation;
                            QName[] innertypes = innerunion.getMemberTypes();
                            FilteredSegmentList innerinlines = innerunion.getInlineBaseList();
                            if (innertypes.length + innerinlines.size() == 1) {
                               
View Full Code Here

        // first clear all the cross reference information
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            int count = schema.getChildCount();
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object obj = child.getExtension();
                if (obj instanceof GlobalExtension) {
                    ((GlobalExtension)obj).resetDependencies();
                }
            }
        }
       
        // process each loaded schema for deletions and cross referencing
        int index = 0;
        m_validationContext.clearTraversed();
        boolean modified = false;
        // Level level = TreeWalker.setLogging(s_logger.getLevel());
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            m_validationContext.enterSchema(schema);
            s_logger.debug("Applying extensions to schema " + ++index + ": " + schema.getResolver().getName());
            int count = schema.getChildCount();
            boolean instmod = false;
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object obj = child.getExtension();
                if (obj instanceof GlobalExtension) {
                   
                    // apply extension to global definition element
                    ComponentExtension exten = (ComponentExtension)obj;
                    if (exten.isRemoved()) {
View Full Code Here

            for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
                SchemaElement schema = (SchemaElement)iter.next();
                int count = schema.getChildCount();
                boolean instmod = false;
                for (int i = 0; i < count; i++) {
                    SchemaBase child = schema.getChild(i);
                    Object obj = child.getExtension();
                    if (obj instanceof GlobalExtension) {
                        GlobalExtension global = (GlobalExtension)obj;
                        global.normalize();
                        if (global.isRemoved() ||
                            (!global.isIncluded() && global.isPreferInline() && global.getOverrideType() != null)) {
                           
                            // just eliminate this definition from the schema
                            schema.detachChild(i);
                            instmod = true;
                           
                        }
                    }
                }
                if (instmod) {
                    schema.compactChildren();
                    modified = true;
                }
            }
           
        }
       
        // finish by flagging global definitions requiring separate classes
        TreeWalker wlkr = new TreeWalker(null, new SchemaContextTracker());
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            SchemaCustom custom = ((SchemaExtension)schema.getExtension()).getCustom();
            if (custom.isGenerateAll()) {
                int count = schema.getChildCount();
                for (int i = 0; i < count; i++) {
                   
                    // check if this global needs a class
                    SchemaBase comp = schema.getChild(i);
                    boolean include = false;
                    switch (comp.type()) {
/*                        case SchemaBase.ATTRIBUTE_TYPE:
                            include = !custom.isAttributeInlined();
                            break;  */
                       
                        case SchemaBase.ATTRIBUTEGROUP_TYPE:
                        case SchemaBase.GROUP_TYPE:
                           
                            // for attribute group or group, only force separate class if multiple components
                            ValueCountVisitor visitor = new ValueCountVisitor();
                            wlkr.walkChildren(comp, visitor);
                            include = visitor.getCount() > 1;
                            break;
                           
                        case SchemaBase.COMPLEXTYPE_TYPE:
                        case SchemaBase.ELEMENT_TYPE:
                            include = true;
                            break;
                           
                        case SchemaBase.SIMPLETYPE_TYPE:
                           
                            // for simpleType definition, only need separate class if an enumeration
                            if (comp.getChildCount() > 0) {
                                SchemaBase deriv = ((SimpleTypeElement)comp).getDerivation();
                                include = deriv != null && deriv.type() == SchemaBase.RESTRICTION_TYPE &&
                                    ((SimpleRestrictionElement)deriv).getFacetsList().size() > 0;
                            }
                            break;
                           
                    }
View Full Code Here

            SchemaElement schema = (SchemaElement)iter.next();
            s_logger.debug("Checking for unused definitions in schema " + ++index + ": "
                + schema.getResolver().getName());
            int count = schema.getChildCount();
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object exten = child.getExtension();
                if (exten instanceof GlobalExtension) {
                   
                    // check if global definition is unused and not specifically required
                    ((GlobalExtension)exten).checkRemovable();
                   
                }
            }
        }
       
        // next remove all the definitions flagged in the first step
        index = 0;
        for (Iterator iter = m_validationContext.iterateSchemas(); iter.hasNext();) {
            SchemaElement schema = (SchemaElement)iter.next();
            s_logger.debug("Deleting unused definitions in schema " + ++index + ": " + schema.getResolver().getName());
            int count = schema.getChildCount();
            boolean modified = false;
            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                Object exten = child.getExtension();
                if (exten instanceof GlobalExtension && ((ComponentExtension)exten).isRemoved()) {
                   
                    // remove the definition from schema
                    schema.detachChild(i);
                    modified = true;
View Full Code Here

TOP

Related Classes of org.jibx.schema.elements.SchemaBase

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.