/** * Returns the namespace prefix mapped to the targetNamespace of the schema. * * @param schema The schema in question. * @return The namesapce prefix, or <code>null</code> if not found. */ public static String getTargetPrefix(XSDSchema schema) { String ns = schema.getTargetNamespace(); Map pre2ns = schema.getQNamePrefixToNamespaceMap(); for (Iterator itr = pre2ns.entrySet().iterator(); itr.hasNext(); ) { Map.Entry entry = (Map.Entry) itr.next(); if (entry.getKey() == null) { continue; // default prefix } if (entry.getValue().equals(ns)) { return (String) entry.getKey(); } } return null; }
public static void main(String[] args) throws Exception { XSDSchema schema = Schemas.parse("/home/jdeolive/devel/geotools/trunk/demo/xml-po/src/main/xsd/po.xsd"); System.out.println( schema.getQNamePrefixToNamespaceMap() );
xsdSchema.getQNamePrefixToNamespaceMap().put(targetPrefix,xsdSchema.getTargetNamespace());
xsd.getQNamePrefixToNamespaceMap().put("xsd", XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); xsd.setElementFormDefault(XSDForm.get(XSDForm.QUALIFIED)); xsd.getQNamePrefixToNamespaceMap().put(prefix, namespace); String providedNamespace = simpleFeatureType.getName().getNamespaceURI(); String providedPrefix = (String) simpleFeatureType.getUserData().get("prefix"); xsd.getQNamePrefixToNamespaceMap().put(providedPrefix, providedNamespace); xsd.getContents().add(gml); xsd.getQNamePrefixToNamespaceMap().put("gml", gmlNamespace); xsd.getQNamePrefixToNamespaceMap().put("gml", "http://www.opengis.net/gml");
for (Iterator itr = schema.getQNamePrefixToNamespaceMap().entrySet().iterator(); itr.hasNext(); ) { Map.Entry entry = (Map.Entry) itr.next();
XSDSchema schema = xsd.getSchema(); mappings.putAll(schema.getQNamePrefixToNamespaceMap()); mappings.putAll(configuration.getXSD().getSchema().getQNamePrefixToNamespaceMap()); } catch (IOException e) { throw new RuntimeException(e);
@Override protected XSDSchema buildSchema() throws IOException { Set<FeatureTypeInfo> types = new HashSet(); for (Set<FeatureTypeInfo> fts : featureTypes.values()) { types.addAll(fts); } XSDSchema schema = schemaBuilder.build(types.toArray(new FeatureTypeInfo[types.size()]), baseURL, 1); // make sure that GML 3.2 namespace is used schema.getQNamePrefixToNamespaceMap().put("gml", GML.NAMESPACE); return schema; } }
protected String createUniquePrefix(XSDConcreteComponent component) { String prefix = "p"; //$NON-NLS-1$ Map prefMapper = component.getSchema().getQNamePrefixToNamespaceMap(); if ( prefMapper.get(prefix) != null){ int i = 1; while ( prefMapper.get(prefix + i) != null) i++; prefix += i; } return prefix; } }
@Override protected void copyAttributes() { XSDSchema ownerSchema = (XSDSchema)owner; XSDSchema copySchema = (XSDSchema)copy; copySchema.getQNamePrefixToNamespaceMap().putAll(ownerSchema.getQNamePrefixToNamespaceMap()); copySchema.setSchemaForSchemaQNamePrefix(ownerSchema.getSchemaForSchemaQNamePrefix()); super.copyAttributes(); } };
protected void importXMI() { Map<String, String> namespaces = this.xsdSchema.getQNamePrefixToNamespaceMap(); if (namespaces.put(XMI_PREFIX, XMI_URI) == null) { XSDImport xmiImport = XSDFactory.eINSTANCE.createXSDImport(); xmiImport.setNamespace(XMI_URI); xmiImport.setSchemaLocation(EcorePackage.eNS_URI.equals(xsdSchema.getTargetNamespace()) ? XMI_SCHEMA_LOCATION : "platform:/plugin/org.eclipse.emf.ecore/model/" + XMI_SCHEMA_LOCATION); this.xsdSchema.getContents().add(0, xmiImport); } } }
protected void importXMI() { Map<String, String> namespaces = this.xsdSchema.getQNamePrefixToNamespaceMap(); if (namespaces.put(XMI_PREFIX, XMI_URI) == null) { XSDImport xmiImport = XSDFactory.eINSTANCE.createXSDImport(); xmiImport.setNamespace(XMI_URI); xmiImport.setSchemaLocation(EcorePackage.eNS_URI.equals(xsdSchema.getTargetNamespace()) ? XMI_SCHEMA_LOCATION : "platform:/plugin/org.eclipse.emf.ecore/model/" + XMI_SCHEMA_LOCATION); this.xsdSchema.getContents().add(0, xmiImport); } } }
protected void createAnnotation(XSDComponent xsdComponent, String namespace, String key, String value) { Element element = xsdComponent.getElement(); if (element != null) { createAnnotation(xsdComponent.getSchema().getQNamePrefixToNamespaceMap(), element, namespace, key, value); } }
protected void createAnnotation(XSDComponent xsdComponent, String namespace, String key, String value) { Element element = xsdComponent.getElement(); if (element != null) { createAnnotation(xsdComponent.getSchema().getQNamePrefixToNamespaceMap(), element, namespace, key, value); } }
protected void createEcoreAnnotation(XSDComponent xsdComponent, String key, String value) { Element element = xsdComponent.getElement(); if (element != null) { createEcoreAnnotation(xsdComponent.getSchema().getQNamePrefixToNamespaceMap(), element, key, value); } }
protected void createEcoreAnnotation(XSDComponent xsdComponent, String key, String value) { Element element = xsdComponent.getElement(); if (element != null) { createEcoreAnnotation(xsdComponent.getSchema().getQNamePrefixToNamespaceMap(), element, key, value); } }
protected void createOtherSchema(EPackage ePackage) { XSDSchema otherSchema = XSDFactory.eINSTANCE.createXSDSchema(); otherSchema.setTargetNamespace(ePackage.getNsURI()); otherSchema.setSchemaForSchemaQNamePrefix("xsd"); Map<String, String> namespaces = otherSchema.getQNamePrefixToNamespaceMap(); namespaces.put(getUniqueNsPrefix(ePackage), otherSchema.getTargetNamespace()); namespaces.put(otherSchema.getSchemaForSchemaQNamePrefix(), XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); ePackageToXSDSchemaMap.put(ePackage, otherSchema); // map(otherSchema, ePackage); }
protected void createOtherSchema(EPackage ePackage) { XSDSchema otherSchema = XSDFactory.eINSTANCE.createXSDSchema(); otherSchema.setTargetNamespace(ePackage.getNsURI()); otherSchema.setSchemaForSchemaQNamePrefix("xsd"); Map<String, String> namespaces = otherSchema.getQNamePrefixToNamespaceMap(); namespaces.put(getUniqueNsPrefix(ePackage), otherSchema.getTargetNamespace()); namespaces.put(otherSchema.getSchemaForSchemaQNamePrefix(), XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); ePackageToXSDSchemaMap.put(ePackage, otherSchema); // map(otherSchema, ePackage); }
protected XSDTypeDefinition typeInOtherSchema(EClassifier classifier) { EPackage typePkg = classifier.getEPackage(); Map<String, String> namespaces = xsdSchema.getQNamePrefixToNamespaceMap(); String nsPrefix = getUniqueNsPrefix(typePkg); if (namespaces.get(nsPrefix) == null) { namespaces.put(nsPrefix, typePkg.getNsURI()); addImport(typePkg.getNsURI(), getName(typePkg) + ".xsd"); createOtherSchema(typePkg); } XSDSchema otherXSDSchema = ePackageToXSDSchemaMap.get(typePkg); return otherXSDSchema.resolveTypeDefinition(getName(classifier)); }
protected void createSchema() { xsdSchema = XSDFactory.eINSTANCE.createXSDSchema(); addOutput(xsdSchema); // addInput(xsdSchema); xsdSchema.setTargetNamespace(ePackage.getNsURI()); xsdSchema.setSchemaForSchemaQNamePrefix("xsd"); Map<String, String> namespaces = xsdSchema.getQNamePrefixToNamespaceMap(); namespaces.put(getUniqueNsPrefix(ePackage), xsdSchema.getTargetNamespace()); namespaces.put(xsdSchema.getSchemaForSchemaQNamePrefix(), XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); map(xsdSchema, ePackage); }
protected void createSchema() { xsdSchema = XSDFactory.eINSTANCE.createXSDSchema(); addOutput(xsdSchema); // addInput(xsdSchema); xsdSchema.setTargetNamespace(ePackage.getNsURI()); xsdSchema.setSchemaForSchemaQNamePrefix("xsd"); Map<String, String> namespaces = xsdSchema.getQNamePrefixToNamespaceMap(); namespaces.put(getUniqueNsPrefix(ePackage), xsdSchema.getTargetNamespace()); namespaces.put(xsdSchema.getSchemaForSchemaQNamePrefix(), XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001); map(xsdSchema, ePackage); }