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) == '{') {
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();
}
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.getNamespaceURI().compareTo(qn2.getNamespaceURI());
}
}
-
+
};
- /** 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);
+
}
/*
return prefixes.iterator();
}
+ /** singleton */
+ private NamespaceUtils() {
+ }
+
}