]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.api.acr/src/org/argeo/api/acr/NamespaceUtils.java
Use runtime namespace context as default.
[lgpl/argeo-commons.git] / org.argeo.api.acr / src / org / argeo / api / acr / NamespaceUtils.java
index a1b4062aa3e4277e5b47606d81a2d992a1766b7f..792802d8c9e4285d19fd567e9d409ca3ecf85af6 100644 (file)
@@ -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> QNAME_COMPARATOR = new Comparator<QName>() {
+
+               @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() {
        }