/** Renvoie true si l'espace de nom est d?fini dans le sch?ma */ public boolean aEspace(final String espace) { final String targetNamespace = schema.getTargetNamespace(); if (espace == null) { if (targetNamespace == null || targetNamespace.equals("")) return (true); if (espaceVersPrefixe.containsKey("")) return (true); // cas des ?l?ments locaux sans espace de noms : final boolean qualified = "qualified".equals(schema.getElementFormDefault()); if (!qualified) return (true); } else { if (espace.equals(targetNamespace)) return (true); if (espaceVersPrefixe.containsKey(espace)) return (true); } return (false); }
private void ajouterEspaces( final WXSSchema sch, final WXSSchema schemaParent, final String espaceImport) { if (espaceImport != null && espaceVersPrefixe.get(espaceImport) == null) { String prefixe = sch.prefixeEspace(espaceImport); if (prefixe != null) espaceVersPrefixe.put(espaceImport, prefixe); else if (schemaParent != null) { prefixe = schemaParent.prefixeEspace(espaceImport); if (prefixe != null) espaceVersPrefixe.put(espaceImport, prefixe); } } // toujours ajouter targetNamespace ? final String targetNamespace = sch.getTargetNamespace(); if (targetNamespace != null && !"".equals(targetNamespace)) { final String prefixe = sch.prefixeEspace(targetNamespace); if (prefixe != null) espaceVersPrefixe.put(targetNamespace, prefixe); } }
/** * Renvoie l'espace de noms cible du sch?ma (attribut targetNamespace avec WXS). Attention: Le * concept d'un espace cible unique pour un sch?ma n'existe pas avec Relax NG. */ public String espaceCible() { return (schema.getTargetNamespace()); }
/** Renvoie la liste des espaces de noms (String) utilis?s par ce sch?ma. */ public ArrayList<String> listeEspaces() { final LinkedHashSet<String> liste = new LinkedHashSet<String>(); if (schema.getTargetNamespace() != null) liste.add(schema.getTargetNamespace()); for (final String s : espaceVersPrefixe.keySet()) liste.add(s); return (new ArrayList<String>(liste)); }