protected void processParticle(XSParticle particle, ParseContext parseContext) throws Exception { parseContext.minOccurs = particle.getMinOccurs().intValue(); parseContext.maxOccurs = particle.getMaxOccurs().intValue(); XSTerm term = particle.getTerm(); if (term.isModelGroup()) { processGroup(term.asModelGroup(), parseContext); } else if (term.isModelGroupDecl()) { processGroupDecl(term.asModelGroupDecl(), parseContext); } else if (term.isElementDecl()) { processElement(term.asElementDecl(), parseContext); } }
/** * Determine whether the definition contains xsd:any (directly or indirectly) */ private boolean isAny(XSTerm term) { if (term.isWildcard()) { return true; } if (term.isModelGroup()) { XSParticle[] children = term.asModelGroup().getChildren(); if (children != null) { for (XSParticle childParticle : children) { XSTerm childTerm = childParticle.getTerm(); if (childTerm != null) { if (isAny(childTerm)) { return true; } } } } } return false; }
public void particle( XSParticle p ) { if(getLocalPropCustomization(p)!=null || builder.getLocalDomCustomization(p)!=null) { // if a property customization is specfied, // check that value and turn around. check(p); mark(p); return; } XSTerm t = p.getTerm(); if(p.isRepeated() && (t.isModelGroup() || t.isModelGroupDecl())) { // a repeated model group gets its own property mark(p); return; } if(forcedProps.contains(p)) { // this particle must become a property mark(p); return; } outerParticle = p; t.visit(this); }
public void particle(XSParticle p) { // determine the binding of this complex type. builder.recordBindingMode(ct, bgmBuilder.getParticleBinder().checkFallback(p)?FALLBACK_CONTENT:NORMAL); bgmBuilder.getParticleBinder().build(p); XSTerm term = p.getTerm(); if(term.isModelGroup() && term.asModelGroup().getCompositor()==XSModelGroup.ALL) selector.getCurrentBean().setOrdered(false); }
public void particle( XSParticle p ) { if(getLocalPropCustomization(p)!=null || builder.getLocalDomCustomization(p)!=null) { // if a property customization is specfied, // check that value and turn around. check(p); mark(p); return; } XSTerm t = p.getTerm(); if(p.isRepeated() && (t.isModelGroup() || t.isModelGroupDecl())) { // a repeated model group gets its own property mark(p); return; } if(forcedProps.contains(p)) { // this particle must become a property mark(p); return; } outerParticle = p; t.visit(this); }
public void particle(XSParticle p) { // determine the binding of this complex type. builder.recordBindingMode(ct, bgmBuilder.getParticleBinder().checkFallback(p)?FALLBACK_CONTENT:NORMAL); bgmBuilder.getParticleBinder().build(p); XSTerm term = p.getTerm(); if(term.isModelGroup() && term.asModelGroup().getCompositor()==XSModelGroup.ALL) selector.getCurrentBean().setOrdered(false); }
public void particle( XSParticle p ) { if(getLocalPropCustomization(p)!=null || builder.getLocalDomCustomization(p)!=null) { // if a property customization is specfied, // check that value and turn around. check(p); mark(p); return; } XSTerm t = p.getTerm(); if(p.isRepeated() && (t.isModelGroup() || t.isModelGroupDecl())) { // a repeated model group gets its own property mark(p); return; } if(forcedProps.contains(p)) { // this particle must become a property mark(p); return; } outerParticle = p; t.visit(this); }
public void particle(XSParticle p) { // determine the binding of this complex type. builder.recordBindingMode(ct, bgmBuilder.getParticleBinder().checkFallback(p)?FALLBACK_CONTENT:NORMAL); bgmBuilder.getParticleBinder().build(p); XSTerm term = p.getTerm(); if(term.isModelGroup() && term.asModelGroup().getCompositor()==XSModelGroup.ALL) selector.getCurrentBean().setOrdered(false); }
public void particle( XSParticle p ) { if(getLocalPropCustomization(p)!=null || builder.getLocalDomCustomization(p)!=null) { // if a property customization is specfied, // check that value and turn around. check(p); mark(p); return; } XSTerm t = p.getTerm(); if(p.isRepeated() && (t.isModelGroup() || t.isModelGroupDecl())) { // a repeated model group gets its own property mark(p); return; } if(forcedProps.contains(p)) { // this particle must become a property mark(p); return; } outerParticle = p; t.visit(this); }
public void particle(XSParticle p) { // determine the binding of this complex type. builder.recordBindingMode(ct, bgmBuilder.getParticleBinder().checkFallback(p)?FALLBACK_CONTENT:NORMAL); bgmBuilder.getParticleBinder().build(p); XSTerm term = p.getTerm(); if(term.isModelGroup() && term.asModelGroup().getCompositor()==XSModelGroup.ALL) selector.getCurrentBean().setOrdered(false); }
public void particle( XSParticle p ) { if(getLocalPropCustomization(p)!=null || builder.getLocalDomCustomization(p)!=null) { // if a property customization is specfied, // check that value and turn around. check(p); mark(p); return; } XSTerm t = p.getTerm(); if(p.isRepeated() && (t.isModelGroup() || t.isModelGroupDecl())) { // a repeated model group gets its own property mark(p); return; } if(forcedProps.contains(p)) { // this particle must become a property mark(p); return; } outerParticle = p; t.visit(this); }
public boolean isOptional(final String elementName) { for (final Entry<String, XSComplexType> entry : getComplexTypes().entrySet()) { final XSContentType content = entry.getValue().getContentType(); final XSParticle particle = content.asParticle(); if (null != particle) { final XSTerm term = particle.getTerm(); if (term.isModelGroup()) { final XSParticle[] particles = term.asModelGroup().getChildren(); for (final XSParticle p : particles) { final XSTerm pterm = p.getTerm(); if (pterm.isElementDecl()) { final XSElementDecl e = pterm.asElementDecl(); if (0 == e.getName().compareToIgnoreCase(elementName)) { return p.getMinOccurs() == 0; } } } } } } return true; }
if(t.isModelGroup()) { try { return getSpecDefaultName(t.asModelGroup(),p.isRepeated());
public void particle(XSParticle p) { // determine the binding of this complex type. builder.recordBindingMode(ct, bgmBuilder.getParticleBinder().checkFallback(p)?FALLBACK_CONTENT:NORMAL); bgmBuilder.getParticleBinder().build(p); XSTerm term = p.getTerm(); if(term.isModelGroup() && term.asModelGroup().getCompositor()==XSModelGroup.ALL) selector.getCurrentBean().setOrdered(false); }
if(t.isModelGroup()) { try { return getSpecDefaultName(t.asModelGroup(),p.isRepeated());
public boolean isApplicable(XSComplexType ct) { if (!bgmBuilder.model.options.contentForWildcard) { return false; } XSType bt = ct.getBaseType(); if (bt ==schemas.getAnyType() && ct.getContentType() != null) { XSParticle part = ct.getContentType().asParticle(); if ((part != null) && (part.getTerm().isModelGroup())) { XSParticle[] parts = part.getTerm().asModelGroup().getChildren(); int wildcardCount = 0; int i = 0; while ((i < parts.length) && (wildcardCount <= 1)) { if (parts[i].getTerm().isWildcard()) { wildcardCount += 1; } i++; } return (wildcardCount > 1); } } return false; }
if(t.isModelGroup()) { try { return getSpecDefaultName(t.asModelGroup(),p.isRepeated());
public boolean isApplicable(XSComplexType ct) { if (!bgmBuilder.model.options.contentForWildcard) { return false; } XSType bt = ct.getBaseType(); if (bt ==schemas.getAnyType() && ct.getContentType() != null) { XSParticle part = ct.getContentType().asParticle(); if ((part != null) && (part.getTerm().isModelGroup())) { XSParticle[] parts = part.getTerm().asModelGroup().getChildren(); int wildcardCount = 0; int i = 0; while ((i < parts.length) && (wildcardCount <= 1)) { if (parts[i].getTerm().isWildcard()) { wildcardCount += 1; } i++; } return (wildcardCount > 1); } } return false; }
if(t.isModelGroup()) { try { return getSpecDefaultName(t.asModelGroup(),p.isRepeated());
public boolean isApplicable(XSComplexType ct) { if (!bgmBuilder.model.options.contentForWildcard) { return false; } XSType bt = ct.getBaseType(); if (bt ==schemas.getAnyType() && ct.getContentType() != null) { XSParticle part = ct.getContentType().asParticle(); if ((part != null) && (part.getTerm().isModelGroup())) { XSParticle[] parts = part.getTerm().asModelGroup().getChildren(); int wildcardCount = 0; int i = 0; while ((i < parts.length) && (wildcardCount <= 1)) { if (parts[i].getTerm().isWildcard()) { wildcardCount += 1; } i++; } return (wildcardCount > 1); } } return false; }