public Schema(XSSchemaSet schemaSet, String namespaceURI, SchemaHandler handler) { this.schemaSet = schemaSet; this.handler = handler; this.namespaceURI = namespaceURI; schema = schemaSet.getSchema(namespaceURI); if (schema == null) throw new IllegalStateException("no XSSchema associated with the namespace '" + namespaceURI + "'."); uniqueElements = new HashMap<String, ElementDecl>(); multipleElements = new HashMap<String, List<ElementDecl>>(); localElements = new HashMap<ElementDecl, HashMap<String,ElementDecl>>(); }
public boolean isCityObject() { if (typeFlag.contains(TypeFlag.CITY_OBJECT)) return true; else if (typeFlag.contains(TypeFlag.NO_CITY_OBJECT)) return false; boolean isCityObject = false; for (CoreModule module : CoreModule.getInstances()) { XSSchema core = schema.schemaSet.getSchema(module.getNamespaceURI()); if (core == null) continue; isCityObject = isDerivedFromComplexType(core, "AbstractCityObjectType"); if (isCityObject) break; } if (!isCityObject && schema.schemaSet.getSchema("http://www.citygml.org/citygml/1/0/0") != null) isCityObject = isDerivedFromComplexType(schema.schemaSet.getSchema("http://www.citygml.org/citygml/1/0/0"), "_CityObjectType"); if (isCityObject) { typeFlag.add(TypeFlag.ABSTRACT_GML); typeFlag.add(TypeFlag.FEATURE); typeFlag.add(TypeFlag.CITY_OBJECT); } else { typeFlag.add(TypeFlag.NO_CITY_OBJECT); } return isCityObject; }
public boolean isAbstractGML() { if (typeFlag.contains(TypeFlag.ABSTRACT_GML)) return true; else if (typeFlag.contains(TypeFlag.NO_ABSTRACT_GML)) return false; boolean isAbstractGML = false; for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue; switch (module.getVersion()) { case v3_1_1: isAbstractGML = isDerivedFromComplexType(gml, "AbstractGMLType"); break; } if (isAbstractGML) break; } if (isAbstractGML) { typeFlag.add(TypeFlag.ABSTRACT_GML); } else { typeFlag.add(TypeFlag.NO_ABSTRACT_GML); typeFlag.add(TypeFlag.NO_FEATURE); typeFlag.add(TypeFlag.NO_FEATURE_COLLECTION); typeFlag.add(TypeFlag.NO_CITY_OBJECT); typeFlag.add(TypeFlag.NO_GEOMETRY); } return isAbstractGML; }
public boolean isFeatureCollection() { if (typeFlag.contains(TypeFlag.FEATURE_COLLECTION)) return true; else if (typeFlag.contains(TypeFlag.NO_FEATURE_COLLECTION)) return false; boolean isFeatureCollection = false; for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue; switch (module.getVersion()) { case v3_1_1: isFeatureCollection = isDerivedFromComplexType(gml, "AbstractFeatureCollectionType"); break; } if (isFeatureCollection) break; } if (isFeatureCollection) { typeFlag.add(TypeFlag.ABSTRACT_GML); typeFlag.add(TypeFlag.FEATURE); typeFlag.add(TypeFlag.FEATURE_COLLECTION); } else { typeFlag.add(TypeFlag.NO_FEATURE); typeFlag.add(TypeFlag.NO_FEATURE_COLLECTION); } return isFeatureCollection; }
public boolean isFeature() { if (typeFlag.contains(TypeFlag.FEATURE)) return true; else if (typeFlag.contains(TypeFlag.NO_FEATURE)) return false; boolean isFeature = false; for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue; switch (module.getVersion()) { case v3_1_1: isFeature = isDerivedFromComplexType(gml, "AbstractFeatureType"); break; } if (isFeature) break; } if (isFeature) { typeFlag.add(TypeFlag.ABSTRACT_GML); typeFlag.add(TypeFlag.FEATURE); } else { typeFlag.add(TypeFlag.NO_FEATURE); typeFlag.add(TypeFlag.NO_CITY_OBJECT); } return isFeature; }
public boolean isGeometry() { if (typeFlag.contains(TypeFlag.GEOMETRY)) return true; else if (typeFlag.contains(TypeFlag.NO_GEOMETRY)) return false; boolean isGeometry = false; for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue; switch (module.getVersion()) { case v3_1_1: isGeometry = isDerivedFromComplexType(gml, "AbstractGeometryType"); break; } if (isGeometry) break; } if (isGeometry) { typeFlag.add(TypeFlag.ABSTRACT_GML); typeFlag.add(TypeFlag.GEOMETRY); } else { typeFlag.add(TypeFlag.NO_GEOMETRY); } return isGeometry; }
} else { for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue;
} else { for (GMLCoreModule module : GMLCoreModule.getInstances()) { XSSchema gml = schema.schemaSet.getSchema(module.getNamespaceURI()); if (gml == null) continue;
XSSchema s = Ring.get(XSSchemaSet.class).getSchema(targetNamespace);
XSSchema s = Ring.get(XSSchemaSet.class).getSchema(targetNamespace);
XSSchema s = Ring.get(XSSchemaSet.class).getSchema(targetNamespace);
XSSchema s = Ring.get(XSSchemaSet.class).getSchema(targetNamespace);
XSSchema s = Ring.get(XSSchemaSet.class).getSchema(targetNamespace);