X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.api.acr%2Fsrc%2Forg%2Fargeo%2Fapi%2Facr%2FNamespaceUtils.java;h=792802d8c9e4285d19fd567e9d409ca3ecf85af6;hb=763feb49d5ba4b6275c7ad069df471bbd7047224;hp=a1b4062aa3e4277e5b47606d81a2d992a1766b7f;hpb=c615307d7b87bcb260d8a9f402c6e0a880862f38;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 a1b4062aa..792802d8c 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 @@ -1,6 +1,7 @@ package org.argeo.api.acr; import java.util.Collections; +import java.util.Comparator; import java.util.Iterator; import java.util.Objects; import java.util.Set; @@ -30,6 +31,10 @@ public class NamespaceUtils { return new ContentName(namespaceURI, localName, prefix); } + public static String toPrefixedName(QName name) { + return toPrefixedName(RuntimeNamespaceContext.getNamespaceContext(), name); + } + public static String toPrefixedName(NamespaceContext nameSpaceContext, QName name) { if (XMLConstants.NULL_NS_URI.equals(name.getNamespaceURI())) return name.getLocalPart(); @@ -39,6 +44,19 @@ public class NamespaceUtils { return prefix + ":" + name.getLocalPart(); } + public final static Comparator QNAME_COMPARATOR = new Comparator() { + + @Override + public int compare(QName qn1, QName qn2) { + if (Objects.equals(qn1.getNamespaceURI(), qn2.getNamespaceURI())) {// same namespace + return qn1.getLocalPart().compareTo(qn2.getLocalPart()); + } else { + return qn1.getNamespaceURI().compareTo(qn2.getNamespaceURI()); + } + } + + }; + /** singleton */ private NamespaceUtils() { }