X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2FNamespaceUtils.java;h=df582868b349798da88d124264d5f846c432feec;hb=ea7d6818525ff88cc6b9ed0957c912545bd8eb81;hp=792802d8c9e4285d19fd567e9d409ca3ecf85af6;hpb=763feb49d5ba4b6275c7ad069df471bbd7047224;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/NamespaceUtils.java b/org.argeo.api.acr/src/org/argeo/api/acr/NamespaceUtils.java index 792802d8c..df582868b 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/NamespaceUtils.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/NamespaceUtils.java @@ -13,6 +13,10 @@ import javax.xml.namespace.QName; public class NamespaceUtils { + public static ContentName parsePrefixedName(String nameWithPrefix) { + return parsePrefixedName(RuntimeNamespaceContext.getNamespaceContext(), nameWithPrefix); + } + public static ContentName parsePrefixedName(NamespaceContext nameSpaceContext, String nameWithPrefix) { Objects.requireNonNull(nameWithPrefix, "Name cannot be null"); if (nameWithPrefix.charAt(0) == '{') { @@ -57,8 +61,19 @@ public class NamespaceUtils { }; - /** singleton */ - private NamespaceUtils() { + public static boolean hasNamespace(QName qName) { + return !qName.getNamespaceURI().equals(XMLConstants.NULL_NS_URI); + } + + public static void checkNoPrefix(String unqualified) { + if (unqualified.indexOf(':') >= 0) + throw new IllegalArgumentException("Name " + unqualified + " has a prefix"); + } + + public static QName unqualified(String name) { + checkNoPrefix(name); + return new ContentName(XMLConstants.NULL_NS_URI, name, XMLConstants.DEFAULT_NS_PREFIX); + } /* @@ -123,4 +138,8 @@ public class NamespaceUtils { return prefixes.iterator(); } + /** singleton */ + private NamespaceUtils() { + } + }