code: public static Map<String, String> getDynamicNamespaces(String expression) {
          Map<String, String> namespaces = new HashMap<String, String>();
          
          if (expression.contains(DYNAMIC_NS_START) && expression.contains(DYNAMIC_NS_END)) {
              String[] tokens = expression.split("\\" + DYNAMIC_NS_START);
              
              for (int i = 1; i < tokens.length; i++) {
                  String namespace = tokens[i].substring(0, tokens[i].indexOf(DYNAMIC_NS_END));
                  
                  if (!namespaces.containsValue(namespace)) {
                      namespaces.put(DYNAMIC_NS_PREFIX + i, namespace);
                  }
              }
          }
          
          return namespaces;
      }
docs: Extracts dynamic namespaces that are inline inside a XPath expression. Example:
  <code>/{http://sample.org/foo}foo/{http://sample.org/bar}bar</code>
  @param expression
  @return