private void handleContainer(XSDModelGroup xsdModelGroup) { for (Iterator i = xsdModelGroup.getParticles().iterator(); i.hasNext(); ) { XSDParticle childXSDParticle = (XSDParticle) i.next(); XSDTerm childXSDTerm = childXSDParticle.getTerm(); if (childXSDTerm instanceof XSDElementDeclaration) { XSDElementDeclaration eldeclaration = (XSDElementDeclaration) childXSDTerm; if (!this.tags.containsKey(getFullDeclarationName(eldeclaration))) { this.handleLeaf(eldeclaration); this.handleElementDeclaration(eldeclaration); } } else if (childXSDTerm instanceof XSDModelGroup) { this.handleContainer((XSDModelGroup) childXSDTerm); } } }
protected Node processModelGroup(XSDModelGroup group, Node parentNode) throws RepositoryException { if (group == null) { return null; } XSDCompositor compositor = group.getCompositor(); String primaryTypeName = getPrimaryTypeFromCompositor(compositor); Node childNode = parentNode.addNode(primaryTypeName, primaryTypeName); @SuppressWarnings("unchecked") List<XSDParticle> particles = group.getParticles(); for (XSDParticle particle : particles) { processParticle(particle, childNode); } processNonSchemaAttributes(group, childNode); return childNode; }