private static void visitElements(XSDComplexTypeDefinition cType, ElementVisitor visitor) { if ((cType.getContent() == null) || (cType.getContent() instanceof XSDSimpleTypeDefinition)) { return; queue.addLast(cType.getContent());
@Override public boolean isIdentifiable(XSDComplexTypeDefinition typeDefinition) { List attributeUses = typeDefinition.getAttributeUses(); final String idAttName = getId().getLocalPart(); for (Iterator it = attributeUses.iterator(); it.hasNext(); ) { XSDAttributeUse use = (XSDAttributeUse) it.next(); XSDAttributeUseCategory useCategory = use.getUse(); XSDAttributeDeclaration idAtt = use.getAttributeDeclaration(); String targetNamespace = idAtt.getTargetNamespace(); String name = idAtt.getName(); if (getNameSpace().equals(targetNamespace) && idAttName.equals(name)) { if (XSDAttributeUseCategory.REQUIRED_LITERAL.equals(useCategory)) { return true; } } } return false; }
(XSDComplexTypeDefinition) instance.getTypeDefinition(); if (complexType.getContentType() instanceof XSDSimpleTypeDefinition) { type = (XSDSimpleTypeDefinition) complexType.getContentType(); && ((XSDComplexTypeDefinition) instance.getTypeDefinition()).isMixed()) {
protected AttributeType createType(XSDComplexTypeDefinition xsdType, int depth) { if (depth > maxDepth) { throw new RuntimeException("Recursion depth exceeded:" + xsdType.getName()); System.out.print("-"); System.out.println(xsdType.getName()); if (!xsdType.getTargetNamespace().equals(schema.getTargetNamespace())) { return findType(xsdType); XSDTypeDefinition baseType = xsdType.getBaseType(); if (baseType != null && !baseType.equals(xsdType)) { if (baseType.getName() != null) { name(xsdType), properties, false, xsdType.isAbstract(), Collections.EMPTY_LIST, superType, null );
definition.setName(type.getName().getLocalPart()); definition.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL); definition.setBaseTypeDefinition(BASE_TYPE); if ("AbstractFeatureType".equals(BASE_TYPE.getName())) { contents.setContent(attributes); definition.setContent(contents); xsd.getContents().add(definition);
protected static Map<String, XSDAttributeDeclaration> getProhibitedAttributeURIs(XSDComplexTypeDefinition xsdComplexTypeDefinition) { Map<String, XSDAttributeDeclaration> result = getProhibitedAttributes(xsdComplexTypeDefinition.getAttributeContents()); if (xsdComplexTypeDefinition.getBaseTypeDefinition() instanceof XSDComplexTypeDefinition && !xsdComplexTypeDefinition.isCircular()) { result.putAll (getProhibitedAttributes (((XSDComplexTypeDefinition)xsdComplexTypeDefinition.getBaseTypeDefinition()).getAttributeContents())); } return result; }
else if (XSDConstants.isSchemaForSchemaNamespace(xsdComplexTypeDefinition.getTargetNamespace())) String name = xsdComplexTypeDefinition.getName(); if (name != null) EClass result = (EClass)getBuiltInEClassifier(xsdComplexTypeDefinition.getTargetNamespace(), name); if (result != null) else if (xsdComplexTypeDefinition.getContainer() == null) EClass eClass = (EClass)extendedMetaData.getType(xsdComplexTypeDefinition.getTargetNamespace(), xsdComplexTypeDefinition.getName()); if (eClass != null) extendedMetaData.setName(eClass, xsdComplexTypeDefinition.getAliasName()); if (xsdComplexTypeDefinition.isAbstract()) XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition(); if (!baseTypeDefinition.isCircular()) getGenericType(xsdComplexTypeDefinition, xsdComplexTypeDefinition.getElement(), eClass, getEcoreAttribute(xsdComplexTypeDefinition, "extends")); if (genericSuperType != null && genericSuperType.getEClassifier() instanceof EClass) else if (XSDConstants.isURType(baseTypeDefinition) && xsdComplexTypeDefinition.getDerivationMethod() == XSDDerivationMethod.EXTENSION_LITERAL) xsdComplexTypeDefinition.getDerivationMethod() == XSDDerivationMethod.RESTRICTION_LITERAL; for (EGenericType eGenericType : getGenericTypes(xsdComplexTypeDefinition, xsdComplexTypeDefinition.getElement(), eClass, getEcoreAttribute(xsdComplexTypeDefinition, "implements")))
xsdSimpleTypeDefinition = xsdComplexTypeDefinition.getSimpleType(); if (xsdComplexTypeDefinition.getFinal().contains(XSDComplexFinal.EXTENSION_LITERAL)) for (XSDAttributeUse baseXSDAttributeUse : xsdComplexTypeDefinition.getAttributeUses()) XSDWildcard baseXSDWildcard = xsdComplexTypeDefinition.getAttributeWildcard(); if (baseXSDWildcard != null) switch (xsdComplexTypeDefinition.getContentTypeCategory().getValue()) if (getContentType() != xsdComplexTypeDefinition.getContentType()) xsdComplexTypeDefinition.getSimpleType().getURI()); if (getContentTypeCategory() != xsdComplexTypeDefinition.getContentTypeCategory() || isSetMixed() && isMixed() != xsdComplexTypeDefinition.isMixed()) xsdComplexTypeDefinition.getContentTypeCategory().toString()); if (xsdComplexTypeDefinition.getFinal().contains(XSDComplexFinal.RESTRICTION_LITERAL)) createDiagnostic(XSDDiagnosticSeverity.ERROR_LITERAL, "derivation-ok-restriction.1", xsdComplexTypeDefinition.getURI()); (this, getAttributeWildcardContent(), xsdComplexTypeDefinition.getAttributeUses(), getAttributeUses(), xsdComplexTypeDefinition.getAttributeWildcard(),
simpleContentComplexTypeDefinition./*{@link XSDNamedComponent#setName */setName/*}*/("SimpleContentComplexTypeDefinition"); simpleContentComplexTypeDefinition./*{@link XSDComplexTypeDefinition#setDerivationMethod */setDerivationMethod/*}*/(/*{@link */XSDDerivationMethod/*}*/.EXTENSION_LITERAL); simpleContentComplexTypeDefinition./*{@link XSDElementDeclaration#setAnnotation */setAnnotation/*}*/(annotation); simpleContentComplexTypeDefinition./*{@link XSDSimpleTypeDefinition#setBaseTypeDefinition */setBaseTypeDefinition/*}*/ (prototypeSchema./*{@link XSDSchema#getSchemaForSchema */getSchemaForSchema/*}*/()./*{@link XSDConcreteComponent#resolveSimpleTypeDefinition */resolveSimpleTypeDefinition/*}*/("string")); simpleContentComplexTypeDefinition./*{@link XSDComplexTypeDefinition#setContent */setContent/*}*/(anonymousSimpleTypeDefinition); simpleAttributeUse./*{@link XSDAttributeUse#setContent */setContent/*}*/(simpleAttributeDeclarationReference); simpleAttributeUse.setUse(/*{@link */XSDAttributeUseCategory/*}*/.OPTIONAL_LITERAL); simpleContentComplexTypeDefinition./*{@link XSDComplexTypeDefinition#getAttributeContents */getAttributeContents/*}*/().add(simpleAttributeUse);
protected XSDSimpleTypeDefinition buildSimpleContent(XSDComplexTypeDefinition xsdComplexTypeDefinition, EStructuralFeature eStructuralFeature) XSDSchema xsdSchema = xsdComplexTypeDefinition.getSchema(); XSDSimpleTypeDefinition xsdSimpleTypeDefinition = XSDFactory.eINSTANCE.createXSDSimpleTypeDefinition(); EClassifier eType = eStructuralFeature.getEType(); baseType = xsdComplexTypeDefinition.resolveSimpleTypeDefinitionURI(getURI(eType)); handleImport(xsdSchema, baseType); handleMultiplicity(xsdSchema, eStructuralFeature, xsdSimpleTypeDefinition, baseType); xsdComplexTypeDefinition.setBaseTypeDefinition(xsdSimpleTypeDefinition.getBaseType()); xsdComplexTypeDefinition.setDerivationMethod(xsdSimpleTypeDefinition.getContents().isEmpty() ? XSDDerivationMethod.EXTENSION_LITERAL : XSDDerivationMethod.RESTRICTION_LITERAL); xsdComplexTypeDefinition.setContent(xsdSimpleTypeDefinition);
xsdComplexTypeDefinition.setName(name); xsdComplexTypeDefinition.setAbstract(true); xsdComplexTypeDefinition.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL); xsdComplexTypeDefinition.setBaseTypeDefinition(baseType); if (!eOperations.isEmpty()) XSDAnnotation xsdAnnotation = xsdComplexTypeDefinition.getAnnotation(); if (xsdAnnotation == null) xsdComplexTypeDefinition.setAnnotation(xsdAnnotation);
if (!(complexType.getContent() instanceof XSDSimpleTypeDefinition)) complexType.setContent(simpleContent); complexType.setBaseTypeDefinition(baseType); complexType.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL); formatChild(complexType.getElement());
xsdComplexTypeDefinition.setName(getName(eClass)); if (eClass.isAbstract()) xsdComplexTypeDefinition.setAbstract(true); xsdComplexTypeDefinition.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL); EClass superClass = superClasses.get(0); xsdComplexTypeDefinition.setBaseTypeDefinition(xsdSchema.resolveTypeDefinition(getName(superClass))); xsdComplexTypeDefinition.setBaseTypeDefinition(typeInOtherSchema(superClass));
if (theBaseTypeDefinition instanceof XSDComplexTypeDefinition) baseAttributeUses = ((XSDComplexTypeDefinition)theBaseTypeDefinition).getAttributeUses(); theBaseTypeDefinition instanceof XSDComplexTypeDefinition) baseWildcard = ((XSDComplexTypeDefinition)theBaseTypeDefinition).getAttributeWildcard(); newContentTypeCategory = complexBaseTypeDefinition.getContentTypeCategory(); newContentType = complexBaseTypeDefinition.getContentType(); XSDComplexTypeContent baseContentType = complexBaseTypeDefinition.getContentType(); if (baseContentType instanceof XSDParticle)
public String getText(Object object, boolean showType) { XSDComplexTypeDefinition xsdComplexTypeDefinition = ((XSDComplexTypeDefinition)object); StringBuffer result = new StringBuffer(); result.append (xsdComplexTypeDefinition.getName() == null ? xsdComplexTypeDefinition.getAliasName() : xsdComplexTypeDefinition.getName()); if (showType) { XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition(); if (baseTypeDefinition != null && baseTypeDefinition != xsdComplexTypeDefinition.getContent() && baseTypeDefinition.getName() != null && !XSDConstants.isURType(baseTypeDefinition)) { result.append(" : "); result.append(baseTypeDefinition.getQName(xsdComplexTypeDefinition)); } } return result.toString(); }
protected XSDComplexTypeDefinition createExtendedComplexTypeDefinition(XSDSchema schema, String name, String extension) { XSDComplexTypeDefinition complexType = XSDFactory.eINSTANCE.createXSDComplexTypeDefinition(); complexType.setName(name); complexType.setDerivationMethod(XSDDerivationMethod.EXTENSION_LITERAL); complexType.setBaseTypeDefinition(schema.resolveTypeDefinition(extension)); return complexType; }
List list = new ArrayList(); for (Iterator i = xsdComplexTypeDefinition.getAttributeContents().iterator(); i.hasNext();) if (xsdComplexTypeDefinition.getContent() != null) XSDComplexTypeContent xsdComplexTypeContent = xsdComplexTypeDefinition.getContent(); if (xsdComplexTypeContent instanceof XSDParticle) if (showInheritedContent) XSDTypeDefinition typeDef = xsdComplexTypeDefinition.getBaseTypeDefinition(); if (typeDef instanceof XSDComplexTypeDefinition) if (baseCT.getTargetNamespace() != null && !baseCT.getTargetNamespace().equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001)) if (baseCT.getContent() != null) XSDComplexTypeContent xsdComplexTypeContent = baseCT.getContent(); if (xsdComplexTypeContent instanceof XSDParticle)
if (isRef) XSDElementDeclaration referencedXSDElementDeclaration = xsdComplexTypeDefinition.resolveElementDeclaration(namespace, name); handleImport(xsdComplexTypeDefinition.getSchema(), referencedXSDElementDeclaration); xsdElementDeclaration.setResolvedElementDeclaration(referencedXSDElementDeclaration); xsdComplexTypeDefinition.resolveTypeDefinitionURI(getURI(eType)); xsdComplexTypeDefinition.getSchema().getSchemaForSchema().resolveTypeDefinition (eReference.isResolveProxies() ? "anyURI" : "IDREF"); handleImport(xsdComplexTypeDefinition.getSchema(), xsdTypeDefinition); xsdElementDeclaration.setTypeDefinition(xsdTypeDefinition); if (eStructuralFeature.isTransient() && !xsdComplexTypeDefinition.isMixed()) if (eStructuralFeature.isTransient() && !xsdComplexTypeDefinition.isMixed()) createEcoreAnnotation(xsdParticle, referenceType == null ? "type" : "reference", getGenericType(xsdComplexTypeDefinition.getSchema(), eStructuralFeature.getEGenericType())); XSDTypeDefinition xsdTypeDefinition = xsdComplexTypeDefinition.resolveTypeDefinitionURI(getURI(referenceType)); handleImport(xsdComplexTypeDefinition.getSchema(), xsdTypeDefinition); String prefix = handlePrefix (xsdComplexTypeDefinition.getSchema().getQNamePrefixToNamespaceMap(), referenceType.getEPackage().getNsPrefix(), xsdTypeDefinition.getTargetNamespace());
public String getText() { XSDComplexTypeDefinition xsdComplexTypeDefinition = (XSDComplexTypeDefinition) target; StringBuffer result = new StringBuffer(); result.append(xsdComplexTypeDefinition.getName() == null ? "local type" : xsdComplexTypeDefinition.getName()); //$NON-NLS-1$ XSDTypeDefinition baseTypeDefinition = xsdComplexTypeDefinition.getBaseTypeDefinition(); if (baseTypeDefinition != null && baseTypeDefinition != xsdComplexTypeDefinition.getContent() && baseTypeDefinition.getName() != null && !XSDConstants.isURType(baseTypeDefinition)) { result.append(" : "); //$NON-NLS-1$ result.append(baseTypeDefinition.getQName(xsdComplexTypeDefinition)); } return result.toString(); }
List attContent = cType.getAttributeContents();